本文以“CoSLAM: Collaborative Visual SLAM in Dynamic Environments”为题,发表于《IEEE Transactions on Pattern Analysis and Machine Intelligence》,作者为来自新加坡国立大学电子与计算机工程系的Danping Zou和Ping Tan。
视觉同时定位与建图(Simultaneous Localization and Mapping, 简称SLAM)是计算机视觉与机器人领域的重要研究方向,主要通过视觉传感器实时构建3D场景地图并完成自定位。这项技术在虚拟现实、机器人导航与无人驾驶等应用中有着广泛实践。然而,传统基于单摄像头的SLAM系统主要针对静态环境,在动态环境下容易受到干扰。此外,传统方法的准确性和鲁棒性在面对复杂动态场景时存在重大限制,尤其当场景中动态点占较大比例时,算法通常失效。更进一步地,为动态环境构建精确3D运动目标轨迹的需求(例如碰撞检测和路径规划)也很难通过单一摄像头实现。
为解决上述问题,本文提出了一种协作式视觉SLAM(Collaborative Visual SLAM, CoSLAM)系统,旨在整合多个独立移动的摄像头,通过协作共同完成全球3D地图的构建,同时估计动态环境中物体的3D运动轨迹。此研究的目标包括加强动态场景中SLAM算法的鲁棒性,提高在静态场景中的精度,并扩展SLAM系统在多摄像头配置中的应用范围。
本文研究包括多个核心组件,分别详细描述了整个CoSLAM系统的架构、关键模块及算法实现方式。
研究中所用摄像头在初始状态下需进行相机内参标定。每个摄像头被视为一个输入传感器,其输入图像被用于全局地图的构建与相机位姿的实时计算。CoSLAM系统架构设计包括了四个主要模块: 1. 相机位姿估计(Camera Pose Estimation) 2. 地图构建(Map Building) 3. 点分类(Point Classification) 4. 相机分组(Camera Grouping)
图像特征由Kanade-Lucas-Tomasi(KLT)特征跟踪器检测并跟踪。系统假设所有摄像头最开始能够观测到某一共同初始场景,用于系统初始化。随后,摄像头位姿通过匹配2D图像特征点和3D地图点来估计。
研究设计了两类位姿估计方法,以适应不同场景: 1. 单摄像头位姿估计(Intracamera Pose Estimation): 在该模式下,跟踪每个摄像头中静态特征点的特征轨迹,利用这些点计算位姿。当静态点较少分布范围较狭窄时,该方法可能失效。 2. 多摄像头协作估计(Intercamera Pose Estimation): 当静态点较少或分布不均时,引入动态点,用于协同估计所有摄像头的相对位姿。在同一组视域重叠的摄像头之间,通过动态点的重投影误差与静态点联合优化计算位姿。
研究提出了一种动态管理相机分组的方法: - 根据视角重叠检测视域共有特征点的数量,相机被动态分组。每个分组中的摄像头视域具有共享范围。 - 当摄像头因分离丧失视角重叠时,相机组将拆分成多个分组;当分组重新获得重叠视域时,系统进行地图与位姿信息的合并。
两组相机间的相对位姿通过一致性校准进行更新。地图合并需要调整同一物体在不同分组中被重复重建的问题,从而生成全局一致地图。
研究在Ubuntu系统下进行开发,并利用GPU加速图像特征跟踪。系统平均帧率为38ms,其中多摄像头协作过程因复杂计算导致时延增加。对于12台独立移动摄像头的测试,尽管平均帧率下降至1帧/秒,但实验验证了系统分组、分裂与合并能力。
本研究在SLAM研究领域提供了以下创新和贡献: 1. 系统创新性: 提出了一种多摄像头独立移动情况下的协作式SLAM方案,兼顾静态与动态环境。 2. 算法与应用价值: 动态场景下,通过动态点辅助多摄像头协作位姿估计,实现了移动目标的轨迹重建,为无人机群体协作、机器人团队操作及可穿戴设备提供了良好的技术基础。 3. 鲁棒性与精度优势: 相较传统方法,CoSLAM在复杂动态场景中的表现出众,能有效解决动态点占比较高或视域重叠变化时传统SLAM算法失效的问题。
CoSLAM系统的亮点在于首次结合多摄像头协作解决动态环境下的SLAM问题,为群体机器人感知与无人机群体导航等场景奠定实际基础。未来发展可集中在: 1. 实时系统集成: 构建在线SLAM流程。 2. 多设备分布式计算: 实现分布式协作式SLAM方案。 3. 非同步摄像头支持与优化: 适配更多样化摄像头配置并提升效率。