基于视觉的同步定位与地图构建(视觉SLAM)是目前计算机科学中重要的研究领域,是无人驾驶、环境感知、机器人等领域的重要技术。近些年,随着深度学习的迅猛发展,语义分割作为其核心衍生技术之一,拓展出了非常广泛的应用场景,为人类提供了像素级别的图像理解。为了结合语义分割与视觉SLAM,探索语义分割在视觉SLAM中的应用,本文基于ORBSLAM2与SegNet语义分割网络,探讨并提出一种在语义SLAM中,满足实时语义信息获取要求的关键帧选择策略。并通过语义延迟性能测试,结果表明,改进后的选择策略能保证使用的关键帧的语义信息与其他线程使用的帧是较为接近的,并且延迟性能优于传统的顺序关键帧选取策略。
同步定位与建图算法(SLAM)是机器人利用相机、激光和里程计等传感器来构建未知环境地图并实现自我定位的过程,它在机器人自主完成任务中起着关键作用。传统的SLAM 根据传感器设备获取环境信息的不同,可以主要分为两类,一类是基于雷达的激光SLAM。激光SLAM 主要使用激光雷达测距原理来感知环境,获得机器人与周边环境的距离信息。这类方法获取信息单一,构建地图较为简单,硬件成本高。但其优势是结果精确。另一类是基于摄像头的视觉SLAM,视觉SLAM 主要是通过单目、双目或RGBD 相机传感器获取周边环境的图像信息。其成本低,性价比高,获取的信息量大[1]。
传统的SLAM 技术只能构建关于环境的几何结构地图,帮助机器人执行一些低层次的定位和导航任务。以ORBSLAM [2]为例,机器人无法通过以ORB 特征为路标点的稀疏点云地图理解更高级的物体意义,同样难以满足智能环境交互的要求。但随着近年来深度学习的发展,语义分割作为一项重要的分支在计算机视觉领域崛起。语义分割通过卷积神经网络获取图像中像素级别的信息,理解空间中目标物体的坐标点和语义属性,语义信息同时包含空间环境的几何信息和高层次信息。语义信息与视觉SLAM 相结合,这让机器人拥有了在不同的环境中帮助人类完成复杂工作的能力,使得机器人能够感知和理解所处环境的信息。这对于人机交互、无人驾驶的实现有着非常重大的意义。
2. 相关工作 2.1. 语义分割 随着计算机视觉的迅速发展,以卷积神经网络为基础实现的语义分割已经成为计算机视觉领域的重要分支。语义信息的提取主要通过神经网络来完成,其前置任务是目标检测,不仅要将目标检测出来, 还要与其他物体做出准确的类别分割。
剑桥大学提出的SegNet [3]网络使用最大池化索引在解码器中进行上采样,提高了输出准确率。U-Net [4]网络允许解码器通过跳转连接体系结构汇集编辑器丢失的特征, 从而解决了信息丢失的问题。
PSPNet [5]模型设计了金字塔池化模块, 并通过引入空洞卷积和扩张策略来修改ResNet [6]架构,在多个数据集上表现出良好的性能。
本文在实验期间, 主要以SegNet 为例, 在此基础上, 对比不同关键帧的优化选取方法的效果。
SegNet是一种用于语义分割的深度全卷积神经网络结构,其核心由一个编码器网络和一个对应的解码器网络以