【B站學習(存檔)】U-Net網路結構講解(語義分割)
本課程B站連結:https://www.bilibili.com/video/BV1Vq4y127fB/
主要介紹unet的網路結構。詳見2015年的論文
-
unet結構圖
【詳解】典型的encoder-decoder結構 -
左邊是encoder,也就是提取特徵和下采樣的部分;右邊decoder解碼是一系列上取樣,得到最終的一個分割圖
-
圖中每個長條的矩形對應的都是一個特徵層,箭頭都是一種操作
-
從輸入開始看,輸入是572x572的單通道的圖片為例,首先進行一個卷積操作(步距為1,no padding)通過卷積層之後,高和寬都會減少,當時15年還沒有BN。經過兩個卷積層後進行下采樣(max poooling),2x2,高和寬就會減半,channel不會變化,還是64。接著再進行兩個3x3卷積層,(每次下采樣後都會將channel進行翻倍,64-128)。右半部分:綠色的是上取樣(其實是轉置卷積,可回看視訊,經過之後會將特徵層的高和寬放大兩倍,channel減半),1024-512,對應藍色部分;灰色箭頭是copy和crop,左邊的高和寬是64x64,右邊得到的是56x56大小的,無法進行直接拼接,所以對左邊的特徵層進行中心裁剪,和右邊的藍色部分進行拼接,拼接之後channel為1024。後面依次進行上取樣。直到最後得到寬和高388x388,最後經過一個灰色的箭頭卷積層,這個卷積核的個數和我們分類的類別個數是一致的,論文中只分割前景和背景。輸出的結構就是388x388x2。(注意最後1x1的卷積的沒有啟用函式)
-
注意得到的分割圖和原圖並不一樣
-
反思:現在主流的實驗方式並非嚴格按照論文中的方式去實現,而是在卷積層加上一個padding,即每次經過3x3卷積層,不會改變特徵層的高和寬,並且會在卷積和ReLu之間加上一個BN(效果:在拼接的時候不要中心裁剪了,最後得到的高和寬和我們輸入的高和寬保持一致)。
-
針對特別大(高解析度的)圖片,一般每次只分割一個patch,相鄰兩個預測區域之間一般會有一個重疊的部分,稱為overlap,能夠更好的分割邊界區域
*pixel-wise loss的方案:細胞與細胞之間的背景取,賦予大的權重,對於大片的背景區域,施加小的權重