轉(zhuǎn)載請(qǐng)注明出處
作為計(jì)算機(jī)視覺三大任務(wù)(圖像分類俄精、目標(biāo)檢測询筏、圖像分割)之一,圖像分割已經(jīng)在近些年里有了長足的發(fā)展竖慧。這項(xiàng)技術(shù)也被廣泛地應(yīng)用于無人駕駛領(lǐng)域中嫌套,比如用來識(shí)別可通行區(qū)域、車道線等圾旨。
全卷積網(wǎng)絡(luò)(Fully Convolutional Networks踱讨,F(xiàn)CN)是UC Berkeley的Jonathan Long等人于2015年在Fully Convolutional Networks for Semantic Segmentation一文中提出的用于圖像語義分割的一種框架。雖然已經(jīng)有很多文章介紹這個(gè)框架砍的,我還是希望在此整理一下自己的理解痹筛。
網(wǎng)絡(luò)結(jié)構(gòu)
整體的網(wǎng)絡(luò)結(jié)構(gòu)分為兩個(gè)部分:全卷積部分和反卷積部分。其中全卷積部分借用了一些經(jīng)典的CNN網(wǎng)絡(luò)(如AlexNet,VGG帚稠,GoogLeNet等)谣旁,并把最后的全連接層換成卷積,用于提取特征翁锡,形成熱點(diǎn)圖蔓挖;反卷積部分則是將小尺寸的熱點(diǎn)圖上采樣得到原尺寸的語義分割圖像。
輸入和輸出
網(wǎng)絡(luò)的輸入可以為任意尺寸的彩色圖像馆衔;輸出與輸入尺寸相同瘟判,通道數(shù)為:n(目標(biāo)類別數(shù))+1(背景)。
全卷積
網(wǎng)絡(luò)在CNN卷積部分不用全連接而是替換成卷積的目的是允許輸入的圖片為超過某一尺寸的任意大小角溃。
上采樣 Upsampling
由于在卷積過程中拷获,我們的heat map變得很小(比如長寬變?yōu)樵瓐D像的)减细,為了得到原圖像大小的稠密像素預(yù)測匆瓜,我們需要進(jìn)行上采樣。
一個(gè)直觀的想法是進(jìn)行雙線性插值未蝌,而雙線性插值很容易用反向卷積(backwards convolution)通過固定的卷積核來實(shí)現(xiàn)驮吱。反向卷積又可以被稱為反卷積(deconvolution),在近期的文章中通常被稱為轉(zhuǎn)置卷積(transposed convolution)萧吠。
在實(shí)際應(yīng)用中左冬,作者并沒有固定卷積核,而是讓卷積核變成可學(xué)習(xí)的參數(shù)纸型。
跳級(jí)結(jié)構(gòu) Skips
如果利用之前提到的上采樣技巧對(duì)最后一層的特征圖進(jìn)行上采樣的到原圖大小的分割拇砰,由于最后一層的特征圖太小,我們會(huì)損失很多細(xì)節(jié)狰腌。因而作者提出增加Skips結(jié)構(gòu)將最后一層的預(yù)測(有更富的全局信息)和更淺層(有更多的局部細(xì)節(jié))的預(yù)測結(jié)合起來除破,這樣可以在遵守全局預(yù)測的同時(shí)進(jìn)行局部預(yù)測。
我們將底層(stride 32)的預(yù)測(FCN-32s)進(jìn)行2倍的上采樣得到原尺寸的圖像琼腔,并與從pool4層(stride 16)進(jìn)行的預(yù)測融合起來(相加)瑰枫,這一部分的網(wǎng)絡(luò)被稱為FCN-16s。隨后將這一部分的預(yù)測再進(jìn)行一次2倍的上采樣并與從pool3層得到的預(yù)測融合起來展姐,這一部分的網(wǎng)絡(luò)被稱為FCN-8s躁垛。
結(jié)論
FCN仍有一些缺點(diǎn),比如:
得到的結(jié)果還不夠精細(xì)圾笨,對(duì)細(xì)節(jié)不夠敏感教馆;
沒有考慮像素與像素之間的關(guān)系,缺乏空間一致性等擂达。
參考:zomi,全卷積網(wǎng)絡(luò)FCN詳解:知乎專欄文章
作者的其他相關(guān)文章:
PointNet:基于深度學(xué)習(xí)的3D點(diǎn)云分類和分割模型 詳解
基于視覺的機(jī)器人室內(nèi)定位