繁体   English   中英

用LBP训练Haar级联的问题

[英]Troubles on training Haar cascade with LBP

我正在尝试使用haar_cascade训练一些分支徽标。 我要做的是,我已经拍摄了2500张500 x 500的正方形图片,以填充opencv_createsamples的样本。 然后我将它们生成为:

opencv_createsamples -info'logo.info'-vec'../logo.vec'-bg'../Negatives/bg.txt'-w 24 -h 24 -num 2500

在我的logo.info我有对应于每张图片相对路径的线条,其中1 0 0 500 500表示“在(0,0)和(500,500)之间存在一个对象”

然后我将级联训练为:

opencv_traincascade-数据'cascade /'-vec'../logo.vec'-bg'../Negatives/bg.txt'-numPos 2500 -numNeg 3019 -numStages 25 -featureType LBP -w 24 -h 24

具有以下参数:

参数:

CascadeDirName:级联/

vecFileName:../ logo.vec

bgFileName:../Negatives/bg.txt

numPos:2500

数量:3019

数级:25

precalcValBufSize [Mb]:256

precalcIdxBufSize [Mb]:256

stageType:BOOST

FeatureType:LBP

sampleWidth:24

样品高度:24

boostType:GAB

minHitRate:0.995

maxFalseAlarmRate:0.5

重量修剪率:0.95

maxDepth:1

maxWeakCount:100

而且我有两种错误:

  1. OpenCV错误:参数值之一超出cvPreprocessIndexArray文件/tmp/buildd/opencv-2.3.1/modules/ml/src/inner_functions.cpp中的范围(未选择任何组件/ input_variables!),调用了第432行终止抛出'cv :: Exception'实例之后的what():/tmp/buildd/opencv-2.3.1/modules/ml/src/inner_functions.cpp:432:错误:(-211)未选择组件/ input_variables ! 在函数cvPreprocessIndexArray中

在此处输入图片说明

...

在此处输入图片说明

当您在图片数量-num参数之间没有显着差异时,就会发生此错误。 所以,让我们尝试少给100!

好吧,当我将参数调整为不从数组中取出时,我得到的输出类型与图像相同,但是出现以下错误:

OpenCV错误:写入时断言失败(tempNode-> left),文件/tmp/buildd/opencv-2.3.1/modules/traincascade/boost.cpp,在抛出'cv :: Exception'实例后调用第628行终止():/tmp/buildd/opencv-2.3.1/modules/traincascade/boost.cpp:628:错误:(-215)tempNode->留在函数写入中

中止

我试过了:

  • 更改图像的最终尺寸(24x24、36x36 ...)
  • 更改-mode参数。
  • 尝试放置#positiveSamples <#negativeSamples和#positiveSamples> #negativeSamples

我要做的是必须进行LBP(不是HAAR)的培训。 有人有任何线索吗?

先感谢您。

卸载并重建OpenCV解决了该问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM