adaboost训练 之 参数详解

本文详细解析了利用Adaboost训练人脸分类器时涉及的CreateSamples.exe和opencv_haartraining.exe两个程序的参数含义,包括样本生成、训练过程中的各种参数设置,如样本数量、旋转角度、正负样本处理等,以帮助理解Adaboost训练流程。
摘要由CSDN通过智能技术生成

利用adaboost训练人脸分类器时,主要做几件事,准备正负样本,生成正样本pos.vec文件,生成负样本列表文件,训练等,具体可以看这几个博客:
http://blog.csdn.net/u013355191/article/details/40381107,这里不赘述。

记录下我在研究过程理解的,生成正样本程序CreateSamples.exe以及训练程序opencv_haartraining.exe的所有参数的具体意义与用处。

CreateSamples.exe参数详解

这个可执行程序主要用来生成用于训练的正样本,位于\opencv\build\common目录下,老版本名字为:createsamples.exe
该程序的主函数中有四个分支:

if( imagename && vecname )
{
cvCreateTrainingSamples( 
vecname, 
imagename, 
bgcolor,    
bgthreshold, 
bgfilename,
num, 
invert, 
maxintensitydev,
maxxangle, 
maxyangle, 
maxzangle,
showsamples, 
width, 
height );

通过传入的单张图片的扭曲变形来创建多个正样本,如果有单张传入的图像路径以及正样本vec路径,则走到这个分支:

vecname:要生成用于训练的vec文件的路径,内容为xxx/xxx/xxx/xxx.vec,例如通过 -vec xxx/xxx/xxx/xxx.vec 传入

imagename:通过一张图片的扭曲形变成多张图片的单张样本图片的路径。例如通过 -img xxx/xxx/xxx/xxx.jpg传入

bgcolor:这是创建样本时样本扭曲函数中用来决定像素是否有效的像素值,作为背景过滤的基本值将像素值在(bgcolor-bgthreshold)与(bgcolor+bgthreshold)之外的像素保留来生成正样本,因为操作的是灰度图,所以这个值0范围是~255。例如通过:-bgcolor 128传入

bgthreshold:决定背景掩码的实际取值范围,例如通过:-bgthreshold 32传入。

bgfilename:记录所有负样本的目录文件,xxx/xxx/xxx/neg.txt,例如通过:-bg xxx/xxx/xxx/neg.txt传入

num:要创建的样本的数量,例如通过:-num

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值