CNN用于多标签多类别成像任务-最佳策略

时间:2018-07-03 16:27:08

标签: machine-learning neural-network keras computer-vision conv-neural-network

我有一个多标签图像处理任务。在我的应用程序中,有多个自动运行的“手指”。我计划使用摄像头系统,以便检测关闭(水平),打开(垂直)和“处于中间”状态。一次安装可以有20到150个手指。手指彼此独立操作,因此多个手指可以同时移动。我打算使用CNN进行分类。

Illustration

我目前已经在测试系统,当时只有一个手指张开,每个手指只有两个状态(闭合= 0,未闭合= 1)。为此,我得到了很好的结果。我希望引入第三种状态-“介于两者之间”,并同时检测多个张开的手指。

由于手指太多,最好不必记录和标记每个手指的所有“中间”状态。因此,理想情况下,网络将学习所有手指的闭合,介于中间和打开状态,因此每个手指唯一需要了解的就是它在图像中的位置。任何特定的CNN架构都支持吗?

我正在使用Keras,而且我了解CNN的方式可以通过向每个手指分配一个热编码并在输出层中使用S型信号代替softmax来完成多个分类任务。有实施技巧吗?

谁能给小费最好的标签方案?我在图中指出了三种可能性。

标签A:每个手指一个输出,0 =闭合,1 = 2 =打开之间。

标签B:浮点数,指示开度。我不需要此信息,这三个类就足够了。这也将使标签更加复杂。但这对培训网络有帮助吗?我可以在Feed FWD网络中看到这一点,但这对CNN有帮助吗?

标签C:一种热编码的类,因此输出类的数量是手指数的三倍。对我来说,这似乎是个坏主意,因为CNN需要学习三遍手指的位置。同样,手指此时只能具有一种状态。还是出于我看不见的原因这是一个好主意?

任何提示将不胜感激。

0 个答案:

没有答案