DS-SLAM
Yu 2018 · 논문
한 줄 요약 — SegNet 의미론적 분할과 광학 흐름/에피폴라 이동 일관성 검사를 결합하여 이동 물체를 배제하는 동적 환경용 의미론적 Visual SLAM으로, ORB-SLAM2 위에 구축되며 밀집 의미론적 옥트리 지도를 생성합니다.
문제
수십 년간의 발전에도 불구하고, 이동 로봇 SLAM에서 두 가지 문제는 여전히 제대로 풀리지 않았습니다: “동적 환경에서 이동 물체를 어떻게 다룰 것인가”와 “로봇이 주변 환경을 진정으로 이해하고 고급 작업을 수행할 수 있게 하는 방법.” 장면을 걸어 지나가는 사람은 포즈 추정을 훼손시킵니다(그들의 특징점이 정적 세계 가정을 위반하기 때문). 그리고 순수하게 기하학적인 지도는 고수준 작업을 위한 의미론적 정보를 전혀 제공하지 않습니다. DS-SLAM은 둘 다를 다룹니다: 동적 장면에서의 강건한 지역화, 그리고 내비게이션 및 그 이상에 사용 가능한 의미론적 지도입니다.
방법 및 아키텍처
- 다섯 개의 병렬 스레드: 추적, 의미론적 분할, 지역 매핑, 루프 클로징, 밀집 의미론적 지도 생성이며, 지역 매핑과 루프 클로징은 변경되지 않은 ORB-SLAM2입니다. 각 RGB 프레임은 추적과 분할로 동시에 전달됩니다 — 추적 스레드가 SegNet 결과를 기다리는 동안 이동 일관성 검사를 실행하므로, 두 스레드는 거의 같은 시점에 완료됩니다.
- 의미론적 분할: PASCAL VOC(20개 클래스)로 학습된 실시간 SegNet(Caffe)이며, 사람이 전형적인 동적 클래스로 취급되지만 이 방식은 분할된 모든 이동 가능 범주에 적용됩니다.
- 이동 일관성 검사: 광학 흐름 피라미드가 특징점을 현재 프레임으로 매칭시킵니다(이미지 경계 근처이거나 3×3 블록 외관 차이가 큰 매칭은 폐기됩니다). RANSAC이 기초 행렬 를 추정합니다. 매칭된 동차 점 , 에 대해, 현재 프레임의 에피폴라 선은 이며, 점이 이동한 것으로 선언되는 조건은 그 선까지의 거리
가 미리 설정된 임계값 을 초과하는 경우입니다.
- 이상치 제거 — 의미론과 기하학의 결합: 동적 영역 전체의 윤곽을 기하학적으로 추출하는 것은 비용이 크고 취약하므로, 두 신호가 이단계 판정을 형성합니다: 이동 일관성 점 중 충분한 수가 분할된 물체의 윤곽 안에 들어가면, 그 물체는 이동 중인 것으로 판정되고, 그 윤곽 내의 모든 ORB 특징이 포즈 추정 전에 제거됩니다. 사람이 감지되지 않거나 감지된 사람이 정지 상태이면, 모든 특징이 사용됩니다 — 정지해 있는 “동적” 클래스가 낭비적으로 폐기되지 않습니다.
- 밀집 의미론적 3D 옥트리 지도: 키프레임 포즈 + 깊이 이미지가 지역 점 구름을 구축하고, 이는 전역 옥트리로 융합되며 각 복셀은 의미론적 레이블로 색칠됩니다. 점유 (occupancy)는 로그-오즈 점수 로 확률적으로 융합되며, 관측마다 다음과 같이 갱신됩니다.
여기서 시점 에 복셀 이 점유된 것으로 관측되면 이고, 그렇지 않으면 0입니다. 확률이 임계값을 초과하는 복셀만 유지되므로, 일시적인(동적) 복셀은 지도 안에서 결코 안정화되지 않습니다.
실험 결과
- TUM RGB-D (RGB-D ORB-SLAM2 대비; Intel i7, P4000 GPU): 고동적 시퀀스에서 ATE RMSE가 한 자릿수 규모로 감소합니다 — fr3_walking_xyz 0.7521 → 0.0247 m (96.71%), fr3_walking_static 0.3900 → 0.0081 m (97.91%), fr3_walking_half 0.4863 → 0.0303 m (93.76%), fr3_walking_rpy 0.8705 → 0.4442 m (48.97%). 개선치는 최대 97.91%(RMSE)와 97.94%(S.D.)에 달합니다.
- 드리프트 (RPE): walking_xyz에서 병진 드리프트 RMSE가 0.4124 → 0.0333으로, 회전 드리프트가 7.7432 → 0.8266으로 감소합니다; 저동적 시퀀스인 fr3_sitting_static에서는 개선치가 작습니다(ATE 25.94%), ORB-SLAM2가 이미 이를 잘 처리하기 때문입니다.
- 타이밍: 추적 스레드에서 ORB 추출 9.4 ms + 이동 일관성 검사 29.5 ms가 37.6 ms의 SegNet과 오버랩됩니다; 옥트리 매핑을 포함한 전체 파이프라인은 프레임당 평균 ~59.4 ms — 이전의 동적 필터링 방법들과 달리 거의 실시간입니다.
- 실제 로봇: Kinect V2(960×540)를 장착한 TurtleBot2에서 ROS와 통합되었습니다. 로그-오즈 필터링은 걸어다니는 사람에 영향받지 않는 옥트리 재구성과 내비게이션용 2D 코스트 맵을 산출합니다.
SLAM에서의 의미
고전적 SLAM은 정적인 세계를 가정하며, 장면을 걸어 지나가는 사람은 추적을 심하게 훼손할 수 있습니다 — TUM RGB-D 동적 시퀀스가 정확히 이 문제를 드러내기 위해 존재합니다. DS-SLAM은 DynaSLAM과 동시대의 것으로, 이에 대한 대표적인 해답 중 하나입니다: ORB-SLAM2 백본 안에 분할 네트워크와 기하학적 일관성 검사를 융합하는 것입니다. DS-SLAM이 확립하는 데 기여한 “의미론적 사전 정보 + 모션 검사” 방식은 동적 환경 SLAM의 표준 베이스라인 설계로 남아 있으며, 그 의미론적 옥트리 출력은 단순한 지역화가 아닌 고수준 작업을 위해 구축되는 지도를 예고했습니다.