LoFTR

Sun 2021 · 論文

一行要約 — Transformerを用いた検出器不要の稠密特徴マッチング: 自己注意と交差注意が両画像の特徴を条件付け、キーポイント検出器が失敗するテクスチャの乏しい領域でも信頼できるマッチを生成する。

問題

古典的なパイプラインは特徴の検出、記述、マッチングを順に実行するため、すべてが検出器が両画像で再現可能な興味点を生成することに依存する——検出器は低テクスチャ領域(何も無い壁、床)や繰り返しパターンの下でこれに失敗することが知られている。既存の稠密な代替手法はコストボリュームを通じて対応点を探索するが、これは高コストであり、依然としてローカルな根拠に依存している。LoFTRは検出を完全に省略する: まず粗いレベルで画素単位の稠密マッチを確立し、良いものだけを洗練する——Transformerの大域的な受容野が両画像を一度に条件付けて何がマッチするかを決定する。

手法とアーキテクチャ

バックボーン。 ResNet-18 + FPNのCNNが1/8解像度で粗い特徴F~A,F~B\tilde{F}^A, \tilde{F}^Bを、1/2解像度で細かい特徴F^A,F^B\hat{F}^A, \hat{F}^Bを抽出する。

LoFTRモジュール。 2Dの正弦波位置エンコーディング(1回だけ加算)が特徴を位置に依存させる——特徴の乏しい領域をマッチングするために重要である。その後、Nc=4N_c = 4個の交互に配置された自己注意・交差注意層が粗い特徴をF~trA,F~trB\tilde{F}^A_{tr}, \tilde{F}^B_{tr}に変換する。通常の注意Attention(Q,K,V)=softmax(QKT)V\mathrm{Attention}(Q,K,V) = \mathrm{softmax}(QK^T)\,VO(N2)O(N^2)のコストがかかるため、LoFTRはLinear Transformerカーネルを用いる:

sim(Q,K)=ϕ(Q)ϕ(K)T,ϕ()=elu()+1\mathrm{sim}(Q,K) = \phi(Q)\cdot\phi(K)^{T}, \quad \phi(\cdot) = \mathrm{elu}(\cdot) + 1

これは行列積の結合性(まずϕ(K)TV\phi(K)^T Vを計算する、特徴次元DND \ll N)により、コストをO(N)O(N)に削減する。

粗いマッチング。 スコア行列S(i,j)=1τF~trA(i),F~trB(j)\mathcal{S}(i,j) = \frac{1}{\tau} \langle \tilde{F}^A_{tr}(i), \tilde{F}^B_{tr}(j) \rangleは、最適輸送層(SuperGlueと同様)またはデュアルソフトマックスのいずれかに入力される:

Pc(i,j)=softmax(S(i,))jsoftmax(S(,j))i\mathcal{P}_c(i,j) = \mathrm{softmax}\big(\mathcal{S}(i,\cdot)\big)_j \cdot \mathrm{softmax}\big(\mathcal{S}(\cdot,j)\big)_i

粗いマッチは、Pc\mathcal{P}_cにおいて確信度θc=0.2\geq \theta_c = 0.2で相互最近傍となるペアである。

粗から細への洗練。 各粗いマッチについて、w×w=5×5w \times w = 5 \times 5のローカルウィンドウが細かい特徴マップから切り出され、より小さなLoFTRモジュール(Nf=1N_f = 1)によって変換される。クエリウィンドウの中心ベクトルを他のウィンドウと相関させることで、マッチング確率のヒートマップが得られ、その期待値がサブピクセル位置j^\hat{j}'を与える。

教師信号。 L=Lc+Lf\mathcal{L} = \mathcal{L}_c + \mathcal{L}_f: (SuperGlueと同様に姿勢+深度から得られる)正解の粗いグリッドマッチに対する負の対数尤度に加えて、細かいオフセットに対するヒートマップ分散重み付き2\ell_2損失:

Lf=1Mf(i^,j^)Mf1σ2(i^)j^j^gt2\mathcal{L}_f = \frac{1}{|\mathcal{M}_f|} \sum_{(\hat{i},\hat{j}')\in\mathcal{M}_f} \frac{1}{\sigma^2(\hat{i})} \big\lVert \hat{j}' - \hat{j}'_{gt} \big\rVert_2

コスト。 デュアルソフトマックスでRTX 2080Ti上で640×480ペアあたり116ms(最適輸送では130ms)。エンドツーエンドでスクラッチから学習、屋内モデルで64台のGTX 1080Ti GPUを用いて24時間。

実験結果

SLAMにおける意義

屋内SLAMは、検出すべきものが何もない場所——何もない壁、床、繰り返しの表面——で常に失敗する。LoFTRは、大域的コンテキストを持つマッチャーがそこでも対応点を生成できることを示し、RoMaやEfficientLoFTRなど多くの後継が基盤とする検出器不要のパラダイムを確立した。実際には、疎マッチングが脆すぎる場合の屋内再構成、広ベースライン再定位、ループクロージャ検証における第一選択であり、疎マッチャーより多くの計算を必要とする代償を伴う。

関連ノート