opencv之级联分类器训练opencv_traincascade

http://jingyan.baidu.com/article/4dc40848f50689c8d946f197.html

网上提供的级联分类器训练都是基于opencv_haartraining。照着上面的步骤成功训练出了xml,但是用于识别的过程中,识别率很低。改换几次样本后,检测效果还是一般。想想估计是自haar特征不能很好区分,所以想通过opencv_traincascade训练下Lbp。将经验写下来,供自己以后回顾和其它人参考。

工具/原料

  • opencv2.1 (2.0版本以上均可)

方法/步骤

  1. 1

    准备好正负样本图片,正样本就是含有目标的图片,负样本就是不还有目标的图片,建好文件夹,如图所示。其中正样本图片最好是裁剪成同一尺寸,我这里是建成30*30,便于后期的说明文件的建立。图片的编辑我使用的是美图看看,批量编辑工具,可以批量将图片改成同一尺寸。

    opencv之级联分类器训练opencv_traincascade
  2. 2

    建立正负样本说明文件,在cmd下进入pos文件夹目录里,输入  dir /b > pos.txt,用editplus打开该文件,删除最后一行,最后将名字归一化如下所示:同样的方法进入neg文件夹内,用同样的方法建立描述文件neg.txt,用editplus打开该文件,只需删掉最后一行


    opencv之级联分类器训练opencv_traincascade
    opencv之级联分类器训练opencv_traincascade
    opencv之级联分类器训练opencv_traincascade
  3. 3

    创建vec文件:将opencv_createsamples.exe和 opencv_traincascade.exe放到图片文件夹的上层目录,利用opencv_createsamples.exe应用程序在该目录下使用如图cmd命令:

    其中的-vec是指定后面输出vec文件的文件名,-info指定正样本描述文件,-bg指定负样本描述文件,-w和-h分别指正样本的宽和高,-num表示正样本的个数。执行完该命令后就会在当前目录下生产一个pos.vec文件了。


    opencv之级联分类器训练opencv_traincascade
    opencv之级联分类器训练opencv_traincascade
  4. 4

    使用opencv_traincascade.exe文件进行训练

       首先在当前目录下新建一个dt文件夹用于存放生成的.xml文件。

       在当前目录使用cmd命令:

    D:\>opencv_traincascade.exe -data dt -vec pos.vec -bg neg/neg.txt -numPos 100 -n

    umNeg 300 -numStages 16 -precalcValbufSize 200 -precalcdxBufSize 1000 -featureTy

    pe LBP -w 30 -h 30截图如下:其中-data 输出目录,-numPos正样本数目-numNeg负样本数目-numStages训练级数



    opencv之级联分类器训练opencv_traincascade
    opencv之级联分类器训练opencv_traincascade
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值