FCN
FCN對圖像像素級的分類,從而解決了語義級別的圖像分割問題腹纳。與經(jīng)典的CNN在卷積層之后使用全連接層得到固定長度的特征向量進行分類(全連接層+softmax)不同辱姨,F(xiàn)CN可以接受任意尺寸的輸入圖像,采用反卷積層對最后一個卷積層的feature map進行上采樣脱衙,使它恢復(fù)到輸入圖像相同的尺寸蘸吓,從而可以對每個像素都產(chǎn)生一個預(yù)測善炫,同時保留了原始輸入圖像中空間信息,最后在上次采樣的特征圖上進行逐像素分類库继。
反卷積層
upsampling可以看成是反卷積箩艺,卷積運算的參數(shù)和CNN的參數(shù)一樣是在訓練FCN模型的過程中通過反向傳播算法學習得到的。
跳級結(jié)構(gòu)
對CNN的結(jié)果做處理宪萄,得到了dense prediction艺谆,得到的結(jié)果比較粗糙,加入更多前層的細節(jié)信息拜英,也就是把倒數(shù)第幾層的輸出和最后的輸出做一個fusion静汤,實際上是做加和。
FCN的缺點:
- 得到的結(jié)果還不夠精細居凶,進行8倍上采樣雖然比32倍的效果好很多虫给,但是上采樣的結(jié)果還是比較模糊和平滑,對圖像中的細節(jié)不敏感侠碧。
- 對各個像素進行分類抹估,沒有充分考慮像素與像素之間的關(guān)系。忽略了在通常的基于像素分類的分割方法中使用的空間規(guī)整步驟弄兜,缺乏空間一致性棋蚌。
U-Net
1)使用全卷積網(wǎng)絡(luò)
2)左邊的網(wǎng)絡(luò)是收縮路勁:使用卷積和maxpooling
3)右邊的網(wǎng)絡(luò)是擴張路勁:使用上采樣產(chǎn)生的特征圖與左側(cè)收縮路徑對應(yīng)層產(chǎn)生的特征圖進行concatenate操作。這樣做是因為pooling丟失的圖像信息和降低圖像分辨率且是不可逆的操作挨队,這樣做的話就相當于在高分辨率和更抽象特征中做一個折中,因為隨著卷積次數(shù)增多蒿往,提取的特征也更加有效盛垦、更加抽象,上采樣的圖片是經(jīng)歷多次卷積后的圖片瓤漏,肯定是比較高效的抽象的圖片腾夯,然后把它與左邊不怎么抽象更高分辨率的特征圖片進行連接颊埃。
4)最后再進過兩次反卷積操作,生成特征圖蝶俱,再用兩個1*1的卷積做分類得到最后的heatmap班利,然后作為softmax函數(shù)的輸入,算出概率比較大的softmax類榨呆。
Segnet
可訓練的圖像分割引擎罗标,包括一個encoder網(wǎng)絡(luò),一個對應(yīng)的decoder網(wǎng)絡(luò)积蜻,銜接像素級分類層闯割,encoder與VGG16的13層卷積層相同,decoder將低分辨率的編碼特征圖映射到全分辨率的特征圖竿拆。使用最大池化層的池化索引進行非線性上采樣宙拉,上采樣過程不需要學習。