Python,OpenCV:无法使用OpenCV_traincasad进行自定义LBP级联

2024-05-28 19:39:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我在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文件被成功地创建了,其行如下:

^{pr2}$

如果我使用-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,以及不同的{}值,如30、60等等,直到293。我尝试过使用小于numeng值的numPos值,甚至那些大于的值。我也尝试过不同的-numStages值,比如1、5、10、20和100,但是在所有这些尝试中,我都得到了相同的错误。在

我没有尝试过-minHitRate、-MaxFalseAllRate、-weightTrimRate、-maxDepth、-maxWeakCount的不同值,因为我不太了解它们是如何影响opencv_traincascade算法的行为的。在

非常感谢您的帮助:)


Tags: 文件图像txt错误图片opencvjpg背景
2条回答

{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个赏金的名声因为一个错误而白白浪费了:|

相关问题 更多 >

    热门问题