MonST3R

Zhang 2024 · 論文

一行要約 — DUSt3R型のポイントマップ推定を動的シーンに拡張し、タイムステップごとにポイントマップを予測することで、動く物体を含む動画からのビデオ深度、カメラ姿勢、4D再構成を可能にした。

問題

動的シーンからの幾何推定は、従来、問題を部分タスク(深度、フロー、動き分割)に分解する多段階パイプラインや大域最適化に依存しており、「エラーを起こしやすい複雑なシステムにつながる」。DUSt3Rのポイントマップ表現は静的な再構成を単一のフィードフォワード予測へと統合したが、シーンが剛体であることを前提としている。動く物体を含む動画を入力すると、動いている内容を1つの矛盾した静的再構成に押し込んでしまう(あるいは、正解の動きマスクを与えたとしても、カメラ姿勢を信頼できる形で推定できない)。MonST3R(Motion DUSt3R)は、明示的な動きモデルを追加せずにポイントマップの発想を動きの中で生かせるかを問う。

手法とアーキテクチャ

タイムステップごとのポイントマップ。 フレーム対It,It\mathbf{I}^t, \mathbf{I}^{t'}に対し、ネットワークはポイントマップXt;tt\mathbf{X}^{t;t\rightarrow t'}Xt;ttRH×W×3\mathbf{X}^{t';t\rightarrow t'} \in \mathbb{R}^{H\times W\times 3}(信頼度C\mathbf{C}付き)を予測し、両方をフレームttのカメラ座標系で表現する——これはDUSt3Rの設定そのものだが、各ポイントマップが今度はある一つの時点に対応するようになっている点が異なり、動いている内容はその瞬間の位置で表現される。

動きに対するファインチューニング。 障害はデータである。深度付きの動的でポーズ既知の動画が必要になる。著者らはPointOdyssey(サンプリング重み50%)、TartanAir(25%)、Waymo(20%)、Spring(5%)という4つのデータセットを組み合わせ、ViT-Baseデコーダーと DPTヘッドのみをファインチューニングする(CroCoの幾何特徴を保つためエンコーダーは凍結)。フレーム対は時間ストライド1〜9でサンプリングされ(ストライドが大きいほど確率が増す)、視野角の拡張、DUSt3Rの信頼度考慮回帰損失を用いる。25エポック×2万ペア、RTX 6000×2基で1日。

下流ツール。 内部パラメータはDUSt3Rに従う(フレームごとに焦点距離を解く)。相対姿勢は、動的物体に汚染された2D-2D対応を避けるため、1つのビュー内でのピクセルごとの2D-3D対応をPnP+RANSACで用いる。

R,T=argminR,TiIxiπ(Kt(RXit;tt+T))2.\mathbf{R^{*}},\mathbf{T^{*}} = \arg\min_{\mathbf{R},\mathbf{T}} \sum_{i\in\mathcal{I}} \big\| \mathbf{x}_i - \pi\big(\mathbf{K}^{t'}(\mathbf{R}\,\mathbf{X}^{t';t\rightarrow t'}_i + \mathbf{T})\big) \big\|^2 .

信頼できる静的マスクは、カメラ運動のみによって生じるフローを推定オプティカルフローと比較する: Stt=[α>FcamttFestttL1]\mathbf{S}^{t\rightarrow t'} = \big[\alpha > \|\mathbf{F}^{t\rightarrow t'}_{\mathrm{cam}} - \mathbf{F}^{t\rightarrow t'}_{\mathrm{est}}\|_{L1}\big]

動的大域点群+姿勢。 DUSt3Rの全対グラフの代わりに、対はスライディング時間窓内で(ストライドサンプリングにより)形成される。大域ポイントマップはPt=[RtTt]\mathbf{P}^t = [\mathbf{R}^t|\mathbf{T}^t]Kt\mathbf{K}^t、フレームごとの深度Dt\mathbf{D}^tで再パラメータ化され、次式で最適化される。

X^=argminX,PW,σ  Lalign(X,σ,PW)+wsmoothLsmooth(X)+wflowLflow(X),\hat{\mathbf{X}} = \arg\min_{\mathbf{X},\mathbf{P}_W,\sigma}\; \mathcal{L}_{\mathrm{align}}(\mathbf{X},\sigma,\mathbf{P}_W) + w_{\mathrm{smooth}}\,\mathcal{L}_{\mathrm{smooth}}(\mathbf{X}) + w_{\mathrm{flow}}\,\mathcal{L}_{\mathrm{flow}}(\mathbf{X}),

ここでLalign=eteCt;e(XtσePt;eXt;e)1\mathcal{L}_{\mathrm{align}} = \sum_{e}\sum_{t\in e}\|\mathbf{C}^{t;e}\cdot(\mathbf{X}^{t}-\sigma^{e}\mathbf{P}^{t;e}\mathbf{X}^{t;e})\|_1はDUSt3Rの整合項、Lsmooth=t(RtRt+1If+Tt+1Tt2)\mathcal{L}_{\mathrm{smooth}} = \sum_t \big(\|\mathbf{R}^{t\top}\mathbf{R}^{t+1}-\mathbf{I}\|_f + \|\mathbf{T}^{t+1}-\mathbf{T}^{t}\|_2\big)は軌跡を平滑化し、Lflow\mathcal{L}_{\mathrm{flow}}は信頼できる静的領域内で再投影された大域幾何を推定フローに一致させる(wsmooth=wflow=0.01w_{\mathrm{smooth}} = w_{\mathrm{flow}} = 0.01; Adamで300反復)。D^\hat{\mathbf{D}}を直接返すことで時間的に一貫したビデオ深度が得られる。推論: 60フレームの動画(窓9、ストライド2)のペアワイズポイントマップに約30秒、加えてRTX 6000上で約1分の最適化。

実験結果

SLAMにおける意義

動的環境は幾何ベースSLAMの常態的な失敗モードであり、従来は動く物体をマスクして除外することで対処されてきた(DynaSLAM、DS-SLAM)。MonST3Rは別の道を示す。動きが存在する中でネイティブに幾何を推定する基盤モデルであり、そこから姿勢・ビデオ深度・動き分割のすべてが1つの表現から自然に得られる——そして、明示的な動きモデルを一切用いず、控えめで的確に選ばれたファインチューニング(主に合成データ、凍結エンコーダー)だけで十分であることを示している。これは静的なDUSt3R/MASt3R系列から4Dシーン理解への鍵となる足がかりであり、静止世界という前提はパイプラインレベルで後付けするのではなく、表現レベルで解消できることを示唆している。

関連ノート