目标检测之HOG学习

0-背景

目标检测与识别是当下非常热门的研究方向之一。在深度学习火爆发展之前,有一些传统的图像处理方法,也取得了不错的效果。其中HOG方向梯度直方图(Histogram of Oriented Gradient)是比较成功的特征。

1-简介

HOG特征是一种在计算机视觉和图像处理中用于物体检测的特征描述子。HOG是基于像素点的梯度来计算直方图的,而不是颜色。它通过计算和统计图像局部区域的梯度直方图来构建特征。HOG特征结合SVM分类器的组合模型已经被广泛应用于图像识别中,尤其在行人检测中比较成功。

2-流程

HOG特征提取的整个流程大致如下:

  1. 读取需要检测的目标image
  2. 将图像灰度化,将彩色的rgb,转为灰度值
  3. 采用Gamma校正法,对输入图像颜色空间标准化
  4. 计算图像每个像素的梯度(大小和方向),捕获轮廓信息
  5. 统计每个cell的梯度直方图,形成每隔cell的descriptor
  6. 将几个cell(如2*2)组成一侧block,将一个block内所有的cell特征串联起来,得到该block的HOG特征descriptor
  7. 将图像内所有block的HOG特征descriptor串联起来,得到image的HOG特征descriptor,形成最终的特征向量。

在这里插入图片描述
在这里插入图片描述


3-源码

80行Python实现-HOG梯度特征提取
Github地址:Hog-Feature

4-问题

在对HOG特征进行提取时,需要考虑尺度和位置的问题:

  • 尺度:不同图像,目标在图像中占据的大小可能不同,会造成梯度不同。

  • 位置:目标在图像中,可能在任意位置。需要扫描图像,找到感兴趣的地方。

  • 图像金字塔
    在这里插入图片描述

  • 滑动窗口
    滑动窗口是用在计算机视觉的一种技术,它包括图像中要移动部分(滑动窗口)的检查以及使用图像金字塔对各部分进行检测。这是为了在多尺度下检测对象。
    滑动窗口通过扫描较大图像的较小区域来解决定位问题,进而在同一图像的不同尺度下重复扫描。
    使用这种方法进行目标检测会出现区域重叠,针对区域重叠问题,我们可以利用非极大值抑制(IOU和非极大值抑制),来消除重叠的窗口。


5-参考

具体的HOG的实现,以及详细的原理和代码讲解,请参照下面的资料。
基于传统图像处理的目标检测与识别(HOG+SVM附代码)
80行Python实现-HOG梯度特征提取

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值