全卷積神經網絡FCN


卷積神經網絡CNN(YannLecun,1998年)通過構建多層的卷積層自動提取圖像上的特征,一般來說,排在前邊較淺的卷積層采用較小的感知域,可以學習到圖像的一些局部的特征(如紋理特征),排在后邊較深的卷積層采用較大的感知域,可以學習到更加抽象的特征(如物體大小,位置和方向信息等)。CNN在圖像分類和圖像檢測領域取得了廣泛應用。
 
CNN提取的抽象特征對圖像分類、圖像中包含哪些類別的物體,以及圖像中物體粗略位置的定位很有效,但是由於采用了感知域,對圖像特征的提取更多的是以“一小塊臨域”為單位的,因此很難做到精細(像素級)的分割,不能很准確的划定物體具體的輪廓。
 
針對CNN在圖像精細分割上存在的局限性,UC Berkeley的Jonathan Long等人2015年在其論文 “Fully convolutional networks for semantic segmentation”(用於語義分割的全卷積神經網絡)中提出了Fully Convolutional Networks (FCN)用於圖像的分割,要解決的核心問題就是圖像像素級別的分類。論文鏈接: https://arxiv.org/abs/1411.4038
 
FCN與CNN的核心區別就是FCN將CNN末尾的全連接層轉化成了卷積層:


以Alexnet為例,輸入是227*227*3的圖像,前5層是卷積層,第5層的輸出是256個特征圖,大小是6*6,即256*6*6,第6、7、8層分別是長度是4096、4096、1000的一維向量。

 

在FCN中第6、7、8層都是通過卷積得到的,卷積核的大小全部是1*1,第6層的輸出是4096*7*7,第7層的輸出是4096*7*7,第8層的輸出是1000*7*7(7是輸入圖像大小的1/32),即1000個大小是7*7的特征圖(稱為heatmap)。

 

經過多次卷積后,圖像的分辨率越來越低,,為了從低分辨率的heatmap恢復到原圖大小,以便對原圖上每一個像素點進行分類預測,需要對heatmap進行反卷積,也就是上采樣。論文中首先進行了一個上池化操作,再進行反卷積,使得圖像分辨率提高到原圖大小:

 

 對第5層的輸出執行32倍的反卷積得到原圖,得到的結果不是很精確,論文中同時執行了第4層和第3層輸出的反卷積操作(分別需要16倍和8倍的上采樣),再把這3個反卷積的結果圖像融合,提升了結果的精確度:


最后像素的分類按照該點在1000張上采樣得到的圖上的最大的概率來定。
 

FCN可以接受任意大小的輸入圖像,但是FCN的分類結果還是不夠精細,對細節不太敏感,再者沒有考慮到像素與像素之間的關聯關系,丟失了部分空間信息。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM