示例:
图片拼接过程:
2.特征匹配
3.按匹配方程进行拼接
特征所具备的性质:
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.目标检测
1.角点就是在两个方向上有特征。如桌角
2.要满足显著性和重复性
用一个窗口,就可以比较出角点的区别。
窗口在图像内部各个方向无变化
在图像边缘时左右会发生变化
在角点时在各个方向都会有变化
那么相对应的数学公式就是:
说明
E(u,v)表示的就是移动窗体与原窗体之间的差异。而u,v就是平移量
w(x,y)表示的是评估点所占的比例的大小
如果要想得到u,v与E的直接关系,就要使用泰勒展开式(Taylor expansion)
为了减少计算,我们可以让u,v与E关联变为M与E关联
从图像上来看:
M也可以看做:
如果窗口在图像边缘上,那么在水平或者垂直方向上的梯度无变化
那么就是说Ix为零或者Iy为零
所以E(u,v)就会只与u,v其中一个有关系
问题就转化为求特征值
其中R表示信号的方向
λ就表示了在x,y方向的变化
从图中我们可以看出,椭圆是个斜着的,就表示与x,y方向有关,x变大y变大
那么正椭圆与斜椭圆相差的就是R矩阵
参考椭圆的标准方程
当λ越大表示的椭圆轴长度越小
也就是说在短轴的方向信号变化大
而R与λ的关系又可以通过转化得出:
1.先用高斯偏导求得方向
2.计算每个点二阶矩阵
3.计算R值
4.当R值大于某个门限时,就认为是可能的角点
5.非极大值抑制
1.计算R值
2.R>门限值 留下
Harris角点的性质:
Invariance(不变性)
旋转、光线对图片特征提取无影响
Covariance
同一图片的两种变换
部分Invariance
公式参数简单理解
a是譬如平移等
b是光线的变化
不同图像运用的性质也不同:
但是如果尺度发生变化那么Harris角点将不再适用
尺度不变特征
最主要的还是找到最合适的圆心,当尺度变大时所对应的半径R值就会越小
边缘提取:高斯偏导
边缘提取:高斯二阶偏导
看过零点的曲线,可以找到边缘
尺度选择:
当二阶偏导与原图像有重叠部分时,一定能产生一个最大值
那么我要就要补偿σ,使其信号不受影响
而二阶高斯偏导(拉普拉斯)则需要补偿σ²
拉普拉斯函数
只有信号与方差正好合适的时候响应值最大
当方差偏小或者偏大时响应值偏大或者偏小
那么我们寻找的就是以下公式等于0的时候,而对应的是3D图像的0平面的函数
所对应的圆的方程:
要使其公式为0则
也就是半径为 √2σ
实例:
就是通过调节σ来解决圆圈大小的检测问题
在对图像进行处理的时候,把不同方差σ所对应的相应结果画出尺度空间
如果要找到最合适的圆心就要进行非最大化抑制,与周围的26个点进行比较。
也就是说中间一层与上下两层进行比较,直至找到最大值
这个方法解决了尺度搜索和非最大化抑制的问题
Harris角点特征主要解决光照旋转的问题
而Laplacian则应用到尺度变换的问题上
提出了一个DoG模板(与拉普拉斯相似)
上图我们可以的到输出结果为4层。那么我们就需要10层高斯核
原本的模板怎么得到
3σ+3σ+1
通常把倒数第三个高斯核下采样也就是缩小1倍
方差为σ的高斯核对图像进行卷积得到其最大值点
我们如果想要得到下一层的卷积核不需要在原图进行卷积。为什么要把高斯核变小,因为运算快。kσ-σ运算结果对图片进行卷积得到kσ卷积最大值结果
大图像原本高斯核缩小之后再输出的结果乘以缩小倍数就与原本的结果相同
我们可以知道角点检测的不变性包括旋转不变性、位置不变性
那么图像的像素发生变化我们怎么解决呢
首先对圆圈内的信号进行梯度计算进行迭代,最终形成黄色圈
图片经过仿射不变性处理之后
内容一样,但是角度不一样
方法1:基于梯度方向
SIFT全局变换(对整个图片进行分区)
我们对图中角度进行直方图统计
得到最大的角度梯度,然后将图片的梯度方向旋转到最大角度
现在已经可以解决图片尺寸、旋转、视角
方法2:SIFT局域处理(把图片分为多个区域)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7spVJWKL-1662082867091)(C:\Users\马宇昂\AppData\Roaming\Typora\typora-user-images\image-20220816090714406.png)]
统计每个格子里面分为八个方向的直方图
那么就形成了16*8=128个区域
无论之前用Haris角点+Lap还是使用SIFT全局检测都可以使用SIFT局部特征检测
SIFT特征匹配实际操作:
如何匹配上
看输入图与数据库中图的特征
只需要观察与近邻之间的关系