1. 程式人生 > >CVPR2018論文解析之《Fully Convolutional Adaptation Networks for Semantic Segmentation》(全卷積適配網路)

CVPR2018論文解析之《Fully Convolutional Adaptation Networks for Semantic Segmentation》(全卷積適配網路)

論文網址:Fully Convolutional Adaptation Networks for Semantic Segmentation

 

1.摘要:

問題:

收集大量畫素級標記的資料是一個費事費力的過程,一個比較好的選擇是使用合成數據,比如遊戲視訊,來自動產生標籤。然而僅僅用合成數據訓練,用真實資料進行測試會產生比較高的泛華誤差。

泛化誤差

方法:

(1)這篇文章同時在視覺表觀層和表徵層來解決來解決這個問題。前者使得源影象來自目標域一樣,後者嘗試學習空間不變形表示。

(2)提出了一個新的深度學習模型Fully Convolutional Adaptation Networks(FCAN),由表觀適配網路Appearance Adaptation Networks (AAN)和表徵適配網路Representation Adaptation Networks (RAN)組成。

(3)AAN建立在視覺表觀水平即影象/畫素空間上,利用監督學習策略,學習視覺相似性。RAN建立在表徵級上,即特徵空間上,並利用抗學習思想,學習域不變性表徵,最大欺騙域判別器(domain discriminator)。

實驗:

在語義分割上從GTA5 (遊戲視訊) 到Cityscapes (城市街道景觀)進行了一些列實驗,與目前最先進的非監督改善方法相比,這篇文章的方法達到了最佳效果,對語義分割達到了一個新記錄:在BDDS上基於非監督設定達到了47.5%的mIoU。

語義分效能評判標準:基於深度學習的影象語義分割技術概述之5.1度量標準

2.介紹

問題提出:

由於域漂移在合成數據上對一個模型進行訓練,驗證時在真實資料上效能會下降。如下圖所示,在視訊遊戲上訓練FCN,對街景進行分割的時候效果很差。因此需要非監督域適配來解決這個問題,利用源域的標籤樣本和目標域大規模的未標記來減少目標域上的預測誤差。傳統的方法在解決這類問題時使用最小化域漂移來構築不變性,比如相關距離或最大均值依存等。

                                  

 

本文方法概述:

我們從表觀和表徵不變性來考慮這個問題。表觀級不變性的目的是在一個域中利用其它域的型別重建影象內容。表徵不變性的想法來自對抗學習,使用域判別器對對抗目標進行建模。想法的背後是生成對抗學習,訓練兩個模型一個生成模型一個區分模型,通過讓它們相互對抗。在域適配中,使用對抗引導兩個域的表示學習,通過區域鑑別器使得源和目標表示分佈不同。我們遵循這種方法,並且利用對抗機制來學習影象表徵,對空間域是不變的。由於語義分割依賴於大量精確的畫素級標記,這篇文章特別研究語義分割任務上的域適配。為了把表觀級和表徵級不變性的思想引入非監督適配來增強語義分割的效能,這篇文章提出了FCAN模型,如下圖所示:

 

網路結構解釋:

整個框架由AAN和RAN組成,ANN網路的目的是獲得源影象中的高層內容和目標域的低階畫素資訊。特別的,AAN由一個白噪聲影象開始,並且使用梯度下降來最小化輸出影象和源影象的feature map和目標域中影象的平均feature map。在表徵網路中,首先共享一個FCN網路來產生每個域的影象表示,緊跟其後的是對畫素級分類採用雙線性插值來上取樣輸出,同時用一個區域鑑別器來區分源和目標域。特別設計Atrous Spatial Pyramid Pooling (ASPP)來擴大feature map中濾波器的感受野,使得與鑑別器的更強。RAN用兩個最優化的損失來訓練,分類損失來衡量畫素級語義,利用學習到的源域和目標域表示對抗損失來最大欺騙區域鑑別器。使用表觀級和表徵級適配,FCAN能夠更好的構建域不變性,因此能夠獲得更好的分割效能。

 

本文的主要貢獻:

本文的主要貢獻是提出了FCAN網路來解決語義分割中的域適配問題。解釋了哪種不變性可以通過域來適配。並且在深度框架下如何對這個不變性建模,這些問題在文獻中還沒有完全解釋清楚。這篇文章的目的是學習具有標記的免費合成數據和大量在畫素級上未標註的真實資料,這是一個新興的研究領域。 簡而言之這篇文章的工作主要聚焦於非監督語義分割任務,這研究的很少。最接近的工作是Fcns in the wild: Pixel-level adversarial and constraint-based adaptation. 通過研究全卷積對抗訓練來解決跨域分割問題。本文方法和上文的不同之處在於從表觀級和表示級視覺來解決域漂移問題,以一種更有原則的方式彌合領域誤差。

3.相關工作

(1)目前典型計算機視覺任務的資料集

到目前為止,對於列系列的計算機視覺任務比如識別、檢測、打字母和語義分割都有標註的比較好的資料集。給定一個新的資料集方法依然是費時費力地手工標註。一個可替代的方法是利用大規模來自電腦遊戲合成的資料,並且能夠自動生成標籤。

影象識別:

K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. In CVPR, 2016.

K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. In ICLR, 2015.

C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed,D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich.Going deeper with convolutions. In CVPR, 2015.

目標檢測:

R. Girshick. Fast r-cnn. In ICCV, 2015.

S. Ren, K. He, R. Girshick, and J. Sun. Faster r-cnn: Towards real-time object detection with region proposal networks. In NIPS, 2015.

打字幕:

T. Yao, Y. Pan, Y. Li, Z. Qiu, and T. Mei. Boosting image captioning with attributes. In ICCV, 2017.     

電腦遊戲合成數據:

S. R. Richter, V. Vineet, S. Roth, and V. Koltun. Playing for data: Ground truth from computer games. In ECCV, 2016.

(2)語義分割:

多尺度特徵整體:

FCN:J. Long, E. Shelhamer, and T. Darrell. Fully convolutional networks for semantic segmentation. In CVPR, 2015.

Dilated Convolution:F. Yu and V. Koltun. Multi-scale context aggregation by dilated convolutions. In ICLR, 2016.

RefineNet:L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy, and A. L. Yuille. Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs. Trans. on PAMI, 40(4):834–848, 2018.

DeepLab:L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy, and A. L. Yuille. Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs. Trans. on PAMI, 40(4):834–848, 2018.

HAZNet:F. Xia, P. Wang, L.-C. Chen, and A. L. Yuille. Zoom better to see clearer: Human and object parsing with hierarchical auto-zoom net. In ECCV, 2016.

上下文資訊保留:

ParseNet:W. Liu, A. Rabinovich, and A. C. Berg. Parsenet: Looking wider to see better. In ICLR Workshop, 2016.
PSPNet:H. Zhao, J. Shi, X. Qi, X. Wang, and J. Jia. Pyramid scene parsing network. In CVPR, 2017.

DST-FCN:Z. Qiu, T. Yao, and T. Mei. Learning deep spatio-temporal dependence for semantic video segmentation. Trans. on Multimedia, 20:939–949, 2017.

大多數語義分割方法依賴於畫素級的標記。研究者儘量使用弱監督來進行語義分割任務:

instance-level bounding boxes:J. Dai, K. He, and J. Sun. Boxsup: Exploiting boundingboxes to supervise convolutional networks for semantic segmentation. In ICCV, 2015.

image-level tags:P. O. Pinheiro and R. Collobert. From image-level to pixel-level labeling with convolutional networks. In CVPR, 2015.

multiple instance learning:D. Pathak, E. Shelhamer, J. Long, and T. Darrell. Fully convolutional multi-class multiple instance learning. In ICLR Workshop, 2015.

EM algorithm:D. Pathak, E. Shelhamer, J. Long, and T. Darrell. Fully convolutional multi-class multiple instance learning. In ICLR Workshop, 2015.

constrained CNN:D. Pathak, P. Krhenbhl, and T. Darrell. Constrained convolutional neural networks for weakly supervised segmentation.In ICCV, 2015.

在影象級的標籤能夠獲得的時候,可以把來自輔助類的畫素註釋推廣到僅僅影象級標籤能夠得到的語義分割類:

S. Hong, J. Oh, H. Lee, and B. Han. Learning transferrable knowledge for semantic segmentation with deep convolutional neural network. In CVPR, 2016.

The research of this topic has proceeded along three different dimensions: unsupervised adaptation, supervised adaptation and semi-supervised adaptation.

(3)深度域適配利用深度框架把一個有標記源域上學習到的模型遷移到一個目標域上。從非監督適應、監督適應和半監督適應三個不同方面展開。

非監督適配,目標域沒有標籤:

Deep Correlation Alignment (CORAL)研究最大均值依存Maximum Mean Discrepancy (MMD)來匹配源和目標分佈的均值和協方差:B. Sun, J. Feng, and K. Saenko. Return of frustratingly easy domain adaptation. In AAAI, 2016.

Adversarial Discriminative Domain Adaptation (ADDA)用強化訓練來優化適配模型:E. Tzeng, J. Hoffman, K. Saenko, and T. Darrell. Adversarial discriminative domain adaptation. In CVPR, 2017.

相反的,當標記資料可以得到的時候,這指的是監督區域適配,Tzeng et al利用二進位制域分類器,並且設計類域混淆損失來提升預測區域的標籤,為均勻分佈:

E. Tzeng, J. Hoffman, T. Darrell, and K. Saenko. Simultaneous deep transfer across domains and tasks. In ICCV, 2015.

Deep Domain Confusion (DDC) ,同樣使用MMD在源上規範化分類損失,來學習區別和區域不變性表示:

E. Tzeng, J. Hoffman, N. Zhang, K. Saenko, and T. Darrell. Deep domain confusion: Maximizing for domain invariance. arXiv preprint arXiv:1412.3474, 2014.

Deep Adaptation Network (DAN)在一個複製核希爾伯特空間中嵌入所有任務指定層,同時考慮了半監督和全監督:

M. Long, Y. Cao, J.Wang, and M. I. Jordan. Learning transferable features with deep adaptation networks. In ICML,2015.

 

3.全卷積適配網路來進行語義分割

概述:

從視覺外觀來看,首先利用AAN網路把影象從一個域轉換到另一個域,使用其他域的型別重建一個域的影象,視覺表觀趨向於域不變。RAN用對抗的方式學習域不變性表示,並且設計一個區域鑑別器來區分哪個影象區域的域,對應於feature map中每個空間單元的接受域。RAN的目標是在兩個領域中引導表徵學習,使得源表示和目標表示通過域鑑別器無法區分。因此,FCAN從視覺層和表徵層領域不變性的角度來解決域適配問題,能更有效的消除域漂移的不利影響。

外觀適配網路:

AAN的目標是使得來自不同域的影象看起來相似。換句話說,AAN網路需要適配源影象的外觀使它看起來像來自目標域。為了達到這個目標,目標域中整個影象的低階特徵應該被分離開,並且被視為目標域的型別。由於這些特徵用低層級的影象來編碼,例如,紋理,光,陰影。而對於源影象中物件及其關係的高階內容,則需要將其提取並與目標域的“樣式”相結合,生成自適應影象,下圖是AAN的網路結構。

給定一個影象集\chi_t=\{x^i_t|i=1,...,m\},從中抽取一個影象x_s。開始用一個白噪聲影象,迭代地用x_s的語義資訊加上\chi_t的來產生輸出影象x_0。特別地,用一個預訓練的CNN來提取每幅影象的特徵。為了計算源影象的語義內容,給不同的層分配不同的權重,目標函式為:

\mathop {\min }\limits_x_0\sum \limits_{x\in L}} w^l_s Dist(M^l_o,M^l_s)

L:設定的層

w^l_s:每個l層的權重

M^l_ox_o上的特徵層

M^l_sx_s上的特徵層

M^l的維數為M^l\in R^{N_l\times H_l \times W_l}N_l 代表通道數,H_l 代表特徵的高度,W_l 代表特徵的高度

 

一幅影象的型別被看做是一種統計度量或模式,空間資訊是不可知的。在CNN中,這種統計度量之一在不同特徵響應之間是關聯的。因此,在l層上,一幅影象的G'的計算公式為:

G^{l,i,j}=M^{l,i}\odot M^{1,j}

G^{l,i,j}M^l上第i和第j階向量化的內積。在我們的情況下,我們把一幅影象的型別延伸到一個區域,通過把G^l平均到目標域上所有影象上(目標域的\overline G^l_t)。為了把目標域綜合進x_o中,每層的目標函式表示為:

\mathop {\min }\limits_x_0\sum \limits_{x\in L}} w^l_s Dist(G^l_o, \overline G^l_t)

w^l_tl層的權重。最終,整體的損失函式為:

L_{AAN}(x_o)= \mathop {\min }\limits_x_0\sum \limits_{x\in L}} w^l_s Dist(M^l_o,M^l_s) +\alpha \mathop {\min }\limits_x_0\sum \limits_{x\in L}} w^l_s Dist(G^l_o, \overline G^l_t)

\alpha:平衡源影象語義內容的權值和目標域的型別。在訓練的時候AAN網路反向傳播由上式得到的梯度值來調整輸出影象至x_o,來實現表觀空域不變性。

表徵適配網路:

使用表觀適配網路,不同域的影象出現在相同域中。為了進一步減少域漂移的影響,進一步學習域不變表徵。為此,設計表徵適配網路利用域來適配表徵,這種想法來自於對抗學習。RAN中的對抗準則引導特徵特徵表示學習,通過用學習源和目標表示來欺騙一個域區別器D來引導兩個域的特徵表示,如下圖

RAN首先使用使用一個共享FCN網路來提取影象的表徵適配來自AAN網路兩個域的影象。FCN目的是通過兩個域學習影象表示的區別性。更進一步,區別器嘗試區分源和目標表示,輸出是每個影象的域預測,對應於最終特徵的空間單元。通常,在源域中給定訓練集\chi _s=\{x^j_s|i = 1,...,n\},在目標域中給定訓練集\chi _t=\{x^j_t|i = 1,...,n\}

對抗損失L_{adv}是空間單元上的平均分類損失:

L_{adv}=-E_{xt\sim\chi _t} [1/Z\sum _{i=1}^Zlog(D_i(F(x_t)))]-E_{xs\sim\chi _s} [1/Z\sum _{i=1}^Zlog(D_i(F(x_s)))]

Z是輸出D上的空間單元數量,和標準的GANs網路類似,RAN的對抗訓練由下面的極大極小函式優化:

\mathop {\min }\limits_F \mathop{\max}\limits_DL_{adv}(\chi _s,\chi_t)

因為在真實資料中各種尺寸有不同的目標,我們進一步把多尺度表徵考慮進去來增強對抗學習。傳統的多尺度方法是用多尺度解析度調整影象。這的確會提升效能,但是計算開銷比較大。在這篇文章中我們使用Atrous Spatial Pyramid Pooling(ASPP)來實現。特別指出,k個詳盡的卷積層用不同的取樣率以並行的方式在FCN的輸出中獨立產生k個特徵表示,每個用c個特徵通道。所有的特徵通道堆起來形成一個具有ck個通道的特徵,隨後是1\times 1的卷積層加上一個sigmoid層來產生最終的分數對映。每個分數特徵上的空間單元代表屬於目標域對應影象域的概率。除此之外,我們同時優化標準像素級分類損失L_{seg}來進行監督分割在來自源域的影象上,這裡的標籤是可以獲得的。因此RAN整體上完整L_{seg}L_{adv}損失可以表示為:

\mathop {\min }\limits_F \mathop{\max}\limits_D \{L_{adv}(\chi _s,\chi_t)\ -\lambda L_{adv}(\chi _s)\}

\lambda是折中引數,用源和目標表徵欺騙區域分別器,RAN能產生域不變表徵。在測試階段,目標域的影象加入到學習過的FCN來產生畫素級分類的表徵。