HardNet

Mishchuk 2017 · 논문

한 줄 요약 — 배치 내에서 매칭되는 쌍과 가장 어려운 네거티브 사이의 마진을 최대화하여 128차원의 컴팩트한 로컬 패치 디스크립터를 학습하며, 손실 함수나 아키텍처의 복잡함보다 샘플링 전략이 더 중요함을 보인다.

문제

SIFT 같은 고전적 디스크립터는 수작업으로 만들어져 강한 외관 변화 하에서 판별력이 제한적이지만, 당시의 연구들은 SIFT 변형이 실제 이미지 매칭과 3D 재구성에서 학습된 디스크립터(MatchNet, DeepCompare, TFeat)보다 오히려 더 나은 성능을 보인다는 것을 보였다 — 이러한 방법들은 무작위로 샘플링된 네거티브에 대해 대조 손실이나 트리플릿 손실로 학습되었고, 이미 쉽게 구분되는 쌍에 대부분의 그래디언트를 낭비하고 있었다. HardNet의 출발점은 SIFT의 Lowe 매칭 기준(최근접-대-차근접 비율 검정)이다: 좋은 디스크립터란 정답 매칭이 그 가장 가까운 오답 매칭보다 가깝게 나오는 디스크립터이므로, 학습이 최적화해야 할 것은 바로 이것이다.

방법 및 아키텍처

배치 내 최난 샘플링(Hardest-in-batch sampling). 매칭되는 패치 쌍(anchor, positive; 3D 점당 정확히 하나의 쌍)의 배치 X=(Ai,Pi)i=1..n\mathcal{X}=(A_i,P_i)_{i=1..n}이 네트워크를 통과하고, 전체 n×nn \times n L2 거리 행렬이 GPU에서 계산된다.

d(ai,pj)=22aipjd(a_i,p_j)=\sqrt{2-2a_ip_j}

단위 길이 디스크립터에 대해 위와 같다. 각 쌍에 대해, 가장 가까운 비매칭 디스크립터가 양방향에서 모두 찾아진다: jmin=argminjid(ai,pj)j_{min}=\arg\min_{j\neq i} d(a_i,p_j)pjminp_{j_{min}}, 그리고 kmin=argminkid(ak,pi)k_{min}=\arg\min_{k\neq i} d(a_k,p_i)akmina_{k_{min}}. 둘 중 더 어려운 쪽이 트리플릿을 이룬다.

트리플릿 마진 손실. nn개의 최난 트리플릿이 마진 1인 손실을 구성한다:

L=1ni=1nmax(0,  1+d(ai,pi)min(d(ai,pjmin),d(akmin,pi)))L=\frac{1}{n}\sum_{i=1}^{n}\max\Bigl(0,\;1+d(a_i,p_i)-\min\bigl(d(a_i,p_{j_{min}}),\,d(a_{k_{min}},p_i)\bigr)\Bigr)

두 갈래 시아미즈 네트워크만 있으면 되므로(세 갈래가 필요 없음) 표준 트리플릿 학습 대비 메모리를 약 30% 절약한다; 무작위 샘플링에 비해 추가되는 오버헤드는 거리 행렬과 그 행/열 최솟값 계산뿐이다.

아키텍처. L2Net과 동일하다: 32×3232\times32 평균/표준편차 정규화된 그레이스케일 패치에 대한 완전 컨볼루션 네트워크로, 공간 크기는 스트라이드 컨볼루션으로 줄어들며(풀링은 사용하지 않는다 — 성능을 저해했다), 마지막 레이어를 제외한 모든 레이어 뒤에 배치 정규화 + ReLU를 두고, 마지막 컨볼루션 전에 드롭아웃을 적용하며, 출력은 L2 정규화되어 128차원 단위 길이 디스크립터가 된다 — 의도적으로 SIFT와 호환되게 설계되었다. L2Net과 달리 보조 손실(딥 감독 없음, 디스크립터-상관 페널티 없음)이 필요 없으며, 유의미한 과적합도 관찰되지 않았다.

학습. UBC Phototour(Brown) 데이터셋 — Liberty/Notre Dame/Yosemite, 각각 약 40만 개의 DoG 패치 — 중 한 서브셋(Liberty, 표준 프로토콜)에서 SGD와 weight decay로 학습한다. 네거티브 풀이 커질수록 배치 크기에 따라 성능이 향상되며 512를 넘으면 포화된다.

실험 결과

SLAM에서의 의미

HardNet 디스크립터는 SfM 및 SLAM 파이프라인에서 SIFT를 대체하는 인기 있는 즉시 교체재가 되었다: 동일한 128차원 인터페이스에 외관 변화에 대한 강건성은 더 우수하다. 더 큰 영향은, 배치 내 최난 샘플링이 디스크립터 학습의 표준 학습 방식이 되어 SOSNet, HyNet, 그리고 DISK 같은 공동 검출-기술 네트워크의 디스크립터 브랜치에 채택되었다는 점이다. 이는 완전히 학습된 프론트엔드로 가는 진화 과정에서 “고전적 키포인트 위의 학습된 디스크립터” 단계를 나타낸다.

관련 문서