关键词:
CVSLAM
数据压缩
算术编码
最小生成树编码
地图稀疏化
摘要:
协同视觉同步定位与建图(CVSLAM)技术是实现多机器人自主定位和环境感知的手段,成为近年来的研究热点。多机协同较之单机工作具有更好的实时性、鲁棒性、并且能够降低个体带载能力,在时间、精度、建图效果等方面均有提升,克服了单机作业时数据丢失以及信息量过大的缺点。在多机协同作业中,机器人之间的数据传输是其工作的重中之重,而在实际应用中,数据共享往往受到通信带宽的影响,所以研究高效的数据处理方法成为至关重要的环节。在CVSLAM过程中,为了提高协同建图效率,机器人个体之间必须进行信息交互和共享,而在进行信息交互和共享时需要考虑资源受限问题,因此,在资源受限下通过高效数据处理方法实现数据共享是机器人协同建图时必须要考虑的基础问题,而数据压缩方法能够有效提高数据处理能力。目前的数据压缩技术多数受到视频压缩技术中基于每一帧图像之间压缩的启发,并在其基础上进行研究拓展。传统的数据压缩方法依靠压缩视频的技术对CVSLAM个体所采集到的数据进行压缩处理,压缩数据量、降低系统运行时间,进而提升CVSLAM的高效性与实时性。近年来,随着CVSLAM系统的长足发展,基于数据编码以及地图稀疏化的数据压缩技术被认为优于传统基于视频压缩技术的方法。基于数据编码以及地图稀疏化的方法在解决数据冗余的问题上,能够避免传统方法易受数据采集结果以及环境因素干扰的缺点。本文在基于ORB-SLAM2的中心式协同CVSLAM框架下研究高效数据处理方法,研究工作如下:首先,针对CVSLAM中个体直接传输全部图像信息给中心站,存在数据量大、无法满足实时运行需求的问题,研究传输图像特征信息的高效数据传输方法。本文以图像压缩技术和编码理论为基础,研究了对图像的特征信息进行算术二进制编码的高效数据传输方法。该方法考虑基于ORB-SLAM2的集中式系统架构,其中处理能力有限的个体机器人提取二进制特征,并通过网络将压缩后的信息发送给信息处理能力更强大的中心站,中心站能够并行运行多个SLAM进程,利用来自其他个体的信息,建图的同时检测区域之间的重叠并进行随后的地图合并。使用算术二进制编码对机器个体采集的图像特征信息进行编码处理,以降低数据传输量、提高数据传输速度。在实验中,使用公开数据集KITTI00、KITTI07序列对数据压缩算法进行对比,实验结果表明所提出方法在保证定位和建图精度的前提下,可有效降低待传输的数据量,提高个体与中心站之间的数据传输效率。然后,为了提高中心式CVSLAM的个体机动能力,降低对中心站的依赖,研究了个体完成局部地图,中心服务站完成地图融合和处理框架下的高效数据方法。本文对地图点信息进行分析,利用地图点信息可以直观反映空间信息、且比特征点更加稀疏的特点,结合最小生成树理论,研究了基于最小生成树编码的地图点压缩编码方法。该方法对视觉信息进行特征编码,有效地压缩地图,使用最小生成树来连接作为单个地图点观测的所有特征。在KITTI和Eu Ro C数据集部分序列上的实验结果表明,所采用的方法减少了原始地图的数据量,同时降低了建图时间。最后,针对基于特征点的数据压缩和基于地图点的数据压缩方法都没有考虑数据本身存在冗余性的问题,故从地图点稀疏化的角度进一步研究有效降低数据传输的方法。该方法在地图点稀疏化过程中考虑最大地图点连通性、最大化空间多样性和最大化基线长度,在保证关键信息不丢失的前提下进一步降低需要传输的数据量。所采用的方法在保持建图过程中的位姿精度的同时,降低了数据量,并不影响整体建图效果,有效提高了中心式CVSLAM系统的实时运行能力和个体机动性。本文所采用的中心式多机协同定位与建图方法有效提高了多机协同作业时的高效性、实时性。通过对图像特征进行算术编码处理显著降低了信息的数据量,对地图点采用最小生成树编码良好的减小了个体的信息负担,并且引入的基于地图稀疏化的数据压缩方法降低了原始信息的冗余性。实验结果表明在不影响整体建图效果的前提下,所采用的方法明显降低了CVSLAM系统中数据传输过程中的数据量,同时缩短了数据传输时间。