经典的目标检测hog-svm

目前我使用的是 OpenCV3.4.1 版本 (正准备升级到OpenCV3.4.2)

最近要检测各种票据、证件,尝试一些经典的目标定位算法. hog-svm是其中一种.

(一)写了一个通用的hog-svm 检测对象的训练工具:

程序使用了 工作线程, 保证界面不会卡死。

只是计算get_svm_detector 的时候,需要注意 opencv3.4.1_src\sources\samples\cpp\train_HOG.cpp 这个demo的

get_svm_detector好像不太准确。

我参考了其他人代码,训练的检测器才是准确的。

(二)然后我的 通用hog-svm目标检测工具:

这张票是我上周去 襄阳(PS:襄阳比武汉干净、精致、好吃好玩) 拜访老朋友陈总买的火车票。

(三) Tips

关于训练的注意事项:

1> 窗口的比例尺大小非常重要,设置最合适的 winSize。

2> 样本的数量,最好都有 1k 以上

关于目标检测:

1> scale 参数对于性能非常重要,建议 根据场景来设置。

目前 detectMultiScale使用的方式是,  orgSize, orgSize/scale, orgSize/scale^2, ...

最多 nlevels(默认64)

3> Hog特征对于 旋转较大的 目标(估计15度)检测不到.

可以试着 旋转 输入样本,进行第二次测试.

经过测试,目前 hog检测这种纹理丰富的、有一定布局的对象,还是比较可靠的。

猜你喜欢

转载自blog.csdn.net/laoki/article/details/82527829