Haar特征级联分类器的训练与检测
参考链接: https://blog.csdn.net/zhuangxiaobin/article/details/25476833
Github链接: https://github.com/chanchanchan97/ROS
1. 样本的创建
训练样本分为正样本和负样本。正样本是指待检目标样本,例如车辆,行人,人脸等,负样本是指其它任意图片。所有的样本图片都被归一化为同样的尺寸大小,例如20×20,24×24或33×33。负样本可以来自于任意的图片,但这些图片不能包含目标特征。
1.1 准备正样本图片集
进入路径为tools\temp\positive\rawdata的文件夹中,然后在里面放入含有正样本的图片。正样本数目要足够大,一般要是1000以上。
注:图片要用BMP格式,如果图片不是BMP格式的话,可以在文件夹中创建一个空的文本文件,在文本文件中输入ren *.jpg *.bmp,并将该文本文件改成.bat后缀的批处理文件,双击该批处理文件即可将文件夹中.JPG格式的图片批量转换成.BMP格式。

1.2 截取目标区域
双击tools\temp\positive下的objectmarker.exe可执行文件,开始手动截取目标区域。
使用方法可见readme文件,每次截好一次都要按一次空格键保存区域,多目标的图片可以继续截图并按空格键保存,若这张图片截取完成则按下回车键可以跳到下一张图片。

这个截图的过程不能中断,不然就无法产生相应的文件了,所以在样本太多的情况下,可以先分组,大约100张图片放进rawdata文件夹中,这样子如果有什么意外的话,损失也就100张图的时间而已,最后只需要把几个文件的内容合成一个大文件,并且把所有相关的图片放进rawdata文件夹中,最终的效果是一样的。截图完成后会在路径tools\temp\positive下生成info.txt文件。

info.txt文件内容说明:
rawdata/1000986.BMP 1 0 1 127 93
① rawdata/1000986.BMP表示文件的相对路径;
② 第2位的1表示图片中截取的区域数量,此处仅包含一个目标;
③ 第3和第4位的0 1表示截取的矩形框的起点坐标;
④ 第5和第6位的127 93表示截取的矩形框的宽和高;
注:第2位的数字若为2,即截取的目标数量为2个,则后面相应的矩形框起点坐标和矩形框尺寸也应该有2个,否则会在之后生成正样本的描述文件时报如下错误:
info.txt(1) : parse errorDone. Created 0 samples
1.3 创建正样本描述文件vec文件
打开tools文件夹下的samples_creation.bat文件,可见到如下指令:
cd temp
createsamples.exe -info positive/info.txt -vec data/vector.vec -num 4346 -w 24 -h 24
rem positive/positive_bmp_list.txt - file containing list of positive bmp files along with the rectagle coordinates from objectmarker.exe
rem -vec data/vector.vec - file created by the createsamples tool
rem all the other paramteres are described in the literature (links in t

本文详细介绍了如何使用Haar特征级联分类器进行样本的正负创建、训练配置与目标检测,涵盖了图片预处理、正负样本描述文件制作、训练参数设置以及实际应用到车辆检测的实例。

1404

被折叠的 条评论
为什么被折叠?



