4.1 简介
本次任务将学习一种在深度学习之前非常流行的图像特征提取技术——方向梯度直方图(Histogram of Oriented Gradients),简称HOG特征。HOG特征是在2005年CVPR的会议发表,在图像手工特征提取方面具有里程碑式的意义,当时在行人检测领域获得了极大成功。
学习HOG特征的思想也有助于我们很好地了解传统图像特征描述和图像识别方法,本次任务我们将学习到HOG背后的设计原理,和opencv的实现。
4.2 学习目标
- 理解HOG特征的原理和思想 使用
- OpenCV的HOG算法实现行人检测
4.3 内容大纲
-
HOG特征简介
-
HOG特征的原理
图像预处理
计算图像梯度
计算梯度直方图
Block归一化
获得HOG描述子 -
基于OpenCV实现
4.4 内容介绍
4.1. HOG特征简介
HOG特征是一种图像局部特征,其基本思路是对图像局部的梯度幅值和方向进行投票统计,形成基于梯度特性的直方图,然后将局部特征拼接起来作为总特征。局部特征在这里指的是将图像划分为多个子块(Block), 每个Block内的特征进行联合以形成最终的特征。
HOG+SVM的工作流程如下:
首先对输入的图片进行预处理,然后计算像素点的梯度特特性,包括梯度幅值和梯度方向。然后投票统计形成梯度直方图,然后对blocks进行normalize,最后收集到HOG feature(其实是一行多维的vector)放到SVM里进行监督学习,从而实现行人的检测。下面我们将对上述HOG的主要步骤进行学习。
2.HOG特征的原理
图像预处理
预处理包括灰度化和Gamma变换。
灰度处理是可选操作,因为灰度图像和彩色图像都可以用于计算梯度图。对于彩色图像,先对三通道颜色值分别计算梯度,然后取梯度值最大的那个作为该像素的梯度。
然后进行伽马矫正,调节图像对比度,减少光照对图像的影响(包括光照不均和局部阴影),使过曝或者欠曝的图像恢复正常,更接近人眼看到的图像。
伽马矫正公式:
f ( I ) = I γ f(I)=I^\gamma f(I)=Iγ
I I I表示图像, γ \gamma γ表示幂指数。
如图,当 γ \gamma γ取不同的值时对应的输入输出曲线( γ = 1 \gamma=1 γ=1时输入输出保持一致) :
1) 当 γ < 1 \gamma<1 γ<1时,输入图像的低灰度值区域动态范围变大,进而图像低灰度值区域对比度得以增强;在高灰度值区域,动态范围变小,进而图像高灰度值区域对比度得以降低。 最终,图像整体的灰度变亮。
2) 当 γ > 1 \gamma>1 γ>