Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Understanding multi-view transformers (and VGGT)

Avatar for Spatial AI Network Spatial AI Network
January 05, 2026
10

Understanding multi-view transformers (and VGGT)

Understanding multi-view transformers
https://arxiv.org/abs/2312.14132
カメラ位置姿勢なしの画像ペアから3D点群を求めるDUSt3Rの推論時のTransformerの挙動を分析。

おまけとしてVGGTでも実験。
https://github.com/soskek/understand_vggt

Avatar for Spatial AI Network

Spatial AI Network

January 05, 2026
Tweet

More Decks by Spatial AI Network

Transcript

  1. Understanding Multi-view Transformers Michal Stary, Julien Gaubil, Ayush Tewari, Vincent

    Sitzmann ICCV 2025 End-to-End 3D Learning Workshop arxiv.org/pdf/2510.24907 ⼩林颯介 (Preferred Networks) 2025/12/2 Spatial AI勉強会 特に説明がない図は 論⽂からの引⽤です and VGGT github.com/soskek/understand_vggt
  2. 2 Multi-view Transformer による複数画像の点群推定 - DUSt3R 以後 Multi-view Transformer が発展中

    - [2312.14132] DUSt3R: Geometric 3D Vision Made Easy - 本勉強会でもおなじみ - speakerdeck.com/spatial_ai_network/dust3r-mast3r-mast3r-sfm - speakerdeck.com/spatial_ai_network/vggt-20250408-fujitomi arxiv.org/pdf/2503.11651 - カメラポーズを与えずに画像のみから {画像, 画像, 画像, ...} → {点群, 点群, 点群, ...} を⼀発で推論するパラダイム
  3. 6 どうやって推定しているのか - ⼗分に⼤きいTransformerで (といってもまだ1B程度) - ⼗分に⼤きい学習データで - ⼗分に⼤きい計算リソースで 訓練 → できる!!

    - でも 何が起きているのか 知りたい → 多層のTransformerでどう情報が変化していくかを観察 - 特に multi-view の相互作⽤が⼊る decoder の部分
  4. 9 Transformerの観察 - DUSt3R で観察をしてみよう! - Decoder Transformer x 12ブロック

    - 各層のresidualな隠れ層から点群を予測させて観察する - 元のモデルは最終出⼒ヘッドしかないため 元のモデル本体を固定したまま パッチ-to-点群のMLPヘッドを層ごとに追加訓練
  5. 10 Transformerの観察 細かい話 - 元のモデル本体を固定したまま パッチ-to-点群の「MLPヘッド」を層ごとに追加訓練 - ここは「適度な関数」にする必要がある - 強すぎる関数だと...

    e.g., 多層multi-view ViTヘッド - その層で表現していた以上の情報を推論した出⼒が可能になって過⼤評価になるおそれ - 弱すぎる関数だと... e.g., 線形ヘッド - その層の表現を観察対象として適切に書き出せず過⼩評価になるおそれ - 直感的理解 (※個⼈の感想): 元モデルの点群出⼒ヘッドはDPT [Ranftl et al., 2021] を使って いて 隠れ層-to-点群 の変換には多少の⾮線形変換が必要そう - なお NLPなど既存のprobingではしばしば線形ヘッドが使われる - (既存の最終Headを使いまわすのはだめなの?) - あり (※個⼈の感想) だけど論⽂には⾔及なし - LLMのlogit lensとよばれる⽅法に近い: 途中層に出⼒⾏列かけて次単語予測 - 層ごとの分布が結構違うなら微妙かも (線形+softmaxとかならまだしも回帰にとっては致命的な可能性) - DPTは1層のみでなく事前の中間層も使うのでやや⾮⾃明かも - 固定とはいえDPTは⾮線形Convもあり表現⼒が⾼く 追加の推論ができてしまうのかも
  6. 16 ブロック内の層の役割 - Cross-attention: 基準視点(1枚⽬)のパッチが “stable anchor” 2枚⽬視点の対応する各パッチがそこへ引っ張られて動く - Self-attention:

    2枚⽬視点内で形状を再構築する。 特に cross-attentionで動かなかったパッチを動いたパッチの位置とつじつまを合わせる
  7. 19 まとめ - DUSt3Rの推論時の表現の変化を 層ごとに追加訓練した点群出⼒headやattentionで分析 - 単⼀画像ViTでdepth, intrinsic 推定がラフに⾏われる -

    Multi-view Transformer で少しずつ相対的な位置関係を合わせていく - Cross-attention: 参照画像の対応点を⾒つけてそこに向かって移動 - Self-attention: 視点内での形状の⼀貫性を(再)補正 - 対応点も段々と洗練されていく - (⼤域的なポーズ情報がどこかに⽣まれているかは調べたけど不明だった)
  8. 20 おまけ VGGTの観察 - ⾃分で実装して [2503.11651] VGGT: Visual Geometry Grounded Transformer

    でも雑に可視化してみた - 層ごとにheadを訓練するの⾯倒なので 既存の DPT と camera head を使い回す 試せます https://github.com/soskek/understand_vggt/
  9. 21 おまけ VGGTの観察 - ⾃分で実装して [2503.11651] VGGT: Visual Geometry Grounded Transformer

    でも雑に可視化してみた - 層ごとにheadを訓練するの⾯倒なので 既存の DPT と camera head を使い回す - DPTは [4, 11, 17, 23] 番⽬のブロックの出⼒をマージして点群を出している - 雑に [4,4,4,4] [4,11,11,11] [4,11,17,17] [4,11,17,23] を与えて出⼒してみる