python - 图像中的对象检测 (HOG)

标签 python image scikit-learn object-detection scikit-image

我想检测显微镜图像细胞内的物体。我有很多带注释的图像(大约 50,000 张带有对象的图像和 500,000 张没有对象的图像)。

到目前为止,我尝试使用 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)。

最佳答案

我认为你走的路是对的,但让我提出一些注意事项:

1 - 训练集的数量在分类中总是很重要 问题(通常越多越好)。但是,您必须具有良好的注释 并且您的方法应对异常值具有鲁棒性。

2 - 从您放置的图像来看,颜色直方图似乎会 比HOG更具辨别力。当使用颜色直方图时,我通常去 对于具有相关 a-b 直方图的 Lab 颜色空间。 L 是亮度和 非常依赖于图像采集(例如亮度)。一种方法 用于重新识别行人的方法是将图像分为 block 并计算这些 block 内的直方图。这个可以 有帮助。

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 - 最后,如果您仍然有不好的结果并且不知道是哪一个 你应该使用的那种功能,你可以应用深度神经网络 对它!

希望对您有所帮助。

关于python - 图像中的对象检测 (HOG),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29773369/

相关文章:

python - 导入错误 : No module named test. session 处理程序

Python 导入错误 : No module named datetime

python - OpenCV 图像校正以填充图像中的空白空间和孔洞

java - 如何在 grails/java 中将 PNG 转换为 jpeg

python - 将 NLTK 停用词与 scikit-learn 的 TfidfVectorizer 一起使用时出现 Unicode 警告

python - 可以提供两个预测作为输出的决策树?

python - 我们可以添加范围作为从数据库中提取值的标准吗?

python - 将自定义用户身份验证添加到 django-rest-framework-simple-jwt

image - 如何使用 C++ 或 Python 从图像中读取图像描述?

python - 仅在 max_iter 之后停止训练 MLPRegressor (solver=lbfgs),而不是因为 "tol"