論文紹介 Distilled Feature Fields Enable Few-Shot Language-Guided Manipulation

Distilled Feature Fields Enable Few-Shot Language-Guided Manipulation

https://arxiv.org/pdf/2308.07931


自己教師付き画像モデルや言語教師付き画像モデルには、汎化に重要な世界の知識が豊富に含まれている。しかし、多くのロボットタスクは、3次元形状の詳細な理解を必要とする。この研究では、正確な3次元形状と2次元基礎モデルからの豊富なセマンティクスを組み合わせるために、抽出された特徴フィールドを活用することにより、ロボット操作のためのこの2次元から3次元へのギャップを埋める。我々は、6自由度の把持と配置のためのfew-shot学習法を提示し、これらの強力な空間的・意味的事前分布を利用することで、未見の物体に対する実環境での汎化を達成する。視覚言語モデルCLIPから抽出された特徴を用いて、自由文の自然言語を介して新しいオブジェクトを操作するために指定する方法を提示し、未知の表現やオブジェクトの新しいカテゴリに汎化する能力を実証する。プロジェクトウェブサイト：https://f3rm.csail.mit.edu


Our code is tested to work on Nerfstudio versions 0.3.3 and 0.3.4.


<iframe width="560" height="315" src="https://www.youtube.com/embed/PA9rWWVWsc4?si=1YHIyYlTpe03ers9" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

![Screenshot from 2024-08-01 17-51-47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/83761/b03596a0-848e-a4ac-fd4d-f3764d1f94ec.png)

図1：抽出された特徴フィールドがオープンエンドな操作を可能にする。(1) ロボットが自撮り棒を使ってシーンのRGB画像をスキャンする（カメラの錐台を示す）。(2)2D基礎モデルから画像のパッチレベルの高密度な特徴を抽出し、NeRFのモデル化とともに特徴フィールドに蒸留する（図はPCA）。(3)CLIPの特徴フィールドに言語クエリを行い、ヒートマップを生成し、たった10回のデモンストレーションで新規オブジェクトの6自由度把持を推測する。

![Screenshot from 2024-08-01 17-51-57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/83761/01af6d7c-ffd2-ad19-380d-fef866e67439.png)
図2：6自由度ポーズの表現。(a) バーチャルリアリティ(VR)でグリッパーのポーズT＊をマグカップ上に記録。(b) グリッパーのカノニカルフレーム内の固定されたクエリ点セットを介して、連続的なローカルフィールドを近似する。(c)これらのクエリ点における特徴ベクトルを連結し、n（ここではn = 2を使用）個のデモを平均する。これにより、タスクMのタスク埋め込みZMが得られる。

![Screenshot from 2024-08-01 17-52-07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/83761/a25ed679-402f-b06e-78f5-a97912968f4b.png)

図3：言語ガイド付き操作のパイプライン。(a)言語クエリをCLIPでエンコードし、一連のデモの平均的なクエリポイント特徴との類似度を比較する。マグカップの縁のデモは、「Pick up the Bowl 」との類似度が最も高い。(b) Jlangを最小化することにより、CLIP特徴フィールドを用いて把持案を生成し、最適化する。(a)で選択されたデモをJposeで使用し、テキスト特徴量と平均クエリポイント特徴量を用いて言語誘導の重みを計算する。

![Screenshot from 2024-08-01 18-06-54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/83761/62bf9aec-2c1e-836c-1ad0-eb2c9e74b3a5.png)
図4：5つのつかむ・置くタスク。(a)マグカップの縁または取っ手をつかむ（図2）、(b)ドライバーの取っ手をつかむ、(c)イモムシの耳をつかむ、(d)コップを物干し台に置く。   グリッパーのポーズは、2つのデモンストレーションのいずれかを示している。

図5：新しい物体への一般化。   (上段）マグカップはデモンストレーション用のものよりはるかに大きい。(下段）このラックはペグが短く、断面が四角い。デモ用のラックは円筒形（図4d参照）。

![Screenshot from 2024-08-01 18-07-19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/83761/cd1e5305-baaf-b683-3de0-3c6b7a30138a.png)

図6：乱雑なシーンにおける把持。(a) イモムシをDINO特徴場で把持するデモ（色はPCA、赤い点はクエリーポイントを示す）。(b)複数のおもちゃが重なった乱雑なシーン。挿入図は推定された上位10個の把持を示している。イモムシの耳がデモと同じ特徴を持っていることがわかる。(c) ロボットがイモムシの把持に成功。

![Screenshot from 2024-08-01 18-10-56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/83761/b43a256d-427f-ad7e-9dd0-7c1308c94d4d.png)
図7：言語ガイド付き操作の実行。(上段）言語クエリが与えられたときのヒートマップ。(下段）ロボットが再スキャンせずに順次把持を実行。CLIPは、「blue screwdriver 」の青いボウルへのブリードで示されるように、bag-of-wordsのように振る舞うことができる。


# 私見：
・１ショットの範囲でなんとかしようと考えていない。
  ロボットの動作において1shotの画像で空間を完全に理解できるなんて期待しないほうがいい。
  動作の際に視点を変えた画像をも使って理解を確かめていくのが常套手段の実装であるべきだと思う。
　NerfStudio　を使っている。
 NerfStudioの部分を使えば、3D再構築部分は実行できるはず。
 　
・言語による指示をいう部分と３Dの扱い、把持までをタスクに含んでいる。
　別々のタスクにしていると、それをどう連結するのかという問題を生じる。
 
# ６自由度での姿勢の決定と、gripperでのハンドリング
- Open Vocaburaryでの物体検出をセグメンテーションで実施する。
- それと対応する点群のデータをNerfStudioの結果から得る。
- そこから対象物に対して、６自由度の姿勢の推定
- gripper での把持開始のためのgripperの姿勢データを出している。