【机器学习】基于HOG+SVM的行人检测

1.实现目标:使用opencv,skimage,Sklearn对包含行人的数据集进行训练,识别图像中行人的位置,并进行可视化。

2.行人检测

2.1HOG+SVM

方向梯度直方图(HOG)特征是一种在计算机视觉和图像处理中来进行物体检测的特征描述符,通过计算和统计图像局部区域的方向梯度直方图来构成特征。

SVM是一种常见的判别方法,再改实验中可以作为区分行人和非行人的分类器。

2.2检测流程

2.2.1准备训练样本集合,包括正样本集和负样本集。并分别放入两个文件夹中,并将所有的图片缩放至同样的大小,这里将所有图片的大小缩放为96*160。

图1 正样本集

图2 负样本集

2.2.2提取正负样本图像的HOG特征,并将特征分别进行存储。本项目采用skimage中提供的HOG算法获取图像特征,生成对应的HOG特征向量,作为SVM模型的输入特征。

2.2.3对正负样本打标签,将正样本标记为1,负样本标记为0。

2.2.4对SVM模型进行训练。

2.2.5对行人检测处理(滑动窗口)。

3.滑动窗口

在一张真实的图像中,行人可能出现在图像的任意位置,且检测图像的尺寸要远远大于训练样本的尺寸。为了保证能够检测到图像中的任意位置中的行人,需要使用滑动窗口的方式来完成行人检测。且为了使检测的精度更高需要对较大的图像进行高斯金字塔(pyramid_gaussian(im, downscale))处理。

滑动窗口字面意思就是可以滑动的窗口,规定一个长*高为(96*160)的矩形(该矩形的大小为样本照片的大小),若你要检测的图片的尺寸大于(96*160),则将矩形在被检测图片上按一定的步长进行平移,直到被检测图片的所有像素点均被矩形框住过为止。

图3 滑动窗口

高斯金字塔是将图片按一定的比例缩小,并存储为一个图片矩阵,在本次实验中,该图片矩阵中的每一个图片均需要进行滑动窗口检测。

图4 高斯金字塔 pyramid_gaussian()

图5 pyramid_gaussian

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

索马里海鸥

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值