Visual Place Recognition (VPR)

Visual Place Recognition은 하나의 질문에 답합니다: 카메라가 이곳에 와본 적이 있는가? 현재 이미지와 이전에 방문한 장소들의 데이터베이스가 주어지면, VPR은 가장 유사할 것 같은 매칭을 검색합니다 — 이는 루프 클로저 감지 중 인지(perception) 부분에 해당합니다. 뷰포인트 변화, 조명 변화, 날씨, 어느 정도의 장면 변화에도 견뎌내면서, 겉보기에만 비슷할 뿐인 서로 다른 장소에는 반응하지 않아야 합니다(지각 모호성(perceptual aliasing) — 똑같이 생긴 두 번째 복도는 VPR의 전형적인 적입니다).

고전적인 접근법은 **Bag of Visual Words (BoVW)**입니다:

  1. 오프라인에서, 대량의 지역 디스크립터(예: ORB) 모음을 k-means로 클러스터링하여 KK개의 단어로 이루어진 *시각적 어휘(visual vocabulary)*를 만듭니다.
  2. 각 이미지를 시각 단어에 대한 히스토그램으로 표현하며, TF-IDF로 가중치를 부여하여 어디에나 있는 정보가 적은 단어의 비중을 낮춥니다.
  3. 역색인(inverted index, 단어에서 그 단어를 포함하는 이미지로의 매핑)을 통해 후보를 검색하며, 이는 키프레임이 수천 개에 이르러도 조회를 빠르게 만듭니다.

TF-IDF 가중치는 명시적으로 살펴볼 가치가 있습니다. 단어 kkNN개의 데이터베이스 이미지 중 nkn_k개에 나타난다면 역문서 빈도(inverse document frequency)는 idfk=log(N/nk)\mathrm{idf}_k = \log(N / n_k)이 됩니다: 모든 복도 이미지에 존재하는 단어는 idf0\mathrm{idf} \approx 0을 가져 유사도 계산에 아무런 기여를 하지 않고, 희귀한 단어(독특한 포스터, 특이한 코너 구성)는 점수를 지배합니다. 각 이미지의 가중 히스토그램은 정규화되어 L1/L2 또는 코사인 점수로 비교되며, 쿼리와 최소 하나의 단어를 공유하는 이미지만이 역색인 덕분에 실제로 검토됩니다. DBoW2/DBoW3는 계층적 어휘 트리(KK에 대한 선형 검색 O(K)O(K) 대신 조밀-정밀(coarse-to-fine) 하강을 통한 O(logK)O(\log K) 단어 할당)로 이를 구현하며, ORB-SLAM, VINS-Mono 등 여러 시스템에서 사용됩니다. FAB-MAP은 동일한 검색 아이디어의 고전적인 확률적 형태화입니다.

현대적인 접근법은 손으로 설계한 히스토그램을 학습된 전역 디스크립터로 대체합니다. NetVLAD의 핵심은 위의 양자화 단계를 그대로 미분 가능하게 일반화한 것입니다: 각 지역 특징 xi\mathbf{x}_i를 가장 가까운 클러스터에 하드 할당하는 대신, 가중치 aˉk(xi)\bar{a}_k(\mathbf{x}_i)로 소프트 할당하고 각 클러스터 중심 ck\mathbf{c}_k에 대한 잔차를 집계합니다,

V(j,k)=iaˉk(xi)(xi(j)ck(j)),V(j, k) = \sum_i \bar{a}_k(\mathbf{x}_i)\, \left( x_i^{(j)} - c_k^{(j)} \right),

이렇게 만들어진 고정 크기 디스크립터는 정규화되고, GPS 태그가 있는 스트리트뷰 이미지(“동일 장소, 다른 외관”을 양성 샘플로 사용)에 대한 triplet loss로 end-to-end 학습됩니다. Patch-NetVLAD는 패치 수준의 재순위화를 추가하고, HF-Net은 하나의 네트워크로 전역 및 지역 특징을 예측하여 완전한 인식-및-위치추정 계층 구조를 제공하며, 최근 시스템들은 극단적인 외관 변화에도 강건하도록 파운데이션 모델 특징(예: DINO 기반 디스크립터)을 점점 더 많이 사용합니다. 동일한 경로를 반복 주행하는 경우(배송 로봇, 철도), 단일 이미지가 아니라 짧은 시퀀스 단위의 디스크립터에 점수를 매기는 시퀀스 기반 매칭이 별다른 대가 없이 큰 강건성 향상을 가져다줍니다.

무엇이 후보를 생성하든, SLAM 시스템은 검색 결과만을 결코 신뢰하지 않습니다. 표준 파이프라인은 다음과 같습니다: 상위 k개 후보를 검색한 뒤, 기하학적으로 검증합니다 — 지역 특징을 후보와 매칭하고, essential/PnP 모델에 대해 RANSAC을 수행하며, 충분한 인라이어를 요구합니다(ORB-SLAM은 추가로 공시야 키프레임 간의 일관성을 요구합니다). 단일 위양성 하나가 지도를 접어버릴 수 있기 때문에, 검증을 통과한 매칭만이 루프 클로저 엣지가 됩니다.

VPR 평가: 재현율보다 정밀도

루프 클로저에서 두 종류의 오류는 극히 비대칭적입니다. 놓친 루프(위음성)는 드리프트 보정 기회를 잃는 대가를 치릅니다 — 지도가 약간 뒤틀린 채로 남습니다. 검증을 통과한 잘못된 루프(위양성)는 지도를 파괴할 수 있습니다. 따라서 SLAM용 VPR은 어떤 재현율 비용을 치르더라도 정밀도를 우선하도록 조정됩니다: 시스템이 실제 재방문의 일부에만 반응하고 거의 한 번도 잘못된 반응을 하지 않는 지점에서 동작하는 것이 표준이며, 이런 이유로 논문들은 100% 정밀도에서의 재현율을 보고합니다. 이것이 또한 다층 방어(검색 점수 임계값 → 여러 연속 매칭에 걸친 시간적/공시야성 일관성 → 기하학적 검증 → 강건한 백엔드)가 과잉이 아니라 표준 아키텍처인 이유입니다.

흔한 함정

SLAM에서의 의미

VPR은 visual odometry를 완전한 SLAM으로 승격시키는 요소입니다: 이전에 방문한 장소를 인식하지 못하면 드리프트는 결코 보정될 수 없습니다. 동일한 메커니즘은 추적 손실 후 재지역화, 로봇 유괴(kidnapped-robot) 상황에서의 복구, 다중 세션 지도 병합, 그리고 협업 SLAM에서의 로봇 간 루프 클로저도 제공합니다 — SLAM 시스템의 거의 모든 “전역” 능력이 안정적으로 동작하는 장소 인식에 기반합니다.

관련 문서