APP下载

融合场景理解与A*算法的巡检机器人避障设计

2022-11-24王志辉陈息坤

无线电工程 2022年11期
关键词:栅格道路机器人

王志辉,陈息坤

(1.广东科学技术职业学院 机器人学院,广东 珠海 519090;2.上海大学 机电工程与自动化学院,上海 200444)

0 引言

机器人被定义为替代或辅助人类完成特定工作的一种高综合性的机械装置,涉及计算机技术、机械设计、传感器技术、自动控制理论以及人机交互等多个学科[1]。而随着“中国制造2025”计划的不断推进,机器人技术得到了快速发展,并被列为了十大重点突破技术之一[2]。在各类机器人当中,巡检机器人因灵活性、机动性以及功能性都相对较强,可以更好地完成重复性和危险性较高的工作,被广泛应用于各个领域[3]。而随着巡检机器人应用场景的多元化,其所处环境也日益复杂多样,这使得机器人必须具备更强的自主导航避障能力[4]。目前,巡检机器人的导航避障主要采用测距和视觉2种方式[5]。测距方式即利用激光雷达、超声波等传感器,获取与障碍物的距离信息,进而实现避障。该方式相对简单,但获取的场景信息过于稀疏,不能较好适用于复杂环境[6]。而视觉方式主要利用摄像头获取机器人当前的场景图像,通过识别图像中的障碍物及道路来实现导航避障[7]。可见,基于视觉的方法更符合人类的避障方式,该方法可以更好地感知机器人周围环境,进而更灵活地做出避障决策。而目前巡检机器人在视觉导航避障方面仍存在诸多限制,如视觉算法计算量大、精度低、环境理解程度不高等,造成机器人的避障效率以及可靠性都较低[8]。因此,研究一种基于场景理解的高效率视觉导航避障方法,不仅可以有效提升机器人对环境的理解能力以及导航避障性能,而且对机器人的实际落地和智能化发展都有重要的推动意义。

目前,已有许多研究者针对机器人视觉导航避障开展了一系列研究工作。鲜开义等[9]提出了一种融合图像分类和语义分割的变电站巡检机器人导航避障方法,通过训练深层神经网络获取道路场景全局和局部信息,进而指导机器人避障。该方法虽能较好地获取场景信息,但多任务网络的引入使得避障效率较低。赵小勇等[10]提出了一种基于深度学习的自适应控制场景理解网络,通过特征相似性对比来降低对重复特征的提取,并根据场景理解结果与简单的逻辑判断结合来指导机器人导航避障。该方法较好地提升了场景理解效率,但存在避障策略相对简单、局限性较大的问题。Nagarajan等[11]提出了一种使用单个摄像头进行障碍物检测和避障的算法,通过计算像素梯度和关键点提取来识别可穿越的路径和障碍物,进而实现避障。该方法在部分场景中效果较佳,但避障效果关键点的影响较大,泛化能力较差。Liu[12]提出了一种在非结构化人类环境中自主移动机器人的避障方法,利用超声波传感器和RGB-D相机获取不规则障碍物位置及信息实现避障。该方法可以较好地获取障碍物位置信息,但对场景理解程度较低,在复杂场景中避障效果较差。上述方法为机器人导航避障提供了丰富的技术经验,但也存在环境理解程度低、避障路径规划局限性大等问题,机器人避障效果以及泛化能力仍有较大的提升空间。

针对目前巡检机器人在导航避障上存在的问题,本文在现有工作基础上,提出了一种融合场景理解与A*路径规划算法的机器人导航避障方法。该方法首先采用深层卷积神经网络来提取图像特征,并利用金字塔上采样结构获取图像各目标信息;其次,将获取的场景信息图像进行C空间(C-Space)转化,并构建栅格地图;最后,基于图像栅格地图,利用A*算法完成避障路径规划,指导机器人完成避障。同时,为提升所提方法效率,在导航避障过程中,通过对比分析前后2帧可行道路区域特征,设计特征差分模块,降低对重复特征的计算。实验表明,所提方法可以有效地获取机器人场景信息,并规划出合理避障路线。同时,在实际场景中,该方法也体现出较高的计算效率,能准确指导巡检机器人实现导航避障。

1 机器人避障原理

1.1 整体框架

本文所提的融合场景理解和A*算法的导航避障方法整体架构如图1所示。

图1 整体框架结构

该方法主要分为场景理解网络、栅格地图构建、避障路径规划等几部分。场景理解网络主要采用编码-解码结构构建,编码部分主要利用卷积操作提取图像特征,解码部分以金字塔上采样方式恢复各目标信息,保障机器人能识别、理解所处环境。栅格地图的构建主要是将场景理解结果进行分析处理,提取出道路区域,并根据巡检机器人尺寸进行C-Space转化,再将二维图像进行栅格化,构建地图。避障路径规划则是在栅格地图上通过A*路径规划算法搜索出当前机器人最优避障路线。同时,考虑到机器人巡检过程中可行区域的重复度高,深层网络、地图构建和路径搜索等模块计算量大等问题,设计了特征差分模块,通过计算前后帧可行区域的重复度,降低冗余计算,提升实际避障效率。

1.2 场景理解网络

场景理解,也称为图像语义分割,主要是将相机采集的场景图像转化为机器人可理解的信息,如障碍物位置、可行区域等[13]。目前,场景理解方法主要基于深度学习技术,通过训练深层卷积神经网络的方式来对图像中各个像素进行分类,进而实现对图像中各目标的识别与理解。而现有的网络所针对的应用场景大多不同,主流的场景理解网络有BiSeNet[14],STDC[15],ShuffleSeg[16]和AttaNet[17]等。为有效搭建场景理解网络,本文借鉴现有的经典网络结构,同时考虑实际应用场景,设计了适用于巡检机器人的场景理解网络,如表1所示。

表1 场景理解网络结构

1.3 栅格地图构建

场景理解网络只能使巡检机器人理解各个位置像素的类别,并不能直接指导机器人动作,因此还需将整个场景进行整体分析理解。对于巡检机器人的导航避障,首要目标是建立场景地图。由于场景理解结果为二维图像,因此本文采用了二维栅格法进行地图构建。

对于栅格地图的构建,本文通过场景理解预处理、可行区域提取、C-Space转化以及栅格划分4个步骤实现,如图2所示。首先,场景理解预处理是将场景理解结果转化为二值图,即道路和非道路区域,再通过中值滤波、腐蚀和膨胀操作剔除图像中的噪声。其次,搜索图像中的连通区域,并提取出除背景(非道路)外的最大连通区域作为机器人的可行区域。然后,考虑到机器人会占据一定区域,因此通过C-Space转换保证机器人在道路或障碍物边界正常行驶,即将非道路区域膨胀至机器人尺寸。同时,由于相机采集图像时,近处目标较大,远处较小,因此,采用大小逐步递增的核对图像从上到下进行腐蚀。最后,将转化后的图像划分为(w/20)×(h/20)的栅格,若每个栅格中存在道路像素,则定义该栅格为可行区域;反之则为障碍物。最终,将图像转化为(w/20)×(h/20)的二维数组栅格地图。

(a)场景理解

1.4 路径规划算法

为保证巡检机器人有效实现全局及局部避障,同时考虑到实际道路场景栅格地图相对简单,本文采用了基于A*的全局路径规划算法,通过实时规划来为机器人提供准确的避障方向。A*算法基本原理是在起点所有可达位置中,利用评估函数(如式(1)所示)计算出最优位置,并将最优位置作为起点,依次类推,搜索出最优路径。

f(n)=g(n)+h(n),

(1)

式中,g(n)表示在搜索空间中当前位置与起始位置的代价值;h(n)表示当前位置与目标位置的代价值,代价值采用欧几里得距离计算。

A*算法路径搜索流程如图3所示,避障路径规划结果如图4所示。

图3 A*算法流程

图4 避障路径规划结果

2 机器人避障设计

2.1 网络设计

场景理解网络主要由编码和解密2部分构成,编码部分主要采用卷积操作以密集短接的方式进行特征提取,如图5(a)和图5(b)所示;解码部分则采用金字塔上采样结构结合特征融合模块来恢复目标信息,如图5(c)和图5(d)所示。

(a)Init模块

图5(a)为编码结构初始模块(Init),由2层构成,主要采用步长为2的最大池化、深度可分离卷积以及常规卷积提取输入图像各维度显著特征。该模块主要目的是在尽可能保障特征多样性的情况下对输入图像进行降维,方便后续特征深入提取。图5(b)为编码结构核心特征提取模块(Stage),利用密集短接的方式将多层卷积提取的特征进行拼接,不仅有效提取了多尺度信息,同时还降低了网络计算量,其中N为输出通道数。通过将多个Stage模块串联堆叠,由浅到深地提取图像中各目标特征信息。图5(c)为解码结构上采样部分(Upsample),分别提取Stage模块最后一层特征以金字塔结构方式由深到浅地进行上采样融合,保障网络对多尺度目标的识别。融合方式采用图5(d)结构,通过拼接特征再结合注意力机制(FFA)的方式提升有效信息的融合,避免了直接融合造成深层和浅层特征相互影响。将融合后的特征上采样至原图尺寸,实现图像各像素的分类识别。

2.2 特征差分模块设计

由于场景理解、栅格地图构建以及路径规划都需要较大的计算量,通过观测发现:在机器人实际巡检过程中,可行道路区域变化率较低,其行驶方向基本不变。因此,为提升巡检机器人在实际应用中的效率,引入了特征差分模块。该模块主要嵌入场景理解网络特征提取结构中,通过计算前后2帧图像的道路特征一阶差分来判断环境变化率,降低对特征提取以及路径规划的重复计算,进而提高效率,计算过程如图6所示。

图6 特征差分模块计算过程

由于场景理解网络上采样部分融合的最浅层特征为Stage1模块,因此特征差分模块主要以Stage1模块最后一层特征作为输入。首先,通过1×1卷积将特征通道调整为目标类别数,并根据特征图中每个位置所属各类别的概率大小,将最大概率类别作为该位置类别,将特征图转化为类别图。然后,提取类别图中道路区域与上一帧图像的道路区域进行对比,计算2帧图像的汉明距离(Hamming distance),若汉明距离小于阈值,则认为当前道路区域基本不变,机器人运动方式不变;反之,则忽略特征差分模块,重新计算各特征和规划路径。可以看出,特征差分模块并不参与场景理解网络的训练,只在测试和实际应用中引入该模块,计算方式如式(2)所示。其中,上一帧道路区域信息缓存于计算机内存中,当Hamming distance大于阈值时,将当前帧道路信息替换缓存中道路信息。

(2)

式中,l为stage1最后一层特征层;t为当前帧;t-1为缓存帧;S为1×1卷积;φ为道路区域提取;dHm表示Hamming distance;xor表示对2帧图像异或操作;count1表示异或操作后1的数量;D表示前后2帧道路信息相似性。

2.3 机器人避障流程

场景理解网络机器人整个避障流程如图7所示。机器人通过摄像机获取道路图像帧后利用场景理解网络提取道路特征,计算当前道路信息与上一帧道路的重复度,若重复度大于阈值,则机器人继续上一时刻动作;反之,则对当前图像帧进行场景理解。将场景理解结果进行滤波、道路区域提取、构形空间转化后构建栅格地图。基于栅格地图利用A*路径规划算法搜索出最优的避障路径,并将规划路径转为机器人避障行驶方向,指导机器人完成避障。

图7 机器人避障流程

3 实验与结果分析

为有效评估场景理解网络以及避障方法的性能,实验分别利用标准公开数据集和实际变电站巡检机器人场景数据,通过搭载英伟达TITAN Xp的台式机以及Jetson Xavier NX的开发平台,从场景理解效果、特征差分模块有效性、避障路径规划可行性以及鲁棒性等方面对所提方法进行了测试评估。场景理解网络的构建主要基于TensorFlow框架,为更好地与同类网络比较,超参数主要参考文献[15,20]设置,如表2所示。

表2 场景理解网络超参设置

网络采用交叉熵作为训练时损失函数,测试时采用全局精度(G)、平均精度(C)以及平均交并比(mean Intersection over Union,mIoU)进行网络性能评估。巡检机器人导航避障效果则采用分类精度(P)和平均精度(AP)来度量,对于所提方法效率通过每秒处理图像数量(FPS)来评估。

3.1 场景理解实验

场景理解实验主要是利用搭载TITAN Xp显卡的台式机来测试场景理解网络性能。为有效验证本文所提网络,实验分别采用了CamVid,Cityscapes以及巡检机器人实际道路场景数据集进行测试。CamVid和Cityscapes都为城市道路公开标准数据集,CamVid数据集相对较小,共有701张大小为960 pixel×720 pixel的图像,包含11种目标。CamVid数据集可以快速验证网络设计时各模块的可行性。而Cityscapes数据集包含的场景较为复杂,该数据集共有5 000张精确标注图像,包含19种目标,图像尺寸为2 048 pixel×1 024 pixel。Cityscapes数据集可以进一步验证网络的鲁棒性以及泛化能力。实际道路场景数据集为变电站巡检机器人巡检过程中采集的道路图像,约5 000张,包含道路、杂草、石子和围栏等6类目标,通过人工标注后将图像尺寸归一化为960 pixel×720 pixel,作为实际道路场景数据集,验证网络在实际场景中的理解效果。

实验首先利用CamVid数据集对场景理解网络精度与效率进行了测试,并与主流的场景理解网络进行对比,实验结果如表3所示。

表3 场景理解网络测试结果对比

由表3可以看出,与同类型网络相比,所提网络较好地平衡了场景理解精度以及网络计算量,虽然没有达到当前最优性能,但可以更广泛地落地实际应用。为了进一步验证该网络在复杂场景中的鲁棒性,利用Cityscapes数据集对网络进行训练测试对比,对比结果如表4所示。同时,对于网络的实际落地效果,采用了实际机器人采集的道路场景数据集,分别通过TITAN Xp和NX平台进行训练测试,测试结果如表5所示。所提网络在3个数据集上的场景理解效果如图8所示。

(a)原图 (b)标注图 (c)BiSeNet (d)RegSeg (e)本文

表4 Cityscapes数据集测试结果对比

表5 实际道路场景数据集测试结果对比

由上述实验对比结果可以看出,本文所提场景理解网络在精度、效率和网络鲁棒性等方面都有较好的表现。对于复杂道路场景,网络整体精度有所降低,但从全局精度可以推断出,网络主要是对远处微小目标识别较差,对于场景中的主体目标(如道路、建筑和车辆等)识别效果受影响较少,而远处微小目标相对于大多数实际应用而言,可忽略不计。对于实际道路场景,虽然该场景相对简单,但由于人工标注时无法达到像素级精确,因此,在计算场景理解精度时存在较大的人为因素引入的误差,造成识别精度并未较大提升。尽管如此,从检测效果中可以看出,所提网络在实际道路场景中也能实现准确理解。

3.2 巡检机器人避障实验

场景理解实验主要是验证所提网络对环境的理解效果,而巡检机器人避障实验则根据场景理解结果进一步测试所提避障方法的有效性。实验主要利用搭载Jetson Xavier NX平台的变电站巡检机器人进行测试,通过固定相机位置采集道路场景信息,并统一图像尺寸为 960 pixel×720 pixel后进行场景理解以及避障路径规划,根据规划结果指导机器人行驶方向。为方便与同类型方法对比,实验测试主要借鉴文献[9]的方案,将机器人行驶道路分为直行、左转、右转和停止4种命令,分别测试机器人在不同道路上的场景理解效果以及避障规划后输出的转向命令准确性。测试对比结果如表6和表7所示,机器人避障规划路径如图9所示。其中,栅格地图维度默认是输入图像长宽的1/20。

表6 场景理解程度对比

表7 机器人避障效果对比

(a)原图 (b)场景理解 (c)C空间 (d)避障规划

根据上述测试结果可以看出,与同类型机器人场景理解网络对比,本文所提方法场景理解精度平均提升了1%以上,效率基本保持居中水平。同时,在避障效果上,文献[9]通过多任务方式同时考虑全局和局部信息,相对于文献[10]避障效果更优,但效率相对较低。而本文所提避障策略相对于文献[9-10]更合理,避障效果也更佳,但A*算法的引入降低了避障效率。考虑到机器人行驶时道路场景重复率高,为了提升效率,引入了特征差分模块。为验证该模块的有效性,实验选取了无障碍物的直行道路和有障碍物的避障道路对其进行了测试,实验结果如表8和图10所示。

表8 引入自适应控制模块前后测试结果

图10 有无障碍物时前后2帧特征差异

由上述结果可以看出,引入特征差分模块后,对于无障碍物的直行道路,前后2帧图像的可行道路区域差异较小,过滤了大量重复计算,使所提方法的效率得到了大幅提升;而对于存在障碍物的道路,前后帧的差异相对较大,机器人需要实时计算场景信息,算法效率提升较小,但可以有效保障机器人准确避障。尽管所提方法在避障时的效率仍相对较低,但考虑到实际机器人巡检过程中,如果道路上出现障碍物时,巡检机器人通常会降低行驶速度,相对而言将会有更多时间进行避障计算,基本满足巡检机器人在实际应用对实时性的需求。综上可见,本文所提方法可以有效地实现场景理解和避障路径规划,并能较好地应用于实际场景中,辅助巡检机器人高效完成导航避障。

4 结束语

本文针对现有巡检机器人在视觉导航避障方面存在的不足,提出了一种融合场景理解与A*路径规划的机器人避障方法。该方法以编码-解码结构为基本架构,采用特征层密集短接以及金字塔上采样方式构建深层场景理解网络,获取巡检机器人道路环境信息;结合机器人自身维度信息,将场景信息预处理后提取可行道路区域,并转化为二维栅格地图;基于栅格地图,利用A*路径规划算法规划出机器人避障路线,进而指导机器人实现导航避障。同时,考虑到实际道路场景的高重复性,引入了特征差分模块,极大地降低了算法对冗余信息的计算,保障了所提方法在实际应用中的实时性。通过实验证明,本文所提方法可以有效地获取道路场景信息,并能准确高效地为巡检机器人规划出避障路线,进而实现实时自主导航避障。

本文所提方法尽管目前与同类型算法相比取得了较好的结果,但随着巡检机器人行驶环境愈发复杂,需要考虑的环境因素也将更多,所提方法也需进一步完善优化。因此,对于复杂的道路场景,后续仍需要深入研究。

猜你喜欢

栅格道路机器人
坚持中国道路——方向决定道路,道路决定命运
道听途说
基于邻域栅格筛选的点云边缘点提取方法*
我们的道路更宽广
基于A*算法在蜂巢栅格地图中的路径规划研究
一次骑行带来的感悟
机器人来帮你
认识机器人
机器人来啦
不同剖面形状的栅格壁对栅格翼气动特性的影响