University of TorontoとVector InstituteのRuihang Zhang氏らの研究チームが、単眼RGB動画と最初のフレーム上の1点から、対象の6DoFポーズを追跡できる新手法「ProxyPose: 6-DoF Pose Tracking via Video-to-Video Translation」を発表しました。動画生成モデルによるVideo-to-Video変換と古典的な姿勢推定を組み合わせたユニークな手法で、コードもGitHub上で公開されています。
ProxyPose
ProxyPoseは、単眼RGB動画内の任意の1点を指定することで、その位置に対応する物体や表面の6DoF(位置+回転)を動画全体にわたって追跡する技術です。
従来の6DoF Pose Trackingでは、対象物の3DモデルやDepth Map、Object Maskなどの追加情報が必要になるケースが多く、テクスチャの少ない物体や透明・反射素材、オクルージョンなども課題となります。
ProxyPoseではこの問題を、6DoF Pose TrackingそのものをVideo-to-Video Translationとして扱うという少し変わったアプローチで解決しています。
入力するのは基本的に、「単眼RGB動画」と「最初のフレーム上で指定した1つのQuery Pixel」のみ。
指定されたポイントの動きを直接解析して姿勢を推定するのではなく、動画生成モデルを使って、そのポイント周辺と同じ動きをする色付きの立方体が映った「Proxy Video」へ変換します。
この立方体は形状と見た目が既知なので、生成されたProxy Videoから輪郭を検出し、古典的なPerspective-n-Point(PnP)を使って位置と回転を求めることで、元の対象の6DoF Pose Trajectoryを復元します。
元動画+1点指定 → 動画生成AIでProxy Videoを生成 → Proxyの動きをPnPで解析 → 6DoF Poseを取得
- 単眼RGB動画から6DoF Poseを追跡
- 最初のフレームで対象となる1ピクセルを指定するだけ
- 3Dモデルを事前に用意する必要なし
- Object Mask不要
- Depth Mapを必須としない
- 物体の種類や境界を事前に認識する必要なし
- Video Diffusion Modelによって追跡対象の動きをProxy Videoへ変換
- 既知形状のProxyからContour Fitting+PnPで6DoF Poseを復元
- テクスチャレス・透明・反射素材や大きなオクルージョンを含む映像にも対応
- rigid objectだけでなく顔などのnon-rigid surfaceでも追跡例あり
- 静止したワールド上のポイントを追跡することでCamera Trackingにも応用可能
- Event CameraやSPAD Arrayによる映像への適用例も公開
Camera Trackingにも応用可能
個人的に興味深いのが、Object TrackingだけでなくCamera Trackingにも応用できる点です。
ワールド空間上で静止しているポイントをProxyPoseで追跡すると、相対的にカメラ側の動きを求められます。
公式ページでは、テクスチャが不足してCOLMAPによるCamera Trackingが失敗するようなシーンでも追跡できる例が紹介されています。
映像制作やVFX方面でも応用が期待できそうな技術です。
制限事項
万能というわけではなく、研究チームはいくつかの制限事項を公開しています。
- 複雑な動きをする反射面ではPose Driftが発生する場合がある
- 水面などLocal Rigidity自体を定義しにくい対象には不向き
- 高速な動きではVideo ModelのVAEによってProxy Frameがぼやける場合がある
- Proxyの輪郭検出が崩れると最終的なPose Tracking精度にも影響する
特にProxyPoseは生成されたProxy Videoを後段の幾何計算に利用するため、
Video Generation側の品質がTracking精度に直接影響する点には注意が必要です。
いやぁこれ凄いですよ
コンポジット用のトラッキング用途以外に
動画から物体のモーションデータを取得するのにも役立ちそう
論文だけでなくコードやモデルも既に公開されているので
興味のある方はぜひチェックしてみてください!










コメント