FlexGlue가 희소 질의와 조밀 특징을 결합해 매칭과 비겹침 판별을 동시에 푼다
FlexGlue: Sparse-to-Dense Feature Matching and Visual Disambiguation
무엇인가
이 논문은 두 이미지 사이의 대응점을 찾는 문제를 다룬다. SfM과 visual localization에서 매칭은 핵심인데, 기존 희소 특징점 매칭은 빠르지만 검출기 반복성에 성능이 묶이고, 조밀 매칭은 강건하지만 모든 픽셀을 다루느라 비싸다. 또 학습이 겹치는 쌍에만 치우쳐 대칭 파사드처럼 시각적으로 비슷하지만 실제로는 다른 장면을 자신 있게 매칭해 3D 재구성을 무너뜨리는 문제가 있다. FlexGlue는 첫 이미지의 질의점을 두 번째 이미지의 조밀 특징 격자에 대응시키면서, 동시에 그 점이 매칭 가능한지와 두 이미지가 같은 장면을 보는지까지 한 모델에서 판단하려 한다.
어떻게 동작하나
구조는 고정된 ConvNeXt-B DINOv3 백본으로 각 이미지 특징을 뽑고, 네 단계 특징을 stride 8로 리샘플해 토큰 격자로 투영한다. 9층 트랜스포머가 자기어텐션으로 이미지 내부 문맥을, 교차어텐션으로 두 이미지 사이 문맥을 모은다. 질의 키포인트는 토큰 격자에서 보간한 뒤 선형 레이어 W로 기술자로 만들고, 상대 이미지의 모든 토큰과 코사인 유사도를 계산한다. 전역 softmax를 최근접 셀 주변 3×3 이웃 안에서 재정규화한 뒤 셀 중심 좌표의 가중평균을 내어 대응점을 얻는다. 이때 1.5-entmax를 써서 가능성 낮은 셀에 정확히 0 확률을 주고, 목표는 정답 대응점 주변 네 셀의 쌍선형 가중치라서 셀 단위 양자화 없이 서브셀 정확도를 학습한다. 각 질의에는 매칭 가능성 점수를 붙이고, 신뢰도는 매칭 가능성과 3×3 창 안 확률 질량의 곱으로 정의한다. 마지막으로 작은 MLP가 ±1셀 범위의 오프셋을 16개 빈으로 분류해 기대값을 더하며 서브픽셀 보정을 한다. 저자들은 이 보정이 평균 0.6px만 이동시킨다고 보고한다.
무엇과 다른가
시각적 모호성 제거는 매칭과 분리하지 않는다. 각 토큰을 선형 레이어와 시그모이드로 겹침 투표로 바꾸고, 두 이미지 토큰 투표를 평균해 쌍 점수를 만든다. 모든 층에서 이 점수를 지도하므로, 추론 시 점수가 t·γ^(L−k)보다 낮으면 k층에서 조기 종료한다. 기본값은 t=0.9, γ=0.9다. 학습에서는 검출 키포인트 대신 16×16 셀마다 하나의 질의를 무작위 서브셀 오프셋으로 샘플링한다. 그래서 네트워크가 특정 검출기에 묶이지 않고, 테스트 때 질의 키포인트를 자유롭게 바꿀 수 있다. 손실은 정답 네 셀의 쌍선형 가중치를 맞추는 coarse 손실(실제로는 1.5-entmax의 Fenchel–Young 손실), 일반화 Charbonnier 기반 fine 손실, 매칭 가능성과 겹침 투표의 balanced BCE로 구성된다. 총손실은 10×coarse+fine+match이고, 음성 쌍이 들어오면 covis 손실을 모든 층에 더한다. 학습 데이터는 MegaDepth, BlendedMVS, ScanNet++, MapAnything의 TartanAir 분할, Hypersim, Map-free, AerialMegaDepth, DL3DV 여덟 개다. 512×512 입력, 50에폭, 에폭당 15만 샘플, 디바이스당 배치 16으로 4대의 H200에서 약 4 GPU-day, 그래디언트 체크포인팅을 쓰면 4대의 RTX 4090에서 약 1.5일이라고 밝힌다.
어떻게 쓰나
상대 자세 추정에서는 MegaDepth-1500, ScanNet-1500, HardMatch를 쓴다. 희소 설정에서 FlexGlue는 LoMa와 비슷한 성능을 보이지만, 반복 텍스처와 낮은 시각적 다양성 때문에 희소 매처가 어려워하는 실내 장면에서 큰 개선을 보인다고 주장한다. 희소-조밀 설정에서는 RoMav2와 경쟁하면서도 상당히 빠르고, HardMatch에서는 가장 높은 정확도를 기록했다고 한다. 다만 dense 대응 추정은 상대 자세에서 희소-희소 변형보다 꾸준히 좋아지지만 HardMatch 강건성은 떨어진다. 두 시점 추정은 HPatches, WxBS, RUBIK, IMC22, TerraSky3D, EarthMatch, SatAst의 일곱 벤치마크에서 평가한다. 2048개 DaD 키포인트를 쓰는 희소-조밀 모드가 IMC22를 제외한 모든 벤치마크에서 최고 정확도를 냈고, ALIKED+LightGlue, LoMa-G, 조밀 매처 RoMav2를 앞섰다. 항공 이미지에서 이득이 가장 컸고 회전 불변 LoMa-R도 앞섰다. 입력 해상도를 올리면 일관된 개선이 있었고, RoMav2로 추가 보정하면 SatAst에서 AUC@10px 67.3, TerraSky3D에서 AUC@10° 66.6까지 올라간다.
전제와 한계
겹침 판별은 Doppelgangers 4659쌍, 수작업으로 정리한 ViSym 3180쌍, 그리고 LaMAR 기반의 새 실내·교차기기 벤치마크 LaMAR-DG 3000쌍에서 평가한다. LaMAR-DG는 CAB, HGE, LIN 세 장면에서 각각 500개 양성과 500개 음성을 만들고, MegaLoc으로 시각적으로 비슷하지만 겹치지 않는 어려운 음성을 채굴했다. 저자들은 매칭과 겹침 판별을 함께 학습한 모델이 전용 판별 모델보다 4배 높은 처리량으로 더 잘한다고 주장하고, 매칭 불가능한 쌍에서는 조기 종료해 계산을 아낀다고 설명한다. 이 결합은 ETH3D의 SfM과 CVPR 2025 Image Matching Challenge에서 강건성을 크게 높였다고 보고한다. InLoc 시각적 위치추정에서도 희소, 준조밀, 조밀 베이스라인과 비교했지만, 본문에 인용된 범위에서는 표 7의 세부 수치가 제시되지 않았다.
개발자 입장에서 FlexGlue는 SfM·SLAM·위치추정 파이프라인에서 희소 키포인트의 빠른 처리와 조밀 매칭의 서브픽셀 정확도를 함께 원할 때 쓸 수 있다. 세 가지 모드를 제공한다. 희소-조밀 모드는 각 질의 키포인트를 예측 대응점에 바로 연결하고, 희소 모드는 양방향 예측을 이용해 키포인트 간 대칭 거리 D를 계산한 뒤 상호 최근접이고 D<3px이며 신뢰도가 기준을 넘는 쌍을 고른다. 조밀 모드는 키포인트 없이 신뢰도 가중으로 최대 5천 개 대응을 샘플링한다. 기본적으로 신뢰도 0.1 미만이나 순환 오차 3px 초과 대응은 버린다. 검출기 대신 격자 질의로 학습했기 때문에 테스트 때 임의의 키포인트를 질의로 넣을 수 있고, 비겹침 쌍에서 조기 종료되는 점이 대규모 페어 검증 비용을 줄이는 데 중요하다.
한계도 분명하다. 저자들은 강제된 학습 기반 셀 간 보간 때문에 서로 다른 질의의 오차가 상관되는 것을 관찰했다. 정밀도는 높지만 상대 자세 추정이 점 오차의 독립을 가정할 때 정확도가 떨어질 수 있다. 검증 세트에서 PCK@1px는 61.0인데 epipolar precision@1px는 88.4%로, 오차 대부분이 에피폴라 선을 따라 발생해 FlexGlue가 다소 잡음 섞인 에피폴라 기하를 학습하는 것으로 보인다. 쉬운 쌍에서는 RoMav2의 조밀 refiner가 더 정확한 매칭을 낸다. 또 후반 층의 교차어텐션 확산이 매우 국소적이고, 후반 층에서 coarse attention 개선이 크지 않다고 관찰한다. 깊이 불연속에서는 정확도가 PCK@5px 기준 90% 초과에서 약 75%로 떨어지는데, 보간이 불연속 반대편에 떨어지는 이봉 분포 때문이다. 3×3 창 판독이 목표 이미지 쪽 문제를 일부 완화하지만 질의 쪽 보간은 여전히 취약하다. 또한 실내 어려운 음성 학습 데이터가 부족해 기존 겹침 판별 학습 세트는 야외에 치우쳐 있고, 저자들은 교차 도메인 일반화를 위해 zero-shot 평가와 NaverLabs 소규모 학습 실험을 함께 제시한다.