您的位置:首页 > 运维架构

opencv分类器训练步骤总结

2010-05-02 00:14 141 查看
自己训练了一个识别五角星的分类器,不过只用了50个正样本,2000个负样本(不含正样本的背景图),所以用起来误判率很高,

把训练步骤弄清楚,只要背景和正样本选取得足够多,足够好,就可以较准确的识别物体.

现在把步骤总结一下.

训练分类器最终用到一个 haartraining的自带程序,

haartraining -data cascade //样本输出目录

-vec pos.vec //正样本vec文件

-bg negdata.dat //负样本表述文件

-npos x //正样本图片个数

-nneg x //负样本图片个数

-mem 500 //程序可用空间,尽量大些,越大越快!

-mode ALL

-w 20 //正样本图片宽度

-h 20 //正样本图片高度 一般取20

先创建负样本: ,一般几千张,越多越准确,但耗时多. 在windows下用命令 dir /b>dataname 生成dataname的表述文件,再把里面不要的东西删除,只留下图片路径和文件名,文件名最好不要空格.先创建好负样本描述文件待用.

创建正样本vec文件: 先用上述方法创建一个正样本描述文件 posdata.dat,再用createsamples程序生成.vec的文件.

createsamples -info posdata.dat //正样本描述文件

-vec pos.vec //正样本.vec文件 输出

-num 50 //正样本图片个数 ,我只用了50幅

-w 20 //正样本图片宽度

-h 20 //正样本图片高度

在训练完后2.1版的会自动执行 performance. 而生成.xml的文件,之后就可以用xml分类器进行物体识别了

在PC机上 ,50正样本,2000负样本就花了1个多小时,上万幅的样本估计要几天几夜了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: