关闭
高端服务

基于视觉SLAM的实例地图构建方法

所属栏目:科学技术论文 时间:2021-07-19

  摘要:机器人在利用视觉传感器进行同步定位与建图(simultaneouslocalizationandmapping,SLAM)的过程中未使用实例信息,对环境感知不充分,构建的地图精度低,该文给出了一种融合目标检测和点云分割的视觉SLAM实例建图方法。首先,利用改进的轻量级目标检测算法YOLOV4-tiny提取环境二维图像的实例信息;其次,给出一种点云分割的方法,将二维图像信息对应的三维点云进行物体实例分割,提升分割精度;最后,将分割后的实例导入ORB-SLAM2框架中,构建出具有实例信息的高精度点云地图。实验结果表明:改进后的YOLOV4-tiny目标检测算法在构建的数据集上检测的准确率提升8.1%,改进的点云分割方法与LCCP算法相比,物体平均分割率提升12.5%,真实环境下构建的实例地图精度优于ORB-SLAM2算法构建的地图。

  关键词:同步定位与建图(SLAM);目标检测;点云分割;实例地图;YOLOV4-tiny

地图测量

  0引言

  基于视觉的机器人SLAM[1-2]在很多领域得到了广泛应用。为了能在地图中对环境中的物体进行直观的表示[3],研究者做了大量的工作。文献[4]将离线提取的物体实例信息存储在识别码中,机器人通过对识别码的解读,完成物体实例信息的获取而建图;文献[5-6]将目标识别线程并行加入到SLAM框架,物体被成功识别后被插入地图,但其需要事先生成目标模型。为了能实时构建环境中的物体模型,文献[7]设计了一种稠密SLAM建图系统,使机器人能够以物体级别描述地图场景。但地图精度低,地图中的物体实例不能很好地体现。深度学习方法可以对环境中的物体实例进行有效检测和分割[8]而被引入视觉SLAM领域。

  文献[9]将视觉SLAM算法与目标检测框架SSD[10]结合,生成带有语义信息的地图;文献[11]利用目标检测网络提取二维图像标签,结合三维几何信息构建出稠密语义地图;文献[12]提出的MaskFusion系统不需要已知的对象模型实现地图构建,但语义分割网络不能实时运行;文献[13]利用深度卷积神经网络对图像进行像素级分割,采用并行线程,实时提取实例信息。但是上述方法所使用的深度学习网络结构复杂,对硬件要求高。综上所述,利用轻量级网络对物体实例信息进行提取,构建高精度的SLAM点云地图是研究者们要继续探讨的问题。本文给出了一种融合目标检测和点云分割的视觉SLAM实例建图方法。

  该方法以ORB-SLAM2算法[14]为框架,通过改进的轻量级目标检测算法YOLOV4-tiny[15]来提升目标实例的检测精度;随后将含有目标检测框的关键帧图像进行二维分割,分割结果与三维点云分割结果融合,快速实现对物体的实例分割;最后建立存储物体实例信息的物体库,设置相应的匹配机制对物体库进行更新,构建出高精度的实例级点云地图。

  1YOLOV4-tiny算法改进

  机器人在现实场景下构建地图,需要快速对环境实例进行检测识别,轻量级的检测模型具有更大的优势。本文使用的YOLOV4-tiny是一种轻量级检测网络,利用2个不同尺度的YOLOHead输出层,分别负责检测大目标物体和小目标物体,具有更快的处理速度。但是其检测精度相对于大型检测网络会有所下降,尤其是对小目标物体的检测。基于此,通过调整网络结构,运用优化策略,对YOLOV4-tiny算法进行改进,提高检测精度的同时兼顾实时性。

  1.1模型改进

  相比YOLOV4[16]的深层次结构和巨大参数量,YOLOV4-tiny轻量级网络结构简单,网络参数少,具有更快的检测速度。由于YOLOV4-tiny在特征加强层只采用了1个特征金字塔结构[17],没有像YOLOV4那样再进行下采样,导致特征信息提取不足;网络深度不足也会导致高维空间中的冗余信息被过度利用,降低目标检测的准确性。因此,为了保持精度和速度的平衡,设计2个相同的残差网络模块[18]作为辅助模块,提取更多的物体特征信息,增强模型对目标的特征提取能力,降低检测的误差。

  残差网络模块首先利用2个3×3卷积提取全局特征,增加网络深度,学习输入图像中更深层次的信息。原始的高维空间中含有冗余信息,会对目标检测造成影响,降低准确率。随后通过引入1×1的卷积层对其实现降维,加快网络学习速度,减少冗余信息所造成的误差,提高识别的精度。同时为了获取更多目标的细节信息,抑制无关物体所对应的信息,使用通道注意力和空间注意力机制[19]提取更有效特征。

  由于浅层特征到深层特征的传递路径较长,其边缘信息特征容易丢失,导致数据利用率低、检测精度不理想,为充分利用特征信息,采用级联操作将第1个卷积网络的输出特征与空间注意力机制的输出特征进行特征融合,作为残差网络模块的输出特征,这样保留了特征重复使用的特点,提升数据利用效率。最后,将最终的残差网络输出特征与骨干网络中剩余网络的输出特征相结合,作为下一个骨干网络的输入特征,使改进后的骨干网络能够提取出检测对象的全局和局部特征,摒弃与检测目标无关的信息,进一步提高检测的准确性。

  1.2检测优化

  目标检测算法会输出多个检测边框,原有的YOLOV4-tiny算法利用非极大值抑制(non-maximumsuppression,NMS)算法[20]去除重复的检测边框,达到每个物体只有1个检测结果的目的。若当前检测框和最高得分检测框的交并比大于阈值时,会直接将该检测框的得分置零,这将导致重叠区域较大的目标被漏检,降低算法的平均检测率。针对上述问题,采用Soft-NMS抑制算法[21]来提升性能。

  Soft-NMS抑制算法可将当前检测框得分乘以一个权重函数,该函数会衰减与最高得分检测框M有重叠的相邻检测框分数,越是与M框高度重叠的检测框,其得分衰减越严重,但并不会将检测框直接删除。为此文中选择高斯函数为权重函数,从而修改其删除检测框的规则,解决物体重叠时的检测问题。

  2点云分割方法

  采用RGB-D相机作为视觉传感器,可以获取环境的二维彩色图像和相应像素的深度图构建出三维点云。而大多数三维点云分割算法仅仅利用环境中的三维点云信息进行分割,忽略了对应的二维图像信息。为优化实例层次的分割效果,得到准确率更高的物体分割结果,设计一种融合二维图像信息的三维点云分割方法。

  1)二维实例模型分割。采用GrabCut算法[22]对目标检测后的关键帧图像进行二维实例模型分割。用RGB三通道混合高斯模型(Gaussianmixturemodel,GMM)描述目标模型和背景模型的像素分布,通过迭代学习获取物体和无关背景的混合高斯模型参数,评估分割的优劣程度,得到最优的物体分割结果。2)三维点云实例分割。物体的实例分割通过三维点云分割实现。

  3实例地图构建

  3.1系统框架

  在原始ORB-SLAM2框架的跟踪、建图和回环检测三线程结构中加入YOLOV4-tiny目标检测线程、点云分割线程和物体库构建模块,构建本文建图方法的整体框架。

  3.2地图维护

  依前文所述方法构建实例地图的过程中,需要建立地图物体库存储采集到的实例物体信息,该物体库包含物体的属性信息、类别与概率、中心坐标、对应的关键帧和目标物体的三维点云模型。为了提高建图的效率,本文在SLAM建图的数据关联环节设置了筛选机制,在新目标物体加入地图中时进行判定。对于新检测到的物体,首先根据物体类别进行筛选,然后计算新点云模型与物体库中候选点云模型的点云重合度,如果重合度大于设定阈值,则认为是同一个目标,完成物体实例与物品库中对象的目标关联,共同维护物体模型,否则添加新的物体模型,并更新物品库中对象的属性信息。

  4实验与分析

  本文实验运行平台为Ubuntu16.04的操作系统,处理器型号为GTX2080TiInteli7-6800k。在自己构造的数据集和TUM数据集[24]上进行了实验,验证本文建图方法的可行性。

  4.1目标检测实验与分析

  4.1.1数据集及评价指标

  在COCO数据集[25]的基础上,结合实际的实验室环境,采集几种常见的物体数据一起作为样本数据,构建样本数据集。将构造的样本数据集分成独立的训练集、测试集和验证集3个部分,并在训练之前对数据集进行了预处理。预处理的方式主要有使用原始图片、对输入图像采用随机尺度、图片镜像、随机调整曝光和饱和度等。

  物体类别的选择应同实验场景的检测相符合,主要完成6种室内常见物体的目标检测,分别为显示器、键盘、鼠标、椅子、杯子和书本。在检测结果中会显示为:Tvmonitor、Keyboard、Mouse、Chair、Cup和Book。在构建的数据集上测试目标检测算法的检测精度和运行效率,以平均精度均值(meanaverageprecision,MAP)和每秒处理帧率(framespersecond,FPS)作为衡量标准,并与MobileNet-SSD,MobileNetV3,YOLOV3-tiny,YOLOV4-tiny等算法进行比较。

  4.2点云分割实验与分析

  4.2.1数据集及评价指标实验场景的选取

  为TUM数据集rgbd_dataset_freiburg1_desk,其中包含了600对RGB彩色图像和深度图像。为了评价分割方法的有效性,选取PCL点云库中的区域增长分割(regionalgrowthsegmentation,RGS)算法和基于凹凸性的分割(locallyconvexconnectedpatches,LCCP)算法与所提方法进行对比,从运行时间和物体平均分割率两个方面进行分析,物体平均分割率表示对每一物体分割的正确率,衡量物体精准分割的性能。

  4.3建图实验与分析

  将上述目标检测和点云分割的方法作为单独的线程加入ORB-SLAM2框架当中,利用实验室环境对本文建图方法的有效性进行验证,并且在建图精度和方法性能方面进行评价。原始ORB-SLAM2系统构建的地图精度较低,地图中的物体实例轮廓不完整且重影大,鼠标等小物体很难在地图中被识别。显示本文方法构建的点云地图能够更加直观地表现出实例信息,地图中物体轮廓表现的更加完整,地图精度有明显提升。完成原始地图与实例地图的比较后,对真实环境构建的地图信息进行时间方面的分析,并添加与系统相似的主流方法作为参考。

  由于对物体实例进行了目标检测和点云分割处理,本文构建的实例地图中所包含的点云数量大约为ORB-SLAM2构建地图的2倍,能够提升物体点云的分割率,点云地图中的物体实例轮廓更完整。同时,检测线程的增加,使得建图过程的时间增加,结合YOLOV3的建图方法由于检测算法结构复杂,虽然地图中的点云数量增多,但对场景的单帧平均处理时间相较本文方法慢了0.08s左右,本文对轻量级检测算法YOLOV4-tiny的改进,有效提高了计算效率。总体来说,本文建图方法在保证运行时间的同时能够生成更精确的实例级点云地图,验证了本文方法的可行性。

  5结语

  传统视觉SLAM不能对周围环境进行实例信息感知,导致建图精度不高,本文提出了一种基于视觉SLAM的实例建图方法。在ORB-SLAM2系统框架下,首先采用改进的YOLOV4-tiny轻量级目标检测网络识别物体实例,兼顾实例信息提取的准确性和实时性,相对于原检测网络,检测准确率提升8.1%;其次,利用改进的点云分割方法,将二维图像信息与三维点云信息的分割结果进行融合,提高对地图中实例物体的分割精度;最后,通过构建物体库来进行地图维护,实现三维物体实例的数据关联与模型更新,构建出精确的实例级点云地图。

  电子论文投稿刊物:智能系统学报期刊主要刊登神经网络与神经计算、智能信息处理、自然语言理解、智能系统工程、机器翻译、复杂系统、机器学习、知识工程与分布式智能、机器人、智能制造、粗糙集与软计算、免疫系统、机器感知与虚拟现实、智能控制与智能管理、可拓工程、人工智能基础、生物信息学与人工生命等内容。

  实验结果表明,相较于原始的ORB-SLAM2建图系统,本文方法构建的点云地图能够保留物体的实例信息,小物体也能很好的在地图中被识别,地图精度提升显著。但本文方法的运行时间有所增加,下一步的研究重点在于保证建图精度的同时提升运行效果。

  参考文献(References):

  [1]王霞,左一凡.视觉SLAM研究进展[J].智能系统学报,2020,15(5):825-834. WANGX,ZUOYF.AdvancesinvisualSLAMresearch[J].CAAITransactionsonIntelligentSystems,2020,15(5):825-834.(inChinese)

  [2]程禹,王晓华,王文杰,等.基于改进AKAZE算法的图像特征匹配方法[J].西安工程大学学报,2020,34(4):51-56.CHENGY,WANGXH,WANGWJ,etal.ImagefeaturematchingmethodbasedonimprovedAKAZEalgorithm[J].JournalofXi’anPolytechnicUniversity,2020,34(4):51-56.(inChinese)

  [3]DAVISONAJ,REIDID,MOLTONND,etal.MonoSLAM:real-timesinglecameraSLAM[J].IEEETransactionsonPatternAnalysisandMachineIntelligence,2007,29(6):1052-1067.

  作者:王晓华,李耀光,王文杰,张蕾

更多学术问答


Copyright 2002-2023 www.qikanzj.com 京ICP备16051962号