機器之心報道
編輯:趙陽
微軟提出使用人手運動視頻直接教機器人完成任務的新方法,這種方法使用 GPT-4V 分解視頻中的動作,結合大語言模型生成對應的行爲表述并作爲任務列表,訓練機器人隻需要動動手就能完成。
如何将語言 / 視覺輸入轉換爲機器人動作?
訓練自定義模型的方法已經過時,基于最近大語言模型(LLM)和視覺語言模型(VLM)的技術進展,通過 prompt 工程使用 ChatGPT 或 GPT-4 等通用模型才是時下熱門的方法。
這種方法繞過了海量數據的收集和對模型的訓練過程,展示出了強大的靈活性,而且對不同機器人硬件更具适應性,并增強了系統對研究和工業應用的可重用性。
特别是最近出現了通用視覺大模型(VLM),如 GPT-4V,将這些視覺系統集成到任務規劃中,爲開發基于多模态人類指令的任務規劃器提供了可能性。
在近期微軟的一篇論文中,研究者利用 GPT-4V 和 GPT-4(圖 1)分别作爲最新的 VLM 和 LLM 的範例,提出了一種多模态任務規劃器。該系統可以接受内容爲人類行爲的視頻和文本指令等輸入,甚至可以同時接受二者,并輸出符号化的任務規劃(即一系列連貫的任務步驟)。
論文地址:https://arxiv.org/pdf/2311.12015.pdf
代碼即将公開:https://microsoft.github.io/GPT4Vision-Robot-Manipulation-Prompts/
當視覺數據可用時,系統會根據任務規劃重新分析視頻,并在每個任務和視頻之間建立時空上的對應關系。這一過程可以提取對機器人執行有價值的各種能力信息,如接近物體的方式、抓握類型、避免碰撞的路徑點和上肢姿勢等。
最後,能力(affordance)信息和任務規劃被編譯成獨立于硬件的可執行文件,以 JSON 格式保存。本文對模型進行了定性分析,并确認了輸出的任務規劃在多個真實機器人上的可操作性。
技術細節
本文提出的系統由兩個串聯的部分組成(圖 2):
第一部分是符号任務規劃器,将人類行爲的教學視頻、文本或兩者共同作爲輸入,然後輸出一系列的機器人動作。在這裏,文本輸入也包括對 GPT-4V 識别結果的反饋,以便進行修正。爲用戶提供對識别結果進行反饋的機會,可以得到更加魯棒的操作作爲輸入,換句話說,當系統任務用戶操作不準确時,還能有機會重新輸入。
第二部分是能力分析器,負責分析視頻以确定任務發生的時間和地點,然後提取高效執行任務所需的能力信息。
在這一系統中,輸入的視頻是人類執行動作的演示,讓機器人去複制。本研究實驗中假定視頻的粒度爲抓握 - 操縱 - 釋放。
A. 符号任務規劃器
符号任務規劃器由三個部分組成:1 ) 視頻分析;2 ) 場景分析;3 ) 任務規劃。
最初,當輸入 RGB 視頻時,視頻分析使用 GPT-4V 來識别視頻中人類所做的動作,并将其轉錄爲人與人交流中使用的文本指令(例如,請扔掉這個空罐子)。在視頻分析中,考慮到模型 token 的限制和延遲,本文采用了視頻幀定時采樣的方法,并将抽到的幀輸入 GPT-4V。然後由用戶對輸出文本進行檢查和編輯。如果不提供視頻輸入,則在此階段向系統提供文本指令。圖 3 顯示了視頻分析器的示例,表明 GPT-4V 可以成功地從幀中理解人的動作。
接下來,場景分析器根據這些指令和工作環境的第一幀視頻數據或圖像,将預期的工作環境編譯成文本信息。這些環境信息包括 GPT-4V 識别的物體名稱列表、物體的可抓取屬性以及物體之間的空間關系。雖然這些計算過程在 GPT-4V 中是一個黑盒,但這些信息是根據 GPT-4V 的知識和輸入的圖像 / 文本輸出的。
圖 4 顯示了場景分析器的示例。如圖所示,GPT-4V 成功地選擇了與操作相關的對象。例如,當人類在桌子上移動垃圾桶時,輸出中包含了桌子,而在打開冰箱的任務中則忽略了桌子。這些結果表明,場景分析器可以根據人類的操作對場景信息進行編碼。
根據給定的文本指令和環境信息,任務規劃器會輸出一系列任務。
具體來說,本文設計了一個 prompt,讓 GPT-4 将給定指令分解爲一系列機器人任務 。本文又根據 Kuhn-Tucker 理論,建立了一套必要且充分的機器人操作物體的動作。
表 I 顯示了本文在 prompt 中包含的任務集和解釋。在這裏,任務參數的名稱是基于對 GPT-4V 的理解,以開放詞彙格式給出的。在後續階段,這些名稱将通過能力分析器與視頻結合起來。此外,這些前 / 後條件用于強制 GPT-4 輸出連貫的任務序列,而不是根據視頻中的意象進行驗證。
爲了确保對 GPT-4 模型理解的透明度,任務規劃器被設計爲輸出任務解釋、操作後的估計環境和操作摘要,以及一組任務規劃。此外,任務規劃器還是一個有狀态的系統,可在 GPT-4 模型的 token 限制範圍内保持過去對話的曆史記錄。因此,用戶可以根據任務規劃器的輸出,通過語言反饋來修改和确認輸出。圖 5 顯示了任務規劃器的計算結果示例。結果表明,一套量身定制的 prompt 可以産生合理的文本指示、環境描述和符号任務規劃。
B. Affordance 分析器
Affordance 分析器利用來自符号任務規劃器的知識對給定視頻進行重新分析,以獲取機器人有效執行任務所需的能力信息。
具體來說,它根據任務的性質和物體名稱,重點分析手與物體之間的關系。它能識别視頻中抓取和釋放的時刻和位置,并将這些時刻和位置與任務序列對齊。這些瞬間可作爲錨點,用于識别每項任務所必需的能力。本文之前的研究《Verbal Focus-of-Attention System for Learning-from-Observation》已經證明了「關注焦點 」在檢測動作抓取和釋放方面的有效性。
1 ) 通過關注人手來檢測抓取和釋放的動作:起初,模型将一系列視頻按固定的時間間隔分割成視頻片段。然後使用手部檢測器和圖像分類器對每個視頻片段的開始和結束幀進行分析,以确定物體是否被抓(圖 6)。視頻片段被分爲以下幾種模式:
在第一幀中沒有任何東西被抓住,但在最後一幀中卻有東西被抓住的片段表示發生了抓取。
在第一幀中有東西被握住,而在最後一幀中沒有東西被握住的片段表示發生了釋放。
其他片段則被歸類爲包含其他類型動作的片段。
通過這種分類,分析器可以确定哪些視頻片段包含抓握和松開的實例。爲此,研究者開發了基于 YOLO 的手部檢測器和識别器 ,并已将該模型開源(https://github.com/ultralytics/ultralytics)。
2 ) 通過關注手與物體的交互,實現檢測抓取和釋放的時空位置。然後,模型将重點放在抓取視頻片段上,分析抓取物體的位置和時間。本文使用 Detic(一種開放式詞彙對象檢測器)來搜索視頻中的候選對象,正如符号任務規劃器所識别的那樣,當識别出多個候選對象時,視頻片段中最靠近手部的對象将被視爲抓取對象。這是通過比較手部檢測器在抓取視頻片段的每一幀中檢測到的每個候選對象的邊界框與手部之間的距離來确定的。圖 7 展示了物體檢測的計算過程。在「抓取」視頻片段中,手與物體在空間上最接近的時刻被确定爲抓取時刻。類似的計算也應用于釋放視頻片段,以确定釋放的時間。
圖 8 顯示了将果汁罐從貨架底部移到頂部的操作計算過程。
3 ) 本文将抓取和松開的瞬間看作任務序列與視頻對齊的錨點,對齊後,視覺分析器會提取以下信息,包括:
抓取任務的能力:1)接近物體的方向信息,以避免與環境發生碰撞。2)抓取類型還包含人類如何有效的執行操作。
手部移動的能力:1)手移動過程中的航點信息,以避免環境碰撞。
釋放任務的能力:1)釋放物體後手的撤離方向信息,以避免環境碰撞。
拾取任務的能力:1)矢量化的離開方向信息,以盡量減少物體與平面之間不必要的力。
放置任務的能力:1)朝物體靠近方向的信息,以避免環境碰撞。
旋轉任務的能力:1)旋轉軸的方向。2 ) 旋轉中心的位置。3)旋轉角度。
滑動任務的能力:1)滑動運動的位移。
表面移動任務的能力:1)與表面垂直的軸。
除了這些能力外,上臂和前臂在抓取、釋放和每個時刻的姿态也被編碼爲一對離散的方向向量。這些向量可作爲計算多自由度手臂逆運動學的約束條件,确保機器人不會在人類周圍擺出意想不到的姿勢。值得注意的是,雖然這些能力爲許多控制器提供了可行的信息,但機器人的實際執行可能還需要力反饋等額外信息。獲取這些能力信息的具體方法可參見研究者之前的論文(https://arxiv.org/abs/2008.01513)。
實驗結果
研究者将模型進行了封裝,并設計了網頁訪問接口,如圖 9 所示。
該模型允許用戶上傳預先錄制的教學演示,并讓 GPT-4V 和 GPT-4 對任務模型進行編碼。然後,研究者測試了機器人能否通過在各種場景下獲得的視頻進行一次嘗試操作。此處研究者介紹了幾個執行示例。實驗測試了兩個機器人:第一個是 Nextage 機器人(川田機器人公司出品)其手臂有六個自由度;第二個是 Fetch 移動機械手(Fetch 機器人公司出品 ) ,其手臂有七個自由度。機器人上還裝有一個四指機械手,即 Shadow Dexterous Hand Lite(Shadow Robotics)。機器人的技能是通過強化學習訓練出來的。所有實驗結果将可以在其官方代碼庫中訪問(代碼即将公布)。
© THE END
轉載請聯系本公衆号獲得授權
投稿或尋求報道:[email protected]