FlowFormer

Huang 2022 · 논문

한 줄 요약 — 4D cost volume을 중심으로 구축된 최초의 optical flow Transformer 아키텍처입니다: cost volume을 토큰화하고, 이를 alternate-group attention으로 잠재적인 “cost memory”로 인코딩한 후, 동적 위치 cost query를 사용하여 flow를 반복적으로 디코딩합니다.

문제

Optical flow는 각 원본 이미지 위치 x\mathbf{x}를 대응하는 목표 이미지 위치 p=x+f(x)\mathbf{p}=\mathbf{x}+\mathbf{f}(\mathbf{x})로 매핑하는 픽셀별 변위 필드 f:R2R2\mathbf{f}:\mathbb{R}^{2}\rightarrow\mathbb{R}^{2}를 추정합니다. RAFT는 모든 쌍의 유사도로 이루어진 H×W×H×WH \times W \times H \times W 4D cost volume을 구축하지만, 지역적 윈도우에서만 cost를 조회하기 때문에 큰 변위와 occlusion에서 어려움을 겪습니다. Transformer는 전역적 추론을 제공하지만, 수천 개의 cost volume 토큰에 대한 naive self-attention은 계산적으로 감당할 수 없습니다 — Perceiver IO는 대신 원본 픽셀에 대해 attend하며 약 80배 더 많은 학습 데이터를 필요로 합니다. FlowFormer는 콤팩트한 cost volume을 유지하면서도 Transformer 스타일의 전역적 집계를 얻는 방법을 질문합니다.

방법 및 아키텍처

3단계로 구성됩니다: 4D cost volume을 구축하고, 이를 cost memory로 인코딩하고, flow를 반복적으로 디코딩합니다.

Kx=Conv1×1(Concat(Fx,PE)),Vx=Conv1×1(Concat(Fx,PE)),Tx=Attention(C,Kx,Vx)\mathbf{K_x}=\mathrm{Conv}_{1\times 1}(\mathrm{Concat}(\mathbf{F_x},\mathrm{PE})),\quad \mathbf{V_x}=\mathrm{Conv}_{1\times 1}(\mathrm{Concat}(\mathbf{F_x},\mathrm{PE})),\quad \mathbf{T_x}=\mathrm{Attention}(\mathbf{C},\mathbf{K_x},\mathbf{V_x})

이는 4D 볼륨을 H×W×KH \times W \times K 토큰 그리드로 변환합니다 (K×DH×WK \times D \ll H \times W; 최종 모델에서는 128차원의 토큰 8개).

Δf(x)=ConvGRU(Concat(cx,qx),tx,f(x))\Delta\mathbf{f}(\mathbf{x})=\mathrm{ConvGRU}(\mathrm{Concat}(\mathbf{c_x},\mathbf{q_x}),\,\mathbf{t_x},\,\mathbf{f}(\mathbf{x}))

flow는 전체 해상도로 convex-upsample되며, 매 반복마다 증가하는 가중치로 지도됩니다.

실험 결과

SLAM에서의 의미

Dense optical flow는 현대의 학습 기반 SLAM front-end (DROID-SLAM, DPVO 계열) 내부의 대응점 엔진이며, FlowFormer는 매칭 cost에 대한 전역적 attention이 wide-baseline 모션에서 가장 중요한 장거리, 모호한 대응점을 해결한다는 것을 입증했습니다 — 이는 정확히 그 cost memory가 목표로 하는 어려운 사례들 (큰 변위, occlusion)입니다. 이는 SLAM 엔지니어가 flow backbone을 선택할 때 고려하는 오늘날의 트레이드오프 — Transformer 정확도 (FlowFormer) 대 합성곱 효율성 (SEA-RAFT) — 중 Transformer 쪽을 확립했습니다.

관련 문서