三维重建系统 | L1特征点检测和匹配

156 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第1天,点击查看活动详情

一、特征检测子

特征点要求:

  • 特征点应该呈现出非特征点的明显特征
  • 对应同一三维点的特征点应该在不同视角中被重复检测到

(一)Harris角点检测

  1. 原理:特征点在图像梯度和各像素响应值上存在局部差异性
  2. 图像梯度:表示横纵坐标上像素的变化程度 在这里插入图片描述
  3. Harris矩阵:矩阵的特征值反映了相互垂直的方向上的变化情况 在这里插入图片描述
  • 入1 ,入2趋近于0,兴趣点位于光滑区域
  • 入1>0,入2趋近于0,兴趣点位于边缘区域
  • 入1,入2大于0,兴趣点位于角点区域
  1. 计算每个像素位置的Harris角点响应值 在这里插入图片描述

  2. 选取Harris角点响应值大于给定阈值且局部最大的位置作为特征点

  3. 进行非极大值抑制,减少重复检测

(二)LoG特征检测子

  1. 产生原因:Harris角点检测不具有尺度不变性,于是利用尺度归一化LoG算子
  2. LoG函数值计算: 在这里插入图片描述 在这里插入图片描述
  3. 同时在位置空间和尺度空间寻找归一化LoG极值(极大/极小)作为特征点
  4. 进行非极大值抑制,减少重复检测

(三)DoG的特征检测子(SIFT)

1.这个就比较全能了:旋转不变性,尺度不变性,亮度变化不变性,对视角变换,放射变换有一定程度的稳定性 2.第一步:计算图像尺度空间: 在这里插入图片描述 在这里插入图片描述 3. 第二步:特征点确定:在位置和尺度空间组成的三维空间中寻找极值点 在这里插入图片描述 4.第三步:DoG在边缘处值较大,需要除去检测到的边缘点 在这里插入图片描述 5.第四步:通过统计梯度直方图的方法确定主方向,使算法具有旋转不变性 在这里插入图片描述