这一讲主要是关于图像中角点检测的一些基本方法。首先需要说明的是,所谓角点检测并不是狭义的只是检测图像中的角,而是在对稳定的兴趣点的的检测中,图像中角点对于探测器的响应通常比较好,从而得到的结果大部分为角点部分,所以称为角点检测。
我们要检测图像I1中某一个兴趣点在图像I2中的位置。如下图所示。
如果两幅图片中兴趣点的强度没有改变的话,我们可以得到
I1(xi+u)=I0(xi)
其中 u 为两个图像块中心的位移。
但是在实际情况中,由于噪声以及其他一些原因,两幅图像不可能精确相等。在这种情况下,最简单的两个图像块的匹配策略,就是计算它们的加权差的平方和(weighted summed squared difference)。
我们将 I1 在 xi 处泰勒展开,只保留前两项,可以得到
I0(xi+Δu)≈I0(xi)+∇I0(xi)⋅Δu
因此可以得到
E(Δu)=∑iw(xi)[I0(xi+Δu)−I0(xi)]2≈∑iw(xi)[∇I0(xi)⋅Δu]2=ΔuTAΔu
其中
A=w∗(I2xIxyIxyI2y)
I2x=(∂I∂x)2,Ixy=(∂I∂x)(∂I∂y),I2y=(∂I∂y)2
我们可以将矩阵 A 简单地看作如下形式的矩阵。
则我们可以将 E 看作具有如下形式的二次多项式
根据二次函数的性质,我们可以看出,如果 a 的值较大的话,则
因此,我们可以根据矩阵
计算得出 Λ 为 A 的特征值组成的对角矩阵,
E=ΔvTRTARΔv=ΔvTΛΔv
则 E 可以看作具有如下形式
如果矩阵 A 的两个特征值
对于矩阵的特征值的评价方式一般有三种:
- Shi和Tomasi提出的利用特征值的最小值的检测方法
- Harris和Stephens特出的利用行列式与迹来评价的方法
det(A)−αtr(A)2=λ0λ1−α(λ0+λ1)2 - 调和均值法
det(A)tr(A)=λ0λ1λ0+λ1
匹配兴趣点
发现一个兴趣点后,可以用最小差的平方的方法在另一幅图像中匹配之。
E(u)=∑i[I1(xi+u)−I0(xi)]2=∑iI1(xi+u)2−2∑iI1(xi+u)I0(xi)+∑iI0(xi)2
其中中间项相当于 I1 和 I2 的互相关运算,当 I1 和 I2 匹配时,中间项很大,从而 E(u) 得到最小值。