ReKep——李飛飛團隊提出的讓機器人具備空間智能:基於視覺語言模型GPT-4o和關係關鍵點約束(下)
接上文>>>
1.4 完整實現:ReKep關鍵點提議的實現細節和ReKep生成
爲了使系統能夠在野外執行任務並給出自由形式的任務指令,設計了一個使用大型視覺模型和視覺-語言模型的管道,用於關鍵點提議和ReKep生成,分別討論如下:
1.4.1 關鍵點提議:最終選中DINOv2來提取特徵
給定一個RGB圖像
首先從DINOv2 [Dinov2: Learning robust visual features without supervision]中提取逐塊特徵
然後執行雙線性插值,將特徵上採樣到原始圖像大小,
爲了確保提案覆蓋場景中的所有相關對象,他們使用Segment Anything (SAM) 「其對應論文爲:Segment anything,且此文《SAM(分割一切)——圖像分割的大變革:從SAM、FastSAM、MobileSAM到SAM2》有介紹]」提取場景中的所有掩碼
對於每個掩碼,使用k-均值聚類算法對掩碼特徵進行聚類,k= 5,使用餘弦相似度度量 聚類的質心用作關鍵點候選,通過校準的RGB-D相機投影到世界座標R3,距離其他候選點在8釐米以內的候選點會被過濾掉
總體而言,他們發現該過程能夠識別出大量細粒度和語義上有意義的對象區域
值得一提的是,可能有的讀者好奇,李飛飛他們爲何選DINOv2?其實,他們做了不同方法的關鍵點提議比較:
SAM + DINOv2
SAM + CLIP(視覺-語言對比預訓練)
SAM + ViT(監督預訓練)
僅DINOv2,自監督預訓練
可以看到,得到的結果爲
SAM提供的對象性先驗對於將關鍵點提議約束在場景中的物體上而不是背景上至關重要
雖然大多數視覺基礎模型可以提供有用的指導,但DINOv2產生的特徵更爲清晰,可以更好地區分物體的細粒度區域 比如CLIP在不同物體部件之間提供了不同的特徵,但這些特徵不如DINOv2的清晰(顏色從一個部件到另一個部件逐漸飽和)
另一方面,ViT在物體部件之間產生的特徵最不明顯。物體部件,尤其是當紋理相似時
總體而言,觀察結果與其他也應用DINOv2進行細粒度物體理解的工作一致
1.4.2 ReKep生成
在獲得關鍵點候選後
將它們覆蓋在原始RGB圖像上,並用數字標記(After obtaining the keypoint candidates, we overlay them on the original RGB image with numerical marks)
結合任務的語言指令,然後使用視覺提示來查詢GPT-4o,以生成所需階段的數量和相應的子目標約束 和每個階段 的路徑約束 「Coupled with the language instruction of the task, we then use visual prompting to query GPT-4o [6,Gpt-4 technical report] to generate the number of required stages and the corresponding sub-goal constraints C(i)sub-goal and path constraints C(i) path for each stage i (prompts are in A.6).」
值得注意的是,這些函數不會直接操作關鍵點位置的數值。相反,利用VLM的優勢,通過算術運算(如關鍵點之間的L2距離或點積)來指定空間關係,這些運算僅在使用專門的3D跟蹤器跟蹤的實際關鍵點位置時纔會實例化Notably,the functions do not directly manipulate the numerical values of the keypoint positions. Rather, we exploit the strength of VLM to specify spatial relations as arithmetic operations, such as L2 distance or dot product between keypoints, that are only instantiated when invoked with actual keypoint po-sitions tracked by a specialized 3D tracker.
此外,使用一組關鍵點位置進行算術運算的一個重要優勢是,當提供足夠的點並在相關點之間強制剛性時,它可以在完整的SO(3)中指定3D旋轉,但這僅在根據任務語義需要時纔會進行Furthermore, an important advantage of using arithmetic operations on a set of keypoint positions is that it can specify 3D rotations in full SO(3) when suf-ficient points are provided and rigidity between relevant points is enforced, but this is done only when needed depending on task semantics3.
這使得VLM能夠在3D笛卡爾空間中通過算術運算來推理3D旋轉,有效地避免了處理替代3D旋轉表示和執行數值計算的需要This enables VLM to reason about 3D rotations witharithmetic operations in 3D Cartesian space, effectively circumventing the need for dealing with alternative 3D rotation representation and the need for performing numerical computation
1.5 ReKep完整示例:針對「1.4節關鍵點提議和ReKep生成」
1.5.1 倒茶等任務的階段動作及其對應的子目標約束、路徑約束
以下是倒茶、摺疊袖子、摺疊夾克等任務的階段目標,及其對應的子目標約束、路徑約束
1.5.2 約束的注意事項
1.5.3 將ReKep生成轉化成Python代碼
其對應的代碼如下
以上代碼對應的翻譯如下
除了以上,更多機器人相關見七月在線的《大模型機器人二次開發線下營》
↓↓↓掃碼瞭解課程↓↓↓
課程諮詢可找蘇蘇老師VX:julyedukefu008或七月在線其他老師