1. 程式人生 > >U-Net論文詳解

U-Net論文詳解

U-Net:生物醫學影象分割的卷積神經網路

U-net 是基於FCN的一個語義分割網路,適合用來做醫學影象的分割。
摘要
有許多成功利用大量帶標註訓練資料的神經網路。在這篇論文裡,我們提出一個網路和訓練策略,更有效的利用了資料增強來使用可獲得的帶標註資料。這個演算法包括一個收縮路徑來捕捉語義和一個擴充套件路徑來精準定位。這個網路可以端到端訓練非常少的圖片,但是在ISBI(電子顯微鏡的細胞影象分割)挑戰中表現超越了之前最好的網路。另外,這個網路很快,512*512影象花費少於1s。

1 介紹

卷積網路的典型利用是在分類任務,輸出任務的單個類標籤。然而,在許多視覺任務,尤其是生物醫學影象處理,目標輸出應該包括定位等,每個畫素都應該有類標籤。另外,大量的訓練圖片往往超過生物醫學影象的任務要求。所以,Ciresan等訓練了一個神經網路,用滑動視窗來預測每個畫素的類標籤,提供畫素的周圍區域(patch)作為輸入。首先,這個網路可以定位。第二,輸入的是patches,這樣訓練資料就比圖片資料多很多。這個網路大幅度贏得了ISBI2012。

明顯的,Ciresan的方法有兩個缺點。第一,它很慢,因為這個網路必須訓練每個patch,並且因為patch間的重疊有很多的冗餘(冗餘會造成什麼影響呢?卷積核裡面的W,就是提取特徵的權重,兩個塊如果重疊的部分太多,這個權重會被同一些特徵訓練兩次,造成資源的浪費,減慢訓練時間和效率,雖然說會有一些冗餘,訓練集大了,準確率不就高了嗎?可是你這個是相同 的圖片啊,重疊的東西都是相同的,舉個例子,我用一張相同的圖片訓練20次,按照這個意思也是增大了訓練集啊,可是會出現什麼結果呢,很顯然,會導致過擬合,也就是對你這個圖片識別很準,別的圖片就不一定了)。第二,定位準確性和上下文間不可兼得。大的patches需要更多的max-pooling層這樣減小了定位準確性(為什麼?因為你是對以這個畫素為中心的點進行分類,如果patch太大,最後經過全連線層的前一層大小肯定是不變的,如果你patch大就需要更多的pooling達到這個大小),因為Pooling層會降低解析度,丟失資訊),而小的patches只能看到很小的區域性資訊,包含的背景資訊不夠。許多現在的方法使用不同層的特徵來同時相容定位和利用context。
在這篇論文,我們建立了一個更好全卷積方法。我們定義和擴充套件了這個方法它使用更少的訓練圖片但產生更精確的分割。
這裡寫圖片描述


(1)使用全卷積神經網路。(全卷積神經網路就是卷積取代了全連線層,全連線層必須固定影象大小而卷積不用,所以這個策略使得,你可以輸入任意尺寸的圖片,而且輸出也是圖片,所以這是一個端到端的網路。)
(2)左邊的網路contracting path:使用卷積和maxpooling。
(3)右邊的網路expansive path:使用上取樣與左側contracting path ,pooling層的featuremap相結合,然後逐層上取樣到392X392的大小heatmap。(pooling層會丟失影象資訊和降低影象解析度且是不可逆的操作,對影象分割任務有一些影響,對影象分類任務的影響不大,為什麼要做上取樣?:因為上取樣可以補足一些圖片的資訊,但是資訊補充的肯 定不完全,所以還需要與左邊的解析度比較高的圖片相連線起來(直接複製過來再裁剪到與上取樣圖片一樣大小)
,這就相當於在高解析度和更抽象特徵當中做一個折衷,因為隨著卷積次數增多,提取的特徵也更加有效,更加抽象,上取樣的圖片是經歷多次卷積後的圖片,肯定是比較高效和抽象的圖片,然後把它與左邊不怎麼抽象但更高解析度的特徵圖片進行連線)
(4)最後再經過兩次卷積,達到最後的heatmap,再用一個1X1的卷積做分類,這裡是分成兩類,所以用的是兩個神經元做卷積,得到最後的兩張heatmap,例如第一張表示的是第一類的得分(即每個畫素點對應第一類都有一個得分),第二張表示第二類的得分heatmap,然後作為softmax函式的輸入,算出概率比較大的softmax類,選擇它作為輸入給交叉熵進行反向傳播訓練

卷積層的數量大約在20個左右,4次下采樣,4次上取樣。輸入影象大於輸出影象,因為在本論文中對輸入影象做了映象操作。
我們方法對於FCN的的重要改進是上取樣部分我們有大量的特徵通道,使得傳播語義資訊到高解析度層。結果,擴充套件層或多或少對稱於收縮層,產生了一個u型的結構。該網路沒有任何的全連線層,每個畫素都利用了輸入影象的full context。該方法允許任意大圖片的無縫分割通過一個overlap-tile策略。為了預測框中影象,缺失區域通過映象輸入影象擴張。這種tiling方法對於應用網路到大影象很重要,因為否則結果會被gpu記憶體限制。為了預測黃色區域的分割,需要藍色區域作為輸入。
這裡寫圖片描述
因為我們的任務只能獲得很少的訓練資料,我們通過彈性變形來資料增強。這在生物醫學影象分割是很重要的,因為變形很常見。
另一個細胞分割的挑戰是同一類別連線物體的分離。如圖三。為此,我們使用加權損失函式,連線細胞間的背景標籤分離獲得較大的權重。
我們的方法在ISBI取得了很好的效果。

訓練
該論文是基於Caffe,使用動量為0.99的SGD,損失函式為交叉熵,訓練輸入圖片與它們對應的分割圖片(輸入圖片和最後的圖片的尺寸不一樣)。該訓練模型和傳統的訓練模型沒什麼不同,都是注意權重初始化隨機,資料增強等。
這裡寫圖片描述
公式1 這是softmax函式,ak(x)表示每一畫素點對應類的得分
公式2 給畫素分配權重然後進行加權,d1(x)表示圖中某一背景畫素點到離這個點最近的細胞邊界的距離,d2(x)表示離這個畫素點第二近的細胞的距離,你們可以舉一下特例算一下這個權重公式會發現(帶入數字算很簡單,我就不舉例子了),即在細胞邊界附近的畫素點給的權重會大一些,離細胞比較遠的畫素點的權重會小一些,為什麼這麼做呢?因為,如果同類細胞貼的比較近,可能就會增大訓練的難度,減少準確率,畢竟卷積會考慮該畫素點周圍的一些特徵,而兩個相同的類的細胞貼在一起,就容易誤判,所以對這種兩個相同類貼在一起的細胞邊界,給予較大的權重,使的訓練之後分類分割更準確

資料增強

資料增強在訓練樣本比較少的時候,能夠讓神經網路學習一些不變性,彈性變換是本文使用的方法。(因為彈性形變是實際細胞中比較常見的一種形變,如果我們能採取資料增強的演算法去使網路學習這種形變的不變性,就可以在分割資料集很小的情況下,使網路具有遇見彈性形變還是可以準確的檢測出,相當於就是把原圖,做了下彈性變形,然後,就相當於擴大了資料集嘛,自然網路就能適應這種彈性變化了,在遇見彈性變形的時候一樣可以正確的分類分割)

這裡寫圖片描述
這裡寫圖片描述

總結

u-net網路在不同的生物醫學影象分割中有很好的表現。資料增強使得只需很少的帶標註資料,只需訓練十小時。我們確信u-net網路可以很容易的應用到更多的任務。