寫在前面的話:

在這篇paper中,提出了針對語義分割任務的的

動態路徑選擇(Dynamic Routing)網路

,可根據每個影象中物體尺寸的分佈情況,動態生成與這些資料相關的網路傳播路徑。

個人見解

:本文的核心思路應該與HrNet類似,都是對高階語義特徵與細節特徵進行多次的融合。不同之處在於本文所提出的軟條件門控對特徵的融合有了選擇性,而不是像HrNet一樣每一個階段之後把所有特徵都融合一遍。而且也並不是時時刻刻都像HrNet那樣都保持了高解析度的特徵,這是由於大尺度的物體其實更需要大的感受野。本文所提出的在Cityscapes和PASCAL VOC 2012資料集上的一系列實驗展示了本文動態網路相對於靜態架構的優勢 — 該方法以比靜態網路小很多計算成本在效能上取得了與目前最優秀的模型差不多的表現。 截止目前,論文程式碼已開源。

論文連結:

https://

arxiv。org/abs/2003。1040

1

論文程式碼:

https://

github。com/yanwei-li/Dy

namicRouting

以下來自曠世自己對論文的解讀(我覺得作者的解讀更好讓人理解,所以就不放自己對論文的解讀了)

一、Motivation

眾所周知,語義分割任務是逐畫素的語義分類任務。作為CV領域中最主要的研究方向之一,語義分割還存在著很多尚未解決的挑戰。其中有一個挑戰來自於影象中存在尺寸不一的物體及背景,這種尺寸差異使得特徵提取和捕獲上下文關係變得困難重重。以往的方法通常在單個網路框架中編碼所有的畫素區域。然而以這種方式來應對真實環境中尺度多樣化分佈的物體時會缺乏足夠的自適應性。因此,曠視針對這一問題,提出一個全新的方法:

動態路徑選擇(Dynamic Routing)

。具體而言:

動態路徑選擇會在推理過程中根據輸入影象生成前向傳播路徑,也就是說隨著輸入資料的不同,網路也會自適應地生成不同的結構進行特徵編碼。利用該方法,網路可以將不同尺寸的物體(或背景)分配到對應解析度的層級上,以實現有針對性的特徵變換。

R,公眾號:極市平臺CVPR2020 Oral | 曠視開源針對語義分割的動態路徑選擇網路

CVPR2020 Oral-語義分割:用於語義分割的動態路徑選擇網路,已開源!

圖1:根據輸入尺寸的不同,本文提出的方法選擇相應的前向計算路徑

如上圖所示,包含不同大小物體的不同圖片輸入模型之後,網路會根據圖片所包含的物體大小選擇不同前向傳播路徑。

為了實現動態路徑,本文設計了一種路徑選擇門控網路,稱為軟條件門控(Soft Conditional Gate)

,該門控網路可根據輸入影象自適應地選擇特徵變換路徑。Soft Conditional Gate是一個可微分模組,所以網路可以進行端到端的最佳化。

二、方法-動態路徑選擇

1、路徑空間

CVPR2020 Oral-語義分割:用於語義分割的動態路徑選擇網路,已開源!

圖2:本文方法的框架圖

如圖2所示,為了釋放動態網路結構的潛能,本文提供了相鄰層間的全連線通路。按照經典的神經網路設計模式,網路開始階段是一個由固定的3層網路所組成的STEM模組,其將輸入影象的解析度下降到1/4;之後是用於動態路徑選擇的路徑空間,它由L層網路構成。在這個空間中,相鄰節點間的解析度放縮步長設為2,這也是在基於ResNet的模型中廣泛採用的設定。因此,最小的下采樣尺度被設為1/32。

在這些約束之下,每一層的候選節點數量最多可為4,且對於每一個候選節點,都有3種尺度變換通路,即上取樣、尺度保持和下采樣。每個候選節點包含了計算單元和路徑選擇門控,分別用於特徵聚合和前向路徑的選擇,如圖2所示。在網路末端,固定著一個逐層上取樣的模組,用於生成最終的預測結果。

與Auto-DeepLab每個節點只選擇一條路徑不同,本文對路徑空間進行了擴充套件,使得每個候選節點在前向推斷中都支援多通路選擇與跳躍連結。如圖3所示,在更加通用的空間下,許多經典架構都能夠透過該框架來模擬。

CVPR2020 Oral-語義分割:用於語義分割的動態路徑選擇網路,已開源!

圖3:經典結構在動態網路空間中的建模示意圖

2、路徑選擇過程

給定一個有著多個獨立節點的路徑選擇空間,本文在每個節點中都內建了一個基本的計算單元和一個對應的條件門控,分別用來聚合多尺度特徵和進行路徑選擇,圖2可視化了這個過程。

計算單元操作:對於輸入

\mathbf X ^l_{s}\in \mathbb R^{B\times C\times W\times H}

,本文采用廣泛使用的堆疊分組卷積和恆等對映來編碼輸入的多尺度特徵,具體而言,特徵的隱狀態可表達為:

CVPR2020 Oral-語義分割:用於語義分割的動態路徑選擇網路,已開源!

然後生成的特徵圖

\mathbf H^l_{s}

將會根據條件門控網路中所生成的啟用係數

\alpha ^l_{s}

分配到不同解析度的層級上。

3、軟條件門控

每一條路徑的選擇機率都由Gate函式生成,如圖2右圖所示。具體而言,在門控網路中採用了輕量級的卷積操作,以學習資料自適應的特徵向量

\mathbf G^l_{s}

CVPR2020 Oral-語義分割:用於語義分割的動態路徑選擇網路,已開源!

然後,為了實現通路選擇,本文提出使用軟條件門控進行可微的路徑選擇。具體而言,對於特徵向量

\mathbf G ^l_{s}\in \mathbb R^{B\times 3\times 1\times 1}

,將啟用函式δ設計為

CVPR2020 Oral-語義分割:用於語義分割的動態路徑選擇網路,已開源!

因此,啟用係數

\alpha ^l_{s}\in \mathbb R^{B\times 3\times 1\times 1}

可以由

\delta (\mathbf G^l_{s})

得到。當

\alpha^l_{s \rightarrow j}=0

時,從尺度s到j的選擇通路就會被記為關閉,而所有

\alpha^l_{s \rightarrow j}>0

的路徑將在本次前向推斷被保留下來,從而實現了多路徑傳播。

4、給定資源約束

考慮到實際場景中有限的計算資源,本文將給定的資源約束納入最佳化過程中以生成高效的動態網路結構。結合所提出的條件門控網路,本文將單個節點中的計算消耗建模為

CVPR2020 Oral-語義分割:用於語義分割的動態路徑選擇網路,已開源!

因此,整個路徑選擇空間中的計算消耗期望可使用以下方法進行表示:

CVPR2020 Oral-語義分割:用於語義分割的動態路徑選擇網路,已開源!

在給定計算約束C和衰減係數

\mu

的情況下,將期望的計算消耗納入至網路中進行端到端最佳化

CVPR2020 Oral-語義分割:用於語義分割的動態路徑選擇網路,已開源!

三、實驗

為了展示動態路徑選擇的優越性,曠視在路徑空間中用傳統手工設計和模型搜尋設計的網路(FCN-32s、U-Net、DeepLabV3、HRNetV2以及Auto-DeepLab)的連線方式進行了靜態路徑建模,視覺化如圖3所示。

另外,為了實現公平的效能對比,本文用對動態網路模型的計算量進行約束,從而生成了表1中的三個網路Dynamic-A、B、C。與手工設計和模型搜尋得來的網路進行對比,本文提出的動態路徑選擇方法在相似計算消耗的前提下取得了顯著的效能提升。

CVPR2020 Oral-語義分割:用於語義分割的動態路徑選擇網路,已開源!

表1:Cityscapes驗證集上的對比

此外,如表1所示,本文根據不同的資源限制從動態網路中抽取出了3個靜態的通用網路連線(Common-A、B、C,視覺化結果見圖4),它們均保留了相應動態網路中最常用的前向推斷通路。透過將這三個網路納入對比,可以發現在相似計算消耗下,擁有動態路徑選擇的網路效能依然好於靜態網路結構。

CVPR2020 Oral-語義分割:用於語義分割的動態路徑選擇網路,已開源!

圖4:Common-A, B, C的網路架構

Cityscapes

本文在Cityscapes資料集上進行了實驗,如表5所示。透過將動態網路與在驗證集上訓練的有著不同設定的固定backbone進行對比,可以發現本文方法均取得了更佳效能。同時,如果採用Scheduled Drop Path並進行ImageNet預訓練,動態網路的效能還可以進一步提升。

CVPR2020 Oral-語義分割:用於語義分割的動態路徑選擇網路,已開源!

表5:不同設定下Cityscapes驗證集的實驗結果

另外,表6展示了本文方法與此前其它工作的對比情況。可以發現,在計算消耗相似的前提下,動態網路在驗證集上的mIoU,較精心設計的BiSenet高出了3。8%。在簡單的尺度變換模組的支援下,動態網路(L=33)用更少的計算消耗取得了與當前最佳模型相當的表現。

CVPR2020 Oral-語義分割:用於語義分割的動態路徑選擇網路,已開源!

表6:Cityscapes資料集上的實驗對比

此外,結合通用的場景關係建模方法(如PSP模組),所提出的動態網路能夠獲得進一步的效能提升,在Cityscapes測試集上 mIoU 達到了80。7%。

PASCAL VOC 2012

類似的對比方法也應用在了PASCAL VOC 2012資料集上,取得了同樣的優異結果。

CVPR2020 Oral-語義分割:用於語義分割的動態路徑選擇網路,已開源!

表7:PASCAL VOC 2012資料集上的實驗對比

往期論文筆記:

歡迎關注公眾號,閱讀更多深度學習、計算機視覺、影象分割領域論文筆記:

CVPR2020 Oral-語義分割:用於語義分割的動態路徑選擇網路,已開源!