特征描述子HOG
图像梯度
图像𝒇(𝒙, 𝒚)在点(𝒙, 𝒚)的梯度是一个具有大小和方向的矢量
当图像中存在边缘时,一定有较大的梯度值
x方向梯度会强化垂直方向的特征
y方向梯度会强化水平方向的特征


-
sobel 算子

也有如下表示:



HOG 特征具体提取步骤

-
根据具体应用场景选择检查窗口大小

-
图像预处理(gamma校正)
Gamma校正: 调节图像的对比度,减少图像的光照不均和局部阴影,即将过曝或曝光不足的图片,进行矫正。
-
计算图像梯度
梯度图移除了大量非显著性特征,并加强了显著特征
-
以cell为单位计算梯度直方图
假设一个cell是8x8像素,则整个单元内有64个像素点的梯度信息(强度+方向)。当nBins=9时,则是以20°为一个单元,在一个cell内统计9个方向的梯度直方图。则将64x2个值转化为了9个值。

优点:降低计算量+对光照等环境变化更加鲁棒
-
以Block为单位进行归一化
一个block内所有的cell特征向量串联起来便得到该block的HOG特征。
归一化方法:向量的每一个值除以向量的模

若以16x16的Block为单位进行归一化,一个cell的大小为8x8,则有1 Block=4 cell

-
将所有Block归一化后的梯度直方图组合成Hog特征向量

HOG 特征的优缺点

特征描述子SIFT
边缘检测
对于阶跃边缘可以使用一阶导数的极值来判断边缘
对于阶跃边缘还可以使用二阶导数的过零点判定

-
LOG算子

先对图像进行平滑之后再使用Laplace算子检测边缘,使用Gaussian平滑和Laplace算子就形成了LoG算子(高斯拉普拉斯算子)。

-
基于SIFT特征寻找对应关系

Blob 检测
斑点区域就是两条边形成的中间区域
如果LoG算子的尺度与blob的尺度“匹配”,则LoG算子响应的幅度将在blob的中心达到最大值。
当尺度等于脉冲宽度的一半的时候,不仅极值对应着blob的中心位置,而且这时候的响应强度比其他尺度响应强度都强。

检测blob时就可以使用不同的尺度计算LoG响应,选择产生最强响应的尺度,在该尺度上对应的极值就是blob的中心位置了。(得到尺度+位置的信息)
-
DOG高斯差分

SIFT算法的步骤
-
构建尺度空间
构建高斯金字塔:对图像进行高斯平滑->对处理后的图像进行降采样
对图像金字塔的每层图像使用不同的参数进行高斯平滑,使每层金字塔有多张高斯平滑后的图像。在降采样时,上一组图像的底层是由前一组图像的倒数第三层图像隔点采样生成的,这样可以保持尺度的连续性。

构建高斯差分金字塔:高斯金字塔构建完成后,将相邻的高斯金字塔相减就得到了高斯差分(DOG)金字塔。

-
特征点定位
关键点是由DOG空间的局部极值点组成的。中间的检测点和它同尺度的8个相邻点和上下相邻尺度对应的9×2个点共26个点比较,以确保在尺度空间和二维图像空间都检测到极值点。

特征点精确定位:

-
特征点主方向确定
利用特征点邻域像素的梯度方向分布特性,指定主方向
计算主方向:
-
将圆周分为36份,每份10度
-
计算特征点附近区域每个像素梯度方向和幅值
-
根据每个像素幅值和距中心的高斯距离绘制梯度直方图
-
将直方图中最大方向作为特征点主方向
-
如果直方图其他值达到最大值的80%,则将其指定为辅方向
图像的关键点已检测完毕,每个关键点有三个信息:位置、尺度、方向;同时也就使关键点具备平移、缩放、和旋转不变性。
-
特征描述
通过对特征点周围图像区域分块,计算块内梯度直方图,生成具有独特性的向量。


小结
