Unet++ 論文地址
這裏僅進行簡要介紹,可供讀者熟悉其結構與特色,若想更爲深刻的瞭解,能夠閱讀原論文和參考文獻。
在計算機視覺領域,全卷積網絡(FCN)是比較有名的圖像分割網絡,在醫學圖像處理方向,U-net更是一個煊赫一時的網絡,基本上全部的分割問題,咱們都會拿U-Net先看一下基本的結果,而後進行修改。和FCN相比,U-Net的第一個特色是徹底對稱,也就是左邊和右邊是很相似的,而FCN的decoder相對簡單,只用了一個deconvolution的操做,以後並無跟上卷積結構。第二個區別就是skip connection,FCN用的是加操做(summation),U-Net用的是疊操做(concatenation)。它們的結構總最爲經典的思路就是都使用了編碼和解碼(encoder-decoder)。網絡
U-net中最爲重要的三個部分就是 1. 下采樣 2. 上採樣 3. skip connection,其結構圖以下:
學習
該網絡結構中使用下采樣的理論意義是:它能夠增長對輸入圖像的一些小擾動的魯棒性,好比圖像平移,旋轉等,減小過擬合的風險,下降運算量,和增長感覺野的大小。上採樣的做用是:把抽象的特徵再還原解碼到原圖的尺寸,最終獲得分割結果。編碼
簡言之就是:淺層結構能夠抓取圖像的一些簡單的特徵,好比邊界,顏色;而深層結構由於感覺野大了,並且通過的卷積操做多了,能抓取到圖像的一些更爲高層的抽象特徵。spa
而Unet++在原生的Unet基礎上進行一些改進,主要針對了原結構中的skip connection部分。先放一張Unet++的結構圖
code
相對於原來的Unet網絡,Unet++把1~4層的U-Net全給連一塊兒了。這個結構的好處就是我無論你哪一個深度的特徵有效,我乾脆都給你用上,讓網絡本身去學習不一樣深度的特徵的重要性。第二個好處是它共享了一個特徵提取器,也就是你不須要訓練一堆U-Net,而是隻訓練一個encoder,它的不一樣層次的特徵由不一樣的decoder路徑來還原。這個encoder依舊能夠靈活的用各類不一樣的backbone來代替。對象
Unet++主要改進就是將原來空心的U-Net填滿了,優點是能夠抓取不一樣層次的特徵,將它們經過特徵疊加的方式整合,不一樣層次的特徵,或者說不一樣大小的感覺野,對於大小不一的目標對象的敏感度是不一樣的,好比,感覺野大的特徵,能夠很容易的識別出大物體的,可是在實際分割中,大物體邊緣信息和小物體自己是很容易被深層網絡一次次的降採樣和一次次升採樣給弄丟的,這個時候就可能須要感覺野小的特徵來幫助。blog
除了skip connection作出的改變以外,爲了可以讓中間部分收到傳遞過來的梯度,Unet++使用了深監督(deep supervision)的方案。具體的操做就是將結構的\(x^{0,1}, x^{0,2}和x^{0,3}\)也直接鏈接到最後的輸出。ip
參考文獻backbone
研習U-Netget