视觉SLAM十四讲第七讲

第七章 视觉里程计 1

主要目标

  1. 理解图像特征点的意义, 并掌握在单幅图像中提取出特征点及多幅图像中匹配特征点的方法。
  2. 理解对极几何的原理,利用对极几何的约束,恢复出图像之间的摄像机的三维运动。
  3. 理解 PNP 问题,以及利用已知三维结构与图像的对应关系求解摄像机的三维运动。
  4. 理解 ICP 问题,以及利用点云的匹配关系求解摄像机的三维运动。
  5. 理解如何通过三角化获得二维图像上对应点的三维结构。
    一、特征点法
    VO 的算法主要分为两个大类:特征点法和直接法
    1)特征点
    VO 的核心问题是如何根据图像来估计相机运动
    首先,从图像中选取比较有代表性的点。这些点在相机视角发生少量变化后会保持不变,于是我们能在各个图像中找到相同的点。然后,在这些点的基础上,讨论相机位姿估计问题,以及这些点的定位问题。在经典 SLAM 模型中,我们称这些点为路标(Landmark)。而在视觉 SLAM 中,路标则是指图像特征(Feature)。
    特征点是图像里一些特别的地方。我们可以把图像中的角点、边缘和区块都当成图像中有代表性的地方。
    为此,计算机视觉领域的研究者们在长年的研究中设计了许多更加稳定的局部图像特征,如著名的 SIFT、SURF、ORB,等等。相比于朴素的角点,这些人工设计的特征点能够拥有如下的性质:
    在这里插入图片描述
    特征点由
    关键点
    (Key-point)和描述子(Descriptor)两部分组成。
    关键点是指该特征点在图像里的位置,有些特征点还具有朝向、大小等信息。描述子通常是一个向量,按照某种人为设计的方式,描述了该关键点周围像素的信息。描述子是按照“外观相似的特征应该有相似的描述子”的原则设计的。因此,只要两个特征点的描述子在向量空间上的距离相近,就可以认为它们是同样的特征点。
    2)ORB 特征
    ORB 特征亦由关键点描述子两部分组成。它的关键点称为“Oriented FAST”,是一种改进的 FAST 角点。它的描述子称为 BRIEF(Binary Robust Independent Elementary Feature)。因此,提取 ORB 特征分为如下两个步骤:
    1、 FAST 角点提取:找出图像中的“角点”。相较于原版的 FAST,ORB 中计算了特征点的主方向,为后续的 BRIEF 描述子增加了旋转不变特性。
    2、 BRIEF 描述子:对前一步提取出特征点的周围图像区域进行描述。ORB 对 BRIEF 进行了一些改进,主要是指在 BRIEF 中使用了先前计算的方向信息。
    FAST 关键点
    FAST 是一种角点,主要检测局部像素灰度变化明显的地方,以速度快著称。它的思想是:如果一个像素与邻域的像素差别较大(过亮或过暗),那么它更可能是角点。相比于其他角点检测算法,FAST 只需比较像素亮度的大小,十分快捷。它的检测过程如下:
    1.、在图像中选取像素 p,假设它的亮度为 Ip。
    2、 设置一个阈值 T(比如,Ip 的 20%)。
    3、 以像素 p 为中心,选取半径为 3 的圆上的 16 个像素点。
    4.、假如选取的圆上有连续的 N 个点的亮度大于 Ip + T 或小于 Ip-T,那么像素 p 可以被认为是特征点(N 通常取 12,即为 FAST-12。其他常用的 N 取值为 9 和 11,它们分别被称为FAST-9 和 FAST-11)。
    5.、循环以上四步,对每一个像素执行相同的操作。
    BRIEF 描述子
    BRIEF 是一种二进制描述子,其描述向量由许多个 0 和 1 组成,这里的 0 和 1 编码了关键点附近两个随机像素(比如 p 和 q)的大小关系:如果 p 比 q 大,则取 1,反之就取 0。如果我们取了 128个这样的 p, q,最后就得到 128 维由 0、1 组成的向量。
    3)特征匹配
    特征匹配是视觉 SLAM 中极为关键的一步,特征匹配解决了 SLAM中的
    数据关联问题
    (data association),即确定当前看到的路标与之前看到的路标之间的对应关系。
    最简单的特征匹配方法就是暴力匹配(Brute Force Matcher)。即对每一个特征点 xmt 与所有的 xnt+1 测量描述子的距离,然后排序,取最近的一个作为匹配点。描述子距离表示了两个特征之间的相似程度,不过在实际运用中还可以取不同的距离度量范数。对于浮点类型的描述子,使用欧氏距离进行度量即可。而对于二进制的描述子(比如BRIEF 这样的),我们往往使用汉明距离(Hamming distance)作为度量——两个二进制串之间的汉明距离,指的是其不同位数的个数。
    而特征点过多时,暴力匹配法的运算量将变得很大。此时快速近似最近邻(FLANN)算法更加适合于匹配点数量极多的情况。
    4)计算相机运动
    1.、当相机为单目时,我们只知道 2D 的像素坐标,因而问题是根据两组 2D 点估计运动。该问题用对极几何来解决。
    2.、当相机为双目、RGB-D 时,或者通过某种方法得到了距离信息,那么问题就是根据两组 3D点估计运动。该问题通常用 ICP 来解决。
    3、 如果一组为 3D,一组为 2D,即,我们得到了一些 3D 点和它们在相机的投影位置,也能估计相机的运动。该问题通过 PnP 求解。
    二、特征点法各种算法
    1)对极约束
    根据2D-2D特征点对求解R,t
    2)三角测量
    根据2D-2D特征点求深度
    3)PnP
    根据3D点云和匹配的2D图像求R,t;
    4)ICP
    求两个点云之间的R,t。
    它们之间的关系是:
    1)特征点法找到2D图像的匹配点对,用于对极几何和pnp
    2)对极几何求出2D-2D的位姿。
    3)根据对极几何求出的位姿,三角测量求出2D-2D的深度。
    4)根据三角测量求出的深度,可以初始化单目SLAM,得到三维点信息;或用RGBD相机获得三维信息。知道3D信息,对于下一张2D图像,可根据特征点法找到的匹配点对,使用PNP,求出位姿信息和深度信息。
    5)根据pnp求出的深度信息;或直接用RGBD得到的两个点云,可以用ICP,求出两个点云之间的位姿变换。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值