单目视觉移动机器人导航算法研究现状及趋势

2021-03-09 16:40方东君李维刚
计算机工程与应用 2021年5期
关键词:单目移动机器人机器人

蒋 林,方东君,雷 斌,李维刚

1.武汉科技大学 冶金装备及其控制教育部重点实验室,武汉430081

2.武汉科技大学 机器人与智能系统研究院,武汉430081

移动机器人在人们生活中的应用愈加广泛,如家政、救灾、安防等方面。为了使机器人能按照人的需求完成任务,需要机器人能拥有自主判断周遭环境并进行路径规划的能力。目前,移动导航机器人常用的传感器按照安装位置可以分为内部与外部传感器[1]:内部传感器例如激光、雷达、视觉、IMU等,从环境中提取特征点建立模拟环境,间接性为机器人提供环境信息,易受噪声影响;外部传感器有GPS、导轨、标志物等,通过预先标定,直接为机器人提供环境信息,受噪声影响较小。由于GPS在室内失效、标志物繁琐且各个室内环境布局各不相同,不能布置导轨等因素导致外部传感器已逐渐不能满足多样化的环境应用,而激光、视觉等内部传感器近年来由于其可跟随性和较好的鲁棒性,在机器人导航领域的研究中占据了主导市场。

激光雷达拥有精确、快速、计算量小的特点,在机器人导航中可以较为方便地获取环境深度信息,但存在价格昂贵、体积大等问题[2]。视觉传感器便宜、轻量、信息丰富,且拥有较好的隐蔽性,但计算量大、对环境假设性强且易受干扰[3]。一系列实验证明,视觉传感器受磁场或传感器相互间干扰影响较小,将视觉应用到机器人上是目前最为接近人类的方式使机器人感知到环境[4]。在采样速率上,由于可以使用高速的视频采集卡,所以视觉传感器的速率远高于激光雷达。从前面两者的外型、应用等方面的比较不难看出,将视觉传感器融入移动机器人导航技术对智能机器人的发展有不可估量的作用。

在视觉导航算法中,有单目、双目、RGB-D、多目相机作为主流的应用传感器。双目系统可以简便地计算出深度且距离不受限,但随着精度要求的提高,配置和计算量上负担也很大,如文献[5-6]提出的双目定位、导航系统;RGB-D相机虽然有距离限制,但可以主动获取深度信息且计算简便,如文献[7]即是利用该优势提出RGBDSLAM实现了比ORBSLAM更高的定位精度;单目相机相比于前面两者拥有成本低、距离不受限的优势,而且在机器人应用中的鲁棒性和效率上达到了不错的平衡。现阶段的单目导航算法经过学者的努力已实现目标检测、单目测距、跟踪等任务,文献[8-14]是在单目的基础上实现了导航与定位,取得了不错的效果,但仍存在尺度不确定性和初始化问题,这两个问题也是单目算法发展史上最大的障碍。此外,由于视觉传感器的使用对环境的辨识度要求比较高,在多样化的场景下使用单目视觉导航算法仍面临着不同的困难,故单目视觉导航算法目前在室内应用较多,而更复杂和不确定的室外环境则是双目或多目视觉应用居多。综上可见,对单目视觉的进一步研究攻克环境的复杂性、不确定性,于机器人导航发展而言,具有极其重要的意义。

最初的单目视觉导航算法以检测固定标识为核心,该类算法首先被应用于工业搬运(AGV),后来在海岸巡检中也得到利用[3],最常用的有canny、sobel等边缘检测算子作为算法支撑。但此类方法核心在于依靠标记进行位姿估计和路径规划,十分依赖于明显标志或边缘痕迹,从而对环境有限制,当地面没有标志或痕迹复杂时,上述方法应用效果不佳甚至失效。经过一段时间的发展,有学者从图像入手,利用单目获取的图像中包含的环境信息作为移动机器人导航的重要决策因素,在这一时期内,出现了SIFT(Scale Invariant Feature Transform)、SURF(Speeded Up Robust Features)等众多从图像中检测特征点的算子。该类算法较之前的区别在于机器人可不再依靠固定标志,能从图像中主动判断环境中的障碍信息,其最具代表性的是将特征检测和滤波结合的改进FAST算法[15],同时具备了快速和精确两大特性。

由于单目易受到光照、阴影等因素影响,单一的边缘或特征检测算子不足以达到理想的导航效果,后有学者从颜色空间模型入手,使得图像更为贴切人类的视觉规律,代表性的有文献[16]所提出的HSI颜色空间模型,将获取的图像特殊处理后再进行检测。以前者为参考,有学者开始将语义信息与单目视觉融合,提高了环境信息的利用率与导航鲁棒性。与此同时,多传感器融合凭借互补的优势成为时下的研究热点,如单目与雷达的结合全面提升了单目导航的精确性,如文献[4]为了实现检测速度、位姿估计以及导航鲁棒性的全面提升,结合单目、雷达以及语义地图三者优势提出了融合导航系统。

除对周围环境检测识别外,移动路径规划也是移动机器人导航算法中极其重要的一部分。主流的路径规划按照范围主要分为全局路径规划和局部路径规划,单目视觉移动机器人在未知环境中仅能依靠摄像机在有限的视场范围内获取有限的局部环境信息,所以在初次环境建模中,使用局部路径规划能有更好的效果,若要向指定点前进,则全局与局部结合会产生更好的效果。SLAM(Simultaneous Localization And Mapping)根据使用传感器不同分为激光SLAM和视觉SLAM,可使机器人在完全未知的环境中创建地图,同时利用地图进行自主定位和导航。SLAM最初由Davison等[17]实现并建立了应用模型,直到Klein和Murray[18]提出将跟踪和建图线程并行运行的方法,基于关键帧的SLAM凭借更高的精度有了立足之地。现在,广大学者更是从深度学习、语义、多传感器融合等诸多方面开发SLAM在导航方面的潜在应用价值。

根据实际需要以及已有的单目视觉导航算法,可以将视觉移动机器人导航的主要任务理解为:首先通过机器人自身所配的传感器对作业环境进行检测以确定位置,然后将所检测到的距离、特征点等环境信息传给控制台,再由控制台对环境进行分析决策出合适的路径规划。

为了移动机器人在作业过程中可以实现仅依靠单目摄像头便能完成测障、路径规划等任务的效果,对室内移动机器人的作业环境作以下假设[10]:

(1)移动机器人在初始位置处没有障碍物;

(2)移动机器人作业环境中整体地面平整;

(3)在移动机器人作业上空没有悬挂障碍物;

(4)移动机器人视场内所检索到的障碍物与地面的交界线在图像中可见。

并将单目视觉导航算法划分为障碍物检测、定位和导航三个部分。下面将以时间为线,对单目视觉导航算法各部分的典型算子进行分析、总结。

1 单目视觉障碍物检测算法

利用视觉传感器提取周围环境特征是视觉移动机器人导航的基础,如角点、边缘等具有特殊环境信息的特征。在Nevatia R提出的模板匹配方法首次被应用在障碍检测算法后,越来越多的人开始在数学运算和像素上着手突破。同时,以Harris角点检测算法[17]为代表的基于特征点的描述算子也展现出良好的应用效果。在此基础上,各式基于环境特征点信息的视觉算法在障碍检测领域中得到了广泛的研究。

1.1 特征检测与匹配算子

无论是在结构化环境或者是非结构化环境中,总会存在光照等影响因素,从而导致常规的特征提取与匹配算法在图像处理中的应用效果不够理想,表1总结了近年来最为常用且具代表性的特征匹配算法在检测速度、精度以及特征提取性能比对。

表1 特征匹配算子

SIFT是Lowe提出的尺度不变特征检测法,该算法的独特在于使用了欧氏距离比率判断一定范围内的特征点是否匹配,并佐以阈值进行辅助,相比普通的算法拥有更高的精度。

SURF由于其计算量小的优势,在速度上比SIFT快了一个数量级,从而更适用于实时匹配要求高的场景,而SIFT不仅提取量大,计算量也大,故速度上相比表中的几类算法均要慢许多,但SIFT是基于浮点内核计算特征点的,故在精度上的效果比SURF略高,适用于匹配精度较高的场景。

ORB(ORiented Brief)[19]是BRIEF算法的改进版。原BRIEF的优点在于其速度,其缺点是不具备旋转不变性、对噪声敏感以及不具备尺度不变性。而ORB即是为了解决BRIEF算法中前两个缺点而诞生的,稳定性更强,且由于有FAST(Features from Accelerated Segment Test)的加持,速度也得到了很大的提升,故在计算机视觉领域内,ORB算法的综合性能在各种测评里相比其他特征提取算法几乎是最好的。有学者对前三种算法进行测验,得出ORB算法比SIFT算法快100倍,比SURF算法快10倍的结论。

FAST是专门用来快速检测兴趣点的算子,只需要对比几个像素,就可以判断是否为关键点[4]。该算法检测的核心是以某个点为中心作一个圆,根据圆上的像素值判断该点是否为关键点,这样可以大幅度地提高检测效率,并且其判断的标准不同于前面的检测算法,是凭圆上所有像素的强度值是否都与圆心的强度值明显不同来进行认定的,这使得检测速度非常快,因此十分适合需要优先考虑速度的应用,如实时视觉跟踪、目标识别等。

标准RANSAC算法[20]是一种应用广泛的误匹配剔除算法,但该算法随着匹配点个数增加,算法迭代次数会迅速上升,降低了算法的计算速度。一点RANSAC[20]与普通RANSAC相比,前者采用先验信息,降低了数据集的大小,减少了RANSAC迭代次数,从而降低了计算成本,速度也有所提升。

此外,融合特征匹配法往往能展现出比单一算子更好的效果,如文献[20]分析了一点RANSAC导航算法匹配失效问题,并用SIFT算子作为辅助匹配,解决了视觉主动匹配失效问题,提升了导航精度;文献[21]将扩展卡尔曼滤波和一点RANSAC算法结合,在确保计算精度的同时,有效降低了算法迭代次数,使机器人定位与导航的时效性得到了保证。文献[15]将改进的FAST算法与基于扩展卡尔曼滤波的一点RANSC算法结合,在角点提取过程中剔除了部分边缘点和局部非极大值点,提高了角点提取的速度与质量,在保证算法鲁棒性的同时有效降低了算法迭代次数,提高了算法的实时性,而且在周围环境发生变化时也能够保持较高的匹配精度和鲁棒性。

还有诸如LBP、Harr等很多的特征检测算法,大致检测方法与上类似,只是各自的侧重点不同,对于不同的应用环境应该选用与之相应的算法。

1.2 基于HSI颜色空间的特征检测

在使用视觉对障碍物进行检测的过程中,光照条件是一个干扰极大的因素。当移动机器人处于未知环境下时,光照条件也无法预测,而目前使用最多的颜色空间模型多数是面向硬件的,与人类感知颜色的规律还是有不小的差距,其中以RGB颜色模型为代表[10]。相关实验证明,HSI颜色空间模型建立在人类对颜色感知的基础上,相比RGB更符合人类的视觉规律。将HSI模型应用在特征检测领域可以有效降低光照等因素带来的影响,从而大幅度提高检测的准确性与鲁棒性。

通过HSI颜色空间进行障碍物边缘检测有独特的优势[8]:

(1)在HSI模型中色度分量与亮度分量是分开的,图像的彩色信息和I分量无关,有利于避免光强变化对彩色图像处理带来的影响。

(2)根据转换公式可以推得H分量具备以下特征:①对RGB三分量的等比例变化具有不变性;②对RGB三分量的等量偏移具有不变性。转换公式如下:式中,H为色调,S为饱和度,I为亮度。

(3)在HSI模型中,色调H和饱和度S互相独立并与人的感知紧密相连,使得HSI模型非常适合模拟人的彩色感知视觉特性进行处理分析。

从以上关系可知,独立出来的颜色成分受光照变化影响很小,因此在室内环境中能够有效地避免由于阴影和光照变化给图像信息处理带来的影响,保证了从图像信息中检测出障碍物准确率。

文献[16]提出将HSI颜色空间模型应用于单目视觉机器人障碍物检测模块。从提取方式上看,该算法优势在于使用了非极大值抑制、阈值选取,使获取的图像边缘更加细腻且二值化后更明显,边缘像素点扫描法为精确提取边缘也作出了巨大贡献。此外,从图像效果上看,该算法将图像划分为可行驶区域和障碍区域,大幅减小了光照等因素对障碍物检测造成的影响,提高了障碍物检测的精度。

文献[8]提出一种基于HSI颜色空间模型改进的单目导航算法,与文献[16]不同的是该算法采用了分量处理和区域生长分割法,进一步提高了检测效果,并在对像素操作过程中,采用隶属度划分并建立模糊规则库,进一步提高了视觉控制系统的鲁棒性和输出命令的可靠性。

1.3 背景差分法与帧间差分法

背景差分法是对视频图像序列中的当前帧与背景图像做差分运算,得到的二值图像中就标注了运动目标的区域[22]。应用于移动机器人的障碍物检测时,随着移动机器人的不断运动,视频图像的背景也在不断变化,所以需要进行背景图像的更新,然后再对当前帧和背景图像做差分运算。而图像中的运动目标和背景图像在灰度上存在的差异为区分是否为运动目标提供了条件,通过阈值处理即可分辨。

由于背景差分法的的原理比较简单,检测运动目标的速度快且易于实现,所以被广泛使用于动态障碍物检测过程中。为了应用该法解决单目移动机器人测障问题,参考动态障碍物考虑静态物体。在机器人移动过程中,变换参考系,机器人的移动使得相机捕获的障碍物图像成为连续移动的序列,从而将环境理解为动态场景。将背景差分法融入以上模型,需要着重考虑机器人移动中设为背景的单帧更新,为保障检测精确性可以加入去噪等手段。

帧间差分法是对视频序列中的相邻两帧图像做差分运算,当某像素点前后两帧图像的灰度差绝对值大于阈值时,标记该位置为运动区域[22]。该算法通过对图像中的所有像素点进行灰度值对比得到运动目标的轮廓。

该算法不同于背景差分法,将前一帧图像作为背景图像,然后对当前图像做差分运算。相比于背景差分法而言,少了背景模型的更新这一步,使得计算过程更加简单,计算量也相应降低,而且对光线的变化敏感度也垫底。但从提取效果上看,帧间差分算法只能提取出运动目标的边界,对帧间的时间间隔和阈值的选取有较高的要求,这一点与背景差分法略有不足。如以下两种情况,当物体运动速度较快而帧间的视觉间隔较大时,物体在前后两帧图像中没有重叠,这种情况下帧间差分法的检测结果为两个分开的物体;当物体运动速度较慢而帧间的时间间隔较小时,物体在前后两帧图像中几乎完全重叠,此时该算法会检测不到物体。

1.4 基于图像金字塔改进的光流法

1.4.1 基于KLT特征点跟踪的光流计算

LK(Lucas-Kanade)光流算法是对图像序列中的相邻两帧图像计算光流信息,该算法的原理有3个假设前提[23]:(1)前后两帧图像的亮度恒定不变;(2)前后两帧图像的时间连续,且物体的运动速度不大,即“小运动”;(3)空间一致,空间中相邻区域的运动情况相似且这些区域在图像上的投影也在临近区域。其中,假设1是为了保证约束方程的等号成立不受亮度变化的影响,假设2是为了保证该算法能够找到运动目标点,假设3则是为了保证相邻图像同一窗口中所有点的偏移量都相等。此外,光流约束方程中未知量的约束不够会导致孔径问题。

基于KLT(Kanade-Lucas-Tomasi Tracking Method)特征点跟踪的光流法是在LK的基础上提出的,最大的优势是利用了LK光流算法的局部约束性,变劣为优,以LK对足够小的领域空间内光流矢量不变特性来求解光流。在特征点提取上依靠的是Tomasi算法对每帧的特征点进行提取[22]。

对于KLT算法,主要在于选取以特征点(x,y)为中心的邻域建立上式所述的LK光流方程,同时对t+r时刻选取的特征点(x,y),都可以由t时刻对应的特征点(x,y)经特征变换d=(ox,oy)进行计算得到。从以上可以看出,KLT光流算法的实质即在于对特征点变化量的求解。

1.4.2 图像金字塔改进KLT

在利用基于KLT特征点跟踪的光流算法对动态障碍物的检测过程中,有可能出现相邻两帧间特征点匹配检测到障碍物目标区域以外的点的情况,即在匹配过程中,产生不稳定的匹配特征点。这些不稳定的匹配特征点会对动态障碍物持续提取和检测产生较大的影响,容易造成检测的失准,而该问题主要是由于提取的两帧图像之间运动幅度较大所导致的。

图像金字塔算法的出现为解决上述问题提供了出路,当像素降低到一定程度时,原本较大的像素间运动就能变小,这就能实现在提取两帧间较大运动的同时,保证特征点匹配的稳定性。如图1所示,规定原始图像为零层,首先对原始图像进行Tomasi特征点提取,然后对初始提取的图像进行二次采样,得到第二层金字塔,依次利用N次采样结果,使原始相邻帧间较大的运动逐渐转化为微小运动,直到满足帧间KLT特征点跟踪的约束条件。

图1 金字塔光流法

采用金字塔LK光流法可以检测出运动速度过快的运动目标,取消了LK光流法中的第2和第3个假设,扩大了算法的适用范围。但是该算法的计算量很大,对硬件条件的要求较高,而且不能消除光照等外部环境条件对检测结果的影响,这就使得该算法存在一定的局限性。

针对这个问题,文献[24]提出了一种综合测障法,先对图像视频序列进行帧间差分运算,得到运动目标区域,再进行金字塔式的光流运算。该算法结合了前面所述帧间差分法与金字塔光流法的特点,既避免了光照环境对检测结果的影响(消除了1假设),还可以检测到运动速度过大的目标(消除了2、3假设)。相比于传统的金字塔LK光流法,该算法的计算量较低,算法的处理速度较快,因而更加满足系统对实时性的要求。

光流估计算法中,除了基于梯度和匹配的方法外,还有许多正处于研究中的方法。基于能量的方法:也称基于频率的方法,在使用该类方法的过程中,要获得均匀流场的准确的速度估计,就必须对输入的图像进行时空滤波处理,即对时间和空间的整合,但是这样会降低光流的时间和空间分辨率。基于频率的方法往往会涉及大量的计算,另外,要进行可靠性评价也比较困难。

基于相位的方法:Fleet和Jepson最先提出将相位信息用于光流计算的思想。当计算光流的时候,相比亮度信息,图像的相位信息更加可靠,所以利用相位信息获得的光流场具有更好的鲁棒性。基于相位的光流算法的优点是:对图像序列的适用范围较宽,而且速度估计比较精确,但也存在着一些问题:第一,基于相位的模型有一定的合理性,但是有较高的时间复杂性;第二,基于相位的方法通过两帧图像就可以计算出光流,但如果要提高估计精度,就需要花费一定的时间;第三,基于相位的光流计算法对图像序列的时间混叠是比较敏感的。

神经动力学方法:是利用神经网络建立的视觉运动感知的神经动力学模型,它是对生物视觉系统功能与结构比较直接的模拟。尽管光流计算的神经动力学方法还很不成熟,然而对它的研究却具有极其深远的意义。随着生物视觉研究的不断深入,神经方法无疑会不断完善,也许光流计算乃至计算机视觉的根本出路就在于神经机制的引入。神经网络方法是光流技术的一个发展方向。

2 单目视觉移动机器人定位

在单目视觉移动机器人作业过程中,除了要用单目相机对视场内障碍物进行检测外,计算障碍物与本体之间的距离对后面进行路径规划也是相当重要的。虽然双目和多目视觉测距的精度相比单目较高,但其主要问题在于需要精确的配准和条件约束,耗时的配准过程对实时视觉导航来说具有不可忽略的影响,而且要使基线和摄像机光轴严格地处于同一平面上,这对于摄像机的架设及测量平台稳定性的要求极高[25]。单目测距是利用一个摄像机获得的图片得出环境的深度信息,具有操作简单和成本低等优点,但是传统单目测距方法存在精度较低、需要固定参照物和无法适应远距离测量场合等缺陷,根据测量原理可以划分为基于已知物体和已知运动两类算法。

Yamaguti N等[14]提出利用物体的已知运动和前后采集到的两幅图像比例的变化,得出障碍物与机器人本体之间距离的算法,该类测量方法需要依靠特征匹配的精度来保证测量精度,易干扰性强,而且需要对多幅图像进行处理,计算量大。相对的,基于已知物体的测量方法核心是对每一个特征点进行分析计算,测量结果拥有较高的精确度,但也因此有较大的计算量,而且还依赖于特征点提取算法的精度,易受影响。

小孔成像模型被应用为最初的测距模型,在此基础上衍生出各类适用特定环境的测距算法。文献[10]用摄像机模型几何关系推导法对图像坐标和机器人坐标进行换算实现单目测距。该算法根据小孔成像模型,将单目视觉简化为摄像机投影模型,需要人工测量相机视场边缘和地面交线位置以及光轴和地面的交点距离,也即表示该单目测距法仅适用于相机有固定倾斜角度,且光轴与地面相交的环境。文献[11]表示通过摄像机标定可以将已知世界坐标某点投射到成像平面上的图像坐标求出,并提出将物体投影面积区域的形心代替障碍物的特征点,从而计算障碍物到机器人的距离。该算法对于摄像机而言,若不能保证摄像头的轴线垂直于被测目标平面,对于这种倾斜用肉眼无法进行修正,故距离目标越远,误差越大。

路标分为自然路标和人工路标,从已有的相关文献来看,目前基于自然路标的视觉导航受环境不确定因素影响大,算法复杂。相比于自然路标,人工路标辅助机器人定位技术,具有路标特征稳定、定位算法简单等优势。文献[26]提出了基于二维码的人工路标,在物流无人仓库也有所应用。虽然该路标包含的信息量大,但是二维码的识别速度慢,难以满足实时性的要求,而且识别的准确率受机器人与二维码的距离影响较大。文献[27]提出了在路面进行车辆测距的方法,路标识别率高达90%,测距误差不超过10%。该方法实际上也是借助网络申请获取到标线、指示牌等标记的真实尺度,从而为解决单目尺度问题奠定了基础,而且通过毫米波雷达输出前车距离信息,拥有高精度的优势,且丰富了ADAS系统测距。

对应点标定法是最早被大范围应用的深度信息获取方法,拥有简便、高效等优势,但是在标定中如果点的世界坐标对应的图像坐标不够精确,转换结果会因此而波动,同时,标定是在摄像机的高度和各角度都已确定的情况下进行,任意一个参数的变化都将导致重新标定,因此该方法的局限性在于仅适用于摄像机位置固定的情况。文献[28]使用对应坐标标定法,在机器人运动时,观测点也随之进行移动,在实际测量中,变化的量是摄像头与目标之间的距离以及导航偏角,这些变化在图像上也是有反应的,因此两个时刻采集到的图片也是不同的,反映到图像上就是目标像素点的大小,以及目标偏移中心位置的距离。

除了前面所提到的标定点法外,摄像机内部参数的标定效果对测距结果也是有非常巨大的影响。文献[25]提出了基于B对偶空间几何学的摄像机内参数计算方法,采用帧间差分与运动模板相融合的方法自动提取目标的轮廓信息,根据影射几何能精确地计算距离,但在摄像机俯仰角上更倾向于小俯仰角的应用场景。

近几年单目测距技术发展迅速,除了上述常用方法外,还有如单帧静态法、序列图像法、平移视差法等单目测距算法均是在基于小孔成像的原理上根据不同应用环境进行改进,但基本原理不变。光流常用于障碍物的检测和对象跟踪,在测距上的应用也是基于前面所述的方法。三维重构技术通过单目相机不仅能够获取深度信息,还能根据需求计算出对象的三维结构,拥有很高的研究价值。

3 路径规划导航

路径规划是移动机器人导航最基本的环节之一,它是按照任务要求搜索一条从起始状态到目标状态的最优或近似最优的无碰撞路径,主要有全局路径规划和局部路径规划两类。其中,局部路径规划能帮助机器人判断周围环境有无障碍物并判断如果避开障碍物,适用于初次环境建模以及存在动态障碍物的环境,而全局路径规划更适用于在地图已知的情况下为机器人规划一条从起点到终点的路径。表2对比了近年常用的经典路径搜索算法。

Dijkstra在搜索时不考虑方向,以广度优先,“盲目”式搜索,导致需要经过大量的计算才能得出路径,但是得出的路径效果很不错,且一定最短。A*相比Dijkstra增加了有向式搜索,整体搜索方向按照终点坐标位置为准,逐个搜索,减少了其他方向的计算,从而获得更快的速度,但是该有向式搜索的缺陷在于没有考虑两点之间的障碍情况,导致会出现“贴”着障碍物行走的情况,甚至有较大的拐点。JPS是在A*上更进一步的优化算法,用跳点搜索的方式取代了逐个邻居判断的方式,在时间和路径平滑上均获得了极大的提升。

表2 路径规划算法

RRT与前面几种算法的差异在于施加了对状态空间中的采样点进行碰撞检测,避免了空间建模,从而在速度上有很大优势,但路径时概率完备且不最优。人工势场和遗传算法在路径规划中的应用差异主要在于速度上,人工视场的速度快,但在复杂的环境下会出现局部极小点。

从上述对比可以看出,目前单一的搜索算法很少能同时具备耗时短、路径优的性质,将多算法的优点融合在一起形成新的搜索方法会是未来提升机器人路径搜索能力的必然方向。

3.1 经典导航方法

惯性导航系统(Inertial Navigation System,INS)是一种自主式的导航系统,其优点是可提供连续的导航信息,短期的定位精度和稳定性好,但是INS的误差会随时间累积而增大,所以不能长期独立工作。文献[29]提出将人工路标和INS组合进行导航的算法。该算法优势在于通过对已知距离的路标拍摄解决了单目相机缺少尺度的问题,并与Kalman滤波进行数据融合,有效减小了INS的累计误差。卫星-惯导组合定位系统结合了卫星定位导航的高精度、可通讯和惯性导航的独立性强、可获取姿态的特点,能够为载体提供包括姿态、位置以及速度等导航信息,实现了优势互补,但该方法不适用于室内等不便接收卫星信号的环境。

采用里程计法的室内机器人利用安装在车轮上的光电编码器记录车轮的转数,进而获得机器人相对于上一采样时刻位置和姿态的改变量,通过这些位移量的累积就可以估计机器人的位置,然而由于存在车轮打滑、地面不平等多种外在因素的影响,以及光电编码器自身系统误差随着位移积累,导致机器器人定位精度下降很快,从而不适宜长距离导航。视觉里程计(VO)通过利用相邻图像匹配特征点坐标的变化来估计载体的位姿变化情况。由于VO是通过一系列前后帧的对比来估计相机的运动情况,所以不可避免地会造成误差的累计。目前VO的研究已经能够实现单目视觉下实时图像特征提取及相机定位,但在鲁棒性、准确性方面尚有很大的改善空间,VO与惯性测量结合能够更有效应对复杂非结构化环境,取得良好的导航效果。

SLAM是在基于几何方法的研究领域内最热门的一项路径规划技术。基于视觉的SLAM(VSLAM)技术不仅能实现定位,还能构建周围的环境地图,对自主定位和路径规划起到重要的作用。但是在VSLAM中,除了VO前端,还要进行后端优化、回环检测以及建图,计算量相比于VO显著提高,对数据处理终端计算能力有很高的要求,定位与建图的实时性较差。

3.2 单目SLAM算法

单目SLAM近年来发展迅速,由最初的基于滤波的方法发展到基于关键帧的方法,Klein和Murray[30]提出的PTAM算法作为基于关键帧的代表算法,首次将跟踪定位和构图作为并行线程处理。单目SLAM体积小、重量轻、实际应用简单,但由于单目不能直接测距,所以早期的单目SLAM被称为“只有角度的SLAM”。距离未知导致单目SLAM存在以下问题:需要初始化、尺度不确定、尺度漂移。

目前,图像特征匹配是初始化的主流策略,匹配好的特征点可以给出一组2D-2D像素点的对应关系,但由于是单目,没有距离信息。后续的相机运动就可以通过3D-2D的点匹配信息来估计(PnP)。在初始化分解本质矩阵时,由于平移和旋转是乘在一起的,所以初始化时既需要平移也需要旋转,而且分解的结果显示,对平移量乘以任意非零常数,仍满足对极约束,这就导致了单目的尺度不确定性问题。故从应用上来说,单目需要一个带平移的初始化过程,且存在尺度不确定问题,这是它理论上的障碍。此外,SLAM中会有噪声影响,改变了单目估计值与真实值之间的比值,再加上比例的不确定性,尺度漂移成了单目SLAM误差的一主要来源。

尽管单目SLAM存在以上问题,但由于相机系统比较简单、装载方便、价格便宜等优势,依然得到了很大的发展,其主要研究工作可以分为:基于外观的方法、基于特征的方法。在基于外观的方法中,文献[5]提取摄像头运动的近似旋转和平移速度信息的方法在室内定位上取得了不错的效果。但该方法采用提取移动场景中的中心区域进行模板跟踪,且仅依靠图像像素的亮度信息进行配准,这在一定程度上造成了系统的不稳定。基于特征的方法是选取图像上面比较明显的、可重复检测的特征点和特征线以及语义更加丰富的面信息在连续的图像间进行跟踪,具有较强的鲁棒性,但是该方法在特征提取和配准的时候将会增加SLAM制图的耗时时长,导致计算时长将会大量增加。

因单目SLAM受到单目视觉原理上的尺度漂移和地标数量造成的计算量过大两个难点的限制,在文献[4]中提出了语义信息与SLAM耦合的新方法,拥有很好的鲁棒性和准确性,该算法核心在于用过滤器和加权机制将上下文语义信息添加到特征关联和SLAM位姿优化中,这种方式可以有效地提高SLAM系统的鲁棒性和准确性。

为了进一步提高单目SLAM建图和抗噪能力,有学者提出在SLAM里面加入几何约束,从而提高三维建模的速度和稳定性。如文献[31]将线和面的特征引入单目SLAM的三维地图构建过程中,并采用分步滤除端点对齐的直线匹配方法搜索法和基于直线匹配增强的平面聚类方法,实验证明该算法相对于基于点特征的SLAM制图法在稳定性和效率上有明显的优势,但对环境要求较高,需在纹理明显的环境下使用。

前面是从算法层面研究如何提高导航精度、稳定等性能,而对于尺度、遮挡之类的问题,仅从算法出发明显不能实现质的飞跃,此时,多传感器融合技术成为提升导航性能的突破点,表3比较了近年来常用的多传感器融合技术的特性。

表3 多传感器融合算法

IMU不仅价格低廉,而且能帮单目确定尺度、测量快速的运动以及在相机被遮挡时提供短时间的位姿估计,文献[32]提出用单目+IMU做SLAM这个新颖的概念,以IMU弥补单目在尺度和测量上的缺陷,使其构建的地图更加精确和稳定,大幅提升了机器人自主导航的鲁棒性;激光雷达精度高、计算小、速度快,便于检测深度信息,文献[1]为了在利用环境颜色信息的同时也提高深度信息的估计,用单目提取的图像结合激光估计的深度信息,为机器人提供地图构建和定位信息来源,大幅度提高了导航精度;陀螺仪和编码器结合的里程计对距离的计算有很高的精度,可以辅助定位,文献[13]用里程计结合单目摄像头,提出基于稳定性和正确性的数据融合策略,使得机器人在导航中对位姿的估计更精确。

此外,文献[4]通过从单目视觉中提取的特征在雷达深度地图中的对应关系以获得相对于关键帧的姿态数据,同时通过CNN获得语义信息使得地图中每一个点都与特定的语义特征相关联,进一步提高了机器人导航精度。文献[33]将ORBSLAM得到的位置信息转化到惯导系统的地理导航中作为观测量估计惯导系统的状态误差量,并结合卡尔曼滤波模型估计惯导系统的误差,以ORBSLAM/INS组合的形式实现了机器人导航。就目前对单目SLAM的尺度、初始化等问题的解决方案中,这一类多传感器融合策略被认为是一种很不错的解决方案。

到目前为止,在单目SLAM中以ORB-SLAM为最经典的算法,该算法同时也可应用在双目与RGB-D相机上,采用关键帧配准方法,配合词袋实现了大幅提高实现特征点的检索和匹配效率。实验测试表明:基于ORB-SLAM算法仅利用单目视觉的轨迹与地面真实情况相比存在较大的尺度漂移、平移和旋转漂移;基于激光雷达深度图辅助的ORB-SLAM2方法利用深度信息可减小尺度漂移,但是由于存在没有特征的平面墙和地板以及传感器误差,依然存在平移和旋转漂移。综上所述,在目前情况下,单一的定位方式很难同时满足高精度、高实时性、高可靠性的要求,因此多源信息融合已成为当前导航定位的主要研究方向。

4 总结

单目视觉导航技术已经取得了较为客观的技术成果,打破了最原始的障碍壁垒,并在提高定位精度、最优化等方面不断突破。

在障碍物检测上,目前应用在移动机器人上的识别算法主要侧重于某单项性能的提升,如SIFT、SURF、FAST三者的检测速度和精度近乎成反比例发展,在获得高精度的同时失去了速度,在占领速度优势时又失去了精度的保障。针对该方面的问题可从以下几个方向进行研究:

(1)多检测算子融合,以长补短。在此方向下,ORB算法是目前最为典型的应用,结合FAST的速度和BRIFE描述精度,使其在速度和精度上同时获得了提升。

(2)结合颜色空间模型。如在HSI模型下,可以类似于人眼对色彩的敏感性对易造成噪声的色彩进行滤波等处理,在降低噪声后再采用速度上优势明显的检测算子也能得到不错的效果,鲁棒性也会比单一的应用有所提高。

(3)深度学习。近年来深度学习在人工智能方面声名大噪,通过强大的数据库提供的先验信息比对,无论是在速度、精度还是稳定性上都有很大的优势,但对数据库的依赖较强。

在测距定位方面,单目摄像头不像双目或多目可直接测出精度,目前在不依靠人为辅助的情况下仅有通过移动构成三角进行计算,但依然存在尺度性问题,针对该问题可从以下方面进行研究:

(1)融合传感器技术。在机器人本体上搭载距离传感器如激光等,可直接弥补单目摄像头在距离上的短板,还避免了类似多目相机的计算误差。

(2)光流测距。光流作为目标跟踪领域的经典,凭借可以较为直观地获取目标在成像坐标系上的移动距离服务于测量定位领域。

(3)三维重构。在进行二维导航时也可参考三维地图的定位方式进行计算,而在构图时就对第三根轴的信息进行归一或其他处理。

在路径规划以及整体导航结构方面,VSLAM是时下最热的移动机器人导航理论,无论是单目测障还是空间定位都是作为前端服务于SLAM这个概念,但尺度漂移、导航精度差仍未得到良好的解决,针对该问题可从以下方面进行研究:

(1)多传感器融合。有了距离传感器的加持,可以有效地解决尺度问题,甚至诸如IMU等传感器还能在空间定位中予以帮助,无论是在建图还是在导航上比单一的VSLAM都拥有更好的鲁棒性。

(2)语义地图。相比于点云地图,语义地图更符合视觉导航充分利用环境信息的定义,该地图在导航上的应用主要是加入地面水平的假设,使环境中放入地图的物体都保持在“同一个水平面”上,从而有效地提升了地图的精度,那机器人定位和导航的精度也就提高了。

综上所述,未来单目视觉导航算法应主要从提高环境信息利用率、增强障碍检测效果、提高机器人空间定位、构建更精确的地图等方面提高机器人综合导航能力,满足人们对移动机器人实时性、精度、鲁棒性等要求。根据前面对目前单目导航算法存在问题及对应解决方案得知,在可预见的未来,单目视觉导航算法整体应以下面几种趋势发展。

(1)多传感器融合。如IMU、激光雷达等传感器,与相机结合可在充分利用环境信息的同时也获取较高的定位精度。此外,传统的导航方式也并非一无是处,如可以借助INS在短期良好的定位精度和稳定性优势为其他算法提供帮助,卫星-惯导组合便是这一经典融合,若能将其与时下的VSLAM结合,即可在很大程度上解决VSLAM的尺度以及精度等问题。

(2)深度学习。尽管深度学习更多的是基于数据库的处理,但仍不失为移动机器人导航的良好辅助,通过深度学习可以优化地图,提高定位、导航精度,语义地图在导航中的应用即可体现诸多由深度学习带来的优势,不同于仅从传感器入手,该方法更倾向于先验信息,从而带来更好的稳定性和鲁棒性。

猜你喜欢
单目移动机器人机器人
移动机器人自主动态避障方法
一种单目相机/三轴陀螺仪/里程计紧组合导航算法
基于单目视觉的仓储物流机器人定位方法探讨
单目SLAM直线匹配增强平面发现方法
基于Twincat的移动机器人制孔系统
基于CAD模型的单目六自由度位姿测量
机器人来帮你
认识机器人
机器人来啦
极坐标系下移动机器人的点镇定