Metric3D

Yin 2023 · 論文

一行要約 — 焦点距離の曖昧さを取り除く正準カメラ空間へすべての学習画像(またはそのラベル)を変換することで実現された、数千種類の異なるカメラにわたるゼロショットのメトリック単眼深度。

問題

単一画像からのメトリック深度は2つの失敗モードの間に囚われている。最先端のメトリックモデルは単一のカメラモデルしか扱えず、メトリックの曖昧さのために混合データで学習できない: ピンホール投影から、実サイズS^\hat{S}の物体がサイズS^\hat{S}'で撮像される場合、

da=S^f^S^=S^αd_a = \hat{S}\,\frac{\hat{f}}{\hat{S}'} = \hat{S}\cdot\alpha

を満たすため、同じ画素パターンが異なる焦点距離f^\hat{f}の下で異なるメトリック深度に対応する(対照的に、センサーサイズと画素サイズは重要でないことが示されている)。大規模な混合データセット(MiDaS型)で学習されたモデルは、アフィン不変深度に後退することでのみゼロショット一般化を達成でき、実世界のスケールを復元できない。Metric3Dは、ゼロショットメトリックモデルの鍵が、大規模混合データ学習とこのカメラの曖昧さの明示的な解消を組み合わせることであることを示す。

手法とアーキテクチャ

正準カメラ空間変換(CSTM)。 正準焦点距離fcf^cを固定し、すべての学習データをそのカメラで撮影されたかのように変換する。以下の2つの等価な方法のいずれかで行う:

続いてランダムクロップが行われる(これは視野角と光学中心のみを変え、メトリックには影響しない)。ネットワークNd\mathcal{N}_dは正準空間で学習される、minθNd(Ic,θ)Dc\min_\theta \left|\mathcal{N}_d(\mathbf{I}_c, \theta) - \mathbf{D}^*_c\right|、推論時には脱正準化が予測を実際のカメラに戻す——例えばCSTM_labelではD=1ωdDc\mathbf{D} = \frac{1}{\omega_d}\mathbf{D}_c。テスト時に必要なのは焦点距離のみであり、このモジュールは既存の任意の単眼深度モデルに組み込むことができる。

ランダム提案正規化損失(RPNL)。 画像全体のスケール・シフト正規化は細かな局所的な深度コントラストを圧縮してしまうため、M=32M=32個のパッチpip_i(画像サイズの0.125~0.5)がランダムに切り出され、それぞれがL1比較の前に絶対偏差の中央値で正規化される:

LRPNL=1MNpiMjNdpi,jμ(dpi,j)1Njdpi,jμ(dpi,j)dpi,jμ(dpi,j)1Njdpi,jμ(dpi,j)L_{RPNL} = \frac{1}{MN}\sum_{p_i}^{M}\sum_{j}^{N}\left|\frac{d^*_{p_i,j}-\mu(d^*_{p_i,j})}{\frac{1}{N}\sum_j |d^*_{p_i,j}-\mu(d^*_{p_i,j})|} - \frac{d_{p_i,j}-\mu(d_{p_i,j})}{\frac{1}{N}\sum_j |d_{p_i,j}-\mu(d_{p_i,j})|}\right|

μ()\mu(\cdot)は中央値である。全体の損失はL=LPWN+LVNL+Lsilog+LRPNLL = L_{PWN} + L_{VNL} + L_{silog} + L_{RPNL}である(ペアワイズ法線回帰、仮想法線、スケール不変対数、およびRPNL)。

バックボーンと学習。 ConvNeXt-Largeエンコーダ(ImageNet-22Kで初期化)を持つUNetを、既知の内部パラメータを持つ11の公開RGB-Dデータセット——1万カメラを超える800万枚以上の画像——でミニバッチごとにバランスを取りながら、512×960512\times 960のクロップで、48台のA100 GPUで50万イテレーション学習する。CSTMなしでは、同じモデルは混合メトリックデータで収束に失敗する; 内部パラメータを追加の入力チャンネルとしてエンコードする(CamConvs)方法は学習は進むが明らかに性能が劣る。

実験結果

Metric3Dは7つのゼロショットベンチマークで最先端の性能を達成し、第2回Monocular Depth Estimation Challengeで優勝した。ゼロショット(どちらのデータセットでも学習していない)で、CSTM_labelはNYUv2でδ1\delta_1 0.944 / AbsRel 0.083、KITTIでδ1\delta_1 0.964 / AbsRel 0.058に達する——完全教師あり・ドメイン内SOTA(NeWCRFs: 0.922 / 0.095、0.974 / 0.052)に匹敵する。単一画像からのメトリック点群は、メタデータの内部パラメータのみを用いてFlickr写真上での野外計測を可能にする。SLAMに関して、そのメトリック深度を素朴にKITTIオドメトリでDroid-SLAMに与えると、並進ドリフトtrelt_{rel}が急減する: Seq 00で33.9から1.44、Seq 02で34.88から2.64、Seq 05で23.4から1.44、Seq 09で21.7から1.63——ORB-SLAM2(例えばSeq 00で11.43)を大きく下回る——同時にメトリックスケールの密なマッピングも可能にする; 小規模な屋内ETH3D SLAMシーンでの改善はより小さい。

SLAMにおける意義

SLAMはメトリック深度を必要とする——相対深度は単眼システムのスケールを固定できず、メトリックなマップ融合にも使えない。Metric3Dの正準カメラ正規化は、カメラ非依存のメトリック深度に対する標準的なレシピとなった(UniDepth、Depth Proなどに採用され、Metric3D v2はViTバックボーンと表面法線を追加した)。ロボットがたまたま搭載しているどのカメラであっても、カメラごとのファインチューニングなしにプラグアンドプレイの深度事前分布を可能にする。その独自の実験は成果を直接示している: そのメトリック深度を持つ単眼SLAMシステムはRGB-D SLAMのように振る舞い、スケールドリフトはほぼ排除される。

関連ノート