C2TAM
Riazuelo 2014 · 논문
한 줄 요약 — C2TAM (Cloud framework for Cooperative Tracking And Mapping)은 클라우드 기반 협업 단안 SLAM을 개척하여, 번들 조정, 재위치추정, 장소 인식, 맵 융합을 서버로 오프로드하는 한편 각 로봇은 온보드에 경량 실시간 추적만 유지한다.
문제
협업 단안 SLAM은 각 로봇이 자신의 포즈를 추적하면서 동시에 일관된 전역 맵을 유지해야 하는데 — 맵 측 비용(특히 번들 조정)은 경량 임베디드 플랫폼이 감당할 수 있는 수준을 크게 초과한다. 클라우드 컴퓨팅은 명백한 분업을 제공하지만, 성패를 좌우하는 질문을 제기한다: SLAM 문제를 나누어, 강한 실시간 제약을 갖는 부분이 네트워크 지연에 영향받지 않도록 할 수 있는가? C2TAM의 답: 카메라 속도의 추적만이 지연에 민감하다; 매핑, 대규모 재위치추정, 장소 인식, 맵 융합은 두 루프가 분리되어 있다면 표준 무선 연결의 지연을 모두 견딜 수 있다.
방법 및 아키텍처
네트워크로 늘어난 PTAM의 분할. PTAM의 추적/매핑 스레드 분리를 확장하여, 추적 클라이언트는 로봇에서 로컬로 캐시된 맵의 사본에 대해 실행되고, 매핑 서비스는 클라우드에서 3D 점과 키프레임으로 구성된 개의 맵 을(각 ) 보유하며 실행된다. 각 점은 다중 스케일 패치 디스크립터를 가지고, 각 키프레임은 “미니 이미지” 전역 디스크립터를 가진다 — 프레임을 40×30으로 서브샘플링하고, 가우스 필터를 적용하고, 평균을 정규화한 것이다: .
클라우드 매핑 = 번들 조정. 서버는 모든 점 와 키프레임 에 대한 강인 재투영 오차를 최소화하여 최대 우도 맵을 계산한다:
여기서 는 투영 모델, 는 중앙값 기반 잡음 추정, 는 튜키 바이웨이트(biweight) 함수로, 인 잔차를 0으로 만들어 이상값을 거부한다.
클라이언트 추적. 프레임 단위로: (1) 등속 포즈 예측; (2) 가장 조대한 스케일의 점들로부터 조대한 포즈, ; (3) 모든 스케일의 모든 맵 점에 대해 재최소화된 정밀 포즈 . 맵 초기화는 PTAM의 수동 이동 의식을 클라이언트 상의 상호작용 다중 모델 필터로 대체하며, 시차가 충분해지면 처음 두 키프레임을 서버로 전송한다.
네트워크를 넘나드는 것. 트래커는 맵과 비교해 새로운 정보를 담고 있는 경우에만 새로운 원본 키프레임(640×480 RGB, 약 1 MB)을 업로드하며, 서버는 최적화된 3D 점을 스트리밍으로 돌려보낸다. 추적은 네트워크에 의해 결코 막히지 않는다: 캐시된(어쩌면 최적이 아닌) 맵으로 계속 실행되며 업데이트가 도착하는 대로 교체한다.
재위치추정, 장소 인식, 맵 융합 — 모두 클라우드 서비스. 추적 실패 후 재위치추정은 두 단계다: 미니 이미지 디스크립터 간 유클리드 거리로 가장 가까운 키프레임을 찾은 다음, 회전 보정 포즈 정련을 수행한다. 장소 인식은 새 사용자가 어느 맵에 있는지 인식하기 위해 저장된 모든 맵에 대해 동일한 탐색을 실행한다. 맵 융합은 새로 업로드된 의 키프레임이 의 키프레임과 매칭될 때 발동한다: 두 맵의 3D 점이 공통 키프레임에 투영되고, 대응 관계가 강체 변환을 주며, 맵이 합쳐지고 중복된 점이 삭제된다 — 이 모든 것이 클라이언트가 자신의 (최적이 아닐 수 있는) 맵으로 계속 추적하는 동안 서버 측에서 전적으로 일어난다.
실험 결과
모든 실험은 대학의 표준 WiFi로 640×480 RGB-D 카메라(SLAM에는 RGB만 사용, 깊이는 시각화용)를 사용해 실시간으로 실행되었다.
- 비용과 대역폭(4961프레임 시퀀스): 클라이언트 추적은 프레임당 약 10 ms로 유지된다 — 맵이 수천 개의 점으로 성장해도 일정하며, 33 ms 프레임 예산보다 훨씬 낮다(자동 초기화는 처음 20프레임 동안 프레임당 약 70 ms가 든다). 평균 대역폭은 측정된 1.45 MB/s 가용 링크 대비 약 1 MB/s이다. 키프레임 업로드(약 1 MB)는 약 1 s의 지연을 의미하고, 맵 다운로드는 100-200 ms이다 — 둘 다 1/30 s 프레임 주기를 훨씨 넘어서며, 이는 비동기 설계를 정당화한다.
- 다중 맵에서의 재위치추정: 저장된 세 개의 맵(데스크톱, 벽/책장, 병실)이 각각 실험실을 가로지르는 새 시퀀스에 의해 인식되고 확장된다 — 데스크톱 2662점/28키프레임 → 3313/47; 벽 2711/32 → 3987/58; 방 642/29 → 1624/58.
- 정확도: 테이프로 측정한 실측값과 맵 측정값은 밀리미터-센티미터 단위로 일치한다. 예를 들어 노트북 0.340 m 대 0.337 m, 침대 2.039 m 대 2.044 m, 벽 3.105 m 대 3.096 m.
- 맵 융합: 온라인 데스크톱-A 맵(112키프레임, 7925점)이 저장된 데스크톱-B 맵(42키프레임, 4098점)과 융합되었다. 융합 후 약 16 MB 다운로드는 약 5초가 걸렸으며 클라이언트 추적은 영향받지 않고 계속되었다.
- 협업 두 사용자 실험은 같은 방의 두 독립적인 맵이 겹치는 부분에서 융합되고, 이어서 두 트래커에 의해 공동으로 확장되는 것을 보여줬다.
SLAM에서의 의미
C2TAM은 SLAM을 위한 클라우드-로보틱스 분업을 확립했다 — 무거운 최적화는 클라우드에서, 카메라 속도 추적은 엣지에서 — 그리고 두 루프가 비동기적으로 분리되어 있을 때 실제 네트워크 지연이 실시간 시각 SLAM과 양립 가능함을 입증했다. 저장된 맵의 재위치추정과 서버 측 맵 융합은 클라우드 서비스로서의 맵 재사용을 예견했다(이는 RoboEarth 프로젝트에서 성장했다). C2TAM은 CCM-SLAM의 직접적인 개념적 조상이며, CCM-SLAM은 동일한 아키텍처를 ORB-SLAM 백본 위에서 훨씬 대역폭을 아끼는 프로토콜(C2TAM의 원본 키프레임 이미지 대신 키포인트와 디스크립터)로 재구축했다.