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.csdn.net/sb985/article/details/81713088
问题主要在于编译完成后的
摄像头的获取问题
获取摄像头会受到系统的安全性检查符合以下情形可以成功:
A 使用localhost做服务端加载
B 设置浏览器信任服务端地址
C 使用HTTPS域名绑定服务
检测的使用
这个操作也是比较常规了:
https://blog.csdn.net/frank_good/article/details/86756335
这个人脸检测的模型换成自己训练的xml,然后注意我之前训练中说的图像比例问题。