deeplab v1
問題的引入:
關(guān)于DCNN的大量工作表明,采用端到端的訓(xùn)練方式,使得模型對圖像的變換有著較好的不變性,但這一點卻妨礙了分割任務(wù)中的定位。經(jīng)過研究發(fā)現(xiàn),在深度CNN中對于語義分割主要存在兩個挑戰(zhàn):一個是重復(fù)池化與下采樣使得圖像的分辨率大幅降低,信息發(fā)生了丟失,不利于恢復(fù);另一個是對圖像轉(zhuǎn)換的不變性影響了定位
解決方案:
1、對于不斷下采樣造成的分辨率降低的問題,論文使用了一種的新的卷積方式,空洞卷積,如下圖所示。

我們知道,池化層的存在不僅使得計算更為簡單,而且擴大了卷積的感受野,使得卷積能夠觀察到較大的目標(biāo),然而,在進行池化的過程中,不可避免的丟失了一定的信息,不利于后期圖片分辨率的恢復(fù)。論文中使用了空洞卷積代替了池化層,避免了信息的丟失,同時也擴大了感受野。
2、DCNN的得分圖可以可靠的預(yù)測物體的存在與粗略的位置,但不能精確的定位目標(biāo)的輪廓,其內(nèi)在的不變性限制了對位置的推理,本文使用了全連接的CRF作為后處理操作,通過耦合DCNN的識別能力進一步優(yōu)化分割的邊緣。
deeplab v2
問題的引入:
此版本的deeplab主要解決的問題有兩個:第一個是多尺度上存在的目標(biāo);第二個是由于DCNN內(nèi)在的不變性造成的局部精度的下降。所謂的多尺度問題指的是同一尺度下不同的目標(biāo)的響應(yīng)不同,較小的目標(biāo)在大的尺度下才方便提取特征,而較大的目標(biāo)在較小的尺度下才能提取全局信息,這就是一個多尺度的矛盾。
解決方案:
1、金字塔池化用在全連接層之前,不僅可以突破全連接層對于輸入圖片尺寸固定的限制,而且可以捕獲不同尺度的信息,使得網(wǎng)絡(luò)更加健壯。受到金字塔池化的啟發(fā),文章采用類似的方法解決這個問題。論文嘗試了兩種方法來處理尺度變換的問題。第一種是標(biāo)準(zhǔn)的多尺度處理,提取不同尺寸圖片的得分圖,為了得到最終的結(jié)果,在不同的尺寸下取每個位置的最大響應(yīng),雙線性插值這些并行的特征圖到原始圖片的分辨率并融合它們,但計算代價太大。第二種是受到了RCNN的空間金字塔池化的啟發(fā),對單個尺度下提取的卷積特征進行重采樣,可以準(zhǔn)確有效的對任意尺度下的區(qū)域進行分類,如下圖所示:

2、對于DCNN內(nèi)在的不變性,這個版本的deeplab仍舊使用了CRF進行處理,這里不做贅述。
deeplab v3
問題的引入:
此版本的deeplab還是針對多尺度下目標(biāo)的分割問題,同時重新思考了空洞卷積
解決方案:

我們知道,使用空洞卷積可以在不引入池化層的前提下擴大感受野,然而,當(dāng)采樣率過大時,由于圖像邊緣的影響會不能捕獲長距離信息,這個時候,會退化成1*1的卷積模塊,為了克服這個問題,論文中使用了圖片級的特征,將特征圖作全局池化,并最終融合在一起進行上采樣。此論文的一大改進就是去掉了CRF操作,直接由得到的特征圖進行上采樣操作恢復(fù)原分辨率。
deeplab v3+
解決的問題:
編譯碼結(jié)構(gòu)與空間金字塔模型都是語義分割任務(wù)常用的模型,前者通過使用多個采樣率的濾波或者池化操作來探測輸入特征,能夠編碼多個尺度的contextual information,后者可以在恢復(fù)分辨率時捕獲更加清晰的邊界,論文嘗試結(jié)合這兩種結(jié)構(gòu)的優(yōu)點,提出了deeplab v3+。
相關(guān)信息:
在deeplab v3+中,即便使用了空洞卷積,特征圖也縮小了8倍,然后直接使用了雙線性插值的方法進行上采樣恢復(fù)原分辨率,然后這樣操作并不能恢復(fù)丟失的信息,分割的效果仍有改進的地方。
解決方案:

1、編碼譯碼結(jié)構(gòu),是一種較快的輸出圖信息擴充方法,論文中使用了這一方法,進行了兩次上采樣,第一次上采樣到中間特征圖大小,與中間一層的特征圖組合起來,再進行上采樣恢復(fù)到目標(biāo)大小。
2、編碼部分使用了修改后的Xception網(wǎng)絡(luò),且使用了可分離卷積,增加了編碼能力,具體示意圖如下:
