为卷积神经网络选择火车图像

时间:2016-04-24 14:45:54

标签: image-recognition conv-neural-network

目标是从图像中本地化对象。我决定修改和训练现有的模型。但是,我不能决定是否应该使用面具训练模型或仅使用ROI训练模型。

例如:对于1类数据,只有1级对象可以在图像上显示,其他每个区域都会用0填充,对于2'类,我会做同样的事情,只留下2 '掩码中的类对象,以及第3和第4类的等等。

第二种方式,使用投资回报率:我将从没有面具的图像中裁剪每个类别,只拍摄感兴趣的区域。

然后,我希望继续这样做:https://github.com/jazzsaxmafia/Weakly_detector

我应该选择第一种方式还是第二种方式?任何评论,如“你的计划将无法运作,尝试这一点”也表示赞赏。

- Edit-- 要清楚,

原始图片http://s31.postimg.org/btyn660bf/image.jpg

使用面具的第一种方法:

使用投资回报率的第一种方法:

P.S:对于新示例,对象的位置将非常相似,因此使用掩码方法可能会更有用。对于ROI方法,我需要规范化每个具有不同大小的对象。然而,对整个图像蒙版进行标准化可能会使原始图像蒙版之间的差异更小。

1 个答案:

答案 0 :(得分:1)

CNN通常对不同背景非常强大,假设他们接受过大量高质量数据的培训。所以我猜想使用掩码和ROI方法之间的差异不会很大。对于它的价值,你需要规范化你为CNN提供的图像的大小,无论你使用哪种方法。

我已经实现了一些手势识别软件并遇到了类似的问题。我可以使用原始的,未经处理的ROI,或者我可以使用过滤掉大部分背景的预处理版本。我基本上尝试了两种方式,并比较了模型的准确性。就我而言,我能够从预处理的图像中获得稍好的结果。另一方面,我的图像背景更加复杂多变。无论如何,我的建议是建立一个可靠的机制来测试模型的准确性,并进行实验以确定最佳效果。

老实说,最重要的是为每个班级收集好样本的批次。在我的情况下,我一直看到实质性的改进,直到我每班大约5000张图像。由于收集大量数据需要很长时间,因此最好捕获并存储原始的全尺寸图像,以及实际数据收集中涉及的任何元数据,以便您可以尝试不同的方法(屏蔽与ROI) ,不同的输入图像大小,其他预处理,如直方图归一化等),而不必收集新数据。