天天看點

(DFN)Learning a Discriminative Feature Network for Semantic Segmentation

本文提出的判别特征網絡(Discriminative Feature Network/DFN)包含兩個子網絡 Smooth Network 和 Border Network,它有效解決了絕大多數現有語義分割方法面臨的類内不一緻(intra-class inconsistency)與類間無差别(inter-class indistinction)問題。

intra-class inconsistency:類内不一緻。這表示一個區域内,有着相同的語義标簽,但是預測結果有所不同。(如下圖第一行)

inter-class indistinction:類别之間模型不清晰。這表示兩個相鄰的區域,有着類似的外表,但是語義标簽不同。(如下圖第二行)

(DFN)Learning a Discriminative Feature Network for Semantic Segmentation

上圖第二列是 FCN 模型的輸出;第三列是本文方法的輸出。第一行中,圖中牛的左下角被識别為其他類,這屬于類内不一緻問題。第二行中,電腦主機上的藍光及黑色機殼與顯示器相似,是以難以區分,這屬于類間無差别問題。

為解決上述兩個挑戰,本文從一個更加宏觀的角度重新思考語義分割,将其看作一項把一緻的語義标簽配置設定給一類物體而不是每個單一像素的任務。這就需要把每個類别的像素看作一個整體,進而同時兼顧類内一緻(intra-class consistency)與類間差别(inter-class variation)。這意味任務需要判别特征,是以本文提出一個全新的判别特征網絡(DFN) 以學習特征表征。

DFN 有兩個元件:Smooth Network 和 Border Network。Smooth Network 用來解決類内不一緻問題,進而需要學習一個魯棒特征表征,為此本文主要考慮兩個關鍵因素。一方面,需要多尺度和全局語境特征編碼局部和全局資訊。比如,由于缺乏足夠的語境資訊,圖 1(a) 中的白色小圖像塊經常無法預測正确的類别;另一方面,随着引入多尺度語境,對于一定尺度的物體來說,特征具有不同程度的判别力,其中一些可能預測假标簽。是以,有必要選擇高效的判别特征。正是出于上述兩方面的考慮,Smooth Network 展現為 U 形結構,以抓取不同尺度的語境資訊,并通過全局平均池化抓取全局語境。此外,本文還提出通道注意力子產品(CAB),利用高層特征逐階段地指導低層特征的選擇。

Border Network 負責區分外觀相似但标簽不同的相鄰圖像塊。大多數現有方法把語義分割看作一種密集識别問題,無法明确模組化類間關系。以圖 1(d) 為例,如果越來越多的全局語境整合進分類過程,相鄰于顯示器的電腦主機由于外觀相似很容易被誤認是顯示器。是以,明确地使用語義邊界指導特征的學習非常重要,這可以增強特征兩邊的變化。訓練時,作者把語義邊界損失整合進 Border Network 以學習判别特征,增大類間差别。

(DFN)Learning a Discriminative Feature Network for Semantic Segmentation

Smooth network

類内一緻性問題主要是缺少内容語義上的了解。是以要加入global average pooling ,它裡面蘊含着全局内容資訊。然而,縱使全局内容有着高度豐富的語義資訊,它也不是萬能的,因為它沒有空間資訊,spatial information。是以,我們需要多尺度的接收視角receptive view以及語義内容資訊context來refine得到spatial information。

然而,問題是不同尺度的接受視角會産生不同程度的discrimination特征進而帶來結果的不連續性。是以,我們需要選擇更多的discriminative特征,對于一個種類的物體預測出一個恒定且平滑的語義标簽。

網絡中,使用ResNet作為基本的識别model。根據特征這個model分為五個stage,每個不同的stage都有不同的識别能力,這樣就可能破壞了連續性了。在比較淺的stage,網絡會擷取更加精細的空間資訊,然而,它就在語義一緻性上面比較欠缺,因為比較小的感受野同時也沒有空間内容spatial context的指導。

而在比較深的stage當中,就有較強的語義一緻性能力,因為感受野大,然而,此類預測也是空間上的粗預測。

總的來說,淺層有着更加準确且精細的空間預測spatial prediction,深層具有更加豐富的語義資訊。是以我們要将它們的優勢結合起來。用Smooth網絡來利用深層網絡當中的一緻性來指導淺層。進而擷取比較好的結果

今語義分割領域,分兩類,一類“Backbone-Style”,如PSPNet以及Deeplab v3.它嵌入了不同尺度的語義資訊進而提升了網絡的一緻性,如pyramid spatial pooling module以及atrous spatial pyramid pooling module。另外一種是“Encoder-Decoder-style”。比如說RefineNet。此類網絡利用不同stage當中的多尺度内容,這些内容缺少強一緻性的全局資訊。此外,當網絡combine領域stage的特征時,隻是在通道數上面進行累加而忽視了不同stage的變化的一緻性。為了解決此類問題,global average pooling 層應運而生,有了它,可以将其作為一個guidance進而産生一個特别強的一緻性限制consistency constraint。Smooth Network主要解決類内不一緻性問題。

文中認為類内不一緻性問題主要來自Context 的缺乏。需要引入Multi-scale Context 和Global Context;但是,不同階段的特征雖然帶來了Multi-scale Context,與此同時也帶來了不同的判别能力;是以,需要對這些具有不同判别力的特征進行篩選,這就誕生了其中核心的設計 Channel Attention Block(CAB)

Chnnel Attention Block是為了增強這個一緻性而産生的。它可以結合相鄰的stage的特征并得到一個channel attention vector、這個high stage的特征提供了一個很強的一緻性限制,同時low stage的特征帶來不同的discrimination information。這樣,channel attention vector 能夠自主的選擇discriminative features。

(DFN)Learning a Discriminative Feature Network for Semantic Segmentation

黃色塊代表着low stage當中的特征,紅色塊代表着high stage。concat相鄰stage的特征來構成一個權重向量weight vector。藍色的越深代表着權重值的越大。

Channel attention block:

Channel Attention Block(CAB)是産生特征權重的,進而增強了一緻性。FCN結構,卷積操作最後輸出一個score map,給每一個像素都配置設定一個類别的可能性,最後的結果就是每個特征映射通道的權重相加值。

不同stage的特征有着不同程度的discrimination,這就導緻了預測結果的不同的consistency。為了得到類内一緻性的預測結果。應當提取discriminatative 的特征然後抑制indiscriminative特征。是以,權重值應運而生。權重相當于CAB的特征選擇。有了這樣的選擇之後,可以使得網絡得到disceiminative特征進而讓預測結果更加的類内一緻。

Refinement residual block(RRB)

優化殘差子產品:特征網絡中每個階段的特征圖都經過RRB 。該子產品的第一個元件是一個1×1卷積層,作者将通道數統一到512。同時,它可以整合所有通道的資訊。接着是一個基本的殘差塊,可以優化特征圖。此外,受ResNet的啟發,這個block還可以增強每個階段的識别能力。

Border Network

語義分割任務中,同樣的區域有着不同的種類會讓網絡非常的困惑。是以,需要擴大特征之間的差異性。我們采用語義邊界的理論來指導特征的學習。為了提取準确的語義邊界,我們用更加詳盡的語義邊界來作為監督限制。這樣使得網絡具有更加多更加強的類間差別能力。是以,Border Network是可以用來增強特征的類間差別能力的。

特征網絡有不同的stage。low stage 特征有更加細節的資訊,high stage特征由更強大的語義資訊。我們需要更多更精确的semantic boundary(準确的說就是需要更加多更加精确的樣本)。Border Network能夠同時從low stage當中得到準确的邊緣資訊以及從high stage當中得到更多的語義資訊。high stage當中的語義資訊能夠refine low stage當中的細節邊緣資訊。

總的來說,網絡架構,使用pre-trained的ResNet來作為一個基礎網絡,Smooth Network當中,通過添加global average pooling layer 來擷取很強的consistency。接着利用channel attention block 來改變通道之間的權重進一步增強了consistency。同時,Border Network,有了盡可能多的語義邊緣監督,進而網絡擷取一個很準确的語義邊緣使得特征更加的具有區分性。有了兩個子網絡的幫助。類内特征變得更加的consistent,類間特征變得更加的區分性。

使用了預訓練的ResNet作為網絡主幹。

在Smooth NetWork:頂端使用了一個全局池化層捕獲全局資訊。使用channel attention block來改變權重。 除了最終的全局池化,其他所有stage都使用softmax loss來做深度監督學習。

在Border Network上,使用語義邊界監督,網絡獲得更為精準的邊界,得到的mask也更具區分度。使用focal loss來監督學習。

(DFN)Learning a Discriminative Feature Network for Semantic Segmentation

繼續閱讀