Opencv学习笔记 基于HOG和SVM的行人检测

本文介绍了如何使用OpenCV中的预训练HOG+ SVM模型进行行人检测。通过调整窗口步长和阈值可以平衡检测速度与准确性。HOG特征用于图像特征提取,SVM作为分类器进行训练。检测结果通过groupRectangles进行有效合并,提高检测质量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、概述

        OpenCV提供了一个基于HOG和SVM且经过训练的行人检测器。和级联分类器一样,可以用这个SVM分类器以不同尺度的窗口扫描图像,在完整的图像中检测特定物体。

1、代码参考

        窗口步长决定了这个128×64的模板(getDefaultPeopleDetector()内置的是128×64大小的模板)在图像上移动的方式(这里是水平和垂直方向每次移动4个像素)。

        步长越大,检测速度就越快(因为计算的窗口少),但是可能会丢失窗口之间的行人。填充图像参数只是为了在图像边框上添加一些像素,以便检测到图像边缘的行人。

        SVM分类器的标准阈值是0(1表示正样本,-1表示负样本)。如果你要确保检测到的图片一定有一个人,可以提高阈值(这意味着提高检测准确度,但可能会漏掉一些人);反之,如果要确保检测到所有行人(即希望有较高的召回率),那就要降低阈值,但这样可能会有更多的错误结果。

        另外有一点很重要,在完整的图像上使用分类器时,会在连续的位置上使用多个窗口,这样就会在正样本附近得到多个检测结果。当同一位置上有两个或两个以上矩形时,最好只保留一个。函数cv::groupRectangles可以把位置相近、大小相似的矩形

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坐望云起

如果觉得有用,请不吝打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值