【轉(zhuǎn)載】語(yǔ)義分割中的深度學(xué)習(xí)方法全解:從FCN、SegNet到各版本DeepLab

http://www.sohu.com/a/155907339_610300

圖像語(yǔ)義分割就是機(jī)器自動(dòng)從圖像中分割出對(duì)象區(qū)域,并識(shí)別其中的內(nèi)容。

量子位今天推薦的這篇文章,回顧了深度學(xué)習(xí)在圖像語(yǔ)義分割中的發(fā)展歷程。

發(fā)布這篇文章的Qure.ai,是一家用深度學(xué)習(xí)來(lái)讀取醫(yī)學(xué)影像的公司,他們?cè)诠俜讲┛蜕鲜崂砹苏Z(yǔ)義分割中的深度學(xué)習(xí)方法。

他們希望通過(guò)這份介紹,能讓大家了解這個(gè)已經(jīng)在自然圖像處理比較成熟、但是在醫(yī)學(xué)圖像中仍需發(fā)展的新興技術(shù)。

作者Sasank Chilamkurthy三部分介紹了語(yǔ)義分割相關(guān)研究:

以下內(nèi)容編譯自Qure.ai官方博客:

語(yǔ)義分割是什么?

語(yǔ)義分割方法在處理圖像時(shí),具體到像素級(jí)別,也就是說(shuō),該方法會(huì)將圖像中每個(gè)像素分配到某個(gè)對(duì)象類別。下面是一個(gè)具體案例。

△左邊為輸入圖像,右邊為經(jīng)過(guò)語(yǔ)義分割后的輸出圖像。

該模型不僅要識(shí)別出摩托車和駕駛者,還要標(biāo)出每個(gè)對(duì)象的邊界。因此,與分類目的不同,相關(guān)模型要具有像素級(jí)的密集預(yù)測(cè)能力。

目前用于語(yǔ)義分割研究的兩個(gè)最重要數(shù)據(jù)集是VOC2012和MSCOCO。

VOC2012:

http://host.robots.ox.ac.uk/pascal/VOC/voc2012/

MSCOCO:

http://mscoco.org/explore/

有哪些方法?

在深度學(xué)習(xí)應(yīng)用到計(jì)算機(jī)視覺(jué)領(lǐng)域之前,研究人員一般使用紋理基元森林(TextonForest)或是隨機(jī)森林(Random Forest)方法來(lái)構(gòu)建用于語(yǔ)義分割的分類器。

卷積神經(jīng)網(wǎng)絡(luò)(CNN)不僅能很好地實(shí)現(xiàn)圖像分類,而且在分割問(wèn)題中也取得了很大的進(jìn)展。

最初,圖像塊分類是常用的深度學(xué)習(xí)方法,即利用每個(gè)像素周圍的圖像塊分別將各像素分成對(duì)應(yīng)的類別。其中,使用圖像塊的主要原因是分類網(wǎng)絡(luò)通常具有全連接層,其輸入需為固定大小的圖像塊。

2014年,加州大學(xué)伯克利分校的Long等人提出的完全卷積網(wǎng)絡(luò)(Fully Convolutional Networks),推廣了原有的CNN結(jié)構(gòu),在不帶有全連接層的情況下能進(jìn)行密集預(yù)測(cè)。

這種結(jié)構(gòu)的提出使得分割圖譜可以生成任意大小的圖像,且與圖像塊分類方法相比,也提高了處理速度。在后來(lái),幾乎所有關(guān)于語(yǔ)義分割的最新研究都采用了這種結(jié)構(gòu)。

除了全連接層結(jié)構(gòu),在分割問(wèn)題中很難使用CNN網(wǎng)絡(luò)的另一個(gè)問(wèn)題是存在池化層。池化層不僅能增大上層卷積核的感受野,而且能聚合背景同時(shí)丟棄部分位置信息。然而,語(yǔ)義分割方法需對(duì)類別圖譜進(jìn)行精確調(diào)整,因此需保留池化層中所舍棄的位置信息。

研究者提出了兩個(gè)不同形式的結(jié)構(gòu)來(lái)解決這個(gè)問(wèn)題。

第一種方法是編碼器-解碼器(encoder-decoder)結(jié)構(gòu)。其中,編碼器使用池化層逐漸縮減輸入數(shù)據(jù)的空間維度,而解碼器通過(guò)反卷積層等網(wǎng)絡(luò)層逐步恢復(fù)目標(biāo)的細(xì)節(jié)和相應(yīng)的空間維度。從編碼器到解碼器之間,通常存在直接的信息連接,來(lái)幫助解碼器更好地恢復(fù)目標(biāo)細(xì)節(jié)。在這種方法中,一種典型結(jié)構(gòu)為U-Net網(wǎng)絡(luò)。

△一種典型的編碼器-解碼器結(jié)構(gòu)U-Net

第二種方法使用了稱作空洞卷積的結(jié)構(gòu),且去除了池化層結(jié)構(gòu)。

△空洞卷積,當(dāng)比率為1時(shí),即為經(jīng)典的卷積結(jié)構(gòu)。

條件隨機(jī)場(chǎng)(Conditional Random Field,CRF)方法通常在后期處理中用于改進(jìn)分割效果。CRF方法是一種基于底層圖像像素強(qiáng)度進(jìn)行“平滑”分割的圖模型,在運(yùn)行時(shí)會(huì)將像素強(qiáng)度相似的點(diǎn)標(biāo)記為同一類別。加入條件隨機(jī)場(chǎng)方法可以提高1~2%的最終評(píng)分值。

△發(fā)展中的CRF方法效果。b圖中將一維分類器作為CRF方法的分割輸入;c、d、e圖為CRF方法的三種變體;e圖為廣泛使用的一種CRF結(jié)構(gòu)。

接下來(lái),我們會(huì)梳理一些代表性論文,來(lái)介紹從FCN網(wǎng)絡(luò)開(kāi)始的分割結(jié)構(gòu)演變歷程。

這些結(jié)構(gòu)都使用了VOC2012數(shù)據(jù)集來(lái)測(cè)試實(shí)際效果。

一些有趣的研究

接下來(lái)將按照論文的發(fā)表順序來(lái)介紹以下論文:

1.FCN網(wǎng)絡(luò);

2.SegNet網(wǎng)絡(luò);

3.空洞卷積(Dilated Convolutions);

4.DeepLab (v1和v2);

5.RefineNet;

6.PSPNet;

7.大內(nèi)核(Large Kernel Matters);

8.DeepLab v3;

對(duì)于上面的每篇論文,下面將會(huì)分別指出主要貢獻(xiàn)并進(jìn)行解釋,也貼出了這些結(jié)構(gòu)在VOC2012數(shù)據(jù)集中的測(cè)試分值IOU。

FCN

論文:

Fully Convolutional Networks for Semantic Segmentation

于2014年11月14日提交到arvix

https://arxiv.org/abs/1411.4038

主要貢獻(xiàn):

將端到端的卷積網(wǎng)絡(luò)推廣到語(yǔ)義分割中;

重新將預(yù)訓(xùn)練好的Imagenet網(wǎng)絡(luò)用于分割問(wèn)題中;

使用反卷積層進(jìn)行上采樣;

提出了跳躍連接來(lái)改善上采樣的粗糙程度。

具體解釋:

本文的關(guān)鍵在于:分類網(wǎng)絡(luò)中的全連接層可以看作是使用卷積核遍歷整個(gè)輸入?yún)^(qū)域的卷積操作。

這相當(dāng)于在重疊的輸入圖像塊上評(píng)估原始的分類網(wǎng)絡(luò),但是與先前相比計(jì)算效率更高,因?yàn)樵趫D像塊重疊區(qū)域,共享計(jì)算結(jié)果。

盡管這種方法并不是這篇文章中所特有的,還有一篇關(guān)于overfeat的文章也使用了這種思想,但是確實(shí)顯著提高了在VOC2012數(shù)據(jù)集上的實(shí)際效果。

△用卷積運(yùn)算實(shí)現(xiàn)的全連接層結(jié)構(gòu)

在將VGG等預(yù)訓(xùn)練網(wǎng)絡(luò)模型的全連接層卷積化之后,由于CNN網(wǎng)絡(luò)中的池化操作,得到的特征圖譜仍需進(jìn)行上采樣。

反卷積層在進(jìn)行上采樣時(shí),不是使用簡(jiǎn)單的雙線性插值,而是通過(guò)學(xué)習(xí)實(shí)現(xiàn)插值操作。此網(wǎng)絡(luò)層也被稱為上卷積、完全卷積、轉(zhuǎn)置卷積或是分形卷積。

然而,由于在池化操作中丟失部分信息,使得即使加上反卷積層的上采樣操作也會(huì)產(chǎn)生粗糙的分割圖。因此,本文還從高分辨率特性圖譜中引入了跳躍連接方式。

分值評(píng)論來(lái)源

62.2無(wú)排行榜

67.2增大動(dòng)量momentum(原文未描述)排行榜

△FCN網(wǎng)絡(luò)在VOC2012上測(cè)試的基準(zhǔn)分值

個(gè)人評(píng)論:

本文的研究貢獻(xiàn)非常重要,但是最新的研究已經(jīng)很大程度地改進(jìn)了這個(gè)結(jié)果。

SegNet

論文:

SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation

于2015年11月2日提交到arvix

https://arxiv.org/abs/1511.00561

主要貢獻(xiàn):

將最大池化指數(shù)轉(zhuǎn)移至解碼器中,改善了分割分辨率。

具體解釋:

在FCN網(wǎng)絡(luò)中,通過(guò)上卷積層和一些跳躍連接產(chǎn)生了粗糙的分割圖,為了提升效果而引入了更多的跳躍連接。

然而,F(xiàn)CN網(wǎng)絡(luò)僅僅復(fù)制了編碼器特征,而Segnet網(wǎng)絡(luò)復(fù)制了最大池化指數(shù)。這使得在內(nèi)存使用上,SegNet比FCN更為高效。

△SegNet網(wǎng)絡(luò)結(jié)構(gòu)

分值評(píng)論來(lái)源

59.9無(wú)排行榜

△SegNet在VOC2012上測(cè)試的基準(zhǔn)分值

個(gè)人評(píng)論:

FCN網(wǎng)絡(luò)和SegNet網(wǎng)絡(luò)都是最先出現(xiàn)的編碼器-解碼器結(jié)構(gòu),但是SegNet網(wǎng)絡(luò)的基準(zhǔn)分值還不能滿足可實(shí)際使用的需求。

空洞卷積

論文:

Multi-Scale Context Aggregation by Dilated Convolutions

于2015年11月23日提交到arvix

https://arxiv.org/abs/1511.07122

主要貢獻(xiàn):

使用了空洞卷積,這是一種可用于密集預(yù)測(cè)的卷積層;

提出在多尺度聚集條件下使用空洞卷積的“背景模塊”。

具體解釋:

池化操作增大了感受野,有助于實(shí)現(xiàn)分類網(wǎng)絡(luò)。但是池化操作在分割過(guò)程中也降低了分辨率。

因此,該論文所提出的空洞卷積層是如此工作的:

△空洞卷積示意圖

空洞卷積層在不降低空間維度的前提下增大了相應(yīng)的感受野指數(shù)。

在接下來(lái)將提到的DeepLab中,空洞卷積被稱為多孔卷積(atrous convolution)。

從預(yù)訓(xùn)練好的分類網(wǎng)絡(luò)中(這里指的是VGG網(wǎng)絡(luò))移除最后兩個(gè)池化層,而用空洞卷積取代了隨后的卷積層。

特別的是,池化層3和池化層4之間的卷積操作為空洞卷積層2,池化層4之后的卷積操作為空洞卷積層4。

這篇文章所提出的背景模型(frontend module)可在不增加參數(shù)數(shù)量的情況下獲得密集預(yù)測(cè)結(jié)果。

這篇文章所提到的背景模塊單獨(dú)訓(xùn)練了前端模塊的輸出,作為該模型的輸入。該模塊是由不同擴(kuò)張程度的空洞卷積層級(jí)聯(lián)而得到的,從而聚集多尺度背景模塊并改善前端預(yù)測(cè)效果。

分值評(píng)論來(lái)源

71.3前端空洞卷積論文

73.5前端+背景同上

74.7前端+背景+ CRF同上

75.3前端+背景+ CRF - RNN同上

△空洞卷積在VOC2012上測(cè)試的基準(zhǔn)分值

個(gè)人評(píng)論:

需要注意的是,該模型預(yù)測(cè)分割圖的大小是原圖像大小的1/8。這是幾乎所有方法中都存在的問(wèn)題,將通過(guò)內(nèi)插方法得到最終分割圖。

DeepLab(v1和v2)

論文1:

Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFs

于2014年12月22日提交到Arvix

https://arxiv.org/abs/1412.7062

論文2:

DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs

于2016年6月2日提交到Arxiv

https://arxiv.org/abs/1606.00915

主要貢獻(xiàn):

使用了空洞卷積;

提出了在空間維度上實(shí)現(xiàn)金字塔型的空洞池化atrous spatial pyramid pooling(ASPP);

使用了全連接條件隨機(jī)場(chǎng)。

具體解釋:

空洞卷積在不增加參數(shù)數(shù)量的情況下增大了感受野,按照上文提到的空洞卷積論文的做法,可以改善分割網(wǎng)絡(luò)。

我們可以通過(guò)將原始圖像的多個(gè)重新縮放版本傳遞到CNN網(wǎng)絡(luò)的并行分支(即圖像金字塔)中,或是可使用不同采樣率(ASPP)的多個(gè)并行空洞卷積層,這兩種方法均可實(shí)現(xiàn)多尺度處理。

我們也可通過(guò)全連接條件隨機(jī)場(chǎng)實(shí)現(xiàn)結(jié)構(gòu)化預(yù)測(cè),需將條件隨機(jī)場(chǎng)的訓(xùn)練和微調(diào)單獨(dú)作為一個(gè)后期處理步驟。

△DeepLab2網(wǎng)絡(luò)的處理流程

分值評(píng)論來(lái)源

79.7ResNet-101 + 空洞卷積 + ASPP + CRF排行榜

△DeepLab2網(wǎng)絡(luò)在VOC2012上測(cè)試的基準(zhǔn)分值 RefineNet

論文:

RefineNet: Multi-Path Refinement Networks for High-Resolution Semantic Segmentation

于2016年11月20日提交到Arxiv

https://arxiv.org/abs/1611.06612

主要貢獻(xiàn):

帶有精心設(shè)計(jì)解碼器模塊的編碼器-解碼器結(jié)構(gòu);

所有組件遵循殘差連接的設(shè)計(jì)方式。

具體解釋:

使用空洞卷積的方法也存在一定的缺點(diǎn),它的計(jì)算成本比較高,同時(shí)由于需處理大量高分辨率特征圖譜,會(huì)占用大量?jī)?nèi)存,這個(gè)問(wèn)題阻礙了高分辨率預(yù)測(cè)的計(jì)算研究。

DeepLab得到的預(yù)測(cè)結(jié)果只有原始輸入的1/8大小。

所以,這篇論文提出了相應(yīng)的編碼器-解碼器結(jié)構(gòu),其中編碼器是ResNet-101模塊,解碼器為能融合編碼器高分辨率特征和先前RefineNet模塊低分辨率特征的RefineNet模塊。

△RefineNet網(wǎng)絡(luò)結(jié)構(gòu)

每個(gè)RefineNet模塊包含一個(gè)能通過(guò)對(duì)較低分辨率特征進(jìn)行上采樣來(lái)融合多分辨率特征的組件,以及一個(gè)能基于步幅為1及5×5大小的重復(fù)池化層來(lái)獲取背景信息的組件。

這些組件遵循恒等映射的思想,采用了殘差連接的設(shè)計(jì)方式。

△RefineNet模塊

分值評(píng)論來(lái)源

84.2CRF + 多維度輸入 + COCO預(yù)訓(xùn)練排行榜

△RefineNet網(wǎng)絡(luò)在VOC2012上測(cè)試的基準(zhǔn)分值 PSPNet

論文:

Pyramid Scene Parsing Network

于2016年12月4日提交到Arxiv

https://arxiv.org/abs/1612.01105

主要貢獻(xiàn):

提出了金字塔池化模塊來(lái)聚合背景信息;

使用了附加損失(auxiliary loss)。

具體解釋:

全局場(chǎng)景分類很重要,由于它提供了分割類別分布的線索。金字塔池化模塊使用大內(nèi)核池化層來(lái)捕獲這些信息。

和上文提到的空洞卷積論文一樣,PSPNet也用空洞卷積來(lái)改善Resnet結(jié)構(gòu),并添加了一個(gè)金字塔池化模塊。該模塊將ResNet的特征圖譜連接到并行池化層的上采樣輸出,其中內(nèi)核分別覆蓋了圖像的整個(gè)區(qū)域、半各區(qū)域和小塊區(qū)域。

在ResNet網(wǎng)絡(luò)的第四階段(即輸入到金字塔池化模塊后),除了主分支的損失之外又新增了附加損失,這種思想在其他研究中也被稱為中級(jí)監(jiān)督(intermediate supervision)。

△PSPNet網(wǎng)絡(luò)結(jié)構(gòu)

分值評(píng)論來(lái)源

85.4COCO預(yù)訓(xùn)練,多維度輸入,無(wú)CRF方法排行榜

82.6無(wú)COCO預(yù)訓(xùn)練方法,多維度輸入,無(wú)CRF方法PSPNet論文

△PSPNet網(wǎng)絡(luò)在VOC2012上測(cè)試的基準(zhǔn)分值 大內(nèi)核

論文:

Large Kernel Matters — Improve Semantic Segmentation by Global Convolutional Network

于2017年3月8日提交到Arxiv

https://arxiv.org/abs/1703.02719

主要貢獻(xiàn):

提出了一種帶有大維度卷積核的編碼器-解碼器結(jié)構(gòu)。

具體解釋:

這項(xiàng)研究通過(guò)全局卷積網(wǎng)絡(luò)來(lái)提高語(yǔ)義分割的效果。

語(yǔ)義分割不僅需要圖像分割,而且需要對(duì)分割目標(biāo)進(jìn)行分類。在分割結(jié)構(gòu)中不能使用全連接層,這項(xiàng)研究發(fā)現(xiàn)可以使用大維度內(nèi)核來(lái)替代。

采用大內(nèi)核結(jié)構(gòu)的另一個(gè)原因是,盡管ResNet等多種深層網(wǎng)絡(luò)具有很大的感受野,有相關(guān)研究發(fā)現(xiàn)網(wǎng)絡(luò)傾向于在一個(gè)小得多的區(qū)域來(lái)獲取信息,并提出了有效感受野的概念。

大內(nèi)核結(jié)構(gòu)計(jì)算成本高,且具有很多結(jié)構(gòu)參數(shù)。因此,k×k卷積可近似成1×k+k×1和k×1+1×k的兩種分布組合。這個(gè)模塊稱為全局卷積網(wǎng)絡(luò)(Global Convolutional Network, GCN)。

接下來(lái)談結(jié)構(gòu),ResNet(不帶空洞卷積)組成了整個(gè)結(jié)構(gòu)的編碼器部分,同時(shí)GCN網(wǎng)絡(luò)和反卷積層組成了解碼器部分。該結(jié)構(gòu)還使用了一種稱作邊界細(xì)化(Boundary Refinement,BR)的簡(jiǎn)單殘差模塊。

△GCN網(wǎng)絡(luò)結(jié)構(gòu)

分值評(píng)論來(lái)源

82.2-詳情見(jiàn)本論文

83.6改進(jìn)訓(xùn)練過(guò)程,未在本文中詳細(xì)描述排行榜

△GCN網(wǎng)絡(luò)在VOC2012上測(cè)試的基準(zhǔn)分值 DeepLab v3

論文:

Rethinking Atrous Convolution for Semantic Image Segmentation

于2017年6月17日提交到Arxiv

https://arxiv.org/abs/1706.05587

主要貢獻(xiàn):

改進(jìn)了空間維度上的金字塔空洞池化方法(ASPP);

該模塊級(jí)聯(lián)了多個(gè)空洞卷積結(jié)構(gòu)。

具體解釋:

與在DeepLab v2網(wǎng)絡(luò)、空洞卷積中一樣,這項(xiàng)研究也用空洞卷積/多空卷積來(lái)改善ResNet模型。

這篇論文還提出了三種改善ASPP的方法,涉及了像素級(jí)特征的連接、加入1×1的卷積層和三個(gè)不同比率下3×3的空洞卷積,還在每個(gè)并行卷積層之后加入了批量歸一化操作。

級(jí)聯(lián)模塊實(shí)際上是一個(gè)殘差網(wǎng)絡(luò)模塊,但其中的空洞卷積層是以不同比率構(gòu)建的。這個(gè)模塊與空洞卷積論文中提到的背景模塊相似,但直接應(yīng)用到中間特征圖譜中,而不是置信圖譜。置信圖譜是指其通道數(shù)與類別數(shù)相同的CNN網(wǎng)絡(luò)頂層特征圖譜。

該論文獨(dú)立評(píng)估了這兩個(gè)所提出的模型,嘗試結(jié)合將兩者結(jié)合起來(lái)并沒(méi)有提高實(shí)際性能。兩者在驗(yàn)證集上的實(shí)際性能相近,帶有ASPP結(jié)構(gòu)的模型表現(xiàn)略好一些,且沒(méi)有加入CRF結(jié)構(gòu)。

這兩種模型的性能優(yōu)于DeepLabv2模型的最優(yōu)值,文章中還提到性能的提高是由于加入了批量歸一化層和使用了更優(yōu)的方法來(lái)編碼多尺度背景。

△DeepLabv3 ASPP結(jié)構(gòu)

分值評(píng)論來(lái)源

85.7使用了ASPP結(jié)構(gòu),且不帶有級(jí)聯(lián)模塊排行榜

△DeepLabv3 ASPP結(jié)構(gòu)在VOC2012上測(cè)試的基準(zhǔn)分值

原文地址:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容