語義分割之FCN、SegNet和PSPNet小結

1.介紹

    由於最近要用到語義分割模塊,所以又把相應資料拿來讀了一下,順便也做一個筆記,發一篇博客,哈哈。今天的豬腳是FCN、SegNet和PSPNet,由於比較基礎,就三個拿來一起介紹。其中,FCN是用深度學習做語義分割的開山之祖。

 

2.模型結構

  1)FCN

è¿éåå¾çæè¿°

è¿éåå¾çæè¿°

    它的結構與VGG(當然這個基礎網絡你用其它的也行)相似,只是把後面的全鏈接改成全卷積,爲了得到更精細的結果,作者提出將第4層的輸出和第3層的輸出也依次反捲積,分別做16倍和8倍上採樣,最後把不同層級的池化層上採樣得到的結果圖像疊加在一起

   優點:端到端,適應任何輸入圖片大小

   缺點:1.是得到的結果還是不夠精細。進行8倍上採樣雖然比32倍的效果好了很多,但是上採樣的結果還是比較模糊和平滑,對圖像中的細節不敏感。2.是對各個像素進行分類,沒有充分考慮像素與像素之間的關係。忽略了在通常的基於像素分類的分割方法中使用的空間規整(spatial regularization)步驟,缺乏空間一致性。

 

  2)SegNet

    SegNet可以看出一個自編碼器,只不過輸出是一個分割圖而已

    SegNet的創新點在於解碼器對低特徵圖的上採樣處理方式。具體來講,解碼器利用在max-pooling過程中計算出的池化indices,計算對應的編碼器的非線性上採樣。這個過程就省去了上採樣學習的過程。

 

  3)PSPNet

    前面兩個模型都不夠精細,沒有充分利用上下文關係,大多數先進的場景解析框架大多數基於FCN,但FCN存在的幾個問題:

      1.Mismatched Relationship:上下文關係匹配對理解複雜場景很重要,例如在上圖第一行,在水面上的很可能是“boat”,而不是“car”。雖然“boat和“car”很像。FCN缺乏依據上下文推斷的能力。

      2.Confusion Categories: 許多標籤之間存在關聯,可以通過標籤之間的關係彌補。上圖第二行,把摩天大廈的一部分識別爲建築物,這應該只是其中一個,而不是二者。這可以通過類別之間的關係彌補。

      3.Inconspicuous Classes:模型可能會忽略小的東西,而大的東西可能會超過FCN接收範圍,從而導致不連續的預測。如上圖第三行,枕頭與被子材質一致,被識別成到一起了。爲了提高不顯眼東西的分割效果,應該注重小面積物體。

    針對上面問題,作者提出了一個具有層次全局優先級,包含不同子區域之間的不同尺度信息的模塊,該模塊融合了4種不同金字塔尺度的特徵,第一行紅色是最粗糙的特徵–全局池化生成單個bin輸出,後面三行是不同尺度的池化特徵。爲了保證全局特徵的權重,如果金字塔共有N個級別,則在每個級別後使用1×1的卷積將對應級別通道降爲原本的1/N。再通過雙線性插值獲得未池化前的大小,最終concat到一起。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章