Learned vs hand-crafted
고전적 SLAM은 수작업으로 설계된 모듈들의 파이프라인입니다: 코너 검출기(FAST, Harris), descriptor(ORB, SIFT), 매처(최근접 이웃 + 비율 테스트), 강건한 추정(RANSAC), 비선형 최소제곱 백엔드입니다. 이 구성 요소 각각은 인간의 가정을 인코딩합니다 — “좋은” 특징이 어떤 모습인지, 어떤 노이즈 분포를 예상해야 하는지, 어떤 휴리스틱이 이상치를 거부하는지. 딥러닝은 대안을 제시합니다: 네트워크가 이 함수들을 데이터로부터 학습하도록 하는 것입니다.
두 가지 매우 다른 전략
SLAM에 학습을 적용하는 방법은 두 가지가 있으며, 이를 구분하는 것이 중요합니다:
- 모듈 교체: 고전적 파이프라인 구조는 유지하되, 개별 hand-crafted 모듈을 학습된 모듈로 교체합니다. 시스템은 여전히 해석 가능하며, 기하학적 백엔드(bundle adjustment, pose-graph 최적화)는 그대로 유지됩니다.
- End-to-end 학습: 전체 파이프라인(또는 그 상당 부분)을 이미지를 포즈나 맵으로 직접 매핑하는 네트워크로 교체합니다. 예를 들어 LSTM으로 모션을 회귀하는 DeepVO, 또는 미분 가능한 bundle-adjustment 레이어 주변에 recurrent 갱신 연산자를 학습하는 DROID-SLAM이 있습니다.
모듈별 교체 지도
Level 5의 대부분은 각 논문이 어떤 고전적 모듈을 대체하는지를 중심으로 구성되어 있습니다:
| 파이프라인 단계 | Hand-crafted 표준 | 학습된 대체물 |
|---|---|---|
| Keypoint 검출 + 기술 | FAST/Harris + ORB/SIFT | SuperPoint, R2D2, DISK, XFeat |
| 매칭 | 최근접 이웃 + 비율 테스트 | SuperGlue, LightGlue, LoFTR (검출기 없는 방식) |
| 장소 인식 | bag-of-words (DBoW) | NetVLAD, Patch-NetVLAD, HF-Net |
| 깊이 | 스테레오 블록 매칭 / 깊이 센서 | MonoDepth, MiDaS, Depth Anything |
| Optical flow | Lucas-Kanade, variational flow | RAFT, SEA-RAFT |
| 재위치 인식 | 3D 맵에 대한 descriptor 매칭 | PoseNet (회귀), DSAC/ACE (scene coordinate) |
| 이상치 제거 / 솔버 | RANSAC, Gauss-Newton | DSAC (soft RANSAC), unrolled/implicit BA 레이어 |
새로운 논문을 읽을 때 첫 번째로 물어야 할 질문은: 이 표의 어느 행에 해당하며, 고전적 백엔드를 유지하는가? 입니다.
각 진영이 우세한 영역
학습된 모듈은 명백히 우세합니다 hand-crafted 가정을 무너뜨리는 조건 하에서: 심한 조명 변화, 약한 텍스처, 모션 블러, 계절 또는 낮/밤 외관 변화, 넓은 baseline 매칭입니다. 학습된 특징은 정확히 이러한 변동성에 대해 학습되는 반면, hand-crafted descriptor는 설계자의 상상력만 반영합니다.
고전적 모듈은 여전히 우세합니다 텍스처가 풍부하고 조명이 좋은 장면에서 높은 프레임 레이트로 동작할 때: ORB는 계산 비용이 몇 자릿수 더 저렴하고, 고전적 기하학은 학습 분포에 대한 걱정 없이 정확하고 검증 가능한 해를 제공하며, 실패 모드를 분석할 수 있습니다. RANSAC 실패는 인라이어 수로부터 진단할 수 있지만, 네트워크 실패는 흔히 조용히 일어납니다.
End-to-end 포즈 회귀는 특히 기하학에 열세입니다: 포즈를 직접 회귀하는 네트워크(PoseNet 방식)는 삼각측량보다는 이미지 검색처럼 동작하며, 그 오차는 기하학적 방법의 오차처럼 더 많은 텍스처나 더 나은 캘리브레이션에 따라 줄어들지 않습니다. 이것이 바로 이 분야가 하이브리드로 수렴한 이유입니다 — 학습된 인지, 기하학적 추정입니다.
실용적인 판단 기준
| 질문 | 고전적 방식이 유리 | 학습된 방식이 유리 |
|---|---|---|
| 계산 예산 | 임베디드 CPU | GPU 사용 가능 |
| 환경 | 통제됨, 텍스처가 풍부함 | 외관 변화, 낮은 텍스처 |
| 해석 가능성 / 인증 | 필수 | 선택적 |
| 해당 도메인의 학습 데이터 | 부족함 | 풍부함 |
학습된 모듈 도입 시 흔한 함정
- 분포 이동(distribution shift): 실외 랜드마크로 학습된 매처는 실내에서 성능이 저하될 수 있습니다. 논문의 벤치마크가 아니라 항상 자신의 도메인 데이터로 검증하세요.
- 처리량 계산: 논문은 GPU 추론 시간을 인용하지만, 로봇에서는 GPU가 다른 인지 작업과 공유될 수 있고, 전처리(리사이즈, 정규화)가 흔히 숨겨진 비용입니다.
- 혼합 규약 버그: 학습된 특징은 자체적인 해상도, 점수 규약, 서브픽셀 동작을 가지고 있습니다. SuperPoint를 ORB에 맞춰 조정된 파이프라인에 임계값(매칭, RANSAC, 키프레임 선택)을 재조정하지 않고 끼워 넣는 것은 조용한 정확도 저하의 전형적인 원인입니다.
- 평가 누출(evaluation leakage): 일부 학습된 모듈은 평가에 사용되는 벤치마크 자체(또는 그와 유사한 데이터)로 학습되었습니다. 비교를 신뢰하기 전에 학습 데이터셋을 확인하세요.
하이브리드 합의
실제로 가장 성공적인 현대 시스템들은 하이브리드입니다: 학습된 인지가 고전적 기하학 최적화에 입력을 제공합니다(예: ORB-SLAM 방식 파이프라인 내부의 학습된 특징, 또는 고전적 BA 솔버 주변의 DROID-SLAM의 학습된 업데이트). SLAM의 최대 우도 기법은 블랙박스로 이기기 어렵지만, 그것에 입력을 제공하는 인지 레이어는 학습이 먼저 성과를 내는 지점입니다. Differentiability 문서는 이 두 절반을 함께 학습시킬 수 있게 하는 기술을 다룹니다.
SLAM에서의 의미
Level 5의 거의 모든 논문은 learned-vs-hand-crafted 스펙트럼 위의 한 점이며, 어떤 방법이 그 스펙트럼의 어디에 위치하는지를 아는 것은 그것이 어떤 문제를 풀고 어떤 대가를 요구하는지를 알려줍니다. 시스템을 설계할 때, 이러한 프레임은 “딥러닝을 써야 하는가?”라는 질문을 구체적인 엔지니어링 질문으로 바꿉니다: 어떤 모듈이 실패하고 있는가, 자신의 플랫폼에서 추론을 감당할 수 있는가, 그리고 기하학은 고전적 방식으로 유지되어야 하는가입니다.