《计算机视觉》集大网课笔记【2】

Hariis角点的描述子通常是由角点周围像素块的灰度值,以及用于比较的归一化互相关矩阵构成的。其中,两个(相同大小)像素块I_{1}(x)I_{2}(x)的相关矩阵定义为:

c\left(\boldsymbol{I}_{1}, \boldsymbol{I}_{2}\right)=\sum_{\mathbf{x}} f\left(\boldsymbol{I}_{1}(\mathbf{x}), \boldsymbol{I}_{2}(\mathbf{x})\right)

基础的互相关矩阵为 f\left(I_{1}(x), I_{2}(x)\right)=I_{1}(x) \cdot I_{2}(x),等同于矩阵点乘。而归一化相关时相关矩阵的变形,具体为:

n c c\left(\boldsymbol{I}_{1}, \boldsymbol{I}_{2}\right)=\frac{1}{n-1} \sum_{\mathbf{x}} \frac{\left(\boldsymbol{I}_{1}(\mathbf{x})-\mu_{1}\right)}{\sigma_{1}} \cdot \frac{\left(\boldsymbol{I}_{2}(\mathbf{x})-\mu_{2}\right)}{\sigma_{2}}

2.2 SIFT(尺度不变特征变换)

SIFT可以解决的问题:

  • 目标的旋转、缩放、平移(RST)
  • 图像仿射/投影变换(视点viewpoint)
  • 目标的尺度/距离
  • 弱光照影响(illumination)
  • 部分目标遮挡(occlusion)
  • 杂物场景(clutter)
  • 噪声

SIFT实现步骤简述:(实质可归位在不同尺度空间上查找相同特征点(关键点)的问题)

  1. 提取关键点
  2. 对关键点附加详细的信息(局部特征),即描述符
  3. 通过特征点(附带上特征向量的关键点)的两两比较找出相互匹配的若干对特征点,建立景物间的对应关系

SIFT查找的关键点:一些十分突出的点,不会因光照、尺度、旋转等因素的改变而消失,比如角点边缘点暗区域的亮点以及亮区域的暗点
因此需要了解尺度空间的概念:通过对原始图像进行尺度变换,获得图像多尺度下的空间表示。从而实现边缘、角点检测和不同分辨率上的特征提取,以满足特征点的尺度不变性
尺度空间中各尺度图像的模糊程度逐渐变大,能够模拟人在距离目标由近到远时目标在视网膜上的形成过程。尺度越大图像越模糊。
尺度不变性:
在不同尺度空间找到比较接近的尺度对应关系。

高斯滤波器:构造一个滤波函数,满足高斯分布,删除噪声影响。高斯函数方差越大,当前像素点周边信息越多;方差越小,当前像素点信息越多。
高斯金字塔的构建可分为两步:

  1. 对图像做高斯平滑;
  2. 对图像做降采样。

高斯图像金字塔共o组、s层,则有:

\sigma(s)=\sigma_{0} \cdot 2^{s / s}

  • σ——尺度空间坐标;
  • s——sub-level层坐标;
  • σ0——初始尺度;
  • S——每组层数(一般为3~5)

最后可将组内和组间尺度归位:

2^{i-1}\left(\sigma, k \sigma, k^{2} \sigma, \cdots k^{n-1} \sigma\right)
k=2^{1/S}

  • i——金字塔组数
  • n——每一组的层数

为了让尺度体现其连续型,在简单采样的基础上加上了高斯滤波。一幅图像可以产生几组图像,一组图像包括几层(interval)图像。

DoG(Difference of Gaussian)函数

DoG在计算只需相邻高斯平滑后图像相减,因此简化了计算。

DoG高斯差分金字塔
对应DoG算子,需构建DoG金字塔。可以通过高斯差分图像看出图像上的像素值变化情况(如果没有变化,也就没有特征。特征必须是变化尽可能多的点)。DoG图像描绘的是目标的轮廓。

DoG的局部极值点
特征点是由DoG空间的局部极值点组成的。为了寻找DoG函数的极值点,每一个像素点要和它所有的相邻点比较,看其是否比它的图像域和尺度域的相邻点大或者小。
中间的监测点和它通尺度的8个相邻点和上下相邻尺度对应的9×2个点共26个点比较,以确保在尺度空间和二维空间都检测到极值点。

去除边缘响应
由于DoG函数在图像边缘有较强的边缘响应,因此需要排除边缘响应。
DoG函数的峰值点在边缘方向有较大的主曲率,而在垂直边缘的方向有较小的主曲率。主曲率可以通过计算在该点位置尺度的2×2的Hessian矩阵得到,导数由采样点相邻差来估计:

H=\left[\begin{array}{ll} D_{x x} & D_{x y} \\ D_{x y} & D_{y y} \end{array}\right]

Dxx表示DoG金字塔中某一尺度的图像x方向求导两次。
与Harris角点的区别?
基于Hessian的检测器比基于Harris的检测器更稳定、更可重复。

D的主曲率和H的特征值成正比。令α,β为特征值,则

\begin{aligned} \frac{\operatorname{Tr}(H)^{2}}{\operatorname{Det}(H)} &=\frac{(\alpha+\beta)^{2}}{\alpha \beta} \\ \operatorname{det}(H) &=\alpha \beta \\ \operatorname{trace}(H) &=\alpha+\beta \end{aligned}

该值在两特征值相等时达最小。建议阈值T为1.2,即\frac{Tr(H)^{2}}{Det(H)}<T时保留关键点,反之剔除。

通过尺度不变性求极值点,可以使其具有缩放不变的性质。而利用关键点领域像素的梯度方向分布特性,可以为每个关键点指定方向参数方向,从而使描述子对图像旋转具有不变性
通过求每个极值点的梯度来为极值点赋予方向。

  • 像素点的梯度表示:\operatorname{gradI}(x, y)=\left(\frac{\partial I}{\partial x}, \frac{\partial I}{\partial y}\right)
  • 梯度幅值:m(x, y)=\sqrt{(L(x+1, y)-L(x-1, y))^{2}+(L(x, y+1)-L(x, y-1))^{2}}
  • 梯度方向:\theta(x, y)=\tan ^{-1}\left[\frac{L(x, y+1)-L(x, y-1)}{L(x+1, y)-L(x-1, y)}\right]

方向直方图的生成
确定关键点的方向采用梯度直方图统计法,统计以关键点为原点,一定区域内的图像像素点对关键点方向生成所做的贡献。统计方向[0,2π]f分为8个方向,梯度幅值越大贡献越大。统计后哪个纺线最大,即作为当前方向主方向。
关键点主方向:极值点周围区域梯度直方图的主峰值也是特征点方向。
关键点辅方向:在梯度方向直方图中,当存在另一个相当于主峰值80%能量的峰值时,则将这个方向认为是该关键点的辅方向。为其也生成一个特征向量。
这可以增强匹配的鲁棒性,Lowe的论文指出大概有15%关键点具有多方向,但这些点对撇啤的稳定性至为关键。

猜你喜欢

转载自blog.csdn.net/fjyalzl/article/details/127106332