目錄
背景介紹
現有研究成果
1、語義分割
2、自注意力機制
Dual Attention Network
空間注意力子產品
通道注意力子產品
實驗分析
Cityscapes Dataset
PASCAL VOC 2012 Dataset
COCO Stuff Dataset
注意力子產品的可視化
結論
之前的文章介紹了一下通道注意力、空間注意力、混合域注意力還有自注意力機制。今天介紹一下利用自注意力和混合域注意力相結合進行圖檔分割的網絡-DANET(Dual Attention Network for Scene Segmentation ),這是發表在CVPR2019上的文章。
在這篇paper中,作者通過基于自注意機制捕獲豐富的上下文依賴來解決場景分割任務。不同于以往通過多尺度特征融合來擷取上下文的方法,作者提出了一種雙注意網絡(Dual Attention Network, DANet)來自适應地整合局部特征與全局特征的相關性。具體地在dilated FCN之上附加了兩種類型的注意子產品,分别在空間次元和通道次元上模組化。位置注意子產品通過所有位置特征的權重,有選擇性地聚合每個位置的特征。相似的特征會互相關聯,而不管它們的距離。同時,通道注意子產品通過整合所有通道圖之間的關聯特征,選擇性地強調互相依賴的通道特征。我們将兩個注意子產品的輸出結果相加,以進一步改進特征表示,有助于更精确的分割結果。DANET在三個具有挑戰性的場景分割資料集,即Cityscapes, PASCAL Context和COCO Stuff資料集上實作了新的最先進的分割性能。還是先放上原文位址:原文、源碼。
背景介紹
場景分割是一個基本的并且具有挑戰性的問題,其目标是分割和解析一個場景得到圖像的語義資訊,包括東西(如天空,道路,草地)和離散對象對象(如人,汽車,自行車)。這篇文章的研究可應用于自動駕駛、機器人傳感和圖像編輯等潛在應用領域。為了有效地完成場景分割任務,需要區分一些容易混淆的類别,并考慮到不同外觀的物體,例如,“足球場”和“草坪”的區域通常難以區分,而“汽車”的對象可能經常受到尺度、遮擋和照明的影響。是以,提高特征表示對像素級識别的判别能力是十分必要的。
之前提出的基于FCN的網絡的用來解決上述問題。一種方法是利用多尺度上下文融合,例如,一些模型通過組合由不同空洞卷積生成的特征地圖和池化操作,用來将特征地圖聚合多尺度上下文。一些研究通過用分解的結構擴大核心大小或在網絡頂部引入有效的編碼層來捕獲更豐富的全局上下文資訊。此外,提出了編碼-解碼器結構來融合中進階語義特征。雖然上下文融合有助于捕獲不同尺度的物體,但它不能利用全局視圖中物體或物體之間的關系,這對場景分割也是必不可少的。另一種方法采用RNN來開發長期依賴關系,進而提高場景分割的精度。提出了一種基于二維LSTM的複雜标簽空間依賴性捕獲方法。通過建構了一個有向無環圖的循環神經網絡,以捕獲對局部特征的豐富上下文依賴。然而,這些方法隐式地利用循環神經網絡擷取全局關系,其有效性在很大程度上依賴于長期記憶的學習結果。
為了解決上述問題,作者提出了一種新的架構,稱為雙重注意網絡(DANet),用于自然場景圖像分割,如下圖所示。它引入了一種自注意機制來分别捕獲空間次元和通道次元中的特征依賴關系。具體地說,在dilated FCN上附加了兩個并行注意子產品。一個是位置注意子產品,另一個是通道注意子產品。在位置注意子產品中,引入了自注意機制來捕獲特征地圖任意兩個位置之間的空間依賴性。對于某一位置的特征,通過對所有位置的特征進行權重求和來更新,權重值由對應的兩個位置的特征相似性決定。即任意兩個具有相似特征的位置,無論它們在空間次元上的距離如何,都可以互相改善。對于通道關注子產品,我們使用類似的自注意力機制來捕獲任意兩個通道映射之間的通道依賴關系,并使用所有通道映射的權重和更新每個通道映射。最後,融合這兩個注意子產品的輸出,進一步增強特征表示。

需要注意的是,在處理複雜多樣的場景時,DANET比以往的方法更加有效和靈活。以下圖中的街景為例。首先,由于燈光和視野的原因,第一排的一些人和交通燈是不顯眼或不完整的物體。如果探究簡單的語境嵌入分析,那麼占主導地位的顯著物體(如汽車、建築)的語境會損害那些不顯著物體的标記。相比之下,我們的注意模型有選擇地聚集不顯著物體的相似特征,以突出其特征表征,避免顯著物體的影響。其次,汽車和人的尺度是不同的,識别這種不同的物體需要不同尺度的語境資訊。DANET隻是為了從全局的角度自适應地整合任何尺度上的相似特征,這在一定程度上可以解決上述問題。第三,我們明确地将空間和通道關系考慮在内,這樣對場景的了解就可以從長期依賴中受益。
DANET主要貢獻總結如下:
1、提出了一種具有自注意機制的雙重注意網絡(DANet),以提高特征表示對場景分割的判别能力。
2、提出了位置注意力子產品來學習特征的空間互相依賴關系,并設計了通道關注子產品來模組化通道互相依賴關系。它通過模組化豐富的上下文依賴,進而實作局部特征顯著改善分割結果。
3、模型在三個流行的資料集上實作了新的最先進的結果,包括Cityscapes dataset,PASCAL Context dataset和COCO Stuff dataset。
現有研究成果
1、語義分割
基于FCN的方法在語義分割方面取得了很大的進展。提出了幾種模型變體來增強上下文聚合。首先,Deeplabv2和Deeplabv3采用空洞空間金字塔池化嵌入上下文資訊,由不同膨脹率的并行膨脹卷積組成。PSPNet設計了一個金字塔池子產品來收集有效的上下文先驗,包含不同尺度的資訊。編碼器-解碼器結構融合中進階語義特征,獲得不同尺度的上下文。其次,學習局部特征的上下文依賴關系也有助于特征表示。DAG-RNN模型利用遞歸神經網絡有向無環圖捕獲豐富的上下文相關性。PSANet通過卷積層和空間次元上的相對位置資訊捕獲像素級關系。此外,EncNet引入了一個通道注意機制來捕獲全局上下文。
2、自注意力機制
自注意力子產品可以模拟長期依賴關系,并被廣泛應用于許多任務中。特别是是第一個提出自注意機制來繪制輸入的全局依賴關系并将其應用于機器翻譯。同時,注意子產品在圖像視覺領域的應用也越來越廣泛。與self-attention子產品相關的工作主要探索視訊和圖像在時空次元上非局部操作的有效性。
不同于以往的工作,DANET在場景分割任務中擴充了自注意機制,并精心設計了兩類注意子產品來捕獲豐富的上下文關系,進而更好地實作類内緊湊的特征表示。綜合實證結果驗證了該方法的有效性。
Dual Attention Network
在這一節中,首先給出了網絡的總體架構,然後分别介紹了在空間次元和通道次元上捕獲長程語境資訊的兩個注意子產品。最後,我們将描述如何将它們聚合在一起以進一步細化。
給定一幅場景分割的圖檔,物體或目标在尺度、光照和視野上都是不同的。由于卷積操作是局部感受野,是以具有相同标簽的像素對應的特征可能會有一些差異。這些差異導緻類内不一緻,影響識别的準确性。為了解決這個問題,我們通過建立特征與注意機制之間的關聯來探索全局上下文資訊。該方法可以自适應地聚合長程上下文資訊,進而改進了場景分割的特征表示。
如Figure 2所示(第一張圖),作者設計了兩種類型的注意子產品,在dilated residual network生成的局部特征上繪制全局上下文,進而獲得更好的像素級預測特征表示。我們采用預訓練的殘差網絡,擴充政策[Deeplab系列]作為骨幹網絡。需要注意的是,作者在最後兩個ResNet塊中删除了降采樣操作,并使用了空洞卷積,進而将最終特征地圖的大小擴大到輸入圖像的1/8。保留更多的細節,而不添加額外的參數。然後将擴充殘差網絡的特征輸入到兩個并行注意子產品中。以Figure 2上半部分的空間注意力子產品為例,首先應用卷積層擷取降維特征。然後将特征輸入位置注意子產品,通過以下三個步驟生成新的空間遠距離語境資訊特征。
1、生成空間關注矩陣,該矩陣可以對特征的任意兩個像素之間的空間關系進行模組化。
2、在注意矩陣和原始特征之間執行矩陣乘法。
3、對上述相乘的結果矩陣和原始特征執行一個元素級和運算,以獲得反映長程上下文的最終表示。
在進行空間注意力計算的同時,通道注意子產品也捕獲了通道次元上的長期語境資訊。捕獲通道關系的過程類似于位置注意子產品,除了第一步,在通道次元中計算通道注意矩陣,其餘步驟基本是相同操作。最後,對兩個注意子產品的輸出進行聚合,以獲得更好的特征表示,用于像素級預測。
空間注意力子產品
判斷特征表征是場景了解的關鍵,它可以通過擷取長期語境資訊來實作。然而,許多論文表明,傳統FCNs生成的局部特征會導緻對象的誤分類。為了在局部特征上建立豐富的上下文關系,引入了位置注意子產品。位置注意子產品将更廣泛的上下文資訊編碼為局部特征,進而提高了它們的表示能力。接下來,闡述了自适應地聚合空間上下文的過程。
如上圖所示,
,空間注意力子產品的流程如下:
1、首先輸入一個卷積層,分别生成兩個新的feature map B和C,其中
,
2、然後進行向量化操作,将
轉化為
,其中N=H×W表示空間範圍的像素數量。
3、接下來将C的轉置與B矩陣乘法操作得到A内像素的相似度矩陣。 最後經過softmax計算得到空間注意力圖
。
空間注意力子產品的計算公式如下:
其中
度量第i個位置對第j個位置的影響。兩個位置的特征表征越相似,它們之間的相關性就越大。同時,将特征A輸入該子產品,生成新的特征圖
,并将其向量化為
。矩陣在D和S的轉置之間進行矩陣乘法,并将結果還原為原始輸入特征大小
。最後,将其乘以一個尺度參數α,并對特征A進行元素求和運算,得到最終輸出
,公式如下:
α初始化為0并逐漸學習配置設定更多的權重。由上面公式可以看出,在每個位置上得到的特征E是所有位置上的特征與原始特征的權重和。是以,它具有全局語境觀,并根據空間注意圖有選擇地聚合語境。相似的語義特征實作了互相受益,進而提高了類内的緊湊性和語義一緻性。
通道注意力子產品
每個通道的進階特征都可以視為特定于類别的資訊提取,不同的語義響應彼此關聯。通過挖掘通道映射之間的互相依賴關系,可以強調互相依賴的特征映射,改進特定語義的特征表示。是以,我們建構一個通道注意子產品來顯式地模組化通道之間的互相依賴關系。
通道注意力子產品結構如上圖所示,與空間注意力子產品不同,通道注意力不需要通過卷積重新生成兩個新的特征圖,而是直接從輸入的特征圖
計算通道注意力圖
(過程與空間注意力子產品一樣,但是空間注意力是去掉矩陣的通道資料,而通道注意力子產品是去掉空間資料;過程是将A reshape為
,N=H×W,将該
與
的轉置矩陣相乘得到
)。最後将得到的矩陣進行softmax得到通道注意力的矩陣
,公式如下所示:
其中,
表示第i個管道對第j個管道的影響。與空間注意力子產品一樣,将輸入特征圖A的轉置與得到的X相乘得到
的矩陣,并重塑其結果
。然後将結果乘以一個尺度參數β,并執行元素級求和運算A得到最終輸出
,公式如下:
其中,β逐漸從0學習一個權值。由上面公式可知,每個通道的最終特征是所有通道的特征和原始特征的權重和,模組化了特征映射之間的長期語義依賴關系,它有助于提高特征的可鑒别性。
需要注意的是,在計算兩個通道的關系之前,我們并沒有使用卷積層來得到輸入資料的特征,因為它可以保持不同通道映射之間的關系。此外,不同于通過全局池或編碼層來探索信道關系,我們利用所有對應位置的空間資訊來模組化通道之間的資訊聯系。
為了充分利用長期語義資訊,DANET對這兩個注意子產品的特征進行了聚合。具體來說,将兩個注意子產品的輸出通過卷積層進行轉換,然後進行元素求和來實作特征融合。最後通過卷積層生成最終的預測圖。原文說DANET不采用級聯操作,因為需要更多的GPU記憶體。模型的注意力子產品很簡單,可以直接插入現有的FCN模型中。它們不會增加太多的參數,但有效地加強了特征表示。
實驗分析
DANET模型在Cityscapes、PASCAL VOC 2012和PASCAL Context和COCO Stuff資料集進行了實驗。
Cityscapes Dataset
在該資料集下的實驗結果對比如下表所示:
如上表所示,有了DANET子產品的網絡MIOU值有着明顯的提升。與BaseLine (ResNet-50)相比,采用位置注意子產品的結果是75.74%的平均欠條,這帶來5.71%的明顯提升。同時,單獨使用通道注意力子產品的效果優于基線4.25%。當我們将兩個注意力子產品整合在一起時,性能進一步提高到76.34%。此外,當我們采用更深層次的預教育訓練網絡時(ResNet-101),具有兩個注意子產品的網絡比基線模型顯著提高了5.03%的分割性能。結果表明,注意子產品對場景分割有很大的好處。
空間注意子產品的效果在下圖中可視化。通過空間注意子產品,一些細節和對象邊界更加清晰,如第一排的杆子和第二排的人行道。對局部特征的選擇性融合增強了對細節的辨識能力。
下面的圖是通道注意力的可視化圖,通過我們的通道注意子產品,一些錯誤分類的類别現在被正确分類了,比如第一排的公共汽車和第三排的路面分割線。通道映射之間的選擇性內建有助于捕獲上下文資訊。語義一緻性得到了明顯改善。
PASCAL VOC 2012 Dataset
在PASCAL VOC 2012資料集上進行了實驗,以進一步評價DANET的有效性。PASCAL VOC 2012 對比結果如下表所示:
DANet-50超過Baseline 3.3%。當采用更深的網絡ResNet-101時,模型進一步達到了80.4%的均值IoU。接下來,使用PASCAL VOC 2012測試集進一步微調我們的最佳模型,結果如下表所示:
明顯看出DANET的MIOU超過其他現有模型測試結果。
COCO Stuff Dataset
論文還在COCO Stuff資料集上進行了實驗,以驗證DANET 的可泛化性。下表報告了與目前最先進的方法的比較。結果表明,DANET模型在MIOU達到了39.7%,大大優于其他方法。
注意力子產品的可視化
上圖是原文對空間和通道注意力的可視化效果圖。對于空間注意力子產品,整體的自注意特征圖大小為(H×W)× (H×W),也就是說,對于圖像中的每個特定點,都有一個相應大小為(H×W)的子注意地圖。在下中,對于每個輸入圖像,我們選擇兩個點(标記為#1和#2),分别在第2列和第3列中顯示它們對應的子注意力圖。我們觀察到空間注意子產品可以捕獲清晰的語義相似性和長期關系。例如,在第一行,紅色點#1标記在建築上,它的注意力特征圖(在第二列)突出了建築所在的大部分區域。此外,在子注意力圖中,邊界非常清晰,盡管有些邊界離第一點很遠。至于第2點,它的注意力地圖聚焦于大多數标記為汽車的位置。在第二行中,全局區域中的交通标志和人的情況相同,即使對應的像素數較少。第三行是植物和人。第2點對附近的行人沒有反應,但它對遠處的人有反應。
對于通道注意力子產品,很難直接給出注意圖的可了解的可視化。但是,我們展示了一些參與的通道資訊,看看它們是否突出了明确的語義區域。在上圖中,在列4和列5中顯示了第11和第4個參與的通道。我們發現通道注意子產品增強後,特定語義的反應是顯著的。例如,第11個通道圖在三個例子中都是對“汽車”類的響應,第4個通道圖是對“植物”類的響應,這有利于兩個場景類别的分割。
簡而言之,這些可視化進一步證明了在場景分割中捕獲長期依賴關系以改進特征表示的必要性。
最後,在Cityscapes測試集上進一步比較了DANET和現有的方法。具體來說,隻使用精細注釋的資料訓練DANet-101,并将測試結果送出給官方評估伺服器。結果如下表所示。DANet以顯著優勢優于現有的方法。特别是,DANET模型在相同的主幹ResNet-101的情況下比PSANet的性能要好很多。此外,它還超過了DenseASPP,而且後者使用的預訓練模型更強大。
結論
在本文中,提出了一種用于場景分割的雙重注意網絡(DANet),該網絡利用自注意機制自适應地整合局部語義特征。具體來說,我們引入了位置注意子產品和通道注意子產品來分别捕獲空間次元和通道次元中的全局依賴關系。實驗結果表明,雙注意子產品能有效地捕獲長範圍的背景資訊,并給出了更精确的分割結果。DANET在Cityscapes、Pascal VOC 2012、Pascal Context和COCO Stuff四個場景分割資料集上均取得了優異的性能。此外,降低模型的計算複雜度和增強模型的魯棒性也是今後研究的重點。