论文地址:
https://fqnchina.github.io/QingnanFan_files/cvpr_2022_mapping.pdf
01 研究背景
构建室内场景的二维或三维地图是计算机视觉和机器人领域中的一项重要任务。机器人导航、增强现实等前沿应用都离不开场景地图的构建。在这个问题上,最原始的方法是派出技术人员,使用手持或车载传感器设备对场景进行人工扫描,随后将采集的数据合成成为场景地图。然而这样的方法严重依赖于技术人员的操作,很快被机器人自动建图的方法所取代。
主动建图(Active Mapping),即机器人在未知场景中主动地移动和采集数据从而自动化地构建场景地图的过程。该任务的难点在于如何高效地探索未知环境并构建完整的场景地图。传统算法大多基于贪心策略,因此效率有限;近几年基于机器学习的算法注重效率,然而无法保证地图的完整性。因此,我们将传统算法和机器学习相结合,同时吸取了传统算法地图完整度高和机器学习方法全局效率高的优点,提出了 NeuralCoMapping 算法。
02 本文方法
NeuralCoMapping 算法由四个模块组成:建图模块(Mapping Module),全局规划器(Global Planner),局部规划器(Local Planner)和动作控制器(Action Controller)。
图1. 算法流程
首先,各个机器人的传感器采集当前时间步的深度图(Image)和位姿数据(Pose),建图模块(Mapping Module)根据这些数据更新障碍物地图(Occupancy Map)。随后,障碍物地图被传入到局部规划器中。一同传入局部规划器的还有每个机器人的目标位置(Global Positions),这些目标位置由全局规划器(Global Planner)每隔一定时间进行全局规划得到。局部规划器根据每个机器人的当前位置和目标位置,在地图上计算出移动路线(Moving Trajectories),然后动作控制器(Action Controller)根据移动路线计算出当前时间步机器人应该采取怎样的动作(前进、左转或右转)。最终机器人采取动作控制器给出的动作,并等待下一个时间步的数据采集。
全局规划器的规划算法在主动建图中起到决定性作用,也是我们算法设计的核心部分。这一部分算法根据当前地图和机器人位置,决定每个机器人在下一次全局规划之前需要前往的目标位置,从而逐步探索场景并更新地图。
图2. 全局规划算法
具体地,我们首先从地图中提取两类节点,机器人位置(robots)和前沿点位置(frontiers)。前沿点也叫做边境点,指地图中位于已探索无障碍物区域和未探索区域的分界线上的点。基于这两类节点,我们将全局规划抽象成二分图匹配问题:为每一个机器人分配一个前沿点作为目标位置。以前沿点作为目标,机器人总是会向未知区域前进。当地图中不再有前沿点时,我们就得到了完整的场景地图。
为了实现全局规划之间的连续性,我们额外加入了两类辅助节点,历史机器人位置(history robots)和历史目标位置(history goals)。通过多路图神经网络(Multiplex Graph Neural Network),我们提取机器人和前沿点之间的距离代价,作为二分图匹配的关联矩阵(Affinity Matrix)。基于关联矩阵,我们使用线性分配层(Linear Assignment Layer)进行可微匈牙利算法(Differentiable Hungarian Algorithm),从而得到二分图匹配,即每个机器人分配一个前沿点作为目标位置。
03 实验结论
图3. 时间效率实验结果
我们在 iGibson 模拟器使用 Gibson 和 Matterport3D 数据集进行实验。具体地,我们在 Gibson 数据集随机选取9个场景进行训练,把剩余场景和 Matterport3D 数据集的场景用作测试。结果表明,与其他多机协同算法相比,我们提出的 NeuralCoMapping 在全局时间效率上具有显著优势。测试场景面积越大,NeuralCoMapping 表现出来的优势越明显。在 Matterport3D 场景中的测试结果也表明 NeuralCoMapping 对不同类型场景有很好的泛化性。
图4. 泛化性能实验结果
此外,NeuralCoMapping 在不同机器人数量上也表现出很好的泛化性。在三个机器人之上训练的模型,仍然能够直接应用在二或四个机器人之上(附加材料包含了多至九个机器人的泛化性实验),这归功于我们算法的层次设计:我们将复杂的全局规划问题抽象为对机器人数量不敏感的二分图匹配问题,从而能够利用多路图神经网络,使算法运行在任意数量的机器人上。
综上,我们将传统算法与机器学习相结合,提出了一种高效的多机协同算法 NeuralCoMapping,实现了对未知室内场景的自动化探索和完整地图构建。该方法对于多种未知场景和不同数量机器人具有卓越的泛化能力。
图文 | 叶开
Visual Computing and Learning (VCL)