2015-04-21 40 views
7

我想检测显微镜图像单元格内的对象。我有很多带注释的图像(应用程序50.000图像与对象和500.000没有对象)。图像中的对象检测(HOG)

到目前为止,我尝试使用HOG提取特征并使用逻辑回归和LinearSVC进行分类。我已经尝试了HOG或色彩空间(RGB,HSV,LAB)的几个参数,但我没有看到很大的差异,预测率大约为70%。

我有几个问题。我应该使用多少图片来训练描述符?我应该使用多少图片来测试预测?

我已经尝试过大约1000张训练图像,这给我55%的积极和5000,这给我72%的积极。但是,这也取决于测试集,有时测试集可以达到80-90%的正检测图像。

下面是包含一个对象的两个例子和两个图像没有对象:

object 01

object 02

cell 01

cell 02

的另一个问题是,有时图像包含几个对象:

objects

我应该尝试增加学习集的示例吗?我应该如何选择训练集的图像,只是随机?我还能尝试什么?

任何帮助将非常感激,我刚开始发现机器学习。我正在使用Python(scikit-image & scikit-learn)。

回答

2

我认为你在正确的道路是,但让我提出一些注意事项:

1 - 训练集的数量将是分类 问题始终是重要的(通常情况下,更多的是更好)。但是,您必须具有很好的注释 ,并且您的方法应该对异常值有效。

2 - 从您所放置的图像中,似乎颜色直方图 比HOG更具辨别性。当使用颜色直方图时,我通常使用 为Lab色彩空间和相关的a-b直方图。 L是亮度,而且很依赖于图像获取(例如亮度)。用于重新识别行人的一种方法 是将图像划分为 块,并计算这些块内的直方图。这可以帮助 。

3 - 测试你的分类方法,最好的方法是交叉验证: http://en.wikipedia.org/wiki/Cross-validation_%28statistics%29#k-fold_cross-validation

4 - 您是否尝试过其他的分类?WEKA可能是 轻松地测试不同的方法/参数很有意思: http://www.cs.waikato.ac.nz/ml/weka/

5 - 最后,如果你仍然有坏的结果,而且不知道其中 样的,你应该使用功能,您可以将深层神经网络 它!

希望它有帮助。

+0

非常感谢您的建议,他们非常有帮助!我很快尝试了LAB直方图(也从scikit-image邮件列表中建议),看起来像使用亮度通道,我可以获得非常好的结果,用于正确检测对象的单元格。然而它预测对于没有对象的单元格非常糟糕。另一方面,为了检测没有物体的细胞,HOG表现得非常好。我认为将这两种模式结合起来可能会起作用(我不确定这是否可行)。我仍然没有交叉验证,所以这都是初步的。谢谢你的提示! – snowflake

+0

细胞周围常有其他物体染黑,但不应检测到。我认为这就是为什么当使用LAB直方图时,我会得到很多误报,但与HOG无关。 – snowflake

+0

我还有一个问题,它看起来像垃圾桶的大小起着很大的作用。我如何选择合适的纸盒尺寸?是否有任何规则或者像“尝试和错误”? – snowflake