張麗娟, 章 潤, 李東明, 李 陽, 王曉坤
(1. 長春工業大學 計算機科學與工程學院,吉林 長春 130012;2. 吉林農業大學 信息技術學院,吉林 長春 130118;3. 空軍航空大學 航空作戰勤務學院,吉林 長春 130022)
CT是無侵害性的器官體外成像手段,由于其成像速度較快、分辨力較高、效果較好,已經成為臨床醫生進行醫療診斷不可或缺的重要手段。在肝臟疾病的診斷中,可視化技術與醫學圖像分析占有主導地位。通過對肝臟CT圖像進行分割,提取出肝臟組織并獲得相應的特征信息,醫生可以很直觀地了解患者肝臟內部的詳細情況,對診斷及下一步治療計劃的制定起到關鍵作用。
半自動分割方法[1]使用淺層圖像特征和用戶交互,以邊界框或涂鴉的形式進行交互以執行分割。早期的區域相似性分割[2]、圖切割[3]、歸一化切割[4]、測地線[5]和其他基于圖形的隨機游走[6]已應用于2D分割,在某些情況下還應用于3D分割。當要分割的區域相當均勻并且可以通過低層次特征(例如邊緣、相鄰像素之間的強度差和其他局部信息)準確捕獲其特征時,半自動方法可以提供良好的分割效果;但在更復雜的環境中,由于淺層特征被限制,這些方法需要大量的用戶交互才能提供足夠質量的細分結果。最近,具有編碼-解碼架構的全卷積神經網絡(FCN)[7]在全自動分割領域獲得最優秀結果,能有效完成2D[8-10]和3D[11-12]分割任務。盡管已證明這些方法及其后續方法[13-15]可以在公開的數據集上提供最優秀的性能,但它們并未提供用戶交互的手段。這方面限制了其在臨床環境中的適用性,因為在臨床環境中,精度要比速度更優先考慮。
計算機視覺界最近提出各種新穎的方法:將深度學習方法加上用戶交互形成半自動分割。基于深度學習的半自動分割方法可以提供準確的結果,同時為用戶提供了一種自然的交互方式。全卷積神經網絡不再像以前的方法那樣依賴于淺層特征,而是能夠捕捉更復雜的模式,并學習“對象性”的概念,從而獲得更好的結果。Xu[16]等人將用戶提供的正點擊和負點擊轉換為兩個歐幾里得距離圖,然后將其與圖像的RGB通道連接起來構成輸入數據訓練FCN網絡,通過組合幾種隨機采樣策略來模擬用戶的點擊模式。由Wang[17]等人提出的DeepIGeoS使用深度學習并將用戶涂鴉的測地距離變換圖像作為額外的FCNN通道來進行交互式分割。然而,對于看不見的對象類,分割性能可能會惡化。Can[18]等人提出另一種基于深度學習的方法,基于初始涂鴉使用隨機游走[6]方法得到初始分割圖像,來監督全卷積神經網絡,將注釋所需時間大幅縮短。Sakinis[19]等人提出一種基于深度學習的半自動分割方法通過前景和背景點擊獲得高斯圖,作為額外的通道進行交互式分割,并可對分割結果進行調整,對分割有差錯的地方點擊交互以提高分割精度。本文提出一種基于一維卷積神經網絡改進的區域生長法,使用點擊交互產生初始分割,然后將其與圖像的灰度通道連接起來構成圖像/初始分割對。相比較其他方法的交互信息,將點擊交互產生的初始分割作為交互信息更為精確,以此獲得更好的性能。
區域生長法(Region Growing)是從一組代表不同生長區域的種子像素開始,將種子像素鄰域里符合生長準則的像素合并到種子像素所代表的生長區域中,并將新添加的像素作為新的種子像素繼續合并,直到找不到符合條件的新像素為止。本文對該方法的生長準則進行了改進,并只需選取一兩個生長種子點即可完成分割,算法的流程如圖1所示。首先對腹部CT圖像序列集進行預處理,只提取含有肝臟的切片;采用Window-Leveling算法將原始CT圖像轉換為灰度圖像,突出肝臟區域;通過直方圖均衡化處理增加對比度,進行中值濾波算子卷積計算,平滑圖像,抑制噪聲。然后計算像素在不同算子下的梯度值,將其作為該像素的特征,形成像素特征向量,訓練神經網絡,該網絡以一對像素特征向量為輸入,以兩像素的關聯度系數為輸出。為每一對像素特征向量設置標簽,如果兩像素來自同一區域,同為肝臟內區域或同為肝臟外10像素距離區域,標記為1,其他標記為0。最后將訓練好的神經網絡模型作為區域生長算法的生長準則,手動選取一種子點產生分割結果。

圖1 改進區域生長算法流程Fig.1 Algorithm steps
通過上述流程,得到改進后的區域生長法, 在圖像肝臟區域用鼠標選取一點作為交互信息得到初步分割結果。在訓練區域生長全卷積神經網絡時,通過求取肝臟區域的中心位置來模擬用戶交互,得到區域生長法分割結果;然后將分割結果與圖像的灰度通道連接起來構成圖像/初始分割對,一同輸入U-net[8]網絡中,將該網絡稱為區域生長全卷積網絡(Region-growing Fully Convolutional Neural Network,Rg-FCNN),如圖2所示。

圖2 區域生長全卷積神經網絡Fig.2 Region-growing fully convolutional neural network
實驗所用數據是BCV腹部挑戰數據集,是由大腸癌化療試驗和一項回顧性腹疝研究中隨機選擇30例腹部CT掃描組成,包括原始CT圖像和對應的分割標簽。標簽數據由兩名經驗豐富的專業人員手工分割標記,并由放射科醫生使用MIPAV軟件進行體積驗證。數據為NIFTI格式的腹部CT圖像序列集,切片層數范圍從85~198,切片厚度范圍為2.5~5.0 mm,每層切片大小是512×512,每一個像素包含一個12位的CT值,單位為HU(Hounsfield Unit)。
本文腹部CT圖像序列集共有13個腹部器官,只需要提取含有肝臟的切片。在提取切片時,利用的是訓練集中的分割標簽圖像。在標簽圖像中,專業人員已經將13個腹部器官與數字一一對應,其中肝臟對應的數字為6。由于CT成像原理,肝臟切片的序列號是連續的,中間不會出現間隔。因此只要在標簽圖像序列集中查找最早出現數字6的序列號start和最后出現的序列號end,即可完成切片提取。start序號后幾張和end序號前幾張,肝臟區域可能會比較小,可根據需要適當調整序號區間,例如[start+5:end-5]。
提取的腹部CT圖像包含了肝臟、胃、脾等多個器官,且各器官的邊緣模糊,如果強制將圖像灰度化,則圖像的分辨度不高,采用圖像增強方法,很難突出所要研究的關鍵部位。在CT圖像中,不同器官、組織的密度是在一個固定的值域,提取肝臟區域,只需將肝臟的CT值區間映射到灰度區間即可。本文采用Window-Leveling(W/L)窗口算法[20],實現肝臟CT圖像到灰度圖像的轉換。在W/L窗口算法中,假設圖中某像素點的CT值為f(x),將需要處理的CT值區間一般稱為窗口,區間長度稱為窗口寬度(Window Width,WW),區間的中心稱為窗口窗位(Window level,WL),則經過窗寬窗位預處理后該像素點的值g(i)為:
(1)
其中:min=WL-0.5 WW,max=WL+0.5 WW,肝臟組織的CT值通常位于50~250之間,取WW=200,WL=150,將大小在50~250之間的CT值映射到[0,255]的灰度值區間,小于50映射為0,大于250映射為255,得到CT圖像的灰度圖。對轉換后的圖像進行直方圖均衡化來增加對比度,通過中值濾波消除孤立的噪聲點。
圖3是對圖像進行預處理的實例,其中圖3(a)是原始的CT切片圖像,圖3(b)是CT圖像轉化后的灰度圖像,圖3(c)是最終預處理后圖像。

圖3 CT圖像預處理Fig.3 CT image preprocessing
由于人體腹部CT圖像紋理復雜,結構間對比度小,邊緣不明顯。本文選取了多種微分算子對圖像進行邊緣檢測,得到每個像素對應的算子處理后的梯度值作為該像素的特征,形成像素特征向量。在宏觀上,進行多種邊緣檢測是為了綜合考慮各種算子處理結果,消除噪聲及局部因素的影響,提高肝臟邊界的準確性。結合區域生長算法的特性,肝臟邊界一旦確定,肝臟區域內的種子點生長就會被限制在邊界內,從而完成肝臟分割。在微觀像素上,通過多種邊緣檢測算子處理增加了像素的特征,在判斷待測點是否合并到種子像素所代表的生長區域中時,除了像素值,有更多的特征維度可以去比較。圖4是多種算子進行邊緣檢測實例。其中圖4(a)是邊緣檢測對象,圖4(b)是進行Sobel算子濾波后結果,圖4(c)是進行Robert算子濾波后結果,圖4(d)是進行Canny算子濾波后結果。

圖4 各算子邊緣檢測Fig.4 Edge detection of each operator
將各微分算子處理后的結果圖像作為原圖像通道數疊加到一起,則對于圖像上每個位置上的像素點而言,不再只是單通道灰度圖像的灰度值,而是一個一維向量,稱為像素特征向量:
f=[α1,α2,α3...α8],
(2)
向量的長度為圖像疊加后的通道數目,α1為原圖的灰度值,后面的值分別對應各算子濾波后結果。本文使用神經網絡作為區域生長法的生長規則,不同于傳統的AlexNet[21]、VGGNet[22]圖像分類網絡,預測輸入的圖像為哪一類,本文的神經網絡用于判別輸入的一對像素是否為一類,稱該網絡為區域生長神經網絡(Region-growing Neural Network, Rg-net)。因此在準備訓練數據階段,需要隨機選取一對像素點進行組合配對,并同時標注標簽,1表示是同一類,0表示不是同一類。首先限定取值區域:利用原圖對應的肝臟分割標簽,求肝臟邊界向外10像素曼哈頓距離(Manhattan Distance)以內區域:
disf(p(x1,y1),P(x2,x2))=
|x1-x2|+|y1-y2|<10,
(3)
區域包含兩部分:肝臟內部區域和肝臟外10像素距離區域。在區域內任意選取兩像素組合配對,形成神經網絡的一個輸入樣本X:
Xi=[f1,f2],
(4)
對應的輸出標簽Y:
(5)
區域生長神經網絡(Rg-net)架構如圖5所示,類似于卷積神經網絡,先進行卷積層,然后通過flatten層將二維輸入一維化,過渡到全連接層,最后通過sigmoid激活函數輸出常數概率值。但是網絡的輸入有所不同, 因此本文對卷積層進行了改動,使用的是一維卷積。一維卷積層也叫時域卷積,常用于在一維輸入信號上進行鄰域濾波。對輸入8*2的向量進行1*1核長的一維卷積相當于對其進行卷積核為1*2的二維卷積。卷積核步長為1,即每次卷積,卷積核都對應向量的一整行,相鄰行之間互相獨立,不進行交叉合并。并通過增加卷積核的數目來提升輸出向量的維度,增加解的空間。

圖5 區域生長神經網絡Fig.5 Region-growing neural network


(6)
圖像分割前,要先進行多種微分算子邊緣檢測,方便提取像素特征向量。在使用區域生長法判斷種子像素鄰域里的像素是否合并到種子像素所代表的生長區域中時,將種子像素和待測像素的像素特征向量輸入Rg-net網絡,得出兩像素關聯度。在判斷時,還要設置一個閾值T:輸出大于閾值T時,待測點符合生長準則,合并到種子像素所代表的生長區域中;小于閾值T時,不符合生長準則,不合并。圖6是本文算法在不同閾值T下初分割結果。圖6(a)為待分割圖像,隨著閾值T減小,被合并到生長區域的像素就越多,肝臟區域內空洞逐漸減少,如圖6(b~d)所示。但當閾值過低時,區域生長趨勢會突破肝臟邊界,如圖6(e~f)所示。為了確保算法分割的穩定性和統一性,本文閾值T統一選取為0.95。

圖6 不同閾值T初分割情況Fig.6 Image segmentation results with different thresholds
本文的區域生長全卷積神經網絡(Rg-FCNN)以U-net網絡模型為基礎,通過最大池化層進行下采樣,每經過一個池化層就是一個尺度,包括原圖共有5個尺度。通過卷積層提取特征,使用same卷積,保持卷積前后圖像尺寸不變。通過雙線性插值進行上采樣,每上采樣一次,就和特征提取部分對應的尺度進行融合。殘差網絡[23]是一類特殊的卷積網絡,它通過殘差連接而解決了梯度反傳問題,即當神經網絡層級非常深時,梯度仍然能有效傳回輸入端。圖7為本文中殘差模塊的結構,殘差塊的輸出結合了輸入信息與內部卷積運算的輸出信息,這種殘差連接保證深度模型至少不低于淺層網絡的準確度。

圖7 殘差塊結構Fig.7 Structure of residual block
在下采樣卷積層中分別加入不同數目的殘差模塊,如圖8所示。網絡輸出層使用Sigmoid激活函數,
(7)
Sigmoid函數將輸出值z映射到[0,1],表示概率分布的有效實數空間。

圖8 區域生長全卷積神經網絡架構Fig.8 Region-growing fully convolutional neural network architecture
從30例CT序列集中提取500張切片,并對所有的切片使用上節提出的改進區域生長法進行交互式分割。由于數據量大,人工手動交互是不可行的。利用肝臟CT圖像對應的分割標簽,通過求取分割標簽里肝臟區域的中心位置來模擬用戶交互,比較符合人們在交互選點時選擇中心位置的習慣。同時為避免中心位置像素點是極端點情況,將中心像素8鄰域內像素均命為種子像素。得到初始分割結果,并和原圖疊加在一起作為Rg-FCNN網絡的輸入數據,隨機打亂順序后,按照3∶1∶1的比例分為訓練集、驗證集和測試集。
選擇合適的訓練次數,避免因為訓練次數太多而導致過擬合,訓練次數太少而欠擬合。將訓練集和驗證集輸入網絡中訓練200次,記錄訓練過程中每輪(epoch)的訓練損失值和精度,以及驗證集損失和精度,如圖9、圖10所示。觀察圖9、

圖9 訓練和驗證損失值Fig.9 Trainin and validation loss

圖10 訓練和驗證的評估值Fig.10 Training and validation acc
圖10,epochs從0到75,訓練集和驗證集隨著訓練次數增加,損失值減小,精度提高;epochs從75到200,訓練集損失值逐漸減小,精度提高,而驗證集逐漸增加,精度降低,網絡過擬合。因此選擇訓練次數為75的效果最好。
本文實驗環境:Ubuntu16.04 LTS 64位操作系統,CPU Intel Xeon E5 64核心,GPU NVIDIA GeForce GTX 1080 Ti 11G * 4,基于深度學習Keras框架搭載U-ode網絡模型,Keras后端使用tensorflow,CUDA 8.0 GPU運算平臺及cuDNN7.5深度學習GPU加速庫,完成區域生長全卷積神經網絡的訓練和測試。
圖11是使用本文改進的區域生長算法和Rg-FCNN進行肝臟分割的3個案例,其中圖11(a)是經過預處理后的肝臟圖像,圖中綠點由鼠標點擊形成,作為種子像素點;圖11(b)是肝臟最終分割結果的二值圖像;圖11(c)是使用改進的區域生長算法得到的分割結果;圖11(d)是圖11(a)和圖11(c)通道連接構成圖像/初始分割對,輸入Rg-FCNN網絡得到的分割結果。

圖11 實驗結果。(a)預處理后的肝臟圖像;(b)肝臟最終分割結果的二值圖像;(c)改進的區域生長算法得到的分割結果;(d)圖(a)和圖(c)通過連接構成圖像/初始分割對輸入Rg-FCNN網絡得到的分割結果。Fig.11 Experimental results. (a)Preprocessed liver images; (b) Binary images of the find segmentation result of liver; (c) Segmentation results by the improved region growth algorithm; (d) Channels of Fig.(a) and Fig.(c) are connected to form an image/ initial segmentation pair, the segmentation results are obtained by inputting the Rg-FCNN network.
為了進一步對本文區域生長全卷積網絡算法進行驗證,將本文算法和U-net[8]網絡、Deep Interactive[16]算法的實驗分割結果進行比較分析,其中U-net網絡架構使用的是本文加入殘差塊后的U-net網絡模型。圖12是各算法進行肝臟分割的4個實例,其中圖12(a)是經過預處理后的肝臟圖像,圖12(b)是肝臟圖像對應的分割標簽;圖12(c)是U-net網絡分割結果,圖12(d)是Deep Interactive網絡分割結果,圖12(e)是本文Rg-FCNN網絡分割結果。

圖12 不同算法實驗結果。(a)預處理后的肝臟圖像;(b)肝臟圖像對應的分割標簽;(c)U-net網絡分割結果;(d)Deep lnterative 網絡分割結果;(e)本文Rg-FCNN分割結果。Fig.12 Experimental results of different algorithms. (a)Preprocessed liver images; (b)Corresponding segmentation labels of the liver images; (c) Segmentation vosnlts of U-net network; (d) Segmentation results of Deep Interactive network; (e) Segmentation resnlts of Rg-FCNN network of this paper.
觀察U-net網絡分割結果,在肝臟區域外有白色小塊,明顯不屬于肝臟區域,出現了過分割,這主要是由于腹部CT圖像內部結構對比度低,患者之間差異性大。而Deep Interactive網絡和本文網絡加入了交互信息,使網絡更容易定位到肝臟區域的位置。二者的分割結果均有效完成了肝臟分割,與分割標簽基本吻合。
為了進一步對比各網絡對肝臟圖像分割效果,對分割結果進行定量分析。目前,已經有許多評估方法被應用于醫學圖像的分割中。但是,由于在肝臟的分割研究中沒有統一的、標準的可用數據集,使得肝臟的分割并沒有統一的評測標準。當前比較常用的評估分割結果的方法是差異實驗法,即將計算機分割結果與正確的分割結果相比較。本文將通過Dice系數(Dice Similarity Coefficient)、像素準確率(Pixel Accuracy,PA)、類別平均像素準確率(Mean Pixel Accuracy,MPA)、平均交并比(Mean Intersection over Union,MIoU),4個指標來評估分割結果。其計算都是建立在混淆矩陣(Confusion Matrix)的基礎上,混淆矩陣如表1。

表1 混淆矩陣Tab.1 Confusion matrix
Dice系數常被用來評價分割結果的準確性,取值范圍在0~1之間,表示計算機分割結果與真實結果之間的重合程度,Dice= 0說明兩分割結果完全沒有重疊,分割效果最差;Dice=1則說明兩個集合完全一致,分割效果最好。
(8)
像素準確率指被正確預測的肝臟像素和被正確預測的非肝臟像素在全部像素中所占的比例,即對角線預測的全部為正確值,公式為:
(9)
平均像素準確率是肝臟像素準確率和非肝臟像素準確率的平均值,對于二分類問題N=2,公式為:
(10)
交并比是語義分割的標準度量參數,是兩個集合的交集和并集的比值,平均交并比是交并比的一種升級形式,是肝臟與非肝臟交并比的平均值。公式為:
(11)
表2為各算法對測試集100張圖片肝臟分割結果平均指標,圖13、14為實驗結果Dice、PA指標箱型圖。

表2 肝臟分割結果指標數據Tab.2 Index data of liver segmentation results (%)
觀察圖13和圖14,本文Rsg-FCNN網絡分割結果指標:Dice系數平均達到96.69%, PA達到99.62%,均明顯高于U-net網絡和Deep interactive網絡指標。

圖13 實驗結果Dice指標Fig.13 Dice index

圖14 實驗結果PA指標Fig.14 PA index
本文通過Rg-net網絡統籌考慮像素的灰度值、不同梯度值等低層次信息作為生長規則,提高了算法的穩定性。并將分割結果作為交互信息與原圖灰度通道連接在一起,形成Rg-FCNN交互式分割網絡。通過實驗結果及評價指標可知,本文Rg-FCNN網絡交互方式操作簡單,分割結果邊緣更精細,與肝臟區域邊界基本吻合,Dice指標平均達到96.69%,PA平均達到99.62%。