李慶勃 蘇丹

摘要:基于深度學習的圖像分割中,好的訓練效果不僅僅是選擇了合適的網絡框架,損失函數的選擇也同樣重要。本文中我們實現一種全卷積神經網絡的三維圖像分割方法,該方法基于V-Net框架[1]。該網絡是end-to-end的,的連接訓練方案使用了PyTorch進行了實現,作為醫學圖像分割的基本實現。
關鍵詞:3D;V-Net;Pytorch;器官分割;腹部
中圖分類號:R814 文獻標識碼:A 文章編號:1007-9416(2019)01-0089-01
1 基本環境
我們將3D U-Net的一種實現V-Net檢測框架[1]使用PyTorch進行了實現。在實現過程中,對其中的卷積核、損失函數以及部分stage做了修改或者增刪。網絡的基本配置如下:基礎網絡:網絡結構基于V-Net[2],并對其做了一定的修改。數據集:這些數據來自一項名為“顱穹外多圖譜標記”的在線挑戰賽。在這個挑戰賽中,任務是將13種不同的器官分割,這些器官分別是:(1)spleen(脾);(2)right kidney(右腎);(3)left kidney(左腎);(4)gallbladder(膽囊);(5)esophagus(食管);(6)liver(肝臟);(7)stomach(胃);(8)aorta(大動脈);(9)inferior vena cava(下腔靜脈);(10)portal vein and splenic vein(門靜脈和脾靜脈);(11)pancreas(胰腺);(12)right adrenal gland(右腎上腺);(13)left adrenal gland(左腎上腺)。
訓練/測試:訓練集包含30個CT數據。我們將數據集擴充為210個,然后隨機將其分為175個訓練組和35個測試組,評估:我們使用一個基于DICE系數的損失函數[3]作為評估,使用這個函數能避免類別不平衡。
1.1 數據預處理與數據集擴充
首先,30例訓練集中 3mm有17個,2.5mm有1個,5mm有12個,因此決定把軸向的spacing統一到3mm,然后進行灰度值截斷。
其次,數據集擴充,為了盡量利用有限的訓練數據,我們將通過一系列隨機變換堆數據進行提升,這樣我們的模型將看不到任何兩張完全相同的圖片,這有利于我們抑制過擬合,使得模型的泛化能力更好。第一步,將原始圖像和已標注圖像讀入到內存中,第二步,在slice平面內隨機選取48張slice。第三步,以0.5的概率在±3°范圍內隨機旋轉圖像。
1.2 網絡結構
(1)我們將卷積核從5×5×5改為3×3×3。(2)在除了第一個和最后一個block中添加了dropout。(3)去掉了編碼器的最后一個16倍降采樣stage。(4)為了彌補以上操作帶來的感受野損失,在編碼器的最后兩個stage添加了空洞卷積[4]。
1.3 DICE損失
在醫學圖像中,往往感興趣的區域只占掃描的一個很小的比例。這通常會導致學習過程陷入損失函數的局部極小值,從而產生一個預測嚴重偏向于背景的網絡。因此,前景區域經常丟失或者只能檢測到部分圖像。本文中使用的損失函數為一種基于DICE系數的函數,它的值在0和1之間,我們的目標是使其最大化。它的表達式如下:
其中為每一種器官的權重,權重的原則是,比較容易分割的器官的權重保持為1不變,分割效果不好的器官的權重大一些;為前景分割(金標準)結果;為前景標簽預測分割結果。
1.4 訓練測試
在將初始學習率設置為,在6塊GTX 1080Ti上訓練情況下,整個訓練過程大約需要7個小時。
2 討論
在圖像配準和分割算法中,DICE系數和cross-entropy系數等標記區域重疊的度量方法被廣泛應用。在深度學習框架中損失函數的選擇非常重要,尤其在處理高度不平衡問題時。本文中所選的GDL損失函數在常見的幾種損失函數中具有最強的魯棒性[3]。同時在機器學習中,當一個參數過多的模型在小樣本上訓練的情況下,訓練出來的模型通常在輸出的測試數據上表現不佳。通過在每個訓練案例中隨機省略一半的特征檢測器,這種“過擬合”現象大大減少[5]。過擬合問題在機器學習中很常見,提出的Dropout可以相對有效的緩解這個問題的出現,在一定程度上表現出正則化的效果。
參考文獻
[1] iek ,Abdulkadir A,Lienkamp S S, et al.3D U-Net: Learning Dense Volumetric Segmentation from Sparse Annotation[J].arXiv preprint arXiv:1606.06650,2016.
[2] Milletari F,Navab N, Ahmadi S-A.V-Net: Fully Convolutional Neural Networks for Volumetric Medical Image Segmentation[C].International Conference on 3D Vision; IEEE International Conference on 3D Vision, et al. 2016 Fourth International Conference on 3D Vision:3DV 2016:25-28 October 2016, Stanford, California, USA : proceedings. Piscataway, NJ: IEEE,2016:565-571.
[3] Sudre C H,Li W,Vercauteren T,et al.Generalised Dice overlap as a deep learning loss function for highly unbalanced segmentations[J].arXiv preprint arXiv:1707.03237,2017.
[4] Yu F,Koltun V.Multi-Scale Context Aggregation by Dilated Convolutions[J].arXiv preprint arXiv:1511.07122,2015.
[5] Hinton G E,Srivastava N,Krizhevsky A,et al.Improving neural networks by preventing co-adaptation of feature detectors[J].arXiv preprint arXiv:1207.0580v1,2012.
Abstract:In the image segmentation based on deep learning, good training effect is not only the selection of appropriate network framework, but also the selection of loss function. In this paper, we implement a full convolutional neural network 3d image segmentation method based on the V-Net framework[1].The network is end-to-end, and PyTorch is used as the basic implementation of medical image segmentation.
Key words:3D;V-Net;Pytorch;organ segmentation;abdomen