KeyNet
Barroso-Laguna 2019 · 論文
一行要約 — 手作りの微分フィルタと少数の学習型CNN層を浅いマルチスケールアーキテクチャで組み合わせた学習型キーポイント検出器(Key.Net)であり、スケール間でのキーポイント再検出性(repeatability)を最大化するよう学習される。
問題
古典的な検出器(Harris、DoG)は手作りの微分フィルタとスケール空間ヒューリスティクスから構築されており、解釈可能で計算コストも低いが、下流にとって重要な性質である実際の視点変化・スケール変化のもとでの再検出性に対して最適化されているわけではない。完全に学習型の検出器はもう一方の極端であり、2019年当時、手作り検出器に対する優位性は明確には示されていなかった: CNN検出器は特にスケールに苦戦し、勾配構造の再発見に容量を浪費していた。Key.Netは、正しい手作りの構造で種付けされた小規模ネットワークが両者を上回れるかを問う。
手法とアーキテクチャ
手作り+学習フィルタ。 最初の層は、HarrisおよびHessianの精神に基づく10個の微分ベースフィルタからなる固定バンクである: 一次のマップ、、、、と二次の、、、、である。これらはソフトなアンカーとして機能する;続く3つの学習型ブロック(それぞれフィルタの5x5畳み込み+バッチ正規化+ReLU)が特徴の位置特定、スコアリング、ランキングを行う。ハードコードされたフィルタは学習可能パラメータを削減し、学習を安定化させる。
ネットワーク内のスケール空間。 入力は3つのピラミッドレベル(1.2倍でブラー+ダウンサンプル)で処理され、すべてのストリームは重みを共有する;特徴マップはアップサンプルされ結合され、最終的な学習型フィルタによって単一の応答マップに融合される。アブレーション: 1レベルでは検証時の再検出性72.5、3レベルでは79.1、3を超えると増加はわずかである。
Index Proposal (IP) 層。 キーポイント抽出を通じて微分可能に学習するため、の各ウィンドウは空間ソフトマックスによってソフトな座標に変換される。
これは非最大値抑制の微分可能な代替である(はインデックス値を保持し、はウィンドウの角である)。画像間の正解のホモグラフィが与えられると、共変制約損失(covariant-constraint loss)はある画像でのIP座標を他の画像のNMS極大点に回帰させる:
これにより有意な特徴のみが損失に貢献する;損失は両方向に対称的に計算される。
Multi-Scale Index Proposal (M-SIP)。 損失はウィンドウサイズにわたって重みで平均化される:
これにより、ネットワークは異なるコンテキストサイズにわたって優位性を保つキーポイントに最高スコアを与えるよう強制される — スコアリングとランキングは損失自体から自然に生じる。アブレーション: 5つすべてのウィンドウでは再検出性79.1に対し、8x8ウィンドウのみでは70.5である。
安価な学習データ。 ImageNetから生成された192x192サイズの画像ペア12,000組で、ランダムなスケール[0.5, 3.5]、スキュー、回転(±60°)、フォトメトリックジッターを与える — 手作業のアノテーションなしで正解の対応関係が無料で得られる。Key.Netのシャム対(siamese pair)は約30エポック(GTX 1080 Tiで約2時間)で収束する。
実験結果
- HPatches再検出性(上位1000点、IoU誤差 < 0.4): 視点変化シーケンスではKey.Net-SIが最良で60.5(スケール+位置)/ 73.2(位置のみ)、一方SuperPoint-TIは33.3/67.1、LF-Net-SIは32.3/62.2、最良の手作り手法MSER-SIは56.4/62.8である。照明変化シーケンスでは、シングルスケールのKey.Net-TIが72.0で勝利し、この設定向けに設計されたTILDE-TI(70.4)を上回る。
- マッチング(共通のHardNet記述子を用いる): Key.Net+HardNetは視点マッチングスコアで最良の38.4を示し、SuperPoint(自前の記述子で38.0、HardNetで37.4)をわずかに上回る;LF-Net+HardNetは照明変化で先行する(39.7に対して43.8)。
- 計算量: SuperPointの検出器は約94万個の学習可能パラメータを使用する — Key.Netはその約160分の1、Tiny-Key.Net(すべて手作りフィルタ+学習フィルタ1つ)は約3,100分の1でありながらSuperPointの視点再検出性を上回る。600x600画像での推論時間: Tinyは5.7ms、Key.Netは31ms。
SLAMにおける意義
SLAMのフロントエンドは検出器の再検出性次第で成否が決まる: 同じ3D点がフレーム間で再検出されなければ、どんな記述子もマッチを救うことはできない。Key.Netは、古典的な検出器の事前知識(手作りフィルタ、スケール空間)を小規模な学習モデルに注入することが、純粋な手作り検出器・純粋な学習型検出器の両方を再検出性で上回りながらリアルタイムパイプラインに十分軽量であることを示した — これは組み込みSLAMに直接関係する設計上の観点である。
関連ノート
- SuperPoint — 自己教師あり型の検出器兼記述子
- HardNet — Key.Netとよく組み合わされる学習型記述子
- R2D2 — 信頼性を意識した検出と記述
- DISK — 強化学習で訓練された代替手法
- Keypoints — 検出に関する古典的な背景知識
- Learned vs hand-crafted — Key.Netが意図的にまたぐトレードオフ