3Dビジョン技術は、ロボット工学、自動運転、文化財のデジタルアーカイブなど、多岐にわたる分野で重要な役割を担っています。しかし、高精度な3D再構成を実現するには、入力画像のカメラパラメータ(焦点距離やレンズの歪み、カメラの位置や向きなど)を事前に正確に知る必要があるのが一般的でした。これらのパラメータの取得は、しばしば煩雑で専門知識を要する作業であり、3D再構成の大きなハードルとなっていました。
今回ご紹介する論文「DUSt3R: Geometric 3D Vision Made Easy」は、この課題に対し「カメラのキャリブレーションも、ポーズ情報も不要」という、これまでにないアプローチを提案しています。
論文情報
- タイトル: DUSt3R: Geometric 3D Vision Made Easy
- 著者: Shuzhe Wang, Vincent Leroy, Yohann Cabon, Boris Chidlovskii and Jerome Revaud
- ArXivリンク: https://arxiv.org/abs/2312.14132
従来の3D再構成とDUSt3Rの挑戦
従来の多視点ステレオ再構成(MVS)のパイプラインは、以下のステップで構成されることが多かったです。
- キーポイント検出とマッチング
- エッセンシャル行列の算出
- 点の三角測量
- 疎な3D再構成
- カメラパラメータの推定(Structure-from-Motion; SfM)
- 密な3D再構成(MVS)
この一連のプロセスは非常に複雑で、各ステップでの誤差が次のステップに伝播し、全体の精度に影響を与えるという問題がありました。特にSfMのステップは、撮影枚数が少ない場合や、光沢のある表面、カメラの動きが少ないシーンなどで失敗しやすいという課題も抱えていました。
DUSt3Rは、このような従来の複雑なパイプラインとは一線を画します。未校正・未ポーズの入力画像コレクションから、カメラパラメータに関する事前情報なしに、直接密な3D再構成を行うことを目指します。
Pointmap:新しい3D表現の導入
DUSt3Rの中心となるのは、Pointmap(ポイントマップ) と呼ばれる新しい3D表現です。Pointmapとは、入力画像の各ピクセルに対応する3D空間上の点座標を密に記録したマップのことです。これにより、画像ピクセルと3Dシーンの点が1対1で対応付けられます。
このPointmapを用いることで、DUSt3Rは以下の革新的なアプローチを実現します。
- カメラモデルの制約緩和: 従来の透視投影カメラモデルが持つ厳密な幾何学的制約から解放され、より柔軟な3D再構成を可能にします。
- 単眼と双眼の統一: 単一の画像からの再構成(単眼再構成)も、複数の画像からの再構成(双眼再構成)も、同じフレームワークでシームレスに扱えます。
- 包括的な情報: Pointmapは、シーンの幾何学的形状、ピクセルとシーン点との関係、そして2つの視点間の関係を同時にカプセル化します。これにより、Pointmapからカメラパラメータやデプスマップ、ピクセル対応など、多様な幾何学情報を後から容易に回復できるようになります。
DUSt3Rの仕組み
DUSt3Rのネットワークアーキテクチャは、Transformerエンコーダとデコーダをベースとしています。特に、CroCo(Cross-View Completion)という強力な事前学習モデルのウェイトを活用することで、多様な3Dビジョンタスクで高い性能を発揮できるよう設計されています。
- 入力とエンコーディング: 2枚のRGB画像が入力され、共有されたViTエンコーダ(Vision Transformerエンコーダ)によって特徴量表現が抽出されます。
- 情報共有デコーダ: 2つのデコーダが、相互にクロスアテンションを通じて情報を交換しながら処理を行います。この情報共有が、適切にアラインされたPointmapを出力するために非常に重要です。
- Pointmapと信頼度マップの出力: デコーダの出力は、それぞれの画像に対応するPointmapと、その予測に対するネットワークの信頼度マップとして出力されます。重要なのは、これら2つのPointmapが、片方の入力画像のカメラ座標系で表現されるという点です。
DUSt3Rの学習は、シンプルに3D空間での点座標の回帰損失(Regression Loss)に基づいて行われます。予測されたPointmapと真のPointmapとのユークリッド距離を最小化するように学習し、予測と真値のスケール曖昧性に対応するため、両者を原点からの平均距離で正規化します。さらに、予測が難しい領域を考慮するために、信頼度を考慮した損失関数も導入されており、明示的な幾何学的制約なしに、データから強力な幾何学的・形状的知見を学習します。
DUSt3Rで可能になること
Pointmapの豊かな表現力により、DUSt3Rは様々な3Dビジョンタスクを簡素化し、あるいは従来のSOTAを更新します。
- ピクセルマッチング: Pointmap空間での最近傍探索によって、2つの画像間のピクセル対応を簡単に確立できます。
- カメラ内部パラメータの復元: Pointmapがカメラ座標系で表現されているため、簡単な最適化(例えば焦点距離の推定)でカメラの内部パラメータを推定できます。
- 相対ポーズ推定: 2つのPointmap間でのProcrustesアラインメント(剛体変換の推定)やRANSACを用いたPnP(Perspective-n-Point)アルゴリズムにより、カメラ間の相対的な位置・姿勢を推定します。
- 絶対ポーズ推定(Visual Localization): 取得した2D-3D対応を用いてPnP-RANSACを実行することで、シーン内でのカメラの絶対位置を推定します。
- マルチビューからのグローバルアラインメント: 複数の画像から予測されたPointmapを、共通の3D空間で一貫して整合させるための高速でシンプルな最適化手順も提案されています。これにより、密な3D再構成だけでなく、すべてのカメラパラメータ(外部・内部)とデプスマップを回復できます。
驚くべき性能と簡素化
DUSt3Rは、これらの多様な3Dビジョンタスクにおいて、既存の最高水準の手法と比較して優れた、あるいは同等以上の性能を発揮しています。特に、単眼深度推定やマルチビュー深度推定、相対ポーズ推定において、多くのSOTAを更新しています。
最大の特徴は、これらの結果が、特定のタスクに合わせてモデルをファインチューニングすることなく、単一のDUSt3Rモデルで達成されている点です。これは、DUSt3Rが未校正・未ポーズの画像から、シーンの幾何学的な情報を包括的に学習し、Pointmapという汎用的な表現に落とし込むことに成功している証拠です。
まとめ
DUSt3Rは、未校正・未ポーズの画像コレクションから、密な3D再構成を可能にする画期的な手法です。Pointmapという新しい表現を導入し、Transformerベースのアーキテクチャと効率的な学習戦略により、従来のSfM/MVSパイプラインの複雑さを解消し、多くの3Dビジョンタスクを「簡単」にします。
この研究は、3D再構成のハードルを大幅に下げ、より多くのアプリケーションでの3Dビジョン技術の活用を加速させる可能性を秘めていると言えるでしょう。
