opencv::级联分类器训练

 
opencv_traincascade 是一个新程序,使用OpenCV 2.x API 以C++ 编写。
这二者主要的区别是 opencv_traincascade 支持 Haar 和 LBP 两种特征,现在已经发展到可以支持hog特征,并易于增加其他的特征。
与Haar特征相比,LBP特征是整数特征,因此训练和检测过程都会比Haar特征快几倍。

LBP和Haar特征用于检测的准确率,是依赖训练过程中的训练数据的质量和训练参数。
训练一个与基于Haar特征同样准确度的LBP的分类器是可能的。
opencv_createsamples.exe 用来生成正样本vec的,用来准备训练用的正样本数据和测试数据。他的输出为以 *.vec 为扩展名的文件,该文件以二进制方式存储图像。
Usage: opencv_createsamples.exe
  [-info <collection_file_name>] //就是跟存放正样本图片目录位置相同的描述文件的路径,可用txt,dat等格式保存,每一行的内容为:xxx.jpg nums left_x left_y width heght。
  [-img <image_file_name>]       //如果你要通过一张图片的扭曲形变成多张图片作为样本,就填写这个参数,参数的内容为要扭曲的图片的路径。填入后,-info参数不再有效。
  [-vec <vec_file_name>]         //要生成用于训练的vec文件的路径,内容为:xxx/xxx/xxx/xxx.vec。
  [-bg <background_file_name>]   //如果省略,则使用bgcolor的值填充作为背景。就是跟存放负样本图片(背景图片)目录位置相同的描述文件的路径,可用txt,dat等格式保存,每一行的内容为:xxx.jpg。
  [-num <number_of_samples = 1000>]    //要创建的样本的数量,使用-info生成时,不要比你准备的正样本图片数量大就行了。
  [-bgcolor <background_color = 0>]    //这是创建样本是样本扭曲函数中用来决定像素是有效还是作为背景过滤的基本值,因为操作的是灰度图,所以这个值0范围是~255。
  [-inv] [-randinv] [-bgthresh <background_color_threshold = 80>] 
  //这是样本生成时,是否需要反相或随机反相,这个在车牌这样的数字中就需要,比如说白底黑字的车牌和蓝底白字的车牌,两者生成的样本是相反的,前者数字是黑色,后者数字是白色。所以这个参数按你实际需要使用吧。
  [-maxidev <max_intensity_deviation = 40>]    //一个用于生成前景(有效像素区域)灰度值的常数值,实际样本的前景灰度值会根据这个参数结合随机数产生多种不同的灰度值。
  [-maxxangle <max_x_rotation_angle = 1.100000>]    //对样本图片的x轴方向的扭曲的最大弧度,X轴即是图片水平方向的旋转。
  [-maxyangle <max_y_rotation_angle = 1.100000>]    //对样本图片的y轴方向的扭曲的最大弧度,Y轴即是图片竖直方向的旋转。
  [-maxzangle <max_z_rotation_angle = 0.500000>]    //对样本图片的z轴方向的扭曲的最大弧度,Z轴即是垂直于图像平面的方向的旋转(可理解为旋转轴是一条穿过显示器的垂线)。
  [-show [<scale = 4.000000>]]    //样本创建期间,是否通过imshow显示出每一个生成的样本图片出来。
  [-w <sample_width = 24>]        //要创建的样本图片的宽度,后面的训练样本步骤要使用和这时一样的值,不然会报错
  [-h <sample_height = 24>]       //要创建的样本图片的高度,后面的训练样本步骤要使用和这时一样的值,不然会报错
  [-maxscale <max sample scale = -1.000000>]      [-rngseed <rng seed = 12345>]       

opencv_traincascade -data classifier -vec pos.vec -bg negatives.txt -numStages 20 -minHitRate 0.999 -maxFalseAlarmRate 0.5 -numPos 14000 -numNeg 10000 -w 20 -h 20 -mode ALL -precalcValBufSize 1024 -precalcIdxBufSize 1024 -featureType LBP
pause

猜你喜欢

转载自www.cnblogs.com/osbreak/p/11712381.html