來自Google Research語義分割的最新進展:Rethinking Atrous Convolution for Semantic Image Segmentation

今天要介紹的是Google Research提出的關於Computer Vision經典語義分割問題(Semantic Segmentation)的最新進展,在常用的PASCAL VOC 2012取得了State-of-the-art的成果。第一作者Liang-Chieh Chen之前在UCLA PhD時期就已經提出了經典的DeepLab方法,利用 Atrous Convolution(或稱Dilated Convolution),讓Feature Map可以同時取得更大的Field of View,並保持較高的Resolution,藉此讓每個pixel的prediction都可以有更多的context信息,使得語義分割預測更加準確。語義分割問題在這一兩年也有了許多不同的方法被提出,其中 Atrous Convolution或是其變形已經成為了不可或缺的部分,另外各種不同的架構改進方案或技巧,大致的概念都是想要更有效的取得Context信息。Liang-Chieh Chen這次在Google提出的改進方案(DeepLab v3),雖然並沒有太特別或是爆炸性的架構進展,但是基於Google在Engineering上的高度品質要求,一次做了許多不同方法上的組合比較(Ablation Study),之後應該也會放出Tensorflow的Code或是API,宣傳自己的Tensorflow工具的同時,繼續幫大家做功德,省得自己拼湊網路上的各種implementation走歪路。以下做簡單的論文摘要:

上圖簡單解釋了Atrous Convolution的原理:Atrous在法文中是補洞的意思,同樣都是3x3 Convolution,我們可以利用調整更大的rate,作用在更大的範圍的feature map下,得到更大的field-of-view,並且維持一樣的參數量。(Atrous Convolution也可看作是之前介紹過的Deformable Convolution的簡化版)

作者嘗試的第一種延伸架構Going Deeper(Cascaded Module):複製Resnet中最後一個Convolution Block(Block 4),並連續接在後端(圖中的Block 5 + 6 + 7),以取得更多multi-scale cascade context。這裡為了維持相同的feature map大小(Output Stride=16,表示原本圖片是feature map的16倍大),在後面的block上所使用的Atrous Rate需要以指數成長。

作者嘗試的第二種延伸架構ASPP(Parallel Module):在最後的feature map上,接上平行的Convolution Block,每一個Block取用不同rate的Atrous Convolution,最後將所有的資訊合併起來再做預測。ASPP在原本的DeepLab就已經被提出了,但是這邊作者另外在ASPP後接上了Batch Normalization,另外借鑑了其他論文的思想(ex. PSPNet),加入了前面Image Feature Map一起合併做Global Average Pooling,實驗也證明這樣的小技巧是有效的。(不過這邊詳細的Architecture並沒有詳細說明,可能要等Code出來才能知道細節)

Multi-Grid架構設計:這部分作者沒有在論文著墨太多,但是可以參考Reference中所引用的另一篇論文 Understanding Convolution for Semantic Segmentation ,其中提出的 Hybrid Dilated Convolution (HDC) 就是這篇所提出的 Multi-Grid,只是換了一個名字。上圖引用自 Understanding Convolution for Semantic Segmentation的論文,原始在每一個Resnet block中所加上的Atrous Rate,若是在連續的Convolution Layer使用相同的Rate,會產生gridding problem,看似field-of-view放大了,但其實只有用到稀疏的信息,改進的方式就是另外設計非關聯的rate參數。

上面的兩張表格分別顯示了兩種延伸架構的分別Ablation Study(兩種架構皆使用了Multi-Grid),作者做了許多參數上的嘗試,最後按照數字說話,選擇採用第二種延伸架構(mIOU=79.77)作為Testing的Model。(很直覺的會想到也可以將兩種架構合併使用,可惜作者在論文中也提及,合併架構並沒有好的效能提升))

在小編看來,這篇另外一部分的貢獻展現在了Engineering方面,其中使用了許多增進效能的小Trick,例如:Multi-Scale (MS)、Image Flipping、Testing on Output Stride=8。有興趣實作的人們,可能要等到Google公佈Tensorflow的相關API,才能真正達到差不多的結果,Semantic Segmentation這個古老問題也是快被做爛了吧 orz

Paper:https://arxiv.org/pdf/1706.05587.pdf

Share the joy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

近期文章

近期迴響

彙整

分類

其它

Chien-Yi Wang Written by:

Be First to Comment

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *