根据 Stanford CS131 课程写的笔记(大部分为 note 翻译),英语水平一般,如有错误请评论指正
Lecture 6-7 Features and Fitting/Feature Descriptor
Local Invariant(局部不变) Features
Motivation
使用局部不变的特征的目的出于它在广泛环境下的有用性,之前讨论的方法在这些环境下均产生问题,例如:交叉相关。这个方法通过找到图像中局部、独特的结构,并用周围区域来作为小块,而不是使用全局作为代表来找到相对应的结构。这样做可以得到一个强健性更高的图片检测策略,该策略对物体旋转、视角改变、尺度变换等具有不变性。
General Approach
- 找到一系列特别的关键点
- 在关键点附近定义一个局部区域
- 从该区域提取并归一化局部内容
- 从归一化的区域中计算一个局部描述子 (local descriptor),例如:像素颜色函数
- 匹配局部描述子
Requirements
好的局部特征应该具有以下性质:
重复性
同一个物体或场景在不同摄像情况下(例如,光照或者视角改变),应该都能检测到大量的特征。换句话说,该特征需要对光线变化、噪音、模糊等具有稳健性,同时对旋转和视角改变也保持不变性。
局部性
特征需要是局部的以避免背景遮挡 (occlusion) 和混淆 (clutter) 导致的问题
数量
需要足够多的特征被选择去有效的检测物体
特殊性
特征需要有能展现出大量变换的特点,这样才能保证可以区分不同特征。
效率
新图像的特征匹配需要有利于实时应用
Keypoint Localization
Motivation
关键点定位目标是持续且重复地检测区域、达到更精确的定位、在图像中找到游泳的内容。
General Approach
我们寻找角点,因为它们在大量图像中都是可重复且有特点的。为了找到角点,我们需要寻找在所有维度上强度剧烈变化的地方,也是梯度有两个以上主要方向的地方。为了提供上下文,一个 “平整” 的区域在任何方向上都不会改变且边沿的方向不会产生变化。我们用 Harris 技术找到这些角点。
Harris Detector
计算移动
[u,v]
[
u
,
v
]
强度的改变量
E(u,v)
E
(
u
,
v
)
,其中
I(x,y)
I
(
x
,
y
)
表示强度函数,
w(x,y)
w
(
x
,
y
)
表示窗函数(用于对信号进行截断,也叫截断函数):
为了找到角点,我们需要最大化函数
E(u,v)
E
(
u
,
v
)
。用 Taylor Expansion 可以得到以下方程:
其中 M 定义为
这个矩阵显示
角点的两个特征值 λ1 λ 1 、 λ2 λ 2 都是大且相近的,而边缘只有其中一个特征值较大,平坦区域两个特征值均较小。
角点响应函数 (Corner Response Function) 为每个窗计算一个值:
其中 α α 范围为 [0.04,0.06] [ 0.04 , 0.06 ] 。
为了增加旋转不变性,我们用经过加权和的高斯函数进行光滑化:
最后,下图展示了 Harris detector 找到的关键点:
Scale Invariant Keypoint Detection
Motivation
之前我们用 Harris detector 找到角点的关键点。Harris detector 为了维持良好的定位,用的窗较小。因为用的是小窗,所以会当图片缩放后,窗会受到影响,其梯度会发生改变。下图展现了同样大小的框在图片放大后的改变。
Solution
我们可以设计一个可伸缩的函数,即窗对应的区域不受尺度变换影响(例如,平均强度)。我们可以用一个圈表示这个可伸缩函数。圆上一个点表示一个圆半径对应区域大小的函数,所以只要选取一个特征比较明显的点(如峰值),所对应的函数就能在不同的图中取得不同的窗大小。
General Approach
我们可以找到一个函数的局部最大值。相对于局部最大值,区域大小应该不随尺度改变。这意味着区域大小和图像尺寸应该共同变化。一个好的函数应该有有且仅有一个明显的局部最大值。换句话说,我们应该用在强度上有鲜明对比的函数。
我们将函数定义为:
f=kernel∗image
f
=
k
e
r
n
e
l
∗
i
m
a
g
e
,可以用 Laplacian(拉普拉斯算子)或者 Difference of Gaussians(DoG,差分高斯算子)作为核
这些核都具有旋转与伸缩不变性。
附加:拉普拉斯算子的推导
对于图像
f
f
,首先进行高斯平滑处理滤去噪点:
对上式求微分,进行边缘检测:
其中, dG/dx d G / d x 即为拉普拉斯算子。
基于 DoG 算子,可以采用 SIFT 算法进行特征匹配,在空间和尺度上找到 DOG 局部最大值。基于拉普拉斯算子,可以采用 Harris-Laplacian 算法进行特征匹配,在空间上找到 Harris 角点检测器的局部最大值、在尺度上找到拉普拉斯的局部最大值。