我在macosx10.7.5上使用通过macports安装的opencv2.4.4和python2.7.5。在
我想训练一个瀑布来寻找男性的前脸。但是我得到了terminate called throwing an exceptionAbort trap: 6
错误。我请求SO社区帮助我找出可能出了什么问题。在
底片(背景)图片来自谷歌:googleImages_noFaces(293张图片)
正面图片取自卡罗琳斯卡数据库:trainingSet(70张图片)
我创建了一个文本文件来指示背景图像的相对位置:bgDesc.txt文件在
我还创建了一个文本文件,该文件指示图像中的相对位置、正实例数(始终为1)和对象的边界区域(即整个图像):马莱德斯.txt在
所有这些文件都可以从here下载。在
文件的组织形式如下:
/trainingSet
image1.jpg
image2.jpg
.
.
.
/googleImages_noFaces
image1.jpg
image2.jpg
.
.
.
/cascadeFiles
maleDesc.txt
bgDesc.txt
当我使用opencv_createsamples时,一个maleDesc.vec
文件被成功地创建了,其行如下:
如果我使用-show
参数,我可以看到创建了24x24像素的图像。在
我再试试
opencv_traincascade -data cascadeFiles -vec maleDesc.vec -bg bgDesc.txt -numPos 70 - numNeg 293 -numStages 1 -precalcValBufSize 500 -precalcIdxBufSize 500 -featureType LBP -w 24 -h 24
这给了我一个错误。在
我尝试过不同的-numPos
值,如10、20等,直到70,以及不同的{-numStages
值,比如1、5、10、20和100,但是在所有这些尝试中,我都得到了相同的错误。在
我没有尝试过-minHitRate、-MaxFalseAllRate、-weightTrimRate、-maxDepth、-maxWeakCount的不同值,因为我不太了解它们是如何影响opencv_traincascade算法的行为的。在
非常感谢您的帮助:)
{tba帮助编译^b}
调整负片图像的大小(宽度和高度)>正片样本
terminate called throwing an exceptionAbort trap: 6
错误是由于键入错误造成的。我成功地复制了这个行为,并在下面的代码中进行了验证opencv_traincascade-数据级联文件-vec马莱德斯维克-背景bgDesc.txt文件-numPos 70-numNeg293-numStages 1-预分解尺寸500-预分解Bufsize 500-特征类型LBP-w 24-h 24
在}之间有一个空格,应该是
-
和{-numNeg
此外,即使样本非常低,培训也会继续进行,但numpo必须是numNeg的两倍
关于haar和lbp培训过程的更多说明,请参阅这个SO答案:https://stackoverflow.com/a/16834901/1463143
两个星期和50个赏金的名声因为一个错误而白白浪费了:|
相关问题 更多 >
编程相关推荐