同步定位与建图技术一直以来都是无人艇导航的一个热门研究方向,通过使用相机来获得周围环境信息以及定位自身位置。本文罗列了近年来出色的视觉SLAM算法和视觉惯导SLAM算法,系统的梳理了算法的优势与不足,同时归纳了SLAM算法的最新研究进展。最后,探讨了SLAM技术的发展趋势。 Simultaneous localization and mapping technology has been a popular research direction for un-manned boat navigation, which uses cameras to obtain information about the surrounding envi-ronment and locate its own position. This paper lists the outstanding visual SLAM algorithms and visual inertial guidance SLAM algorithms in recent years, and systematically composes the ad-vantages and shortcomings of the algorithm, and summarises the latest research progress of SLAM algorithms. Finally, the development trend of SLAM technology is discussed.
同步定位与建图技术一直以来都是无人艇导航的一个热门研究方向,通过使用相机来获得周围环境信息以及定位自身位置。本文罗列了近年来出色的视觉SLAM算法和视觉惯导SLAM算法,系统的梳理了算法的优势与不足,同时归纳了SLAM算法的最新研究进展。最后,探讨了SLAM技术的发展趋势。
水面无人艇,视觉SLAM算法,视觉惯性SLAM算法
Haishen Yu, Huixia Zhang*, Yadong Tao
School of Ocean Engineering, Lianyungang Jiangsu
Received: May 29th, 2022; accepted: Jun. 21st, 2022; published: Jun. 30th, 2022
Simultaneous localization and mapping technology has been a popular research direction for unmanned boat navigation, which uses cameras to obtain information about the surrounding environment and locate its own position. This paper lists the outstanding visual SLAM algorithms and visual inertial guidance SLAM algorithms in recent years, and systematically composes the advantages and shortcomings of the algorithm, and summarises the latest research progress of SLAM algorithms. Finally, the development trend of SLAM technology is discussed.
Keywords:Surface Unmanned Vehicle, Visual SLAM, Visual Inertial SLAM
Copyright © 2022 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
随着人工智能的快速发展,在海洋科学等相关学科的研究中水面无人艇(Unmanned Surface Vehicle, USV)发挥着越来越重要的作用。无人艇不仅拥有自主运动控制和对复杂环境适应性强,而且可以进行目标识别和跟踪。在复杂的水面环境中,无人艇安全运行的关键是能否进行准确的定位与导航。解决这一问题的关键就是无人艇同步定位与建图(Simultaneous Localization and Mapping, SLAM)技术。视觉SLAM技术为无人艇在未知的水面环境下进行自主导航和环境探测提供了可行性方案 [
经典视觉SLAM的框架如图1所示,由传感器数据、视觉里程计(Visual Odometry, VO)、后端优化(Optimization)、回环检测(Loop Closing)以及建图(Mapping)构成。
图1. 经典视觉SLAM流程
1) 传感器数据
视觉SLAM中用于获取数据使用的相机主要分为:单目、双目、深度相机。如表1所示。
相机 | 优点 | 缺点 |
---|---|---|
单目 | 成本低,不受环境影响 | 尺度不确定 |
双目 | 通过左右视差得到深度信息 | 配置复杂 |
深度 | 可以直接获得深度信息 | 受光线影响大 |
表1. 不同视觉传感器特点分析
2) 视觉里程计
在视觉SLAM中,前端是通过图像之间的位姿变换获得相机运动的过程。VO的实现方法,按是否需要提取特征分为直接法前端和特征点法前端。
3) 后端优化
后端主要是将前端传输过来的结果进行优化,利用扩展的卡尔曼滤波(extended Kalman filter,EKF)、粒子滤波(PF)等滤波理论或者优化理论进行树或图的优化,最终获得较优的位姿估算。
4) 回环检测
回环检测是指根据传感器信息判断机器人在之前有没有访问过某个地方,用于校正VO漂移产生的偏差,从而获得信息一致的地图。
5) 建图
对于建图来说,没有固定的算法和形式。侧重于定位时,主要使用稀疏的路标地图;侧重于真实场景建模时,需要对3D地图进一步网格化。
G. Klein等在2007年提出了并行跟踪与建图技术(Parallel Tracking and Mapping, PTAM) [
由于跟踪和建图分为两个独立的任务,并在两个独立的线程上并行运行,这样能够在不影响相机跟踪实时性的情况下,提高相机跟踪算法的鲁棒性和精确性,同时减少系统处理每帧图像的时间。但主要为了小场景设计的,导致场景局限;在相机快速运动时跟踪容易丢失。
针对使用特征点法的机器人定位容易丢失等问题,刘贵涛等提出了一种基于多个双目相机紧耦合的视觉SLAM算法 [
针对算法的实时性问题,汪泽睿等在回环检测的过程中,先通过计算图像之间相同单词个数来去除掉与新图像差异度较大的历史图像,然后再进行图像查找的后续流程,提高回环测算法的实时性 [
2014年,Engel J等提出的LSD-SLAM (large-scale direct SLAM) [
针对相机快速运动时跟踪容易丢失问题,李攀伟等提出了一种结合特征关键子和直接灰度匹配方法前端视觉里程计信息融合方法,使在快速运动的情况下跟踪目标不容易丢失,以取得稳定的单目视觉定位效果 [
Mur-Artal等提出了ORB-SLAM算法 [
该算法具有相对完善的的功能和框架,可用于室内外场景以及大小不同的场景,有着优越的鲁棒性。但是,ORB-SLAM使用了大量的特征点,计算这些特征点需要花费大量时间;另外构建的地图为稀疏地图,没有办法满足路径规划的需求。
针对ORBSLAM算法特征点问题,陶卓等采用FAST算法对特征点进行检测,同时利用点特征提取算子去除特征点中的伪角点,提高了特征点的质量 [
纯视觉的SLAM在自身及周围环境发生剧烈变化的时候会受到较大的影响,而惯性导航测量单元(IMU, Inertial Measurement Unit)可以实时记录来自加速度计和陀螺仪的信息,在视觉信息失真的时候,可以通过短时积分以此来提供相对准确的自身运动信息。在一定程度上,相机和IMU这两个传感器能够互补,相机数据可以有效修正IMU的漂移,而IMU可以降低动态环境对相机的负面影响,视觉信息和惯导信息融合使用可以取得较为准确的定位结果。
2007年Mourikis等人提出以多状态约束卡尔曼滤波的SLAM算法(MSCKF, Multi-state Constraint Kalman Filter) [
针对MSCKF的初始化阶段的缺陷,赵忠堂等采用Sig-ma 滤波器和三焦点张量约束快速完成系统初始化,所生成的状态向量与MSCKF一致,从而实现了系统初始化阶段和后续导航之间的无缝衔接,提高了系统状态估计的鲁棒性和精度 [
针对传统MSCKF 算法在光线不好的情况下造成滤波器估计准确度和稳定性降低,王磊等融合了交互式多模型(IMM)估计和多状态约束卡尔曼滤波(MSCKF)算法,提出了一种IMM-MSCKF算法,算法以MSCKF为模型匹配子滤波器,融合各子滤波器的输入、输出,大大提高了系统的鲁棒性和精确性 [
2015年,Stefan等人提出了基于非线性优化的后端优化与图像中关键帧使用的视觉惯导SLAM算法(OKVIS, Open Keyframe-Based Visual-Inertial SLAM) [
针对视觉惯性里程计在处理图像信息的时候,特征点正确的匹配率较低问题,刘铠铭等通过结合图像的梯度信息提高实际纹理不同区域的描述子间的差异,并利用特征点的像素坐标信息,对相邻时刻采集到的图像间的待匹配特征点对进行筛选,提高了特征点正确匹配率 [
黄坤等对OKVIS算法进行改进,提出一种MyVIO跟踪注册算法 [
香港科技大学Tong Qin等学者提出了一种基于优化的紧耦合视觉惯导SLAM算法(Monocular Visual-Inertial Systems, VINS-MONO) [
针对VINS-MONO的视觉导航系统初始化的性能不太理想,徐晓苏等提出了一种基于IMU预积分封闭解的初始化算法,该方法利用多约束的卡尔曼滤波器融合了IMU数据和相机数据,提高了原来系统的定位准确度 [
针对VINS-MONO在水下环境中回环检测效果不太理想,进而导致定位精度较差。赵恒飞等提出了一种基于几何约束和ORB字典的水下回环识别算法。将原来VINS-MONO使用的FAST角点替换成ORB特征点,相对于FAST角点,ORB特征点在水下环境中能提供大量正确的回环候选帧,提高回环检测效果以及定位精度 [
应用视觉SLAM算法在水面环境中对无人船进行实时定位和建图,纯视觉的MONOSLAM、PTAM和ORB-SLAM/ORB-SLAM算法仅使用高清相机来获取周围环境信息对无人船进行位姿估算,但高清相机获取的图片信息中包括水面的动态区域部分,会使图片中检测到的有效特征点不足的情况,导致无法准确估计位姿信息,因此纯视觉SLAM 应用在水面环境下略有不足。相比于纯视觉SLAM,视觉惯导信息融合的MSCKF、OKVIS和VINS-MONO算法能够弥补纯视觉SLAM算法的不足。MSCKF算法融合双目视觉和惯导信息进行位姿估算,但在水面环境中要对图像进行再处理,算法整体计算量太大,实时性表现不好。OKVIS算法没有闭环检测模块,在大尺度环境下不能位姿校正,因此不适合大尺度水面环境。VINS-MONO算法具备相对完善的系统架构,有较好的定位精度,大尺度水面环境下有较稳定的表现。
综合近年来SLAM算法的研究成果,如表2所示,无人艇在SLAM领域正不断向鲁棒性、实时性和准确性方向发展,未来可从以下方面展开探索与研究。
视觉SLAM | 类型 | 算法内容 | 传感器 |
---|---|---|---|
PTAM | 优化 | 后端首次使用非线性优化, 并行线程以及关键帧机制 | 单目 |
LSD-SLAM | 优化 | 将直接法用于半稠密的单目SLAM中, 实现半稠密场景的重建 | 单目 |
ORB-SLAM/ORB-SLAM2 | 优化 | ORB特征,增加回环检测,三线程 | 单目、双目、深度 |
MSCKF | 紧耦合和EKF | 首次使用IMU和视觉融合, 后端滑动窗口法优化 | 双目 + IMU |
OKVIS | 紧耦合和优化 | 直接优化处理,滑动窗口优化 | 单目 + IMU |
VINS-MONO | 紧耦合和优化 | IMU预积分,滑动窗口优化 | 单目 + IMU |
表2. 视觉SLAM算法对比表
1) 考虑多种传感器融合,如将激光雷达、GPS、相机以及 IMU 等多传感器进行融合,实现对环境的感知。
2) 深度学习在传统的图像领域表现良好,将slam和深度学习融合来完成一些更复杂的任务。
2022年研究生科研与实践创新计划项目支持
于海深,张会霞,陶亚东. 无人艇同步定位与建图技术探究Exploration of Simultaneous Localization and Mapping Technology for Surface Unmanned Vehicles[J]. 应用数学进展, 2022, 11(06): 4058-4064. https://doi.org/10.12677/AAM.2022.116434
https://doi.org/10.1109/URAI.2013.6677329
https://doi.org/10.1109/ISMAR.2007.4538852
https://doi.org/10.1007/978-3-319-10605-2_54
https://doi.org/10.1109/TRO.2015.2463671
https://doi.org/10.1109/TRO.2017.2705103
https://doi.org/10.1109/ROBOT.2007.364024
https://doi.org/10.1177/0278364913481251
https://doi.org/10.1177/0278364914554813
https://doi.org/10.1109/TRO.2018.2853729
https://doi.org/10.1109/IROS.2018.8593603