使用多尺度空間注意力的語義分割方法



點擊上方「AI公園」,關注公衆號,選擇加「星標「或「置頂」git


做者:Abhinav Sagargithub

編譯:ronghuaiyang
web

導讀

用於自動駕駛的新的state of the art的網絡。算法

本文提出了一種新的神經網絡,利用不一樣尺度的多尺度特徵融合來實現精確高效的語義分割。瀏覽器

重點

  1. 咱們在下采樣部分使用了膨脹卷積層,在上採樣部分使用了轉置卷積層,並在concat層中對它們進行拼接。
  2. alternate blocks之間有跳躍鏈接,這有助於減小過擬合。
  3. 咱們對咱們的網絡訓練和優化細節進行了深刻的理論分析。
  4. 咱們在Camvid數據集上使用每一個類的平均精度和IOU做爲評價指標來評估咱們的網絡。
  5. 咱們的模型在語義分割上優於以前的state of the art網絡,在超過100幀每秒的速度下,平均IOU值爲74.12。

語義分割

語義分割須要對輸入圖像的每一個像素預測一個類,而不是對整個輸入圖像進行分類。爲了預測圖像中每一個像素的內容,分割不只須要找到輸入圖像中的內容,還須要找到它的位置。語義分割在自動駕駛、視頻監控、醫學影像等方面都有應用。這是一個具備挑戰性的問題,由於要在準確性和速度之間進行權衡。因爲模型最終須要在現實環境中部署,所以精度和速度都應該很高。微信

數據集

在訓練和評估中使用了CamVid數據集。數據集提供了ground truth標籤,將每一個像素與32個類中的一個相關聯。圖像大小爲360×480。數據集的ground truth樣本圖像如圖1所示:網絡

圖1:來自數據集圖像的Ground truth

將原始圖像做爲ground truth。對於任何算法,老是在與ground truth數據的比較中進行指標的評估。在數據集和測試集中提供ground truth信息用於訓練和測試。對於語義分割問題,ground truth包括圖像、圖像中目標的類別以及針對特定圖像中每一個目標的分割掩模。對於圖2中的12個類別,這些圖像分別以二進制格式顯示:架構

圖2:圖像轉換爲二進制類掩模

這些類別爲:Sky, Building, Pole, Road, Pavement, Tree, SignSymbol, Fence, Car, Pedestrian 和 Bicyclist.編輯器

網絡結構

對網絡結構的解釋以下:函數

  1. 咱們將原來360×480像素的圖像調整爲224×224像素。
  2. 咱們將數據集分紅兩個部分,訓練集中有85%的圖像,測試集中有15%的圖像。
  3. 使用的損失函數是分類交叉熵。
  4. 咱們用擴張卷積來代替下采樣層中的普通卷積層這是用來減小特徵圖的,用轉置卷積來代替上採樣層中的普通卷積層來恢復特徵。
  5. 咱們在圖層之間使用concat操做來合併不一樣尺度的特徵。
  6. 對於convolutional layer咱們沒有使用任何padding,使用3 * 3 filter,而且使用relu做爲激活函數。對於最大池化層,咱們使用2×2的過濾器和2×2的步長。
  7. 咱們使用VGG16做爲訓練模型的預訓練主幹。
  8. 在最後一層使用Softmax做爲激活函數,輸出一個物體是否存在於一個特定像素位置的離散機率。
  9. 咱們使用adam做爲優化器。
  10. 爲了不過擬合,咱們使用了咱們認爲最優的batch size值4。

本工做中使用的網絡結構圖3所示:

圖4:咱們的網絡結構

優化

假設給定一個局部特徵C,咱們將其輸入一個卷積層,分別生成兩個新的特徵圖B和C。對A與B的轉置進行矩陣乘法,應用softmax層計算空間注意力圖,定義以下式:

咱們在X和A的轉置之間進行矩陣乘法並reshape它們的結果。而後將結果乘以一個尺度參數β,並與A進行元素和運算,獲得最終的輸出結果以下式所示:

由上式可知,獲得的各通道特徵是各通道特徵的加權和,並模擬了各尺度特徵圖之間的語義依賴關係。主幹網絡以及子階段聚合方法可表示爲:

這裏i指的是stage的索引。

實驗

池化層的數量對IOU的影響如表2所示。

模型架構中使用的分支數和融合方法對IOU的影響如表3所示。

模型訓練了40個epoch,訓練的平均像素精度爲93%,驗證的平均像素精度爲88%。損失和像素級精度(訓練和測試)被繪製成epoch的函數,如圖4所示:

圖4:a) Loss vs epochs b) Accuracy vs epochs

評估指標

對於評價,使用瞭如下兩個指標:

一、每一個類的平均精度:這個度量輸出每一個像素的類預測精度。

二、平均IOU:它是一個分割性能參數,經過計算與ground truth掩模之間的交集和並集的比來度量兩個目標之間的重疊率。

按類別計算IOU值的方法以下所示。

其中TP爲真陽性,FP爲假陽性,FN爲假銀性,IOU表示交併比。

結果

使用多個block、FLOPS和參數對IOU的影響如表5所示。在這裏,FLOPS和參數是咱們的模型架構所須要的計算量的度量。

表6中顯示了以前的stage和咱們的模型結構所實現的FPS和IOU的比較分析。

將預測的分割結果與來自數據集的ground truth圖像進行比較,結果如圖5所示。

圖5:預測圖像的結果 —— 第一列來自dataset的原始圖像,第二列來自network的預測圖像,第三列來自dataset的ground truth圖像

總結

本文提出了一種基於多尺度關注特徵圖的語義分割網絡,並對其在Camvid數據集上的性能進行了評價。咱們使用了一個下采樣和上採樣結構,分別使用了擴展卷積和轉置卷積層,並結合了相應的池化層和反池化層。咱們的網絡在語義分割方面的表現超過了以往的技術水平,同時仍能以100幀每秒的速度運行,這在自動駕駛環境中很是重要。

論文地址:https://abhinavsagar.github.io/files/sem_seg.pdf

代碼:https://github.com/abhinavsagar/mssa

END

英文原文:https://towardsdatascience.com/semantic-segmentation-with-multi-scale-spatial-attention-5442ac808b3e

請長按或掃描二維碼關注本公衆號

喜歡的話,請給我個好看吧


本文分享自微信公衆號 - AI公園(AI_Paradise)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索