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


    第四章 局部特征(Local features)

    全景图(panorama stitching)拼接

    示例:

    在这里插入图片描述

    图片拼接过程:

    1.提取局部特征
    在这里插入图片描述

    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.目标检测

    角点(Conrners)

    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

    同一图片的两种变换

    在这里插入图片描述

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

    部分Invariance

    在这里插入图片描述

    公式参数简单理解

    a是譬如平移等

    b是光线的变化

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

    在这里插入图片描述

    在这里插入图片描述

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

    在这里插入图片描述

    局部特征:Blob检测

    尺度不变特征

    在这里插入图片描述

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

    边缘提取:高斯偏导

    在这里插入图片描述

    边缘提取:高斯二阶偏导

    在这里插入图片描述

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

    尺度选择:

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

    但是随着方差的增大,卷积后的信号会发生衰减。
    在这里插入图片描述
    在这里插入图片描述

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

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

    2D图像中的Blob检测

    拉普拉斯函数

    对比图像可以比较得出黑色部分为3D图像<0的部分
    在这里插入图片描述
    在这里插入图片描述

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

    在这里插入图片描述

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

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

    在这里插入图片描述

    所对应的圆的方程:

    在这里插入图片描述

    要使其公式为0则

    在这里插入图片描述

    也就是半径为 √2σ

    实例:

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

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

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

    在这里插入图片描述

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

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

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

    Harris-Laplacian

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

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

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

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

    在这里插入图片描述

    在这里插入图片描述

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

    原本的模板怎么得到

    3σ+3σ+1

    在这里插入图片描述

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

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

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

    在这里插入图片描述

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

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

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

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

    在这里插入图片描述

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

    在这里插入图片描述

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

    如何处理

    方法1:基于梯度方向

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

    在这里插入图片描述

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

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

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

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

    在这里插入图片描述

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

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

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

    SIFT特征匹配实际操作:

    在这里插入图片描述

    如何匹配上

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

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

  • 相关阅读:
    Ubuntu 22.04 LTS ffmpeg mp4 gif 添加图片水印
    SIEMENS S7-1200 汽车转弯灯程序 编程与分析
    管理订单状态,该上状态机吗?轻量级状态机COLA StateMachine保姆级入门教程
    Java代码实现两个数据库之间的数据同步
    ES6面向对象
    Spring Boot中发送邮件时,如何让发件人显示别名
    PCA算法(python版本)
    外观设计的基本功能与产品特点
    LiteOS-M内核
    2023二建备考第二天Day02
  • 原文地址:https://blog.csdn.net/MMMMMMNONG/article/details/126656116