U-net網絡
簡單說一下網絡圖中各項所代表的內容:
藍/白色框表示feature map(特征圖)
藍色箭頭表示3x3卷積,主要用于特征提取
灰色箭頭表示skip-connection(跳躍連接,通常用于殘差網絡中),在這里是用于用于特征融合,其中copy and crop中的copy就是concatenate而crop(剪切圖像)是為了讓兩者的長寬一致
紅色箭頭表示池化 pooling,用于降低維度
綠色箭頭表示上采樣 upsample,用于恢復維度
青色箭頭表示 1x1 卷積,用于輸出結果
左側為特征提取部分,紅色箭頭為通過一次max pooling 得到一個新的尺度
右側為上采樣部分,在這里每上采樣一次就相當于和特征提取部分對應的通道數相同尺度融合,在這里,融合之前需要將其crop,左側圖中可以隱約看到藍色的虛線框,那就是crop的過程。
U-Net網絡中同行左右進行crop,在同一層都是一樣的大小。在左側進行的卷積運算,每一次減少2(例如input:572*572,第一次卷積后得到570*570)
Encoder
Encoder 由卷積操作和下采樣操作組成,網絡所用的卷積層為3x3卷積核,padding為0,striding為1,因為卷積過程中沒有padding,所以每次卷積之后feature map的hxw就會縮小。另外,每一次下采樣后U-net都會把特征通道的數量加倍。
兩次卷積之后會有一個stride為2的max pooling,所以之后得到的feature map的大小就會變成1/2(h,w):
在Encoder中,上述過程需要執行5次,這里注意,最后一次是沒有pooling的,而是直接將feature map 送入 Decoder。
Decoder
feature map 經過 Decoder 恢復原始分辨率,該過程除了卷積比較關鍵的步驟就是 upsampling 與 skip-connection。
U-net的上采樣采用的是插值的方式
U-net網絡運用了skip-connection,這一關鍵步驟融合了底層信息的位置信息與深層特征的語義信息,并且它采用的是拼接的方式,具體來說,當網絡完成反卷積之后,就會將反卷積的結果與Encoder中對應步驟的特征圖拼接起來,需要注意的是,Encoder特征圖尺寸稍大,將其修剪過后進行拼接。,拼接會保留了更多的維度/位置 信息,這使得后面的 layer 可以在淺層特征與深層特征自由選擇,這對語義分割任務來說更有優勢
通過查詢網絡資料發現,在樣本數據集不大的情況下,選用U-net網絡更為適合。
參考:
https://www.toutiao.com/a6729482984648344068/