Kintinuous
Whelan 2012 · 논문
한 줄 요약 — 지속적으로 이동하는(순환 버퍼 방식의) TSDF 볼륨으로 KinectFusion을 무제한 환경으로 확장하고, 이탈하는 표면 조각들을 점진적으로 구축되는 삼각 메시로 스트리밍하며, 초기 루프 클로저 메커니즘(DBoW+SURF, iSAM)을 함께 도입했는데 이는 이후 변형 기반 맵 보정으로 성숙했습니다.
문제
KinectFusion의 고정 크기 TSDF 볼륨은 책상이나 작은 방보다 큰 환경을 표현할 수 없습니다 — 카메라가 볼륨 경계를 벗어나는 순간 추적이 실패합니다. 그 ICP 오도메트리 역시 3D 형상 정보가 부족한 영역(예: 직선 복도)에서 실패합니다. 대규모 실내외 매핑을 위해서는 재건을 실시간으로 무한정 확장하면서도, 누적된 드리프트를 보정할 수 있는 경로를 열어 두는 것이 필요합니다.
방법 및 아키텍처
롤링(순환) TSDF 볼륨. TSDF(복셀 크기 , 차원 미터, 복셀 한 변 )는 더 이상 시작 위치에 고정되지 않습니다. 시스템은 볼륨 원점으로부터 카메라 거리를 계속 확인하며, 이동 임계값 를 초과하면 볼륨을 가상으로 이동시켜 카메라를 다시 중앙에 놓습니다. 이 이동은 온전한 복셀 단위로 양자화됩니다. 카메라 이동량 에 대해
여기서 은 볼륨 내부에서의 새 카메라 위치이고, 는 복셀 단위로 볼륨의 전역 위치를 추적합니다. 메모리 내에서 복셀이 실제로 이동하는 일은 없습니다: 3D 배열은 순환하는 것으로 취급되며, 조회는 형태로(도 동일) 재매핑되므로, 재중앙화는 기준 인덱스 오프셋만 갱신하면 됩니다.
조각 추출 및 메싱. 볼륨을 벗어나는 복셀 조각은 각 축을 따라 직교 레이캐스팅되어 영교차 정점을 추출하고, 복셀 그리드 필터(리프 크기 )로 중복을 제거하고, 재사용을 위해 초기화된 뒤 CPU로 스트리밍됩니다. 경계를 넘을 때마다 포즈 그래프 요소 가 추가되어 포즈와 그에 연관된 표면 조각 를 저장하며, (2복셀 겹침으로 추출된) 조각들은 탐욕적 삼각화 알고리즘에 입력되어 시스템 메모리에만 제한되는 매끄러운 메시를 생성합니다.
멀티스레드 아키텍처. 계층적 설계로 GPU 프론트엔드가 막히지 않도록 합니다: TSDF 추적/통합 스레드가 CloudSliceProcessor 스레드(변환 + 다운샘플링)에 신호를 보내고, 이 스레드는 다시 ComponentThreads 풀(메시 생성, 장소 인식 등)에 신호를 보내므로, 맵 후처리가 30,Hz 추적을 결코 멈추게 하지 않습니다.
오도메트리 대안과 루프 클로저. 기하학적으로 퇴화된 장면에서도 견디기 위해, ICP 오도메트리를 특징 기반 FOVIS 시각 오도메트리로 대체할 수 있습니다 — 지역 메시의 매끄러움을 다소 희생하는 대신 복도에서의 강건성을 얻습니다. 루프 클로저를 위해 논문은 SURF 특징을 사용하는 DBoW 장소 인식을 하나의 ComponentThread로 통합하여, 감지된 포즈 제약을 저장된 벡터를 통해 TSDF 가상 프레임으로 전파하며, iSAM 포즈 그래프 최적화를 실험하면서 포즈 갱신과 함께 메시 변형이 필요함을 관찰합니다. 성숙한 Kintinuous 계열은 정확히 이를 임베디드 변형 그래프로 구현하여, 각 메시 정점을 인접 그래프 노드와 함께 이동시킵니다: . 이렇게 하면 밀도 맵은 재구축되지 않고 일관성을 향해 구부러집니다.
실험 결과
Intel i7-2600(3.4,GHz), 8,GB RAM, GTX 560 Ti(2,GB)를 갖춘 데스크톱에서 와 초당 15프레임의 핸드헬드/차량 Kinect 촬영으로 네 개의 데이터셋을 실시간으로 매핑했습니다: 연구실(LAB, 포즈 대 포즈 오도메트리 31.07,m, 6,m 볼륨), 아파트 두 층(APT, 42.31,m), 야간에 차 안에서 촬영한 교외 부지(CAR, 136.18,m, 20,m 볼륨, 81.6 x 22.8 x 81.5,m 경계 육면체), 그리고 직선 복도(CORR, 56.08,m, FOVIS 사용). 최종 메시는 150만310만 삼각형(63118,MB)에 이릅니다. TSDF 업데이트 시간 33.841.3,ms는 프론트엔드가 맵이 커져도 영향받지 않고 Kinect의 전체 30,FPS를 유지할 수 있음을 보여줍니다. CloudSliceProcessor는 조각당 2.64.7,ms만 추가하며, 메시 생성도 평균적으로 이를 따라갑니다. FOVIS 오도메트리는 프레임당 14.71 ± 4.39,ms가 드는 반면 CUDA ICP는 10.54 ± 0.21,ms입니다 — 더 느리지만 여전히 실시간이며, 복도에서 드리프트를 줄여주는 대신 지역 메시의 매끄러움을 희생합니다(프레임-대-프레임 대 프레임-대-모델).
SLAM에서의 의미
Kintinuous는 밀도 체적 융합을 단일 고정 볼륨에서 꺼내어 복도, 아파트, 거리로 확장한 최초의 시스템이었으며, 밀도 RGB-D SLAM이 데스크톱 스캐닝 데모가 아니라 진정한 대규모 매핑 도구가 될 수 있음을 보여주었습니다. 순환 버퍼 방식의 롤링 볼륨은 이후 시스템들에 채택되고 개선되었으며(InfiniTAM의 복셀 해싱은 같은 확장성 문제를 다른 방식으로 해결합니다), 그 루프 클로저 실험 — 포즈 그래프와 메시 변형 — 은 같은 주 저자의 직계 후속작인 ElasticFusion의 핵심 메커니즘이 되었습니다.