【ipaper】Visual Odometry 和 Visual SLAM概述:第三部分

简介: 【ipaper】 An Overview to Visual Odometry and Visual SLAM: Applications to Mobile Robotics 第三部分Related Work(相关工作)Visual SLAM正如我们在介绍部分中所描述的那样,SLAM是机器人在未知环境中localize并且同步构建其周围环境的一种方式。

【ipaper】 An Overview to Visual Odometry and Visual SLAM: Applications to Mobile Robotics 第三部分

Related Work(相关工作)

Visual SLAM

正如我们在介绍部分中所描述的那样,SLAM是机器人在未知环境中localize并且同步构建其周围环境的一种方式。SLAM 在过去的几十年中得到了广泛的研究[48, 66, 91],有了许多使用不同传感器的不同的解决方案,包括声纳传感器[71],红外传感器[1]和激光扫描仪(LASER scanners)[26]。最近人们对基于视觉的SLAM (V_SLAM)的兴趣增加,因为与激光扫描仪相比,低成本的视频传感器提供了更加丰富的视觉信息。然而视觉SLAM需要更高的计算成本和更复杂的算法来处理图像和提取必要的信息。随着CPU 和GPU技术的最新发展,实时实现所需要的复杂算法不再是不可克服的问题。实际上,各种使用不同的视觉传感器的解决方案例如monocular[28],stereo[78],omni-directional[70], time of flight (TOF)[103],和RGBD cameras[56]已经被提出。

Davison等人提出了一种开创性的V-SLAM解决方案[28]。他们使用单个单目相机,通过使用Shi和Tomasi算子[103]提取环境的稀疏特征并使用归一化的平方差相关性匹配(normalized sum-of-squared difference correlation)新特征来构建地图。单目镜相机的使用意味着无法获得结构的绝对比例,并且必须校准相机。此外,由于扩展卡尔曼滤波器(EKF)用于状态估计,因此仅提取和跟踪有限数量的特征以降低EKF的计算成本。
Se等人[56]提出了一种基于视觉的移动机器人定位和映射方法,使用SIFT [77]进行特征提取。

一种将摄像头向上指向天花板来研究V_SLAM的特定情况,称为cv_SLAM(Ceiling Vision SLAM)。与正面视图V-SLAM相比,cv-SLAM的优点是:与移动的障碍物和遮挡物的相互作用较少,对特征的稳定观察以及天花板通常具有高度纹理和丰富的视觉信息。Jeong等.[63,64]是第一个提出cv-SLAM方法的人,他们使用了一个向上指向天花板的单目摄像机。使用Harris角点探测器[53]提取天花板上的角点特征。然后使用界标定向估计技术来使用NCC方法对准和匹配当前观察到的和先前存储的地标。其他研究人员[23,24,58,59]也采用了不同的特征提取和数据关联技术(DA),对v-SLAM进行了各种研究。

最近,人们现在越来越关注环境的密集3D重建,而不是稀疏的2D和3DSLAM问题。Newcombe和Davison [85]成功地使用单个单目相机实时获得了密集的环境3D模型。然而,他们的方法仅限于小而高度纹理化的环境。Henry等人[56],是第一个实现采用RGB-D相机(即Microsoft Kinect)的RGB-D建图方法。他们利用这些信息获得了密集的3D重建环境并估计了6自由度(6DOF)相机姿态。他们从每个帧中提取特征来自加速段测试(FAST)[96]特征,使用Calonder描述符[12]将它们与前一帧中的特征进行匹配,并执行RANSAC对齐步骤,获取特征匹配的子集(内点)这对应于一致的刚性变换[56]。该变换用作迭代最近点(ICP)[12]算法的初始猜测,该算法改进了RANSAC获得的变换。应用稀疏捆绑调整(SBA)[76]以获得全局一致的建图,并且通过将当前帧与先前收集的关键帧匹配来回环检测loop closure。同样,Endres等人。 [41]提出了一种RGB-D-SLAM方法,它使用SIFT,SURF [10]和ORB [97]特征描述符代替FAST特征。他们还使用pose-graph optimization优化技术代替Bundle Adjustment捆绑调整进行全局优化。Du等人[34]实现了RGB-D SLAM系统,该系统结合了在线用户交互和反馈,允许系统从可能由快速摄像机移动引起的失败中恢复。Audras等[5]提出了一种基于外观的RGB-D SLAM,它避免了易出错的特征提取和特征匹配步骤。

Newcombe等[61,84]提出了使用RGB-D相机的仅深度(depth only)的建图算法。他们开发了一种ICP变体方法,将当前测量值与完整增长的表面模型相匹配,而不是匹配连续帧。他们还分割异常值(例如移动人类)并将场景划分为前景和背景。这允许用户与场景交互而不会降低估计的变换的准确性,并且证明了他们的方法在许多增强现实应用中的可用性。他们的方法的主要缺点是它仅限于小型环境。Whelan等人,[113]概述了这个问题,并提出了对KinectFusion的扩展,使该方法能够mapping更大的环境。这是通过允许由KinectFusion算法映射的环境区域动态变化来实现的。

Bachrach等,[8]提出了一种用于无人驾驶飞行器的VO和SLAM系统(UAV)使用RGB-D相机,其依赖于从不同金字塔等级的连续预处理图像中提取FAST特征,随后是初始旋转估计,其限制了用于特征匹配的搜索窗口的大小。通过找到描述符向量之间的相互最小的平方差(SSD)得分(80字节描述符,包括特征周围的9×9像素块的亮度值并省略右下像素)来执行匹配。还应用贪婪算法来细化匹配并获得内部集合,然后使用这些集合来估计帧之间的运动。为了减少运动估计中的漂移,他们建议将当前帧与所选择的关键帧匹配,而不是匹配连续的帧。Hu 等人,[57]概述了由于RGB-D相机的限制而在大房间中没有足够深度信息的问题。他们提出了一种切换算法,该算法在类似于Henry等人的[55]方法的RGB-D映射方法和基于深度信息的可用性的8点RANSAC单眼SLAM之间进行启发式选择。使用3D迭代稀疏局部子图连接滤波器(I-SLSJF)合并两个映射。Yousif等人。概述了包含有限纹理的映射环境的问题,因此,他们提出了一种方法[116,117],通过使用基于排序顺序统计的抽样方案仅使用深度信息进行注册来解决此问题,该抽样方案能够提取有用的注册点通过直接分析每个点的邻域和它们的法向量的方向。Kerl等人,[69]最近提出了一种使用光度和几何信息进行配准的方法。在他们的实现中,他们使用所有点进行注册并优化强度和深度误差。Keller等人近期提出的另一种方法。 [68]允许通过自动检测场景中的动态变化来动态环境的3D重建。Dryanovski等。 [33]提出了一种快速视觉测距和测绘方法,该方法从RGB-D图像中提取特征并使其与持久模型对齐,而不是帧到帧配准技术。通过这样做,他们避免使用密集数据,特征描述符向量,RANSAC对齐或基于关键帧的束调整(BA)。因此,他们能够使用单个线程并且无需GPU的帮助就能达到60Hz的平均性能。

在前面,我们讨论了解决V-SLAM的各种方法问题。由于可用计算资源的限制,早期方法通常集中于稀疏2D和3D SLAM方法。最近,由于技术进步和有效优化方法的可用性,人们的兴趣已转向密集的环境3D重建。在下一节中,我们将讨论localization问题,并提出基于VO方法的不同localization技术。

参考文献

后续在一并总结吧。

不足之处,敬请斧正; 若你觉得文章还不错,请关注微信公众号“SLAM 技术交流”继续支持我们,笔芯:D。

相关推荐

【ipaper】 Visual Odometry 和Visual SLAM概述: 第二部分
【ipaper】 Visual Odometry 和Visual SLAM概述: 第一部分

目录
相关文章
|
6月前
|
定位技术 计算机视觉 C++
C++计算机视觉库OpenCV在Visual Studio 2022的配置方法
C++计算机视觉库OpenCV在Visual Studio 2022的配置方法
220 1
|
存储 C++ Windows
Visual Studio配置C++矩阵库Armadillo
本文介绍在Visual Studio软件中配置C++环境下线性代数运算库Armadillo的方法~
348 1
Visual Studio配置C++矩阵库Armadillo
Visual Studio(VS2017/VS2019) C++ 配置 CPLEX 教程
Visual Studio(VS2017/VS2019) C++ 配置 CPLEX 教程
Visual Studio(VS2017/VS2019) C++ 配置 CPLEX 教程
|
C++ 计算机视觉
图像处理ITK与Visual Studio2017的配置教程!
VS2017配置ITK 本次教程中的环境配置如下: Visual Studio2017,cmake 3.9.4,ITK 4.13;
艾伟_转载:Visual Studio DSL 入门 2
相信如果看过一上篇你已经对vs.net dsl有了一定的了解,接下来我们就来开始我们的这个系列的入门,Vs.net Dsl在国内可能使用的人少之又少,不过希望这个系列能够使看到的人能够对dsl有一定的了解,使之能够成为产品方案选型时的一个参考,能够对阅读的人有所帮助.
897 0
艾伟_转载:Visual Studio DSL 入门 1
什么是特定领域开发和DSL      特定领域开发是用来解决重复发生的问题的方法,针对每次发生的问题,通过进行总结和分析,他们之间相同的方面可以一次性的解决.而经常变化的方面,可以采用一种特殊的语言表达.针对这个特殊语言,我们可以建立模型或者表达式,然后插入到固定部分.       对于我们软件行业...
1035 0
|
算法 机器人 定位技术
【ipaper】Visual Odometry 和 Visual SLAM概述:第六部分
【ipaper】 Mapping | An Overview to Visual Odometry and Visual SLAM: Applications to Mobile Robotics 第六部分 Mapping 在大多数现实世界的机器人应用中,没有用于移动机器人定位和导航的地图。
1520 0
|
算法 定位技术
【ipaper】Visual Odometry 和 Visual SLAM概述:第五部分
【ipaper】 An Overview to Visual Odometry and Visual SLAM: Applications to Mobile Robotics 第五部分 Localization Stereo Vision Versus Monocular Vision Stereo Visual Odometry 在双目视觉中,在单个时间步长(single time-step)中通过三角测量重建3D信息,同时观察在空间上被已知基线距离分开的左右图像的特征。
1445 0
|
定位技术
【ipaper】Visual Odometry 和 Visual SLAM概述:第四部分
Localization Fig2 Fig2 一个单目VO系统的例子,通过匹配2D图像中的对应点来计算在空间中观测相同3D点的相机之间的相对姿态Tnm。
1567 0
|
机器人 定位技术
【ipaper】 Visual Odometry 和Visual SLAM概述: 第二部分
Related Work(相关工作) Visual Odometry (视觉里程计) VO 的定义是通过环境中的一系列图像来估计机器人的运动(相对于参考坐标系的平移和旋转)的过程。
1403 0