怎样使用opencv进行Haartraining样本训练
来源:互联网 发布:python shelve 编辑:程序博客网 时间:2024/04/28 22:16
原创,转载请注明出处。
1.正样本,负样本
---为了效率就不自己采集了。选用MIT人脸库,正样本2706个,负样本4381个
2.创建正样本的描述文件。
2.1创建批处理create_filename.bat:
@echo off
dir/s/b *.*>filename.txt
pause
exit
2.2创建批处理pos_vec.bat,添加每张图像的参数信息:
@echo off
set c= 1 0 0 20 20
for /f "tokens=* delims= " %%i in (pos.txt) do echo %%i%c%>>"pos5.txt"
pause
2.3创建批处理opencv_createsamples.bat,以vec格式保存正样本的样本描述符:
@echo off
D:\OpenCV\FaceDetect\MITface\MITface
opencv_createsamples.exe -info pos5.txt -vec pos.vec -w 20 -h 20 -num 2706
pause
3.分类器训练
创建批处理文件flq_create_classify_new.bat
D:\OpenCV\FaceDetect\MITface\MITface
opencv_haartraining.exe -data d:\OpenCV\FaceDetect\MITface\MITface -vec D:\OpenCV\FaceDetect\MITface\MITface\pos.vec -bg D:\OpenCV\FaceDetect\MITface\MITface\nonfaces\neg_pure_all.txt -npos1000 -nneg 2000 -nsplits 2 -mem 512 -nonsym -w 20 -h 20
pause
开始进行分类
4.可能出现的问题:
4.1.分类器训练时找不到负样本
原因及解决办法:
原因是找不到bg
负样本描述符路径为:D:\OpenCV\FaceDetect\MITface\MITface\nonfaces\neg_pure_all.txt
负样本格式为
002549.bmp
002831.bmp
003621.bmp
004901.bmp
006151.bmp
即可解决
4.2.样本训练中出现如下错误:
OpenCV Error: Assertion failed (elements_read == 1) in icvGetHaarTraininDataFrom VecCallback,
原因及解决办法:
npos与nneg 设置过大导致。
-npos的意思是每次训练从.vec文件中随机选取npos个正样本。由于存在虚警,在每一次训练一个强分类器之后,会把那些分类错误的从整个样本库中剔除掉,总的样本就剩下 CountVec = CountVec - (1 - minhitrate)* npos,在第二个强分类器的训练过程中就是从剩下的Countvec抽样,一直这样进行nstage次,所以就有CountVec >= (npos + (nstages - 1)*(1 -minhitrate) * npos ) + nneg 。当把npos设置与vec中总样本数相同时,第二个强分类器训练时,必然就会报错,提示样本数不足。故将npos和nneg都减少,改成1000和2000即可。
- 怎样使用opencv进行Haartraining样本训练
- OpenCV Haartraining训练相关问题
- OpenCV的样本训练
- opencv训练样本
- OpenCV样本训练经验
- 《FAQ:OpenCV Haartraining》——使用OpenCV训练Haar like+Adaboost分类器的常见问题
- 《FAQ:OpenCV Haartraining》——使用OpenCV训练Haar like+Adaboost分类器的常见问题
- 《FAQ:OpenCV Haartraining》——使用OpenCV训练Haar like+Adaboost分类器的常见问题
- 【OpenCV】OpenCV的样本训练
- opencv haar训练--训练样本(4)
- opencv haar训练--训练样本(4)
- opencv haar训练--训练样本(4)
- opencv Haartraining
- 利用Opencv中的Haartraining训练特征的经验谈.....
- opencv用haartraining训练出现的一些问题
- opencv haartraining训练过程总结dir /b > info.txt
- 【OpenCV学习笔记 021】haartraining训练生成xml过程
- OpenCV学习笔记---- 挨个读取图像文件夹下的所有文件,进行样本训练
- jQuery 中的 Ajax 全局事件
- 移动端适配方案的优缺点比较
- jQuery 事件 keypress click mouseover blur load
- Error:Execution failed for task ':app:processDebugManifest'.
- 如何实现一个可旋转的TextView
- 怎样使用opencv进行Haartraining样本训练
- jQuery DOM 操作(基本操作、内部插入、外部插入、包裹操作)
- python笔记之linux命令
- HTML 表单
- jQuery 集合 串联操作( andSelf() end() add() contents() )
- 宝塔控制面板如何添加伪静态
- Java学习笔记:反射与代理机制(静态、动态)
- CDH问题及维护汇总
- POJ3468_A Simple Problem with Integers_树状数组区间和::区间修改