DXSLAM
Li 2020 · 논문
한 줄 요약 — ORB-SLAM2 파이프라인 안에서 수작업으로 설계된 ORB 특징점을 HF-Net의 딥러닝 기반 지역/전역 특징으로 교체하여, 조명 변화와 라이프롱(lifelong) SLAM 환경의 장면 변화에 대한 강건성을 크게 향상시켰습니다 — 그러면서도 CPU에서 실시간으로 동작합니다.
문제
시각 SLAM에서 “대부분의 측면에서 이론적 프레임워크가 잘 확립되어 있지만, 특징점 추출과 데이터 연관(feature extraction and association)은 여전히 대부분의 경우 경험적으로 설계되어 복잡한 환경에서 취약할 수 있습니다” — ORB-SLAM2는 장면이나 시점이 바뀌면 이전에 방문한 장소를 인식하지 못하는 경우가 자주 발생합니다. CNN 특징은 훨씬 더 강건하지만, 대부분의 딥러닝 특징 기반 시스템은 GPU를 필요로 하며, 이는 많은 로봇에서 비현실적입니다. DXSLAM은 딥러닝 특징이 “현대적인 SLAM 프레임워크에 자연스럽게 통합될 수 있음”을 보이고 이를 CPU 실시간으로 구현했습니다: 특징점만 바꾸고 검증된 기하학적 백엔드는 그대로 유지하는 것입니다.
방법 및 아키텍처
전체 프레임워크는 ORB-SLAM2의 추적(tracking) / 지역 매핑(local mapping) / 루프 클로징(loop closing) 파이프라인이며, 특징 추출, 재지역화, 루프 클로저가 하나의 CNN을 중심으로 재구성되어 있습니다.
- HF-Net 프론트엔드 — 각 이미지는 공유 인코더와 세 개의 병렬 디코더를 거쳐 키포인트 검출 점수, (둘 다 SuperPoint 아키텍처 기반인) 조밀한 지역 디스크립터, NetVLAD 전역 디스크립터를 예측합니다. 한 번의 추론으로 포즈 추적/매핑을 위한 지역 특징과 검색을 위한 전역 이미지 디스크립터가 모두 생성됩니다. HF-Net은 SuperPoint와 D2-Net보다 경험적으로 우수하여 선택되었습니다(SuperPoint는 저조도 환경에서 키포인트를 지나치게 적게 추출합니다).
- 점진적으로 학습되는 FBoW 어휘 — OpenLORIS-Scene 시퀀스의 HF-Net 지역 디스크립터로부터 시각 어휘를 학습합니다: 인접한 학습 이미지들을 전수(brute-force) 매칭하고, (검출 점수 기준) 상위 300개의 매칭된 디스크립터를 기존 시각 단어에 합류시키며, 매칭되지 않은 디스크립터는 새로운 리프(leaf)가 되고, 이후 단어들은 부모 노드로 클러스터링됩니다. 이진 FBoW 형식은 로딩에 약 40 ms밖에 걸리지 않아 ORB-SLAM2 어휘의 약 6초에 비해 훨씬 빠릅니다.
- 전역 특징을 이용한 재지역화 — BoW 검색 + 프레임-대-프레임 매칭 대신, 학습된 전역 디스크립터로 후보를 검색하고 이를 그룹 매칭에 사용합니다: 현재 프레임의 키포인트를 검색된 그룹(보통 2~3개 그룹)의 모든 키포인트에 대해 매칭한 뒤, 표준 RANSAC + PnP로 포즈를 추정합니다. 이는 ORB-SLAM2 재지역화의 두 가지 실패 모드(검색된 후보가 없음, 단일 프레임당 매칭 수가 너무 적음)를 모두 해결합니다.
- 2단계 루프 클로저 — 상위 개의 후보를 시각 벡터 간의 BoW 유사도 점수
로 순위화합니다. BoW는 공간적 관계를 버리기 때문에, 두 번째 단계에서는 각 후보에 대해 전역 디스크립터 내적 거리를 계산하고 임계값 이하인 가장 근접한 후보만 수용합니다 — 잘못된 루프 클로저는 지도를 손상시키므로 정밀도를 우선시하는 방식입니다.
- CPU 최적화 — TensorFlow로 작성된 HF-Net 모델을 Intel OpenVINO로 변환하고(양선형 디스크립터 업샘플링을 후처리 단계로 이동), FBoW는 SIMD 명령어를 사용하여, “GPU나 다른 가속기 없이도 전체 시스템이 실시간으로 동작할 수 있습니다.”
실험 결과
OpenLORIS-Scene 재지역화 테스트(오피스 장면, 통제된 난이도 요인)에서 DXSLAM은 조명 변화 조건에서 0.862점을 기록했습니다(ORB-SLAM2: 0.764). 저조도 조건에서는 0.994점을 기록했습니다(ORB-SLAM2와 DS-SLAM은 0). 물체와 사람이 바뀐 조건에서는 0.999점을 기록했습니다. 다만 완전한 시점 반전에서는 모든 방법이 실패합니다(0). New College와 City Center에서의 루프 클로저 PR 곡선을 보면, 전체 방법(HF-FBoW-GLB)이 ORB-SLAM2의 ORB-BoW보다 확실히 우수하며, 전역 디스크립터 단계가 상당한 마진을 추가합니다. TUM RGB-D 동적 시퀀스에서 ATE RMSE는 fr3_walking_static에서 0.3900 m(ORB-SLAM2)에서 0.0167 m로, fr3_walking_half에서 0.4863 m에서 0.0759 m로 감소하며, 이는 동적 상황을 명시적으로 처리하지 않는데도 동적 인식 시스템인 DS-SLAM과 비교할 만한 수준입니다. 15 W급 i7-10710U에서의 특징 추출은 OpenVINO를 사용할 경우 이미지당 46.2 ms가 걸립니다(순수 HF-Net의 144.2 ms보다 68% 빠름; SuperPoint는 387.5 ms, D2-Net은 2484.6 ms가 필요). 전체 ROS 시스템은 Intel NUC에서 초당 약 15 Hz로 포즈를 발행합니다.
SLAM에서의 의미
DXSLAM은 고전적 SLAM을 현대화하는 가장 단순한 방법을 명료하게 보여줍니다: 검증된 기하학적 백엔드는 유지한 채 학습된 특징점만 교체하는 것입니다. 이 방법은 시스템을 재설계하지 않고도 동적 환경과 라이프롱 SLAM 환경에서 ORB-SLAM2보다 상당한 강건성 향상을 보였고, 특이하게도 이 방식이 GPU가 없는 로봇에서도 배포 가능함을 입증했습니다. DXSLAM은 3단계(Level 3)의 고전적 시스템과 5단계(Level 5)의 학습된 특징 연구(SuperPoint, HF-Net)를 잇는 가교 역할을 하며, 많은 실제 시스템이 정확히 이러한 하이브리드 방식을 따르고 있습니다.