【图像分割模型】以RNN形式做CRF后处理—CRFasRNN
這是專欄《圖像分割模型》的第5篇文章。在這里,我們將共同探索解決分割問題的主流網絡結構和設計思想。
條件隨機場有點復雜,那能不能用神經網絡的方式搞定CRF后處理呢?今天我們一起看一看穿上RNN外套的CRF長什么樣。
作者 | 孫叔橋
編輯 | 言有三
本期論文《Conditional Random Fields as Recurrent Neural Networks》
?
1 預備知識
條件隨機場(CRF或CRFs)與隱馬爾科夫模型有著千絲萬縷的聯系。為了理解CRF,這里先簡單說一下馬爾科夫鏈(MC, Markov Chain)和隱馬爾科夫模型。
1.1 馬爾科夫鏈
馬爾科夫鏈是指具有馬爾可夫性質且存在于離散指數集合狀態空間內的隨機過程。那么什么是馬爾科夫性質呢?
從定義上來說,當一個隨機過程在給定現在狀態及過去所有狀態的情況下,其未來狀態的條件概率分布僅依賴于當前狀態;換句話說,在給定現在狀態時,其過去狀態(即該過程的歷史路徑)是條件獨立的。
這個表述比較抽象,我們舉個馬爾科夫鏈的例子理解一下:
比如有一只螞蟻在下圖所示的網格內爬行(網格區域無限大),由于墻壁的存在,它只能向前、后、左、右四個防線之一前進,每次前進一步。假設螞蟻從位置S開始,那么在給定前n步的選擇后,當前螞蟻的所在位置就是知道的(假設在紅色點處);那么下一步依然是四個方向之一,即下一步的狀態僅依賴與當前狀態,且選擇隨機。同時,之前走過的每一步之間是條件獨立的,即上一步走的方向不會影響這一步的方向。
由于存在的選擇只有四個,即選擇離散,所以我們稱這個過程為馬爾科夫鏈。當選擇連續時,稱為馬爾科夫過程(Markov Process)。
1.2 隱式馬爾科夫模型
隱式馬爾科夫模型(HMM,Hidden Markov Model)是關于時序的概率模型,描述由一個隱藏的馬爾科夫鏈隨機生成的不可觀測的狀態隨機序列,再由各個狀態生成一個觀測而產生觀測序列的過程。隱藏的部分稱為狀態序列;生成的觀測組成的隨機序列稱為觀測序列。
同樣,我們舉個例子來理解一下隱式馬爾科夫模型:
比如我們現在需要進行天氣預測,已知天氣的狀態有兩種:天氣好(晴天)和天氣不好(雨雪霧、陰天等),分別用1和2表示。
很明顯,要預測明天天氣的話,今天及以前的天氣是已知的。因此,我們可以通過歷史天氣計算出下圖中各個狀態之間的傳遞概率。比如,如果今天是晴天,那么明天是晴天的概率為0.6,則狀態1到1為0.6(圖中的1-α)、狀態1到2的概率則為0.4;同理,假設今天天氣不好那么明天天氣也不好的概率為0.9,則狀態2到2概率為0.9(圖中的1-β),那么狀態2到1的概率為0.1。
1.3 什么是CRF
CRF是一種判別式概率模型,是隨機場的一種,結合了最大熵模型和隱式馬爾科夫模型的特點;CRF是一種無向圖模型,圖中的頂點代表隨機變量,頂點間的連線代表隨機變量間的相依關系。其條件概率分布模型可以表述為P(Y|X),即給定一組隨機變量的條件下,隨機變量Y的馬爾科夫隨機場(MRF,Markov Random Field)。
1.4 平均場理論
平均場理論(MFT,Mean Field Theory)是將隨機過程模型中一個單體受到的所有影響近似為一個外部場,從而將多體問題分解為多個單體問題,再進行求解的范式和理論。簡單來說,就是把環境對物體的作用進行集體處理,然后用平均作用效果代替單個作用效果的加和的方法。
?
2 圖像分割中的CRF
在圖像分割問題中,CRF將被標注的像素視為一個MRF中的隨機變量,整幅圖像就是一個全局觀測。那么,標注x的能量函數就可以表示為:
其中,第一項通常為CNN的分割結果,第二項為平滑項(后處理)。此時,最小化能量函數就能得到當前圖片下最可能的標注組合。
這個過程可以通過下圖所示的方式分解為一系列的CNN層:
把這個過程圖形化:
?
3 網絡結構
前面已經說明了,均場CRF問題可以變成一個CNN,簡化結構如下圖所示:
那么,如果用一個FCN模型完成第一階段的分割任務,用RNN形式的CRF完成第二階段的后處理(CRF-RNN),則可以搭建如下形式的端到端分割網絡結構模型:
?
4 實驗結果
下圖是CRFasRNN在Pascal VOC 2012下的實驗結果:
?
總結
本文我們了解了上下文信息整合的CRF方法,并將其以RNN的形式實現。作為平滑后處理,CRF能夠大幅提升分割的效果。盡管空洞卷積和CRF都能夠整合上下文信息,但是目標的尺度問題它們卻沒有著重考慮。那么下回我們就討論下多尺度的分割任務。
本專欄文章:
第一期:【圖像分割模型】從FCN說起
第二期:【圖像分割模型】編解碼結構SegNet
第三期:【圖像分割模型】感受野與分辨率的控制術—空洞卷積
第四期:【圖像分割模型】快速道路場景分割—ENet
第五期:【圖像分割模型】以RNN形式做CRF后處理—CRFasRNN
感謝各位看官的耐心閱讀,不足之處希望多多指教。后續內容將會不定期奉上,歡迎大家關注有三公眾號 有三AI!
總結
以上是生活随笔為你收集整理的【图像分割模型】以RNN形式做CRF后处理—CRFasRNN的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【TensorFlow2.0】Tenso
- 下一篇: 【完结】AI1000问以后知识星球和B站