RAFT-3D

Teed 2021 · 논문

한 줄 요약 — 픽셀별 SE(3)SE(3) 강체 모션의 밀집 필드를 반복적으로 정제함으로써 RAFT를 2D optical flow에서 3D scene flow로 확장하며, 학습된 강체 운동 임베딩과 기하학적 일관성을 강제하는 미분 가능한 Dense-SE3 최적화 레이어를 사용한다.

문제

Scene flow — 스테레오 또는 RGB-D 비디오 프레임 쌍이 주어졌을 때 픽셀별 3D 모션을 추정하는 것 — 는 로봇이 카메라 자기 운동(ego-motion)과 독립적으로 움직이는 물체를 분리하는 데 필요한 정보다. 실제 장면은 대체로 강체로 움직이는 물체들의 집합이므로 그 3D 모션 필드는 SE(3)SE(3) 상에서 부분적으로 상수이지만, 기존 방법들은 제약 없는 점별 이동량을 예측하거나(예: FlowNet3D) 물체 검출/인스턴스 세그멘테이션 네트워크를 통해 강체성을 활용한다 — 이는 인스턴스 지도(supervision)를 필요로 하고, 미지의 물체를 처리할 수 없으며, 파이프라인에 미분 불가능한 구성 요소를 끌어들인다. RAFT-3D는 인스턴스 라벨 없이 RAFT류의 밀집 아키텍처 안에 강체성 사전 정보를 어떻게 내재화할 수 있는지를 묻는다.

방법 및 아키텍처

입력: 두 RGB-D 쌍 (I1,Z1)(I_1, Z_1), (I2,Z2)(I_2, Z_2)(스테레오 입력의 경우 기성 스테레오 네트워크 GA-Net으로부터의 깊이); 출력: 밀집 변환 필드 TSE(3)H×W\mathbf{T} \in SE(3)^{H \times W}. 3D 점을 픽셀 좌표와 역깊이 d=1/Zd = 1/Z로 매핑하는 확장된 pinhole 투영 π\pi를 사용하면, 이 필드는 다음과 같은 대응 관계를 유도한다.

xi=π(Tiπ1(xi))\mathbf{x}_i' = \pi(\mathbf{T}_i \cdot \pi^{-1}(\mathbf{x}_i))

xixi\mathbf{x}_i' - \mathbf{x}_i의 처음 두 성분은 optical flow이며 세 번째 성분은 역깊이 변화다.

aij=2σ(vivj2)[0,1]a_{ij} = 2\,\sigma(-\lVert \mathbf{v}_i - \mathbf{v}_j \rVert^2) \in [0, 1]

그리고 각 픽셀의 변환은 가중된 재투영 목적 함수에 대한 Gauss-Newton 스텝 1회로 업데이트된다.

E(δ)=iΩjNiaijrj+π(TjXj)π(eδiTiXj)wj2E(\delta) = \sum_{i \in \Omega} \sum_{j \in \mathcal{N}_i} a_{ij} \left\lVert \mathbf{r}_j + \pi(\mathbf{T}_j \mathbf{X}_j) - \pi(e^{\delta_i} \mathbf{T}_i \mathbf{X}_j) \right\rVert^2_{w_j}

즉 각 픽셀은 자신의 이웃을 설명하는 모션을 찾으려 하지만, 유사한 임베딩을 가진 쌍만이 기여한다. 모든 항이 하나의 Ti\mathbf{T}_i만 다루기 때문에, (FlyingThings3D 해상도에서 2억 개 방정식에 이르는) 거대한 시스템은 CUDA 내에서 그 자리에서 구성된 H×WH \times W개의 독립적인 6변수 문제로 분해된다. 12회의 GRU 반복은 12회의 Gauss-Newton 업데이트를 산출한다.

실험 결과

SLAM에서의 의미

동적 환경은 SLAM의 핵심 실패 모드다: 움직이는 물체는 자기 운동 추정의 근간이 되는 정적 세계 가정을 위반한다. RAFT-3D의 픽셀별 강체 운동 필드는 동적 물체를 세그멘테이션하고 카메라와 별도로 그 모션을 추정하는 데 정확히 필요한 표현을 제공한다 — 이는 검출기 기반 파이프라인으로 동일한 문제를 다루는 동적 SLAM 시스템(VDO-SLAM, DynaSLAM II)이 인스턴스 지도 없이도 풀어낸 것과 같다. 학습된 반복적 정제와 내재된 미분 가능한 기하 최적화 레이어의 결합은 RAFT로부터 동일 저자들의 DROID-SLAM으로 이어지는 직접적인 계보 위에 있다.

관련 문서