こんにちは、カディンチェのエンジニアの板橋です。
3D再構成の現場で、誰もが一度は経験したことがあるのではないでしょうか。
キャリブレーション作業に何時間も費やし、カメラの位置を微調整し、マーカーを設置して、ようやく撮影開始...。
そんな「当たり前」が、変わるかもしれません。
社内AI勉強会でコンピュータビジョンの最高峰学会CVPRでベストペーパーアワードを受賞した「VGGT(Visual Geometry Grounded Transformer)」。オックスフォード大学とMeta AIが開発したこの革新的な3D再構成AIを検証してみました。
目次
- VGGTって何?複数画像から「全部」を一気に取り出すAI
- なぜVGGTは「ゲームチェンジャー」なのか?
- 技術解説:なぜこんなに速くて正確なの?
- 1. Alternating Attentionによる精度向上
- 2. フィードフォワード処理による爆速化
- 使い分けガイド:VGGTと3D Gaussian Splatting
- 【まとめ:3D再構成の民主化が始まった】
VGGTって何?複数画像から「全部」を一気に取り出すAI
VGGTを一言で表現するなら、「3D再構成の全自動化AI」です。
従来の手法では、カメラパラメータの推定、3D点群の生成、深度マップの作成...これらを別々のステップで処理していました。VGGTは違います。複数の画像や動画(※)を入力するだけで、以下の情報をすべて同時に出力してくれるのです。
- カメラパラメータ(内部パラメータ・外部パラメータ)
- 3D点群
- 深度マップ
- 3Dポイントトラック
しかも処理速度が驚異的です。1枚から200枚程度の画像をわずか0.2秒から数秒で処理完了。従来のフォトグラメトリでは何時間もかかっていた作業が、文字通り「一瞬」で終わります。
※ただし、現時点では魚眼レンズのような歪みの大きい画像には対応していない模様
試しに早稲田大学の大隈講堂を撮影し(9枚)、3D点群を再構成してみました。少ない撮影枚数なのに対して、細部まで表現されていて見事です。
■VGGT: Visual Geometry Grounded Transformer
https://vgg-t.github.io/
■論文:[2503.11651] VGGT: Visual Geometry Grounded Transformer
https://arxiv.org/abs/2503.11651
■Hagging Faceのデモサイト
https://huggingface.co/spaces/facebook/vggt
■VGGT github
上記のデモサイトでは、使用していると画像の制限がある。こちらのgithubのreadmeで同じサイトを比較的簡単にローカルに立ち上げることができるためこちらを使用することがおすすめ
https://github.com/facebookresearch/vggt
■第64回 コンピュータビジョン勉強会@関東 CVPR2025読み会(前半)
https://speakerdeck.com/peisuke/vggt-visual-geometry-grounded-transformer-3019a999-11ea-430f-9412-2e2f0f35ec34?slide=2
https://youtu.be/Dt1D4kCdUXU?t=7687
■Google Colabのサンプルコード
本記事は、VGGTを知ってもらうことに注力して作成しています。VGGTを使ってコードから学習・推論(3D点群生成やカメラパラメータ生成)などをやってみたいというエンジニア向けにサンプルを作成しましたので、必要に応じてご活用ください!
https://colab.research.google.com/drive/1jnb7WcUbfgaCDfsGufnJCa3kEq2ZvS0F?usp=sharing
なぜVGGTは「ゲームチェンジャー」なのか?
これまで従来手法とされてきた以下2つ手法は、それぞれ大きな制約がありました。VGGTでは、その制約を気にせず、撮影した画像や動画を使用すれば、すぐに3D点群や3次元情報が生成されます。
フォトグラメトリ(SfM + MVS)の場合
- 撮影時に画像間の重なりを常に意識する必要があった
- バンドル調整など、専門知識が必要な後処理が大変
- 設定や撮影が適切でないと、再構成に失敗することも多々
DUSt3R/MASt3Rの場合
2024年頃から登場した機械学習ベースの3D再構成AI(DUSt3R、MASt3R)も誕生していましたが、実用には程遠い状況でした:
- 扱える画像数:わずか2枚程度
- 精度:期待したレベルには達せず
- 処理速度:DUSt3Rでは処理速度が決して速くない数値であった。
参考リンク
■論文:“DUSt3R: Geometric 3D Vision Made Easy” https://arxiv.org/abs/2312.14132
:“Grounding Image Matching in 3D with MASt3R" https://arxiv.org/abs/2406.09756
■VGGTとDUSt3Rの精度比較の記載があるリンク:VGGT: Visual Geometry Grounded Transformer https://vgg-t.github.io/
■DUSt3R/ MASt3Rの違いを解説した動画: https://www.youtube.com/watch?v=cXy7Ke87rG4
技術解説:なぜこんなに速くて正確なの?
VGGTの圧倒的な精度と速さの秘密は、2つの技術革新にあります。
1. Alternating Attentionによる精度向上
VGGTの心臓部は、Vision Transformer(ViT)をベースにした独自のアーキテクチャです。特に重要なのが「Alternating Attention(交互注意機構)」という仕組みです。
これは以下の2つの処理を交互に繰り返します:
- ①単一画像内の特徴の関係性:1枚の写真の中で、どの部分とどの部分が関連しているか
- ②複数画像間の関係性:異なる画像間で対応する特徴を見つけ出し、カメラ姿勢を推定
この「①⇔②」を交互に行うことで、従来のDUSt3R/MASt3Rよりも遥かに高精度な特徴マッチングが可能になったのです。
2. フィードフォワード処理による爆速化
従来のSfM手法では、Bundle AdjustmentやGlobal Alignmentといった反復的な最適化処理が必要でした。これが処理時間の大部分を占めていたのです。VGGTは、これらの反復処理を完全に排除。フィードフォワード(一方向の流れ)処理のみで完結させることで、「爆速化」を実現しました。入力から出力まで一気に処理するため、無駄な計算が一切ありません。
VGGTの処理プロセス
VGGTの処理精度と速さ(論文から引用)
AUCは、機械学習における精度の指標で数値が大きければ大きいほど良い指標。従来手法であるDUSt3RとMASt3Rと比較してVGGTは速さも早くなり、精度も高くなっていることが分かります。
使い分けガイド:VGGTと3D Gaussian Splatting
最近、3D再構成の分野では「3D Gaussian Splatting」も注目を集めています。VGGTとどう使い分けるべきでしょうか?
社内AI勉強会での議論の結果、以下のような使い分けが適切という結論に至りました。
VGGTが適している場合:
- XRアプリで複数カメラの位置関係を求めたい
- 3D空間のマッピングや計測をしたい
- カメラパラメータが必要
3D Gaussian Splattingが適している場合:
- VR/AR体験で美しい3D空間を見せたい
- リアルタイムレンダリングが必要
- 見た目のクオリティを重視
つまり、
「測る・配置する」ならVGGT、
「見せる」なら3D Gaussian Splatting
という使い分けです。
【まとめ:3D再構成の民主化が始まった】
上記の検証から、VGGTは3D再構成技術に革命をもたらす可能性を十分に秘めていることを実感しました。
- キャリブレーション不要:画像を放り込むだけで3D再構成
- 圧倒的な速度:従来の何十倍も高速(0.2秒)
- 高精度:DUSt3Rを超える精度で、実用レベル
あまり詳しいことは都合により説明できないのですが、カディンチェでの検証結果、VGGTから出力されるカメラ位置関係(外部パラメータ)は実用的に近いレベルであることが確認でき、新規プロジェクトではそのまま使える可能性が高いことが分かりました。
今後、カディンチェではVGGTをXR/AI開発に積極的に取り入れていく予定です。特に、複数カメラを使った空間コンピューティング技術や、リアルタイム3D再構成への応用を検討しています。
3D再構成技術の民主化により、これまで専門知識が必要だった領域が、より多くの開発者にとって身近なものになるでしょう。VGGTは、その大きな一歩となる技術です。
皆さんもぜひ、公式サイトやHugging Faceで試してみてください。きっとその可能性に驚くはずです。
この記事は、2025年11月6日に開催されたカディンチェ社内AI勉強会の内容をもとに作成しました。技術的な詳細や実装に関するご質問は、お気軽にお問い合わせください。