FoundationPose
FoundationPose は、NVIDIA による 6D object pose estimation / tracking の foundation model です。RGB-D image から object の 6D pose を推定し、model-based と model-free の両方の設定を扱うことを目指します。
何が foundation なのか
従来の 6D pose estimator は、特定 object category や特定 dataset に強く依存しがちでした。FoundationPose は、
- CAD model がある場合 (model-based)
- CAD model がない場合 (model-free, reference image から)
- Novel object
- Pose estimation と tracking
を一つの framework で扱います。
基本 pipeline
Object mask は SAM などの segmentation model と組み合わせることもできます。Pose hypothesis を生成し、render-and-compare 的に scoring / refinement することで高精度化します。
Model-based と model-free
| 設定 | 入力 | 説明 |
|---|---|---|
| Model-based | CAD model + RGB-D | CAD model を image / depth に合わせて pose を推定します。 |
| Model-free | Reference image / observation + RGB-D | CAD model なしで novel object の pose を推定します。 |
Model-free setting は、未知 object が多い robotics で特に重要です。
Robotics での意味
Robot が物体を把持したり操作したりするには、object の pose が必要です。FoundationPose のような model が robust に動くと、
- 新しい物体を登録なしで扱う
- Pose tracking で manipulation 中の object を追跡する
- AR / digital twin と連携する
といった応用が可能になります。
Limitations
- Accurate mask に依存する場合があります。
- Transparent / reflective object は難しいです。
- Depth sensor の noise が pose に影響します。
- Severe occlusion では hypothesis が不安定になります。
数式で見る pose refinement
FoundationPose のような 6D pose system では、初期 pose を仮定し、rendering と観測画像の差から pose を refine します。現在の pose を 、更新量を とすると、Lie algebra 上の更新は次のように書けます。
この式の気持ちは、「rotation と translation を別々に雑に足すのではなく、SE(3) 上の小さな剛体変換として pose を更新する」というものです。
Rendering-based refinement では、render 画像特徴 と観測画像特徴 を近づけます。
ここで、 は object model です。特徴空間で比較することで、照明や texture の違いに対して raw RGB より頑健になることがあります。
関連ページ
主なソース
- FoundationPose project page: https://nvlabs.github.io/FoundationPose/
- FoundationPose paper: https://arxiv.org/abs/2312.08344
- BOP benchmark: https://bop.felk.cvut.cz/