Matlab级联火车为蜜蜂计数

时间:2014-04-18 14:39:23

标签: matlab object detection cascade matlab-cvst

我是农学生,我最后一年的学习主题是评估图片中的蜜蜂数量。我尝试了一些方法(thresolding,模板匹配ciratefi算法或imageJ),但没有一个工作正常。

我是matlab的初学者,我想知道是否可以训练级联探测器并使用fonction vision.CascadeObjectDetector来计算照片上的蜜蜂。

两张图片示例:
http://img4.hostingpics.net/pics/473650DSC0648.jpg
http://img4.hostingpics.net/pics/978154DSC0660.jpg

我需要使用多少阳性和阴性样本? HOG?哈尔? LBP?

感谢您的帮助

2 个答案:

答案 0 :(得分:2)

它可能有用,但很难。从您提供的图像中我认为您可能很有可能检测到孤立的蜜蜂,但很难检测出那些挤在一起的蜜蜂。在后一种情况下,很难看到每只蜜蜂形状的轮廓,有些蜜蜂会遮挡其他蜜蜂。但是在你尝试之前你不会知道。 :)

另外,请记住,级联对象检测器不处理平面内旋转。这意味着你必须为蜜蜂的不同方向训练几个探测器。您可以使用trainCascadeObjectDetector功能训练探测器。

每个方向至少需要数百个阳性样本。您可以使用最新版本的计算机视觉系统工具箱附带的Training Image Labeler应用程序来标记图像中的蜜蜂。

你还需要大量的蜂窝图像,而不需要任何蜜蜂就可以用作负像。

就功能而言,我会从HOG或LBP开始,因为它们比Haar快得多。如果你得到令人鼓舞的结果,那么你可能想尝试哈尔,看看你是否可以提高你的准确性。

答案 1 :(得分:0)

如果您可以在没有蜜蜂的情况下拍摄蜂箱的图像,在相同的光照条件下,它会很棒!尝试一下,然后减去两个图像(逐个像素),看看你得到了什么。这种差异图像将更容易使用。

另外,关于训练分类器:从查看图像开始,你需要一个"旋转不变的"分类。这是一种奇特的说法,蜜蜂可能处于不同的角度。因此,您基本上会拍摄几十个蜜蜂图像,并随意旋转它们。这将给你数百个积极的例子。然后采样没有蜜蜂的地方,我猜几十个。不要旋转这些,因为没有蜜蜂的地方不是旋转不变的。现在训练一个分类器。我不认为你使用哪一个很重要 - 只需使用最简单的一个(如Viola-Jones)。

所以,回顾一下:主要有两个部分: 1)看看你是否可以减去背景 2)训练你的分类器。

请告诉我它是否有帮助!