根据 Stanford CS131 课程写的笔记(大部分为 note 翻译),英语水平一般,如有错误请评论指正

Lecture 6-7 Features and Fitting/Feature Descriptor

Local Invariant(局部不变) Features

Motivation

使用局部不变的特征的目的出于它在广泛环境下的有用性,之前讨论的方法在这些环境下均产生问题,例如:交叉相关。这个方法通过找到图像中局部、独特的结构,并用周围区域来作为小块,而不是使用全局作为代表来找到相对应的结构。这样做可以得到一个强健性更高的图片检测策略,该策略对物体旋转、视角改变、尺度变换等具有不变性。

General Approach

  1. 找到一系列特别的关键点
  2. 在关键点附近定义一个局部区域
  3. 从该区域提取并归一化局部内容
  4. 从归一化的区域中计算一个局部描述子 (local descriptor),例如:像素颜色函数
  5. 匹配局部描述子

[CS131] Lecture 6-7 Features and FittingFeature Descriptor

Requirements

好的局部特征应该具有以下性质:

  1. 重复性

    同一个物体或场景在不同摄像情况下(例如,光照或者视角改变),应该都能检测到大量的特征。换句话说,该特征需要对光线变化、噪音、模糊等具有稳健性,同时对旋转和视角改变也保持不变性。

  2. 局部性

    特征需要是局部的以避免背景遮挡 (occlusion) 和混淆 (clutter) 导致的问题

  3. 数量

    需要足够多的特征被选择去有效的检测物体

  4. 特殊性

    特征需要有能展现出大量变换的特点,这样才能保证可以区分不同特征。

  5. 效率

    新图像的特征匹配需要有利于实时应用

Keypoint Localization

Motivation

关键点定位目标是持续且重复地检测区域、达到更精确的定位、在图像中找到游泳的内容。

General Approach

我们寻找角点,因为它们在大量图像中都是可重复且有特点的。为了找到角点,我们需要寻找在所有维度上强度剧烈变化的地方,也是梯度有两个以上主要方向的地方。为了提供上下文,一个 “平整” 的区域在任何方向上都不会改变且边沿的方向不会产生变化。我们用 Harris 技术找到这些角点。

[CS131] Lecture 6-7 Features and FittingFeature Descriptor

Harris Detector

计算移动 [u,v] 强度的改变量 E(u,v),其中 I(x,y) 表示强度函数,w(x,y) 表示窗函数(用于对信号进行截断,也叫截断函数):

E(u,v)=x,yw(x,y)[I(x+u,y+v)I(x,y)]2

[CS131] Lecture 6-7 Features and FittingFeature Descriptor

为了找到角点,我们需要最大化函数 E(u,v)。用 Taylor Expansion 可以得到以下方程:

E(u,v)=[uv]M[uv]

其中 M 定义为
M=x,yw(x,y)[IxIxIxIyIxIyIyIy][IxIxIxIyIxIyIyIy]=x timesy

这个矩阵显示
M=[IxIxIxIyIxIyIyIy]=[λ100λ2]

角点的两个特征值 λ1λ2 都是大且相近的,而边缘只有其中一个特征值较大,平坦区域两个特征值均较小。

[CS131] Lecture 6-7 Features and FittingFeature Descriptor

角点响应函数 (Corner Response Function) 为每个窗计算一个值:

θ=det(M)αtrace(M)2

其中 α 范围为 [0.04,0.06]

[CS131] Lecture 6-7 Features and FittingFeature Descriptor

为了增加旋转不变性,我们用经过加权和的高斯函数进行光滑化:

M=g(σ)[IxIxIxIyIxIyIyIy]

最后,下图展示了 Harris detector 找到的关键点:

[CS131] Lecture 6-7 Features and FittingFeature Descriptor

Scale Invariant Keypoint Detection

Motivation

之前我们用 Harris detector 找到角点的关键点。Harris detector 为了维持良好的定位,用的窗较小。因为用的是小窗,所以会当图片缩放后,窗会受到影响,其梯度会发生改变。下图展现了同样大小的框在图片放大后的改变。

[CS131] Lecture 6-7 Features and FittingFeature Descriptor

Solution

我们可以设计一个可伸缩的函数,即窗对应的区域不受尺度变换影响(例如,平均强度)。我们可以用一个圈表示这个可伸缩函数。圆上一个点表示一个圆半径对应区域大小的函数,所以只要选取一个特征比较明显的点(如峰值),所对应的函数就能在不同的图中取得不同的窗大小。

[CS131] Lecture 6-7 Features and FittingFeature Descriptor

General Approach

我们可以找到一个函数的局部最大值。相对于局部最大值,区域大小应该不随尺度改变。这意味着区域大小和图像尺寸应该共同变化。一个好的函数应该有有且仅有一个明显的局部最大值。换句话说,我们应该用在强度上有鲜明对比的函数。

[CS131] Lecture 6-7 Features and FittingFeature Descriptor

我们将函数定义为:f=kernelimage,可以用 Laplacian(拉普拉斯算子)或者 Difference of Gaussians(DoG,差分高斯算子)作为核

L=σ2(Gxx(x,y,σ)+Gyy(x,y,σ))DoG=G(x,y,kσ)G(x,y,σ)where G(x,y,σ)=12πσex2+y22σ2

这些核都具有旋转与伸缩不变性。

附加:拉普拉斯算子的推导

对于图像 f,首先进行高斯平滑处理滤去噪点:

G(x,y,σ)f(x,y)

对上式求微分,进行边缘检测:
ddx(Gf)=dGdxf

其中,dG/dx 即为拉普拉斯算子。

[CS131] Lecture 6-7 Features and FittingFeature Descriptor

基于 DoG 算子,可以采用 SIFT 算法进行特征匹配,在空间和尺度上找到 DOG 局部最大值。基于拉普拉斯算子,可以采用 Harris-Laplacian 算法进行特征匹配,在空间上找到 Harris 角点检测器的局部最大值、在尺度上找到拉普拉斯的局部最大值。

[CS131] Lecture 6-7 Features and FittingFeature Descriptor

相关文章:

  • 2022-01-03
  • 2022-01-15
  • 2021-08-24
  • 2021-10-10
  • 2021-09-01
  • 2021-09-10
  • 2021-04-15
  • 2021-12-23
猜你喜欢
  • 2021-07-22
  • 2021-11-22
  • 2021-12-19
  • 2021-10-25
  • 2022-01-20
  • 2021-05-30
  • 2021-06-03
相关资源
相似解决方案