1. 程式人生 > >基於深度學習的影象語義分割技術概述之背景與深度網路架構

基於深度學習的影象語義分割技術概述之背景與深度網路架構

本文為論文閱讀筆記,不當之處,敬請指正。 
A Review on Deep Learning Techniques Applied to Semantic Segmentation: 原文連結

摘要

影象語義分割正在逐漸成為計算機視覺及機器學習研究人員的研究熱點。大量應用需要精確、高效的分割機制,如:自動駕駛、室內導航、及虛擬/增強現實系統。這種需求與機器視覺方面的深度學習領域的目標一致,包括語義分割或場景理解。本文對多種應用領域語義分割的深度學習方法進行概述。首先,我們給出本領域的術語及主要背景知識。其次,介紹主要的資料集及難點,以幫助研究人員找到合適的資料集和研究目標。之後,概述現有方法,及其貢獻。最後,給出提及方法的量化標準及其基於的資料集,接著是對於結果的討論。最終,對於基於深度學習的語義分割,指出未來重點並得出結論。 
關鍵詞

:語義分割;深度學習;場景標記;物件分割

1 引言

現在,2D影象、視訊、甚至是3D或體資料的語義分割,是計算機視覺領域的一個關鍵問題。整體而言,語義分割是一種旨在於場景理解的高難度任務。場景理解作為計算機視覺的核心問題,在從影象提取知識應用數量急劇增長的今天顯得尤為重要。這些應用包括:自動駕駛、人機互動、計算機攝影、影象搜尋引擎、及增強現實。這些問題在過去已經使用多種計算機視覺及機器學習的方法得以解決。儘管這些方法深受歡迎,但深度學習已經改變了這個局面,許多計算機視覺的問題—包括語義分割—正在被使用深度框架解決,通常是CNNs(Convolutional Neural Networks,卷積神經網路),其能夠顯著地提高準確率,有時甚至是效率。然而,深度學習相比機器學習及計算機視覺的其他分支還遠未成熟。鑑於此,關於深度學習現狀的概述及回顧還較少。由於大量的文獻的發表,這讓研究人員開始研究、緊跟發展趨勢變得異常耗時。這讓瞭解語義分割發展趨勢,並且合適地解讀他們的方案,修正欠佳結果,驗證結果變得相對困難。

據我們所知,這是對基於深度學習的語義分割的第一次概述。多種語義分割綜述已經存在,如【12 】【13】的工作,其對現有方法進行總結和分類、討論了資料集和度量標準、提供了未來研究方向的設計選擇。然而,他們缺少一些最近的資料集,沒有分析框架,並且沒有提供深度學習技術的細節。鑑於此,我們認為我們的工作是新穎的、有價值的,對領域研究具有一定貢獻。 
 
圖 1:物體識別或場景理解從粗到細粒度的過程:分類、檢測、定位,語義分割及物件分割。 
本論文的主要貢獻如下:

  • 針對基於深度學習的語義分割專案可能有用的資料集進行廣泛的概述。
  • 對基於深度學習的語義分割中最著名的方法的結構、貢獻進行了深刻、條例的概述。
  • 給出了通用的演算法效能評估量化標準,如精確度、執行時間、及記憶體消耗。
  • 列出了提及演算法的結果,以及可能的未來工作、改進方向,最終總結了領域現狀。

2 術語及背景概念

語義分割不是一個孤立的問題,而是影象推理從粗粒度到細粒度的過程中一個自然的步驟。

  • 分類(classification),對整個輸入進行預測,即預測影象中是什麼物體、或者給出物體的連結串列如果圖中有多個物體。
  • 定位或檢測(localization and detection)是細粒度推測的進一步發展,不只提供物體的類別,同時提供這些類的位置,例如:圖心或邊界框。
  • 語義分割(semantic segmentation)進行稠密預測(dense prediction)推斷每個畫素點的類標籤,通過這種方式,區域或物體內的畫素點被標記為相應的類別。
  • 物體分割(instance segmentation):分別標記同一類的不同物體,甚至是基於部分的分割(part based segmentation),將已經分割出的類進一步分割為底層的組成部分。

畫素分類問題可以被簡化為以下問題:對於隨機變數集合X={x1,x2,...,xn}中的任一元素,尋找一種方法來分配類標籤L={l1,l2,...,lk}。每個類標籤l代表不同的類或物體,例如,飛機、汽車、交通標誌或者背景。標籤空間有k中可能的狀態,其通常會被拓展到k+1並且將l0作為背景或者空類。通常XW×H=N2D圖片中的畫素值。

2.1 常用的深度網路架構

2.1.1 AlexNet

AlexNet是首個深度CNN架構,以84.6%的精確度贏得了ILSVRC-2012的前5名,其最接近的對手使用傳統方法在相同的挑戰中的精確度為73.8%。Krizhevsky et al. [14] 提出這種架構,其相對簡單。包含5個卷積層,最大池化,線性整流單元( Rectified Linear Units,ReLUs)作為非線性單元,3個全連線層,和丟棄(dropout)。其網路結構如圖2所示。 

2.1.2 VGG

VGG(Visual Geometry Group,視覺幾何組)是牛津大學視覺幾何組提出的一種CNN模型。他們提出了多種深度CNNs模型及其配置,其一參加了ILSVRC-2013(ImageNet Large Scale Visual Recognition Challenge,ImageNet大規模視覺識別挑戰賽)。

  • 該模型即眾所周知的VGG-16,由於其16個權重層而命名,並且以92.7%的準確率取得前5。其配置如圖3所示。
  • VGG-16與其前網路架構的主要不同之處在於使用較小感受野的卷積層作為第一層,而非使用幾層大感受野。這減少了引數的數量,增強了非線性化程度,因此判決函式更容易區別、模型更容易被訓練。

2.1.3 GoogleNet

GoogleNet是Szegedy et al. [16]提出的網路架構,以93.3%的準確度贏得了ILSVRC-2014挑戰前5名。

  • 該網路架構相對複雜,由22層組成,並且引入名為起始模組(Inception module)的新結構。該方法證明了CNN層之間可以有不同的組合方式,而不一定要採用傳統的順序連線方式。
  • 這些模組包含Network in Network(NIN)層、池化、大型卷積層、小型卷積層。它們被平行計算,之後是一個1×1的卷積操作以降低維度。

2.1.4 ResNet

微軟的ResNet以96.4%的準確率贏得了ILSVRC-2016挑戰,而尤為著名。

  • 該網路還以其152層的深度而出名,並且引入殘差模組(見圖5)。該殘差模組旨在解決極深網路的訓練問題,通過引入同源跳躍連線(identity skip connection)而將層的輸入複製到下一層。
  • 其動機是為了確保下一層能夠學習到與輸入不同的新的知識(通過提供上一次的輸出及其輸入),同時這種連線方式也可客服梯度消失的問題。 

2.1.5 ReNet

為了拓展RNNs(Recurrent Neural Networks,遞迴神經網路)到多維任務。

  • Graves et al. [18]提出了一種MDRNN(Multi-dimensional Recurrent Neural Network,多維遞迴神經網路),其使用d連線(d connection)替代標準RNN中的單遞迴連線,其中d為時-空資料的維度。
  • Visin el al. [19] 提出ReNet架構,他們沒有使用多維RNNs而是順序RNNs(sequence RNNs),從而根據輸入影象(2d)將每層RNNs的數量線性地增大到d。該方法中每個卷積層(卷積+池化)被水平和豎直方向掃檢視像的4個RNNs所替代,如圖6所示。

2.2 遷移學習(Transfer Learning)

從頭開始訓練一個深度神經網路通常是比較困難的,由於:

  • 要求有充分大小的資料集
  • 達到收斂需要大量時間
  • 從預訓練的權重開始而非隨機初始化的權重開始訓練通常是有幫助的

從預訓練好的權值開始進行微調(fine-tuning),繼續進行訓練是遷移學習的主要情景。

Yosinski et al. [22]證明即使是從不同的任務中遷移特徵也優於使用隨機初始化,在考慮預訓練任務與目標任務越不相同,其特徵的可遷移性就越低的情況下。

即使如此,遷移學習也不是容易的。

  • 一方面,網路架構的引數要能夠對應。由於通常不使用全新的網路結構,為了能夠遷移學習,通常我們會重用現有網路架構。
  • 另一方面,微調與重頭訓練的訓練過程略有不同。選擇哪一層進行微調是重要的,通常是網路中較高的層,因為底層通常是用來獲得通用的特徵。選擇合適的學習率也是重要的,通常採用更小的學習率,因為預訓練好的權重有相對較好,而不用徹底改變它們。

2.3 資料預處理及擴張

資料擴張是一種常用的手段,已被證明有益於機器學習模型的訓練特別是深度框架。能夠加速收斂速度、或起到正則化的作用,從而避免過擬合同時增強泛化能力。

資料擴張通常包含資料或者特徵空間的轉換,或者兩者均有。最常用的資料空間的擴張。

  • 資料空間:對現有資料進行轉化,生成新的樣本。轉化的方法包括:平移、旋轉、彎曲、縮放、色彩空間轉換、修建等。其目的是生成更多的樣本以形成更大的資料集,以防過擬合、正規化模型,平衡資料集中類的樣本數,甚至生成更加適用手頭任務的資料集。
  • 擴張對於小資料集尤為有用。例如在[26]中,一個含有1500張肖像的資料集通過4種尺度縮放(0.6, 0.8, 1.2, 1.5),4種旋轉(-45,-22,22,45)和4種gamma變換(0.5, 0.8, 1.2, 1.5)從而生成19000訓練影象。將肖像分割的 Intersection over Union (IoU)準確度從73.09提升到94.20。