LR: GLU-Net: Global-Local Universal Network for Dense Flow and Correspondences

Abstract

在影像中簡歷稠密匹配是很重要的任務, 包括 幾何匹配,光流,語義匹配。

但是這些應用有很大的挑戰:

  • 大的平移,
  • 像素精度,
  • 外觀變化;

當前是用特定的網路架構來解決一個單一問題。

我們提出了一個 universal 網路框架,我們獲得了高精度和魯棒性,對於大的平移,通過全局和局部相關層

我們提出的GLU-Net是SOTA的。

1. Introduction

在幾何匹配任務中【18】,有相同場景的不同視角。

光流【4,20】目標是估計準確的像素級別的位移。

在語義匹配任務中【17,38】(也叫語義流),任務是找到不同instances的對應。

光流方法經典的應用 局部相關層【13,23,24,26,57,58】,衡量局部的相似度。它適合小的位移,不能抓住大視角的變化。相對的,幾何和語義匹配的框架利用了全局相關【33,41,47,48,49】,在稠密的特徵映射中衡量相似度。全局相關層不能處理很高的精度。而且他們把輸入影像大小約束成固定解析度,嚴重傷害了高精度影像的精度。

貢獻

我們提出了GLU-Net,一個全局-局部 通用的網路,來估計稠密匹配。

我們的框架對於大視角變化和外觀變化魯棒,能夠以高精度估計小平移。

主要的貢獻是:

  1. 引入了single unified architecture,能夠做幾何匹配/語義匹配/光流
  2. 我們的網路幾何了全局和局部的關聯層來處理大/小平移
  3. 為了 circumvent(規避)全局cost volume的估計輸入解析度,我們提出了可調整解析度戰略,能夠支援各種解析度影像。
  4. 是自監督的方式,以來真實影像的合成warp圖,所以不需要真值流

我們的方法比之前的方法好。

hand crafted [2,3,6,19,37,39,50]

trained [12, 44, 62]

variantional formulations [4, 20, 38] ????

Optical Flow:

【13】構建了第一個CNN做光流估計 – FlowNet,基於一個 U-Net denoising autoencoder architecture 【63】,在一個大的合成 FlyingChairs 數據集上。

【26】 堆了幾個基礎的 FlowNet 變成一個,叫 FlowNet 2, 跟 Sintel benchmark【7】的一些SOTA同等水平。

【46】引入了 SpyNet,一個密集的空間影像金字塔網路。


最近的說得上的 端到端 的光流,包括

【57,58】PWC-Net

【23】LiteFlowNet

【24】LiteFlowNet2

他們用了多約束關聯層在一個特徵金字塔,然後每個層的特徵會被warp通過當前的流估計,導致了更密集和有效的網路。

Geometric Correspondence:

跟光流不一樣,幾何匹配估計專註於大的幾何平移。

【41】引入了DGC-Net,一個coarse-to-fine的CNN框架,生成稠密的2D匹配。它以來全局cost volume – 在最粗的一層。輸入size只能是240×240。

【49】旨在提升全局關聯層的表現,通過提出端到端的可訓練的 neighborhood consensus network NC-Net,來濾除模糊的匹配

【36】lion過了DGC-Net的魔改版本,專註影像檢索

Semantic Correspondence

挑戰在 intra-class 外觀和形狀的變化。

【47,48】提出了 CNNGeo 匹配框架,預測了全局參數仿射,thin plate spline變化??

【10,31,32,49】其他方法旨在預測更豐富的幾何deformations,用e.g. Spatial tranformer Networks【28】

【30】提出了 PARN,一個金字塔模型,稠密放射變化

【33】SAM-Net獲得了更好的結果,通過聯合學習語義匹配和 attribute transfer 【22】 DCCNet,它融合了局部特徵和背景aware語義特徵表達的相關圖

3. Method

輸入:一對圖 \(I_s \in \mathbb{R}^{H \times W \times 3}\)\(I_t \in \mathbb{R}^{H \times W \times 3}\)

目標:稠密平移場,也叫 flow, \(\mathbf{w} \in \mathbb{R}^{H \times W \times 2}\),這樣的話:

\[I_{\mathrm{t}}(\mathbf{x}) \approx I_{\mathrm{s}}(\mathbf{x}+\mathbf{w}(\mathbf{x}))
\]


整體框架還是隨著 CNN 基於特徵的 coarse-to-fine 的策略,已經證明了在特定任務上有效【23,30,33,41,57】。

3.1 Local and Global Correlations

當前用於計算光流的框架都是依賴測量局部相似度。這個是在深度特徵空間做的,它有可區分度和需要的不變性。

這個結果,一般對應一個相關性,或cost volume, 提供了一個及其有利的cue,在推導最後的匹配或者是流估計。這個correlation可以是局部/全局的方式。

Local correlation

在局部相關層里,特徵相似度只在目標像素坐標的近鄰衡量,有一個搜索半徑 \(R\)

目標 \(F_{\mathrm{t}}^{l} \in \mathbb{R}^{H_{l} \times W_{l} \times d_{l}}\) 和source \(F_{\mathrm{s}}^{l} \in \mathbb{R}^{H_{l} \times W_{l} \times d_{l}}\) 的相關 \(c^l\)如下:

\[c^{l}(\mathbf{x}, \mathbf{d})=F_{\mathrm{t}}^{l}(\mathbf{x})^{T} F_{\mathrm{s}}^{l}(\mathbf{x}+\mathbf{d}), \quad\|\mathbf{d}\|_{\infty} \leq R
\]

這裡 \(x \in \mathbb{Z}^2\) 是目標特徵圖的坐標, \(d \in \mathbb{Z}^2\) 是displacement. displacement被約束為 \(\|\mathbf{d}\|_{\infty} \leq R\).

這裡 \(l\) 表示特徵金字塔的層級.

雖然最自然的考量是一個 4D的tensor, 2 displacement維度是被矢量化為1個在CNN里.

結果的3D相關 volume \(c^l\) 的維度是 \(H_l \times W_l \times (2R +1)^2\)

Global correlation

相關量是 \(C^{l} \in \mathbb{R}^{H_{l} \times W_{l} \times H_{l} \times W_{l}}\):

\[C^{l}\left(\mathbf{x}, \mathbf{x}^{\prime}\right)=F_{\mathrm{t}}^{l}(\mathbf{x})^{T} F_{\mathrm{s}}^{l}\left(\mathbf{x}^{\prime}\right)
\]

Comparison

局部相關在optical flow里很流行[13, 23,57], 平移一般很小, 可以用於高解析度特徵圖.

因為O2的計算複雜度 \(\mathcal{O}(H_l W_l)^2\), 全局cost volume只在粗的層有用.

另外,後處理的層期待一個固定的維度.

3.2 Global-Local Architecture

受[41] DGC-Net的啟發,我們應用了全局相關層在最粗的一層. 這層的目標是處理 long-range 匹配. 因為這些在最粗的一層是最容易捕獲的, 只有一個全局相關是需要的.

在後續的層中, dense flow filed 是通過計算影像特徵相似度(用局部相關)來refine.

3.3 Adaptive resolution

全局相關層 – 固定的大小嚴重限制了應用和精度.

我們的 adaptive-resolution 架構包括了兩個子網路.

  • L-Net: 有source 和 target 圖, 下取樣到固定的解析度 \(H_L\times W_L\)
  • H-Net: 直接在原圖解析度 \(H\times W\)上操作, 它refine L-Net 的結果.

兩個子網路是基於 coarse-to-fine的架構的, 應用了相同的特徵提取backbone. L-Net 是基於全局相關 – 在最粗的層 – 為了有效的處理各種幾何變換. L-Net 的後續層應用了局部相關來refine flow場. 然後它被上取樣作為H-Net的最粗層, 作為初始流估計. 最後, 流預測在H-Net中會被refine多次.

對於高精度的圖, 上取樣的因子可能很大. 我們的調整解析度策略允許額外的 refinement 步驟.

3.4 Architecture details

可以用任何特徵提取的backbone, 我們用了 VGG-16 [8] 網路(在Image-Net[35]上訓練的),來跟之前的工作做一個公平的比較.

對於L-Net, 我們設置輸入解析度 \((H_L \times W_L) = (256 \times 256)\). 它由兩層金字塔組成, 敖闊 Conv5-3 (16×15 解析度) 和 Conv4-3(32×32解析度). 前者是基於全局相關, 後者是基於局部相關.

對於H-Net, 是原始影像解析度(HxW)的兩層特徵金字塔. 為了這個目標, 我們可以用 Conv4-3 和 Conv3-3, 這樣解析度就是 \(\frac{H}{8} \times \frac{W}{8}\)\(\frac{H}{4} \times \frac{W}{4}\). H-Net 是完全基於局部相關層的.

我們最終的GLU-Net, 由四各金字塔組成, 如下:

Coarsest resolution and mapping estimation

\(L^2\) – normalized – 對應全局相關.

這個cost volume 會被應用 channel-wise \(L^2\) -normalisation 和 ReLU[42] 來處理, 來強烈的降低模糊匹配的權重 [47].

跟DGC-Net [41]類似, 結果全局相關 \(C\) 會被塞給匹配map decoder \(M_{top}\) 來估計一個2D稠密匹配圖 \(m\) – 在最上層 \(L1\) :

\[\mathbf{m}^{1}=M_{\text {top }}\left(C\left(F_{\mathrm{t}}^{1}, F_{\mathrm{s}}^{1}\right)\right)
\]

這個對應圖會被轉化為一個平移場, \(w^1(x) = m^1(x) – x\).

Subsequent flow estimation

flow會被局部相關模組來refine. 在 \(l\) 層, flow decoder \(M\) 推斷殘差流 \(\delta \tilde{w}^l\) :

\[\Delta \tilde{\mathbf{w}}^{l}=M\left(c\left(F_{\mathrm{t}}^{l}, \widetilde{F}_{\mathrm{s}}^{l} ; R\right), \operatorname{up}\left(\mathbf{w}^{l-1}\right)\right)
\]

\(c\) 是局部相關(2), 搜索半徑 \(R\), 和 \(\tilde{F}_s^l(x) = F_s^l(x+up(w^{l-1}(x)))\).

Flow refinement

[9, 22] 證明 contextual資訊更有利於像素級別的預測任務.

所以我們用了一個子網路 \(R\), 叫refinement network, 來後處理L-Net和H-Net的最高層(也就是圖3里的L2和L4), 通過放大感受野receptive field的大小.

Cyclic consistency

我們納入額外的濾波步驟在全局cost上來加強匹配間的相互約束(reciprocity constraint). 我們用軟互相最近鄰濾波[49], 用它來後處理全局相關.

3.5 Training

Loss

我們在single phase來訓練我們的網路. 我們在訓練中固定預先訓練的backbone 特徵提取器. 跟FlowNet[13]一樣, 我們在endpoint error loss對應真值displacement來監督每層金字塔.

Dataset

我們的網路只在應用 隨機warps對來訓練.

因為我們的網路是設計來訓練高解析度圖下的匹配的, 訓練數據更傾向是高解析度的.

我們那個DPET[25], CityScapes[11]和ADE-20K[64]數據及, 圖是大於750×750.

在40,000的數據及上, 我們應用同樣的合成變換如tokyo(DGC-Net[41]).

影像對會裁剪成520×520來訓練.

4. Experimental Validation

我們從三個問題來衡量演算法: geometric matching, semantic correspondences和光流.

4.1 Geometric matching

HP:

如DGC-Net[41], 我們應用了HPatches dataset[5]的59個序列, 用v_X標註了, 有視角變換, 排除了標註成 i_X,只有光度變化的.

每個圖序列包括一個source image和5個target image,大小從450×600 到 1613×1210.

ETH3D

為了驗證我們方案在真實3D的表現, 這種時候影像變換不再是簡單的單應變換. 我們也用了 Multi-view dataset ETH3D[53]. 10個影像序列, 室內室外都有.

Metrics

跟[41]一直, 我們應用Average End-Point Error (AEPE) 和Percentage of Correct Keypoints (PCK)作為衡量標準. AEPE定義為歐氏距離(真值和估計值).

Compared methods我們跟DGC-Net[41]比較, 為了公平的比較, 我們在我們的數據集上訓練了, 叫DGC-Net+.

我們還比較了兩個SOTA的光流方法, PWC-Net[57]和LiteFlowNet[23].

Results

在HP上, GLU-Net比DGC-Net在PCK-1px上高4倍.

我們的模型也比DGC-Net快3.6倍.

光流任務上 PWC-Net[57] 和 LiteFlowNet[23]好一些.

4.2 Semantic Matching

Dataset and metric

我們那個TSS dataset[60].

Compared methods

我們加入一個一致網路[49]來做全局相關層.

Results

4.3 Optical flow

Dataset and metric

Compared methods

Results

4.4 Ablation study

Local-global architecture

Adaptive resolution

5. Conclusion

..

Appendix

有空再看