opencv训练分类器,进行图像识别,出现如下问题

使用opencv的Haartraining.exe程序生成的.xml文件去进行图像识别,程序运行后出现如图的问题,就是识别了很多不是目标物体的东西,这是由于样本数量太小导致的吗?如果不是样本个数太小导致的,那是什么原因导致的?求高手解答!!!

一般来讲,是你样本或者训练有问题导致的。
你可以参考下面这篇文章,重新采集样本重新训练一次试试。
http://www.cnblogs.com/tornadomeet/archive/2012/03/28/2420936.html追问

如果是样本数量太少会出现怎样的结果?

追答

样本太少,精度就会降低。
不知道你究竟要识别什么呢?看下我给你的链接也许能更清楚些。

追问

我想识别的是人的身体,但如我发的图所示,图中根本就没有人,所以这是我训练的样本数量太少导致的吗??下面的这张图是我训练用的图的其中一张,我这种样本有问题吗??如果有,那么是什么问题呢??请高手指教

 

追答

首先你要知道什么是正样本,什么是负样本。
因为你要检测的是身体,这不是绝对刚性的物体(比如一个商标,这是绝对刚性物体,你只需要提供一张正样本即可),那么你需要提供尽可能多的正样本,包括不同性别,不同年龄,不同种族,不同姿势,不同衣着等等。而且正样本要保持图片大小一致,最好背景也保持一致。
负样本要求完全不出现人的身体,负样本对图片尺寸没严格要求,但你需要提供尽可能多的负样本才行,越多越好。
你的样本肯定太少了。
另外,一千张正样本大约需要运算一天的时间。

温馨提示:答案为网友推荐,仅供参考