FlowFormer

Huang 2022 · 論文

一行要約 — 4Dコストボリュームを中心に構築された初のオプティカルフロー用Transformerアーキテクチャ:コストボリュームをトークン化し、alternate-group attentionで潜在的な「コストメモリ」にエンコードし、動的な位置的コストクエリを用いてフローを再帰的にデコードする。

問題

オプティカルフローは、各ソース画像位置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コストボリュームを構築するが、局所的なウィンドウからのみコストを取得するため、大きな変位や隠蔽に苦労する。Transformerはグローバルな推論を提供するが、数千個のコストボリュームトークンに対する素朴なself-attentionは計算上耐えられない——Perceiver IOは代わりに生のピクセルに対してアテンションを行い、約80倍多くの学習例を必要とする。FlowFormerは、コンパクトなコストボリュームを保持しつつ、どうすればTransformer風のグローバルな集約を得られるかを問う。

手法とアーキテクチャ

3つの段階:4Dコストボリュームを構築し、それをコストメモリにエンコードし、フローを再帰的にデコードする。

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}))

フローは全解像度に凸アップサンプリングされ、反復ごとに重みを増しながら教師される。

実験結果

SLAMにおける意義

密なオプティカルフローは、現代の学習型SLAMフロントエンド(DROID-SLAM、DPVOの系譜)内部の対応エンジンであり、FlowFormerは、マッチングコストに対するグローバルなアテンションが、広ベースライン運動にとって最も重要な長距離で曖昧な対応関係——まさにそのコストメモリが対象とする難しい事例(大きな変位、隠蔽)——を解決することを実証した。これは今日のトレードオフのTransformer側を確立した——Transformerの精度(FlowFormer)対畳み込みの効率(SEA-RAFT)——SLAM設計者がフローバックボーンを選択する際に比較検討するものである。

関連ノート