SuperGlue

Sarlin 2020 · 논문

한 줄 요약 — self-attention과 cross-attention, 그리고 (매칭되지 않은 점을 위한 dustbin을 가진) 미분 가능한 Sinkhorn 최적 운송을 사용하여 취약한 최근접 이웃 매칭을 대체하는 Graph Neural Network 특징 매처입니다.

문제

고전적 특징 매칭은 수작업으로 설계된 휴리스틱의 파이프라인입니다: 디스크립터 공간에서의 최근접 이웃 탐색, ratio test, 상호(mutual) 검사, 그리고 정리를 위한 RANSAC. 각 디스크립터는 독립적으로 비교됩니다 — 다른 keypoint에 대한, 장면의 기하학에 대한, 또는 어떤 점이 단순히 다른 이미지에 보이지 않는지에 대한 추론이 전혀 없습니다. 강한 시점 변화, 반복적인 구조, 또는 부분적인 겹침 아래에서는 이것이 무너집니다. SuperGlue는 매칭 자체를 학습 가능한 최적화 문제로 재구성합니다: 대응점을 찾는 것 매칭 불가능한 점을 거부하는 것을 함께 수행하며, 두 가지 물리적 제약을 활용합니다 — keypoint는 최대 하나의 대응점을 가지며, 일부 keypoint는 가림이나 검출기 실패로 인해 매칭되지 않습니다.

방법 및 아키텍처

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)을 가진 이미지 A,BA, B가 주어지면, SuperGlue는 P1N1M\mathbf{P}\mathbf{1}_N \leq \mathbf{1}_MP1M1N\mathbf{P}^\top \mathbf{1}_M \leq \mathbf{1}_N을 만족하는 부분 소프트 할당(partial soft assignment) P[0,1]M×N\mathbf{P} \in [0,1]^{M \times N}을 예측합니다. 두 개의 블록으로 구성됩니다:

1. Attentional Graph Neural Network. Keypoint 인코더가 위치를 디스크립터에 임베딩하여 외관과 배치가 함께 추론될 수 있게 합니다:

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

두 이미지의 모든 keypoint는 자기 엣지(이미지 내부)와 교차 엣지(이미지 간)를 가진 하나의 완전한 멀티플렉스 그래프를 형성합니다. 자기 엣지와 교차 엣지를 교대로 사용하는 잔차(residual) 메시지 전달 업데이트가 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)

메시지는 attentional 집계입니다: 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)입니다 — self-attention은 keypoint가 자신의 이미지 안에서 두드러진 점에 주목할 수 있게 하고, cross-attention은 다른 이미지 안의 후보 매칭점에 주목할 수 있게 합니다. 최종 매칭 디스크립터는 선형 사영입니다: 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로 채워진 dustbin 행과 열로 증강되어, 가려지거나 검출되지 않은 점들이 명시적으로 할당됩니다. 엔트로피 정규화된 최적 운송 문제는 TT번의 미분 가능한 Sinkhorn 반복(exp(Sˉ)\exp(\bar{\mathbf{S}})의 반복적 행/열 정규화)으로 풀려 Pˉ\bar{\mathbf{P}}를 산출합니다; dustbin을 제외하면 P\mathbf{P}가 복원됩니다.

지도(Supervision). 실측 매칭 M\mathcal{M}(포즈 + 깊이 또는 homography로부터)과 매칭되지 않은 집합 I,J\mathcal{I}, \mathcal{J}에 대한 negative log-likelihood:

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-head attention의 L=9L = 9개 레이어, T=100T = 100번의 Sinkhorn 반복, 1200만 파라미터; forward pass는 GTX 1080 GPU에서 실내 이미지 쌍당 평균 69ms(15 FPS)입니다. 테스트 시 매칭 신뢰도 임계값 0.2.

실험 결과

SLAM에서의 의미

SuperGlue는 어려운 데이터 연관 문제를 위한 프론트엔드 방법론을 바꾸었습니다: SuperPoint + SuperGlue는 시각적 위치 인식, wide-baseline 루프 클로저, 그리고 hloc 파이프라인을 통한 매핑의 지배적인 기준선이 되었습니다. SLAM에서 특히, 이는 디스크립터 거리 매칭이 무너지는 낮/밤 및 강한 시점 변화 전반에서 재위치추정(relocalization)이 동작하도록 만들었습니다. 논문 자체는 이 학습 가능한 미들엔드를 “종단간 딥 SLAM을 향한 중요한 이정표”라고 표현합니다. 매 프레임마다 모든 keypoint에 대해 전체 attention을 수행하는 비용은 실시간 환경에서 이제 표준이 된 효율적인 후속작 LightGlue를 낳았습니다.

관련 문서