3D具身基礎模型!北大提出Lift3D賦予2D大模型魯棒的3D操縱能力
為了構建魯棒的 3D 機器人操縱大模型,Lift3D 系統性地增強 2D 大規模預訓練模型的隱式和顯式 3D 機器人表示,并對點云數據直接編碼進行 3D 模仿學習。Lift3D 在多個仿真環境和真實場景中實現了 SOTA 的操縱效果,并驗證了該方法的泛化性和可擴展性。
該項目由北京大學和北京智源研究院的仉尚航團隊研究,作者包括北京大學博士生劉家銘、賈越如、陳思翔、顧晨陽、王之略、羅瓏贊等。HMI 實驗室長期致力于具身智能和多模態學習領域的研究。
- 論文鏈接: https://arxiv.org/pdf/2411.18623
- 論文標題:Lift3D Foundation Policy: Lifting 2D Large-Scale Pretrained Models for Robust 3D Robotic Manipulation
- 項目主頁: https://lift3d-web.github.io/
- 代碼鏈接: https://github.com/PKU-HMI-Lab/LIFT3D
1. 摘要
3D 幾何信息對于機器人操縱任務至關重要,因為機器人需要感知三維環境,推理空間關系,并與復雜的幾何物體進行交互。近年來,研究逐漸聚焦于顯式提取 3D 特征,但仍面臨諸如:缺乏大規模機器人 3D 數據和潛在的空間幾何信息丟失等挑戰。為了解決這些問題,我們提出了 Lift3D 框架,通過隱式和顯式的 3D 機器人表示逐步增強 2D 大規模預訓練模型的 3D 空間感知能力,從而構建一個魯棒的 3D 操縱策略。具體來說,我們首先設計了一個任務感知的掩碼自編碼器,該自編碼器通過 Mask 與任務相關的 Affordance token 并重建深度幾何信息,增強了 2D 基礎模型的隱式 3D 機器人表達能力。在自監督微調之后,我們引入了一種 2D 基礎模型 Lifting 策略,該策略在輸入 3D 點和 2D 模型的位置編碼之間建立了位置映射關系。基于該映射,Lift3D 利用 2D 基礎模型直接顯式的編碼點云數據,借助大規模預訓練知識提升 3D 模仿學習效率,同時最小化空間信息丟失。
圖 1: 為了賦予大規模 2D 預訓練模型 3D 操控能力, Lift3D 首先通過 mask 任務相關的 affordance 區域和深度重建,以提升隱式 3D 機器人表示;隨后通過利用預訓練的 2D 位置嵌入來直接編碼 3D 點云數據,進行顯式 3D 操縱模仿學習。Lift3D 在各種仿真(i.e., 機械臂,靈巧手)和現實世界任務中展現出強大的魯棒性和令人驚訝的效果
為了全面評估我們提出的 Lift3D,我們在三個模擬器和多個真實場景中進行了廣泛的實驗,包括 30 多種不同的機械臂 gripper 和靈巧手操控任務,如圖 1 所示。Lift3D 在各種任務上均表現出色,即使僅使用最簡單的 MLP 策略頭和單視角點云,也能夠展示魯棒的操縱能力和對機器人 3D 空間感知的理解。同時,我們通過逐步增加模型的參數量至 1B,驗證了我們方法在多個復雜任務上的可擴展性。在真實世界實驗中,Lift3D 在每個任務上只需 30 個 demonstration 的數據即可學習新的操控技能。為了評估 Lift3D 的泛化能力,我們在真實世界測試過程中融入了不同的操縱物體、背景場景和光照條件。Lift3D 展現出強大的泛化能力,能夠有效利用 2D 大規模預訓練知識和全面的 3D 機器人表示。
2. 研究背景
基于視覺的操縱策略的核心目標之一是理解場景并預測相應的 3D 位姿。一些現有的方法利用 2D 圖像作為輸入,通過強化學習或模仿學習直接預測 3D 末端執行器的位姿。盡管這些方法能夠有效地處理一系列操縱任務,但它們未能完全理解物理世界中的空間關系和 3D 結構。在機器人操縱中,3D 幾何信息對于應對復雜任務至關重要,因為機器人必須感知 3D 環境、推理幾何關系并與復雜的空間物體進行交互。
近年來,研究越來越多地集中在機器人操縱任務中顯式提取 3D 特征表示,這些方法可分為兩類:1)一些方法直接編碼點云數據,通過從頭開始訓練 3D 策略模型或微調預訓練的點云編碼器(例如 PointNet++ 和 PointNext)。然而,由于缺乏大規模機器人 3D 數據和基礎模型,限制了它們的泛化能力。此外,處理 3D 或體素特征需要大量計算資源,這限制了其可擴展性和在現實世界應用中的可行性。2)另一方面,一些方法涉及模態轉換,例如將預訓練的 2D 特征提升到 3D 空間,或將 3D 點云投影到多視角圖像中,以供 2D 預訓練模型輸入。盡管在一些后續的操縱任務中表現出色,但這些模態轉換不可避免地導致空間信息的丟失,并不能完全激發模型對 3D 空間關系的理解。
基于上述 3D 策略中的挑戰,我們提出了一個問題:“我們能否開發一個即有大規模預訓練知識,又融合完整 3D 空間數據輸入的 3D 策略基礎模型?”
3. Lift3D 方法
3.1 貢獻概述
- 我們提出了 Lift3D,通過系統地改進隱式和顯式的 3D 機器人表示,將 2D 大規模預訓練模型提升為魯棒的 3D 操縱策略模型。
- 對于隱式 3D 機器人表示,我們設計了一種任務感知 MAE(Mask Autoencoder)自監督方法,它對任務相關的可操作區域進行掩蔽,并重建深度幾何信息,從而增強 2D 基礎模型的 3D 空間認知。
- 對于顯式 3D 機器人表示,我們提出了一種 2D 基礎模型 lifting 策略,利用 2D 基礎模型的預訓練位置編碼(PE)來編碼 3D 點云數據,用于 3D 操縱模仿學習。
3.2 Task-aware Masked Autoencoder (隱式 3D 機器人表示)
圖 2: Lift3D 的整體流程。a) 對于隱式 3D 機器人表示,我們利用 CLIP 離線提取基于任務描述的圖像注意力圖,并將其反向投影到 2D 輸入圖像上,以指導 MAE 的掩碼。然后,我們將可見的 tokens 輸入 2D 基礎模型進行特征提取。掩碼 tokens 和編碼后的可見 tokens 經過 MAE 解碼器進行深度重建,從而增強 3D 空間感知。同時,編碼后的可見 tokens 還會通過與原模型的特征進行蒸餾,以減輕災難性遺忘問題。b) 對于顯式 3D 機器人表示,我們首先將點云數據投影到多個虛擬平面上,建立 3D 輸入點與每個虛擬平面上的 2D 位置嵌入(PEs)之間的位置映射。映射完成后,我們將每個 3D 補丁對應的 2D PEs 進行平均,形成統一的 3D 位置嵌入(3D PEs),然后將其與 3D tokens 結合。這些 3D tokens 是通過將點云輸入輕量級 3D 分詞器生成的。最后,來自 2D 基礎模型的輸出特征通過策略頭進行處理,以預測模仿學習的位姿。
一些研究表明,2D 基礎模型在各種下游機器人任務中展示了強大的操縱和泛化能力。在此基礎上,Lift3D 首先增強了 2D 基礎模型中的隱式 3D 機器人表示。現有的機器人 MAE 重建方法大多采用隨機掩碼。然而掩碼部分可能主要包含無關的背景信息,這會阻礙對于前景物體表示的有效學習。不同于之前的方法,Lift3D 的目標是掩碼與任務相關的 Affordance token,并重建深度幾何信息,從而增強 2D 基礎模型的 3D 空間感知能力。
具體而言,利用來自機器人操作的大規模數據集來構建 MAE 訓練數據集,該數據集包括從視頻中隨機抽取的 100 萬個訓練樣本,包含配對的圖像和深度數據。如下圖 2 a) 所示,具體的操作步驟如下:
1. 一旦獲得數據,使用多模態模型(例如,CLIP)基于任務特定的文本描述生成圖像 attention map。例如,圖 2 中提取 attention map 的文本提示是:“機械臂將紅色碗放入灰色碗中”。然后,這些 attention map 會被雙線性插值并反投影到輸入圖像上,用于引導 MAE 的 mask 策略。為了區分與任務相關的可操作性標記和背景標記,我們對所有標記的注意力值應用一個閾值進行過濾。與之前的方法一致 [28],我們也隨機遮掩背景標記,以達到所需的比例(即 r=0.75)。
2. 重建目標在遮掩圖像建模中起著至關重要的作用,直接影響特征表示的學習。先前的機器人 MAE 方法通常使用低級的 RGB 信息作為重建目標 [52, 60, 62]。為了增強 2D 基礎模型的 3D 空間感知能力,我們重建任務相關的可操作性圖像塊和隨機選擇的背景圖像塊的深度信息。
3. 為了保持基礎模型的固有能力,引入蒸餾損失,約束可見標記輸出和原本 2D 預訓練模型中對應特征之間的距離。在第一階段的訓練過程中,我們通過重建和蒸餾損失來微調注入的適配器和解碼器,損失函數公式為:
3.2 2D Model-lifting Strategy (顯式 3D 機器人模仿學習)
在賦予 2D 基礎模型隱式的 3D 機器人感知能力后,我們引入了一種 Lifting 策略,使 2D 模型能夠顯式地理解點云數據。近期的工作,無論是將 3D 點云投影到多視圖圖像中,還是將 2D 特征提升到 3D 空間中,都面臨由于模態轉換而丟失空間信息的挑戰。因此,高效地編碼 3D 數據一直是 3D 機器人領域的一個關鍵研究方向。
對于基于 Transformer 的 2D 模型,位置嵌入(PEs)起著重要作用,因為它們為注意力機制中的輸入 token 提供了位置信息。然而,直接創建新的 3D 位置嵌入來編碼 3D token 可能會引入語義差異,這些差異源于預訓練的 2D 基礎模型與新添加的 3D 位置嵌入之間的不同,從而可能導致大規模預訓練知識的喪失。因此,受 [23, 24, 71] 啟發,將 3D token 投影到多個虛擬平面上。與之前的工作不同,我們的投影過程并不是為了構建模型的輸入,而是為了在輸入的 3D 點和每個虛擬平面的預訓練 2D 位置嵌入之間建立位置對應關系。然后,這些 2D 位置嵌入被用于直接編碼 3D 標記。
如圖 2 b) 所示,我們將原始的點云數據轉化為高維空間 (B x 128 x 768),通過輕量級的 3D 標記器獲得 k 個(k = 128)3D token。3D tokenizer 由最遠點采樣、k - 最近鄰聚合算法和可學習的線性層構成,用于特征編碼。隨后,每個 3D 坐標投影到 n 個虛擬平面上,得到相應的 3D 到 2D 的坐標對應。投影機制無可學習參數且高效,我們采用帶有 6 個面的立方體投影方法,有效捕獲空間信息。這 n 個虛擬平面對應于 n 個原始的 2D 位置嵌入。
使用 3D 到 2D 坐標對應,將每個 3D token 分配到 n 個原始 2D 位置嵌入。在將每個 3D 標記與 n 個 2D 位置嵌入對齊后,我們通過平均值的方式創建一個統一的 3D 位置信號,表示為:
將 3D 位置嵌入與 3D tokens 結合,輸入到 2D 基礎模型中。通過這種方式,我們利用 n 個結合的原始 2D PEs 來編碼 3D tokens,從而有效地提供了 2D 空間內的多樣位置關系,并減輕了 3D 集合信息的丟失。來自 2D 基礎模型的輸出特征將通過一個簡單的 policy head 進行處理,以預測用于模仿學習的位姿。我們使用三層多層感知機(MLP)來構建策略頭。需要注意的是,我們的 Lift3D 編碼器可以輕松適配不同的解碼器或策略頭,例如 Diffusion Transformer, Large Language Model;這里使用 MLP 頭部是為了簡單驗證。最后,模仿學習的損失函數如下所示,其中 T、R 和 G 分別代表末端執行器位姿中的平移、旋轉和夾持器狀態。
4. 模擬器實驗
4.1 基準測試
從三個廣泛使用的操縱模擬器 benchmark 中選擇了 30 多個任務:MetaWorld 和 Adroit 在 MuJoCo 模擬器中的任務,以及 RLBench 在 CoppeliaSim 模擬器中的任務。點云數據通過使用相機外參和內參從單視圖 RGBD 數據中獲得。對于 MetaWorld,選擇了一個包含 Sawyer 臂和雙指夾持器的桌面環境,并從不同難度級別中選擇了 15 個任務。這些任務從兩個角落攝像頭視角捕捉,任務分類如下:簡單任務:按鈕按壓、抽屜打開、到達、拉手柄、插頭拔出、拉桿和旋鈕轉動。中等任務:錘子、清掃、垃圾桶取物、推墻和箱子關閉。難度較高任務:組裝、手伸入和架子放置。對于 Adroit 任務,重點是使用與 [52] 中相同攝像頭視角的靈巧手操作,包括了三個任務:錘子、門和鋼筆。對于 RLBench,它使用 Franka Panda 機器人和前視攝像頭。具體任務選擇見論文 Appendix。
4.2 基線對比
Lift3D 的創新之處在于系統性地增強了隱式和顯式的 3D 機器人表示。為了評估其有效性,將 Lift3D 與來自三個類別的 9 種方法進行了比較:
1)2D 機器人表示方法:選擇了 CLIP(ViT-base),它是一個 2D 基礎模型。此外,還包括了 R3M 和 VC1,這兩者都是 2D 機器人預訓練方法。
2)3D 機器人表示方法:借鑒了 [95],采用了基礎的 3D 模型,包括 PointNet、PointNet++ 和 PointNext。此外,還檢驗了 SPA ,這是之前的 SOTA 3D 機器人預訓練方法。與 [52] 相同,所有機器人表示方法均使用與 Lift3D 相同的三層策略頭和訓練損失。
3)3D 策略方法:Lift3D 與之前的 SOTA 3D 擴散策略(DP3)在 MetaWorld 和 Adroit 上進行了比較,并在 RLBench 上與 RVT-2 進行了比較。
4.3 定量實驗
如下表所示,Lift3D (CLIP) 在 MetaWorld 基準測試中達到了 83.9 的平均成功率,其中中等任務的準確率為 78.8,困難任務的準確率為 82.0。Lift3D 比 SOTA 2D 方法提高了 8.8 的平均成功率,比 SOTA 3D 方法上提高了 14.4。此外,Lift3D 在靈巧手操作任務上也優于以前的機器人表示和策略方法。需要注意的是,靈巧手在不同任務中有不同的自由度,其中 hammer, door, pen 任務分別具有 26、28 和 24 個自由度。這些結果表明,我們的方法在更復雜的靈巧手操作任務中同樣有效,得益于強大的 3D 機器人表示能力。Lift3D (DINOV2) 也展示了良好的結果,證明了該方法在其他 2D 基礎模型中的可行性。
5. 真機實驗
5.1 數據收集
在真機實驗設置中,我們使用 Franka Research 3 機械臂,并通過 Intel RealSense L515 RGBD 相機捕捉靜態前視圖。實驗包括 10 種任務:1)將瓶子放到架子上,2) 倒水,3) 拔掉充電器,4) 堆積積木,5) 撿起并放置物體,6) 滑動積木,7) 澆水,8) 擦桌子,9) 打開抽屜,10) 關上抽屜。對于每個任務,我們在不同的空間位置收集了 40 次演示,軌跡以 30 fps 進行記錄。我們選擇了 30 次實驗并提取了關鍵幀,用以構建每個任務的訓練集。
5.2 定量實驗
如下圖和下表所示,我們將 Lift3D (CLIP) 與 DP3、VC-1 和 PointNet 進行比較。結果表明,Lift3D 在多個任務中表現一致且良好。特別是在 “將瓶子放到架子上” 任務中,該任務要求精確的 3D 位置和旋轉預測,Lift3D 達到了 90 的成功率。結果表明,Lift3D 能夠有效理解 3D 空間場景,并在現實世界中做出準確的位姿預測。對于復雜任務 “擦桌子”,由于需要操縱可變形的物體,所有方法在精度上都面臨限制。盡管如此,Lift3D 仍然達到了 40 的成功率。
5.3 定性實驗
如下圖所示,展示了六個真實世界任務的操作過程。本文的方法準確預測了連續的 7 自由度末端執行器姿態,使得任務得以沿著軌跡順利完成。例如,在 “給植物澆水” 任務中,Lift3D 首先準確抓住了澆水壺的手柄。接著,它平穩地抬起壺并將其定位到植物上方。最后,夾持器逐漸旋轉以控制 “水流”。
6. 泛化性實驗
借助于 2D 基礎模型的大規模預訓練知識和全面的 3D 機器人表示,Lift3D 展現出現實世界泛化能力。如下表所示,我們設計了三種與訓練場景不同的現實世界測試場景,以驗證其泛化性能。
6.1 不同的操縱實例
Lift3D 在多種不同的操縱物體上表現出色,準確度損失最小。這一成功主要得益于預訓練的 2D 基礎模型在語義理解方面的強大能力。
6.2 復雜的背景場景
背景干擾顯著降低了所有方法的準確度,但 Lift3D 的準確度下降最小,操縱成功率保持在 50% 以上。這得益于在 3D 空間中有效利用大規模預訓練知識。此外,基于可操作性的掩膜策略通過重建強化了模型對前景區域空間幾何的理解,最大限度地減少了背景干擾的影響。
6.3 不同的光照條件
光照變化不僅會影響 2D 圖像的數據分布,還會影響深度捕捉,從而影響點云數據。在光照變化的影響下,Lift3D 僅表現出約 20% 的準確度下降,充分展示了其強大的 3D 機器人表示能力。
7. 可擴展性(Scalability)探究
在計算機視覺中,2D 基礎模型通常隨著參數規模的增加,能夠提升下游任務的表現。基于此,我們研究了我們提出的 Lift3D 策略是否也具有可擴展性。我們在非常困難的 MetaWorld 仿真任務 “shelf-place” 上進行了實驗。在這個復雜任務中,Lift3D(DINOV2-ViT-base)僅達到 28 的準確率。ViT-base 的參數量只有 86M,而 ViT-large 和 ViT-giant 的參數量分別為 304M 和 1B。通過將 2D 基礎模型替換為 DINOV2-ViT-large 和 DINOV2-ViT-giant,Lift3D 在 “shelf-place” 任務上的準確率分別提高到 60 和 68,并且收斂速度更快。這些改進表明,Lift3D 策略模型具有良好的可擴展性,且隨著更大規模的 2D 基礎模型,Lift3D 框架能夠生成更魯棒的操作策略。