SuperGlue

Sarlin 2020 · 論文

一行要約 — 自己注意とクロスアテンション、そしてダストビン付きの微分可能なシンクホーン最適輸送を用いて、脆弱な最近傍マッチングを置き換えるグラフニューラルネットワーク特徴マッチャー。

問題

古典的な特徴マッチングは、記述子空間での最近傍探索、比率テスト、相互チェック、そして仕上げのRANSACという手作りのヒューリスティクスのパイプラインである。各記述子は独立に比較され、他のキーポイントやシーンの幾何、あるいはどの点が単に他方の画像に見えていないかについて何の推論も行わない。強い視点変化、繰り返し構造、部分的な重なりの下ではこれは破綻する。SuperGlueはマッチング自体を学習可能な最適化問題として再定義する: 対応関係を見つけることと、マッチ不可能な点を拒否することを同時に行い、2つの物理的制約——キーポイントは最大でも1つの対応関係しか持てないこと、そしてオクルージョンや検出器の失敗によりマッチしないキーポイントが存在すること——を活用する。

手法とアーキテクチャ

画像A,BA, BがそれぞれMM個、NN個の局所特徴(検出信頼度ccを持つ位置pi:=(x,y,c)i\mathbf{p}_i := (x, y, c)_i、記述子diRD\mathbf{d}_i \in \mathbb{R}^D、例えばSuperPointやSIFT)を持つとして、SuperGlueはP1N1M\mathbf{P}\mathbf{1}_N \leq \mathbf{1}_MおよびP1M1N\mathbf{P}^\top \mathbf{1}_M \leq \mathbf{1}_Nを満たす部分的なソフト割り当てP[0,1]M×N\mathbf{P} \in [0,1]^{M \times N}を予測する。2つのブロックから構成される。

1. アテンション付きグラフニューラルネットワーク。 キーポイントエンコーダが位置情報を記述子に埋め込み、見た目とレイアウトが一緒に推論されるようにする。

(0)xi=di+MLPenc(pi){}^{(0)}\mathbf{x}_i = \mathbf{d}_i + \mathrm{MLP}_{\mathrm{enc}}(\mathbf{p}_i)

両画像のすべてのキーポイントは、自己エッジ(画像内)とクロスエッジ(画像間)を持つ1つの完全なマルチプレックスグラフを形成する。残差付きメッセージパッシング更新がLL層にわたって実行され、自己エッジとクロスエッジを交互に処理する。

(+1)xiA=()xiA+MLP([()xiAmEi]){}^{(\ell+1)}\mathbf{x}_i^A = {}^{(\ell)}\mathbf{x}_i^A + \mathrm{MLP}\big(\big[{}^{(\ell)}\mathbf{x}_i^A \,\Vert\, \mathbf{m}_{\mathcal{E}\rightarrow i}\big]\big)

メッセージはアテンション付き集約であり、mEi=jαijvj\mathbf{m}_{\mathcal{E}\rightarrow i} = \sum_{j} \alpha_{ij} \mathbf{v}_j、重みαij=Softmaxj(qikj)\alpha_{ij} = \mathrm{Softmax}_j(\mathbf{q}_i^\top \mathbf{k}_j)がエッジ集合にわたって計算される——自己注意によってキーポイントは自分の画像内の顕著な点に注目でき、クロスアテンションによって他方の画像内の候補マッチに注目できる。最終的なマッチング記述子は線形射影である: fiA=W(L)xiA+b\mathbf{f}_i^A = \mathbf{W}\,{}^{(L)}\mathbf{x}_i^A + \mathbf{b}

2. 最適マッチング層。 対のスコアは内積Si,j=fiA,fjB\mathbf{S}_{i,j} = \langle \mathbf{f}_i^A, \mathbf{f}_j^B \rangleである。スコア行列は単一の学習可能なスカラーzzで埋められたダストビン行と列で拡張され、オクルードされた/検出されなかった点が明示的に割り当てられる。エントロピー正則化された最適輸送問題は、TT回の微分可能なシンクホーン反復(exp(Sˉ)\exp(\bar{\mathbf{S}})の反復的な行/列正規化)によって解かれ、Pˉ\bar{\mathbf{P}}が得られる; ダストビンを除くとP\mathbf{P}が回復される。

教師信号。 グラウンドトゥルースのマッチ集合M\mathcal{M}(姿勢+深度またはホモグラフィから得られる)とマッチしない集合I,J\mathcal{I}, \mathcal{J}に対する負の対数尤度。

Loss=(i,j)MlogPˉi,jiIlogPˉi,N+1jJlogPˉM+1,j\mathrm{Loss} = -\sum_{(i,j)\in\mathcal{M}} \log \bar{\mathbf{P}}_{i,j} - \sum_{i\in\mathcal{I}} \log \bar{\mathbf{P}}_{i,N+1} - \sum_{j\in\mathcal{J}} \log \bar{\mathbf{P}}_{M+1,j}

詳細: D=256D = 256、4ヘッドアテンションのL=9L = 9層、シンクホーン反復T=100T = 100回、パラメータ数1200万; フォワードパスはGTX 1080 GPU上で室内ペアあたり平均69ms(15 FPS)。テスト時のマッチ信頼度閾値は0.2。

実験結果

SLAMにおける意義

SuperGlueは困難なデータアソシエーション問題に対するフロントエンドのレシピを変えた: SuperPoint + SuperGlueは、視覚的位置推定、広ベースラインのループクロージャ、hlocパイプラインによるマッピングの支配的なベースラインとなった。SLAMにとって具体的には、記述子距離マッチングが崩壊するような昼夜や強い視点変化をまたいだ再位置決めを機能させた。論文自体はこの学習可能なミドルエンドを「end-to-endの深層SLAMに向けた大きな一里塚」と位置付けている。そのコスト——毎フレーム全キーポイントに対する全アテンション——は、リアルタイム設定で今や標準となっている効率的な後継LightGlueを生み出す動機となった。

関連ノート