HardNet
Mishchuk 2017 · 論文
一行要約 — 各バッチ内でマッチングペアと最も難しいネガティブとの間のマージンを最大化することで、コンパクトな128次元ローカルパッチ記述子を学習する手法。サンプリング戦略が損失関数やアーキテクチャの複雑さよりも重要であることを示している。
問題
SIFTのような古典的記述子は手作りであり、強い見た目の変化に対する識別力に限界があるが、当時の研究では、実際の画像マッチングや3D再構成においてSIFTのバリアントが学習された記述子(MatchNet、DeepCompare、TFeat)をなお上回ることが示されていた — それらの手法は、対比損失やトリプレット損失をランダムにサンプリングされたネガティブに対して学習させており、既に分離が容易なペアに大半の勾配を浪費していた。HardNetの出発点は、SIFTのマッチング基準(Loweの最近傍・第2近傍比によるテスト)である:良い記述子とは、正しいマッチが最も近い不正解のマッチよりも近い記述子であり、学習はまさにそれを最適化すべきだというものである。
手法とアーキテクチャ
バッチ内最難ネガティブサンプリング。 マッチングするパッチペア(アンカー、ポジティブ;各3D点につき正確に1ペア)のバッチがネットワークに通され、GPU上で完全なのL2距離行列が計算される。単位長の記述子に対しては
となる。各ペアについて、両方向で最も近い非マッチング記述子が見つけられる:による、およびによるである。この2つのうち難しい方がトリプレットを形成する。
トリプレットマージン損失。 個の最難トリプレットが、マージン1の損失に投入される:
必要なのは(3ストリームではなく)2ストリームのシャムネットワークのみであり、標準的なトリプレット学習に比べて約30%のメモリを節約できる;ランダムサンプリングに対する唯一のオーバーヘッドは距離行列とその行・列の最小値である。
アーキテクチャ。 L2Netと同一である:の平均/標準偏差正規化されたグレースケールパッチに対する全層畳み込みネットワークであり、空間サイズはストライド付き畳み込みで縮小される(プーリングなし — 性能を損なうため)。最終層を除く各層の後にバッチ正規化+ReLU、最終畳み込み前にドロップアウトがあり、出力は128次元単位長記述子にL2正規化される — 意図的にSIFT互換になっている。L2Netと異なり、補助損失(深層教師あり、記述子相関ペナルティ)は不要であり、有意な過学習は観測されなかった。
学習。 UBC Phototour(Brown)データセット — Liberty/Notre Dame/Yosemite、それぞれ約40万個のDoGパッチ — であり、1つのサブセット(Liberty、標準プロトコル)で学習される。SGDと重み減衰を用いる。性能はネガティブプールが増えるバッチサイズの増加とともに向上し、512を超えると飽和する。
実験結果
- Brownデータセットのパッチ検証(再現率95%におけるFPR、低いほど良い):HardNet+は平均FPR95 1.51を達成(L2Net+ 2.23、TFeat-M* 6.64、SIFT 26.55)— 手作り記述子に対して1桁の改善。
- アブレーション(HPatchesマッチング、平均mAP):バッチ内最難サンプリング+トリプレットマージン損失は0.482を達成(古典的な最難ネガティブマイニング+相関ペナルティでは0.346、ランダムサンプリング+ペナルティでは0.286);ペナルティなしのランダムサンプリングおよび古典的マイニングは単に過学習する。損失関数(softmin/トリプレット/対比損失はすべて機能する)ではなくサンプリング方式こそが、HardNetの性能の主要な要因である。
- HPatches:HardNetはマッチングと検索の両方でL2Net+を上回り、Hard・Toughの幾何ノイズ設定で最大の向上を示す;検索mAPは、妨害候補が1万以上に増加してもわずかしか劣化しないが、TFeatはSIFTを下回る。
- 広ベースラインステレオ(W1BS、MODSマッチャー):クロスドメインデータセット(SymB、GDB、WxBS、LTLL)において、HardNet+はクロスドメインデータで学習されたことがないにもかかわらず、RootSIFTや他の学習済み記述子と同等かそれ以上の性能を示す。
- 画像検索:BoW+SV+QEを用いた場合、HardNet++はOxford5kで84.5 mAP、Paris6kで79.1 mAP(語彙数100万)を達成する;HardNet++–HQEバリアントはOxford5kで86.8/88.3(単一/複数割当)を記録する — 当時、独立に学習された語彙で報告された最良値である。
SLAMにおける意義
HardNetの記述子は、SfMやSLAMパイプラインにおけるSIFTの人気の代替として普及した:同じ128次元インターフェースを持ちながら、見た目の変化に対する頑健性が向上している。より大きな影響として、そのバッチ内最難マイニングは記述子学習の標準的な学習レシピとなり、SOSNet、HyNet、DISKのような検出器・記述子統合ネットワークの記述子ブランチに採用された。これは、完全に学習されたフロントエンドへの進化における「古典的なキーポイント上の学習済み記述子」というステップを示す。
関連ノート
- SuperPoint — 検出器+記述子統合の後継パラダイム
- KeyNet — HardNetと一般的に組み合わされる学習済み検出器
- DISK — HardNetの損失設計に影響を受けたエンドツーエンド特徴学習
- R2D2 — 記述子学習に信頼性を意識した検出を追加
- Keypoints — これらの手法が置き換える古典的特徴の背景
- 2D-2D correspondence — 記述子が解くべきマッチング問題