【图像分割模型】用BRNN做分割—ReSeg
這是專欄《圖像分割模型》的第9篇文章。在這里,我們將共同探索解決分割問題的主流網絡結構和設計思想。
盡管許多人都知道RNN在處理上下文上多優于CNN,但如何將RNN用于分割任務還是值得討論一下。本文我們就來聊聊用BRNN做分割的ReSeg。
作者 | 孫叔橋
編輯 | 言有三
本期論文:《ReSeg: A Recurrent Neural Network-based Model for Semantic Segmentation》
?
1 簡單說說BRNN
(1) 什么是循環神經網絡
不同于卷積神經網絡(CNN,Convolutional Neural Network)通常以圖塊(patches)為輸入,循環神經網絡(RNN,Recurrent Neural Network)的輸入是序列形式的。即使在處理圖像時,通常也需要對圖像矩陣進行展開(flatten)操作,再應用RNN。輸入序列數據后,RNN在序列的演進方向遞歸所有節點,并將其定向鏈式連接。
下圖是一個簡單的RNN單元示意圖:
(2) 為什么要用RNN
盡管CNN在處理多維數據(如圖像)時的表現相當不錯,但是其需要依賴人工指定的核函數來完成計算,因此在處理上下文信息的時候受到了限制。相反,RNN本身拓撲結構的設計,使得其能夠利用內部記憶處理任意時序的輸入序列,從而在長短時間間隔序列的處理上比CNN更具優勢。
(3) 什么是BRNN
BRNN是雙向循環神經網絡(Bi-directional RNN)的縮寫,屬于循環神經網絡的一種。基礎RNN只能依據之前時刻的時序信息來預測下一時刻的輸出,但是有些問題中需要聯系上之前和未來狀態,共同進行預測。BRNN由兩個方向不同的RNN堆疊而成,同時處理過去和未來信息。下圖是BRNN的示意圖:
?
2 ReSeg:用BRNN做分割
ReSeg是基于圖像分割模型ReNet提出的。因此,我們首先來看一下ReNet。下圖是ReNet的運算示意圖:
如圖所示,ReNet由兩層順序排列的RNN構成。在給定輸入圖像(或前層)特征后,ReNet對展開結果分別按列、按行掃描。每個掃描過程由兩個相反方向的RNN運算單元實現。具體公式如下:
其中f代表RNN,I為圖像子塊行數(圖像被分割成IxJ塊),o是結果,z為之前的狀態,p為子圖塊內的像素點。
給定輸入圖像后,ReSeg首先用預訓練好的VGG-16提取圖像的特征,隨后開始應用基于SeNet的網絡結構進行分割任務。具體網絡結構如下圖所示:
從網絡結構可以看出,ReSeg應用了3次串聯的完整ReNet模塊,空間分辨率在這個過程中逐漸減小。這么做的目的是,將VGG-16提取的特征進行進一步的處理,從而得到對輸入圖像更復雜的特征描述。
特征提取結束后,特征圖對輸入圖像的空間分辨率下降為1/8,因此需要恢復空間分辨率以得到稠密的分割結果。因此,在所有ReNet模塊結束后,ReSeg應用了若干層由反卷積組成的上采樣層,將特征圖的空間分辨率恢復成原始輸入圖像的空間分辨率。
最后,簡單應用softmax實現分割。
?
3 實驗結果
ReSeg的實驗用到了三個數據庫,分別是Weizmann Horses、Oxford Flowers和CamVid。其中,前兩個數據庫比CamVid要容易一些,因此這里只討論CamVid下ReSeg的表現,感興趣的讀者可以移步原文看ReSeg在其他數據庫下的實驗結果。
下表是ReSeg在CamVid數據庫下對不同類別的分割結果以及與其他算法的效果比較。
下圖是ReSeg在CamVid下的分割結果圖:
從左到右:輸入、真值、ReSeg結果、帶類別平衡的ReSeg結果
?
總結
盡管ReNet和ReSeg的提出時間較早,分割效果相比較state-of-the-art算法也略有不足。但是,其提供的模型設計與卷積操作上的思路是非常新穎的,同時也巧妙地用GRU解決了RNN梯度消失問題,因此對于分割任務的網絡設計具有一定的啟發性作用。
下期我們繼續RNN的討論,看看如何在ReNet的基礎上處理長程上下文信息下的分割問題。下回見!
本專欄文章:
第一期:【圖像分割模型】從FCN說起
第二期:【圖像分割模型】編解碼結構SegNet
第三期:【圖像分割模型】感受野與分辨率的控制術—空洞卷積
第四期:【圖像分割模型】快速道路場景分割—ENet
第五期:【圖像分割模型】以RNN形式做CRF后處理—CRFasRNN
第六期:【圖像分割模型】多感受野的金字塔結構—PSPNet
第七期:【圖像分割模型】全局特征與局部特征的交響曲—ParseNet
第八期:【圖像分割模型】多分辨率特征融合—RefineNet
第九期:【圖像分割模型】用BRNN做分割—ReSeg
第十期:【圖像分割模型】BRNN下的RGB-D分割—LSTM-CF
第十一期:【圖像分割模型】實例分割模型—DeepMask
第十二期:【圖像分割模型】全景分割是什么?
感謝各位看官的耐心閱讀,不足之處希望多多指教。后續內容將會不定期奉上,歡迎大家關注有三公眾號 有三AI!
?
總結
以上是生活随笔為你收集整理的【图像分割模型】用BRNN做分割—ReSeg的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【移动端DL框架】当前主流的移动端深度学
- 下一篇: 【图像分割模型】BRNN下的RGB-D分