論文地址:
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)