語(yǔ)義分割丨DeepLab系列總結(jié)「v1、v2、v3、v3+」
花了點(diǎn)時(shí)間梳理了一下DeepLab系列的工作,主要關(guān)注每篇工作的背景和貢獻(xiàn),理清它們之間的聯(lián)系,而實(shí)驗(yàn)和部分細(xì)節(jié)并沒(méi)有過(guò)多介紹,請(qǐng)見(jiàn)諒。
DeepLabv1
Semantic image segmentation with deep convolutional nets and fully connected CRFs
引言
DCNN在像素標(biāo)記存在兩個(gè)問(wèn)題:信號(hào)下采用和空間不變性(invariance)
第一個(gè)問(wèn)題是由于DCNN中重復(fù)的最大池化和下采樣造成分辨率下降,DeepLabv1通過(guò)帶孔(atrous)算法解決。
第二個(gè)問(wèn)題是分類(lèi)器獲得以對(duì)象為中心的決策需要空間不變性,從而限制了DCNN的空間精度,DeepLabv1通過(guò)條件隨機(jī)場(chǎng)(CRF)提高模型捕獲精細(xì)細(xì)節(jié)的能力。
DeepLabv1主要貢獻(xiàn)
速度:帶孔算法的DCNN速度可達(dá)8fps,全連接CRF平均預(yù)測(cè)只需0.5s。
準(zhǔn)確:在PASCAL語(yǔ)義分割挑戰(zhàn)中獲得第二名。
簡(jiǎn)潔:DeepLab可看作DCNN和CRF的級(jí)聯(lián)。
相關(guān)工作
DeepLab有別于two stage的RCNN模型,RCNN沒(méi)有完全利用DCNN的feature map。
DeepLab和其他SOTA模型的主要區(qū)別在于DCNN和CRF的組合。
方法空洞卷積
一維空洞卷積
kernel size=3,Input stride=2,stride=1。
理解空洞卷積
feature map變小主要是由于卷積層和池化層引起的,若另所有層的stride=1,輸出feature map將會(huì)變大。
原始情況下Pooling layer stride=2,receptive field=4
另Pooling layer stride=1,receptive field=3,輸出更dense,但感受野變小。
采用空洞卷積后,receptive field=4
跟第一張圖相比,在藍(lán)色節(jié)點(diǎn)的基礎(chǔ)上多了紅色節(jié)點(diǎn),在保持感受野使輸出更加dense。
條件隨機(jī)場(chǎng)
全連接CRF模型使用的能量函數(shù)E(x)
分為一元?jiǎng)菽芎??shù)?
和二元?jiǎng)菽芎瘮?shù)
。
一元?jiǎng)菽芎?strong>數(shù)
刻畫(huà)觀(guān)測(cè)序列對(duì)標(biāo)記變量的影響。
當(dāng)我們觀(guān)察到像素點(diǎn)i,
是DCNN計(jì)算像素i的輸出標(biāo)簽的分配概率。
二元?jiǎng)菽芎瘮?shù)
刻畫(huà)變量之間的相關(guān)性以及觀(guān)測(cè)序列對(duì)其影響,實(shí)質(zhì)是像素之間的相關(guān)性。
當(dāng)
則
,否則為0,因此每個(gè)像素對(duì)之間都會(huì)有值,是全連接的。
是
之間的高斯核,
是像素i的特征向量,對(duì)應(yīng)的權(quán)重為
,高斯核為:
控制高斯核的“尺度”。
多尺度預(yù)測(cè)
多尺度預(yù)測(cè)有性能提升,但是不如CRF明顯。
DeepLabv2
DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs
link:https://arxiv.org/pdf/1606.00915.pdf
引言
DCNN在語(yǔ)義分割中有三個(gè)挑戰(zhàn):
(1)特征分辨率下降
(2)存在物體多尺度
(3)由于DCNN的空間不變性使得空間精度下降
(1)是由于DCNN中的重復(fù)池化和下采樣降低了空間分辨率,一種方法是采用轉(zhuǎn)置卷積(deconvolutional layer),但是需要額外的空間和計(jì)算量。DeepLabv2在最后幾個(gè)最大池化層用空洞卷積替代下采樣,以更高的采樣密度計(jì)算feature map。
(2)物體存在多尺度,解決該問(wèn)題的一個(gè)標(biāo)準(zhǔn)方法是將圖片縮放成不同尺寸,匯總特征得到結(jié)果。這種方法可以提高性能,但是增加了計(jì)算成本。受SPPNet啟發(fā),DeepLabv2提出一個(gè)類(lèi)似結(jié)構(gòu),對(duì)給定輸入以不同采樣率的空洞卷積進(jìn)行采樣,以多比例捕捉圖像上下文,稱(chēng)為ASPP(astrous spatial pyramid pooling)。
(3)分類(lèi)器要求空間不變性,從而限制了DCNN的空間精度。解決該問(wèn)題的一個(gè)方法是使用跳級(jí)結(jié)構(gòu)融合不同層的特征從而計(jì)算最終的分割結(jié)果。DeepLabv2更高效的方法是采用條件隨機(jī)場(chǎng)增強(qiáng)模型捕捉細(xì)節(jié)的能力。
DeepLabv2結(jié)構(gòu)
首先經(jīng)過(guò)采用空洞卷積的DCNN如VGG-16或ResNet101得到粗略的分割結(jié)果,然后通過(guò)雙線(xiàn)性插值將feature map恢復(fù)成原圖分辨率,最后用全連接的CRF來(lái)精細(xì)化分割結(jié)果。
DeepLabv2貢獻(xiàn)
采用多尺度處理和ASPP達(dá)到了更好的性能。
在DeepLab基礎(chǔ)上將VGG-16換成ResNet,在PASCAL VOC 2012和其他數(shù)據(jù)上上達(dá)到SOTA。
相關(guān)工作
語(yǔ)義分割的核心是將分割與分類(lèi)結(jié)合。
語(yǔ)義分割中DCNN模型主要有三類(lèi):
(1)采樣基于DCNN的自下而上的圖像分割級(jí)聯(lián)。
(2)依靠DCNN做密集計(jì)算得到預(yù)測(cè)結(jié)果,并將多個(gè)獨(dú)立結(jié)果做耦合。
(3)使用DCNN直接做密集的像素級(jí)分類(lèi)。
方法空洞卷積
一維情況
一維信號(hào),空洞卷積輸入x[i],輸出y[i],長(zhǎng)度K的濾波器為ω[k]。
r為輸入信號(hào)的采樣步長(zhǎng),標(biāo)準(zhǔn)卷積中r=1。
二維情況
首先下采樣將分辨率降低2倍,做卷積,再上采樣得到結(jié)果。本質(zhì)是和原圖的1/4位置做響應(yīng)。
對(duì)全分辨率圖做r=2的空洞卷積,直接得到結(jié)果。可以計(jì)算整張圖的響應(yīng)。
使用空洞卷積可以增大感受野,采樣率為r的空洞卷積插入r?1個(gè)零,將k×k的卷積核變?yōu)?/p>
而不增加計(jì)算量。
ASPP
并行采用多個(gè)采樣率的空洞卷積提取特征,再將特征進(jìn)行融合,該結(jié)構(gòu)稱(chēng)為空洞空間金字塔池化(atrous spatial pyramid pooling)。
條件隨機(jī)場(chǎng)
同DeepLabv1
DeepLabv3
Rethinking Atrous Convolution for Semantic Image Segmentation
link:https://arxiv.org/pdf/1706.05587.pdf
引言
語(yǔ)義分割中,應(yīng)用DCNN有兩個(gè)挑戰(zhàn)
1)連續(xù)池化或卷積帶來(lái)的分辨率下降,讓DCNN學(xué)習(xí)更抽象的特征表示。然而,空間不變性會(huì)阻礙分割任務(wù),因?yàn)槠湫枰敿?xì)的空間信息。為了解決該問(wèn)題,DeepLab引入空洞卷積。
2)物體存在多尺度,有許多方法解決該問(wèn)題,我們主要考慮四類(lèi):
①將DCNN應(yīng)用于圖像金字塔來(lái)提取不同尺度輸入的特征,將預(yù)測(cè)結(jié)果融合得到最終輸出。
②encoder-decoder結(jié)構(gòu),利用encoder的多尺度特征到解碼器上恢復(fù)分辨率。
③在原網(wǎng)絡(luò)的頂端增加額外的模塊來(lái)捕獲長(zhǎng)程信息,如DenseCRF。
④SPP空間金字塔池化具有不同采樣率和感受野的卷積核,能以多尺度捕獲對(duì)象。
DeepLabv3的貢獻(xiàn)
回顧了空洞卷積,在級(jí)聯(lián)模塊和金字塔池化框架下也能擴(kuò)大感受野提取多尺度信息。
改進(jìn)了ASPP:由不同的采樣率的空洞卷積和BN層組成,以級(jí)聯(lián)或并行的方式布局。
大采樣率的3×3空洞卷積由于圖像邊界效應(yīng)無(wú)法捕獲長(zhǎng)程信息,將退化為1×1的卷積,我們建議將圖像特征融入ASPP。
闡述訓(xùn)練細(xì)節(jié)和方法。
相關(guān)工作
現(xiàn)有多個(gè)工作表明全局特征或上下文之間的互相作用有助于做語(yǔ)義分割,我們討論四種不同類(lèi)型利用上下文信息做語(yǔ)義分割的全卷積網(wǎng)絡(luò)。
圖像金字塔
同一模型使用共享權(quán)重,適用于多尺度輸入。
小尺度輸入的特征相應(yīng)編碼了長(zhǎng)程的語(yǔ)義信息,大尺度輸入的特征相應(yīng)保留了小對(duì)象的細(xì)節(jié)。
該方法通過(guò)拉普拉斯金字塔將輸入變換成多尺度,并送入DCNN。
主要缺點(diǎn)是由于GPU存儲(chǔ)的限制,在更大更深的DCNN上不能很好地拓展,通常其用于測(cè)試階段。
編碼器-解碼器
該模型主要包含兩部分:
1)編碼器,該階段feature map的維度逐漸降低并且深層次的特征容易捕獲遠(yuǎn)程信息。
2)解碼器,該階段恢復(fù)物體細(xì)節(jié)和空間維度。
SegNet、U-Net、RefineNet
上下文模塊
模型包含額外的模塊來(lái)編碼遠(yuǎn)程上下文信息。
DenseCRF
空間金字塔池化
采用SPP來(lái)捕獲多尺度上下文。
ParseNet、DeepLabv2(ASPP)、PSPNet(PSP)
DeepLabv3提出將空洞卷積作為上下文模塊和空間金字塔池化的工具。
方法
回顧空洞卷積如何提取密集特征、討論空洞卷積模塊以級(jí)聯(lián)(串行)和并行布局。
空洞卷積
見(jiàn)DeepLabv1、v2
級(jí)聯(lián)ResNet
將空洞卷積應(yīng)用于級(jí)聯(lián)結(jié)構(gòu),在ResNet最后一個(gè)block(block4)后連接許多級(jí)聯(lián)模塊。
圖(a)中整體信息匯聚到非常小的feature map,實(shí)驗(yàn)表明其不利于分割。
Multi-grid Method
定義
為block4到block7三個(gè)卷積層的unit rates。則rates=2?(1,2,4)=(2,4,8)
ASPP+
在A(yíng)SPP中加入BN層。
當(dāng)采樣率變大,卷積核的有效權(quán)重變小。
在65×65的feature map上以不同采樣率采用3×3的卷積核。當(dāng)采樣率接近于feature map尺寸時(shí),3×3退化為1×1卷積核,只有中心的權(quán)重是有效的。
為了解決該問(wèn)題并在模型中整合全局上下文信息,我們對(duì)最后的feature map采用全局池化,并經(jīng)過(guò)256個(gè)1×1的卷積核(BN),然后雙線(xiàn)性插值到所需空間維度。
最終ASPP包含
(a)一個(gè)1×1的卷積和三個(gè)3×3、rates=(6,12,18)、output_stride=16的空洞卷積(256+BN)。
(b)圖像級(jí)特征。將特征做全局平均池化,后卷積,再上采樣。
(a)中不同 rates的空洞卷積通過(guò)控制不同的 padding輸出相同的尺寸,(b)中上采樣后與(a)尺寸一致。
所有分支的結(jié)果被拼接起來(lái)并經(jīng)過(guò)1×1的卷積(256+BN),最后經(jīng)過(guò)1×1卷積生成分割結(jié)果。
當(dāng)output_stride=8,采樣率加倍。
DeepLabv3+
Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation
Link:https://arxiv.org/abs/1802.02611.pdf
引言
語(yǔ)義分割中的DCNN主要有兩種結(jié)構(gòu):空間金字塔池化SPP和編碼器-解碼器encoder-decoder
SPP通過(guò)多種感受野池化不同分辨率的特征來(lái)挖掘上下文信息。
Encoder-decoder逐步重構(gòu)空間信息來(lái)更好的捕捉物體的邊緣。
DeepLabv3+對(duì)DeepLabv3進(jìn)行了拓展,在encoder-decoder結(jié)構(gòu)上采用SPP模塊。encoder提取豐富的語(yǔ)義信息,decoder恢復(fù)精細(xì)的物體邊緣。encoder允許在任意分辨率下采用空洞卷積。
DeepLabv3+貢獻(xiàn)
提出一個(gè)encoder-decoder結(jié)構(gòu),其包含DeepLabv3作為encoder和高效的decoder模塊。
encoderdecoder結(jié)構(gòu)中可以通過(guò)空洞卷積來(lái)平衡精度和運(yùn)行時(shí)間,現(xiàn)有的encoder-decoder結(jié)構(gòu)是不可行的。
在語(yǔ)義分割任務(wù)中采用Xception模型并采用depthwise separable convolution,從而更快更有效。
相關(guān)工作
SPP
收集多尺度信息。
PSPNet、DeepLab
Encoder-decoder
encoder逐漸減小feature map并提取高層語(yǔ)義信息。
decoder逐漸恢復(fù)空間信息。
Depthwise separable convolution
深度可分離卷積或group convolution,在保持性能前提下,有效降低了計(jì)算量和參數(shù)量。
方法Encoder-Decoder
空洞卷積
該部分見(jiàn)DeepLabv2
深度可分離卷積
深度可分離卷積將標(biāo)準(zhǔn)卷積分解為depthwise conv后跟一個(gè)pointwise conv,有效地降低了計(jì)算復(fù)雜度。
depthwise tstride等于輸入圖像分辨率和輸出分辨率的比值。
圖像分類(lèi)任務(wù),最終的feature map通常比輸入圖像分辨率小32倍,因此outputstride=32。
語(yǔ)義分割任務(wù),令outputstride=16or8,通過(guò)移除最后1or2個(gè)blocks并應(yīng)用空洞卷積(rate=2or4)來(lái)密集提取特征。
在我們的encoder-decoder結(jié)構(gòu)中,采用DeepLabv3最后的feature map作為encoder的輸出,包含256個(gè)通道并富含語(yǔ)義信息。此外,可以通過(guò)空洞卷積以任意分辨率提取特征,取決于計(jì)算量。
decoder
DeepLabv3以factor=16上采樣。
DeepLabv3+首先以factor=4上采樣,然后和尺寸相同的低層特征相拼接。低層特征采用1×1卷積降維,因?yàn)榈蛯犹卣骶S度一般比較高(256or512),將占較大權(quán)重(我們的模型只有256),使得訓(xùn)練變困難。拼接之后,我們采用3×3的卷積來(lái)細(xì)化特征,然后再以factor=4雙線(xiàn)性插值。
改進(jìn) Aligned Xception
Xception模型用于圖像分類(lèi)任務(wù),Aligned Xception用于物體檢測(cè)任務(wù),我們對(duì)Xception做了一些變化使其可用于語(yǔ)義分割任務(wù)。
1)更多的層,為了計(jì)算量和內(nèi)存,不對(duì)Entry flow網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行修改。
2)所有池化層替換為depthwise separable conv,以便采用 atrous separable conv提取任意分辨率的特征。
3)類(lèi)似于MobileNet,在每個(gè)3×3后添加額外的BN和ReLU。
發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
最新活動(dòng)更多
-
11月20日火熱報(bào)名中>> 2024 智能家居出海論壇
-
11月28日立即報(bào)名>>> 2024工程師系列—工業(yè)電子技術(shù)在線(xiàn)會(huì)議
-
12月19日立即報(bào)名>> 【線(xiàn)下會(huì)議】OFweek 2024(第九屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會(huì)
-
即日-12.26火熱報(bào)名中>> OFweek2024中國(guó)智造CIO在線(xiàn)峰會(huì)
-
即日-2025.8.1立即下載>> 《2024智能制造產(chǎn)業(yè)高端化、智能化、綠色化發(fā)展藍(lán)皮書(shū)》
-
精彩回顧立即查看>> 【在線(xiàn)會(huì)議】多物理場(chǎng)仿真助跑新能源汽車(chē)
推薦專(zhuān)題
- 1 腦機(jī)接口芯片,華為出了新專(zhuān)利!
- 2 今年諾獎(jiǎng)對(duì)人工智能的重視,給我們的基礎(chǔ)教育提了個(gè)醒
- 3 銀行業(yè)AI大模型,從入局到求變
- 4 巨頭搶布局,VC狂撒錢(qián),為了能讓「AI讀心」這些公司卷瘋了
- 5 阿斯麥ASML:“骨折級(jí)”洋相,又成AI第一殺手?
- 6 蘋(píng)果市值創(chuàng)新高,iPhone 16能否助力突破4萬(wàn)億美元大關(guān)?
- 7 一場(chǎng)“載入史冊(cè)”的發(fā)布會(huì),讓馬斯克失去了4700億
- 8 百度谷歌比較研究2024:中美“遠(yuǎn)古AI龍頭”的現(xiàn)狀與趨勢(shì)
- 9 洞見(jiàn)AI風(fēng)潮 第二屆vivo藍(lán)河操作系統(tǒng)創(chuàng)新賽開(kāi)啟招募
- 10 地平線(xiàn)開(kāi)啟配售,阿里百度各砸5000萬(wàn)美金,市值最高超500億
- 高級(jí)軟件工程師 廣東省/深圳市
- 自動(dòng)化高級(jí)工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷(xiāo)售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級(jí)銷(xiāo)售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專(zhuān)家 廣東省/江門(mén)市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市