Learned vs hand-crafted

고전적 SLAM은 수작업으로 설계된 모듈들의 파이프라인입니다: 코너 검출기(FAST, Harris), descriptor(ORB, SIFT), 매처(최근접 이웃 + 비율 테스트), 강건한 추정(RANSAC), 비선형 최소제곱 백엔드입니다. 이 구성 요소 각각은 인간의 가정을 인코딩합니다 — “좋은” 특징이 어떤 모습인지, 어떤 노이즈 분포를 예상해야 하는지, 어떤 휴리스틱이 이상치를 거부하는지. 딥러닝은 대안을 제시합니다: 네트워크가 이 함수들을 데이터로부터 학습하도록 하는 것입니다.

두 가지 매우 다른 전략

SLAM에 학습을 적용하는 방법은 두 가지가 있으며, 이를 구분하는 것이 중요합니다:

모듈별 교체 지도

Level 5의 대부분은 각 논문이 어떤 고전적 모듈을 대체하는지를 중심으로 구성되어 있습니다:

파이프라인 단계Hand-crafted 표준학습된 대체물
Keypoint 검출 + 기술FAST/Harris + ORB/SIFTSuperPoint, R2D2, DISK, XFeat
매칭최근접 이웃 + 비율 테스트SuperGlue, LightGlue, LoFTR (검출기 없는 방식)
장소 인식bag-of-words (DBoW)NetVLAD, Patch-NetVLAD, HF-Net
깊이스테레오 블록 매칭 / 깊이 센서MonoDepth, MiDaS, Depth Anything
Optical flowLucas-Kanade, variational flowRAFT, SEA-RAFT
재위치 인식3D 맵에 대한 descriptor 매칭PoseNet (회귀), DSAC/ACE (scene coordinate)
이상치 제거 / 솔버RANSAC, Gauss-NewtonDSAC (soft RANSAC), unrolled/implicit BA 레이어

새로운 논문을 읽을 때 첫 번째로 물어야 할 질문은: 이 표의 어느 행에 해당하며, 고전적 백엔드를 유지하는가? 입니다.

각 진영이 우세한 영역

학습된 모듈은 명백히 우세합니다 hand-crafted 가정을 무너뜨리는 조건 하에서: 심한 조명 변화, 약한 텍스처, 모션 블러, 계절 또는 낮/밤 외관 변화, 넓은 baseline 매칭입니다. 학습된 특징은 정확히 이러한 변동성에 대해 학습되는 반면, hand-crafted descriptor는 설계자의 상상력만 반영합니다.

고전적 모듈은 여전히 우세합니다 텍스처가 풍부하고 조명이 좋은 장면에서 높은 프레임 레이트로 동작할 때: ORB는 계산 비용이 몇 자릿수 더 저렴하고, 고전적 기하학은 학습 분포에 대한 걱정 없이 정확하고 검증 가능한 해를 제공하며, 실패 모드를 분석할 수 있습니다. RANSAC 실패는 인라이어 수로부터 진단할 수 있지만, 네트워크 실패는 흔히 조용히 일어납니다.

End-to-end 포즈 회귀는 특히 기하학에 열세입니다: 포즈를 직접 회귀하는 네트워크(PoseNet 방식)는 삼각측량보다는 이미지 검색처럼 동작하며, 그 오차는 기하학적 방법의 오차처럼 더 많은 텍스처나 더 나은 캘리브레이션에 따라 줄어들지 않습니다. 이것이 바로 이 분야가 하이브리드로 수렴한 이유입니다 — 학습된 인지, 기하학적 추정입니다.

실용적인 판단 기준

질문고전적 방식이 유리학습된 방식이 유리
계산 예산임베디드 CPUGPU 사용 가능
환경통제됨, 텍스처가 풍부함외관 변화, 낮은 텍스처
해석 가능성 / 인증필수선택적
해당 도메인의 학습 데이터부족함풍부함

학습된 모듈 도입 시 흔한 함정

하이브리드 합의

실제로 가장 성공적인 현대 시스템들은 하이브리드입니다: 학습된 인지가 고전적 기하학 최적화에 입력을 제공합니다(예: ORB-SLAM 방식 파이프라인 내부의 학습된 특징, 또는 고전적 BA 솔버 주변의 DROID-SLAM의 학습된 업데이트). SLAM의 최대 우도 기법은 블랙박스로 이기기 어렵지만, 그것에 입력을 제공하는 인지 레이어는 학습이 먼저 성과를 내는 지점입니다. Differentiability 문서는 이 두 절반을 함께 학습시킬 수 있게 하는 기술을 다룹니다.

SLAM에서의 의미

Level 5의 거의 모든 논문은 learned-vs-hand-crafted 스펙트럼 위의 한 점이며, 어떤 방법이 그 스펙트럼의 어디에 위치하는지를 아는 것은 그것이 어떤 문제를 풀고 어떤 대가를 요구하는지를 알려줍니다. 시스템을 설계할 때, 이러한 프레임은 “딥러닝을 써야 하는가?”라는 질문을 구체적인 엔지니어링 질문으로 바꿉니다: 어떤 모듈이 실패하고 있는가, 자신의 플랫폼에서 추론을 감당할 수 있는가, 그리고 기하학은 고전적 방식으로 유지되어야 하는가입니다.

관련 문서