【机器学习】CV特征描述子HOG 、SIFT

特征描述子HOG

图像梯度

图像𝒇(𝒙, 𝒚)在点(𝒙, 𝒚)的梯度是一个具有大小方向的矢量

当图像中存在边缘时,一定有较大的梯度值

x方向梯度会强化垂直方向的特征

y方向梯度会强化水平方向的特征

16ffde3015a613b0a890f19abf780c4b.png
604f04b5157e2828589d4e0c72bd025a.png
  • sobel 算子

9c97871a04112f89d415175ee05e1b43.png

也有如下表示:

9659cec8af5d96e51cc14c81b64aa2b8.png
4a4b272410eae18c5e47963187691284.png
a8f3976946fb0d44bdad56a63f646fea.png

HOG 特征具体提取步骤

03659f3c41de5b7b091e5b64b4fe05fc.png
  1. 根据具体应用场景选择检查窗口大小

8e681b36fe8eeba3169b939986d8cc1e.png
  1. 图像预处理(gamma校正)

Gamma校正: 调节图像的对比度,减少图像的光照不均和局部阴影,即将过曝或曝光不足的图片,进行矫正。

  1. 计算图像梯度

梯度图移除了大量非显著性特征,并加强了显著特征

  1. 以cell为单位计算梯度直方图

假设一个cell是8x8像素,则整个单元内有64个像素点的梯度信息(强度+方向)。当nBins=9时,则是以20°为一个单元,在一个cell内统计9个方向的梯度直方图。则将64x2个值转化为了9个值。

b8b42339933fbfdc817e054c25a3d855.png

优点:降低计算量+对光照等环境变化更加鲁棒

  1. 以Block为单位进行归一化

一个block内所有的cell特征向量串联起来便得到该block的HOG特征。

归一化方法:向量的每一个值除以向量的模

090d855808e8e2574c8fe6b108f0c1f4.png

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

2e91a4dccc8bfdd967008b465d2bda94.png

 

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

7b6db1a840dd0a3b632da5a34f589fe6.png

HOG 特征的优缺点

30c8070e057aa2767901bb49dfdde208.png

特征描述子SIFT

边缘检测

对于阶跃边缘可以使用一阶导数的极值来判断边缘

对于阶跃边缘还可以使用二阶导数的过零点判定

583981aed199c3b98258e284f4738ec0.png
  • LOG算子

803d09ec1035cf60f6c4402b81f86f77.png

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

f78b0a5f4b1248a1ac67281ca7984f85.png
  • 基于SIFT特征寻找对应关系

7d3d998fea08a8af12e946953b7cf126.png

Blob 检测

斑点区域就是两条边形成的中间区域

如果LoG算子的尺度与blob的尺度“匹配”,则LoG算子响应的幅度将在blob的中心达到最大值。

尺度等于脉冲宽度的一半的时候,不仅极值对应着blob的中心位置,而且这时候的响应强度比其他尺度响应强度都强

5962945997f467e228ec8f3a70cec383.png

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

  • DOG高斯差分

5cf460274560ea7a07cb2ac2c1818d72.png

SIFT算法的步骤

  1. 构建尺度空间

构建高斯金字塔:对图像进行高斯平滑->对处理后的图像进行降采样

对图像金字塔的每层图像使用不同的参数f40ba00c553afefd652508e874dc2064.png进行高斯平滑,使每层金字塔有多张高斯平滑后的图像。在降采样时,上一组图像的底层是由前一组图像的倒数第三层图像隔点采样生成的,这样可以保持尺度的连续性。

7c13ed8997b9d5c8ccb404af238d56b1.png

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

36287fe4d93db4934daa16f7c5ffa95f.png

 

  1. 特征点定位

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

51eb7def4499b319980e3b324813cffb.png

特征点精确定位:

687555595ca65baf8f2f3d616f3cbb75.png
  1. 特征点主方向确定

利用特征点邻域像素的梯度方向分布特性,指定主方向

计算主方向:

  • 将圆周分为36份,每份10度

  • 计算特征点附近区域每个像素梯度方向和幅值

  • 根据每个像素幅值和距中心的高斯距离绘制梯度直方图

  • 将直方图中最大方向作为特征点主方向

  • 如果直方图其他值达到最大值的80%,则将其指定为辅方向

图像的关键点已检测完毕,每个关键点有三个信息:位置、尺度、方向;同时也就使关键点具备平移、缩放、和旋转不变性。

  1. 特征描述

通过对特征点周围图像区域分块,计算块内梯度直方图,生成具有独特性的向量。

f0f5e274562ac3e9b99b2f5b11bb063a.png
7c7f9ff29b9a09aa8ab456ce16959f6e.png

小结

4aae1e2a5a8707a54721826f51f8cb1c.png

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值