出發(fā)點&動機
從人類視頻中學習執(zhí)行操作任務是一種很有前景的機器人教學方法。然而,許多操作任務需要在任務執(zhí)行過程中改變控制參數(shù)(如力),而僅靠視覺數(shù)據(jù)無法捕捉這些信息。這里利用臂帶(測量人體肌肉活動)和麥克風(記錄聲音)等傳感設備,捕捉人類操作過程中的細節(jié),使機器人能夠提取任務計劃和控制參數(shù)以執(zhí)行相同任務。為此,引入了模態(tài)鏈(CoM),這是一種提示策略,使視覺語言模型(VLM)能夠?qū)Χ嗄B(tài)人類演示數(shù)據(jù)(視頻結合肌肉或音頻信號)進行推理。通過逐步整合來自每個模態(tài)的信息,CoM優(yōu)化任務計劃并生成詳細的控制參數(shù),使機器人能夠基于單個多模態(tài)人類視頻提示執(zhí)行操作任務。我們的實驗表明,與基線方法相比,CoM在提取任務計劃和控制參數(shù)的準確性上提高了三倍,并且在真實機器人實驗中對新任務設置和物體具有很強的泛化能力。
背景介紹
機器人能否僅通過觀看一個人類手部視頻演示,就能學會執(zhí)行物理挑戰(zhàn)性操作任務(如擰開礦泉水瓶或打鼓)?實現(xiàn)這一能力的一種方法是從視頻中識別人類任務計劃,然后將其轉(zhuǎn)化為可執(zhí)行的機器人技能。盡管視頻理解領域的最新進展在動作識別方面取得了有希望的結果,但許多操作技能需要精確指定控制參數(shù),而這些參數(shù)僅從純視覺信息中難以推斷,例如:輕輕握住鑰匙進行旋轉(zhuǎn)、用力插入插頭、輕敲鼓面以產(chǎn)生柔和的聲音。這一限制制約了機器人僅通過觀看人類視頻執(zhí)行多樣化操作任務的能力。
這里的核心挑戰(zhàn)是,僅從人類視頻數(shù)據(jù)中提取任務計劃非常困難,因為純視覺數(shù)據(jù)缺乏識別這些計劃所需的細節(jié)。一個關鍵觀察是,人類任務計劃中的許多細節(jié)(如力和速度等控制參數(shù))可以通過肌肉活動和物體交互聲音等附加信號更好地捕捉。例如,插入電源插頭時,人類會先以較小的力握住插頭調(diào)整方向,然后用力將其插入插座。在這項工作中,我們利用配備肌肉傳感器的現(xiàn)代臂帶和帶麥克風的運動相機等傳感設備,收集包含圖像、肌肉活動和物體交互聲音的多模態(tài)演示視頻。這些設備提供了人類在操作過程中何時以及如何施加物理力的額外信息。然而,有效利用這些信號需要新的方法來對多模態(tài)人類演示視頻進行推理。
視覺語言模型(VLM)能夠解決從視覺推理到信號處理,甚至生成控制機器人的代碼等廣泛的實際問題。長上下文輸入的最新進展進一步使VLM能夠?qū)⒁曨l和長序列數(shù)值信號作為輸入。這讓我們思考:VLM能否作為通用推理模型,從多模態(tài)演示視頻中推斷人類任務計劃?大多數(shù)VLM應用仍只接受單一模態(tài)作為輸入。為應對這一挑戰(zhàn),引入了模態(tài)鏈(CoM)框架,該框架提示VLM依次分析每個模態(tài),通過整合來自每個模態(tài)的新信息逐步優(yōu)化答案。
CoM使VLM能夠通過分析單個多模態(tài)人類視頻提取任務計劃和控制參數(shù)。借助CoM,附加模態(tài)的加入幫助VLM更好地分割子任務。例如,當人類打開瓶子時,力數(shù)據(jù)中的三個峰值信號表明三次扭轉(zhuǎn)動作。CoM使VLM能夠利用這些信息,首先將整個任務分割為粗略的任務框架,然后通過整合其他模態(tài)逐步填充更多細節(jié)。此外,從附加模態(tài)獲取的力信息使VLM能夠為諸如“抓握”和“擊打”等技能生成更準確的控制參數(shù),不同級別的力。根據(jù)經(jīng)驗,發(fā)現(xiàn)CoM從人類視頻中提取精確任務計劃和控制參數(shù)的準確率達到60%。僅依賴純視覺數(shù)據(jù)的方法準確率為零,而直接將所有模態(tài)一次性輸入模型的簡單方法平均準確率為17%。
如何將這些任務計劃轉(zhuǎn)化為機器人動作?先前的工作表明,基礎模型可以根據(jù)語言指令生成機器人可執(zhí)行的API調(diào)用。我們的場景不同之處在于,要求基礎模型根據(jù)多模態(tài)演示視頻生成API調(diào)用。這些API調(diào)用具有跨實體泛化的優(yōu)勢,因為代碼API可以抽象掉機器人實體,允許在不同機器人之間順利部署。此外,基于高級視覺模型的代碼API進一步使機器人能夠泛化到新物體和未見物體配置。
主要貢獻如下:
- 模態(tài)鏈(CoM):一種提示策略,使VLM能夠通過逐步整合視覺和力信息,從多模態(tài)人類視頻演示數(shù)據(jù)中進行推理。
- 一次性操作程序生成:一種從單個多模態(tài)人類演示視頻生成機器人控制程序的流程,整合力信息(通過肌肉或音頻信號獲得)以生成不同技能的細粒度控制參數(shù)。
- 通用性:展示了CoM在兩種高級VLM模型上的一致優(yōu)勢,并且方法允許VLM從單個人類視頻中學習編寫機器人代碼,這些代碼可以在不同的真實機器人平臺上運行,具有泛化能力。
相關工作
從視頻中理解人類活動
理解視頻中的人類活動一直是計算機視覺領域的長期研究重點。早期工作主要旨在通過分類捕捉視頻的高級語義含義。為了提取更詳細的信息,后來的研究開始專注于從視頻中推導任務計劃。然而,這些方法往往受限于對特定訓練數(shù)據(jù)集的依賴,難以泛化到未見的動作類別。近年來,大型視覺語言模型的發(fā)展使得提示VLM從視頻中理解人類活動取得了令人印象深刻的結果。與先前工作不同,本工作側重于對包含力或音頻信息的多模態(tài)人類視頻進行推理,為下游細粒度機器人操作任務提供必要信息。
機器人與控制的基礎模型
近年來,基礎模型在機器人領域取得了顯著進展,涵蓋從高級推理到低級控制的多個層面。早期工作主要集中在語言條件下的機器人推理和規(guī)劃,其中任務使用自然語言定義。然而,一些操作任務(尤其是涉及空間歧義或需要細粒度控制的任務)僅用語言難以精確描述。視覺語言模型(VLM)的最新進展引入了更具表現(xiàn)力的任務規(guī)范,如視覺注釋。我們的工作則使用一次性多模態(tài)視頻作為任務規(guī)范,使機器人能夠從人類演示中提取任務計劃和控制參數(shù)。為了將基礎模型應用于機器人控制,已經(jīng)出現(xiàn)了幾種有前景的方法,包括基于目標條件策略的子目標選擇、軌跡優(yōu)化的獎勵或約束生成,以及基于感知和控制原語的代碼生成。與這些基于語言輸入的方法不同,這里展示了VLM如何直接從一次性人類視頻輸入中進行推理,生成低級操作程序,為提示機器人執(zhí)行具有豐富視覺提示的新任務提供了一種替代方法。
從人類視頻中學習操作
最近大量研究探索了利用人類視頻數(shù)據(jù)來教機器人操作技能。這些工作側重于從人類視頻中提取不同信息,如物體功能、運動軌跡、任務動態(tài)和獎勵表示。像一些工作訓練了基于人類或機器人視頻(而非語言指令)的操作策略。盡管它們有效,但由于這些方法僅從視頻(圖像序列)中學習,無法推斷許多操作任務所需的重要細節(jié),例如施加多大的力。在這項工作中,我們專注于開發(fā)能夠利用多種傳感模態(tài)(包括圖像、力和聲音)的方法,以更好地理解人類演示中不易察覺的微妙細節(jié),并使機器人能夠更好地執(zhí)行此類任務。
從多模態(tài)人類視頻中學習
這里介紹提出的系統(tǒng)設計,該系統(tǒng)以單個多模態(tài)人類演示視頻為輸入,并生成機器人可執(zhí)行代碼以執(zhí)行視頻中演示的操作任務。系統(tǒng)有三個主要組件:(1)收集多模態(tài)人類視頻;(2)用于理解多模態(tài)人類視頻的模態(tài)鏈;(3)生成代碼和控制機器人。對于每個組件,首先討論動機,然后給出示例。
多模態(tài)人類演示視頻
視頻通常難以捕捉人類執(zhí)行操作任務的細粒度細節(jié),尤其是涉及力施加的細節(jié)。例如,插入電源插頭時,首先施加輕力調(diào)整其方向,然后增加力進行插入。這些不同的力級別至關重要,但僅從視頻中難以觀察到,這凸顯了需要超越視覺信息的多模態(tài)數(shù)據(jù)。
為解決這些挑戰(zhàn),我們考慮多模態(tài)人類視頻在每個時間步包括RGB圖像、人體肌肉信號或物體交互聲音以及手部姿勢。它們共同提供了人類任務計劃的更全面視圖。由帶肌肉傳感器(EMG)的臂帶捕捉的人體肌肉信號或由麥克風捕捉的物體交互聲音可以提供必要的力信息,指示人類在整個任務中施加力的時間和大小。此外,為了提供人類手部動作的更詳細信息,我們使用基于視覺的方法來估計手部姿勢,并將指尖的像素位置作為另一個輸入模態(tài)。
模態(tài)鏈
接下來,使用視覺語言模型(VLM)來分析此類多模態(tài)人類視頻中提供的豐富信息,以提取任務計劃描述。VLM需要處理來自所有這些模態(tài)的信號:以正確的時間順序識別人類動作,并確定每個動作的控制參數(shù)(如目標物體名稱、運動方向)。使用VLM實現(xiàn)此目的的一種方法是將所有模態(tài)按順序交織在一起直接查詢模型。然而,我們發(fā)現(xiàn)最先進的VLM(如Gemini 1.5 Pro、GPT-4o)往往難以關聯(lián)模態(tài)之間的信息,導致忽略某些輸入或嘗試從錯誤模態(tài)提取信息等問題。為了提高VLM在理解多模態(tài)人類視頻方面的性能,提出了模態(tài)鏈(CoM),這是一種提示策略,查詢VLM按順序分析每個模態(tài),提取關鍵信息并逐步聚合結果以產(chǎn)生最終答案。
模態(tài)鏈提示:CoM提示由三部分組成:(1)每個模態(tài)及其輸入數(shù)據(jù)格式的描述;(2)可用動作集的描述以及動作參數(shù)的解釋;(3)一個視頻到分析對的示例,介紹如何分析每個模態(tài)以生成帶參數(shù)的已識別動作序列。
模態(tài)鏈示例:圖2展示了使用CoM分析多模態(tài)人類視頻的示例。在此視頻中,一個人用左手握住瓶子,用右手擰開瓶蓋。CoM依次分析每個輸入模態(tài),并基于先前分析優(yōu)化答案。在圖2中,我們用不同顏色突出顯示每個模態(tài)貢獻的新信息。在第一階段,VLM分析力或聽覺信號,找出人何時施加和釋放力,然后推斷出人施加力的次數(shù)。然而,沒有手部和圖像信息,不清楚人具體在做什么。在第二階段,VLM結合手部姿勢信息,現(xiàn)在識別出人在施加力時正在抓握和扭轉(zhuǎn),手指位置還表明在握住瓶子時逆時針扭轉(zhuǎn)約180度,釋放時順時針旋轉(zhuǎn)手指。仍然,沒有圖像數(shù)據(jù),任務中出現(xiàn)的物體仍然未知。在第三階段,VLM整合圖像數(shù)據(jù),識別出左手握住瓶子,右手擰開瓶蓋。有了這些信息,VLM生成動作函數(shù),指定每個時間步的詳細動作參數(shù)。請注意,示例提示中沒有出現(xiàn)任何任務或物體,示例提示僅用于演示分析的輸出格式和可用技能庫。
編寫機器人代碼
基于上述人類視頻分析,最后一步是將動作序列轉(zhuǎn)換為具有低級API調(diào)用的機器人可執(zhí)行代碼。使用相同的VLM執(zhí)行此代碼生成,以創(chuàng)建完成任務的操作程序。代碼生成提示包括視頻分析以及機器人API的描述和所需的輸出格式。
生成高級任務計劃示例:以下是上述開瓶任務生成的程序示例:
Move_to('left', Find('bottle')) Grasp('left') Move_to('right', Find('bottle_cap')) for _ in range(3): Grasp('right') Twist('right', 'counterclockwise', 180) Release('right') Twist('right', 'clockwise', 180)
VLM結合來自CoM的視頻分析,生成了詳細的開瓶任務計劃,包括使用右夾具在握住瓶蓋時逆時針扭轉(zhuǎn),以及在不握住瓶蓋時順時針扭轉(zhuǎn),還生成了一個for循環(huán)腳本來指定周期性扭轉(zhuǎn)動作。
生成控制參數(shù)示例:除了生成任務計劃外,在諸如將插頭插入電源插座等接觸豐富的任務中,VLM還可以生成控制參數(shù)以指定力的使用:
from skills import Grasp, Push_towards, Insert Grasp('right', 'plug', 100) # 力范圍從[0, 100] Move_to('right', 'box', 20) # 在手內(nèi)旋轉(zhuǎn)插頭 Insert('right', 'power_strip', 100)
利用來自多模態(tài)人類視頻的力信息,VLM指定了不同任務階段施加的力大小,允許使用Move_to通過向墻壁推壓(力=20)來重新調(diào)整手中插頭的方向,并在將插頭插入電源插座時用力握?。?100)。
實現(xiàn)細節(jié)
數(shù)據(jù)收集:肌肉信號(EMG)包含八個通道的數(shù)據(jù),采樣率為200Hz。由于相機以60Hz記錄,我們對肌肉信號進行下采樣以匹配相機采樣率,并使用八個通道的最大值作為每個時間步的力信號。與音頻信號類似,我們計算每個時間步的聲音響度作為輸入音頻值。對于手部姿勢估計,我們使用HaMeR來定位指尖的像素位置。信號處理步驟的更多細節(jié)可在附錄中找到。
機器人執(zhí)行:機器人API調(diào)用由預定義的控制函數(shù)組成,這些函數(shù)將生成的程序“接地”到真實機器人系統(tǒng)中。這些API從感知模型的最新進展中受益匪淺。例如,在實驗中所有物體定位都是通過向Gemini 1.5 Pro查詢RGB-D圖像和目標物體名稱(如生成的程序中所指定)來執(zhí)行的,這直接在RGB圖像上生成目標物體周圍的2D邊界框。然后,我們使用深度信息和相機參數(shù)創(chuàng)建檢測到的邊界框內(nèi)實體的3D點云,并使用平均3D位置表示物體的位置。這些開放詞匯API簡化了生成的程序與機器人感知系統(tǒng)之間的連接,直接增強了基于代碼的機器人策略的能力。
實驗分析
實驗旨在回答以下問題:
Q1:模態(tài)鏈是否能提高VLM對多模態(tài)人類視頻的理解?
Q2:力信息是否有助于VLM推理人類任務計劃?
Q3:手部姿勢是否有助于細粒度操作?
Q4:帶有CoM的VLM能否從多模態(tài)人類視頻中提取控制參數(shù)?
Q5:生成的程序在真實機器人上的表現(xiàn)如何?
實驗設置
基線方法:
將基線分為兩類:
- 輸入模態(tài)差異組:包括僅圖像(純視覺)、無力數(shù)據(jù)(排除肌肉/音頻信號)、無手部姿態(tài)(僅力+圖像)、無圖像(力+手部姿態(tài))、全模態(tài)(力+手部姿態(tài)+圖像)。
- 推理流程差異組:包括直接合并所有模態(tài)輸入(Merg)、分模態(tài)處理后合并(Sep-Merg)、分模態(tài)獨立處理(Sep-Sep),以及我們的模態(tài)鏈方法(CoM,逐步整合模態(tài)信息)。
任務設計:
- 多模態(tài)視頻分析任務:測試按壓立方體、插入插頭、打鼓、開瓶4類任務,每個任務包含10個不同物體/視角的測試視頻,評估VLM提取任務計劃的準確率與相似度分數(shù)(基于輸出與真實標簽的最長公共子串)。
- 真實機器人執(zhí)行任務:在開瓶、插入插頭、擦板、打鼓4項任務上測試生成代碼的執(zhí)行效果,包含泛化場景(如未見瓶子類型、隨機物體擺放)和跨機器人平臺(ViperX與KUKA雙臂機器人)部署。
數(shù)據(jù)與提示:
- 多模態(tài)數(shù)據(jù)包含同步的RGB視頻、肌肉電信號(EMG)或音頻音量、手部指尖2D坐標。
- 提示模板包含輸入格式說明(如“力信號為歸一化浮點數(shù)”)、動作庫示例(如Grasp(hand, object, force)),并使用與測試任務無關的示例視頻(如按壓蘋果)引導VLM輸出結構化分析結果。
實驗結果
模態(tài)鏈提升多模態(tài)理解能力
如圖5所示,在Gemini 1.5 Pro和GPT-4o模型上,模態(tài)鏈(CoM)顯著優(yōu)于其他基線方法:
- 與直接合并模態(tài)的Merg方法(平均準確率17%)相比,CoM準確率提升至60%,相似度分數(shù)提高42%。
- 分階段處理模態(tài)的Sep-Sep方法雖優(yōu)于合并輸入,但CoM通過逐步利用前序模態(tài)分析結果(如先用EMG信號定位力施加時機,再結合手部姿態(tài)推斷動作類型),進一步提升17%-19%準確率,證明順序推理對模態(tài)關聯(lián)的重要性。
力信息是任務計劃提取的關鍵
從表1可見:
- 僅圖像輸入(Image-only)在所有任務中準確率為0,表明純視覺無法推斷力相關參數(shù)(如擰瓶蓋的力度變化)。
- 包含力信號的全模態(tài)方法(All)相比無力基線(w.o. force),相似度分數(shù)平均提升42%,尤其在開瓶任務中,力信號的三個峰值直接對應三次扭轉(zhuǎn)動作的分段,驗證了力數(shù)據(jù)對任務階段劃分的決定性作用。
手部姿態(tài)助力細粒度動作解析
在開瓶任務中,僅全模態(tài)方法(All)實現(xiàn)非零成功率。手部姿態(tài)提供的指尖旋轉(zhuǎn)方向(如逆時針180度)和抓握釋放時序,幫助VLM區(qū)分“握瓶身”與“擰瓶蓋”的不同動作階段。這表明,視覺模型估計的手部關鍵點對解析復雜操作至關重要,彌補了VLM直接從視頻中提取精細手部運動的不足。
控制參數(shù)提取與機器人執(zhí)行效果
如圖4的定性結果所示,CoM能夠:
- 識別單/雙臂任務的目標物體(如左手握瓶、右手擰蓋);
- 提取力強度(如插入插頭時force=100)、運動方向(逆時針)、時間戳(t=22-35s扭轉(zhuǎn))等細粒度參數(shù)。
在真實機器人測試中(表2),CoM生成的代碼平均成功率達73%,顯著優(yōu)于僅依賴視覺的基線(0%)。例如:
- 開瓶任務:在7種瓶子(6種未見)上成功執(zhí)行,跨ViperX與KUKA機器人平臺的成功率分別為60%和75%;
- 插入插頭任務:面對隨機擺放的插頭與插座,通過Gemini 1.5 Pro的視覺定位API(生成2D邊界框→轉(zhuǎn)換3D坐標)實現(xiàn)15/20次成功插入;
- 打鼓任務:準確復現(xiàn)不同力度的鼓點節(jié)奏(如輕擊force=20、重擊force=100),成功率80%。
與“Oracle”基線(手動編寫代碼,成功率92%)相比,CoM的差距主要來自視覺定位誤差(如目標物體遮擋)和開環(huán)控制限制(無法應對突發(fā)干擾)。