레인지 이미지 (Range image)
레인지 이미지란 3D LiDAR 스윕의 2D 투영이다. 회전형 LiDAR의 경우 자연스러운 투영은 원통형이다: 각 열은 방위각에 대응하고 각 행은 레이저 링(고도각)에 대응하며, 각 픽셀은 측정된 깊이를—흔히 강도와 링 인덱스와 함께—저장한다. 방위각 와 고도각 를 가진 포인트는 다음과 같이 매핑된다
이미지에 대해. 이것이 성립하는 이유는 회전형 LiDAR가 본질적으로 회전하는 1D 센서 배열이기 때문이다—레인지 이미지는 순서 없는 포인트 리스트로 평탄화된 센서의 고유한 2D 구조를 그대로 복원할 뿐이다. 구체적으로, 64빔 센서는 개 행을 제공하며, 수평 해상도는 방위각 스텝에서 따라온다(각도 스텝이 이면 개 열이 된다).
이 표현이 유용한 이유
-
저비용 이웃 탐색: 한 포인트의 이웃은 인접한 픽셀에 위치하므로, 3D 최근접 이웃 검색 없이도 인접 픽셀로부터 법선과 로컬 곡률을 추정할 수 있다.
-
투영적 데이터 연관: SuMa는 현재 포즈 추정값으로부터 서펠 맵을 합성 레인지 이미지 로 렌더링한다; 픽셀 에서의 스캔 포인트는 같은 픽셀에서 렌더링된 서펠에 매칭되고, 포즈는 포인트-투-평면 목적함수로 정밀화된다
픽셀 대 픽셀 조회가 k-d 트리 검색을 대신한다—훨씬 더 빠르고, 렌더링 자체가 연관 단계이므로 GPU에 친화적이다.
-
LiDAR에 대한 2D 딥러닝: RangeNet++는 실시간 시맨틱 분할을 위해 레인지 이미지에서 인코더-디코더 CNN을 실행한다. SuMa++는 이러한 픽셀별 레이블을 사용해 등록에서 동적 객체를 필터링한다—자동차, 사람, 자전거로 레이블된 포인트는 단순히 ICP 대응 집합에서 제외된다, —그리고 레이블이 일치하는 대응에 가중치를 부여한다.
-
컴팩트함: 전체 스윕이 밀집 이미지가 되어, 압축, 가시성 검사, 가려짐 추론에 편리하다—어떤 포즈에서 맵을 렌더링하면 그곳에서 무엇이 보여야 하는지가 즉시 드러난다.
흔한 함정
- 양자화 충돌: 여러 3D 포인트가 하나의 픽셀에 떨어질 수 있으며(가장 가까운 것을 유지), 각도 해상도는 같은 픽셀이 거리에 따라 점점 넓어지는 물리적 영역을 덮는다는 것을 의미한다—센서로부터 멀어질수록 이웃 기반 법선이 노이즈가 심해진다.
- 행의 기하는 하드웨어이며 수학이 아니다: 실제 회전형 LiDAR는 빔 고도각이 균일하지 않게 배치되어 있으므로, 센서의 링 인덱스로 행을 인덱싱하는 것이 위의 에 선형인 공식보다 더 정확하다.
- 스윕당 하나의 시점: 이 투영은 모든 포인트가 단일 포즈에서 캡처되었다고 가정한다; 스윕 중의 모션은 투영 전에 보정(디스큐잉)되어야 하며, 그렇지 않으면 이미지가 뭉개진다.
- 솔리드 스테이트 LiDAR는 이 모델을 깨뜨린다: (Livox 스타일 같은) 불규칙하고 반복되지 않는 스캔 패턴은 이미지 그리드에 깔끔하게 매핑되지 않는다—이러한 센서가 확산되면서 직접 포인트 클라우드 방법(FAST-LIO2 계열)이 그 자리를 대체한 이유 중 하나다.
SLAM에서의 의미
레인지 이미지는 LiDAR 처리와 성숙한 이미지 처리 및 CNN 툴박스를 잇는 다리다. LiDAR SLAM의 한 갈래 전체—SuMa의 투영 ICP, SuMa++의 시맨틱 필터링, 레인지 뷰에서 동작하는 학습된 디스크립터와 루프 클로저 네트워크—가 여기에 의존한다. 어떤 방법이 원시 포인트 클라우드(LOAM, FAST-LIO2)에서 동작하는지 레인지 이미지(SuMa 계열)에서 동작하는지를 아는 것은 그 속도 특성, 하드웨어 요구 사항, 센서 가정에 대해 많은 것을 알려준다.