这个博客写的挺详细的 https://blog.youkuaiyun.com/qq_30028077/article/details/50483205
下面来写一下我训练的过程
1.训练时正样本图片的寻找:可以参考我上一篇的文章,通过url下载网络图片快速寻找正样本,这里我做的是草莓识别
https://blog.youkuaiyun.com/qq_35971623/article/details/79684219
负样本集合我是网上下载的一共5000个 链接:
2.准备好正负样本后就是生成样本描述文件(txt)
用cmd命令进入对应样本文件夹下,cd 路径名
然后输入dir /s/b>info.txt生成样本描述文件,去掉最后一行
注意正样本的描述文件需要添加 1 0 0 width height,其中width,height指的是正样本的宽和高,负样本不需要这样做,但是需要在生成的描述文件前加上图片的绝对路径,否则可能报错
3.在生成正样本时需要归一化图片的大小,这里可以用到美图秀秀,批量修改大小
4.在下载的opencv文件夹中找到opencv_createsamples.exe和opencv_traincascade.exe这两个exe文件粘贴至训练文件夹
5.如图创建两个bos命令文件.bat用法和cmd命令行相同,优点是可以保存查看
create_vec.bat文件用于生成pos.vec文件,我里面的内容命令是C:\Users\Administrator\Desktop\xml-strawberry\pos\opencv_createsamples.exe -vec C:\Users\Administrator\Desktop\xml-strawberry\pos\pos.vec -info C:\Users\Administrator\Desktop\xml-strawberry\pos\info\pos.txt -w 100 -h 100 -num 850
pause
这里注意最好写绝对路径,否则容易出错
6.生成完pos.vec后用data.bat文件生产训练后的.xml文件,我的命令C:\Users\Administrator\Desktop\xml-strawberry\pos\opencv_traincascade.exe -data C:\Users\Administrator\Desktop\xml-strawberry\pos\data -vec C:\Users\Administrator\Desktop\xml-strawberry\pos\pos.vec -bg C:\Users\Administrator\Desktop\xml-strawberry\neg\bg_pic\neg.txt -numPos 600 -numNeg 2400 -numStages 15 -featureType HOG -mem 600 -w 100 -h 100 -minHitRate 0.99 -maxFalseAlarmRate 0.4 -mode ALL
pause
这里注意-data后面的那个文件夹是用来存放生成后的.xml文件的,这个文件夹需要自己新建否则会报错
6.后面来展示下我的训练情况
训练比较慢,耐心等待,我训练了才13层就花了30+小时