語義分割網(wǎng)絡(luò)經(jīng)典:FCN與SegNet
點(diǎn)擊上方“小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時(shí)間送達(dá)
全文目錄
1、FCN
概述
編碼和解碼過程
2、SegNet
概述:
特征上采樣與融合細(xì)節(jié)
代碼地址
將圖像中每個(gè)像素分配到某個(gè)對(duì)象類別,相關(guān)模型要具有像素級(jí)的密集預(yù)測(cè)能力。
01
FCN
(一)概述
改編當(dāng)前的分類網(wǎng)絡(luò):AlexNet、VGG、GoogLeNet到全卷積網(wǎng)絡(luò)和通過微調(diào)傳遞它們學(xué)習(xí)的特征表達(dá)能力到分割任務(wù)中。然后定義了一個(gè)跳躍式的架構(gòu),結(jié)合來自深、粗層的語義信息和來自淺、細(xì)層的表征信息來產(chǎn)生準(zhǔn)確和精細(xì)的分割。
?
由上圖可以看出,將分類網(wǎng)絡(luò)改成全卷積網(wǎng)絡(luò),生成了一個(gè)低分辨率的類的熱圖(圖中的:tabby cat heatmap),上采樣用雙線性初始化的反卷積,并在上采樣的每一個(gè)階段通過融合(簡(jiǎn)單地相加)下采樣階段網(wǎng)絡(luò)中的低層的更加粗糙但是分辨率更高的特征圖進(jìn)一步細(xì)化特征。
(二)特征上采樣與融合細(xì)節(jié)

上圖可以看出該算法采用了“融合層”策略(簡(jiǎn)單地相加),將高層特征和低層特征進(jìn)行融合來提高分割性能,分別采用了3種不同的結(jié)構(gòu),第一種是32x upsampled ,第二種是16x upsampled,第三種是8x upsampled。?
過程是這樣的:
?
1、32x upsampled?
原圖經(jīng)過不斷的卷積和池化,得到pool5層的特征(比原圖縮小了32倍),將pool5通過32倍的上采樣(反向卷積)得到最后結(jié)果。但是pool5層的特征屬于高層抽象特征,采樣后得到的結(jié)果不夠精細(xì)。
?
2、16x upsampled?
將pool5的結(jié)果進(jìn)行2倍上采樣,與pool4相加,作為“融合”,然后將“融合”結(jié)果進(jìn)行16倍的上采樣(反向卷積)得到最后結(jié)果(注:融合是指對(duì)應(yīng)位置像素值相加,后來的u-net則直接是通道上拼接)。?
3、8x upsampled?
將pool5的結(jié)果進(jìn)行2倍上采樣,與pool4相加,作為“融合”,然后將“融合”結(jié)果進(jìn)行2倍的上采樣,再與pool3的結(jié)果進(jìn)行“融合”,之后進(jìn)行八倍的上采樣。?
三種結(jié)構(gòu)實(shí)驗(yàn)結(jié)果表明,將高層特征與低層特征的融合能夠明顯提高像素點(diǎn)的分類效果,如下圖所示:

02
SegNet
(一)概述

上圖可以看到segNet沒有全連接的層。SegNet和FCN思路十分相似,不同之處在于解碼器使用從編碼器傳輸?shù)淖畲蟪鼗饕ㄎ恢茫?duì)其輸入進(jìn)行非線性上采樣,從而使得上采樣不需要學(xué)習(xí),生成稀疏特征映射。然后,使用可訓(xùn)練的卷積核進(jìn)行卷積操作,生成密集的特征圖。最后的解碼器輸出特征映射被送入soft-max分類器進(jìn)行像素級(jí)分類。?
上采樣使用池化層索引的優(yōu)勢(shì):?
?? 1)提升邊緣刻畫度;?
?? 2)減少訓(xùn)練的參數(shù);?
?? 3)這種模式可包含到任何編碼-解碼網(wǎng)絡(luò)中。
(2)編碼和解碼過程
SegNet在編碼階段進(jìn)行pooling的時(shí)候會(huì)保留保存通過max選出的權(quán)值在2x2 filter中的相對(duì)位置,用于之后在解碼器中使用那些存儲(chǔ)的索引來對(duì)相應(yīng)特征圖進(jìn)行去池化操作,如下圖所示:?

03
代碼地址
網(wǎng)絡(luò)結(jié)構(gòu)部分的代碼詳見:?
https://github.com/cswhshi/segmentation/blob/master/FCN.ipynb?
https://github.com/cswhshi/segmentation/blob/master/SegNet.ipynb?
歡迎大家指正和star~
交流群
歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN、算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺SLAM“。請(qǐng)按照格式備注,否則不予通過。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~

