RGBD-SLAM-V2

Endres 2013 · 논문

한 줄 요약 — 3D로 역투영한 시각 특징, 빔 기반 변환 검증 모델, g2o 포즈 그래프 최적화, OctoMap 출력을 사용하는 완전한 그래프 기반 RGB-D SLAM 시스템(“3-D Mapping With an RGB-D Camera”, T-RO 2014)으로, TUM RGB-D 벤치마크에서 철저하게 평가되었다.

문제

초기 RGB-D SLAM 접근법들은 표준화되고 모듈화된 파이프라인과 재현 가능한 평가 방식을 갖추지 못했다. 그뿐만 아니라 특징 기반 RANSAC과 ICP 모두 신뢰할 수 있는 실패 탐지가 부족하다: 인라이어 수가 적다는 것은 단순히 겹침이 적다는 의미일 수도 있고, 반복적인 인공 구조물(동일한 의자, 벽지)은 자신 있게 잘못된 변환을 만들어낼 수도 있다. 커뮤니티는 색상 특징과 밀집 깊이를 원칙적인 그래프 백엔드에서 결합한 견고한 오픈 베이스라인과, 정확도에 실제로 중요한 요인들을 규명하는 엄격한 벤치마크 기반 특성 분석을 필요로 했다.

방법 및 아키텍처

시스템은 프론트엔드/백엔드/맵 표현이라는 고전적인 삼분할 구조로 나뉜다.

프론트엔드: 특징과 깊이로부터의 자기 운동. 키포인트는 RGB 이미지에서 추출되며(GPU를 이용한 SIFT, SURF, 또는 ORB; SURF의 경우 디스크립터 dR64\mathbf{d} \in \mathbb{R}^{64}), 깊이 이미지를 통해 3D로 위치가 정해진다. 매칭에는 Lowe의 최근접/차근접 비율 테스트를 사용한다(ORB의 경우 해밍 거리; SIFT/SURF의 경우 유클리드 거리 또는 더 나은 성능을 보이는 Hellinger 거리). 두 프레임 간 상대 변환은 RANSAC으로 추정된다: 세 개의 3D-3D 대응점으로 초기 추정치를 만들고, 인라이어는 마할라노비스 거리로 계산하며, 감소하는 인라이어 임계값을 사용하는 폐형(closed-form) 최소자승 해로 추정치를 재귀적으로 정제한다.

환경 측정 모델(EMM). 후보 변환을 그 추정 방식과 독립적으로 검증하기 위해, 한 프레임의 깊이 점들을 다른 프레임으로 투영한다; 각 깊이 픽셀은 암묵적으로 하나의 *빔(beam)*을 정의하며, 관측된 자유 공간의 점들은 이 빔을 존중해야 한다. 공통 표면 점에 대한 두 측정값을 센서 잡음 공분산 Σi,Σj\Sigma_i, \Sigma_j로 모델링하면, 논문은 다음을 유도한다.

p(yiyj)=N(yi;yj,Σij),Σij=Σi+Σjp(\mathbf{y}_i \mid \mathbf{y}_j) = \mathcal{N}(\mathbf{y}_i;\, \mathbf{y}_j,\, \Sigma_{ij}), \qquad \Sigma_{ij} = \Sigma_i + \Sigma_j

3시그마 이내의 점은 인라이어로 간주하고, 대응되는 빔보다 훨씬 뒤쪽에 투영된 점은 “가려짐(occluded)“으로 무시하며, 관측된 자유 공간에 놓이는 점은 이상치로 처리한다. 변환은 품질 q=I/(I+O)q = I/(I+O)(인라이어를 인라이어와 이상치의 합으로 나눈 값)가 임계값을 넘고 인라이어가 관측된 점의 최소 25%를 차지하지 않으면 기각된다 — 이는 취약한 결합 χ3N2\chi^2_{3N} 검정 대신 점 단위로 이루어지는 견고한 가설 검정이다.

루프 클로저 탐색. 쌍별 매칭을 위한 후보 프레임은 (i) nn개의 직전 선행 프레임, (ii) 제한된 깊이의 스패닝 트리를 통해 이전 프레임의 측지(그래프) 인접 영역에서 샘플링한 kk개의 프레임 — 발견된 루프 클로저가 더 많은 탐색을 이끌도록 함 — 그리고 (iii) 큰 루프를 위해 지정된 키프레임에서 샘플링한 ll개의 프레임을 결합한 것이다.

백엔드: g2o를 이용한 포즈 그래프 최적화. 정보 행렬 Ωij\Omega_{ij}를 갖는 검증된 변환 zijz_{ij}들이 센서 포즈 X\mathbf{X}에 대한 포즈 그래프의 엣지를 형성하며, 다음을 최소화하여 최적화된다.

F(X)=i,jCe(xi,xj,zij)Ωije(xi,xj,zij)F(\mathbf{X}) = \sum_{\langle i,j\rangle \in \mathcal{C}} e(\mathbf{x}_i, \mathbf{x}_j, z_{ij})^{\top}\, \Omega_{ij}\, e(\mathbf{x}_i, \mathbf{x}_j, z_{ij})

최적화 후 마할라노비스 불일치가 너무 큰 엣지는 가지치기된다 — 반복적 구조로부터 생긴 허위 루프 클로저에 대한 두 번째 견고성 레이어다.

맵: OctoMap. 최적화된 궤적은 포인트 클라우드를 확률적 옥트리 점유 맵으로 투영하며, 이는 자유 공간과 미지 공간을 명시적으로 표현하고(테스트 시퀀스의 2 cm 해상도 맵은 4.2–25 MB에 불과) 원시 포인트 클라우드와 달리 내비게이션에 직접 사용 가능하다.

실험 결과

저자들이 함께 만든 TUM RGB-D 벤치마크에서 ATE로 평가한다: ATERMSE=1nitrans(x^i)trans(xi)2\mathrm{ATE}_{\mathrm{RMSE}} = \sqrt{\tfrac{1}{n}\sum_i \|\mathrm{trans}(\hat{\mathbf{x}}_i) - \mathrm{trans}(\mathbf{x}_i)\|^2}. 주요 수치(Intel i7 3.4 GHz + GTX 570): fr1/desk에서 0.026 m의 ATE RMSE(15.2 Hz), fr1/room에서 0.087 m, fr2/desk에서 0.057 m, fr2/large_no_loop에서 0.86 m, 229 m MIT Stata Center 시퀀스에서 1.65 m — fr2/large_no_loop를 제외한 모든 시퀀스에서 기존에 발표된 최고 결과보다 우수하다. 특징 비교 연구: GPU-SIFT가 가장 정확하며(fr1 시퀀스들의 중간값 RMSE 0.04 m, 프레임당 약 600–700개 특징으로 충분), ORB와 Shi-Tomasi+SURF는 빠르지만 평균 오차 약 15 cm로 온화한 시나리오에만 적합하다; Hellinger 거리는 일부 데이터셋에서 실행 시간 비용 없이 매칭 성능을 최대 25.8% 향상시켰다. 도전적인 “Robot SLAM” Pioneer 시퀀스에서는 측지 인접 영역 샘플링이 평균 오차를 26% 줄였고, EMM(평균 평가 시간 0.82 ms)과 엣지 가지치기는 오차를 크게 줄였으며 둘을 함께 사용할 때 최고의 결과를 얻었다. 시스템은 완전히 오픈소스다.

SLAM에서의 의미

RGBD-SLAM-V2는 KinectFusion이 시작한 밀집 GPU 융합 계열과 대비되는, RGB-D SLAM의 표준 베이스라인으로서 특징 기반 프론트엔드 + 포즈 그래프 백엔드 파이프라인을 확립했으며, EMM은 밀집 깊이를 사용하는 원칙적이고 추정기 독립적인 실패 탐지를 도입했다. 그 영향력은 TUM RGB-D 벤치마크와 ATE/RPE 평가 도구를 통해 오히려 더 크게 나타났다고 볼 수 있는데, 이는 이후 거의 모든 SLAM 논문이 보고하는 지표가 되었다. 이 시스템은 여전히 완전한 고전적 SLAM 시스템의 매우 읽기 좋은 참조 구현으로 남아 있다.

관련 문서