Video2Policy:通過互聯網視頻規模化模擬中的操作任務


2025年2月來自清華、上海姚期智研究院、上海AI實驗室、UC Berkeley 和 UCSD 的論文“Video2Policy: Scaling up Manipulation Tasks in Simulation through Internet Videos”。
模擬為通才策略提供一種廉價的規模化訓練數據的方法。為了可擴展地從多樣化和現實的任務中生成數據,現有的算法要么依賴于大語言模型 (LLM),這可能會產生機器人不感興趣的任務;要么依賴于數字孿生,這需要仔細的真實-到-模擬對齊并且難以規模化。為了應對這些挑戰,引入 Video2Policy,這是一個利用互聯網 RGB 視頻根據日常人類行為重建任務的框架。該方法包括兩個階段:(1) 從視頻中在模擬中生成任務;(2) 迭代利用上下文 LLM 生成獎勵函數進行強化學習。通過重建 Something-Something-v2 (SSv2) 數據集中的 100 多個視頻來證明 Video2Policy 的有效性,該數據集描繪 9 種不同任務上的多樣化和復雜的人類行為。該方法可以成功地在這些任務上訓練 RL 策略,包括投擲等復雜且具有挑戰性的任務。最后,生成的模擬數據可以擴大以訓練通用策略,并且可以以 Real2Sim2Real 的方式將其遷移回真實機器人。
訓練通才策略需要收集大量不同的機器人專家數據。然而,通過遙操作收集數據受到高操作成本的限制,而從自主策略收集數據可能不安全,或導致數據質量低下。模擬為現實世界數據提供一種有吸引力的替代方案,它不會受到這些挑戰的影響,并且可以用來訓練通用和穩健的策略(Hwangbo,2019;Andrychowicz,2020)。最近的研究探索在模擬中自動生成多樣化和相關的任務,以此作為創建可擴展的機器人數據生成流水線的方法(Deitke,2022;Wang,2023b;c;Makatura,2023)。
然而,現有的方法主要依賴于使用大語言模型 (LLM) 的純文本任務規范,而這些模型沒有扎實的機器人知識。它們通常會產生缺乏多樣性、行為無趣或使用無趣的目標資產的任務,因此對于訓練通才策略不太有用。為了更好地捕捉任務行為和目標在現實世界中的分布,利用互聯網上的 RGB 視頻來創建相應的任務。與為單個場景構建數字孿生的 Real2Sim 方法(Hsu,2023;Torne,2024)不同,這是為多個場景訓練通才策略,因此不需要完美的重建。相反,利用大量互聯網視頻來捕獲與任務相關的信息,例如目標資產和場景布局。然后,用視覺語言模型 (VLM) 生成模擬任務,該模型可以獲取視頻、視頻字幕、目標網格、大小和 6D 姿勢,并生成相應的任務代碼,執行這些代碼即可生成場景。
除了任務提議之外,還需要一種高效且自動化的方法來解決任務。單純地應用強化或模仿學習是具有挑戰性的,因為它需要人工為每個任務創建演示或獎勵函數。受到 LLM 在各種任務代碼生成方面的最新進展啟發(Achiam,2023;Roziere,2023),一些研究人員提出通過使用 LLM 直接生成策略代碼(Huang,2023b;Liang,2023;Wang,2023b)或生成獎勵函數代碼(Ma,2023;Wang,2023c)來實現策略學習或部署的自動化。Gensim(Wang,2023b)利用這個想法進行無監督任務生成。然而,預測目標將其限制在簡單任務上,因為它不考慮動態任務或涉及復雜目標交互的任務。
相比之下,強化學習 (RL) 可有效解決復雜任務(Schulman,2017;Ye,2021;Hafner,2023;Wang,2024;Springenberg,2024)。RoboGen(Wang,2023c)利用 LLM 生成的獎勵函數進行 RL。但是,由于它需要手動成功函數,因此很難擴展。
機器人的 Real2Sim 場景生成。為機器人生成真實而多樣的場景最近已成為一項重大挑戰,旨在通過模擬解決數據問題。一些研究人員已經開發用于圖像-到-場景或視頻-到-場景生成的 Real2Sim 流水線。某些研究(Hsu,2023;Torne,2024)專注于構建數字孿生,以促進從現實世界-到-模擬的過渡;然而,這些方法通常依賴于特定的現實世界掃描或大量的人工協助。(Dai,2024)引入數字表親的概念,而(Chen,2024)采用逆圖形學來增強數據多樣性。然而,他們實現多樣性的方法主要涉及替換各種資產。任務級多樣性的缺乏阻礙捕捉現實世界任務分布的能力,特定數據格式的限制,使機器人數據的可擴展性變得復雜。盡管 Real2Code(Mandi,2024)旨在從圖像構建模擬場景,但它專注于關節部分,并且需要域內代碼數據。
規模化模擬任務。以前,研究人員的目標是構建模擬基準,以促進可擴展的技能學習和標準化工作流程(Li,2023;Gu,2023;Srivastava,2022;Nasiriany,2024 年)。大多數這些基準都是手動構建的,因此難以擴展。最近,一些研究人員專注于文本到場景的生成,強調創造多樣化的場景。諸如 (Deitke,2022;Makatura,2023;Liang;Chen,2023) 之類的方法利用程序資產生成或域隨機化,而 (Jun & Nichol,2023;Yu,2023a;Poole,2022) 則從事文本-到- 3D 資產生成。盡管這些方法可以在機器人任務中實現資產級或場景級多樣性,但它們在提供任務級多樣性方面卻不足。Gensim (Wang,2023b) 嘗試使用大語言模型 (LLM) 生成豐富的模擬環境和專家演示,以實現任務級多樣性。但是,基于文本的任務生成,在目標選擇及其關系方面往往具有任意性,從而限制了其表示現實世界中任務真實分布的能力。
通過 LLM 進行策略學習。為了實現高質量的自動策略學習,研究人員越來越多地求助于大語言模型 (LLM)。一些研究 (Liang et al., 2023; Huang et al., 2023a; Lin et al., 2023; Wang et al., 2023a) 建議為決策問題生成結構化代碼輸出,其中大多數依賴于預定義的原語。其他工作 (Yu et al., 2023b; Ma et al., 2023; Wang et al., 2023c) 使用 LLM 為強化學習生成獎勵函數。盡管如此,Eureka(Ma,2023)需要預定義成功函數來迭代更新獎勵函數,而 RoboGen(Wang,2023c)選擇最高獎勵作為下一個子任務的初始狀態,這會由于生成的獎勵函數變化而引入噪音。
本文提出框架 Video2Policy,進一步通過互聯網視頻進行任務提議和策略學習,以提供多樣化和逼真的任務以及相應的學習策略。它包括兩個階段:任務場景生成和策略學習。如圖所示:

由于這項工作的目標是從視頻中學習策略而不是自動重定位軌跡,場景重建階段專注于重建被操縱的目標及其相對關系。為了掌握視頻中展示的技能,允許每個目標在初始狀態下隨機定位和定向。步驟如上圖所示:(1)使用文本字幕檢測和分割視頻中被操縱的目標;(2)從視頻中重建目標網格并估計網格的實際大小;(3)對視頻中的每個目標執行 6D 位置跟蹤。之后,獲得一個包含視頻和目標信息的 JSON 文件。
目標落地。首先使用 Grounding DINO(Liu et al., 2023)檢測視頻第一幀中的被操縱目標。由于 SSv2 數據集(Goyal et al., 2017)同時提供視頻字幕和目標標簽,將它們用作檢測的文本提示。對于更具挑戰性行為的自采集視頻,手動提供視頻字幕和目標名稱。之后,用 SAM-2 模型 (Ravi et al., 2024) 執行視頻分割。具體而言,使用檢測過程中獲得的邊框對第一幀中的目標進行分割,并在每個目標掩碼中選擇五個正像素點進行視頻分割。此過程產生包含被操作目標掩碼的分割視頻。
目標重建。利用每幀每個目標的分割掩碼,基于這些圖像執行網格重建。由于大多數互聯網視頻都是從單個視點錄制的,利用 InstantMesh 模型 (Xu et al., 2024) 重建 3D 網格,該模型支持從單個圖像生成網格。通常,選擇第一幀來重建網格;但是,對于第一幀中目標被嚴重遮擋的視頻,將使用最后一幀。為了建立更真實的目標間尺寸關系,提出一種簡單有效的尺寸估計方法。用 UniDepth(Piccinelli,2024)預測相機本征矩陣 K 和圖像 I_i,j 的深度 d_i,j,其中 i,j 是像素坐標。給定目標的掩碼區域 M,可以計算出實際掩碼區域的最大距離 D_image:Dimage = max_(i_1, j_1), (i_2, j_2) ∈ M || p(i_1, j_1) ? p(i_2, j_2) ||,其中 p(i, j) = K^?1·[x, y, 1]^T · d_i,j。這里 p 是相機坐標系中每個掩碼像素的 3D 位置。然后,計算網格目標中頂點的最大距離,記為 D_mesh。網格目標的尺度 ρ 定義為 ρ = D_image/D_mesh。由于深度估計、內參估計和目標遮擋中的錯誤,絕對尺寸可能會出現一些噪聲。但是,每個目標的相對大小大多是準確的,因為 D_image 和 D_image 是在同一相機坐標系內計算的。
目標的 6D 位置跟蹤。重建目標后,預測整個視頻中每個目標的 6D 位置,該位置將輸入 GPT-4o 進行代碼生成。在基于模型的設置中使用 FoundationPose(Wen,2024)來估計目標的位置和方向。該模型將目標網格、預測的相機內參和每幀的深度信息作為輸入。最后,根據網格文件和計算出的尺度因子自動為每個目標生成一個 URDF 文件。
將視頻中的視覺信息提取到任務 JSON 文件中后,可以在模擬中構建任務場景并基于 GPT-4o 學習策略。這個過程分為兩個階段。首先,生成完整的任務代碼,可以直接在 Isaac Gym (Makoviychuk et al., 2021) 環境中執行。其次,受到最近關于 LLM 驅動的獎勵函數生成工作的啟發,用上下文獎勵反思 (Shinn et al., 2023; Ma et al., 2023; Wang et al., 2023a) 迭代地微調生成的獎勵函數。和 Eureka (Ma et al., 2023) 相比,本文從頭開始生成任務代碼(包括獎勵函數),而不是依賴預存在的任務代碼并從手動定義的成功函數開始獎勵反思。
任務代碼生成。受前人研究(Ma et al., 2023; Wang et al., 2023b;c)的啟發,系統地介紹通用任務代碼生成的流程,這有助于通過有條理的方式提示來推斷代碼。值得注意的是,任務代碼由六個部分組成:場景信息、重置函數、成功函數、觀察函數、觀察空間函數和獎勵函數。 (1) 場景信息是指從視頻創建的任務場景 JSON 文件。它包含任務字幕、視頻文件路徑、視頻描述和目標信息,包括大小、URDF 路徑和跟蹤的 6D 位置列表。 (2) 重置函數負責在開始時根據特定的空間關系定位目標。 (3) 成功函數確定成功狀態。值得注意的是,重置和成功函數都是由 GPT-4o 根據任務描述、提供的 6D 位置列表和思維鏈(CoT)示例 (Wei et al., 2022) 生成的。 (4) 此外,可以訪問模擬中目標的狀態。因此,查詢 GPT-4o 以確定是否需要進行額外的觀察。有趣的是,它可以包括諸如目標與夾持器之間的距離或朝向目標物體的歸一化速度之類的觀察結果。 (5) 同時,它計算出構建神經網絡的正確觀察形狀。 (6) 關于獎勵函數,遵循 (Ma et al., 2023) 中的說明和 CoT 示例。編寫一個任務代碼生成模板,只需查詢一次 VLM 即可生成包含所有六個部分的可執行代碼。生成八個示例代碼,并通過重新檢查 GPT-4o 的正確性、合理性和效率選擇一個,這是后續上下文獎勵反思階段的基本代碼候選。
強化學習和獎勵函數迭代。給定生成的任務代碼,在獎勵函數 R? 和成功函數 R_0|1 下通過強化學習訓練策略。值得注意的是,我們為成功獎勵分配了較高的權衡,將訓練獎勵函數制定為 R? + λR_0|1,λ = 100。此外,按照 Eureka (Ma et al., 2023) 中的方法,應用上下文獎勵反思,使用 GPT-4o 迭代設計獎勵函數。每次都會為訓練策略采樣 N = 8 個不同的獎勵函數,并收集訓練和評估日志。然后,從上一次迭代中選擇最佳函數,并根據這些日志以及特定說明和 CoT 示例生成新的獎勵函數。例如,除了提供來自先前任務的良好示例外,還優先考慮成功軌跡的累積獎勵超過失敗軌跡的累積獎勵的訓練輸出。
正如最近從具有特定格式大規模數據集進行策略學習的成功所見證的那樣(Padalkar,2023;Reed,2022;Team,2024;Brohan,2023),想要研究如何從互聯網視頻中學習通用策略,該策略直接輸出機器人的可執行動作,而不是不可執行的未來視頻(Du,2024;Qin,2023)或語言 tokens(Liang,2023;Brohan,2023)。將 Video2Policy 視為一個數據引擎,用于從互聯網視頻中生成成功的策略。然后,可以在模擬中獲得與視頻行為相匹配的專家軌跡。值得注意的是,這些專家軌跡可以是想要的任何格式,例如狀態、2D 圖像或 3D 圖像。在這項工作中,選擇 RGB 圖像觀察。從視頻中訓練 RL 策略,并從學習的策略中收集成功的軌跡。之后,使用模仿學習通過行為克隆(BC)從收集的數據集中學習通用策略。最后,將學習的策略遷移到現實世界。為了彌合模擬與現實之間的差距,在數據收集中應用一些域隨機化,并將分割圖作為部署的輸入。
實驗設置。用 Issac Gym (Makoviychuk et al., 2021) 作為所有實驗的模擬引擎,該引擎由于計算效率高和物理仿真度高的優點,常用于機器人任務。專注于桌面操作任務,目標會在開始時隨機重置在桌面上。任務的范圍設置為 300,并行環境的范圍為 8192。對于每個任務,用不同種子在 3 次運行中對 10 個評估事件的成功率進行平均。
視頻數據源。為了從互聯網 RGB 視頻中重建場景,選擇 Something Something V2 (SSv2) 數據集 (Goyal et al., 2017),這是一個機器人社區常見且多樣化的視頻數據集。它包括人類用手操縱目標的各種行為。為了進一步研究框架對更復雜的目標或行為的能力,自己錄制三個不同行為的野外視頻。值得注意的是,在實驗中使用的所有視頻都是僅具有 RGB 的 3 通道,可訪問性最高。對于視頻質量,可以容忍相機的微小運動,并且將分辨率設定為 1024。
場景生成。對所有目標進行 6D 位置跟蹤。考慮到隨機化所有目標的初始狀態,僅將第一幀和最后一幀的 6D 位置輸入到提示中。這在大多數任務中都是合理的,因為這兩幀對于推斷目標之間的關系非常重要。即使這種簡化會錯過某些行為(例如投擲)的運動信息,也提供任務描述來設計獎勵函數,以便 LLM 生成速度獎勵分量。此外,明確計算 6D 位置之間的差異,并將信息輸入 LLM 以考慮成功函數。對于大多數單個目標的 SSv2 視頻,存在嚴重遮擋,使得重建網格資產變得困難。手動選擇第一幀或最后一幀來重建網格,并在同一流水線中預測 6D 位置。在獲得視覺信息后,以課程方式生成任務代碼(Ma et al., 2023; Wang et al., 2023b)。從一開始,提供到達方塊和抓取方塊的示例代碼。然后,將成功生成的任務示例添加到下一個任務池中。最后,它甚至可以學習使用方向速度獎勵進行動態任務并解決它們。如圖給出一些生成任務的演示。

強化學習。對于策略學習,在一個經過良好調整的實現代碼庫(Makoviichuk & Makoviy-chuk, 2021; Ma et al., 2023)中選擇 PPO(Schulman et al., 2017)算法。在所有任務和所有基準上共享代碼庫中推薦的相同參數。至于評估指標,為每個生成的任務編寫真實成功函數。與 Eureka (Ma et al., 2023) 不同,不允許在訓練期間訪問評估指標,并且手動評估最終模型的結果。對于 SSv2 數據集,在強化學習期間進行 5 次迭代并在每次迭代中抽樣 8 個獎勵函數。在收集的視頻中,進行 8 次迭代并抽樣 8 個獎勵函數。
訓練細節。選擇行為克隆 (BC) 來學習通用策略。對于模型架構,應用預訓練的 Resnet18 (He et al., 2016) 作為主干來提取特征并堆疊 2 幀作為觀察值。然后在 3 層 MLP 中構建策略頭,隱藏狀態為 512 維。此外,策略在收集的軌跡上訓練 30 個 epochs,批次大小為 1024。策略頭的學習率為 3e-4,而 Resnet 主干的學習率為 3e-5。對于評估,評估 3 個種子 10 個提升任務的最終檢查點,并對每個種子 10 條軌跡的結果取平均值。評估任務包括 5 個具有新形狀和新紋理的目標,以及 5 個具有未見過類別的目標。
策略學習基線。由于將互聯網 RGB 視頻轉換為任務策略的工作很少,因此在實驗中專注于策略學習部分。根據以下基線對方法進行基準測試。(1)代碼即策略(CoP)(Liang,2023),它使用環境中的所有狀態查詢 LLM 來為機器人編寫可執行代碼。為了確保 CoP 有更好的性能,用閉環控制并每 50 步重新生成一次代碼策略。(2)RoboGen,它不需要成功函數并且無需獎勵反思迭代即可學習。(3)Eureka,它使用 LLM 為獎勵和成功函數生成代碼,而不使用視頻信息。為了進行公平的比較,對所有基線使用相同的目標網格和從視頻生成的任務代碼。
通用策略的基線。對于通用策略,將提出的 Video2Policy 視為專家軌跡收集的數據引擎。因此,其他數據引擎是基線,可以在重建的場景中生成成功的軌跡。比較以下模型:(1)Code-as-Policy(CoP),可以直接使用狀態輸入而不是圖像,應用于新任務;(2)BC-CoP,從 CoP 收集的數據訓練 BC 通用策略;(3)BC-V2P,與 BC-CoP 相同,但使用 V2P 收集的數據。CoP 基線展示基于狀態的通用策略效果,而后者 BC-CoP 和 BC-V2P 結果說明通用策略在不同數據引擎下的性能。
輸入表示和網絡架構。將圖像的分割掩碼、機器人的末端執行器 (EEF) 狀態和夾持器狀態作為輸入。采用 SAM-2 進行分割,其中目標物體的像素位置在第一幀中手動提供作為輸入,如圖所示。堆疊 2 幀并添加額外的多層感知器 (MLP) 層以將機器人狀態映射到 256 維特征向量中。此外,動作的旋轉分量按 0.2 的倍數縮放。

域隨機化。在模擬中的數據收集過程中,對噪聲水平為 0.02 且隨機延遲為 0.01-0.02 秒的動作應用隨機化。此外,物體的物理屬性(例如大小和重量)也是隨機的。確保模擬和現實中的相機姿勢一致。
END

