圖像分割 U-NET


轉自:https://blog.csdn.net/Formlsl/article/details/80373200

 

背景

 

Mask = Function(I)
1
1. 什么是圖像分割問題呢? 簡單的來講就是給一張圖像,檢測是用框出框出物體,而圖像分割分出一個物體的准確輪廓。也這樣考慮,給出一張圖像 I,這個問題就是求一個函數,從I映射到Mask。至於怎么求這個函數有多種方法。我們可以看到這個圖,左邊是給出圖像,可以看到人和摩托車,右邊是分割結果。

2. 求這個函數有很多方法,但是第一次將深度學習結合起來的是這篇文章全卷積網絡(FCN),利用深度學習求這個函數。在此之前深度學習一般用在分類和檢測問題上。由於用到CNN,所以最后提取的特征的尺度是變小的。和我們要求的函數不一樣,我們要求的函數是輸入多大,輸出有多大。為了讓CNN提取出來的尺度能到原圖大小,FCN網絡利用上采樣和反卷積到原圖像大小。然后做像素級的分類。可以看圖二,輸入原圖,經過VGG16網絡,得到特征map,然后將特征map上采樣回去。再將預測結果和ground truth每個像素一一對應分類,做像素級別分類。也就是說將分割問題變成分類問題,而分類問題正好是深度學習的強項。如果只將特征map直接上采樣或者反卷積,明顯會丟失很多信息。


3. FCN采取解決方法是將pool4、pool3、和特征map融合起來,由於pool3、pool4、特征map大小尺寸是不一樣的,所以融合應該前上采樣到同一尺寸。這里的融合是拼接在一起,不是對應元素相加。


4. FCN是深度學習在圖像分割的開山之作,FCN優點是實現端到端分割等,缺點是分割結果細節不夠好,可以看到圖四,FCN8s是上面講的pool4、pool3和特征map融合,FCN16s是pool4和特征map融合,FCN32s是只有特征map,得出結果都是細節不夠好,具體可以看自行車。由於網絡中只有卷積沒有全連接,所以這個網絡又叫全卷積網絡。

Unet網絡結構

很多分割網絡都是基於FCNs做改進,包括Unet。Unet包括兩部分,可以看右圖,第一部分,特征提取,VGG類似。第二部分上采樣部分。由於網絡結構像U型,所以叫Unet網絡。
特征提取部分,每經過一個池化層就一個尺度,包括原圖尺度一共有5個尺度。
上采樣部分,每上采樣一次,就和特征提取部分對應的通道數相同尺度融合,但是融合之前要將其crop。這里的融合也是拼接。
個人認為改進FCN之處有:
多尺度
適合超大圖像分割,適合醫學圖像分割
Unet——輸入輸出

醫學圖像是一般相當大,但是分割時候不可能將原圖太小輸入網絡,所以必須切成一張一張的小patch,在切成小patch的時候,Unet由於網絡結構原因適合有overlap的切圖,可以看圖,紅框是要分割區域,但是在切圖時要包含周圍區域,overlap另一個重要原因是周圍overlap部分可以為分割區域邊緣部分提供文理等信息。可以看黃框的邊緣,分割結果並沒有受到切成小patch而造成分割情況不好。
3.Unet——反向傳播
Unet反向傳播過程,大家都知道卷積層和池化層都能反向傳播,Unet上采樣部分可以用上采樣或反卷積,那反卷積和上采樣可以怎么反向傳播的呢?那什么是反卷積呢?先來講下卷積的過程

Y = Matrix_1(Filter)* Matrix_2(Image)
1
Matrix_1和Matrix_2分別是將卷積核和圖像轉成矩陣函數。也就說給一個輸入X,利用矩陣乘法能得到卷積后輸出Y。

Y=C*X
1
所以卷積可以分解成兩個矩陣相乘。很顯然,卷積反向傳播就是C的轉置相乘。舉個例子:

Y=[1,2]*[X,x_1]T
1
Y對x求導,dy/dx=[1,2]^T。

反卷積就是轉置卷積,也是一種卷積,可以看到圖7,這個就是轉置卷積,由小尺寸到大尺寸的過程。也就是說反卷積也可以表示為兩個矩陣乘積,很顯然轉置卷積的反向傳播就是也是可進行的。所以說整體是Unet是可以反向傳播的。
3.Unet——與其他結構比較之FPN

這是FPN檢測網絡,可以看到紅框,如果將紅框到過來可以發現,FPN部分結構和Unet相似之處。從而說明Unet網絡結構是基於多尺度的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM