스케일 모호성
**스케일 모호성(scale ambiguity)**은 단안 SLAM의 근본적인 한계이다: 이미지만으로는 절대적인 미터 단위 스케일을 복원할 수 없다. 카메라 베이스라인 로 거리 에서 관측된 장면은, 임의의 양의 스칼라 에 대해 베이스라인 로 거리 에서 관측된 장면과 정확히 같은 이미지를 만들어낸다. 가까이서 촬영한 인형의 집과 멀리서 촬영한 실제 집은, 움직이는 단일 카메라에게는 기하학적으로 구별되지 않는다.
형식적으로, 단안 재구성은 유클리드 공간 이 아니라 유사 변환 공간 (회전 + 이동 + 스케일, 7 자유도)에 존재한다: 에피폴라 제약은 회전과 이동 방향을 고정하지만, 이동의 크기 — 그리고 이와 함께 지도 전체의 스케일 — 는 자유 매개변수로 남는다. 단안 시스템은 초기화 시점에 스케일을 임의로 정한다(예: 첫 베이스라인을 1로 정규화).
수식으로 확인하기
포즈 의 카메라에 세계 좌표 점 가 투영되는 경우를 생각해 보자:
이제 전체 세계 및 모든 카메라 이동을 만큼 스케일링한다: , . 그러면
가 되는데, 이는 투영적 등가성이 전체 배율 를 무시하기 때문이다. 모든 카메라의 모든 이미지 측정값이 변하지 않으므로, 어떤 광도적 또는 기하학적 이미지 비용도 두 재구성을 구별할 수 없다 — 우도(likelihood)는 스케일 방향을 따라 정확히 평탄하다. 이는 동시에 대칭성을 깨는 것이 정확히 무엇인지도 알려준다: 가 곱해지지 않는 물리적 단위를 가진 측정값이다. 가속도계 측정값(m/s²), 스테레오 베이스라인(m), 휠 인코더 거리(m), 깊이 측정값(m)은 모두 스케일링을 거부하며, 그 결과 평탄한 방향이 사라진다 — 이것이 아래에 나열된 모든 스케일 복원 기법을 한 줄로 설명해 준다.
같은 논리로 이 모호성이 정확히 한 차원임도 설명된다: 회전과 이동 방향은 에피폴라 기하로 고정되므로, 의 7 자유도 중 이미지가 결정하는 것은 상대적인 6 자유도이며, 남는 것은 뿐이다(여기에 더해 모든 SLAM 공식화가 갖는 임의의 전역 게이지 — 세계 원점을 어디에 두는가 — 가 있다).
알려지지 않은 전역 스케일보다 더 나쁜 것은 **스케일 드리프트(scale drift)**이다: 스케일이 관측 불가능하기 때문에, 작은 오차들이 궤적을 따라 추정 스케일을 서서히 흘러가게 만들어, 긴 단안 루프는 다른 스케일로 시작점에 돌아올 수 있다. 이것이 ORB-SLAM과 같은 단안 시스템이 에서 루프 클로저를 수행하는 이유이다 — 루프 보정은 포즈뿐 아니라 스케일도 고쳐야 한다.
실제로 스케일이 복원되는 방식:
- IMU 융합(VIO): 가속도계가 미터 단위의 가속도를 측정하므로, 충분한 운동이 있으면 스케일이 관측 가능해진다 — VINS-Mono, ORB-SLAM3 관성 모드, 그리고 모든 휴대폰/헤드셋 트래커가 사용하는 접근이다.
- 스테레오 또는 RGB-D: 알려진 베이스라인 또는 직접적인 깊이 측정이 구조상 스케일을 제공한다.
- 알려진 물체 크기 / 기하 사전 정보: 인식된 물체(CubeSLAM), 알려진 마커, 지면에 대한 카메라 높이(주행 상황에서 흔함).
- 학습된 깊이 사전 정보: 최신 미터 단위 단안 깊이 네트워크(예: Metric3D)와 미터 단위로 학습된 3D 파운데이션 모델(예: MASt3R)은 단일 이미지로부터 대략 미터 단위로 스케일된 기하를 예측하여, 단안 파이프라인에 근사적인 절대 스케일을 제공한다 — 학습된 사전 정보이며 기하학적 보장은 아니지만, 실전에서는 대체로 좋은 결과를 낸다.
평가와 함정에 대한 결과
단안 궤적에는 정의된 단위가 없으므로, 정답(ground truth)과 비교 평가하려면 스케일을 포함한 정렬을 추정해야 한다: 일반적으로 Umeyama의 닫힌 해 방법을 통한 (7 자유도) 정렬을 ATE 계산 전에 거친다. 벤치마크를 읽을 때 여기서 주의가 필요하다 — 7-DoF 정렬로 평가된 단안 시스템과 6-DoF 정렬로 평가된 스테레오/VIO 시스템은 서로 다른 기준으로 채점되고 있는 것이며, 하나의 전역 스케일 보정으로는 스케일 드리프트를 감출 수 없다 — 이것이 긴 야외 단안 시퀀스(KITTI)가 순수 단안 방법을 그토록 눈에 띄게 벌하는 이유다.
주의해야 할 함정들:
- 순수 회전은 스케일을 주지 않는다 — 삼각측량 자체도 되지 않는다: 베이스라인이 0이면 시차(parallax)가 없다; 단안 초기화는 회전만 있는 운동에서는 실패하거나 퇴화하며, 이것이 초기화 모듈이 충분한 시차를 기다리는(또는 호모그래피 케이스를 별도로 모델링하는) 이유다.
- 등속 운동은 VIO 스케일도 속인다: 스케일은 비영(non-zero) 가속도 하에서만 가속도계를 통해 관측 가능해진다; 일정한 속도로 순항하는 드론(또는 정속 주행 중인 자동차)은 아무런 여기(excitation)를 제공하지 않으며, VIO 스케일은 다음 가속이 있을 때까지 드리프트할 수 있다.
- 최적화에서의 스케일 붕괴: 단안 BA는 스케일을 따라 평탄한 방향을 가진다; 게이지 고정(포즈 쌍 거리를 고정하거나 사전 정보를 추가)이 없으면, 수치적 드리프트가 최적화 실행 사이에 지도 전체를 축소시키거나 확대시킬 수 있다.
- 병합 후 혼합 스케일 지도: 두 단안 서브맵(다중 세션 또는 다중 로봇)을 병합하려면 가 아니라 상대적인 를 추정해야 한다 — 고정된 스케일로 병합하면 한쪽 지도가 조용히 다른 쪽에 맞춰 변형된다.
- 학습된 미터 단위 깊이는 사전 정보이지 센서가 아니다: 미터 단위 깊이 네트워크는 (익숙하지 않은 초점 거리나 장면 유형에서) 체계적으로 어긋날 수 있다; 그 스케일은 넉넉한 불확실성을 가진 측정값으로 다루어야 하며, 정답으로 취급해서는 안 된다.
SLAM에서의 의미
스케일 모호성은 시스템 설계를 좌우한다: 이것이 바로 휴대폰과 헤드셋이 IMU를 추가하고, 자동차가 스테레오/LiDAR를 추가하며, 단안 논문들이 정답과의 스케일 정렬을 거친 후에만 궤적 오차를 보고하는 이유이다. 어떤 측정이 스케일을 관측 가능하게 만드는지, 그리고 스케일 드리프트가 긴 궤적을 어떻게 훼손하는지를 이해하는 것은 어떤 단안 또는 시각-관성 SLAM 논문을 읽는 데에도 필수적이다.