原標題 | Deep Learning for Image Segmentation: U-Net Architecture
作 者 | Ayyüce Kızrak
翻 譯 | 天字一號、尼古拉斯趙四、鄴調
審 校 | 鳶尾、唐裡、Pita
U-Net是一種卷積神經網路(CNN)方法,由Olaf Ronneberger、Phillip Fischer和Thomas Brox於2015年首次提出,它可以更好的分割生物醫學影像。
一、為什麼需要分割?U-Net 能提供什麼?
大體說來,分割就是將一幅影像分割為若干個部分的過程,這可以讓我們把影像中的目標或紋理分割出來。因此分割常常被用於遙感影像或者腫瘤檢測等應用中。
傳統上有很多方法可以實現這一過程,例如點、線和邊緣檢測方法,閾值分割法,基於區域的聚類,基於畫素的聚類,形態學的方法等等。目前也出現很多利用卷積神經網路進行分割的方法,對於那些需要進行影像分割處理的更高階的任務,這種方法是不可或缺的。在本篇文章中,我們將仔細研究這樣一個架構:U-Net。
我們知道,深度學習需要大量資料集來訓練模型。但這有一定的難度,對於像目標分類這樣問題我們常常不能提供足夠的資料量。這裡的“不能”,往往意味著時間、金錢以及硬體裝置。
例如,我們不可能去用手機攝像頭來收集生物醫學影像,而是需要複雜系統的方法來收集;此外在資料標記過程中,僅僅依靠開發人員/工程師是不夠的 , 更需要大量具備專業知識和經驗的人員對相關影像進行分類,對於醫療診斷等高度專業化的領域尤其如此。
相比於傳統模型,U-Net在架構和基於畫素的影像分割方面更成功;特別地,它在有限資料集影像上更加有效。下面,我們透過對生物醫學影像分析來實現該體系結構。
二、U-Net 的獨特之處
我們知道,在模型中會使用池化層來對高和寬進行降維處理,簡單來說池化就是用一個畫素來代表一組元素,從而實現影像降維。
最大和平均池。注意:池化可以有不同的方法,包括Max、Avg Pooling等。
U-Net模型結構
U-Net,如上圖所示,它的命名源自它的結構——網路結構視覺化的結果正如一個字母“U”。U-Net 由收縮路徑(左側)和擴充套件路徑(右側)兩部分組成!它的特殊之處在於結構後半部分的擴充套件路徑。此外,該網路沒有使用全連線層,只採用了卷積層,每個標準的卷積層後面都緊跟著一個Relu啟用函式層。
下面是conv 3×3+ReLU的具體過程:
下面是up-conv 2×2的具體過程:
需要注意,這裡要在影像四周的邊界區域中對稱地新增畫素,以便可以實現連續分割影像;使用這種策略,可以將影像完全分割。此外,填充(新增畫素)方法對於將U-Net模型應用於大影像上也具有重要意義;如果不這樣,GPU 記憶體容量將限制解析度。下圖顯示了我提到的映象填充和分割的結果:
三、U-Net 和自編碼器的區別
為了理解UNet獨特的結構,我們將傳統的分割方法“自編碼器”(autoencoder)架構與Unet進行簡單地比較。
在傳統的自動編碼器結構中,輸入資訊的大小逐層遞減。
自編碼器的模型
在這個結構中,編碼器部分完成之後,解碼器部分開始。線性特徵表示也是在解碼器部分學習的,特徵的大小將逐漸增大,到了解碼器的末尾,輸出影像大小等於輸入影像相等。
這種體系結構在保持輸出大小方面是理想的,但有一個問題是,它對輸入進行線性壓縮,從而導致所有特性都無法傳輸的瓶頸。
這就是U-Net的不同之處。U-Net在解碼器部分(網路的後半部分)採用反摺積,這種結構可以克服自編碼器在特徵傳遞過程中產生的特徵丟失問題。
四、繼續學習 U-Net
我們回到生物醫學影像分割的案例。
生物醫學影像中組織影像最常見的變化是變形(deformation)。我們可以模擬實際中的變形,透過彈性變形方法可以幫助我們擴充資料集,從而提高學習效果。
彈性變形的視覺化表示
此外,當同一類別的某些部分相互接觸時,往往很難確定邊界。因此,推薦使用 loss 函式中具有較大權重的值,同時也先從背景中分離要分割的資訊。
由DIC(Differential Interference Contrast,差分干涉對比度)顯微鏡記錄的HeLa細胞。a) 原始影像;b) 標記的分割結果,用不同的顏色標識 HeLa 細胞的不同個體;c) 建立的分割蒙版(黑白);d) 以畫素為單位的權重損失圖,以便於網路學習邊緣畫素。
五、Loss 函式
Loss可以透過標準二值交叉熵(binary cross-entropy)和 Dice 損失計算,這是評估生物醫學影像分割成功與否的常用效能標準。
二值交叉熵和 Dice 損失
交併比(IoU) 是基於畫素的評價標準,通常用於評估分割效能。這裡考慮了目標矩陣與結果矩陣之間的不同畫素比。這個度量與Dice計算也有關。
下面是IOU的視覺化:
下面是輸入的影像和標籤:
我們來看看與其他方法相比,U-Net在EM影像分割方面的表現:
下面這是U-Net在PhC-U3 73 (a-b)和DIC-HeLa (c-d) 資料集上的分割,看起來還是比較成功的:
在這兩個資料集的結果以及與先前研究的比較如下:
當然,分割不僅僅用於醫學影像。地球科學或衛星影像的遙感系統也使用分割,無人駕駛系統也是如此。畢竟,到處都有“模式”。
六、其他應用
1、TGS鹽鑑定挑戰
在地球各地區,地表下有大量的油氣和鹽層。不幸的是,很難知道大型鹽礦藏在哪裡。
專業的地震成像圖需要專家來判斷是否有鹽體存在。這往往存在極大的主觀性,不同專家往往會給出不同的結果。TGS(地質學資料公司)有精確的地震影像和三維成像圖,他們希望Kaggle的機器學習社群能夠建立一種演算法來自動地、準確地確定地下目標是否是鹽,因此他們舉辦了一個TGS Salt Identification Challenge。下面這就是U-Net在這個挑戰賽中成功應用的案例:
2、地圖挑戰-利用分割構建缺失地圖
利用衛星影像確定地圖區域是U-Net另一個應用領域。事實上,可以說,隨著這一領域的發展而出現的應用將極大地促進測繪和環境工程師的工作。
這種方法不僅適用於國防工業,也適用於城市區域規劃。例如,在建築物檢測競賽中(https:// www.crowdai.org/challenges/mapping-challenge),U-Net取得平均精度0.943,平均靈敏度0.954的結果。你可以在Github上下載這個U-Net模型的開原始碼: .com/neptune-ml/open-solution-mapping-challenge
地圖挑戰賽中Neptune.ML的結果
3、U-Net對其他深度學習方法的啟示
U-Net對不同體系結構以及其他計算機視覺深度學習模型也具有極大的啟發意義。
例如,ResNet的ResNet(RoR)概念就是一個例子。該結構可定義為U-Net體系結構的後半部分,適用於經典殘差網路中的跳躍連線(skip connections)。
原始ResNet(左)-RoR方法(右)
參考資料
1. U-Net: Convolutional Networks for Biomedical Image Segmentation
2. ISBI Challenge: Segmentation of neuronal structures in EM stacks
3. 5 Minute Teaser Presentation of the U-net
4. Autoencoders, Unsupervised Learning, and Deep Architectures
5. Pattern Recognition and Image Processing
6. Medical-Imaging-Semantic-Segmentation
7. Open Solution to the Mapping Challenge Competition
8. Residual Networks of Residual Networks: Multilevel Residual Networks
9. Evaluating image segmentation models
via: