软件环境:
ubuntu 18.04
opencv 3.4.9
操作步骤:
将相关目录及所需文件创建到opencv自带训练软件目录下
我的opencv3安装目录为:chenlu@chenlupc:~/opencv3/bin
高亮文件及文件夹为训练前需要创建好的:
准备正样本和负样本图片,以及创建对应的描述文本:
创建样本图片:
此处使用根据一张真实样本图片创建大量的合成的样本图片的方法
createsamples工具及参数及默认值
执行合成样本命令:
成功生成100张样本图片!
开始训练:
工具traincascade,参数及默认值
执行训练指令:级联器默认为20层
训练完成!
训练结果保存在xml目录下,cascade.xml为最终模型,各级训练结果及参数都有单独xml保存:
加载上述训练好的模型,使用手机拍摄的ROV视频进行实时目标检测,验证效果(可以预期效果很差,结果没有关系,这篇文章的目的是走通opencv模型训练及检测的整个流程),基于opencv自带的facedetect.cpp修改而来。
默认参数效果:
通过调整detectMultiScale()的若干参数,可以在速度和精度2方面做平衡
修改参数后效果:实时性提高很多,同时误检率大大降低,但是准确率依然很低(是由于训练模型使用的样本数据实在少的可怜)
NEXT STPE/p>
使用大量的样本来训练一个较好的模型,期待一个90%准确率以上的检测结果。。。
文章知识点与官方知识档案匹配,可进一步学习相关知识OpenCV技能树首页概览10909 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!