曹國剛 王一杰 朱信玉 李夢雪 陳 穎
(上海應用技術大學計算機科學與信息工程學院 上海 201418)
中風是全球第二大最常見的死亡原因和致殘原因,每年有將近80萬人經歷新的或復發性的中風,超過2/3的幸存者將患有某種類型的殘疾,中風治療的“黃金時期”是發作后3至6個小時。中風主要分為缺血性中風和出血性中風兩種類型。出血性中風約占中風病例的13%,占所有中風死亡的40%。出血性中風是由大腦血管破裂引起的周圍腦組織出血(腦出血),導致腦細胞死亡,大腦的受影響部分將停止工作。相比缺血性中風,出血性中風死亡率更高、危險更大。
CT是急性中風病患診斷的首選,具有成像速度快、成本低、可用性高等優點,被廣泛用于識別腦梗死和出血后腦部組織的異常。CT圖像中出血表現為明亮的區域(高強度),與周圍環境形成鮮明的對比。手動病變定位是當前腦出血診斷的標準方法,但既耗時又取決于操作員熟練程度,因此急需可靠的出血區域自動分割方法實現腦出血計算機輔助診斷。
本文首先主要運用模糊C-均值聚類方法(Fuzzy C-Means,FCM)對數據進行預處理,將其聚類成4類,包括腦灰質、腦白質、腦脊液和出血區域;然后用形態學的膨脹和腐蝕方法去顱骨;最后提出一種改進的U-Net神經網絡模型,并將其用于腦部CT圖像的出血性中風區域分割。
目前,中風病變區域的定位金標準是由訓練有素的專業人員定性和手工完成的。手動病變分割可能需要長達15分鐘的時間,并且操作員之間存在差異,因此在急性中風診斷中并非最佳。而近幾年各種半自動化或自動化方法的提出消除了人工診斷的差異,且具有可重復性,可以為患者提供快速的診斷結果,并有助于對大型數據集進行自動分析。早在2014年,Gillebert等[9]提出了一種經典的自動分割方法用于從腦部CT圖像中勾勒中風病變,該方法的關鍵是將中風患者的CT圖像準確歸一化到模板空間中,然后與一組控制CT圖像進行三維比較,以定義具有低或高強度信號的區域,其骰子相似系數(Dice Similarity Coefficient,DSC)為0.68。Nag等[10]將自動編碼和隨機沃克(Walker)方法相結合應用于定位病變區域以從CT圖像中勾畫血腫,其DSC為0.768±0.101。Gautam等[11]設計了功能強大的全自動系統,用于從CT圖像中檢測并分割血腫,該系統基于白質模糊C-均值(White Matter Fuzzy C-Means,WMFCM)聚類和小波閾值化,其DSC為0.82。Muhamad Rudiansyah等提出一種基于Gradient Vector Flow(GVF)Snake的方法對腦部CT圖像出血區域分割,該方法通過分割出血腫并計算出Region of Interest(ROI)面積,并將結果與CT掃描面積的結果進行比較,其DSC為0.799。Andi Kurniawan Nugroho等利用輪廓法,自適應閾值法(Otsu),分水嶺法和FCM聚類方法等多種分割方法用于血腫的決策,分割血腫以及計算出血面積和出血量。
目前也有許多基于深度學習的自動分割方法,Yan Wang等在2018年提出一種基于深度學習的框架進行出血性中風分割和檢測,首次提出了基于深度學習的出血性中風區域分割的體系結構,該框架可以通過選擇不同的超參數輕松地應用于各種醫學圖像的分割和檢測。Avetisian Manvel等提出了一種基于U-Net CNN體系結構改進的DPN92-UNet模型用以血腫的分類,同時分割缺血性中風和出血性中風,其DSC值在出血性中風分割中為0.732,缺血性中風為0.689,在兩種中風中的綜合分割表現為0.703。Hulin Kuang等提出了一種新的聯合分割方法同時分割缺血性和出血性中風,所提出的方法利用了深度學習和凸優化技術,將隨訪NCCT圖像中的出血和缺血性中風整合到同一個框架中,在U-Net體系結構(D-Unet)中采用了更加完善的對稱結構以解決這一具有挑戰性的分割問題,其DSC為0.725±0.079。Hulin Kuang等又提出了一種密集的多路徑上下文生成對抗網絡(MPC-GAN),從中風患者的NCCT圖像中自動分割缺血性梗死,基于改進的MPC-GAN方法利用密集的多路徑U-Net作為網絡規范化的生成器,其評價指標DSC為0.726。
本實驗從數據的搜集出發,用FCM和形態學方法做預處理,搭建改進的網絡模型,訓練測試獲取結果,其功能流程如圖1所示。

圖1 實驗流程
FCM算法是基于對目標函數的優化基礎上的一種數據聚類方法。聚類結果是每一個數據點對聚類中心的隸屬程度,該隸屬程度用一個數值來表示。該算法允許同一數據屬于多個不同的類。FCM算法是一種無監督的模糊聚類方法,在算法實現過程中不需要人為干預[7]。
顱腦CT圖像具有不確定性和模糊性,不同組織之間難以找到清晰邊界,而FCM聚類算法適合于灰度圖像中存在不確定性和模糊性的特點。一般的圖像分割算法將每一個辨識對象嚴格地劃分為某一類,實際上某些對象并不具有嚴格的屬性,它們可能位于兩類之間,這時采用模糊聚類可以獲得更好的效果。
FCM算法目標函數及其約束條件如下:
(1)
(2)

(3)
ci的迭代公式:
(4)
可以發現uij和ci是相互關聯的,FCM算法開始的時候既沒有uij也沒有ci,其算法實現如下:
步驟1用值在0,1間的隨機數初始化隸屬矩陣,使其滿足式約束條件式(2)。
步驟2通過uij計算出ci,即用式(3)計算聚類中心ci,i=1,2,…,c。
步驟3根據式(1)計算目標函數J。如果它小于某個確定的閾值,或它相對上次目標函數值的改變量小于某個閾值,則算法停止。
步驟4有了ci又可以計算出uij,用式(4)計算新的uij。返回步驟2。
這個過程中目標函數J一直在變化,逐漸趨向穩定,當J不再變化時就認為算法收斂到了一個較好的結果。
在做腦出血圖像分割預處理時,首先將顱腦CT圖像用FCM算法對每一像素的灰度值進行聚類。取c=4,把顱腦圖像分成4類,即腦灰質(GM)、腦白質(WM)、腦脊液(CSF)、出血區域。其聚類前后結果如圖2所示。
顱骨區域灰度級較高是血腫分割的主要干擾因素,且顱骨是一個閉連通區域,基于這兩種特性,在進行訓練前需要從每個CT圖像中去除顱骨,以減少對實驗研究的干擾。本文采用形態學的膨脹和腐蝕法去除顱骨部分,以達到圖像預處理的目的。
去顱骨前后的CT圖像如圖3所示。

圖3 去顱骨結果圖
U-Net是2015年ISBI挑戰賽上提出的一種分割網絡,在各種醫學分割任務中均表現出出色的性能,能夠適應很小的訓練集(大約30幅圖)。該網絡由收縮和擴展路徑組成,前者將圖像折疊為一組高級特征,后者使用這些特征構造逐像素分割蒙版,使用跳躍連接(Skip connection)將淺層的輸出與后續層的輸入連接起來,以傳輸可能在編碼路徑中丟失的信息。
本文提出方法基于U-Net架構,網絡框架如圖4所示。為了避免圖像分辨率降低和分割細節的損失,僅使用三次下采樣,將結構調整為7層。另外,在跳躍連接過程中,在將淺層特征和深層特征結合前,先將復制過來的淺層特征做一個3×3的卷積再做剪裁和拼接操作。網絡框架設計原因在于:

圖4 網絡架構圖
1) 醫學圖像語義較為簡單且圖像邊界模糊、梯度復雜,需要較多的高分辨率信息用于精準分割。由于器官本身語義信息沒有特別豐富,所以高級語義信息和低級特征都顯得很重要。U-Net結合了低分辨率信息(提供物體類別識別依據)和高分辨率信息(提供精準分割定位依據)。
2) 數據量少。醫學圖像的數據獲取相對較難,涉及病人的隱私,且數據量不大。設計的模型不宜過大,架構層數越多其參數越多,結構越復雜,計算所花費的時間越多,容易導致過擬合。
3) 最大池化使特征減半。池化層的減少可以減少特征的丟失,為上采樣提供更多有用的信息。在跨尺度拼接過程增加卷積操作,可以在不增加網絡層數、不減少特征的同時更好地提取特征。
模型整體包含一個具有對稱的收縮路徑和擴展路徑。在收縮路徑的每一層中首先利用兩個連續的卷積,然后進行整流線性單元(ReLU)激活。通過最大池化(max pooling)操作進行下采樣。在對稱擴展路徑中,應用反卷積對特征圖進行上采樣,然后是兩個連續的卷積層。
實驗數據來自Kaggle中公開的腦出血CT圖像數據集,實驗數據均為png格式,大小為554×408至768×622不等的灰度圖像。將其中的80%劃分為訓練集,20%設為測試集。采用了水平翻轉、垂直翻轉、任意角度旋轉的數據增強方式來增加數據量。
將預處理好的數據放入搭建好的模型中進行訓練。基于改進的U-Net模型可以自動學習空間信息、邊緣梯度特征、形狀和紋理特征,以及基于大小、形狀、紋理的語義特征。網絡模型具體參數如表1所示。

表1 模型具體參數
為了避免過擬合,經過交叉驗證,使用丟失率(dropout)為0.5的時候效果最好,因為0.5的時候dropout隨機生成的網絡結構最多。第一卷積層中的特征數量為64,該模型在數據集中訓練了1 500個紀元(epochs)。實驗分別訓練了1 000、1 500、2 000個批次,可以觀察到,損失在大約1 000個批次后趨于穩定,且在2 000個批次和1 500個批次時結果已不再變化,最終選用1 500個批次。
為了提高模型準確性,我們通過使用測試時間增強(Test Time Augmentation,TTA)進行了實驗。因為如果只對圖像做單一增強時,采用的變換可能會使圖像關鍵信息(即特征)丟失,比如在對圖像做剪切變換時,可能會把關鍵特征丟掉。而采用TTA,可以對一幅圖像做多種變換,創造出多個不同版本,包括不同區域裁剪和更改縮放程度等,然后對多個版本數據進行計算最后得到平均輸出作為最終結果,提高了結果的穩定性和精準度。
實驗環境為Python 3.6、PyCharm 2.7、TITAN X 12 GB、TensorFlow-GPU 1.8.0、MATLAB 2018a等。
圖5顯示了所提出方法的訓練損失曲線,其中X軸為訓練的批次,Y軸為精度值,圖中上方的曲線代表訓練精度值的變化情況,下方的曲線則代表損失值變化情況。其最低損失值為0.006 7。

圖5 訓練曲線圖
模型分割結果的評價指標用DSC和杰卡德(Jaccard,JD)相似性系數來衡量。DSC和JD評價指標常用于評價圖像分割算法的好壞。DSC計算公式為:
(5)
即模型分割所得結果和真實標簽的2倍交集面積占兩部分總面積的比重,實驗在測試集所得DSC為0.860±0.031。
JD的計算公式為:
(6)
即模型分割所得結果和真實標簽的交集面積占并集面積的比重,實驗在測試集所得JD值為0.712±0.101。
其分割結果如圖6所示,(a) 列為輸入的原始CT圖像,(b) 列為標簽圖像,(c) 列為模型分割所得圖像。

(a) (b) (c)
與其他方法比較結果如表2所示。

表2 實驗結果比較
有效的醫學圖像語義分割方法是目前研究的活躍領域,近年來提出過許多基于深度學習的自動分割方法。本文首先用FCM方法將腦出血CT圖像聚類成4類,再用形態學圖像方法(膨脹和腐蝕法)去顱骨進行預處理,最后提出一個改進的U-Net神經網絡模型,以解決出血性中風的分割問題。實驗結果表明,提出的網絡模型在分割腦出血CT圖像時表現出預期的行為,其DSC值達到了0.860±0.031,優于閾值法、白質模糊C-均值聚類、多路徑上下文生成對抗網絡等方法。提出的方法可應用于手術導航系統中,通過方法的改進來提高分割血腫的精度,減少手術時間,減輕醫生負擔,為出血性中風病患的救治提供了極大的幫助,目前手術導航系統已經成為國際前沿研究熱點之一,其市場應用前景很大。下一步將會從數據增強的深度學習方法入手做進一步研究。