Source-linked AI summary

SuperGlue: Learning Feature Matching with Graph Neural Networks

Paul-Edouard Sarlin, Daniel DeTone, Tomasz Malisiewicz, Andrew Rabinovich

arXiv:1911.11763v2cs.CV

TL;DR

시점, 조명, 가림, 블러, 텍스처 변화가 있을 때 신뢰할 수 있는 feature correspondence를 찾기 어렵지만, 이는 geometric vision에 필수적이다. SuperGlue는 attention 기반 graph neural network와 미분 가능한 optimal transport로 context-aware matching을 학습하며, 실시간으로 동작하면서 실내외 pose estimation에서 높은 정확도를 달성한다.

  • 문제

    3D reconstruction과 camera pose를 위한 feature correspondence 추정은 시점, 조명, 가림, 블러, 텍스처 변화가 있을 때 여전히 어렵다.

  • 방법

    SuperGlue는 attention 기반 graph neural network와 부분 할당을 위한 미분 가능한 optimal transport를 사용해 기존 local feature 위에서 matching 과정을 학습한다.

  • 결과

    SuperGlue는 기존 접근법보다 크게 향상된 성능을 보이며, 극단적인 wide-baseline 실내외 image pair에서 높은 정확도의 relative pose estimation을 달성하고, 실외에서 84.9% matching precision을 기록한다.

  • 시사점 및 한계

    SuperGlue는 handcrafted matching heuristic를 실시간으로 동작하며 classical feature와 learned feature 모두에서 작동하는 통합된 학습 가능한 middle-end로 대체한다.

Abstract

from arXiv · show

This paper introduces SuperGlue, a neural network that matches two sets of local features by jointly finding correspondences and rejecting non-matchable points. Assignments are estimated by solving a differentiable optimal transport problem, whose costs are predicted by a graph neural network. We introduce a flexible context aggregation mechanism based on attention, enabling SuperGlue to reason about the underlying 3D scene and feature assignments jointly. Compared to traditional, hand-designed heuristics, our technique learns priors over geometric transformations and regularities of the 3D world through end-to-end training from image pairs. SuperGlue outperforms other learned approaches and achieves state-of-the-art results on the task of pose estimation in challenging real-world indoor and outdoor environments. The proposed method performs matching in real-time on a modern GPU and can be readily integrated into modern SfM or SLAM systems. The code and trained weights are publicly available at https://github.com/magicleap/SuperGluePretrainedNetwork.

1. 서론

SuperGlue는 local feature matching을 두 이미지 feature set 사이의 학습된 partial assignment 문제로 재구성하고, attention과 differentiable optimal transport를 사용해 난도가 높은 geometric vision task의 correspondence estimation을 개선한다. SuperPoint와 결합하면 indoor 및 outdoor pose estimation에서 handcrafted 및 learned 대안보다 우수한 성능을 보인다.

  • 동기: 신뢰할 수 있는 image correspondence는 SLAM과 SfM에서 3D 구조와 camera pose를 추정하는 데 필수적이지만, 시점, 조명, 가림, blur, 제한된 texture 때문에 matching이 어렵다.이러한 correspondence는 data association이라고 하는 과정에서 local feature를 matching하여 얻는다.
  • 기여: SuperGlue는 task-agnostic feature를 학습한 뒤 단순한 matching heuristic을 적용하는 대신, 이미 추출된 local feature에서 직접 matching을 학습한다.SLAM에서는 feature extraction과 pose estimation 또는 bundle adjustment 사이의 학습된 middle-end로 기능한다.
  • 방법: 이 방법은 correspondence estimation을 두 local feature set 사이의 partial assignment로 정식화하고, 이를 graph neural network가 예측한 cost를 사용하는 differentiable optimal transport 문제로 완화한다.이 정식화는 부분적인 point visibility와 occlusion을 명시적으로 수용한다.
  • 방법: Self- and cross-attention은 assignment optimization problem을 해결하는 동안 image 내부와 image 간 context를 집계하도록 SuperGlue를 학습시킨다.아키텍처는 Transformer 에서 영감을 받았다.
  • 결과: SuperGlue는 SuperPoint와 결합했을 때 indoor 및 outdoor pose estimation에서 state of the art를 발전시키며, handcrafted matcher와 learned inlier classifier보다 우수한 성능을 보인다.저자들은 이 조합을 end-to-end deep SLAM으로 나아가는 한 단계로 제시한다.

2. 관련 연구

기존 local-feature matching pipeline은 사람이 설계한 detection, description, nearest-neighbor matching, filtering, geometric estimation을 결합하는 반면, 최근 learned method는 descriptor를 개선하거나 NN에서 파생된 match를 filtering한다. SuperGlue는 이러한 접근법의 한계를 해결하기 위해 learned assignment cost, graph matching, attention 기반 set aggregation을 연결한다.

  • 전통적인 matching pipeline은 point를 검출하고 descriptor를 계산한 뒤 nearest-neighbor search를 수행하며, SIFT, Lowe’s ratio test, mutual check, neighborhood consensus와 같은 heuristic으로 잘못된 match를 filtering하고 geometric transformation을 추정한다.
  • 최근 deep-learning method는 sparse detector, local descriptor, wider-context feature 또는 inlier–outlier filter를 학습하지만, match는 여전히 nearest-neighbor search로 추정된다 [18] [19] [32] [20] [33] [7].
  • Graph matching은 일반적으로 NP-hard quadratic assignment problem으로 정식화되며, 수작업으로 설계한 local-feature cost는 복잡하고 취약한 heuristic에 의존한다. 반면 Caetano et al. [9]은 더 단순한 linear assignment에 대해서만 얕은 model로 cost를 학습한다.
  • Attention은 특정 element와 attribute에 집중함으로써 permutation을 고려한 set aggregation을 지원하며, uniform pooling, normalization 또는 fixed-neighborhood method와 달리 global context와 data-dependent local context를 결합한다 [15] [60] [33] [32] [26].

3. SuperGlue 아키텍처

SuperGlue는 attentional graph neural network와 optimal matching layer를 사용해 두 local feature 집합 사이의 부분적이고 confidence 값이 부여된 correspondence assignment를 예측한다. 아키텍처는 이미지 내부와 이미지 간의 context를 집계한 뒤, reciprocity 및 permutation-equivariant inductive bias를 적용한 differentiable assignment를 사용한다.

  • 3. SuperGlue 아키텍처: SuperGlue는 두 local feature 집합 사이 correspondence에 대해 confidence 값이 포함된 partial soft assignment matrix를 예측한다.assignment는 두 이미지의 keypoint에 대해 정의되며, network의 primary prediction target이다.
  • 3.1 Attentional Graph Neural Network: attentional graph neural network는 각 keypoint의 appearance와 position을 결합한 뒤, self- 및 cross-image message passing을 교대로 수행해 matching descriptor를 생성한다.self edge는 한 이미지 내부의 keypoint를 연결하고, cross edge는 서로 다른 이미지의 keypoint를 연결한다. attention은 집계된 message의 가중치를 동적으로 조정한다.
  • 3.2 Optimal Matching Layer: optimal matching layer는 matching descriptor의 inner product를 통해 모든 candidate pair를 scoring하고, partial-assignment constraint하에서 그 결과로 얻은 assignment problem을 해결한다.descriptor similarity를 사용하므로 모든 M × N candidate match에 대해 별도의 representation을 구성할 필요가 없다.
  • 3. SuperGlue 아키텍처: 아키텍처는 keypoint와 image의 permutation에 대해 equivariant하며, optimal-transport formulation은 training 중 reciprocal match를 soft하게 강제한다.이러한 특성은 matching의 symmetry에 부합하는 inductive bias를 제공하고, mutual consistency를 learning 과정에 내재화한다.

4. 구현 세부 사항

SuperGlue는 local feature detector와 descriptor, 특히 SuperPoint와 함께 작동하도록 설계되었으며, differentiable optimal transport를 사용하는 12M-parameter attention architecture로 real-time matching을 수행한다. Training에서는 augmented keypoints를 사용해 SuperPoint 처리를 on the fly로 수행하고, inference에서는 confidence threshold를 넘는 match만 유지한다.

  • Feature integration: SuperGlue는 어떤 local feature detector 및 descriptor와도 결합할 수 있지만, 희소하고 반복 가능한 keypoint를 제공해 효율적인 matching을 가능하게 하는 SuperPoint [18]와 특히 잘 작동한다.Visual descriptor는 SuperPoint의 semi-dense feature map에서 bilinear sampling으로 추출된다.
  • Feature integration: Matcher를 공정하게 비교하기 위해, 명시적으로 언급하지 않는 한 visual descriptor network는 SuperGlue와 함께 training하지 않으며, inference에서는 confidence threshold of 0.2를 사용해 match를 유지한다.Confidence threshold는 test time에 적용된다.
  • Architecture details: SuperGlue는 D = 256 representations, 4 heads를 사용하는 9개의 alternating self- and cross-attention layers, 그리고 T = 100 Sinkhorn iterations를 사용한다.PyTorch implementation은 12M parameters를 포함한다.
  • Architecture details: Forward pass당 69 ms, 즉 15 FPS의 처리 속도로 NVIDIA GTX 1080 GPU에서 indoor image pair를 real-time matching할 수 있다.보고된 runtime은 명시된 indoor image-pair setting을 기준으로 한다.
  • Training details: Training 중에는 SuperPoint detection과 description을 batch 단위로 on the fly 수행하며, 효율적인 batching과 robustness를 위해 random keypoints를 추가한다.추가 training 세부 사항은 Appendix E에 제시되어 있다.

5. 실험

Homography와 실내·실외 pose estimation 실험 전반에서 SuperGlue는 고품질 correspondence를 달성하며 handcrafted 및 learned matcher를 일관되게 능가한다. Ablation 결과는 graph reasoning, attention, positional encoding, depth, end-to-end descriptor training이 성능에 기여함을 보여준다.

  • Homography estimation: 98% recall과 높은 precision을 통해 SuperGlue는 가능한 homography match를 거의 모두 복원하면서 대부분의 outlier를 억제한다.그 correspondence는 DLT가 RANSAC보다 더 나은 성능을 낼 만큼 강력하다. 반면 경쟁 outlier-rejection method는 nearest-neighbor matching을 넘어서 개선하지 못한다.
  • 실내 pose estimation: 실내 평가는 복잡한 3D geometry와 큰 viewpoint 변화가 있는 texture-poor, self-similar scene을 대상으로 하며, pose accuracy, precision, matching score metric을 사용한다.Relative pose는 RANSAC으로 추정하며, pose accuracy는 5°, 10°, 20° threshold에서의 AUC로 요약한다.
  • 실내 및 실외 pose estimation: SuperGlue는 SIFT와 SuperPoint feature 모두에서 실내 및 실외 pose estimation을 수행할 때 handcrafted 및 learned matcher를 능가한다.보고된 모든 평가에서 더 높은 pose accuracy, precision, matching score를 달성한다.
  • 실외 pose estimation: 실외 matching에서의 84.9% precision은 까다로운 실제 scene 전반에서 매우 신뢰할 수 있는 correspondence를 생성하는 SuperGlue의 능력을 뒷받침한다.SuperGlue는 SuperPoint와 SIFT 모두에서 모든 relative-pose threshold에 걸쳐 모든 baseline을 능가한다.
  • Ablation study: Optimal matching layer는 nearest-neighbor matching보다 성능이 향상되며, graph neural network가 대부분의 향상을 설명한다. Cross-attention, positional encoding, depth는 결과를 추가로 개선한다.Ablation study는 모든 SuperGlue block이 상당한 성능 향상을 제공함을 확인한다.
  • Ablation study: SuperPoint descriptor를 SuperGlue와 함께 joint training할 때 53.38 AUC@20◦ 대 51.84의 결과를 얻으며, 이는 matching을 넘어선 end-to-end learning을 뒷받침한다.이 개선은 SuperGlue training 중 SuperPoint descriptor network를 통한 backpropagation에서 비롯된다.

6. 결론 · 부록

결론에서는 SuperGlue를 optimal transport를 통해 context aggregation, matching, filtering, partial-assignment 처리를 통합하는 attention 기반 graph neural network로 제시한다. 부록에서는 추가 실험, 정성적 예시, timing 결과, 학습된 attention 패턴 분석을 제공한다.

  • 6. 결론: SuperGlue는 matching 중 descriptor의 receptive field를 확장하기 위해 self-attention을 사용하고, 이미지 간 통신을 위해 cross-attention을 사용한다.
  • 6. 결론: Optimal transport를 통해 SuperGlue는 matching 과정에서 partial assignments와 occluded points를 처리할 수 있다.
  • 6. 결론: SuperGlue는 handcrafted heuristic을 하나의 learnable architecture로 대체하여 context aggregation, matching, filtering을 jointly 수행한다.
  • 6. 결론: SuperGlue는 deep front-end와 결합할 경우 end-to-end deep SLAM을 향한 단계로 제시된다.
  • 6. 결론: Figure 6은 SuperGlue가 handcrafted 또는 learned outlier rejection을 적용한 nearest-neighbor matching보다 일관되게 more correct matches를 생성하고 fewer mismatches를 생성함을 보여준다.
  • 6. 결론: Figure 7은 global 또는 local context, self-similarities, distinctive features, match candidates에 집중하는 diverse self- and cross-attention patterns를 시각화한다.
  • 부록: 부록에서는 추가 experimental details, quantitative results, qualitative examples, timing results, 학습된 attention 패턴 분석을 제시한다.

A. 상세 결과 · A.1. Homography 추정 · A.2. 실내 pose 추정

상세 평가에서 SuperGlue는 모든 정확성 임계값에 걸쳐 homography matching을 압도하고, synthetic training에서 real HPatches 데이터로 일반화하며, ScanNet에서 실내 pose 정확도와 matching trade-off를 개선한다. 추가 시각화에서는 synthetic 및 real homography와 평가에 사용된 난이도 높은 wide-baseline 실내 쌍을 다룬다.

  • A.1. Homography 추정: SuperGlue matching 결과에는 synthetic 및 real homography에 대한 정성적 평가가 모두 포함된다.이 결과는 Figure 13에 제시된다.
  • A.1. Homography 추정: SuperGlue는 평가한 모든 pixel 및 error threshold에서 대안 방법보다 더 높은 match precision과 homography 정확도를 달성한다.더 높은 precision은 RANSAC보다 DLT를 사용한 더 정확한 homography 추정도 가능하게 한다.
  • A.1. Homography 추정: HPatches에서 synthetic homography만으로 학습한 모델을 295개의 viewpoint-change 및 285개의 illumination-change image pair에 대해 평가한 결과, real-data generalization을 보인다.평가에서는 두 HPatches subset에 대한 precision과 recall을 보고한다.
  • A.2. 실내 pose 추정: 정성적 실내 시각화는 평가에 사용된 wide-baseline image pair의 극도의 난이도를 강조한다.추가 SuperGlue match 시각화는 Figure 14에 제시된다.
  • A.2. 실내 pose 추정: ScanNet 평가는 SuperPoint feature를 사용하는 방법을 분석하고, confidence를 변화시켜 pose-error 및 precision-versus-correct-match curve를 얻는다.정확하고 강건한 pose 추정에는 precision과 correct match의 수가 모두 핵심적인 것으로 확인된다.
  • A.2. 실내 pose 추정: ScanNet에서 SuperGlue는 평가한 모든 error threshold에서 더 정확한 pose estimate를 생성하며, 최상의 precision–correct-match trade-off를 제공한다.Correctness는 10-pixel threshold에서 ground-truth depth를 사용한 reprojection error로 계산하거나, depth가 유효하지 않은 keypoint에는 symmetric epipolar error를 사용한다.
  • A.2. 실내 pose 추정: YFCC100M pair에서 SuperGlue는 approximate 및 exact AUC evaluation 모두에서 SIFT와 SuperPoint feature를 사용할 때 baseline보다 일관되게 향상된다.평가에는 OANet [71]과 동일한 image pair를 사용한다.

A.3. 실외 포즈 추정

실외 YFCC100M 평가에서 SuperGlue는 SIFT와 SuperPoint 모두에서 모든 baseline을 일관되게 능가하며, 더 적은 keypoint로 Aachen Day-Night localization에서도 state-of-the-art 성능을 달성한다. 또한 PhotoTourism과 MegaDepth에 대한 정성적 결과도 보고한다.

  • 정성적 결과: Figure 15는 PhotoTourism test set과 MegaDepth validation set에 대한 추가 정성적 결과를 제시한다.
  • YFCC100M: SuperGlue는 SIFT와 SuperPoint 모두에서 YFCC100M evaluation pair 전반에 걸쳐 모든 baseline을 일관되게 능가하지만, overlap이 더 높고 난이도가 더 낮은 pair에서는 OANet 대비 SIFT의 향상 폭이 더 작다.Approximate AUC는 정확도를 과대평가하지만 method ranking은 동일하게 유지한다.
  • Aachen Day-Night: SuperGlue는 Aachen Day-Night visual localization에서 SuperPoint의 성능을 크게 향상시키며, 비슷하게 더 적은 keypoint로 새로운 state-of-the-art 결과에 도달한다.

B. 시각 위치 추정을 위한 SuperGlue · C. 실행 시간 및 모델 파라미터

SuperGlue는 SuperPoint 매칭과 COLMAP 기반 SfM 등록을 사용해 까다로운 주간-야간 시각 위치 추정에서 평가되며, keypoint 수에 따른 실행 시간과 파라미터 구성을 측정한다. 이 방법은 극단적인 조명 변화에도 일반화되고 실시간 속도로 실행되며, 총 12M 파라미터를 갖는다.

  • B. 시각 위치 추정을 위한 SuperGlue: SuperGlue는 시각 위치 추정을 위한 absolute-pose estimation을 지원하며, phototourism 데이터셋보다 더 큰 시점 및 조명 변화를 다룬다.이 과제는 query 이미지의 pose를 3D 모델에 대해 상대적으로 추정한다.
  • B. 시각 위치 추정을 위한 SuperGlue: Aachen Day-Night evaluation은 최대 4096개의 SuperPoint keypoint, SuperGlue 매칭, 삼각측량된 daytime SfM 모델, 그리고 nighttime query에 대한 COLMAP 등록을 사용한다.위치 추정 성능은 거리 및 방향 임계값을 만족하는 query의 비율로 평가한다.
  • B. 시각 위치 추정을 위한 SuperGlue: SuperGlue는 극단적인 주간-야간 조명 변화에도 잘 일반화하며, 반복되는 건물 파사드 패턴을 정확하게 매칭한다.Figure 10은 nighttime query와 daytime 데이터베이스 이미지 사이의 correspondence를 시각화하고, RANSAC inlier와 outlier를 구분한다.
  • C. 실행 시간 및 모델 파라미터: 512 keypoint에서 14.5 FPS, 1024 keypoint에서 11.5 FPS를 달성하는 결과는 SuperGlue 추론이 실시간으로 수행됨을 보여준다.Graph Neural Network와 Optimal Matching Layer는 계산 비용이 유사하다.
  • C. 실행 시간 및 모델 파라미터: 실행 시간 측정은 NVIDIA GeForce GTX 1080 GPU에서 500회 실행에 걸쳐 서로 다른 keypoint 수에 대해 SuperGlue와 그 Graph Neural Network 및 Optimal Matching Layer를 대상으로 수행된다.이 측정은 Figure 11의 상세한 추론 시간 분석의 기반을 제공한다.
  • C. 실행 시간 및 모델 파라미터: Keypoint Encoder MLP는 5개 층과 100k 파라미터를 가지며, 각 message-update layer는 0.66M 파라미터를 갖는다. SuperGlue는 총 12M 파라미터에 해당하는 18개 층으로 구성된다.encoder는 (32, 64, 128, 256, D) 차원을 거쳐 위치를 매핑하고, message-update MLP는 (2D, D)를 매핑한다. 두 모듈 모두 BatchNorm과 ReLU를 사용한다.

D. Attention 분석

SuperGlue의 attention은 layer가 깊어질수록 점진적으로 공간적으로 집중된다. self-attention과 cross-attention의 span이 모두 크게 감소하며, 넓은 image 영역에서 local neighborhood와 유력한 match로 초점이 이동한다.

  • 정량적 분석: 첫 layer에서 마지막 layer로 갈수록 self-attention과 cross-attention의 span이 모두 10× 초과로 감소하며, attention이 점진적으로 국소화됨을 보여준다.초기 layer에서는 넓은 영역을 참조하지만, 이후 self-attention은 각 keypoint 주변에 집중하고 cross-attention은 실제 match 주변에 집중한다.
  • 정량적 분석: Self-attention은 처음에는 넓은 image 영역을 포함하지만, 이후 각 keypoint 주변의 작은 neighborhood로 좁혀진다.Self-attention span은 각 keypoint와 다른 keypoint 사이의 pixel-space 거리 weighted average로 계산된다.
  • 정량적 분석: Cross-attention은 처음에는 넓은 범위를 탐색하지만, 이후 최종 predicted match 주변으로 좁혀진다.Cross-attention span은 predicted match와 attention이 참조한 keypoint 사이의 평균 거리다.
  • 정량적 분석: 중간 attention layer에서는 span이 진동하는 양상을 보여, 더 복잡한 refinement 과정이 이루어짐을 시사한다.이 추세는 100개의 ScanNet image pair에 대해 평균한 결과다.

E. 실험 세부 사항

실험은 정의된 overlap, keypoint, reprojection 및 training protocol을 사용해 synthetic homography, indoor ScanNet, outdoor MegaDepth/PhotoTourism pose-estimation 설정에서 SuperGlue를 평가한다. Ablation과 end-to-end training을 통해 graph reasoning, cross-attention, positional encoding 및 descriptor learning의 기여를 분리한다.

  • Homography estimation: Homography 평가는 randomized perspective, scale, rotation 및 translation transform을 적용한 뒤 1,024개의 640×480 image pair, 512개의 SuperPoint keypoint와 3-pixel reprojection threshold를 사용한다.경계 artifact를 피하도록 설계된 synthetic homography에서 correspondence를 평가한다.
  • Indoor pose estimation: Indoor 평가는 overlap score가 [0.4, 0.8]인 image pair를 사용하며, ScanNet은 correspondence labeling과 pose evaluation에서 SUN3D보다 more accurate camera pose를 제공한다.[19]와 유사하게 scene당 epoch마다 200개의 pair를 sampling해 학습한다.
  • Outdoor pose estimation: Outdoor training은 overlap이 [0.1, 0.7]인 Megadepth pair를 sampling하고, evaluation은 [0.1, 0.4]의 overlap을 사용해 all 11 PhotoTourism scenes를 대상으로 한다 [19].이미지는 긴 변이 1600 pixels가 되도록 resize한다.
  • Ablation study: Ablation에서는 graph reasoning, cross-image interaction 및 keypoint encoding을 검증하기 위해 graph neural network, cross-attention 또는 positional encoding을 교체하면서 지정된 component는 유지한다.no-cross-attention model은 full model과 동일한 parameter count를 가지며 Siamese network처럼 동작한다.
  • End-to-end training: End-to-end training은 두 개의 SuperPoint copy로 초기화하고 detection을 freezes하며, additional loss 없이 descriptor network를 통해 SuperGlue gradient를 전파한다.학습된 model, evaluation code 및 image pair는 공개되어 있다.
Loading 1911.11763v2…