DeepFusion

Laidlow 2019 · 논문

한 줄 요약 — SLAM 시스템에서 얻은 반밀집 (semi-dense) 다중 뷰 스테레오 깊이와 CNN이 예측한 로그 깊이 및 로그 깊이 기울기를, 학습된 불확실성으로 가중하여 확률적으로 융합하는 밀집 단안 재구성 시스템.

문제

키포인트 기반 단안 SLAM 지도는 카메라 추적에는 좋지만 많은 로보틱스 작업에는 너무 희소합니다. 깊이 카메라는 “범위가 제한적이고 실내 공간에 한정”됩니다. 그리고 프레임 간 광도 오차를 최소화하여 이루어지는 밀집 재구성은 “일반적으로 제약이 부족하고 스케일 모호성을 겪습니다.” DeepFusion은 바로 이 간극을 목표로 합니다: CNN 예측을 (불확실성이 있는) 또 하나의 측정 소스로 취급함으로써, RGB 이미지와 단안 SLAM 시스템의 스케일 모호한 포즈로부터 완전히 밀집된 미터 단위 스케일의 키프레임 깊이 지도를 생성하는 실시간 GPU 시스템입니다.

방법 및 아키텍처

DeepFusion은 기하학을 일련의 키프레임 깊이 지도로 표현합니다. 새 프레임마다 ORB-SLAM2로부터 포즈를 얻습니다. 그런 다음 반밀집 다중 뷰 스테레오 모듈이, 다섯 개의 점에 대한 SSD 광도 오차를 최소화하는 에피폴라 선 탐색을 통해 활성 키프레임의 고질감 픽셀에 대한 깊이를 갱신하며, 픽셀별 불확실성 σi2=(JTJ)1\sigma_i^2=(\mathbf{J}^T\mathbf{J})^{-1}는 유한 차분 야코비안으로부터 계산됩니다. 카메라가 λtrans\lambda_{trans} 이상 이동하거나 반밀집 추정의 내점 (inlier) 수가 λinliers\lambda_{inliers} 미만이 되면 새 키프레임이 생성됩니다.

키프레임마다 한 번씩, U-Net 스타일의 CNN(공유 인코더, 네 개의 디코더, 256×192 해상도, SceneNet RGB-D로 학습)이 로그 깊이, x와 y 방향의 로그 깊이 기울기, 그리고 각각에 대한 불확실성을 예측하며, 다음의 최대 우도 손실을 사용합니다.

LNN(θ)=i(yifθ,i(x))2σθ,i(x)2+log(σθ,i(x)2),\mathcal{L}_{\mathrm{NN}}(\theta)=\sum_{i}\frac{(y_{i}-f_{\theta,i}(\mathbf{x}))^{2}}{\sigma_{\theta,i}(\mathbf{x})^{2}}+\log(\sigma_{\theta,i}(\mathbf{x})^{2}),

여기서 fθ,if_{\theta,i}σθ,i2\sigma_{\theta,i}^2는 픽셀 ii에 대해 예측된 평균과 분산입니다. 로그 깊이를 사용하는 이유는 두 로그 깊이의 차이가 깊이 비율이 되어 스케일 불변이기 때문입니다. 예측값은 학습 시 초점 거리로 정규화되고, 테스트 시 카메라의 초점 거리로 다시 스케일됩니다.

새 프레임이 들어올 때마다, 키프레임의 밀집 로그 깊이 지도 d\mathbf{d}와 스케일 보정 인자 ss는 다음을 최소화하여 재최적화됩니다.

c(d,s)=csemi(d,s)+cnet(d)+cgrad(d),c(\mathbf{d},s)=c_{\mathrm{semi}}(\mathbf{d},s)+c_{\mathrm{net}}(\mathbf{d})+c_{\mathrm{grad}}(\mathbf{d}),

이는 세 개의 불확실성 가중 이차항으로 구성됩니다(각각 Huber 손실로 강건화됨):

이 시스템은 Opt 프레임워크로 컴파일된 GPU 커널로서, 프레임당 10회의 가우스-뉴턴 반복(깊이와 스케일을 번갈아 수행)을 실행합니다. 따라서 비용이 큰 네트워크 순전파는 키프레임당 한 번만 상환되고, 기하학은 지속적으로 정제됩니다.

실험 결과

CNN-SLAM의 프로토콜 — ICL-NUIM(합성)과 TUM RGB-D(실제)에서 추정 깊이 중 정답의 10% 이내에 있는 비율 — 을 따르면, DeepFusion은 평균 22.466을 기록한 반면 CNN-SLAM은 22.464, LSD-SLAM(부트스트랩)은 3.032, REMODE는 7.649, Laina et al.은 18.452, ORB-SLAM은 0.029입니다. ICL-NUIM 6개 시퀀스 중 4개에서 최고 성능을 보이며(예: office1: 37.420 vs CNN-SLAM 29.150), TUM 3개 시퀀스 중 2개에서는 CNN-SLAM이 우승합니다 — 이는 학습 데이터에 기인한 것으로 보입니다: DeepFusion의 SceneNet(합성) 대 CNN-SLAM의 Kinect로 촬영된 NYUv2. Ablation 연구에서는 전체 공식이 9개 시퀀스 중 7개에서 최소 제곱 스케일 정렬을 능가하며, 쌍별 기울기 제약은 9개 시퀀스 중 7개에서 도움이 됩니다. 타이밍(i7-5820K + GTX 980): 반밀집 갱신 16 ms, 최적화 33 ms, 네트워크 평균 45 ms — 키프레임당 추론으로 실시간 동작을 달성합니다.

SLAM에서의 의미

DeepFusion은 고전적인 다중 뷰 기하학과 학습된 단일 이미지 단서(CNN-SLAM, DVSO, D3VO)를 결합하여 단안 밀집 재구성을 실용적으로 만드는 시스템들의 계보에 속합니다. 네트워크 깊이 깊이-기울기 출력을, 정답이 아니라 학습된 신뢰도를 가진 잡음 있는 측정치로 취급하여 하나의 확률적 최적화 안에서 융합한다는 불확실성 인식 융합에 대한 강조는, 이후 학습-기하학 결합형 밀집 SLAM 시스템에서 반복적으로 나타나는 설계 원칙이 되었습니다.

관련 문서