DeepLab系列

2020-12-04 紙鶴視界

論文:

(DeepLabV1)Semantic image segmentation with deep convolutional nets and fully connected CRFs(DeepLabV2)DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs(DeepLabV3)Rethinking Atrous Convolution for SemanticImage Segmentation(DeepLabV3+)Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation

目錄

0.簡介1.DeepLab V12. DeepLab V2 整體結構空洞卷積ASSPFully Connected CRF3.DeepLab V3 串聯結構並聯結構 ASSP改進image-level feature4.DeepLab V3+ 加入decoder深度可分離卷積(depthwise separable convolution)

0.簡介

DeepLab為一系列的工作,從14年到現在跨度也比較久,我會把每篇工作的關鍵點都梳理一下,這四篇工作本身也是一代代改進來的,所以會有一些一直延用並改進的東西,也會有DeepLab放棄了的東西,前者我們深入學習,後者簡單了解。

1.DeepLab V1

這裡只簡單說下V1做了什麼,詳細的講解我想放到V2裡開始講,因為那時候的研究已經有更深的認識。這裡就當作個前情提要吧。

2014年,正是DCNN在圖像領域爆發後的那段時間,圖像分類、目標檢測等領域基於DCNN取得空前進展,語義分割領域當然也會一頭扎進去。但對於語義分割這一需要準確位置信息的像素級任務,使用DCNN還需要解決如下問題:

重複池化下採樣導致解析度大幅下降,位置信息難以恢復。DCNN的空間不變性,位置信息丟失會使最後的分割結果粗糙,丟失細節。所以本文也出一下兩點來解決:

空洞卷積。基於VGG-16改造:因為是做分割,所以把全連接層改成卷積層。把最後兩個池化層去掉,後續使用空洞卷積。

Fully Connected CRFs(條件隨機場)。改善DCNN的輸出結果,更好捕捉邊緣細節。

2. DeepLab V2

到了DeepLabV2的時候,多尺度問題已經被研究著們廣泛且深刻的認識到,所以在V2的原文中,把DCNN應用到語義分割需要解決的問題又多了一個多尺度方面的,由原來v1中的兩大問題變成此時的三個:

重複池化下採樣導致解析度大幅下降,位置信息難以恢復。不同尺度物體的存在。DCNN的空間不變性,位置信息丟失會使最後的分割結果粗糙,丟失細節然後原文給出了對應的三個解決方法:

空洞卷積ASSP(Atrous Spatial Pyramid Pooling)Fully Connected CRF

整體結構

圖像輸入,進入到改造過的DCNN(VGG-16或ResNet-101,空洞卷積、ASSP都是在這裡),得到解析度略小的特徵圖,然後進行雙線性插值恢復解析度,使用全連接CRFl來改善分割結果(去噪、平滑、更好的捕捉邊界)。

空洞卷積

DCNN隨著進行,會使feature map變小,得到更high-level的特徵。主要是因為:

conv的stride>1 —— 為了得到更大感受野max pooling操作 —— 為了得到更high-level的特徵得到這樣high-level的特徵有利於圖像分類、目標檢測等任務,但DCNN這樣的特點不能直接用於語義分割這樣的要求高精密的像素級任務。

對於這一問題,作者強調(卷積+上採樣濾波器)or(空洞卷積)是有力的解決工具,實際使用空洞卷積來解決,空洞卷積由兩個優勢:一是可以控制圖像的解析度不至於太小,解決上述問題;二是增加感受野。

首先要明白,通過控制參數,在緊密特徵圖上的空洞卷積可以產生和在係數特徵圖上標準卷積一模一樣的結果;也可以產生更緊密的特徵,即高解析度的特徵圖,如下圖所示:

再結合第三節DeepLabV3串聯結構中講的,應該就完全理解了。

ASSP

圖像中存在多種尺度的物體,這是影響視覺檢測、分割等任務精度的一大問題,如果網絡抽象能力較強則更容易識別大尺度的物體但會忽略小尺度的物體,如果抽象能力較弱則可以較好識別小物體但抽象大物體的能力勢必較弱,就是這樣一種矛盾,研究者們提出各種方法來解決,本文基於空洞卷積設計了ASSP結構(Atrous Spatial Pyramid Pooling)。

即得到一feature map後,接入一個並行結構,並行結構中的每個分支結構都一樣,唯一不一樣的就是各自卷積的膨脹率。如下圖所示。不同膨脹率的卷積可以得到不同的感受野,膨脹率小的卷積感受野小,對小尺度的物體識別效果較好;膨脹率大的卷積感受野大,對大尺度的物體識別效果好。空洞卷積對於感受野、並行空洞卷積解決多尺度問題,推薦閱讀目標檢測領域的一項工作,原理解釋、實驗非常充實——TridentNet。Scale-Aware Trident Networks for Object Detection

Fully Connected CRF

(這一方法在之後的版本就放棄了,我對此暫時也沒有多大興趣,僅限於跟著論文學習了一遍,這裡就簡單介紹吧,數學及原理就不再梳理了)

條件隨機場(CRF,Conditional Random Field)一般用來處理分割不平滑問題,它只考慮到目標像素點的附近點,是一個短距離的CRFs。由於網絡中得到的結果已經比較光滑了,更希望的是修復一些小的結構,處理邊緣細節,所以用到了全連接CRF模型。能量函數中有一部分高斯核函數,其值由兩點間的位置和顏色決定,位置為主,顏色為輔,算是一句話說一下淺顯的說明一下原理吧。

3.DeepLab V3

串聯結構

基於ResNet。使用標準卷積時,當網絡越來越深,output stride越大,feature map越小。每一個block中有三個3×3的卷積,最後一個卷積的stride=2,feature map就是因為這個變小的(除最後一個block的最後一個卷積,它的stride=1)。

低解析度的feature map難以恢復位置信息得到好的分割結果。解析度變低是因為stride=2,令stride=2的原因是,希望隨著網絡的深入,感受野越來越大,越有利於獲得high-level的信息。

那有沒有什麼辦法既能獲得較大感受野,又能有高解析度(output stride低)的特徵圖呢?就是DeepLab在使用的空洞卷積了!有了第二節DeepLabV2中的空洞卷積介紹基礎,看到這裡應該完全理解了。

作者設計的這一使用空洞卷積的串聯結構,把block4重複了四遍,即block5, block6, block7都是block4的複製品,唯一不同的是其中的膨脹率(rate / dilation),取決於想要的output stride。

作者還考慮了multi-grid方法,即每個block中的三個卷積有各自unit rate,例如Multi Grid = (1, 2, 4),block的dilate rate=2,則block中每個卷積的實際膨脹率=2* (1, 2, 4)=(2,4,8)。

並聯結構

如上圖所示,block4之後連接並聯結構,其中上面四個為ASSP,下面一個為image-level feature,他們的輸入都為前面的feature map,最後這五個結果拼接成一組特徵,看源碼torch.cat就很好理解了。

ASSP改進

相校對DeepLabV2的ASSP,唯一的區別就是加了BN層...

當想讓output stride=16時,ASSP包括了一個1×1卷積,和rate=(6,12 ,18)的3×3卷積,都是256通道。

image-level feature

用ASSP並列加入image-level feature是因為作者為了解決空洞卷積帶來的一個問題:

隨著空洞卷積的膨脹率(rate/dilation)增大,卷積核有效參數越來越少。是的,這個很容易理解,3×3、rate=1即標準卷積,只有在feature map最外面一圈會有卷積核參數超出邊界而無效,當rate變大,越來越多外圈的位置是有卷積核參數失效的,用極限思想思考一下,如果rate=size(feature map),那麼每次卷積都是卷核中心對應的feature map像素點被計算了,卷積核參數也只有中心那個點沒有失效,退化成了1×1卷積核。

作者正式為了解決這一問題,才在並聯結構中加入image-level feature。做法是對輸入的feature map全局平均池化(global average pooling),256通道的1×1卷積層,BN層,最後用戶雙線性插值的方法上採樣到目標大小,即與ASSP輸出的feature map尺寸相同。

4.DeepLab V3+

加入decoder

作者把DeepLavV3作為Encoder部分,加入decoder部分,稱形成了一種融合了SSP和Encoder-Decoder的新方法。

把整個網絡DeepLabV3作為Encoder,提取融合多尺度特徵;加入一個簡單的結構作為Decoder,能夠改善分割結構的物體邊界。

圖中的decoder的輸入,即low-level features,並不是和ASSP的輸入一樣,而是backbone的某個中間計算結果,然後通過一個1×1卷積(為了減少通道數),結果與encoder輸出(1×1卷積減少通道數,也上採樣了到原來4倍)融合,再經過3×3卷積,再上採樣4倍(至此16倍,已經恢復到原圖大小)。

深度可分離卷積(depthwise separable convolution)

本作中使用了depthwise separable convolution代替標準卷積,Depthwise separable convolution由depthwise convolution和pointwise convoution兩步完成。因為它能通過將標準卷積運算分為兩步從而減少參數,但實現和標準卷積操作相同的效果。即depthwise separable convolution = depthwise convolution + pointwise convolution(既指流程,也值參數量)。詳細內容和具體參數量計算請見下面的個人獨立博客,因為我也是學習來的,而且博主寫的很清晰明了,所以就不板門弄斧了:https://yinguobing.com/separable-convolution/

當然作者雖然使用了depthwise separable convolution方法來代替標準卷積操作,但依然是還是空洞卷積,看完上面那篇博客(或者本身就掌握深度可分離卷積),應該很容易就明白這句話。Atrous separable convolution只需要更改第一步為間隔取樣,第二部pointwise convolution無需特別處理。

DeepLab系列,尤其是後面兩作,他們的貢獻除了提出新算法模型以外,還包括進行了大量的實驗,包括模型中選擇某些小結構、參數的對比實驗,對於後面的研究者提供了寶貴的經驗,節省了大量的實驗資源與時間。

另外,學習時參考的代碼是第三方pytorch實現的,Github地址放在參考連結裡。

參考及引圖:

Semantic image segmentation with deep convolutional nets and fully connected CRFsDeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFsRethinking Atrous Convolution for SemanticImage SegmentationEncoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentationhttps://yinguobing.com/separable-convolution/https://github.com/fregu856/deeplabv3

相關焦點

  • DeepLabv1 & DeepLabv2 - 空洞卷積(語義分割)
    DeepLabv2 — Atrous Convolution (Semantic Segmentation) 作者 |Sik-Ho Tsang 翻譯 | 史蒂芬·二狗子 校對 | 醬番梨 審核 | 詹森·李加薪 整理 | 立魚王 原文連結: https://towardsdatascience.com/review-deeplabv1
  • Deeplab系列詳解
    今天是Deeplab系列,包括四篇。自從alexnet後,卷積網絡被廣泛地用於圖像處理領域。一開始的早期網絡比如VGG、GoogLeNet、ResNet等由於這些網絡的局限性只能用於圖像識別領域,自從FCN網絡出現以來,深度學習開始廣泛地用來處理圖像分割的任務,Deeplab系列網絡通過多尺度空洞卷積的方法很好地解決了圖像分割中多尺度的問題。
  • 爐石傳說迷你系列是什麼 迷你系列介紹
    爐石傳說迷你系列是什麼,迷你系列指的內容包括哪些。在近期的設計師的訪談中,設計師表示從瘋狂的暗月馬戲團開始,往後的每個版本中都會有35張新卡的小系列,下面了解一下詳情吧。
  • Gym系列
    ARMANI EXCHANGE 2017-2018秋冬女裝系列作者:Photo:ARMANI EXCHANGE內容來源:VOGUE時尚網#//www.vogue.com.cn/#22017-05-17該系列體現了對Armani主題的再現與重新揣摩:以女性化基調詮釋出陽剛之氣
  • 波音737系列飛機:BBJ系列公務機(圖)
    波音737系列飛機:BBJ系列公務機  BBJ(Boeing Business Jets)  1996年7月,為滿足市場需求,製造較大、更完善、航程超過6000海裡的公務機。  以新一代波音737為原型機,設計上採用了融合型翼梢小翼、有9個輔助油箱,動力裝置仍選用GE公司製造的CFM56-7系列發動機。BBJ系列的內部空間為一般遠程公務機的3倍,但價格卻只與其相近。
  • 愛普生推出實時時鐘模塊"RA8900系列"與"RX8900系列"
    實時時鐘模塊"RA8900系列"與"RX8900系列"  (左:CE封裝、右:SA封裝)  精工愛普生公司(以下簡稱為"愛普生")本次在實時時鐘模塊※2中又增添了內建溫度補償晶體振蕩器(DTCXO※1)的"RA8900系列"與"RX8900系列"新陣容,並開始提供樣品。
  • 「奧林匹斯英雄系列」系列之《雅典娜之印》上市
    雅典娜之印封面2013年暑期,「波西·傑克遜奧林匹斯英雄系列」第三部《雅典娜之印》將由接力出版社隆重推出。 「波西·傑克遜」系列簡體中文版自登錄中國以來,累計銷量已超50萬冊,該系列是一套希臘百科全書式的奇幻力作,它將希臘神話巧妙融入現代冒險之中,描摹了一群希臘混血半神英雄的故事,頗有少年現代版《荷馬史詩》的意味。
  • 濰柴系列與濰坊系列發電機組有何不同?
    No.1價格上的區別同功率、配置情況下,濰柴價格比較貴;濰坊系列機組比較便宜。原因:濰坊系列的柴油發電機組是濰坊當地動力設備廠家自己組裝設計的機組產品,發電機並不是濰柴品牌,價格上肯定比較便宜!濰柴系列的全新機比翻新機、再製造的機組價格貴些。生產廠家以及經銷商也是影響價格的一個因素。想選購濰柴發電機組產品的朋友,還是要選擇專業、值得信賴的廠家選購,選購前多多了解,避免被「坑」。更多關於濰柴柴油發電機組產品技術參數內容,可以在我們產品站中查看!
  • 語義分割中的深度學習方法全解:從FCN、SegNet到各版本DeepLab
  • 鋼管尺寸系列
    鋼管尺寸系列管道尺寸並非隨意確定而應遵循特定尺寸系統。鋼管尺寸用毫米,不過有些國家用英寸(英語inch,或者德語zoll)。
  • 《光環》系列劇情 光環全系列劇情種族武器戰艦資料
    《光環》系列堪稱是美國國民級FPS遊戲,其精彩的劇情、激爽的戰鬥和宏大的背景世界觀,讓無數玩家為之陶醉。下面為大家帶來《光環》系列劇情及時間線梳理,文後另附《光環》種族、武器、戰艦、生物等資料,希望各位喜歡。
  • Material Girl系列
    ARMANI EXCHANGE 2017-2018秋冬女裝系列作者:Photo:ARMANI EXCHANGE內容來源:VOGUE時尚網#//www.vogue.com.cn/#22017-05-17該系列體現了對Armani主題的再現與重新揣摩:以女性化基調詮釋出陽剛之氣,或logo以圖像的形式重新設計,加以鑲邊及貼飾。
  • 《失落城堡》手遊腐蝕系列怎麼獲取 腐蝕系列獲取方式匯總
    導 讀 失落城堡手遊中腐蝕系列十分強力,腐蝕系列怎麼得呢?腐蝕系列獲取方式是什麼呢?
  • 惡魔城系列回顧4:系列的起點,西蒙的冒險與德古拉的傳說
    《惡魔城》系列以吸血鬼獵人貝爾蒙特一族對抗暗夜之王吸血鬼德古拉伯爵為主線,講述了一段人魔對抗、波瀾壯闊,時間跨度長達近千年的歷史故事。貝爾蒙特一族的後人們在這孤獨且無盡的輪迴中,一遍遍的拿起祖傳的聖鞭,履行著自己的誓言,對抗著永遠的暗夜之王。這篇《惡魔城》全系列的回顧是按照時間順序開始的,需要查詢系列之前時間作品的同學們可以去看前面的回顧。
  • 三星S21系列將會是巨變?加入S Pen或徹底取代Note系列!
    今年的三星手機進行了產品線優化調整,在調整之後在手機設計方面將會迎來較大的變化,最大的變化就是三星S系列將會取代三星Note系列,成為新的產品線,而未來的雙產品線則變為三星Z系列可摺疊和三星S系列。目前三星S21系列的相關信息已經確認,那麼接下來就和權松科技一起來看看,這一次全新的三星S21系列究竟會是什麼樣子的吧!三星S21系列將會採用全新的外觀設計方案,在新機的正面設計上,三星S21系列將會首次帶來屏下攝像頭方案,新機正面的屏佔比也因此得到了大度的提升,整機的視覺效果十分的出色。
  • Surface pro 6系列的產品到底怎麼樣,今天來說說這個系列
    之前很多的朋友都在用這個surface pro 6,所以我也是接觸到了很多的這個系列的產品,對於這個產品,我還是抱著非常不錯的態度,因為不管是設計還有surface系列的一些打造,其實都是非常精良。對於這個系列的看法,其實我覺得pro 6這個系列和之前的一些前代的更新相比來說,是有很多的變化。尤其是有一些改進的方面,這也是我覺得這個系列更加不錯的原因。比如說是在散熱的方面,設計的就非常的別具匠心,我覺得其實平板產品在散熱上,一直都是一個非常重點的事情。
  • 榮耀V30系列拍照還有驚喜?或用P30系列同款濾光陣列
    榮耀V30系列將於11月26日,也就是下周二在北京正式發布。由於Matrix Camera技術的存在,使得該系列手機的拍照表現也將是一大亮點所在。但是除此之外,榮耀V30系列可能還將用上RYYB濾光矩陣,增大攝像頭進光量。
  • Supreme TNF 聯名系列曝光!合作 RTG 系列本周來襲?
    據悉本次的合作將會是"RTG 系列"(Remote Terrain Gear),系列將包含抓絨衣,馬甲夾克、包和手套等 8 樣單品,分別以黑色、綠色、紅色以及金色呈現。本次合作系列沒有我們熟悉的衝鋒衣或者羽絨服款,造型都是均以實用耐穿為主,外觀方面好像也沒有特別之處,大家覺得還可嗎?感興趣的各位敬請關注紅格子 App,我們將在第一時間給您帶來相關推送~