利用視覺-語言模型搭建機器人靈巧操作的支架

25年6月來自斯坦福和德國卡爾斯魯厄理工的論文“Scaffolding Dexterous Manipulation with Vision-Language Models”。

靈巧機械手對于執行復雜的操作任務至關重要,但由于演示收集和高維控制的挑戰,其訓練仍然困難重重。雖然強化學習 (RL) 可以通過在模擬中積累經驗來緩解數據瓶頸,但它通常依賴于精心設計的、針對特定任務的獎勵函數,這阻礙了其可擴展性和泛化能力。因此,當代靈巧操作領域的研究通常基于參考軌跡進行引導。這些軌跡指定了目標(target)手的姿勢,用于指導 RL 策略和目標(object)姿勢的探索,其能夠實現密集的、與任務無關的獎勵。然而,尋找合適的軌跡——尤其是針??對靈巧手的軌跡——仍然是一項重大挑戰。然而,由于 RL 最終會細化動作,因此顯式參考軌跡中的精確細節通常是不必要的。

本文關鍵見解是,現代視覺語言模型 (VLM) 已經編碼了指定任務和有效指導探索所需的常識性空間和語義知識。給定一個任務描述(例如“打開柜子”)和一個視覺場景,該方法首先使用現成的視覺語言模型 (VLM) 識別與任務相關的關鍵點(例如,手柄、按鈕),然后合成手部運動和物體運動的 3D 軌跡。隨后,在模擬環境中訓練一個低層殘差強化學習 (RL) 策略,以高保真度追蹤這些粗略軌跡或“支架”。通過一系列涉及關節運動和語義理解的模擬任務,該方法證明能夠學習穩健的靈巧操作策略。此外,還展示該方法,無需任何人工演示或人工設置獎勵,即可遷移到現實世界的機械手上。

方法概述如圖所示:

請添加圖片描述

問題表述

目標是學習一種用于靈巧操作的分層策略,其中高級和低級策略通過基于 3D 關鍵點的規劃或軌跡“支架”進行交互。雖然一些先前的研究假設能夠訪問真實狀態(通常在模擬中),但此類信息在實踐中通常只能部分觀察到。例如,假設人們能夠精確測量現實世界中的目標姿態和速度是不現實的。只有靈巧手的本體感受狀態 (w, q, q?) 是精確已知的,該狀態由當前腕部姿態 w、手指關節位置 q 和速度 q? 組成。假設訪問的是 RGB 圖像 I、深度 D 以及用于傳達任務的語言指令 L,而不是真實狀態。按照靈巧操作的標準做法,用一個絕對動作空間,該空間由期望的手腕 wtarg 和手指關節位置 qtarg 組成,即 (wtarg, qtarg) ∈ A。

高級策略 πh 根據語言指令 L 生成一個基于粗略 3D 關鍵點的規劃 τ,并在時間 t = 1 處生成一個初始高級觀測值 oh_1,其中包含初始圖像 I_1 和手腕位置 w_1。當使用 VLM 實例化 πh 時,假設它能夠將圖像空間中的 2D 關鍵點 u(i) 投影到世界坐標系中 3D 關鍵點 x(i),這在實踐中很容易通過深度信息 D 和相機參數(內外)實現。最終規劃 τ 中的3D關鍵點 k 的數量,由指令 L 指定。將這些關鍵點枚舉為x(1),…x(k),并通過簡寫 1:T縮寫為長度為 T 的時間序列。最終的關鍵點規劃 τ 包含 k 個3D關鍵點序列 x(1)_1:T,…x(k)_1:T 和一個預測手腕姿勢序列 w ?_1:T。該粗略規劃通過 k 個關鍵點序列(用于捕捉目標運動)封裝任務信息,并通過手腕位置 w 封裝了指導智體探索的信息。

高級策略僅為腕關節 w 提供粗略的規劃,而非手指關節位置 q,后者將由低級策略通過強化學習進行學習。

低級策略 πl 生成腕關節和手指動作 a_t 來執行關鍵點規劃 τ。假設可以訪問一個關鍵點追蹤模型,該模型在時間 t = 1 時給定一個初始 3D 關鍵點 x(i)_1,能夠追蹤其隨時間推移的位置,從而生成 x?_t(i) 的估計值。然后,低級策略 πl 通過強化學習進行優化,使用獎勵函數來鼓勵估計的 3D 關鍵點 x?(i) 與規劃 τ 生成的 x(i)_t 之間的一致性。為了完成此任務,它將低級觀測值 ol_t(包含本體感受狀態 (w, q, q?) 和估計的關鍵點 x?(1)_t, ……x?(k)_t)作為輸入,以及規劃 τ_t:T 的所有未來步驟。

通過VLM生成高級策略的軌跡

使用VLM實現高級策略 πh,該學習器必須能夠有效地將任務描述 L 和初始圖像 I_1 轉換為粗略運動規劃 τ,以便 πl 完成。這需要高度的語義和空間推理能力:不同關鍵點 x?_1:T(i) 的路徑必須遵循目標之間的理想關系(例如,將蘋果放在砧板上)和物理約束(例如,錘頭必須保持與手柄連接)。同時,預測的手腕軌跡 w ?_1:T 必須保持靠近目標物體以便于操作。使用VLM分三個階段生成粗略關鍵點規劃 τ:(1) 語義關鍵點檢測,(2) 粗略軌跡生成,以及 (3) 插值。如圖左側提供可視化概覽。此外,還可以使用少樣本提示 (few-shot prompting) 來改進生成的規劃 τ。

請添加圖片描述

關鍵點檢測。首先,VLM 在圖像 I 中識別與完成文本 L 中描述的任務相關的 k 個二維關鍵點 u(1), …, u(k)。VLM 會根據該任務所需的關鍵點進行提示。例如,對于“敲擊”任務,關鍵點包括錘子的柄和頭;對于語義拾取任務,關鍵點包括物體的位置及其所需位置。由于 VLM 在二維圖像平面中運行,利用深度信息將二維關鍵點 u 提升到三維世界坐標 x。

軌跡生成。其次,給定文本描述 l,VLM 為每個初始三維關鍵點 x(1), …, x(k) 和手腕位置 w_1 生成長度 n < T 的航點序列。總的來說,這將產生 (k + 1) × n 個 3D 航點,它們將作為規劃 τ 的基礎。雖然第一個關鍵點檢測階段依賴于 VLM 的圖像理解,但此階段更多地依賴于空間理解和推理——VLM 必須將語義描述轉化為動作,例如,“錘擊”的含義或門如何打開,同時尊重關鍵點之間的物理約束以及手和被操作目標之間的接近度。注:沒有讓 VLM 生成整個視界 T 的關鍵點軌跡,因為這樣做可能更加困難且不準確。相反,每個航點的質量比數量更重要,因為低級 RL 可以補償位置上的小錯誤,但不能補償推理中的大錯誤。

插值。最后,雖然為所有關鍵點和智體的手腕姿勢提供了長度為 n 的粗略航點軌跡,但直接使用這些航點作為運動目標可能會導致運動過快或抖動。因此,額外應用線性插值,將 n 個航點轉換為長度為 T 的序列,例如 x(i)_1:T,以形成用于訓練低級策略 πl 的最終規劃 τ。
少樣本改進。雖然 VLM 生成的關鍵點規劃 τ 通常是正確的,但它們并非絕對可靠。例如,有時高級策略 πh 會翻轉世界坐標軸,導致關鍵點規劃難以理解。如果 VLM 規劃未能完成任務,此類錯誤將無法挽回。然而,VLM 的準確率通常可以通過提供上下文示例來提高 [9, 36]。在部署最終系統后,可以將低級策略成功執行的規劃示例用作未來生成的上下文示例。假設 m 個成功規劃 τ(1), …, τ(m),可以將高級策略提示為 πh(τ|s_1,τ(1), …,τ(m)),從而為低級策略生成更好的規劃。正如實驗所示,隨著上下文規劃的改進,反復重復此過程可以進一步提高性能。

基于強化學習的低級控制

低級策略 πl 確保 πh 提供的關鍵點規劃 τ 能夠得到有效跟蹤。

用殘差強化學習 [13, 22] 來學習 πl,將其形式化為一個基于低級觀測空間 Ol 和動作空間 A 的“規劃”條件馬爾可夫決策過程 (MDP),其視界為 T。

為了考慮關鍵點估計中的噪聲,假設動態過程為隨機 p(o_t+1|o_t, a_t),并且初始狀態 ol_1 ~ pinit_τ 始終與高級規劃 τ 一致,以確保其有效性。

簡單來說,πl 的優化目標是最大化從 πh 中采樣的規劃預期累積獎勵,max_πl E_τ~πh(·|oh_1) E_ol_1:T ~πl(·|τ)[∑?r_τ (ol_t)],其中 πl(·|τ) 表示在 πl 和 pinit_τ 下長度為 T 的完整軌跡分布。

密集關鍵點獎勵。基于強化學習的標準靈巧操作方法通常需要復雜的、手工制作的獎勵函數。然而,如果有一個高級關鍵點規劃 τ 來規定所有目標應該如何移動和交互,可以簡單地通過關鍵點距離來獎勵智體遵循規劃。雖然類似的想法已被用于跟蹤參考演示 [6] 中的真實物體姿態,但在此選擇跟蹤關鍵點,因為這些關鍵點不需要完全可觀測性。

殘差策略。為了引導智體朝著高級規劃 τ 指定的目標前進,在絕對姿態動作空間 A 中采用“殘差”強化學習 [13, 22]。具體來說,學習的低級策略 π_θl 預測的是相對于手腕規劃 w ?_t 的偏移量 ?w,而不是絕對動作 wtarg。這保證了學習的策略默認遵循規劃的手腕軌跡 w ?1:T,并且 ?w 的裁剪確保其不會偏離太遠。這種殘差方法利用 VLM 計劃編碼的世界知識來指導低級策略探索狀態空間的相關部分,以完成目標。實際上,πl 被實現為一個多層感知器,其中關鍵點以固定順序提供,并且未來的規劃步驟 τ_t:T 被下采樣到固定長度。

終止條件。為了提高學習效率,如果跟蹤誤差超過閾值 δ,提前終止迭代。這個提前停止的標準可以作為一個強有力的監督信號,鼓勵策略保持接近預期軌跡。為了進一步指導學習,引入了一個課程:初始閾值 δ_init 在訓練過程中線性退火至 δ_init/2。這有助于在早期階段進行廣泛的探索,同時促進后期精確的軌跡跟蹤。

完整流程

上述組件定義生成單個規劃 τ~πh(·|s_1) 并使用它來學習低級殘差策略 πl 的過程。

訓練。最終的低級策略必須能夠在πh生成的所有規劃中表現良好,這些規劃在初始條件、選定的關鍵點位置和生成的動作方面可能有所不同。因此,按照目標,針對靈巧手物體初始姿態的變化來訓練整個系統。對于環境中的N個初始條件中的每一個,從 πh 中采樣相應的高級規劃。然后,使用PPO [54]在大規模并行模擬環境中從N個初始條件和規劃集合中隨機采樣,從而訓練低級策略。在模擬中,使用真值物體信息跟蹤關鍵點,以生成低級觀測值 ol。跨隨機規劃進行訓練對于 πl 保持對 πh 生成的關鍵點和規劃的魯棒性至關重要。

評估。在測試時,將環境的初始條件隨機化。之后,用 VLM πh 生成一個新規劃,并將其提供給凍結的學習策略 π_θl 進行閉環控制。高級策略繼承了底層 VLM 對視覺擾動的魯棒性,使其能夠輕松遷移到現實世界。用捕獲的 RGB-D 圖像生成 τ,并在現實世界中部署低級策略零樣本訓練。用姿態估計器估計低級觀測值 ol 的關鍵點位置 [66]。

任務套件。用 ManiSkill 模擬器 [41,58] 和 Allegro Hand 模型構建一個評估套件,旨在評估四項核心靈巧操作能力,而運動規劃對于這些能力而言比較困難:i)語義理解,ii)非結構化運動,iii)鉸接物體操作,以及 iv)精確操作。如圖描述八個任務中的每一個,每個類別兩個。每個任務都由語言指令 L 指定,而不是獎勵函數。例如,“移動蘋果”任務的指令是“將蘋果移到砧板上”。高級 VLM πh 另外由提示引導以檢測指定的關鍵點。至關重要的是,任務集評估的能力難以設計獎勵函數(鉸接體操作或需要復雜和非結構化運動)或難以使用經典運動規劃來指定(需要語義知識或精度)。

請添加圖片描述

方法。鑒于問題設置的新穎性,很少有適用的基線模型能夠同時滿足語言條件、無需演示且無需進行真實狀態估計。因此,實驗主要集中在與各種預言機 (Oracle) 和消融 (Ablations) 進行比較:
? 預言機關鍵點和軌跡:此基線模型為每個任務使用固定的、手動定義的關鍵點和硬編碼的軌跡,代表在完美語義理解和關鍵點檢測的情況下的性能上限。
? 減少航點:人為地限制 VLM 以生成更短的航點序列,例如長度為 3 而不是 n = 20,從而降低可通過關鍵點和手腕表達的運動的復雜性。
? 預先記錄的軌跡:此方法在測試時重復使用訓練集中預先記錄的軌跡,從而消除了對新場景的適應性。

評估系統的兩個版本:零樣本版本,其中視覺語言模型 (VLM) 不接收任何示例規劃;以及少樣本 100 個初始狀態和相應的計劃τ,用于使用 PPO 訓練 πl [54]。

評估。為了進行評估,構建特定于任務的二元成功指標(例如,物體到達目標位置、門打開到最小角度)來衡量性能。所有策略評估均針對 100 個初始狀態進行,其中包含新目標配置和手勢。對每種配置進行了 20 次試驗,總共進行了 2000 次評估,并對三個種子進行平均結果計算。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/87027.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/87027.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/87027.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

面試拷打-20250701

memcopy和memmov 詳細解釋 示例1&#xff1a;不重疊的內存區域 正常復制。 示例2&#xff1a;重疊的內存區域 原始數據&#xff1a;src2是一個包含字符串"HelloWorld"的字符數組。使用memcpy&#xff1a; memcpy(src2 2, src2, 5);試圖將src2中的前5個字符復制…

什么是 BigKey?

Redis BigKey 深度解析&#xff1a;識別、危害與優化方案 什么是 BigKey&#xff1f; 在 Redis 中&#xff0c;BigKey 是指存儲大量數據的單個鍵&#xff0c;這些鍵通常具有異常大的內存占用或包含大量元素。BigKey 不是由數據類型定義&#xff0c;而是由其資源消耗決定的。 …

量化選股策略 聚寬

# 量化選股策略完整分析與優化建議 ## 策略整體架構分析 這個量化交易策略主要由以下幾個核心部分組成&#xff1a; 1. **初始化設置**&#xff1a;配置基準指數、交易參數和全局變量 2. **選股邏輯**&#xff1a;通過財務指標篩選優質股票 3. **股票過濾**&#xff1a;排除…

Python 數據分析:numpy,抽提,布爾索引2。

目錄 1 示例代碼2 歡迎糾錯3 論文寫作/Python 學習智能體------以下關于 Markdown 編輯器新的改變功能快捷鍵合理的創建標題&#xff0c;有助于目錄的生成如何改變文本的樣式插入鏈接與圖片如何插入一段漂亮的代碼片生成一個適合你的列表創建一個表格設定內容居中、居左、居右S…

解決leetcode第3597題分割字符串

3597. 分割字符串 難度&#xff1a;中等 問題描述&#xff1a; 給你一個字符串 s&#xff0c;按照以下步驟將其分割為 互不相同的段 &#xff1a; 從下標 0 開始構建一個段。 逐字符擴展當前段&#xff0c;直到該段之前未曾出現過。 只要當前段是唯一的&#xff0c;就將其…

電源芯片之DCDC初探索ING

1. 概述 DC-DC轉換器的意思是直流變直流&#xff08;不同的直流電源值得轉換&#xff09;&#xff0c;是一種在直流電路中將一個電壓值的電能變為另一個電壓值的電能裝置。 DC-DC轉換器一般由控制芯片、電感線圈、二極管、三極管、電容器構成。 2. 基本拓撲結構 2.1 非隔離…

JavaEE:分布式session

一、使用Redis存儲分布式session&#xff1a; 1.SpringBoot整合Redis&#xff0c;見如下地址&#xff1a; JavaEE&#xff1a;SpringBoot整合Redis_a526001650a-CSDN博客 2.代碼實現分布式session存儲(此處以token為例)&#xff1a; Autowired private RedisTemplate<St…

OpenCV CUDA模塊設備層-----“大于閾值設為零” 的圖像處理函數 thresh_to_zero_inv_func()

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 OpenCV 的 CUDA 模塊&#xff08;cudev&#xff09; 中的一個仿函數生成器&#xff0c;用于創建一個 “大于閾值設為零” 的圖像處理函數對象。 …

FastGPT與MCP:解鎖AI新時代的技術密碼

一、AI 浪潮中的新星&#xff1a;FastGPT 與 MCP 登場 在當今科技飛速發展的時代&#xff0c;人工智能&#xff08;AI&#xff09;已成為推動各行業變革的核心力量。從智能語音助手到復雜的圖像識別系統&#xff0c;AI 的應用無處不在&#xff0c;而其中的關鍵技術 —— 語言模…

browser-tools-mcp + excel-mcp-server + cursor 實現讀取網頁信息自動寫入Excel

browser-tools-mcp excel-mcp-server cursor 實現讀取網頁信息自動寫入Excel 文章目錄 browser-tools-mcp excel-mcp-server cursor 實現讀取網頁信息自動寫入Excel一、安裝node.js和npm1、安裝nvm2、安裝最新版本的node.js 二、安裝browser-tools-mcp1、安裝 BrowserTools…

Linux安裝JDK和Maven

Linux安裝JDK和Maven 安裝JDK1.8 oracle官網 https://www.oracle.com 下載包地址&#xff1a;https://www.oracle.com/java/technologies/downloads/archive/ 步驟1&#xff1a;官網下載壓縮包 點擊想要下載的版本&#xff0c;需要登錄Oracle的賬號&#xff0c;沒有的話需要…

MySQL主從復制與數據庫集群深度解析

一、主從復制核心架構與復制模式 MySQL主從復制是構建分布式數據庫的基礎技術&#xff0c;通過日志同步機制實現數據冗余與讀寫分離。其核心架構分為三層&#xff1a; 日志記錄層&#xff1a;主庫將數據變更寫入二進制日志&#xff08;Binlog&#xff09;網絡傳輸層&#xff…

安裝emsdk 4.0.10報Connection reset by peer解決

出錯如下: 使用瀏覽器下載所需文件 https://storage.googleapis.com/webassembly/emscripten-releases-builds/deps/node-v22.16.0-darwin-x64.tar.gz 移動到到emsdk/downloads下 修改emsdk.py download_even_if_exists=True 設置環境變量

win11,visual studio 2022,配置dcmtk,opencv

一、配置dcmtk 1 文件下載---地址&#xff0c;Software Development based on DCMTK - dicom.offis.de 源文件下載&#xff0c;選擇.zip下載&#xff0c;.tar.gz為Linux和macOS下面常見的壓縮包 支持庫下載 解決 DCMTK 在 Windows 上編譯時所需的依賴庫問題 libiconv GNU有…

2025 最新 Appium Inspector 環境搭建教程

1 環境搭建背景 版本升級&#xff1a;Appium 2.0 版本替代 1.x&#xff0c;原 Appium Desktop 因安全漏洞和功能廢棄不再適用。需求痛點&#xff1a;Android Studio 僅支持 debug 程序元素定位&#xff0c;需通過 Appium Inspector 實現通用 APK 元素定位。 2 環境搭建步驟 …

Vue 安裝使用教程

一、Vue 簡介 Vue&#xff08;讀作 /vju?/&#xff0c;類似于“view”&#xff09;是一款用于構建用戶界面的漸進式 JavaScript 框架。它易于上手&#xff0c;輕量高效&#xff0c;適合快速構建前端界面&#xff0c;廣泛應用于各類 Web 項目中。 二、Vue 安裝方式 2.1 直接通…

通過http調用來訪問neo4j時報錯,curl -X POST 執行指令報錯

curl -X POST ^ More? http://localhost:7474/db/neo4j/tx/commit ^ More? -H Authorization: Basic bmVvNGo6MTIzNDU2Nzg ^ More? -H Content-Type: application/json ^ More? -d { \"statements": [{\"statement": \"MATCH (n) RETURN n, label…

Node.js到底是什么

我想像是npm、vite這些名詞大家都很熟悉&#xff0c;對它們的作用也有大致印象&#xff0c;但是可能都像我一樣不明白Node.js到底是什么&#xff0c;這里給大家帶來一個簡單介紹。 Node.js 詳解&#xff1a;歷史發展、生態構建與底層原理 一、Node.js 的起源與歷史發展 誕生背…

Rust與Go:GAN實戰對決

Rust與Go生成對抗 GAN概念 GAN的全稱是Generative Adversarial Network,中文翻譯為生成對抗網絡。這是一種深度學習模型,由兩部分組成:生成器(Generator)和判別器(Discriminator)。生成器的任務是創建數據,而判別器的任務是區分生成器創建的數據和真實數據。這兩部分…

pyspark driver 上傳pod本地文件到對象存儲

前提: pyspark driver on k8s,環境變量或者spark_home/jars 下有相關對象存儲的包,報錯包問題就這里添加jar即可 from py4j.java_gateway import java_import from pyspark.sql import SparkSession# ----------------------------------------------------------------------…