美文网首页图像处理
1.特征点检测与匹配

1.特征点检测与匹配

作者: 徐凯_xp | 来源:发表于2018-12-27 17:08 被阅读112次

    三维模型重建的流程:
    三维点云获取——几何结构恢复——场景绘制
    三维点云获取:
    1.激光雷达
    2.微软Kinect
    有效距离比较短
    3.单目多视角 :几乎很难实时
    4.双目立体视觉

    基于图像的三维模型重建:
    1.输入图像
    2.基于图像的点云生成
    3.点云到模型的重建
    4.纹理图像的创建与编辑
    5.纹理模型



    相关商业软件:
    Acute3D,Altizure,Agisoft PhotoScan

    图像特征点应用:
    1.相机标定
    2.图像拼接
    3.稠密重建
    4.场景理解

    图像特征点的检测方法:

    1. 人工设计检测算法
    2. 基于深度学习的方法
    3. 场景中的人工标记点

    图像特征点的基本要求:
    1.差异性——可检测
    特征点应该呈现出区别于非特征点的明显特征
    2.重复性——可匹配
    对应同一三维点的特征点应该在不同视角中被重复检测到

    特征检测子(Feature Detector)

    1. Harris 角点检测
    2. 基于LoG的多尺度特征检测子//拉普拉斯的高斯
    3. 基于DoG的多尺度特征检测子//高斯差分的一种方法
    4. 快速特征点检测方法
    特征点具有局部差异性

    动机:特征点具有局部差异性
    E(u,v) = \sum_{(x,y)}w(x,y){[I(x+u,y+v)-I(x,y)] }^2 \\ \approx \sum_{(x,y)}w(x,y){[I(x,y)+\frac{\partial{I}}{\partial{x}}(x,y)u+\frac{\partial{I}}{\partial{y}}(x,y)v-I(x,y)] }^2 \\= {\begin{bmatrix}u\\v \end{bmatrix}}^T {\begin{bmatrix}u\\v \end{bmatrix}}
    图像梯度
    \Delta I(x,y)= (\frac{\partial{I}}{\partial{x}}(x,y),\frac{\partial{I}}{\partial{y}}(x,y)
    Harris矩阵
    H = {\begin{bmatrix}\sum_{(x,y)}W(x,y){\frac{\partial{I}}{\partial{x}}(x,y)}^2 &\sum_{(x,y)}W(x,y){\frac{\partial{I}}{\partial{x}}(x,y)}){\frac{\partial{I}}{\partial{y}}(x,y)} \\\sum_{(x,y)}W(x,y){\frac{\partial{I}}{\partial{x}}(x,y)}){\frac{\partial{I}}{\partial{y}}(x,y)} & \sum_{(x,y)}W(x,y){\frac{\partial{I}}{\partial{x}}(x,y)}^2 \end{bmatrix}}


    以每个点为中心取一个窗口,窗口大小为55或者77,如果这个点具有差异性,往周围任意方向移动,周围的环境变化都是会比较大的,如果满足这个特性,我们就认为这个特征点具有明显的局部差异性。在工事中,I表示像素,如果是 彩色图像就是RGB,灰色图像就是灰度。(u,v)表示方向。然后对上式进行一阶泰勒展开。

    Harris矩阵H的特征值分析:
    SVD(H)=U \sum V,( \lambda _1, \lambda _2 ), \lambda _1 > \lambda_2
    矩阵特征值反应了两个垂直方向的变化情况,一个事变化最快的方向,一个事变化最慢的方向




    Harris角点检测一般用于快速检测,比如视频里面的跟踪

    基于LoG的特征检测子

    动机:Harris角点检测不具有尺度不变性
    LoG算子:Lindeberg(1993)提出Laplacian of Gaussian
    (LoG)函数的极值点对应着特征点
    Lindeberg(1993)提出Laplacian of Gaussian
    (LoG)函数的极值点对应着特征点
    尺度空间:
    对于一幅图像,用不同大小的滤波核进行滤波,一般用高斯滤波,得到一系列图像,这些图像就称之为尺度空间。然后把这些图像摞起来
    L(x,y,\sigma_D) = I(x,y)*G(x,y,\sigma_D),\sigma_D \in\{ \sigma_0,k\sigma_0,k^2\sigma_0,...\}



    尺度归一化LoG算子:
    • 不同尺度下的LoG响应值不具有可比性
    • 构建尺度空间,同时在位置空间和尺度空间寻找归一化LoG极值(极大值/极小值)点作为特征点

    LoG特征检测算法流程


    LoG特征检测效果好,但是计算量比较大。
    工程中也很少用。为了更好地利用LoG的性质,提出了一种近似的算法:基于DoG的特征检测子

    LoG可以由DoG近似:
    Lowe(2004)提出LoG近似等价于相邻尺度的高斯差分(DoG)
    高斯空间:
    L(x, y, \sigma) =G(x, y,\sigma)
    高斯差分(DoG)
    D(x, y, \sigma) =(G(x, y,k\sigma)-G(x, y,k\sigma))*I(x,y) \\ =L(x, y, k\sigma) - L(x, y, \sigma)

    尺度空间构建

    上图为3个Octive,每个octive的尺寸都会减小一半。
    上图每个Octive中,左侧为高斯空间,相邻高斯空间做差得到DoG空间
    特征点检测为在三维空间上做一个极值的比较,(三维空间为图像的二维空间+尺度的空间),必须需要两个方向有极值。在高斯差分,边界上的两层是无效的,只有中间的红色区域是有效的。
    在Octive,
    if 每阶有效差分数 S =3,则高斯空间层数为N = S+3

    特征点位置确定:
    在位置和尺度空间组成的三维空间中寻找极值点



    亚像素特征点位置确定:



    除去边缘点:
    DoG在边缘处值较大,需要避免检测到边缘点

    \frac{trace(H)}{Det(H)}= \frac{\lambda_1^2+\lambda_2^2}{\lambda_1\lambda_2} =<\frac{{(r+1)}^2}{r}, r =10

    计算主方向

    通过统计梯度直方图的方法确定主方向,使算法具有旋转不变性




    旋转 不变性、 尺度 不变性 、亮度 变化 不变性 ,对视角变化、 仿射 变换有一定程度的稳性
    SIFT特征点非常稳定和鲁棒,但是计算量很大,对于要求稳定的图像建模可以采用。
    针对实时要求比较高的应用提出了快速特征检测。

    快速特征检测

    FAST特征点(Feature from Accelerated Segment Test)
    通过检测局部像素灰度变化来确认特征点的位置




    速度快,SIFT的一百倍,不具有尺度和旋转不变性

    Oriented FAST(ORB)
    • 为了获取尺度不变性
      构建图像金字塔,在金字塔每一层上上检测关键点。
    • 获取旋转不变性
      通过灰度质心法(Intensity Centroid)确定图像主方向

    特征描述子(Feature Descriptor)

    基于直方图的描述子
    基于不变性的描述子
    二进制描述子

    • 每个特征点独特的身份认证
    • 同一空间点在不同视角的特征点具有高度相似的描述子
    • 不同特征点的描述子差异性尽量大
    • 通常描述子是一个具有固定长度的向量(可以理解为一个特征)
    特征支持区域:

    以特征点为中心取一块区域,有圆形或者矩形,称之为特征支持区域
    主方向:进行旋转并重新插值
    特征尺度:影响支持区域的大小


    基于直方图的描述子

    用于微小运动的描述子
    以特征点为中心的矩形区域内所有
    像素的灰度值作为描述子,拉成一个向量,计算向量间距离
    E_{SSD} = \sum_{i=1}^{N}\sum_{j=1}^{N}{|| I_1(x,y)-I_2(x,y) ||}^2
    适用于微小变化的图像
    对图像存在明显的旋转、尺度、光照和透视变换时不稳定

    SIFT描述子--旋转主方向

    根据主方向对支持区域进行旋转,并通过双线性插值重构
    I = \frac{I-u}{s} 减去均值再除以方差
    图像归一化处理,去除光照变化


    过程:
    1.统计局部梯度信息
    将区域划分成44的block
    每个 block 内统计梯度方向 的直方图 (高斯加权梯度 作为系数 )
    高斯加权保证距离特征点近的像素作用更大,梯度直方图计算8个方向
    每个block,统计8个方向的直方图,将16个block拉成一列,那就是16
    8 = 128
    SIFT描述子——生成描述子

    SIFT描述子——归一化处理
    • 门限处理—直方图每个方向的梯度幅值不超过0.2
    • 描述子长度归一化
      归一化处理提升了特征点光度变化的不变性
      SIFT描述子变种:PCA-SIFT/SURF
    二进制描述子

    描述子形式:
    描述向量由N个0或者1组成
    N= 128,256,512
    生成速度快,匹配效率高,不具有旋转不变性


    为了使其具有旋转不变性
    N对采样点

    特征匹配

    • 距离度量
    • 匹配策略
    • 高效匹配
    • 特征匹配验证
      问题描述:
      计算两幅图中特征描述子的匹配关系
    距离度量

    匹配策略

    最近邻搜索
    b^*=arg\ min_{b\in B}D(a,b),D(a,b^*) < \beta
    最近邻距离比(lowe-ratio)
    \frac{D(a,b^*)}{D(a,b^{**})} < \alpha
    最近邻距离和次近邻距离比小于一定值

    高效匹配

    快速最近邻搜索
    哈希表
    多维Kd-tree

    特征匹配

    BFM(Bruce Force Mather)匹配ORB的结果


    选择最好的 50 个匹配结果进行显示

    错误的匹配可以通过估计相机模型方式去除
    估计 Homography Homography 矩阵之前最好的 50 对匹配对

    相关文章

      网友评论

        本文标题:1.特征点检测与匹配

        本文链接:https://www.haomeiwen.com/subject/mwtikqtx.html