我应该使用什么样的描述符进行密封幼仔检测?

时间:2011-04-18 15:36:46

标签: opencv image-processing computer-vision object-detection

我有一个项目来检测和计算从海滩拍摄的航拍图像中的海豹幼崽(动物)。与成年海豹相比,海豹幼崽是黑色和小的,棕色和大。

有些海豹幼崽重叠/部分遮挡。海滩颜色接近黄色但是有一些黑色的岩石增加了探测难度。

哪种描述符最适合我的项目? HOG,SIFT,Haar一样的功能?

我在问这个问题的理论部分。我想要实现我的项目,第一步应该选择能够最能代表对象的正确描述符,然后(结合几个弱特征,不是必要的?)使用机器学习方法训练分类器,如boost / SVM / neural_network,我是对的?

示例图片: enter image description here

3 个答案:

答案 0 :(得分:2)

我不确定我同意选择正确的描述符是正确的开始。一个基本问题是所有物体的形状相似。每只动物中也有大量的渐变。姿势的复杂性是另一个问题。我会将问题分解为两个更简单的步骤:   1.独特的物体检测(边缘检测,分水岭,graph cut等)。有点像“计数血细胞”的问题。   2.基于颜色和面积的对象分类(归一化到摄像机视角)。计算每个对象中“黄色”彩色像素和“黑色”彩色像素的分数量,并将这些值与对象大小一起用作对象分类器的输入(神经网络在这里是一个有趣的解决方案!)。

这是一个相当混乱的场景,所以我希望这两种算法都需要一些微调。如果您的要求允许某种程度的分析师互动,请提供一些滑块,以便分析师可以调整算法中的每个阈值。

答案 1 :(得分:2)

计算机视觉算法的准确性似乎在很大程度上依赖于能够将它们微调到特定问题。如果您可以对您正在处理算法的图片做出假设,例如所有图片都是类似海滩场景中海豹的空中图像,那么您可以利用它。我想说在尝试使用局部特征之前,你可能想尝试分水岭分割和计算非背景片段的数量。 Watershed提供了一个称为“标记”的方便框架,用于整合有关输入的先验知识,以区分“背景”和“前景”细分。

这样的方法可能比本地功能更容易,也可能更准确。根据我的经验,我无法使用SIFT和SURF功能从有机主题(如面部或动物)中提取和匹配许多有意义的特征。对我来说,他们倾向于在有很多角度的房间或建筑物的照片上更好地工作。

答案 2 :(得分:0)

不太确定,您可能会尝试查看捕食者算法,因为您可以轻松地教它婴儿海豹的样子。 youtube video, description and link here