C++ OpenCV-LBP分类器的训练
我需要使用OpenCV创建我自己的LBP级联分类器,所以为了适应这个过程,我一直在使用一个非常小的文件集,来掌握它的窍门 然而,我正努力在opencv_traincascade上找到合适的信息。我在一个.vec文件中的87个正图像上设置了进程。我意识到这是一个很小的设置,不会有太多的用处,但我希望如果我把它完全粘贴到负片上,它可能足以拾取我的一个正面图像,只是为了验证理论。 然而,当我开始训练过程时,结果是它进入第5阶段,然后在开始第6阶段时挂起 我用一个更小的正数集重新启动了这个过程,它也做了同样的事情——出于某种原因,它到达了第x阶段,在训练阶段开始时在负计数上冻结,并且永远不会恢复 有人有什么想法或建议吗?问题是我的训练集太小了吗C++ OpenCV-LBP分类器的训练,c++,opencv,classification,C++,Opencv,Classification,我需要使用OpenCV创建我自己的LBP级联分类器,所以为了适应这个过程,我一直在使用一个非常小的文件集,来掌握它的窍门 然而,我正努力在opencv_traincascade上找到合适的信息。我在一个.vec文件中的87个正图像上设置了进程。我意识到这是一个很小的设置,不会有太多的用处,但我希望如果我把它完全粘贴到负片上,它可能足以拾取我的一个正面图像,只是为了验证理论。 然而,当我开始训练过程时,结果是它进入第5阶段,然后在开始第6阶段时挂起 我用一个更小的正数集重新启动了这个过程,它也做了
===== TRAINING 0-stage =====
BEGIN
POS count : consumed 6 : 6
NEG count : acceptanceRatio 2600 : 1
Precalculation time: 10.965
+----+---------+---------+
| N | HR | FA |
+----+---------+---------+
| 1| 1| 0|
+----+---------+---------+
END
===== TRAINING 1-stage =====
BEGIN
POS count : consumed 6 : 6
NEG count : acceptanceRatio 2600 : 0.0244943
Precalculation time: 10.985
+----+---------+---------+
| N | HR | FA |
+----+---------+---------+
| 1| 1| 0|
+----+---------+---------+
END
===== TRAINING 2-stage =====
BEGIN
POS count : consumed 6 : 6
NEG count : acceptanceRatio 2600 : 0.000697076
Precalculation time: 11.237
+----+---------+---------+
| N | HR | FA |
+----+---------+---------+
| 1| 1|0.000384615|
+----+---------+---------+
END
===== TRAINING 3-stage =====
BEGIN
POS count : consumed 6 : 6
我正在做类似的事情。列车阶段通常会被锁定在无限循环中,需要修改代码以防止出现这种情况。您对createsamples和traincascade使用了哪些参数?开始时,试着减少照片中负片的数量。这对我很管用。这解释了很多!createsamples参数为:opencv_createsamples-img“image.png”-num 100-bg“NegativeImages\bg.txt”-vec“samples.vec”-maxxangle 0.6-maxyangle 0-maxzangle 0.3-maxidev 100-bgcolor 0-bgthrthresh 0-w 118-h20
列车级联为:opencv_traincascade-data“data”-vec“samples.vec”--bg“negativemaxgages\bg.txt”-numPos 100-numNeg 400-w 118-h 20-featureType LBP当我降低阳性和阴性样本的比率时,它似乎工作得更好。你有没有做必要的代码更改?