opencv js 自己训练cascade到部署@TOC
opencv js 自己训练cascade到部署
之前为了在前端部署一个足够轻量的检测模型,现在把整个过程写一下希望能给大家一些帮助:
1 利用cascade训练自己的检测模型
2 实时的部署在前端 h5页面
3 摄像头的获取问题
训练方法
数据处理:
正样本长宽比归一化
假设长宽比是2:1,那么将样本resize成64*64(*记住检测的时候相应的压缩原始图像)
负样本对之后有误检的目标注意要同比例放缩
训练参数
经过试验我最终使用参数为:
./opencv_traincascade -data classifier -vec pos.vec -bg neg.txt -numStages 20 -minHitRate 0.999 -maxFalseAlarmRate 0.5 -numPos 29 -numNeg 30 -w 92 -h 112 -mode ALL -precalcValBufSize 1024 -precalcIdxBufSize 1024 -featureType LBP
编译opencv.js方法:
编译方法已经有很多介绍,就不赘述:https://blog.youkuaiyun.com/sb985/article/details/81713088
问题主要在于编译完成后的
摄像头的获取问题
获取摄像头会受到系统的安全性检查符合以下情形可以成功:
A 使用localhost做服务端加载
B 设置浏览器信任服务端地址
C 使用HTTPS域名绑定服务
检测的使用
这个操作也是比较常规了:
https://blog.youkuaiyun.com/frank_good/article/details/86756335
这个人脸检测的模型换成自己训练的xml,然后注意我之前训练中说的图像比例问题。
本文档详细介绍了如何使用opencv_traincascade训练自定义检测模型,并将其部署到前端H5页面。首先,通过数据处理和特定的训练参数创建检测模型。接着,编译opencv.js以适应项目需求。在摄像头获取方面,需考虑localhost、浏览器信任设置或HTTPS域名。最后,在前端应用模型进行实时检测,注意图像比例问题。
2万+

被折叠的 条评论
为什么被折叠?



