现在好像就出问题了。我训练出来的xml分类器文件,用opencv没有检测到人脸。想提出来让各位帮我发现问题,共同解决。
问题描述如下:
MITLAB的人脸图像库,全部是bmp格式的,大小全为20*20,正样本5412张(posdata文件夹中),幅样本4381张(negdata文件夹中)。
我训练时完全按照http://wenku.baidu.com/view/dd2dc7eb998fcc22bcd10d15.html 中的方法一步一步来的,到最后得到一些data
最后运用haarconv程序将这些数据转为xml格式的文件,即最终的分类器。但是我得到的xml文件只有72k(第二次只有52k),与opencv自带的人脸检测分类器(900K左右)相比太小了,然后用在人脸检测上,没有检测到人脸,不知是哪里出问题了?
Ps:训练时,需要一个问题:就是程序训练到 时,程序就不走了,界面一直停留在那里,等了一天也没有什么变化,最后叫我自己强行结束了次训练过程。然后将数据转化为xml的。 不知是哪个环节出问题了,请大家一起来探讨。
9 个解决方案
#1
opencv那本书上有现成的代码啊~
#2
我这样直接用exe训练哪里有错呢?
#3
ps: 当程序训练到
Parent node: 8
*** 1 cluster ***
POS: 5200 5412 0.960828
时,程序就没反应了,界面一直停留在那里,等了一天也没有什么变化,最后叫我自己强行结束了次训练过程。然后将数据转化为xml的。 不知是哪个环节出问题了。
Parent node: 8
*** 1 cluster ***
POS: 5200 5412 0.960828
时,程序就没反应了,界面一直停留在那里,等了一天也没有什么变化,最后叫我自己强行结束了次训练过程。然后将数据转化为xml的。 不知是哪个环节出问题了。
#4
其实···到现在 我也没弄清楚。。。训练的层数到底与什么有关。。。看了很多东东,但是,还是觉得 这个东西 蛮 随机 的。。。╮(╯▽╰)╭
嘿嘿,训练的级数还是太小 了,所以 xml文件太小了,所以找不到人脸也是正常的。。。
我那个训练到 十级 ,倒是 能找到,但是 太不准了。。。。哎
按理说,样本已经够多了吧。。。
这到底是为嘛涅。。。。
嘿嘿,训练的级数还是太小 了,所以 xml文件太小了,所以找不到人脸也是正常的。。。
我那个训练到 十级 ,倒是 能找到,但是 太不准了。。。。哎
按理说,样本已经够多了吧。。。
这到底是为嘛涅。。。。
#5
没有大侠解答啊
#6
增加负样本
#7
是不是负样本训练出了问题呢
#8
尼玛 现在这种问题国内答案都不咋样?究竟是不知道还是不想告诉人呢?Google慢的要死!~~
#9
最近我也在用opencv的haar算法做人脸检测,也出现了同样的问题,就是训练出的xml文件人脸检测率不高,误检率太大,后来想了一下,应该是负样本的问题。人脸检测,负样本的差异性越大,好像最后的检测效果越好,专业一点,叫泛化能力好。训练到一个阶段不走了,是因为程序陷入了死循环,因为此时负样本都被正确的分类,下一级的分类器没有负样本可用,陷入死循环,所以要增加负样本。
#1
opencv那本书上有现成的代码啊~
#2
我这样直接用exe训练哪里有错呢?
#3
ps: 当程序训练到
Parent node: 8
*** 1 cluster ***
POS: 5200 5412 0.960828
时,程序就没反应了,界面一直停留在那里,等了一天也没有什么变化,最后叫我自己强行结束了次训练过程。然后将数据转化为xml的。 不知是哪个环节出问题了。
Parent node: 8
*** 1 cluster ***
POS: 5200 5412 0.960828
时,程序就没反应了,界面一直停留在那里,等了一天也没有什么变化,最后叫我自己强行结束了次训练过程。然后将数据转化为xml的。 不知是哪个环节出问题了。
#4
其实···到现在 我也没弄清楚。。。训练的层数到底与什么有关。。。看了很多东东,但是,还是觉得 这个东西 蛮 随机 的。。。╮(╯▽╰)╭
嘿嘿,训练的级数还是太小 了,所以 xml文件太小了,所以找不到人脸也是正常的。。。
我那个训练到 十级 ,倒是 能找到,但是 太不准了。。。。哎
按理说,样本已经够多了吧。。。
这到底是为嘛涅。。。。
嘿嘿,训练的级数还是太小 了,所以 xml文件太小了,所以找不到人脸也是正常的。。。
我那个训练到 十级 ,倒是 能找到,但是 太不准了。。。。哎
按理说,样本已经够多了吧。。。
这到底是为嘛涅。。。。
#5
没有大侠解答啊
#6
增加负样本
#7
是不是负样本训练出了问题呢
#8
尼玛 现在这种问题国内答案都不咋样?究竟是不知道还是不想告诉人呢?Google慢的要死!~~
#9
最近我也在用opencv的haar算法做人脸检测,也出现了同样的问题,就是训练出的xml文件人脸检测率不高,误检率太大,后来想了一下,应该是负样本的问题。人脸检测,负样本的差异性越大,好像最后的检测效果越好,专业一点,叫泛化能力好。训练到一个阶段不走了,是因为程序陷入了死循环,因为此时负样本都被正确的分类,下一级的分类器没有负样本可用,陷入死循环,所以要增加负样本。