語義分割綜述《A SURVEY ON DEEP LEARNING-BASED ARCHITECTURES FOR SEMANTIC SEGMENTATION ON 2D IMAGES》論文翻譯

論文地址:A SURVEY ON DEEP LEARNING-BASED ARCHITECTURES FOR SEMANTIC SEGMENTATION ON 2D IMAGES

傳統超像素或者CRF.2013
Recurr CNN.2014
FCN.2014
DeepLabV1.2014
CMSA.2015
U-Net.2015
SegNet.2015
DeconvNet.2015
MSCG.2015
CRF-RNN.2015
FeatMap-Net.2016
DeepLabV2.2016
PSPNet.2017
DeepLabV3.2017
DIS.2017
Mask-RCNN.2017
GCN.2017
DFN.2018
MSCI.2018
DeepLabV3+.2018
HPN.2018
EncNet.2018
PSANet.2018
ExFuse.2018
EMANet, 2019
KSAC.2019
CFNet.2019
SDN.201
YOLACT.2019

摘要

  語義分割是對一張圖像進行像素級的分類。由於語義分割問題被定義爲像素級,意味着僅僅是圖像的分類是不夠的,還需需要在原圖像上進行像素級的分辨率進行定位。卷積神經網絡卓越的能力推動了創建語義級別,高層次和高緯度的圖像特徵;在過去十年裏(論文發表是2019/12/25)已經提出了過多的基於深度學習的2D圖像語義分割方法。在這個調查中我們主要集中於最新的語義分割科學發展,特別是基於深度學習的方法對2D圖像進行語義分割的方法。我們首先分析了用於2D語義分割的公共圖像集和排行榜,並概述了性能評估中採用的技術。在考察該領域的發展過程中,我們按時間順序將這些方法分爲三個主要階段,早期深度學習時代(pre-and early deep learning era),完全卷積的時代(the fully convolutional era)和FCN後的時代(post-FCN era)。我們從技術上分析了提出的解決方案,這些解決方案是爲解決該領域的基本問題而提出的,例如細粒度的定位和尺度不變性。在得出結論之前,我們列出了所有提到的時代的方法,並簡要介紹了每種方法的摘要,以解釋它們對這一領域的貢獻。我們通過討論該領域的當前挑戰以及在多大程度上解決了這些挑戰來結束調查。

1. 簡要

  語義分割最近已成爲基本問題之一,並且成爲計算機視覺和機器學習領域的熱門話題。 爲圖像的每個像素分配一個單獨的類別標籤是構建複雜的機器人系統(如無人駕駛汽車/無人機,人類友好型機器人,機器人輔助手術和智能軍事系統)的重要步驟之一。 這也難怪除了科學機構,研究人工智能的行業領先公司現在也正面臨這個問題。
  語義分割最簡單的問題定義是像素級標記。 由於問題是在像素級別定義的,因此僅查找場景中包含的類別標籤被認爲是不夠的,但是以原始圖像像素分辨率定位標籤也是一個基本目標。 根據上下文,類標籤可能會更改。 例如,在無人駕駛汽車中,像素標籤可以是人,道路和汽車[1],而在醫療系統[2、3]中,像素標籤可以是癌細胞,肌肉組織,主動脈壁等。
  不可否認,最近對這個話題的興趣增加是由卷積神經網絡[4](CNN)所取得的非凡成功所引起的,該卷積神經網絡已被帶入語義分割。 在語義層次上理解場景一直是計算機視覺的主要主題之一,但是直到現在,我們纔看到解決該問題的實際方法。
  在本文中,我們的主要動機是關注語義分割的最新科學進展,特別是基於深度學習的使用2D圖像的方法。我們將調查範圍縮小到僅使用2D可見圖像的技術的原因是,在我們看來,文獻中的問題規模如此之大和廣泛,以至於無法對所有語義分割模式進行分析和分類(例如(例如3D點雲,高光譜數據,MRI等)的詳細程度。除了分析使語義分割成爲可能和準確的技術之外,我們還將檢查爲此問題創建的最受歡迎的數據集。此外,我們回顧了用於評估語義分割成功與否的性能指標。最重要的是,我們提出了一種新穎的可以洞察現有的不足之處併爲該領域提出未來的方向的分類方法。
  本文的其餘部分安排如下:在以下小節中,我們將參考有關該主題的其他調查研究,並強調我們的貢獻。 第2節介紹了有關不同數據集,挑戰以及如何衡量語義分割性能。 從第3節開始,我們按時間順序詳細檢查了三個主要標題下的語義分割方法,因此在三個單獨的部分中進行了詳細的研究。 第3節介紹了深度卷積神經網絡之前和早期的方法。 第4節提供了有關語義分割里程碑的全卷積神經網絡的詳細信息。 第5節介紹了有關該問題的最新方法,並提供了有關這些方法的體系結構細節和成功與否的詳細信息。 最後,第6節爲本文的結論。

1.1 語義分割調查

  最近,在學術界和工業界的推動下,人們對語義分割的興趣迅速增加,不可避免地發表了許多調查研究的[5、3、1、6、7、8、9、10]。
  其中一些調查着眼於特定問題,例如地平線/天際線檢測的語義分割方法的對比[5],而其他調查則涉及與工業挑戰相關的相對廣泛的問題,例如無人駕駛汽車的語義分割[1]或醫療系統的語義分割[3]。如果研究相同的特定問題,這些研究會很有用,可能“在技術上”有助於該領域的未來發展方向,但是他們缺少一個願景。
  另一組[6、7、8、9]的語義分割調查研究提供了對該主題的總體概述,但它們缺乏有關基於深度學習的方法的必要深度分析。儘管在深度學習之前對語義分割進行了二十年的研究,但直到最近才實現了對該領域的實際貢獻,特別是在一篇關於全卷積網絡(FCN)的革命性論文[11]之後(在本文中也對此進行了詳盡的分析) )。可以說,大多數最新研究實際上是同一研究的擴展[11]。因此,如果不仔細分析FCN和後續論文的方向,調查研究將缺乏使用深度學習檢查語義分段的必要學術嚴謹性。
  另一方面,關於語義分割的大多數最新研究[12,13]在單獨的部分中提供了對文獻的可靠分析。由於這些研究主要是關於一種新方法的提議,因此分析通常很簡短,並且在捍衛論文自己的貢獻或立場時有些偏頗。因此,此類論文無法充分匹配或滿足調查所提供的深度,而調查通過無偏見的檢查和展望邏輯上涵蓋了所有相關技術。
  Garcia-Garcia等人對深度語義分割的最新綜述。 [10]對此問題進行了全面調查。他們涵蓋了幾乎所有流行的語義分割數據集和方法,並涵蓋了所有模態,例如2D,RGB,2.5D,RGB-D和3D數據。儘管從涉及深度語義分割的大多數相關材料的意義上說,這項研究是包容性的,但由於調查試圖涵蓋語義分割文獻主題下的幾乎所有內容,因此方法的分類是粗糙的。最近關於語義分割的深度學習研究遵循了許多基本方向和努力來解決各種相應的問題。在這份調查報告中,我們定義和描述了這些新挑戰,並在此建議的背景下對所有研究進行了新穎,一致的分類。這樣,我們相信讀者會更好地瞭解當前的最新技術以及2D語義分割的未來方向。

2 數據集,挑戰和性能指標

2.1 數據集和挑戰

  毫無疑問,任何機器學習應用的成功水平都取決於用於訓練的數據的質量和深度。 當涉及到深度學習時,數據就顯得尤爲重要,因爲大多數系統都是端對端的,因此,即使功能是由數據決定的,而不是爲了數據存在的。 因此,在深度學習的情況下,數據不再是對象,而是成爲實際的主題。
  在本節中,我們將研究已用於語義分割問題的最流行的大規模2D數據集。這些數據集分爲兩個主要分支,即通用數據集,其通用類別標籤包括幾乎每種類型的對象或背景,還有城市街道數據集,其中包括諸如汽車和人的類別標籤,通常會創建用於無人駕駛汽車系統的培訓。還有許多其他未解決的2D語義分割問題域,例如醫學成像,衛星圖像或紅外圖像。但是,由於城市街道數據吸引了行業的更多關注,目前正在推動該領域的科學發展。非常大型的數據集和擁擠的排行榜存在的挑戰僅適用於工業用戶。基於深度的語義分割的科學興趣正在迅速增長。然而,如引言中所述,我們從當前研究中排除了基於深度的3D分割數據集,以便將足夠的細節集中在與2D語義分割相關的最新技術的新穎分類上。
在這裏插入圖片描述

2.1.1 通用語義分割數據集

  •   PASCAL視覺目標類別(VOC)[14]:該數據集不僅包含圖像註釋,用於語義分割,而且還用於分類,檢測,動作分類和人員佈局任務。 數據集和註釋會定期更新,挑戰排行榜是公開的(僅針對細分挑戰就有100多個提交內容)。 它在語義分割挑戰中最受歡迎,並且在2005年首次發佈後仍然活躍。PASCALVOC語義分割挑戰數據集包括20個前景對象類和一個背景類。 原始數據包括用於訓練目的的1,464張圖像,以及用於驗證的1,449張圖像。 1,456張測試圖像對挑戰者保密。 該數據集包括所有類型的室內和室外圖像,並且在所有類別中都是通用的。
      PASCAL VOC數據集具有許多擴展數據集,其中最流行的是PASCAL Context[15]和PASCAL Parts[16]。第一個[15]是PASCAL VOC 2010的一組附加註釋,它通過爲整個場景提供註釋而超出了原始的PASCAL語義分割任務。統計信息部分包含400多個標籤的完整列表(相比之下,原始21個標籤)。第二個[16]也是PASCAL VOC 2010的一組附加註釋。它爲對象的每個身體部位(例如分別標記的動物肢體)提供了分割蒙版。對於這些擴展,訓練和驗證集包含10,103張圖像,而測試集包含9,637張圖像。使用其他功能註釋的PASCAL VOC還有其他擴展,例如語義部分(PASParts)[17]圖像集和語義邊界數據集(SBD)[18]。例如,PASParts [17]還提供了“實例”標籤,例如圖像中對象的兩個實例被分別標記,而不是使用單個類標籤。但是,與前兩個附加擴展[16,15]不同,這些擴展[17,18]被證明不那麼受歡迎,因爲它們的挑戰在最新的語義細分研究中吸引了較少的關注,因此它們的排行榜是沒那麼擠。在圖1中,描述了示例對象,零件和實例分割。

  •   上下文中的通用目標(COCO)[19]:帶有20萬個標記圖像,150萬個對象實例和80個對象類別,COCO是非常大型的對象檢測,語義分割和字幕圖像集,包括幾乎所有可能的場景類型。 COCO不僅在實例級和像素級(它們稱爲“填充”)語義分割方面提出了挑戰,而且還引入了一項新的任務,即全景分割[20],該任務旨在統一實例級和像素級細分任務。 由於數據規模,他們的排行榜2相對不那麼擁擠。 另一方面,出於同樣的原因,他們的挑戰僅由最具雄心的科學和工業團體評估,因此被視爲其排行榜中的最新技術。

  •   其他通用語義分割數據集:儘管不如PASCAL VOC或COCO流行,但在同一域中還有一些其他數據集。 [21]中介紹了YouTube-Objects,它是一組低分辨率(480×360)的視頻剪輯,具有超過10k像素註釋幀。 類似地,SIFT流[22]是另一個具有33個類別標籤的低分辨率(256×256)語義分割圖像集,總共2688張圖像。 這些和其他相對原始的圖像集由於其有限的分辨率和較小的體積而在語義分割文獻中已被大部分拋棄。

2.1.2 城市街道語義分割數據集

  •   Cityscapes [23]:這是一個大型數據集,着重於對城市街道場景的語義理解。 它包含來自50個不同城市的高分辨率圖像的註釋,這些註釋是在一天的不同時段和一年中的所有季節拍攝的,並且具有不同的背景和場景佈局。 註釋以兩個質量級別執行:對5,000張圖像進行高質量像素級註釋,對20,000張圖像進行弱註釋。 有30種不同的類別標籤,其中一些還帶有實例註釋(車輛,人,車手等)。 因此,使用單獨的公共排行榜3存在兩個挑戰:一個挑戰用於像素級語義分段,第二個挑戰用於實例級語義分段。 挑戰共有100多個條目,這使得它在有關城市街道場景的語義分割方面最受歡迎。
  •   其他城市街道語義分割圖像集:有許多可供選擇的城市街道語義分割數據集,例如CamVid [24],KITTI [25]和SYNTHIA [26]。 由於種種原因,這些通常被Cityscapes數據集[23]所掩蓋。 原則上,它們的規模相對較低。 只有SYNTHIA圖像集[26]可以被認爲是大規模的(帶註釋的圖像超過13k); 但是,它是人爲生成的圖像集,對於無人駕駛汽車等對安全至關重要的系統,這被認爲是一個主要限制。

2.2 性能指標

  評估語義分割的性能有兩個主要標準:準確性,換句話說,算法的成功; 以及在速度和內存要求方面的計算複雜性。 在本節中,我們將分別分析這兩個條件。

2.2.1 準確率

  測量細分的性能可能很複雜,這主要是因爲要測量兩個不同的值。 第一個是分類,它只是確定像素級的分類標籤; 第二個是定位,或者找到包圍對象的正確像素集。 可以在文獻中找到不同的度量標準來測量這些值中的一個或兩個。 以下是對最常用的評估語義分段性能的主要措施的簡要說明。

  •   ROC-AUC:ROC代表接收者-操作者特徵曲線,該曲線總結了使用不同概率閾值的預測模型的真陽性率和假陽性率之間的權衡; 而AUC代表該曲線下的面積,最大爲1。 該工具在解釋二分類問題時很有用,並且在觀察值在類之間達到平衡時適用。 但是,由於大多數語義分割數據集[14、15、16、17、18、19、23]在類之間不平衡,因此最流行的挑戰不再使用此度量。
  •   像素精度:也稱爲全局精度[27],像素精度(PA)是一種非常簡單的指標,用於計算正確分類的像素數量與其總數之間的比率。 平均像素精度(mPA)是此指標的一種版本,它可以按類別計算正確像素的比例。 mPA也稱爲類別平均準確度[27]。其中,njjn_{jj}是被分類並標記爲類jj的像素總數。 換句話說,njjn_{jj}對應於類jj的“正陽性”總數。 tjt_j是標記爲類jj的像素總數。
    PA=j=1knjjj=1ktj PA=\frac{\sum^{k}_{j=1}n_{jj}}{\sum_{j=1}^{k}t_j}
    mPA=1kj=1knjjtj mPA=\frac{1}{k}\sum^{k}_{j=1}\frac{n_{jj}}{t_j}
  •   交併比(IoU):也稱爲Jaccard索引,IoU是用於比較樣本集的相似性和多樣性的統計信息。 在語義分割中,它是逐像素分類結果與基本事實的交集與它們的並集之比。其中,nijn_{ij}是被標記爲類ii但被分類爲類jj的像素數。 換句話說,它們是類jj的誤報(誤報)。 類似地,標記爲jj類但分類爲ii類的像素總數njin_{ji}jj類的假陰性(缺失)。 IoU的兩個擴展版本也被廣泛使用:
    IoU=j=1knjjj=1k(nij+nji+njj),ij IoU=\frac{ \sum_{j=1}^{k}n_{jj} }{ \sum_{j=1}^{k}(n_{ij} + n_{ji} + n_{jj}) }, i\neq j
      mIou(平均交併比):mIoU是IoU的類別平均:
    mIoU=1kj=1knjjnij+nji+njj,ij mIoU=\frac{1}{k}\sum_{j=1}^{k}\frac{n_{jj}}{ n_{ij} + n_{ji} + n_{jj} },i\neq j
      FwIoU(頻權交併比):這是mIoU的改進版本,它通過使用tjt_j(標記爲jj類的像素總數)來根據出現頻率權衡每個類的重要性。 FwIoU的下面的公式中給出:
    FwIoU=1j=1ktjj=1ktjnjjnij+nji+njj,ij FwIoU=\frac{1}{\sum_{j=1}^{k}t_j}\sum_{j=1}^{k}t_j\frac{n_{jj}}{ n_{ij} + n_{ji} + n_{jj} },i\neq j
      IoU及其擴展可計算出真陽性(命中)與假陽性(假警報),假陰性(未命中)和真陽性(命中)之和的比率。 因此,與像素精度相比,IoU度量的信息量更大,這僅僅是因爲它考慮了錯誤警報,而PA則沒有。 但是,由於分母中彙總了錯誤的警報和未命中,因此使用此度量標準無法衡量它們之間的重要性,這被認爲是其主要缺點。 另外,IoU僅測量正確標記的像素數量,而不考慮分割邊界的精確度。
  • 基於精確召回曲線(PRC)的指標:精確度(命中率與命中率和錯誤警報總和之比)和召回率(命中率與命中率和未命中之總比)是PRC的在二分類任務的變化閾值下描述精度和召回率之間存在權衡的座標軸。 PRC與ROC非常相似。 但是,PRC在區分誤報(警報)和誤報(遺漏)之間的影響方面更爲強大。 這就是爲什麼基於PRC的度量標準通常用於評估語義細分的性能的原因。 給定類j的精確度(也稱爲特異性)和召回率(也稱爲靈敏度)的公式在下面:
    Prec=njjnij+njj,Recall=njjnji+njj,ij Prec=\frac{n_{jj}}{n_{ij} + n_{jj}}, Recall=\frac{n_{jj}}{n_{ji} + n_{jj}},i\neq j
      RPC主要有三個基本的度量指標:
      FscoreF_{score}:也稱爲“骰子係數”,此度量是給定閾值的精度和查全率的諧波平均值。 它是相似性的標準化度量,範圍在0到1之間。
    Fscore=2×Precision×RecallPrecision+Recall F_{score}=2 \times \frac{Precision \times Recall}{Precision + Recall}
      RPCAuCRPC_AuC:這類似於ROC-AUC指標。 它和PRC下面的區域的簡化版。 此度量標準是指有關不同閾值的精確調用權衡的信息,而不是PR曲線的形狀。
      AP()AP(平均準確率):該度量是一個單一值,它總結了PRC的形狀和AUC。 爲了使用AP計算AP,對於統一採樣的召回值(例如0.0、0.1、0.2,…,1.0),要記錄精度值。 這些精度值的平均值稱爲平均精度。 這是用於語義細分的最常用的單值度量。 同樣,平均平均精度(mAP)是AP值的平均值,以每個類別爲基礎計算。

  在最流行的語義分割挑戰中,IoU及其變體以及AP是最常用的準確性評估指標[14、15、16、17、18、19、23]。

2.2.2 計算複雜度

  使用兩個主要指標評估計算的負擔:算法完成的速度以及需要多少計算內存。

  •  &emsp:執行時間:這是整個處理時間,從將單個圖像引入系統/算法的那一刻開始,一直到獲得逐像素語義分割結果爲止。該指標的性能很大程度上取決於所使用的硬件。因此,對於算法,任何執行時間度量都應隨附所用硬件的完整描述。有諸如Big-O之類的符號,它們提供了獨立於實現域的複雜性度量。但是,這些表示法具有很高的理論性,因此對於諸如深度語義分段之類的極其複雜的算法,由於它們簡單且很大程度上不準確,因此不被首選。
      對於基於深度學習的算法,離線(即,訓練)和在線(即,測試)操作可能持續相當不同的時間間隔。從技術上講,執行時間僅指在線操作,或者從理論上講是指單個圖像的測試持續時間。儘管此度量標準對於工業應用極爲重要,但學術研究並未公佈確切的執行時間,並且上述任何挑戰均未找到提供該度量標準的方法。在最近的一項研究中,[28]提供了精度(MIoU%)與每秒幀數的二維直方圖,其中一些帶有開放源代碼的最新技術(包括其建議的結構,即圖像級聯網絡(ICNet),使用Cityscapes [23]圖像集進行了基準測試。
  •  &emsp:內存使用:當在智能手機,數碼相機等性能有限的設備中使用語義分段時,或者在系統要求極爲嚴格的情況下,內存使用特別重要。 其中最主要的例子是軍事系統或對安全至關重要的系統,例如自動駕駛汽車。
      諸如語義分段之類的複雜算法的內存使用情況在操作期間可能會發生巨大變化。 這就是爲什麼爲此目的一個通用指標是峯值內存使用情況,它只是單個圖像整個分段操作所需的最大內存。 該度量標準可能適用於計算機(數據)內存或GPU內存,具體取決於硬件設計。
      儘管對於工業應用至關重要,但通常無法將其用於任何上述挑戰。

3 FCNs前的方法

  如引言中所述,FCN的使用是語義分割文獻的一個突破點。 可以將FCN之前的語義細分文獻[11]的工作分爲兩個單獨的分支,作爲預深度學習和早期深度學習方法。 在本節中,我們簡要討論兩種方法。

3.1 前深度學習方法

  傳統圖像分割和語義分割之間的區別因素是在處理過程中語義特徵的利用。圖像分割的常規方法,例如閾值化,聚類和區域增長等(請參見[29]進行常規圖像分割技術的調查),利用手工製作的低級特徵(即邊緣,斑點)來定位對象邊界。圖片。因此,在圖像的語義信息對於逐像素分割是必需的情況下,例如在相互遮擋的相似對象中,這些方法通常會返回較差的性能。
  關於在深度CNN流行之前的語義分段工作,各種各樣的方法[30,31,32,33,34,35,36,37,38,39,40,41,42]利用圖形模型,例如Markov隨機場(MRF),條件隨機場(CRF)或基於森林的(或有時稱爲“整體”)方法,以便在像素級別查找場景標籤。主要思想是通過觀察相鄰像素之間的依賴關係來找到一個推斷。換句話說,這些方法將圖像的語義建模爲相鄰像素之間的一種“先驗”信息。感謝深度學習,今天我們知道圖像語義需要對大規模數據進行抽象利用。最初,基於圖的方法被認爲具有這種潛力。所謂的“超像素化”
  通常在這些研究中使用的術語是對抽象區域進行建模的過程。但是,對於這些方法,從未實現大規模數據處理的實用可行的實現方式,而對於深層CNN則首先通過[43],然後在許多其他研究中實現了這種方式。
  另一組研究(有時稱爲“分層模型” [44、45、46])使用了一組經過預訓練和分離的對象檢測器,以便從圖像中提取語義信息。由於各個物體探測器無法正確地對區域進行分類,或者由於該方法受到“手動選擇”的探測器組通常提供的有限數量的物體類別的限制,因此與今天的狀態相比,它們的性能相對較低。最先進的方法。
  儘管深度學習前時代的上述方法不再被用作分割方法,但是一些圖形模型(尤其是CRF)目前正在由最新技術用作後處理(優化)層爲了提高語義分割性能,將在以下部分中討論其詳細信息。
在這裏插入圖片描述

3.1.1 提煉方法

  深度神經網絡在提取抽象局部特徵方面功能強大。但是,它們缺乏利用全局上下文信息的能力,因此無法對相鄰像素預測之間的交互進行建模[47]。另一方面,預深度學習時代流行的分割方法(圖形模型)非常適合此類任務。這就是爲什麼它們當前被用作許多基於CNN的深度語義分割體系結構上的細化層的原因。
  如前一節所述,使用圖形模型進行分割的想法是通過觀察相鄰像素之間的低級關係來找到一個推斷。在圖2中,可以看到使用基於圖形模型的細化對分割結果的影響。分類器(參見圖2.b)無法正確分割相鄰的不同類別標籤的像素。在這個例子中,基於CRF的細化[42]用於改善像素方向的分割結果。基於CRF的方法被廣泛用於深度語義分割方法的細化,儘管在文獻中也存在一些基於圖形模型的細化方法[48,49]。
  CRFs [50]是一種可判別的無向概率圖形模型。它們用於對觀測值之間的已知關係進行編碼並構造一致的解釋。它們用作精化層的原因在於,與不考慮相鄰像素相似性的離散分類器不同,CRF可以利用此信息。與其他圖形模型(例如隱馬爾可夫模型)相比,CRF的主要優勢在於它們的條件性質和避免標籤偏差問題的能力[50]。即使大量方法(參見表1)利用CRF進行細化,但這些模型由於衆所周知的緩慢且難以優化而在相對較新的方法中開始失去普及[47]。

3.2 早期深度學習方法

  在FCN於2014年首次出現之前,深度卷積網絡的最初幾年對利用新發現的深度特徵進行語義分割的想法越來越感興趣[52、53、54、55、56、57]。在提出ReLU層[43]之前發佈的第一種方法是使用激活函數,例如tanh [52](或類似的連續函數),這可能很難區分。因此,訓練這樣的系統不被認爲對計算友好,甚至對於大規模數據也不可行。
  但是,第一個成熟的方法只是通過微調完全連接的層將分類網絡(例如AlexNet和VGG)轉換爲分段網絡的簡單嘗試[52、53、54]。他們在訓練階段遭受了完全連接的各層的過度擬合和耗時的困擾。此外,所使用的CNN不夠深,無法創建抽象特徵,抽象特徵與圖像的語義有關。
  在早期的深度學習研究中,研究人員拒絕使用完全連接的層來進行決策,而是採用了不同的結構,例如循環架構[57]或使用來自單獨計算的細分族的標籤[55]。通過爲全連接層提出替代解決方案,這些早期研究表明了FCN之類的結構的必要性的最初痕跡,毫不奇怪,它們獲得了成功。[11]。
  由於他們的分割結果被認爲是不令人滿意的,因此這些研究通常利用改進過程,或者作爲後處理層[52、53、54、56],或者作爲完全連接的決策層的替代體系結構[55、57]。精細化方法多種多樣,例如馬爾可夫隨機場[52],基於最近鄰居的方法[53],使用校準層[54],使用超像素[55、56]或純CNN的遞歸網絡[57] ]。如前一部分所述,精化層仍被後FCN方法利用,目的是提高發生類交叉的區域周圍的逐像素標註性能。
在這裏插入圖片描述

4 全卷積語義分割網絡

  在[11]中,提出了從深層CNN(DCNN)拆除完全連接的層的想法,並且暗示這個想法,該提議的體系結構被命名爲“完全卷積網絡”(參見圖3)。主要目標是通過將分類網絡(例如AlexNet [58],VGG [59]和GoogLeNet [60])改編爲完全卷積網絡,然後通過微調傳遞它們的學習表示,來創建語義分割網絡。通過研究[11]獲得的使用最廣泛的架構稱爲“ FCN-32s”,“ FCN16s”和“ FCN8s”,它們都是使用VGG架構[59]進行轉移學習的。
  FCN體系結構在許多方面都被認爲具有革命性意義。首先,由於FCN不包括完全連接的層,因此每個圖像的推斷被認爲要快得多。這主要是因爲與完全連接的層相比,卷積層的權重很小。其次,也許更重要的是,該結構允許針對任何分辨率的圖像生成分割圖。爲了實現這一點,FCN使用了反捲積層,可以將粗糙的深卷積層輸出上採樣到任何所需分辨率的密集像素。最後,最重要的是,他們提出了DCNN的跳過體系結構。
  跳過體系結構(或連接)提供DCNN中不相鄰層之間的鏈接。這些連接只需簡單地對未連接層的輸出求和或串聯,就可以使信息流通,否則,由於架構選擇(例如最大池層或丟包),這些信息將丟失。最常見的做法是在最大池化層之前使用跳過連接,該連接通過選擇特定區域中的最大值來對層輸出進行下采樣。池化層有助於體系結構創建功能層次結構,但也會導致本地化信息的丟失,這對於語義分割(特別是在對象邊界處)可能是有價值的。跳過連接通過繞過池化層將這些信息保留並轉發到更深的層。實際上,在[11]中使用跳過連接被認爲是相當原始的。 “ FCN-8s”和“ FCN-16s”網絡在不同的層包括了這些跳過連接。用於相同架構的Denser跳過連接,即“ FCN-4s”和“ FCN-2s”,也用於各種應用[61,62]。這個想法最終演變爲用於語義分割的編碼器-解碼器結構[63,27],將在下一節中介紹。

5 FCNs後的方法

  在過去的五年中,全球範圍內對語義分割的興趣急劇增加。 幾乎所有隨後的語義分割方法都遵循FCN的思想,因此,在出現語義分割問題後,隨着FCN的出現,聲明完全連接的層實際上不再存在5是正確的。
  另一方面,FCN的思想也爲進一步改進深度語義分段架構創造了新的機會。一般而言,FCN的主要缺點可以歸納爲在特徵層次結構中標籤定位效率低下,無法處理全局上下文知識以及缺乏多尺度處理機制。因此,大多數後續研究的主要目的是通過提出各種體系結構或技術來解決這些問題。在本文的其餘部分,我們以“細粒度本地化”爲標題分析這些問題。因此,在介紹FCN後最新技術列表之前,我們將重點介紹這種技術分類,並研究旨在解決這些主要問題的不同方法。在下文中,我們還將討論語義分割上下文中的尺度不變性,並以基於對象檢測的方法作爲結束,這是一種新型解決方案,旨在在檢測對象實例的同時解決語義分割問題。

5.1 細粒度定位的技術

  根據定義,語義分割是一個密集的過程,因此它需要在像素級別對類標籤進行細粒度的定位。 例如,在機器人手術中,語義分割中的像素錯誤可能導致生死攸關的情況。 通過池化(即最大池化)層創建的分層功能可能會部分失去本地化。 此外,由於它們的完全卷積性質,FCN本身不具備對圖像中的全局上下文信息建模的能力,這在類標籤的定位中也非常有效。 因此,這兩個問題本質上是交織在一起的,下面我們討論旨在克服這些問題並提供更好的類標籤本地化的不同方法。

5.1.1 編解碼器結構

  所謂的Encoder-Decoder(ED)架構(也稱爲U-net,指的是對[63]的開創性研究)由兩部分組成。編碼器通過池化層逐漸減小空間尺寸,而解碼器則逐漸恢復對象細節和空間尺寸。解碼器部分的每個特徵圖僅使用跳過連接直接從編碼器部分同一級別的特徵圖接收信息,因此ED可以創建具有精細定位的抽象分層特徵(請參見圖4.a)。 U-Net [63]和Seg-Net [27]是非常著名的示例。在此體系結構中,由編碼器部分的相鄰較低分辨率特徵圖提供的高度相關的語義信息必須經過其他中間層才能到達同一解碼器層。這通常導致一定程度的信息衰減。然而,事實證明,U-Net架構對於分割不同的應用(例如衛星圖像)非常有用[65]。
在這裏插入圖片描述

5.1.2 空間金字塔池化

  文獻[66]首先提出了構建固定大小的空間金字塔的想法,以防止單詞袋系統失去要素之間的空間關係。後來,該方法被[67]應用於CNN,因爲無論輸入大小如何,都可以在空間金字塔池網絡(SPP-Net)中創建深度特徵的空間金字塔表示。 SPP-Net的最重要貢獻是它允許將不同大小的輸入輸入到CNN中。饋入卷積層的不同大小的圖像不可避免地會創建不同大小的特徵圖。但是,如果在決策層之前的合併層具有與輸入大小成比例的步幅值,則由該層創建的要素圖將是固定的(請參見圖4.b)。
  常見的誤解是SPP-Net結構具有固有的尺度不變性,這是不正確的。 SPP-Net通過允許CNN具有不同的輸入大小,可以有效地訓練不同比例/分辨率的圖像。但是,僅當訓練集包含具有不同比例/分辨率的圖像時,帶有SPP的經過訓練的CNN纔是比例不變的。對於沒有SPP層的CNN,這一事實也是如此。
  但是,類似於[66]中提出的原始思想,CNN中的SPP層構造了不同層次的特徵之間的關係。因此,在ED結構中跳過連接非常相似,這也允許信息在層次結構之間流動。
  在[67]中提出了SPP層用於語義分割的最常見用法,因此,將SPP層附加到最後的卷積層並饋送到按像素分類器。
在這裏插入圖片描述

5.1.3 特徵融合

  這個想法是基於融合從不同來源提取的特徵。 例如,在[68]中,所謂的“ DeepMask”網絡以前饋方式利用跳躍連接,從而獲得了部分類似於SPP層和ED的架構。 該小組通過前饋模塊的自上而下的細化方法擴展了這一想法,並提出了所謂的“ SharpMask”網絡,事實證明,該網絡在細分效果方面更加有效和準確。 此類別中的另一種方法是所謂的“ ParseNet” [69],該方法將CNN功能與先前層的外部全局功能融合在一起,以提供上下文信息。 儘管原則上是一個新穎的想法,但特徵融合方法(包括SPP)會創建混合結構,因此相對較難訓練。

5.1.4 空洞卷積

  擴散(無窮)卷積的想法實際上很簡單:使用連續的卷積濾波器,單位的有效接收場只能隨層線性增長; 反之,通過擴張卷積,在濾波器中有間隙(見圖4.c),有效接收場將增長得更快[70]。 因此,在沒有合併或二次採樣的情況下,創建了卷積層的直角棱鏡。 擴張卷積是一種非常有效且功能強大的方法,用於詳細保存特徵圖分辨率。 與其他技術相比,該技術的消極方面涉及其對GPU存儲和計算的更高要求,因爲特徵圖分辨率不會在特徵層次結構內縮小[71]。
在這裏插入圖片描述

5.1.5 條件隨機場

  正如在3.1.1節中討論的那樣,CNN自然缺少專門“集中”類交叉點發生區域的機制。 在這些區域周圍,使用圖形模型通過觀察CNN層相鄰特徵圖之間的低級關係來查找推理。 因此,圖形模型(主要是CRF)被用作深度語義分割體系結構中的細化層。 如[72]中所述,CRF將低級交互與多類交互的輸出聯繫起來,從而構建了全局上下文知識。
  作爲完善層,存在使用CRF到深CNN的各種方法,例如卷積CRF [47],密集CRF [42]和CRN-as-RNN [73]。 儘管CRF有助於建立上下文知識,從而在類標籤中提供更好的本地化水平,但表1仍將CRF歸類在“ CRF模型”標籤下,以便將它們與實際的CNN體系結構擴展區分開來。

5.1.6 循環網絡方法

  遞歸神經網絡(RNN)處理時間信息的能力可以幫助提高分割精度。例如,[74]使用ConvLSTM層來改善其在圖像序列中的語義分割結果。但是,也有一些方法在靜態圖像上使用循環結構。在[13]中,研究人員利用LSTM鏈來纏繞多個尺度,從而改進了像素級分割。還有將CNN和RNN融合在一起的混合方法。一個很好的例子就是所謂的ReSeg模型[75],其中輸入圖像被饋送到類似VGG的CNN編碼器,然後由遞歸層(即ReNet架構)進行處理,以便更好地定位像素標籤。據我們所知,不存在用於語義分割的純粹遞歸結構,這主要是因爲語義分割需要一種基於CNN的初步特徵編碼方案。
  目前,一種特定類型的RNN(即“注意模塊”)呈上升趨勢。在這些模塊中,RNN在技術上融合了注意力[76],從而在預測輸出序列的特定部分時將重點放在輸入的某些區域。因此,它們也被用於語義分割[77、78、79]。

5.2 尺度不變性

  比例不變性,顧名思義,是一種方法,能夠獨立於相對比例(即,對象相對於其場景的比例)或圖像分辨率來處理輸入的能力。儘管對於某些應用程序來說至關重要,但是這種能力通常會被忽略或與包含多尺度信息的方法的能力相混淆。一種方法可以使用多尺度信息來改善其按像素劃分的能力,但是仍然可以取決於尺度或分辨率。因此,我們認爲有必要以不同的標題討論此問題,並提供有關提供比例和/或分辨率不變性的技術的信息。
  在計算機視覺中,如果使用訓練標尺的多個標度進行訓練,則任何方法都可以變爲標度不變。一些語義分割方法利用了這種策略,例如[55,80,57,81,82]。但是,這些方法不具有固有的尺度不變性,通常通過使用全局尺度因子進行歸一化來獲得固有的尺度不變性(例如在SIFT [83]中)。在語義分割的文獻中通常不優選這種方法。語義分割文獻中存在的圖像集非常大。因此,對這些方法進行訓練以記住該訓練集,因爲原則上,過度擬合大型訓練集實際上等於解決了整個問題空間。

5.3 基於目標檢測的方法

  計算機視覺中最近出現了一種增長的趨勢,其目的是專門解決對象檢測的問題,即圍繞圖像內的所有對象建立邊界框。給定圖像可能包含或可能不包含任何數量的對象,用於解決此類問題的體系結構與現有的完全連接/卷積分類或分段模型不同。
  代表這一想法的開創性研究是著名的“具有CNN功能的區域”(RCNN)網絡[84]。具有完全卷積和完全連接的層的標準CNN缺乏提供可變長度輸出的能力,這是旨在檢測圖像中未知數量圖像的對象檢測算法的主要缺陷。解決此問題的最簡單方法是從圖像中獲取不同的感興趣區域,然後採用CNN以便分別檢測每個區域內的對象。這種區域選擇架構稱爲“區域提案網絡”(RPN),是用於構建RCNN網絡的基本結構(請參見圖5.a)。隨後,同一研究小組還提出了RCNN的改進版本,即“ Fast-RCNN” [84]和“ Faster-RCNN” [85]。因爲這些網絡允許單獨檢測圖像中的所有對象,所以該想法很容易實現,例如“ Mask-RCNN” [86]。
  RCNN的基本結構包括RPN,它是CNN層和完全連接的結構的組合,以便確定對象類別和邊界框位置。正如本文前面各節所討論的,由於結構繁瑣,完全連接的層在很大程度上被FCN放棄了。當提出“ You-Only-Look-Once”(YOLO)[87]和“ Single Shot Detector”(SSD)[88]架構時,RCNN具有相似的命運。 YOLO利用單個卷積網絡來預測邊界框和這些框的類概率。它沒有完全連接的層,因此提供了實時性能。 SSD提出了類似的想法,即在多個卷積層之後預測邊界框。由於每個卷積層以不同的比例運行,因此該體系結構能夠檢測各種比例的對象。雖然比YOLO慢,但仍被認爲比RCNN快。這種新的物體檢測技術立即應用於語義分割。與MaskRCNN類似,“ Mask-YOLO” [89]和“ YOLACT” [90]體系結構是這些對象檢測器的實例分割問題的實現。
  在像素級上對圖像進行分割之前查找圖像中的對象既直觀又自然,因爲這實際上是人腦完成此任務的方式。因此,採用基於對象檢測的方法進行語義分割是一個很容易在不久的將來進一步發展的領域。
在這裏插入圖片描述
在這裏插入圖片描述

5.4 現存的方法

  在本節中,我們介紹了一些用於語義分割的最新方法。在本調查文件中,我們避免提供基於性能的比較,因爲這樣的基準測試被認爲是不必要的,因爲這些方法已經在各種挑戰中展現了其成功率。關於這個問題,我們建議讀者參考第2節中提到的排行榜。
  在表1中,我們提出了幾種語義分割方法,每種方法都有一個簡短的摘要,解釋了代表所提出解決方案的基本思想,它們旨在解決的問題類型(例如對象,實例或零件分割),以及它們是否包括完善步驟。目的是使讀者對本領域的方法和體系結構有更好的進化理解,並對本領域將來如何發展有更清晰的認識。關於列出的方法的簡要概述,請參閱本節前面提供的分類。
  表1涵蓋了爲期7年的29種方法,從早期的深度學習方法一直到最新的技術。大多數列出的研究都相當成功,並且在前面提到的排行榜中具有很高的排名。儘管還有許多其他方法,但我們認爲此列表清楚地描述了基於深度學習的語義分割方法的進展。從其描繪的圖片來看,文學的深入發展清楚地揭示了許多重要的含義。首先,基於圖形模型的優化模塊由於其緩慢的特性而被放棄。 DeepLab從[91]到[97]的演變就是一個很好的例子(見表1)。值得注意的是,2019年沒有發表任何重大研究採用基於CRF或類似的模塊來完善其細分結果。其次,過去兩年發表的研究表明,績效率沒有明顯的飛躍。因此,研究人員傾向於將重點放在實驗解決方案上,例如基於對象檢測或基於注意力的方法。考慮到後FCN時代的研究,該領域的主要問題仍然是有效地將全局上下文集成到本地化信息中,而本地化信息似乎還沒有現成的解決方案。

6 結論

  在此調查中,我們旨在回顧有關基於深度學習的2D圖像語義分割的文獻方面的最新發展。我們從對2D語義分割的公共圖像集和排行榜進行分析開始,然後繼續概述性能評估技術。繼介紹之後,我們的重點轉移到了該領域以三個時間順序命名的十年發展歷程,即深度學習前和早期學習時代,完全卷積時代和後FCN時代。在對每個時期的方法進行技術分析之後,我們提供了涵蓋所有三個時代的方法表,並簡要概述了每種技術,以闡明它們對該領域的貢獻。
  在我們的評論中,我們特別關注2D語義問題的關鍵技術挑戰,提出的基於深度學習的解決方案,以及這些解決方案在塑造該領域的進步時是如何發展的。爲此,我們觀察到像素標籤的細粒度定位顯然是對整個問題的明確挑戰。儘管標題可能意味着更“本地化”的興趣,但該領域發表的研究顯然表明,確定方法實際性能的是全局背景。因此,可以想象的是,爲什麼文獻中包含嘗試將本地信息與更全局的上下文聯繫起來的方法,例如圖形模型,上下文聚合網絡,遞歸方法和基於關注的模塊。同樣清楚的是,在可預見的將來,將繼續努力在像素級別上解決這種局部-全局語義鴻溝。
  這次審查的另一個重要啓示是,公衆挑戰對現場產生了深遠的影響。學術界和工業團體都在不斷努力爭奪這些公共排行榜的榜首,這明顯促進了該領域的發展。因此,明智的做法是促進甚至促進創建類似於語義分割問題的更具體主題(例如2D醫學圖像)的相似公共圖像集和挑戰。
  考慮到該領域中快速且持續的發展,迫切需要更新有關語義分割問題的調查。 但是,我們認爲,當前的調查可能被視爲衡量該領域迄今取得了多少進展以及未來方向可能位於何處的里程碑。

方法 模型總結 分割類別 後處理
Hier. Feat. 55 多尺度卷積網絡與分割框架(超像素或基於CRF)並行融合。 Object “Parallel” CRF [55]
Recurr. CNN57 通過使用CNN的不同實例構建的遞歸體系結構,其中,每個網絡實例都具有先前的標籤預測(從先前的實例獲得)。 Object None
FCN 11 具有跳過連接的完全卷積編碼器結構(即沒有完全連接的層),可在最終決策層融合多尺度激活。 Object None
DeepLab.v191 具有擴張卷積的CNN,其後是完全連接的CRF(即密集的CRF)。 Object Dense CRF[42]
CMSA 80 金字塔形輸入的層被饋送到並行的不同比例的單獨FCN。 這些多尺度FCN也串聯連接,以同時提供按像素分類,深度和法向輸出。 Object None
U-Net 63 具有跳過連接的編碼器/解碼器結構,這些連接連接相同級別的ED和最終輸入大小的分類層。 Object None
Seg-Net 27 具有僅傳輸池索引的跳過連接的編碼器/解碼器結構(類似於U-Net)(與U-Net不同,跳過連接將同級激活串聯在一起)。 Object None
DeconvNet92 編碼器/解碼器結構(即“轉換/解碼網絡”),無需跳過連接。 網絡的編碼器(卷積)部分是從VGG-VD-16L [59]傳輸的。 Object None
MSCG 82 僅使用膨脹卷積層的直角棱鏡而不進行池化或二次採樣層的多尺度上下文聚合,以執行像素級標記。 Object None
CRF-as-RNN73 全卷積CNN(即FCN),然後是CRF-as-RNN層,其中將迭代CRF算法表述爲RNN。 Object CRF-as-RNN [73]
FeatMap-Net.81 輸入到並行多尺度特徵圖(即CNNS)的金字塔輸入的各層,然後融合在上採樣/串聯層中,以提供最終的特徵圖,饋入密集的CRF層。 Object Dense CRF [42]
DeepLab.v270 DeepLab.v1的改進版本,帶有附加的“擴張的(無用的)空間金字塔池”(ASPP)層。 Object Dense CRF [42]
PSPNet 93 CNN之後是類似於[67]的金字塔池層,但沒有完全連接的決策層。 Object None
DeepLab.v312 DeepLab.v2的改進版本,具有ASPP層超參數的優化,並且沒有密集的CRF層,可實現更快的操作。 Object None
DIS 94 一個網絡預測標籤映射/標籤,而另一個網絡使用這些預測執行語義分割。 兩個網絡都使用ResNet101 [71]進行初步特徵提取。 Object None
Mask-RCNN86 對象檢測器快速RCNN,後跟ROI池和卷積層,應用於實例分割(見圖5.a)。 Instance None
GCN 95 由最初的基於ResNet的[71]編碼器提供支持,GCN使用大型內核以多尺度的方式融合高級和低級功能,然後是卷積邊界細化(BR)模塊。 Object Conv. BR Module [95]
DFN 96 由兩個子網組成:平滑網(SN)和邊界網(BN)。 SN使用注意模塊並處理全局上下文,而BN使用提煉塊處理邊界。 Object Refin. Resid. Block (RRB) [96]
MSCI 13 通過長短期記憶(LSTM)鏈之間的連接來聚合來自不同比例的要素。 Object None
DeepLab.v3+97 DeepLab.v3的改進版本,使用具有擴展卷積的特殊編碼器-解碼器結構(不使用Dense CRF來加快操作速度)。 Object None
HPN 98 緊隨其後的是卷積的“外觀特徵編碼器”,由LSTM組成的“上下文特徵編碼器”會生成超像素特徵,並饋入基於Softmax的分類層。 Object None
EncNet 99 提取上下文的完全連接結構由密集特徵圖(從ResNet [71]獲得)提供,然後是卷積預測層。 Object None
PSANet 78 使用兩個卷積結構之間的注意模塊,像素通過自適應學習的注意圖相互連接以提供全局上下文。 Object None
ExFuse 100 GCN [95]的改進版本,用於特徵融合,它將更多的語義信息引入低級特徵,並將更多的空間細節引入高級特徵。 Object Conv. BR Module [95]
EMANet15277 兩個CNN結構之間的新型注意模塊將輸入特徵圖轉換爲輸出特徵圖,從而提供全局上下文。 Object None
KSAC 101 允許不同接受域的分支共享同一內核,以促進分支之間的通信並在網絡內部執行功能增強。 Object None
CFNet 102 使用圖像中給定目標的併發特徵分佈,可以學習細粒度的空間不變表示,並構造CFNet。 Object None
SDN 103 由多個稱爲SDN單元的淺層反捲積網絡組成,它們逐一堆疊以集成上下文信息並確保本地信息的良好恢復。 Object None
YOLACT 90 對象檢測器YOLO後跟類概率和卷積層,應用於實例分割(請參見圖5.b)。 Instance None
發佈了49 篇原創文章 · 獲贊 23 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章