HardNet
Mishchuk 2017 · 논문
한 줄 요약 — 배치 내에서 매칭되는 쌍과 가장 어려운 네거티브 사이의 마진을 최대화하여 128차원의 컴팩트한 로컬 패치 디스크립터를 학습하며, 손실 함수나 아키텍처의 복잡함보다 샘플링 전략이 더 중요함을 보인다.
문제
SIFT 같은 고전적 디스크립터는 수작업으로 만들어져 강한 외관 변화 하에서 판별력이 제한적이지만, 당시의 연구들은 SIFT 변형이 실제 이미지 매칭과 3D 재구성에서 학습된 디스크립터(MatchNet, DeepCompare, TFeat)보다 오히려 더 나은 성능을 보인다는 것을 보였다 — 이러한 방법들은 무작위로 샘플링된 네거티브에 대해 대조 손실이나 트리플릿 손실로 학습되었고, 이미 쉽게 구분되는 쌍에 대부분의 그래디언트를 낭비하고 있었다. HardNet의 출발점은 SIFT의 Lowe 매칭 기준(최근접-대-차근접 비율 검정)이다: 좋은 디스크립터란 정답 매칭이 그 가장 가까운 오답 매칭보다 가깝게 나오는 디스크립터이므로, 학습이 최적화해야 할 것은 바로 이것이다.
방법 및 아키텍처
배치 내 최난 샘플링(Hardest-in-batch sampling). 매칭되는 패치 쌍(anchor, positive; 3D 점당 정확히 하나의 쌍)의 배치 이 네트워크를 통과하고, 전체 L2 거리 행렬이 GPU에서 계산된다.
단위 길이 디스크립터에 대해 위와 같다. 각 쌍에 대해, 가장 가까운 비매칭 디스크립터가 양방향에서 모두 찾아진다: 인 , 그리고 인 . 둘 중 더 어려운 쪽이 트리플릿을 이룬다.
트리플릿 마진 손실. 개의 최난 트리플릿이 마진 1인 손실을 구성한다:
두 갈래 시아미즈 네트워크만 있으면 되므로(세 갈래가 필요 없음) 표준 트리플릿 학습 대비 메모리를 약 30% 절약한다; 무작위 샘플링에 비해 추가되는 오버헤드는 거리 행렬과 그 행/열 최솟값 계산뿐이다.
아키텍처. L2Net과 동일하다: 평균/표준편차 정규화된 그레이스케일 패치에 대한 완전 컨볼루션 네트워크로, 공간 크기는 스트라이드 컨볼루션으로 줄어들며(풀링은 사용하지 않는다 — 성능을 저해했다), 마지막 레이어를 제외한 모든 레이어 뒤에 배치 정규화 + ReLU를 두고, 마지막 컨볼루션 전에 드롭아웃을 적용하며, 출력은 L2 정규화되어 128차원 단위 길이 디스크립터가 된다 — 의도적으로 SIFT와 호환되게 설계되었다. L2Net과 달리 보조 손실(딥 감독 없음, 디스크립터-상관 페널티 없음)이 필요 없으며, 유의미한 과적합도 관찰되지 않았다.
학습. UBC Phototour(Brown) 데이터셋 — Liberty/Notre Dame/Yosemite, 각각 약 40만 개의 DoG 패치 — 중 한 서브셋(Liberty, 표준 프로토콜)에서 SGD와 weight decay로 학습한다. 네거티브 풀이 커질수록 배치 크기에 따라 성능이 향상되며 512를 넘으면 포화된다.
실험 결과
- Brown 데이터셋 패치 검증 (재현율 95%에서의 FPR, 낮을수록 좋음): HardNet+는 평균 FPR95 1.51을 달성하며, L2Net+ 2.23, TFeat-M* 6.64, SIFT 26.55보다 우수하다 — 수작업 방법 대비 자릿수 하나 만큼 우수하다.
- Ablation (HPatches 매칭, 평균 mAP): 배치 내 최난 샘플링은 트리플릿 마진 손실과 함께 0.482를 달성하며, 고전적 하드 네거티브 마이닝 + 상관 페널티는 0.346, 무작위 샘플링 + 페널티는 0.286에 그친다; 페널티가 없는 무작위 및 고전적 마이닝은 그냥 과적합한다. 손실이 아니라(softmin/트리플릿/대조 모두 잘 동작한다) 샘플링 방식이 HardNet 성능의 주된 이유다.
- HPatches: HardNet은 매칭과 검색에서 L2Net+를 능가하며, Hard와 Tough 기하 잡음 설정에서 가장 큰 격차를 보인다; 검색 mAP는 방해 요소(distractor)가 1만 개 이상으로 늘어나도 소폭만 저하되며, 이 지점에서 TFeat은 SIFT 이하로 떨어진다.
- 넓은 베이스라인 스테레오 (W1BS, MODS 매처): 크로스 도메인 데이터셋(SymB, GDB, WxBS, LTLL)에서 HardNet+는 크로스 도메인 데이터로 학습된 적이 없음에도 RootSIFT 및 다른 학습된 디스크립터와 대등하거나 이를 능가한다.
- 이미지 검색: BoW+SV+QE를 사용하면 HardNet++는 Oxford5k에서 84.5 mAP, Paris6k에서 79.1 mAP(백만 어휘)를 달성한다; 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 — 디스크립터가 풀고자 하는 매칭 문제