MaskFusion

Rünz 2018 · 논문

한 줄 요약 — 세계를 하나의 강체 장면으로 취급하는 대신, 여러 개의 움직이는 객체를 개별적인 의미론적 서펠 모델로 인식·분할·추적·재구성하는 실시간 RGB-D SLAM 시스템.

문제

전통적인 SLAM 시스템은 “정적 장면의 순수한 기하 지도만을 출력한다”: 움직이는 모든 것은 무시해야 할 이상값으로 취급되며, 맵은 그 안에 어떤 객체가 있는지에 대해 아무것도 말해주지 않는다. 초기의 인식 기반 SLAM(예: SLAM++)은 객체를 추적할 수 있었지만 사전 스캔된 3D 모델이 있는 객체에 한정되었고, 의미론적 기능이 있는 밀도 SLAM(SemanticFusion)은 맵 포인트에 고정된 카테고리 레이블을 부여했을 뿐 인스턴스를 구분하지 못했다. MaskFusion은 이 조합을 목표로 한다: 객체 인식적이고, 의미론적이며, 동시에 동적인 SLAM — 알려진 모델 없이 여러 개의 독립적으로 움직이는 객체를 실시간으로 인식, 분할, 재구성하는 것이다.

방법 및 아키텍처

MaskFusion은 다중 모델 SLAM 시스템이다: 배경 모델 하나와, 인식된 각 객체마다 서펠 모델 Mm\mathcal{M}_m, m{0..N}m \in \{0..N\}을 유지한다(ElasticFusion의 표현 방식 — 각 서펠은 위치, 법선, 색상, 가중치, 반지름, 타임스탬프를 저장한다). 각 모델은 강체 포즈 Rtm,ttm\mathbf{R}_{tm}, \mathbf{t}_{tm}와 정적/동적 플래그를 가지며, 정적이 아닌 객체만 별도로 추적된다(운동 불일치가 감지되거나 사람이 물체를 만졌을 때 객체는 동적으로 선언된다). 프레임마다 세 단계가 실행된다.

추적. 각 추적 모델의 포즈 증분 ξmse(3)\xi_m \in \mathfrak{se}(3)은 이전 포즈에서 렌더링된 모델에 대한 결합 기하-광도 에너지를 최소화한다.

Em=minξm(Emicp+λEmrgb)E_m = \min_{\xi_m}\,(E^{icp}_m + \lambda E^{rgb}_m)

여기에는 투영적 점-대-평면 ICP 항과 밝기 불변성 항이 포함된다.

Emicp=i((viexp(ξm)vti)ni)2,Emrgb=uΩ(It(u)It1a(π(exp(ξm)π1(u,Dt))))2,E^{icp}_m = \sum_i \left((\mathbf{v}^i - \exp(\xi_m)\,\mathbf{v}^i_t)\cdot\mathbf{n}^i\right)^2, \qquad E^{rgb}_m = \sum_{\mathbf{u}\in\Omega}\left(\mathcal{I}_t(\mathbf{u}) - \mathcal{I}^a_{t-1}\big(\pi(\exp(\xi_m)\,\pi^{-1}(\mathbf{u},\mathcal{D}_t))\big)\right)^2,

여기서 vi,ni\mathbf{v}^i,\mathbf{n}^i는 렌더링된 모델의 정점/법선, vti\mathbf{v}^i_t는 역투영된 현재 정점, Dt,It\mathcal{D}_t,\mathcal{I}_t는 현재 깊이/명도 맵, π\pi는 투영 사상이다. 4단계 거친-세밀 피라미드(CUDA)에서 Gauss–Newton으로 해를 구한다.

분할. Mask R-CNN은 인스턴스 마스크와 클래스 레이블(COCO 80개 클래스)을 제공하지만 ~5Hz로만 동작하며 경계가 배경으로 새어나가므로, 프레임 큐(길이 12, 약 400ms 지연)에서 비동기적으로 실행되고, 프레임별 기하학적 분할이 선명한 실시간 경계를 제공한다: 픽셀은 ϕd+λ^ϕc>τ\phi_d + \hat{\lambda}\phi_c > \tau일 때 에지로 판정되며, 깊이 불연속 항 ϕd=maxiN(viv)n\phi_d = \max_{i\in\mathcal{N}} |(\mathbf{v}_i - \mathbf{v})\cdot\mathbf{n}|과 지역 근방 N\mathcal{N}에 대한 유사한 오목도 항 ϕc\phi_c를 사용한다. 에지 맵의 연결 요소는 의미론적 마스크에 매핑되고(65% 이상 겹침), 마스크는 기존 모델에 매핑되며(투영된 모델 레이블, 클래스 ID 매칭), 남은 요소는 직접 모델에 매핑된다; 사람과 같은 클래스는 융합에서 완전히 제외될 수 있다.

융합. 서펠은 ElasticFusion과 동일한 투영적 데이터 연관에 의해 갱신되며, 최종 분할로 스텐실 처리되어 각 새 서펠이 정확히 하나의 모델에 속하도록 하고, 불완전한 마스크를 흡수하기 위해 스텐실 밖의 서펠에는 신뢰도 페널티가 부여된다.

실험 결과

SLAM에서의 의미

MaskFusion은 “정적 세계에서의 SLAM”에서 동적이고 객체 인식적인 SLAM으로의 전환을 상징하는 랜드마크이다: 알려진 객체 모델 없이도 객체별 밀도 모델과 의미론적 레이블을 실시간으로 유지할 수 있음을 보였다. 이 연구 흐름은 로봇 조작과 AR 시나리오의 기반이 되는데, 이런 시나리오에서 장면의 흥미로운 부분은 정확히 움직이는 것들이다 — 움직이는 객체를 지워버리는 맵은 그것을 잡아야 하는 로봇에게 무용지물이다. MID-Fusion과 함께 MaskFusion은 이후 VDO-SLAM과 DynaSLAM II가 최적화 백엔드에서 정식화한 객체 수준 동적 SLAM의 틀을 확립했다.

관련 문서