Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
最近のSfM手法まとめ - COLMAP / GLOMAPを中心に -
Search
hiroki kawauchi
December 26, 2024
Technology
3
370
最近のSfM手法まとめ - COLMAP / GLOMAPを中心に -
SfMのデファクト手法であるCOLMAPとGLOMAP(ECCV2024)の比較を中心に、Kaggle IMCコンペなどで使用された手法などを紹介しています。
hiroki kawauchi
December 26, 2024
Tweet
Share
More Decks by hiroki kawauchi
See All by hiroki kawauchi
CVPR2024 参加報告
kwchrk
0
9
第61回 コンピュータビジョン勉強会「Mip-Splatting: Alias-free 3D Gaussian Splatting」
kwchrk
1
380
20230827_PLATEAU_Hackathon_G
kwchrk
0
560
Other Decks in Technology
See All in Technology
AWS環境におけるランサムウェア攻撃対策の設計
nrinetcom
PRO
0
170
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
180
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
210
いまからでも遅くないコンテナ座学
nomu
0
130
React Routerで実現する型安全なSPAルーティング
sansantech
PRO
2
280
20241220_S3 tablesの使い方を検証してみた
handy
4
700
開発生産性向上! 育成を「改善」と捉えるエンジニア育成戦略
shoota
2
460
サービスでLLMを採用したばっかりに振り回され続けたこの一年のあれやこれや
segavvy
2
550
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
140
コンテナセキュリティのためのLandlock入門
nullpo_head
2
330
3年でバックエンドエンジニアが5倍に増えても破綻しなかったアーキテクチャ そして、これから / Software architecture that scales even with a 5x increase in backend engineers in 3 years
euglena1215
9
3.6k
DevFest 2024 Incheon / Songdo - Compose UI 조합 심화
wisemuji
0
160
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
910
A Philosophy of Restraint
colly
203
16k
Become a Pro
speakerdeck
PRO
26
5k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
The Cost Of JavaScript in 2023
addyosmani
46
7k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Transcript
AI 2024.12 Hiroki Kawauchi 株式会社ディー・エヌ・エー 最近のSfM手法まとめ COLMAP, GLOMAP, DFSfM, VGGSfM,
ACE0, MASt3R-SfM
AI 2 自己紹介 河内大輝 /Hiroki Kawauchi AIエンジニア・データサイエンティスト(社会人2年目) @DeNA …ゲームなどでの、LLM・Computer Visionを用いたAIプロダクト開発
@大学時代/インターン/個人開発 まちづくり・交通分野 × AI …3D都市モデルとAI Agentを用いた、まちづくりのためのアプリ開発 …衛星画像を用いた、物流モニタリングシステムの新規事業開発 宇宙利用・脱炭素分野 × AI …衛星画像を用いた、森林・炭素吸収モニタリングシステム開発 …衛星画像からの物体検出モデル研究[Kawauchi & Fuse, 2022] linkedin.com/in/hiroki-kawauchi https://github.com/hiroki-kawauchi https://x.com/kwchrk_
AI 3 項目 01|Structure-from-Motion(SfM) 02|Incremental SfM (COLMAP) 03|Global SfM (GLOMAP)
04|学習ベースSfM 05|課題・まとめ
AI 4 01 Structure from Motion(SfM)
AI 5 Structure from Motion(SfM)とは ▪ 複数枚の画像から、撮影したカメラポーズ(パラメータ)と 3次元構造を推定する手法群 ▪ 3次元構造は、基本的に疎な点群として出力
利用用途 ▪ 3D Reconstruction(点群→3Dジオメトリ・ポリゴン化) ▪ 3D Visualization ▪ Multi-View Stereo(MVS:疎→密な点群を推定) ▪ Novel View Synthesis(NeRF・3DGS:自由視点画像合成) ▪ これらは疎な点群とカメラポーズを入力 ▪ Camera Relocalization ▪ 3次元点群(地図)と画像をマッチングしてカメラ位置推定 Structure from Motion(SfM) 図・出典:https://www.youtube.com/watch?v=JpSSMMMreko
AI 6 SfMに似た手法群の分類 ▪ Visual SLAM(Simultaneous Localization And Mapping) ▪
VO(Visual Odometory) ▪ VOは局所移動量の推定に主眼 (ループクロージングもなし) ▪ 本資料ではVisualSLAMやVOは扱わない(狭義のSfM) SfM・Visual SLAM・VO 図・表出典 :https://speakerdeck.com/ksakurada/visual-slamru-men-fa-zhan-falseli-shi-toji-chu-falsexi-de
AI 7 SfM手法のおおまかな分類 SfM手法分類 出典:https://www.youtube.com/watch?v=JpSSMMMreko(改変) 分類 特徴点ベースSfM 学習ベースSfM Incremental SfM
Global SfM 手法 ・Bundler[SIGGRAPH2006] ・VisualSfM[3DV2013] ・COLMAP[CVPR2016] ・OpenMVG[ICCV2013] ・Theia[2016] ・GLOMAP[ECCV2024] ・PixSfM[ICCV2021] ・VGGSfM[CVPR2024] ・DFSfM[CVPR2024] ・ACE0[ECCV2024] ・MASt3R-SfM[2024] 特徴 ・1枚ずつ画像を追加処理 ・ロバストだが効率↓ ・デファクト的(COLMAP) ・階層的にクラスタリングし て追加していく手法も ・全画像を一括処理 ・効率的だがロバスト性↓ ・少ない枚数でも動作 ・ロバストだが効率↓ ・特に学習時計算コスト↑
AI 8 02 Incremental SfM (COLMAP)
AI 9 速度・精度のバランスの取れたSfMのデファクトスタンダード手法:COLMAP ▪ ここではCOLMAPをベースにIncremental SfMの手順を説明する ▪ Library page: https://colmap.github.io/
▪ Paper: https://openaccess.thecvf.com/content_cvpr_2016/papers/Schonberger_Structure-From- Motion_Revisited_CVPR_2016_paper.pdf ▪ Code: https://github.com/colmap/colmap COLMAP[Schönberger & Frahm, CVPR2016]パイプライン Incremental SfM 図・出典:https://colmap.github.io/tutorial.html
AI 10 Feature Extraction & Matching ▪ 疎な特徴点(キーポイント検出+特徴量記述)を抽出 ▪ COLMAP:回転・拡大縮小・照明変化に頑健で軽量なSIFT(派生のRootSIFT)
▪ 近年はSuperPoint、DISK、ALIKEDなども ▪ オーバーラップした画像ペアでマッチング ▪ 特徴点をベースにマッチングを行う ▪ 近年はSuperGlueや派生のLightGlueなど ▪ cf) LoFTR等のキーポイント不要の密なマッチング手法も ▪ 但し、異なるペアでマッチングの一貫性が得られず、COLMAPとは相性悪い* ▪ cf) オーバーラップした画像ペア選択にGlobal Featureを用いて類似度を測ることも ▪ Kaggle IMCコンペ2024では、NetVLADやDINOv2など* COLMAP [Schönberger & Frahm, CVPR2016] 上図・出典 :https://demuc.de/tutorials/cvpr2017/sparse-modeling.pdf *出典 :https://zenn.dev/yume_neko/articles/050c204c3afd20 下図・出典:https://colmap.github.io/tutorial.html
AI 11 Geometric Verification ▪ 射影変換を推定・分解して、画像間の対応関係(相対回転・並進)を計算 ▪ 画像間の対応関係を結んだグラフをシーングラフと呼ぶ ▪ RANSAC等で外れ値除去も行い、ロバストに推定する
COLMAP [Schönberger & Frahm, CVPR2016] 右図・出典 :https://demuc.de/tutorials/cvpr2017/sparse-modeling.pdf 下図・出典:https://colmap.github.io/tutorial.html
AI 12 Geometric Verification ▪ 射影変換のモデルは、基礎行列F・基本行列E・ホモグラフィ行列Hの3つ ▪ 内部パラメータ既知:キャリブレーション:E、未知:F ▪ Planar・Panoramicな場合は行列が縮退するためHが推定に適する
COLMAP [Schönberger & Frahm, CVPR2016] 上表/図・出典 :https://demuc.de/tutorials/cvpr2017/sparse-modeling.pdf 下図・出典:https://colmap.github.io/tutorial.html
AI 13 COLMAP [Schönberger & Frahm, CVPR2016] 図・出典:https://colmap.github.io/tutorial.html Geometric Verification
※基礎行列F・基本行列E・ホモグラフィ行列Hなどの詳細は↓などが詳しい ▪ 櫻田健(2021)「Visual SLAM入門 〜発展の歴史と基礎の習得〜」p.56~ ▪ この後の三角測量・バンドル調整の詳細などもこちらを参照されたい ▪ https://speakerdeck.com/ksakurada/visual-slamru-men-fa-zhan-falseli-shi-toji-chu-falsexi-de ▪ 他、(書籍)「ディジタル画像処理 [改訂第二版]」など
AI 14 Geometric Verification ▪ COLMAPでは、ロバスト性向上の工夫(Scene Graph Augmentation) ▪ ①Panoramicな画像ペアを見つける
▪ 焦点距離・基礎行列Fが求まらない→後の三角測量で使わないように ▪ [1]3つのモデルでGeometric Verificationを行い、Inlierの数Nを求める ▪ 基礎行列 、基本行列 、ホモグラフィ 個 ▪ RANSAC等を用いて、外れ値に頑健に推定 ▪ [2] のとき、正しいシーンと判定 ▪ [3](キャリブレーション正)かつのとき、三角測量した際の角度の メディアン値を用いてpanoramicか判定 COLMAP [Schönberger & Frahm, CVPR2016] 右図・出典 :https://demuc.de/tutorials/cvpr2017/sparse-modeling.pdf 下図・出典:https://colmap.github.io/tutorial.html
AI 15 Geometric Verification ▪ ②WTFs(Watermark, Timestamp, Frames)が含まれる画像を除外 ▪ COLMAPは、ネット上の画像を用いた復元を目指した手法だったため
▪ [1]画面端でのInlierの数 ▪ [2] のとき、WTFsが含まれていると判定 COLMAP [Schönberger & Frahm, CVPR2016] 上図・出典 :https://www.vision.rwth-aachen.de/media/papers/weyand-tsai- wacv15.pdf 下図・出典:https://colmap.github.io/tutorial.html
AI 16 Reconstruction Initialization ▪ 初期画像ペアで3次元点群の初期ペアを算出 ▪ 初期値はロバスト性、精度等に大きな影響を与える ▪ 一般的に、オーバーラップが大きい画像ペアで密に取れるとロバストで正確
▪ Panoramicでないペアを選択し、三角測量・バンドル調整(後述)を行う ▪ →初期ペアのカメラパラメータ・3次元復元結果を得る COLMAP [Schönberger & Frahm, CVPR2016] 上図・出典 :https://demuc.de/tutorials/cvpr2017/sparse-modeling.pdf 下図・出典:https://colmap.github.io/tutorial.html
AI 17 Image Regstraion ▪ 3次元モデルに新しい画像を1枚ずつ登録 ▪ PnP問題として解く ▪ 入力:3次元位置を算出済みの点・新しく登録する画像の特徴点
▪ 出力:カメラポーズ(外部パラメータ)・内部パラメータ(未キャリブレーションの場合) ▪ COLMAP:EPnP法で解く COLMAP [Schönberger & Frahm, CVPR2016] 上図・出典 :https://demuc.de/tutorials/cvpr2017/sparse-modeling.pdf 下図・出典:https://colmap.github.io/tutorial.html
AI 18 Image Regstraion ▪ COLMAP:追加する画像選択の工夫(Next Best View Selection) ▪
良い画像=可視特徴点が豊富、かつ、画面全体に均等に分布、を測るスコアSを提案 ▪ 画面をL階層に四分木分割 ▪ 階層l(l=1,,,L)可視点有無バイナリ ▪ ▪ 最もSが大きい画像がベスト ▪ →可視特徴点のtrackを増やして ロバストに COLMAP [Schönberger & Frahm, CVPR2016] 上図・出典・参考 :https://www.slideshare.net/slideshow/20160724cvsfmrevisited/ 64319302 下図・出典:https://colmap.github.io/tutorial.html
AI 19 Triangulation(三角測量) ▪ COLMAP:RANSACを用いたロバストで効率的な三角測量 ▪ COLMAP:RANSACを用いた三角測量を導入(outlier対策) ▪ 十分にコンセンサスが取れた点を除外する(計算コスト対策) COLMAP
[Schönberger & Frahm, CVPR2016] 上図・出典 :https://demuc.de/tutorials/cvpr2017/sparse-modeling.pdf 下図・出典:https://colmap.github.io/tutorial.html
AI 20 Bundle Adjustment(バンドル調整) ▪ 再投影誤差を最小化してモデルを修正 ▪ 再投影誤差=画像上の座標とカメラパラメータ/3次元特徴点から算出した座標の誤差 ▪ この処理を行わないと3次元モデルが破綻
COLMAP [Schönberger & Frahm, CVPR2016] 上図・出典 :https://demuc.de/tutorials/cvpr2017/sparse-modeling.pdf 下図・出典:https://colmap.github.io/tutorial.html πは内部パラメータ
AI 21 Bundle Adjustment(バンドル調整、BA) ▪ COLMAP:BA前後に三角測量+外れ値除去を反復的に行い、ロバスト性↑ ▪ COLMAP:Redundant View Miningによる効率化
▪ ①Incremental処理の中で、affect/unaffectな画像に分類 ▪ Affect: 直前に追加された or 外れ値が一定以上含まれる画像 ▪ ②Unaffectな画像を視野のオーバラップが大きな画像グループに集約 ▪ ③Unaffectなグループ内の画像は代表的なパラメータに集約 COLMAP [Schönberger & Frahm, CVPR2016] 参考: https://www.slideshare.net/slideshow/20160724cvsfmrevisited/6 4319302 下図・出典:https://colmap.github.io/tutorial.html
AI 22 性能評価 ▪ 実行時間:Global SfM(Theia)の1~4倍 ▪ 推定精度:従来のIncremental SfM(Visual SfM)と同程度
▪ ロバスト性:平均track lengthが長く、BAにおける冗長性が高く詳細までロバストにカバー COLMAP [Schönberger & Frahm, CVPR2016] 表・出典:https://arxiv.org/pdf/2407.20219
AI 23 03 Global SfM
AI 24 Global SfM 一般的なGlobal SfMのパイプライン ▪ ①画像群全体での類似度ベースでオーバーラップ画像の組を推定 ▪ ②特徴点抽出とマッチング
▪ ③画像間の相対的な回転・並進の推定 ▪ ④回転・並進平均化(rotation・translation averaging)等によるGlobalな並進・回転の整合 ▪ ⑤Globalな(三角測量・)バンドル調整 ▪ →一般にIncremental SfMより(並列化でき)速度↑だが、精度・ロバスト性↓ 図・出典: https://lpanaf.github.io/assets/poster/eccv24_glomap_poster.pdf
AI 25 OpenMVG・Theia 効率性の高いGlobal SfMにおける主要ライブラリ ▪ OpenMVG ▪ Library page:https://openmvg.readthedocs.io/en/latest/
▪ openMVGはIncremental/Global SfM両方実装 ▪ Paper:https://openaccess.thecvf.com/content_iccv_2013/papers/Moulon_Global_Fusi on_of_2013_ICCV_paper.pdf (OpenMVGのGlobal SfM機能として実装されている手法) ▪ Theia ▪ Library page:http://theia-sfm.org/(TheiaもIncremental/Global SfM両方実装) 図・出典: https://lpanaf.github.io/assets/poster/eccv 24_glomap_poster.pdf
AI 26 COLMAP並のロバスト性と、GlobalSfMの高速性の両立を目指した手法 ▪ ここではGLOMAPをベースにGlobal SfMの手順を説明する ▪ Project page: https://lpanaf.github.io/eccv24_glomap/
▪ Paper: https://arxiv.org/pdf/2407.20219 ▪ Last authorのSchönbergerはCOLMAP論文のfirst author ▪ COLMAP: Structure-from-Motion Revisited ▪ GLOMAP: Global Structure-from-Motion Revisited ▪ Code: https://github.com/colmap/glomap ▪ COLMAPと同様のオーナー・リポジトリ構成で展開(※2024/11現在GPUサポートなし) パイプライン GLOMAP [Pan et al, ECCV2024] 図・出典: https://lpanaf.github.io/ass ets/poster/eccv24_glomap _poster.pdf
AI 27 Feature Extraction & Matching ▪ COLMAPと同様 Two-view Estimation(Geometric
Verification) ▪ エピポールに近い特徴点や、三角測量角度が小さい特徴点もノイズが大きくなるので除外 View Graph Calibration ▪ 未キャリブレーションの場合、基礎行列Fから焦点距離fを推定 Relative Pose Decomposition ▪ 推定されたfから基本行列Eを再度推定 ▪ 相対的なカメラポーズ(並進・回転)=シーングラフを推定 GLOMAP [Pan et al, ECCV2024] 図・出典: https://www.youtube.com/watch?v=JpSSMM Mreko
AI Rotation Averaging ▪ 各カメラの絶対的な回転成分 ・カメラiからjを見た相対的な回転 とする ▪ 前のステップで推定したカメラ間の相対回転 を元に、カメラの絶対的な回転成分 を推定 ▪ 目標:以下の最適化問題を解く ▪
すべての相対回転について (幾何的条件)を満たすすべての を推定する ▪ 目的関数 ▪ ρ:ロバスト化関数(Huberなど), d:距離関数, p:ノルム次数 28 GLOMAP [Pan et al, ECCV2024] 右図・出典 :https://www.slideshare.net/slideshow/linfinity-slam 43d/132892018 下図・出典: https://www.youtube.com/watch?v=JpSSMMMreko
AI 29 GLOMAP [Pan et al, ECCV2024] 図・出典: https://www.youtube.com/watch?v=JpSSMM Mreko
Rotation Averaging ▪ 最適化の手法 ▪ 最適化の枠組みは、以下の[Chatterjee et al, ICCV2013]のものを利用(Theiaと同じ) ▪ Chatterjee et al, “Efficient and Robust Large-Scale Rotation Averaging”, ICCV2013 ▪ ①Lie代数を用いて局所線形化した回転量の連立方程式を解き、 全回転を同時最適化するアルゴリズム ▪ ② ①について、以下で2種類の手法で2段階に最適化 ▪ [1]外れ値にロバストなL1ノルム最小化 ▪ [2]外れ値に鋭敏だが精度の良い貪欲法
AI Rotation Averaging ▪ ※基準を決めないとシーングラフ全体の絶対的な回転は決められない(ゲージ自由度) ▪ ある1つの =I(単位行列)となるように絶対座標を設定することで対処 ▪ それでもその の3軸周りに回転させる自由度は残ってしまう ▪
実用上はその自由度を残しても1つの最適解は得られる ▪ Ground Truthのカメラポーズ等と比較するときは、最も近づく変換を噛ませてから比較 ▪ GLOMAPコードには、重力センサデータを用いて自由度3→1に減らす手法も実装 ▪ Pan et al,”Gravity-aligned Rotation Averaging with Circular Regression”, ECCV2024 ▪ (GLOMAPと同じ著者) ▪ Paper: https://arxiv.org/abs/2410.12763 30 GLOMAP [Pan et al, ECCV2024] 図・出典: https://www.youtube.com/watch?v=JpSSMM Mreko
AI 31 Global Positioning ▪ Globalな三角測量とカメラ並進成分推定を同時に行う ▪ OpenMVG・TheiaはTranslation Averaging(TA;並進成分推定のみ)後でGlobal三角測量 ▪
並進成分単体で最適化するTAはいくつか推定が困難な場合(後述)がある GLOMAP [Pan et al, ECCV2024] 図・出典: https://www.youtube.com/watch?v=JpSSMM Mreko
AI 32 Global Positioning ▪ 並進成分を三角測量と一体的に推定したいが、バンドル調整のような再投影誤差は最適化に困難性 ▪ 非凸性が高く初期値に敏感・非有界で外れ値に敏感→ロバスト性↓ ▪ BATA
Loss[1](カメラ光線に関する誤差関数)による最適化を採用 ▪ X:点kの3次元位置, c:カメラiの3次元位置, d:正規化係数, ▪ : カメラiから点kを観測するカメラ光線 ▪ 非線形最小二乗法(Levenberg-Marquardt法)を用いて最適化 ▪ メリット ▪ 双線型形式:ランダムな初期値(X,cは一様分布・dは1)でも安定的に収束 ▪ 有界な誤差関数:最適なdを選ぶと、誤差項は[0,1]となり有界で、外れ値に頑健 ▪ 2つの光線がなす角θとすると誤差項は以下と等価 GLOMAP [Pan et al, ECCV2024] [1]Zhuang, et al., ”Baseline desensitizing in translation averaging.”. CVPR2018
AI 33 Global Positioning ▪ Translation Averagingで困難な場合でも対応 ▪ 内部パラメータが不正確な場合にもロバスト ▪
Translation averagingでは相対並進成分の推定に内部パラメータが必要 ▪ Co-linearな(同一直線状を動く)場合にもロバスト ▪ Translation Averagingでは、2視点間の相対的な 並進ベクトルからカメラの絶対位置を推定 ▪ Co-linearな場合不良設定となり不安定化 GLOMAP [Pan et al, ECCV2024] 図・出典: https://www.youtube.com/watch?v=JpSSMM Mreko
AI 34 Global Bundle Adjustment ▪ ここまでで求まった、絶対カメラポーズと3Dモデルを再度調整 ▪ バンドル調整前に角度誤差に基づいて3次元点をフィルタリング ▪
未キャリブレーションカメラについては大きめの誤差を許容 ▪ Levenberg-MarquardtとHuber損失を用いたGlobalバンドル調整を複数回実行 ▪ カメラ内部パラメータが事前に分かっていない場合、精度が制限される ▪ カメラ回転成分を固定→内部パラメータと並進成分を最適化 ▪ 再投影誤差によって特徴点(トラック)をフィルタし、その割合が0.1%未満で停止 GLOMAP [Pan et al, ECCV2024] 図・出典: https://www.youtube.com/watch?v=JpSSMM Mreko
AI 35 性能評価 ▪ キャリブレーション済みの場合 ▪ 精度(ロバスト性):COLMAPと同等以上の3次元復元 ▪ 実行速度:Theia(2倍)>GLOMAP~OpenMVG>(2~30倍)>COLMAP ▪
GLOMAP [Pan et al, ECCV2024] 図・出典 :https://www.youtube.com/watch?v=JpSS MMMreko
AI 36 性能評価 ▪ 未キャリブレーションの場合 ▪ 精度(ロバスト性):COLMAPと同等以上の3次元復元 ▪ 実行速度:Theia(2倍)>GLOMAP~OpenMVG>(2~4倍)>COLMAP •
10,000枚の画像・H100x8[1] ◦ COLMAP 50時間 vs GLOMAP 16時間 ▪ Pararell image matching & indexingを実装したとのこと • 1,276枚・キャリブレーション済み・64GB CPU[2] ◦ 22分07秒 • 100枚の画像・キャリブレーション済み・32GB M2 Macbook Pro CPU ◦ 40秒程度・メモリMAX3% ◦ cf)COLMAP: 240秒・メモリMAX2% GLOMAP [Pan et al, ECCV2024] [1]:https://www.linkedin.com/posts/huguens-je an-b82186b4_glomap-vs-colmap-google-verte x-ai-model-activity-7240502288614633472-co 9i/ [2]https://note.com/ngc_shj/n/n81b0f0f7fd3c
AI 37 04 学習ベースSfM
AI 38 Kaggle Image Matching (IMC) 2023(カメラポーズ推定)で1位手法 ▪ 特徴点を用いないことで、テクスチャが少ないシーンにも頑健なSfM ▪
Project page: https://zju3dv.github.io/DetectorFreeSfM/ ▪ Paper: https://arxiv.org/abs/2306.15669 ▪ Code: https://github.com/zju3dv/DetectorFreeSfM DF(Detector-Free)SfM [He et al, CVPR2024] 図・出典:https://arxiv.org/abs/2306.15669
AI 39 特徴点検出器を用いないことで、テクスチャが少ないシーンにも頑健なSfM ▪ Detectorを用いず、密なマッチングマッチング→量子化してマッチング ▪ Coarseな推定→iterativeにrefineするという多段構成 ▪ バンドル調整に加えて、トポロジー調整により3次元モデルのrefinement DF(Detector-Free)SfM
[He et al, CVPR2024] 図・出典:https://arxiv.org/abs/2306.15669
AI 40 性能評価・テクスチャが少ない場合にも頑健。処理時間はCOLMAPの6倍。 ▪ カメラポーズ推定・3次元復元ともに従来の学習ベース手法(PixSfM)より改善 ▪ 従来の学習ベースの手法に比べてテクスチャが少ない状況でも良好な推定結果(下図) ▪ 計算時間・メモリ ▪
学習:V100 GPU・約30時間 ▪ 推論 ▪ 時間:画像約15000枚のシーンで、COLMAPの約6倍(3.2時間vs19.7時間) ▪ BA時のメモリ:画像約2000枚のシーンで、PixSfMの約1/10(21.2GBvs2.63GB) DF(Detector-Free)SfM [He et al, CVPR2024] [表・出典:https://arxiv.org/abs/2306.15669
AI 41 Meta・Kaggle Image Matching (IMC) 2024(カメラポーズ推定)で1位手法 ▪ Kaggle Image
Matching 2024(カメラポーズ推定)でトリック除いた項目で1位[1] ▪ ※メモリ制限のため、COLMAPで得たトラックをVGGSfMのモジュールでrefine ▪ Project page: https://vggsfm.github.io/ ▪ Paper: https://arxiv.org/abs/2312.04563 ▪ Code: https://github.com/facebookresearch/vggsfm ▪ Non-Commercialライセンス VGGSfM [Wang et al, CVPR2024] [1]・図・出典:https://www.youtube.com/watch?v=KG-_i12fU_A
AI 42 E2E微分可能・Global SfM的に全画像について同時推定 ▪ E2E微分可能・Global SfM的にすべての画像について同時推定 ▪ 画像ペアのmatchingではなく、point trackingで特徴点を追う
▪ その後Deepカメラポーズ推定・三角測量・バンドル調整 ▪ 理論的には一括処理可能だが、実装上はバッチ処理で学習・推論 ▪ Point Tracking ▪ 入力:クエリポイントを含む複数画像→出力:各画像間の対応点のトラック ▪ Coarse Tracker→fine Trackerで処理 VGGSfM [Wang et al, CVPR2024] 図・出典 :https://arxiv.org/abs/2312.04563
AI 43 性能評価 ▪ 計算時間・メモリ ▪ スケーラビリティに制約(3-30枚に最適化・数千枚規模の処理は難しい) ▪ 学習:32 NVIDIA
A100(80GB) ▪ 推論:1 NVIDIA A100・25フレーム/4096クエリポイントで5秒程度 ▪ 性能(表はカメラポーズ精度) ▪ 既存のCOLMAP(SIFT)を大きく上回る精度・学習ベースでもトップレベルの性能を実現 VGGSfM [Wang et al, CVPR2024] 表・出典 :https://arxiv.org/abs/2312.04563
AI 44 Niantic・自己教師あり学習を用いた高速な学習ベースSfM ▪ Project page: https://nianticlabs.github.io/acezero/ ▪ Paper: https://arxiv.org/abs/2404.14351
▪ Code: https://github.com/nianticlabs/acezero ▪ Non-Commercialライセンス ACE0 [Brachmann et al, ECCV2024] 図・出典 :https://arxiv.org/abs/2404.14351
AI 45 Niantic・自己教師あり学習を用いた高速な学習ベースSfM ▪ 画像からシーンの3D座標をNNで直接予測 ▪ 先行手法のACE[CVPR2023]の枠組みを利用 ▪ カメラパラメータのRefinementもNNで行う ▪
予測された3D座標・カメラパラメータを用いた再投影誤差を最小化(自己教師あり学習) ▪ 再投影誤差による最適化と、RANSAC+PnPによるカメラポーズ推定を交互に繰り返す ACE0 [Brachmann et al, ECCV2024] 図・出典 :https://arxiv.org/abs/2404.14351
AI 46 性能評価・NeRFによるNovel View Synthesis性能の評価 ▪ カメラポーズ等の直接的な評価ではなく、SfM結果を用いたNeRFのNVS性能評価比較を行っている ▪ Scaniverseなどを提供するNianticなので、主にNVSに関心があったのでは ▪
※COLMAPを正とした簡単な比較はある ▪ NVS性能では、COLMAPと同等の性能(PSNR/SSIM/LPIPS)を実現 ▪ 計算時間・メモリ ▪ GPU前提ではあるがCOLMAPよりも大幅に高速(特に画像枚数が多い場合) ▪ V100 1枚で実行可能 ACE0 [Brachmann et al, ECCV2024] 図・出典 :https://arxiv.org/abs/2404.14351
AI 47 NAVER・3D基盤モデルDUSt3Rからの発展としてのSfM ▪ DUSt3R→MASt3R→MASt3R-SfM ▪ DUSt3R[CVPR2024]:画像ペアから点群を推定する3D基盤モデル ▪ MASt3R[ECCV2024]:DUSt3Rでは不正確だった特徴マッチングを明示的に追加学習 ▪
MASt3R-SfM:MASt3Rの後処理を精緻化することで高精度なSfMを実現 ▪ Paper page: https://arxiv.org/abs/2409.19152 ▪ Code: https://github.com/naver/mast3r/tree/mast3r_sfm ▪ Non-Commercialライセンス ▪ DUSt3R・MASt3R・MASt3R-SfMについては以下の資料が詳しいため、そちらを参照ください ▪ https://speakerdeck.com/spatial_ai_network/dust3r-mast3r-mast3r-sfm MASt3R-SfM[Duisterhof et al, 2024]
AI 48 05 課題・まとめ
AI 49 依然として残る課題:対称的・繰り返し模様への対応 ▪ 対称性が高い建物や繰り返しパターンのある場合にマッチングに失敗する Doppelgangers[Cai et al, ICCV2023] ▪
2枚の画像が同じ3D表面かどうかをバイナリ分類するモデル・データセット(76,000枚)を提案 ▪ COLMAPで失敗した12/16例を正しく修正できた SfMの残る課題:対称的・繰り返し模様 図・出典:https://arxiv.org/pdf/2309.02420
AI 50 依然として残る課題:対称的・繰り返し模様への対応 Kaggle IMC2024では、MST(最小全域木)を利用した2段階のSfMも[1] ▪ 2nd solution ▪ ①Coarse
Reconstruction ▪ 画像の類似度グラフを構築し、MSTを計算して間引き、SfMを実行 ▪ ②Fine Reconstruction ▪ ①の結果に、MSTに含まれない画像を加えていき、Outlierはフィルタ SfMの残る課題:対称的・繰り返し模様 [1]・図・出典:https://www.kaggle.com/competitions/image-matching-challenge-2024/discussion/510499
AI 51 ▪ SfMとは、複数枚の画像から、撮影したカメラポーズ(パラメータ)と 3次元構造(疎な点群)を推定する手法群 ▪ SfM(狭義)は、VisualSLAMやVOに対して、オフライン処理による 大域的な整合性を担保する手法群 ▪ SfMには、特徴点ベース・学習ベースの手法がある
▪ 特徴点ベースの中で、Increment/Global手法 ▪ COLMAPはロバスト性に強み・デファクト的 ▪ GLOMAPはCOLMAP並のロバスト性と高速性を両立(COLMAPの数倍) ▪ 学習ベースには、特徴点によらないMatching/Trackingを活用も ▪ 対称性・繰り返し模様への対応は未だに課題 ▪ 対象画像の分類やMSTなどを使った対処法も まとめ
AI 52 EOF