计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征

第四章 局部特征(Local features)

全景图(panorama stitching)拼接

示例:

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第1张图片

图片拼接过程:

1.提取局部特征
计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第2张图片

2.特征匹配

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第3张图片

3.按匹配方程进行拼接

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第4张图片

特征所具备的性质:

1.高重复性(Repeatability):两图重复的点越多越好

2.显著性(Saliency):两图有对应的点

3.高效(Compactness and efficiency)

4.局部性(Locality):特征只与局部有关系

特征点检测应用:

1.图像对齐(Image alignment)

2.3维重建(3D reconstruction)

3.移动跟踪(Motion tracking)

4.机器人导航(Robot navigation)

5.图像检索(Indexing and database retrieval)

6.目标检测

角点(Conrners)

1.角点就是在两个方向上有特征。如桌角

2.要满足显著性和重复性

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第5张图片

用一个窗口,就可以比较出角点的区别。

窗口在图像内部各个方向无变化

在图像边缘时左右会发生变化

在角点时在各个方向都会有变化

那么相对应的数学公式就是:

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第6张图片

说明

E(u,v)表示的就是移动窗体与原窗体之间的差异。而u,v就是平移量

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第7张图片

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第8张图片

w(x,y)表示的是评估点所占的比例的大小

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第9张图片

如果要想得到u,v与E的直接关系,就要使用泰勒展开式(Taylor expansion)

在这里插入图片描述

为了减少计算,我们可以让u,v与E关联变为M与E关联

在这里插入图片描述
计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第10张图片

从图像上来看:

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第11张图片

M也可以看做:

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第12张图片

如果窗口在图像边缘上,那么在水平或者垂直方向上的梯度无变化

那么就是说Ix为零或者Iy为零

所以E(u,v)就会只与u,v其中一个有关系

问题就转化为求特征值

如何找到椭圆与λ特征值的关系

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第13张图片

其中R表示信号的方向

λ就表示了在x,y方向的变化

从图中我们可以看出,椭圆是个斜着的,就表示与x,y方向有关,x变大y变大

那么正椭圆与斜椭圆相差的就是R矩阵

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第14张图片

参考椭圆的标准方程

当λ越大表示的椭圆轴长度越小

也就是说在短轴的方向信号变化大

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第15张图片

而R与λ的关系又可以通过转化得出:

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第16张图片

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第17张图片

寻找角点步骤步骤

1.先用高斯偏导求得方向

在这里插入图片描述

2.计算每个点二阶矩阵

3.计算R值

4.当R值大于某个门限时,就认为是可能的角点

5.非极大值抑制

图示:
计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第18张图片

1.计算R值

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第19张图片

2.R>门限值 留下

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第20张图片

Harris角点的性质:

Invariance(不变性)

旋转、光线对图片特征提取无影响

Covariance

同一图片的两种变换

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第21张图片

二阶角点特征(仿射变换)Affine intensity change

部分Invariance

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第22张图片

公式参数简单理解

a是譬如平移等

b是光线的变化

不同图像运用的性质也不同:

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第23张图片

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第24张图片

但是如果尺度发生变化那么Harris角点将不再适用

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第25张图片

局部特征:Blob检测

尺度不变特征

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第26张图片

最主要的还是找到最合适的圆心,当尺度变大时所对应的半径R值就会越小

边缘提取:高斯偏导

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第27张图片

边缘提取:高斯二阶偏导

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第28张图片

看过零点的曲线,可以找到边缘

尺度选择:

当二阶偏导与原图像有重叠部分时,一定能产生一个最大值

但是随着方差的增大,卷积后的信号会发生衰减。
计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第29张图片
计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第30张图片

那么我要就要补偿σ,使其信号不受影响

而二阶高斯偏导(拉普拉斯)则需要补偿σ²

2D图像中的Blob检测

拉普拉斯函数

对比图像可以比较得出黑色部分为3D图像<0的部分
计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第31张图片
计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第32张图片

只有信号与方差正好合适的时候响应值最大

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第33张图片

当方差偏小或者偏大时响应值偏大或者偏小

那么我们寻找的就是以下公式等于0的时候,而对应的是3D图像的0平面的函数

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第34张图片

所对应的圆的方程:

在这里插入图片描述

要使其公式为0则

在这里插入图片描述

也就是半径为 √2σ

实例:

就是通过调节σ来解决圆圈大小的检测问题

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第35张图片
计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第36张图片
计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第37张图片

在对图像进行处理的时候,把不同方差σ所对应的相应结果画出尺度空间

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第38张图片

如果要找到最合适的圆心就要进行非最大化抑制,与周围的26个点进行比较。

也就是说中间一层与上下两层进行比较,直至找到最大值

这个方法解决了尺度搜索非最大化抑制的问题

Harris-Laplacian

Harris角点特征主要解决光照旋转的问题

而Laplacian则应用到尺度变换的问题上

SIFT(Scale-Invariant Keypoints)尺度不变特征

提出了一个DoG模板(与拉普拉斯相似)

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第39张图片

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第40张图片

上图我们可以的到输出结果为4层。那么我们就需要10层高斯核

原本的模板怎么得到

3σ+3σ+1

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第41张图片

通常把倒数第三个高斯核下采样也就是缩小1倍

方差为σ的高斯核对图像进行卷积得到其最大值点

我们如果想要得到下一层的卷积核不需要在原图进行卷积。为什么要把高斯核变小,因为运算快。kσ-σ运算结果对图片进行卷积得到kσ卷积最大值结果

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第42张图片

大图像原本高斯核缩小之后再输出的结果乘以缩小倍数就与原本的结果相同

我们可以知道角点检测的不变性包括旋转不变性、位置不变性

那么图像的像素发生变化我们怎么解决呢

首先对圆圈内的信号进行梯度计算进行迭代,最终形成黄色圈

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第43张图片

图片经过仿射不变性处理之后

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第44张图片

内容一样,但是角度不一样

如何处理

方法1:基于梯度方向

SIFT全局变换(对整个图片进行分区)

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第45张图片

我们对图中角度进行直方图统计

得到最大的角度梯度,然后将图片的梯度方向旋转到最大角度

现在已经可以解决图片尺寸、旋转、视角

方法2:SIFT局域处理(把图片分为多个区域)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7spVJWKL-1662082867091)(C:\Users\马宇昂\AppData\Roaming\Typora\typora-user-images\image-20220816090714406.png)]

统计每个格子里面分为八个方向的直方图

那么就形成了16*8=128个区域

无论之前用Haris角点+Lap还是使用SIFT全局检测都可以使用SIFT局部特征检测

SIFT特征匹配实际操作:

计算机视觉入门-局部特征检测、角点、仿射变换、Blob检测、SIFT尺度不变特征_第46张图片

如何匹配上

看输入图与数据库中图的特征

只需要观察与近邻之间的关系

你可能感兴趣的:(计算机视觉,计算机视觉,人工智能)