Gemini 1.5 Pro裝進機器人,參觀一遍公司就能禮賓、帶路
最近,谷歌 DeepMind 突然開始炫起了機器人。
這個機器人可以輕松聽從人類指令、進行視覺導覽,用常識推理在三維空間中尋找路徑。
它使用的是最近谷歌發布的大模型 Gemini 1.5 Pro。在使用傳統 AI 模型時,機器人常因上下文長度限制而難以回憶起環境細節,但 Gemini 1.5 Pro 的百萬級 token 上下文長度為機器人提供了強大的環境記憶能力。
在真實的辦公室場景中,工程師引導機器人游覽特定區域,并標出了需要回憶的關鍵地點,例如「劉易斯的辦公桌」或「臨時辦公桌區域」。轉完一圈后,別人要問起來,機器人就能根據這些記憶帶他去這些地點了。
即使你說不出具體要去的地點,只是表達一下目的,機器人也能帶你找到對應的位置。這是大模型的推理能力在機器人身上的具體表現。
這一切離不開一個叫 Mobility VLA 的導航策略。
- 論文標題:Mobility VLA: Multimodal Instruction Navigation with Long-Context VLMs and Topological Graphs
- 論文鏈接:https://arxiv.org/pdf/2407.07775v1
DeepMind 表示,這項工作代表了人機交互的下一步。未來,用戶可以簡單地用智能手機拍攝他們的環境游覽經歷。在看過視頻后,他們的個人機器人助手就能理解并在環境中導航。
Mobility VLA:利用長上下文 VLM 和拓撲圖進行多模態指令導航
隨著 AI 技術的不斷發展,機器人導航已經取得了長足進步。早期的工作依賴于用戶在預先繪制的環境中指定物理坐標。物體目標導航(ObjNav)和視覺語言導航(VLN)是機器人可用性的一大飛躍,因為它們允許用戶使用開放詞匯語言來定義導航目標,如「去沙發那里」。
為了讓機器人在我們的日常生活中真正有用并無處不在,谷歌 DeepMind 的研究者提出將 ObjNav 和 VLN 的自然語言空間提升到多模態空間,這意味著機器人可以同時接受自然語言和 / 或圖像指令,從而實現另一次飛躍。例如,一個不熟悉某棟建筑的人可以一邊拿著塑料箱子一邊問:「我應該把這個還到哪里去?」,機器人會根據語言和視覺上下文引導用戶把箱子還到架子上。他們將這類導航任務稱為多模態指示導航(MIN)。
MIN 是一項廣泛的任務,包括環境探索和指令引導導航。不過,在許多情況下,人們可以通過充分利用示范游覽視頻來繞過探索。示范游覽有幾個好處:
- 易于收集:用戶可以遙控機器人,或者在環境中行走時用智能手機錄制視頻。此外,還有一些探索算法可用于創建導覽。
- 它符合用戶的習慣做法:當用戶得到一個新的家用機器人時,自然會帶著機器人在家里轉轉,他們可以在參觀過程中口頭介紹感興趣的地點。
- 在某些情況下,出于安全和保護隱私的目的,限制機器人在預先設定的區域內活動是可取的。為此,作者在本文中介紹并研究了這一類任務,即「多模態指示游覽導航(MINT)」,它利用示范游覽,重點是滿足用戶的多模態指示。
最近,大型視覺語言模型(VLMs)在解決 MINT 問題上顯示出巨大潛力,這得益于它們在語言、圖像理解以及常識推理方面令人印象深刻的能力,這些都是實現 MINT 的關鍵要素。然而,單靠 VLM 難以解決 MINT 問題,原因如下:
- 由于上下文長度的限制,許多 VLM 的輸入圖像數量非常有限,這嚴重限制了大型環境中環境理解的保真度。
- 解決 MINT 問題需要計算機器人的行動。請求此類機器人動作的查詢通常與 VLM(預)訓練的內容不一致。因此,機器人的零樣本性能往往不能令人滿意。
為了解決 MINT 問題,DeepMind 提出了 Mobility VLA,這是一種分層式視覺 - 語言 - 行動(VLA)導航策略。它結合了長上下文 VLM 的環境理解和常識推理能力,以及基于拓撲圖的穩健 low-level 導航策略。
具體來說,high-level VLM 使用示范游覽視頻和多模態用戶指令來找到游覽視頻中的目標幀。接下來,一個經典的 low-level 策略使用目標幀和拓撲圖(從游覽幀中離線構建)在每個時間步生成機器人動作(航點,waypoint)。長上下文 VLM 的使用解決了環境理解的保真度問題,拓撲圖則彌補了 VLM 的訓練分布與解決 MINT 所需的機器人行動之間的差距。
作者在現實世界(836 平方米)的辦公室和類似家庭的環境中對移動 VLA 進行了評估。在之前難以實現的涉及復雜推理(例如「我想把東西存放在公眾視線之外,我該去哪里?」)和多模態用戶指令的 MINT 任務上,Mobility VLA 達到了 86% 和 90% 的成功率(分別比基線方法高出 26% 和 60%)。
作者還展示了用戶與機器人互動的便捷性的巨大進步,用戶可以在家庭環境中使用智能手機進行帶解說的視頻漫游,然后詢問「我的杯墊放在哪里了?」
技術細節
Mobilit VLA 是一種分層導航策略(如圖 1 所示),包括在線和離線兩個部分。
在離線階段,根據示范游覽(N,F)生成拓撲圖 G。在在線階段,high-level 策略通過示范游覽和多模態用戶指令(d,I)找到導航目標幀索引 g,該索引是一個整數,對應于游覽的特定幀。下一步,low-level 策略利用拓撲圖、當前攝像頭觀測數據(O)和 g,在每個時間步產生一個航點動作(a),供機器人執行。
其中,h 和 l 分別代表 high-level 和 low-level 策略。
示范游覽和離線拓撲圖生成
Mobility VLA 利用環境示范游覽來解決 MINT 問題。這種游覽可以由人類用戶通過遠程操作進行,也可以在環境中行走時用智能手機錄制視頻。
然后,Mobility VLA 會離線構建拓撲圖 G = (V,E),其中每個頂點 v_i∈V 都對應演示游覽視頻 (F, N) 中的幀 f_i。作者使用 COLMAP(一種現成的運動結構管道)來確定每幀的近似 6 自由度相機姿態,并將其存儲在頂點中。接下來,如果目標頂點位于源頂點的「前方」(與源頂點的姿態相差小于 90 度),且距離在 2 米以內,則會在 G 中添加一條有向邊。
與傳統的導航 pipeline(例如繪制環境地圖、識別可穿越區域,然后構建 PRM)相比,拓撲圖方法要簡單得多,因為它能根據游覽軌跡捕捉環境的一般連通性。
基于長上下文多模態 VLM 的 High-Level 目標尋找
在在線執行過程中,high-level 策略利用 VLM 的常識推理能力,從示范游覽中確定一個導航目標,以滿足各種多模態、口語化且往往含糊不清的用戶指令。為此,研究者準備了一個由文字和圖像交錯組成的提示 P (F,N,d,I)。下面是多模態用戶指令的一個具體例子,對應的是表 1 中的一個問題 ——「Where should I return this?」。
You are a robot operating in a building and your task is to respond to the user command about going to a specific location by finding the closest frame in the tour video to navigate to . These frames are from the tour of the building last year . [ Frame 1 Image f1] Frame 1. [ Frame narrative n1] ... [ Frame k Image fk ] Frame k . [ Frame narrative nk ] This image is what you see now . You may or may not see the user in this image . [ Image Instruction I]
The user says : Where should I return this ? How would you respond ? Can you find the closest frame ?
VLM 返回一個整數目標幀索引 g。
利用拓撲圖實現 low-level 目標
一旦 high-level 策略確定了目標幀索引 g,low-level 策略(算法 1)就會接手,并在每個時間步產生一個航點動作(公式 1)。
在每個時間步中,作者使用實時分層視覺定位系統,利用當前相機觀測值 O 估算機器人的姿態 T 和最近的起始頂點 v_s∈G (第 5 行)。該定位系統通過全局描述符在 G 中找到 k 個最近的候選幀,然后通過 PnP 計算 T。接下來,通過 Dijkstra 算法(第 9 行)確定 v_s 與目標頂點 v_g(與 g 對應的頂點)之間拓撲圖上的最短路徑 S。最后,low-level 策略會返回一個航點動作,即 S 中下一個頂點 v_1 相對于 T 的 ?x、?y、?θ(第 10 行)。
實驗結果
為了展示 Mobility VLA 的性能并進一步了解關鍵設計,作者設計了實驗來回答以下研究問題:
- 問題 1:在現實世界中,Mobility VLA 在 MINT 中是否表現出色?
- 問題 2:Mobility VLA 是否會因為使用長上下文 VLM 而優于替代方案的性能?
- 問題 3:拓撲圖是否必要?VLM 能否直接產生行動?
Mobility VLA 在現實環境中有著穩健的端到端表現
1、端到端成功率高。表 2 顯示,在大多數用戶指令類別中,Mobility VLA 的端到端導航成功率都很高,包括以前不可行的「推理 - 要求」和「多模態」指令。
2、穩健的 low-level 目標達成。表 2 還顯示了 Mobility VLA 的 low-level 目標達成策略在現實世界中的穩健性(100% 成功率)。其中的示范游覽記錄是在實驗前幾個月錄制的,當時許多物體、家具和照明條件都不同。
長上下文 VLM 在高級目標查找方面優于其他選擇
1、Mobility VLA 優于替代方案。表 3 顯示,Mobility VLA 的 high-level 目標查找成功率明顯高于對比方法。鑒于 low-level 成功率為 100%,這一 high-level 目標查找成功率代表了端到端成功率。
2、使用長上下文 VLM 處理高幀率游覽視頻是成功的關鍵。向非長上下文 VLM 輸入大型環境的完整示范游覽是一項挑戰,因為每幅圖像都需要數百個 token 的預算。減少輸入 token 數量的一個解決方案是降低游覽視頻幀頻,但代價是中間幀丟失。表 4 顯示,隨著游覽幀頻的降低,high-level 目標查找成功率也在降低。這并不奇怪,因為幀率較低的游覽視頻有時會丟失導航目標幀。此外,在比較最先進的 VLM 時,只有 Gemini 1.5 Pro 的成功率令人滿意,這要歸功于其長達 100 萬個 token 的上下文長度。
拓撲圖是成功的關鍵
表 5 顯示了 Mobility VLA 在模擬中的端到端性能與提示 VLM 直接輸出航點操作的比較。0% 的端到端成功率表明,Gemini 1.5 Pro 在沒有拓撲圖的情況下無法實現機器人的零樣本導航。根據實驗,作者發現無論當前攝像頭的觀測結果如何,Gemini 幾乎總是輸出「向前移動」的航點動作。此外,當前的 Gemini 1.5 API 需要在每次推理調用時上傳全部 948 幅游覽圖像,導致機器人每移動 1 米就需要花費 26 秒的運行時間,成本之高令人望而卻步。另一方面,Mobility VLA 的 high-level VLM 會花費 10-30 秒找到目標索引,然后機器人會使用 low-level 拓撲圖導航到目標,從而形成一個高度穩健和高效(每步 0.19 秒)的系統來解決 MINT 問題。
更多細節請參考原論文。