圖像語義分割之特徵整合和結構預測
「
余昌黔
華中科技大學碩士
研究方向為圖像語義分割
知乎專欄
https://zhuanlan.zhihu.com/semantic-segmentation
前言
近來閱讀了 PASCAL VOC 2012 排行榜上前幾的文章,包括 PSPNet 和林國省老師的幾篇論文,覺得現在在 semantic segmentation 領域對於 Multi-scale Features ensembling 的關注又多起來了(當然其實一直都應用的挺多),然後林國省老師對 CRF 有一些新的認識和解讀。這些都將總結於此。
兩個發展方向
特徵整合(Feature Ensembling)
又分為:
多尺度(multi-scale) 特徵整合
多級(multi-level)特徵整合
結構預測(Structure Prediction)
比如之前經常使用的條件隨機場
特徵整合
多尺度整合
PSPNet
這個方法在前一段時間是 PASCAL VOC 2012 排行榜上的第一,現在的第二。
語義分割中常見問題
關係不匹配(Mismatched Relationship)
場景中存在著可視模式的共現。比如,飛機更可能在天上或者在跑道上,而不是公路上。
易混淆的類別(Confusion Categories)
許多類別具有高度相似的外表。
不顯眼的類別(Inconspicuous Classes)
場景中包括任意尺寸的物體,小尺寸的物體難以被識別但是有時候對於場景理解很重要。
Note:這些大多數錯誤都部分或者完全和上下文關係以及全局信息有關係,而 PSPNet 就是為了整合不同區域的 context 來獲取全局的 context 信息。
網路結構
其中的一些tricks:
圖片輸入的 CNN 是 ResNet,使用了 dilated convolution
Pyramid Pooling Module 中的 conv 是1×1的卷積層,為了減小維度和維持全局特徵的權重
Pyramid Pooling Module 中的 pooling 的數量以及尺寸都是可以調節的
上採樣使用的雙線性插值
poly learning rate policy
數據擴增用了:random mirror, random resize(0.5-2), random rotation(-10 到 10 度), random Gaussian blur
選取合適的 batchsize
結構還是很清晰明確的,沒太多可說的。
此外,文中還提到了為了訓練使用了一個輔助的 loss,並不在我們討論內容之內,僅展示一下示意圖:
PSPNet 在 PASCAL VOC 2012 上測試的結果如下:
FeatMap-Net
這是林國省老師兩篇論文中提到的網路結構的前面一部分,我把它抽取出來在此討論特徵整合,這部分網路結構利用多尺度 CNN和sliding pyramid pooling來獲取 patch-background 的上下文信息。
網路結構
其中:
圖片進來先進行 0.4, 0.8, 1.2 的放縮
前 1-5 conv block 是共享參數的
向上採樣還是我們熟悉的雙線性插值
Sliding Pyramid Pooling
其中使用的是滑動的 pooling,即 stride 為 1,所以不降低 feature map 的尺寸。不同尺寸的窗口有利於獲得不同大小的背景信息,而且增加了 field-of-view,這樣 feature vector 能編碼更大範圍的信息(feature vector 會在之後的結構中使用,下文會介紹到)。
多級整合
RefineNet
這個方法在前一段時間是 PASCAL VOC 2012 排行榜上的第三,現在的第四。本方法主要想解決的限制是:多階段的卷積池化會降低最後預測結果圖片的尺寸,從而損失很多精細結構信息。
現有方法的解決辦法:
反卷積作為上採樣的操作
反卷積不能恢復低層的特徵,畢竟已經丟失了
Atrous Convolution(Deeplab提出的)
帶孔卷積的提出就是為了生成高解析度的 feature map,但是計算代價和存儲代價較高
利用中間層的特徵
最早的 FCN-8S 就是這樣做的,但是始終還是缺少強的空間信息
以上所說方法在我之前的文章中都有提到,感興趣的同學可以猛戳以下鏈接,這裡就不贅述了。
作者主張所有層的特徵都是有用的,高層特徵有助於類別識別,低層特徵有助於生成精細的邊界。所以有了接下來的網路結構,說實話我是覺得有點複雜。
網路結構
可以看見,整個結構其實是類似於 FCN-8S 的結構的,只是抽出特徵更早,而且經過了 RefineNet 進行處理。
整個流程就是,1/32 的 feature map 輸入 RefineNet 處理後和 1/16 的 feature map 再一起又輸入一個 RefineNet 優化,後面的過程類似。
RefineNet
可以看出,每個 RefineNet 的輸入是可以調整的,所以整個網路的連接也是可以修改的,當然作者做實驗說明在他提出的其他變體中這種連接的效果最好。
Residual Convolution Unit (RCU)
Multi-resolution Fusion
這裡將輸入的不同解析度的 feature map 上採樣到和最大 feature map 等尺寸然後疊加,此處的 conv 用於輸入的參數自適應。
Chained Residual Pooling
文中提到:
conv 作為之後加和的權重
relu 對接下來 pooling 的有效性很重要,而且使得模型對學習率的變化沒這麼敏感
這個鏈式結構能從大範圍區域上獲取背景 context
此處不得不提到,這個結構中大量使用了identity mapping這樣的連接,無論長距離或者短距離的,這樣的結構允許梯度從一個 block 直接向其他任一 block 傳播。
現在回過頭來看看 RefineNet 整個網路結構還是有些複雜的,但是確實還是有一些效果,這種直接將低層特徵抽取來優化高層特徵的措施可以想像能對結果進行一些優化。但是始終還是覺得這樣的處理有點太複雜了。
接下來看一下 RefineNet 在 PASCAL VOC 2012 上測試的結果:
結構預測 (CRF)
其實在語義分割這個領域很早就開始使用 CRF 或者 MRF 等對語義信息進行建模,在深度學習火起來之前就有不少這樣的方法了。所以後來大家很自然地想到了深度學習和條件隨機場的結合。但是,林國省老師指出現在利用條件隨機場的方法都不太「地道」。
現有方法:
dense CRF 作為 FCN 輸出的後處理,並沒有真正地結合進 CNN
CRFasRNN 中將二者真正結合了,但是只有其中一元勢函數的輸入來自 CNN,二元勢函數的輸入來自於一元以及迭代,而且這裡的二元勢函數被強制考慮為局部平滑度
以上所說方法在我之前的文章中都有提到,感興趣的同學可以猛戳以下鏈接,這裡就不贅述了。
Contextual CRF
此處提到的結構是和前文所述 FeatMap-Net 為統一網路結構
整體結構
此處我們主要討論 FeatMap-Net 之後的 CRF 的處理。林老師提出的這個方法對一元勢函數和二元勢函數都用 CNN 來直接進行處理,而且二元勢函數是直接對空間語義建模更精確。
feature map 中的每個空間位置(即每個像素點)對應 CRF 圖中的一個節點
Pairwise connection 就是通過每個節點與預定義的 spatial range box 中其他節點連接來體現的
不同的空間關係通過定義不同類型的 range box 來實現的,每種空間關係通過特定的 pairwise potential function 來建模
不同空間關係:
Surrounding 這樣的關係就在對應節點的周圍畫框,Above/Below 這樣的關係就讓節點在一條邊的中間然後在其上方或者下方畫框,此處的框是原圖最短邊的 0.4.
此處我們回顧一下 CRF 的公式:
其中,Ψω 是不同類型一元勢函數的集合,Ω 是一元勢函數對應的節點集合;θ 是不同類型二元勢函數的集合,Φ 是二元勢函數對應的邊的集合。
Unary Potential Functions
這裡,Zp,yp 對應與第 P 個節點和第 Yp 個類別
一元勢函數對應的處理就是從 Feature map 上的一個節點提取出 feature vector,然後連接幾層全連接層,輸出K個值,這個K就是需要預測的類別數。
Pairwise Potential Functions
我覺得這裡對二元勢函數的處理很巧妙,將兩個節點對應的 feature vector 提取出來然後連接到一起來學習兩個節點之間的邊,很棒!之後自然也是連接幾層全連接層輸出的是k2 個值,為了將所有類別之間的配對關係都考慮進去,但是這裡產生的值應該有很多冗餘。
Asymmetric Pairwise Functions
對於不對稱的關係比如 AboveBelow 就需要這樣的不對稱二元勢函數進行學習,而這種勢函數主要依賴於兩個節點輸入的順序,這個可以通過兩個 feature vector 連接的順序來體現,所以我說這樣的處理很巧妙啊。
至此,這種對 CRF 的解讀講完了~但是這篇文章中的有一些內容還不得不提一下:
這些 CRF 是用於 coarse prediciton stage 的,為了提升低解析度的預測;文中提到在最後的輸出的時候還是使用來的 dense crf 進行細化輸出的(這就比較尷尬了,最開始還說人家不好,現在還是要使用……)
文中提到 Piecewise Learning 作為新的一種對 CRF 的訓練方法,這裡就沒有闡述了,感興趣的同學可以看看原文。
參考文獻
1. Zhao H, Shi J, Qi X, et al.Pyramid Scene Parsing Network[J]. 2016.
2. Lin G, Shen C, Hengel A V D, et al.Efficient Piecewise Training of Deep Structured Models for Semantic Segmentation[C]// IEEE Conference on Computer Vision and Pattern Recognition. IEEE Computer Society, 2016:3194-3203.
3. Lin G, Shen C, Hengel A V D, et al.Exploring Context with Deep Structured models for Semantic Segmentation[J]. 2016.
4. Lin G, Milan A, Shen C, et al.RefineNet: Multi-Path Refinement Networks for High-Resolution Semantic Segmentation[J]. 2016.
關於PaperWeekly
PaperWeekly 是一個分享知識和交流學問的學術組織,關注的領域是 NLP 的各個方向。如果你也經常讀 paper,喜歡分享知識,喜歡和大家一起討論和學習的話,請速速來加入我們吧。
※換一種性別過人生,好嗎?
※山東大學生命學院「青年千人」張亮然課題組人員招聘
※科研圈2月論文精選,快看你有沒有錯過精彩內容?
TAG:科研圈 |
※聯想大調整的兩個猜想:簡化結構、渠道整合
※慢性病分级诊疗的整合医学观
※課程綜合化與課程整合,有交集也有區別
※整合與統一王墉
※整合計算 創新價值
※整合蜂窩網路算什麼?我們整合了「整個製表業」
※中小教育機構的突圍之路——培訓管理系統區域整合
※整合資源 促進國際基建融合發展
※Game啟示錄—遊戲中的協作 「人力資源」最合適的整合方式
※曼朗策劃整合營銷要訣:定製化分析與精準化營銷雙軌並行
※動作整合與快速伸縮複合訓練
※吳敦義啟動泛藍整合 爭取聯合親民黨一同「倒閣」
※SSH框架的整合詳解
※【課程】承諾整合期
※微軟與亞馬遜達成合作,跨平台整合語音助手
※抽象野性而引人注目的整合藝術,效果令人為之驚嘆|藝術捕夢
※沙漠之旅:整合你的陰影
※月番資源整合目錄
※整合聯盟平台優勢資源