張麗娟, 章 潤, 李東明, 李 陽, 王曉坤
(1. 長春工業(yè)大學 計算機科學與工程學院,吉林 長春 130012;2. 吉林農(nóng)業(yè)大學 信息技術(shù)學院,吉林 長春 130118;3. 空軍航空大學 航空作戰(zhàn)勤務學院,吉林 長春 130022)
CT是無侵害性的器官體外成像手段,由于其成像速度較快、分辨力較高、效果較好,已經(jīng)成為臨床醫(yī)生進行醫(yī)療診斷不可或缺的重要手段。在肝臟疾病的診斷中,可視化技術(shù)與醫(yī)學圖像分析占有主導地位。通過對肝臟CT圖像進行分割,提取出肝臟組織并獲得相應的特征信息,醫(yī)生可以很直觀地了解患者肝臟內(nèi)部的詳細情況,對診斷及下一步治療計劃的制定起到關(guān)鍵作用。
半自動分割方法[1]使用淺層圖像特征和用戶交互,以邊界框或涂鴉的形式進行交互以執(zhí)行分割。早期的區(qū)域相似性分割[2]、圖切割[3]、歸一化切割[4]、測地線[5]和其他基于圖形的隨機游走[6]已應用于2D分割,在某些情況下還應用于3D分割。當要分割的區(qū)域相當均勻并且可以通過低層次特征(例如邊緣、相鄰像素之間的強度差和其他局部信息)準確捕獲其特征時,半自動方法可以提供良好的分割效果;但在更復雜的環(huán)境中,由于淺層特征被限制,這些方法需要大量的用戶交互才能提供足夠質(zhì)量的細分結(jié)果。最近,具有編碼-解碼架構(gòu)的全卷積神經(jīng)網(wǎng)絡(FCN)[7]在全自動分割領(lǐng)域獲得最優(yōu)秀結(jié)果,能有效完成2D[8-10]和3D[11-12]分割任務。盡管已證明這些方法及其后續(xù)方法[13-15]可以在公開的數(shù)據(jù)集上提供最優(yōu)秀的性能,但它們并未提供用戶交互的手段。這方面限制了其在臨床環(huán)境中的適用性,因為在臨床環(huán)境中,精度要比速度更優(yōu)先考慮。
計算機視覺界最近提出各種新穎的方法:將深度學習方法加上用戶交互形成半自動分割?;谏疃葘W習的半自動分割方法可以提供準確的結(jié)果,同時為用戶提供了一種自然的交互方式。全卷積神經(jīng)網(wǎng)絡不再像以前的方法那樣依賴于淺層特征,而是能夠捕捉更復雜的模式,并學習“對象性”的概念,從而獲得更好的結(jié)果。Xu[16]等人將用戶提供的正點擊和負點擊轉(zhuǎn)換為兩個歐幾里得距離圖,然后將其與圖像的RGB通道連接起來構(gòu)成輸入數(shù)據(jù)訓練FCN網(wǎng)絡,通過組合幾種隨機采樣策略來模擬用戶的點擊模式。由Wang[17]等人提出的DeepIGeoS使用深度學習并將用戶涂鴉的測地距離變換圖像作為額外的FCNN通道來進行交互式分割。然而,對于看不見的對象類,分割性能可能會惡化。Can[18]等人提出另一種基于深度學習的方法,基于初始涂鴉使用隨機游走[6]方法得到初始分割圖像,來監(jiān)督全卷積神經(jīng)網(wǎng)絡,將注釋所需時間大幅縮短。Sakinis[19]等人提出一種基于深度學習的半自動分割方法通過前景和背景點擊獲得高斯圖,作為額外的通道進行交互式分割,并可對分割結(jié)果進行調(diào)整,對分割有差錯的地方點擊交互以提高分割精度。本文提出一種基于一維卷積神經(jīng)網(wǎng)絡改進的區(qū)域生長法,使用點擊交互產(chǎn)生初始分割,然后將其與圖像的灰度通道連接起來構(gòu)成圖像/初始分割對。相比較其他方法的交互信息,將點擊交互產(chǎn)生的初始分割作為交互信息更為精確,以此獲得更好的性能。
區(qū)域生長法(Region Growing)是從一組代表不同生長區(qū)域的種子像素開始,將種子像素鄰域里符合生長準則的像素合并到種子像素所代表的生長區(qū)域中,并將新添加的像素作為新的種子像素繼續(xù)合并,直到找不到符合條件的新像素為止。本文對該方法的生長準則進行了改進,并只需選取一兩個生長種子點即可完成分割,算法的流程如圖1所示。首先對腹部CT圖像序列集進行預處理,只提取含有肝臟的切片;采用Window-Leveling算法將原始CT圖像轉(zhuǎn)換為灰度圖像,突出肝臟區(qū)域;通過直方圖均衡化處理增加對比度,進行中值濾波算子卷積計算,平滑圖像,抑制噪聲。然后計算像素在不同算子下的梯度值,將其作為該像素的特征,形成像素特征向量,訓練神經(jīng)網(wǎng)絡,該網(wǎng)絡以一對像素特征向量為輸入,以兩像素的關(guān)聯(lián)度系數(shù)為輸出。為每一對像素特征向量設置標簽,如果兩像素來自同一區(qū)域,同為肝臟內(nèi)區(qū)域或同為肝臟外10像素距離區(qū)域,標記為1,其他標記為0。最后將訓練好的神經(jīng)網(wǎng)絡模型作為區(qū)域生長算法的生長準則,手動選取一種子點產(chǎn)生分割結(jié)果。
圖1 改進區(qū)域生長算法流程Fig.1 Algorithm steps
通過上述流程,得到改進后的區(qū)域生長法, 在圖像肝臟區(qū)域用鼠標選取一點作為交互信息得到初步分割結(jié)果。在訓練區(qū)域生長全卷積神經(jīng)網(wǎng)絡時,通過求取肝臟區(qū)域的中心位置來模擬用戶交互,得到區(qū)域生長法分割結(jié)果;然后將分割結(jié)果與圖像的灰度通道連接起來構(gòu)成圖像/初始分割對,一同輸入U-net[8]網(wǎng)絡中,將該網(wǎng)絡稱為區(qū)域生長全卷積網(wǎng)絡(Region-growing Fully Convolutional Neural Network,Rg-FCNN),如圖2所示。
圖2 區(qū)域生長全卷積神經(jīng)網(wǎng)絡Fig.2 Region-growing fully convolutional neural network
實驗所用數(shù)據(jù)是BCV腹部挑戰(zhàn)數(shù)據(jù)集,是由大腸癌化療試驗和一項回顧性腹疝研究中隨機選擇30例腹部CT掃描組成,包括原始CT圖像和對應的分割標簽。標簽數(shù)據(jù)由兩名經(jīng)驗豐富的專業(yè)人員手工分割標記,并由放射科醫(yī)生使用MIPAV軟件進行體積驗證。數(shù)據(jù)為NIFTI格式的腹部CT圖像序列集,切片層數(shù)范圍從85~198,切片厚度范圍為2.5~5.0 mm,每層切片大小是512×512,每一個像素包含一個12位的CT值,單位為HU(Hounsfield Unit)。
本文腹部CT圖像序列集共有13個腹部器官,只需要提取含有肝臟的切片。在提取切片時,利用的是訓練集中的分割標簽圖像。在標簽圖像中,專業(yè)人員已經(jīng)將13個腹部器官與數(shù)字一一對應,其中肝臟對應的數(shù)字為6。由于CT成像原理,肝臟切片的序列號是連續(xù)的,中間不會出現(xiàn)間隔。因此只要在標簽圖像序列集中查找最早出現(xiàn)數(shù)字6的序列號start和最后出現(xiàn)的序列號end,即可完成切片提取。start序號后幾張和end序號前幾張,肝臟區(qū)域可能會比較小,可根據(jù)需要適當調(diào)整序號區(qū)間,例如[start+5:end-5]。
提取的腹部CT圖像包含了肝臟、胃、脾等多個器官,且各器官的邊緣模糊,如果強制將圖像灰度化,則圖像的分辨度不高,采用圖像增強方法,很難突出所要研究的關(guān)鍵部位。在CT圖像中,不同器官、組織的密度是在一個固定的值域,提取肝臟區(qū)域,只需將肝臟的CT值區(qū)間映射到灰度區(qū)間即可。本文采用Window-Leveling(W/L)窗口算法[20],實現(xiàn)肝臟CT圖像到灰度圖像的轉(zhuǎn)換。在W/L窗口算法中,假設圖中某像素點的CT值為f(x),將需要處理的CT值區(qū)間一般稱為窗口,區(qū)間長度稱為窗口寬度(Window Width,WW),區(qū)間的中心稱為窗口窗位(Window level,WL),則經(jīng)過窗寬窗位預處理后該像素點的值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]的灰度值區(qū)間,小于50映射為0,大于250映射為255,得到CT圖像的灰度圖。對轉(zhuǎn)換后的圖像進行直方圖均衡化來增加對比度,通過中值濾波消除孤立的噪聲點。
圖3是對圖像進行預處理的實例,其中圖3(a)是原始的CT切片圖像,圖3(b)是CT圖像轉(zhuǎn)化后的灰度圖像,圖3(c)是最終預處理后圖像。
圖3 CT圖像預處理Fig.3 CT image preprocessing
由于人體腹部CT圖像紋理復雜,結(jié)構(gòu)間對比度小,邊緣不明顯。本文選取了多種微分算子對圖像進行邊緣檢測,得到每個像素對應的算子處理后的梯度值作為該像素的特征,形成像素特征向量。在宏觀上,進行多種邊緣檢測是為了綜合考慮各種算子處理結(jié)果,消除噪聲及局部因素的影響,提高肝臟邊界的準確性。結(jié)合區(qū)域生長算法的特性,肝臟邊界一旦確定,肝臟區(qū)域內(nèi)的種子點生長就會被限制在邊界內(nèi),從而完成肝臟分割。在微觀像素上,通過多種邊緣檢測算子處理增加了像素的特征,在判斷待測點是否合并到種子像素所代表的生長區(qū)域中時,除了像素值,有更多的特征維度可以去比較。圖4是多種算子進行邊緣檢測實例。其中圖4(a)是邊緣檢測對象,圖4(b)是進行Sobel算子濾波后結(jié)果,圖4(c)是進行Robert算子濾波后結(jié)果,圖4(d)是進行Canny算子濾波后結(jié)果。
圖4 各算子邊緣檢測Fig.4 Edge detection of each operator
將各微分算子處理后的結(jié)果圖像作為原圖像通道數(shù)疊加到一起,則對于圖像上每個位置上的像素點而言,不再只是單通道灰度圖像的灰度值,而是一個一維向量,稱為像素特征向量:
f=[α1,α2,α3...α8],
(2)
向量的長度為圖像疊加后的通道數(shù)目,α1為原圖的灰度值,后面的值分別對應各算子濾波后結(jié)果。本文使用神經(jīng)網(wǎng)絡作為區(qū)域生長法的生長規(guī)則,不同于傳統(tǒng)的AlexNet[21]、VGGNet[22]圖像分類網(wǎng)絡,預測輸入的圖像為哪一類,本文的神經(jīng)網(wǎng)絡用于判別輸入的一對像素是否為一類,稱該網(wǎng)絡為區(qū)域生長神經(jīng)網(wǎng)絡(Region-growing Neural Network, Rg-net)。因此在準備訓練數(shù)據(jù)階段,需要隨機選取一對像素點進行組合配對,并同時標注標簽,1表示是同一類,0表示不是同一類。首先限定取值區(qū)域:利用原圖對應的肝臟分割標簽,求肝臟邊界向外10像素曼哈頓距離(Manhattan Distance)以內(nèi)區(qū)域:
disf(p(x1,y1),P(x2,x2))=
|x1-x2|+|y1-y2|<10,
(3)
區(qū)域包含兩部分:肝臟內(nèi)部區(qū)域和肝臟外10像素距離區(qū)域。在區(qū)域內(nèi)任意選取兩像素組合配對,形成神經(jīng)網(wǎng)絡的一個輸入樣本X:
Xi=[f1,f2],
(4)
對應的輸出標簽Y:
(5)
區(qū)域生長神經(jīng)網(wǎng)絡(Rg-net)架構(gòu)如圖5所示,類似于卷積神經(jīng)網(wǎng)絡,先進行卷積層,然后通過flatten層將二維輸入一維化,過渡到全連接層,最后通過sigmoid激活函數(shù)輸出常數(shù)概率值。但是網(wǎng)絡的輸入有所不同, 因此本文對卷積層進行了改動,使用的是一維卷積。一維卷積層也叫時域卷積,常用于在一維輸入信號上進行鄰域濾波。對輸入8*2的向量進行1*1核長的一維卷積相當于對其進行卷積核為1*2的二維卷積。卷積核步長為1,即每次卷積,卷積核都對應向量的一整行,相鄰行之間互相獨立,不進行交叉合并。并通過增加卷積核的數(shù)目來提升輸出向量的維度,增加解的空間。
圖5 區(qū)域生長神經(jīng)網(wǎng)絡Fig.5 Region-growing neural network
(6)
圖像分割前,要先進行多種微分算子邊緣檢測,方便提取像素特征向量。在使用區(qū)域生長法判斷種子像素鄰域里的像素是否合并到種子像素所代表的生長區(qū)域中時,將種子像素和待測像素的像素特征向量輸入Rg-net網(wǎng)絡,得出兩像素關(guān)聯(lián)度。在判斷時,還要設置一個閾值T:輸出大于閾值T時,待測點符合生長準則,合并到種子像素所代表的生長區(qū)域中;小于閾值T時,不符合生長準則,不合并。圖6是本文算法在不同閾值T下初分割結(jié)果。圖6(a)為待分割圖像,隨著閾值T減小,被合并到生長區(qū)域的像素就越多,肝臟區(qū)域內(nèi)空洞逐漸減少,如圖6(b~d)所示。但當閾值過低時,區(qū)域生長趨勢會突破肝臟邊界,如圖6(e~f)所示。為了確保算法分割的穩(wěn)定性和統(tǒng)一性,本文閾值T統(tǒng)一選取為0.95。
圖6 不同閾值T初分割情況Fig.6 Image segmentation results with different thresholds
本文的區(qū)域生長全卷積神經(jīng)網(wǎng)絡(Rg-FCNN)以U-net網(wǎng)絡模型為基礎,通過最大池化層進行下采樣,每經(jīng)過一個池化層就是一個尺度,包括原圖共有5個尺度。通過卷積層提取特征,使用same卷積,保持卷積前后圖像尺寸不變。通過雙線性插值進行上采樣,每上采樣一次,就和特征提取部分對應的尺度進行融合。殘差網(wǎng)絡[23]是一類特殊的卷積網(wǎng)絡,它通過殘差連接而解決了梯度反傳問題,即當神經(jīng)網(wǎng)絡層級非常深時,梯度仍然能有效傳回輸入端。圖7為本文中殘差模塊的結(jié)構(gòu),殘差塊的輸出結(jié)合了輸入信息與內(nèi)部卷積運算的輸出信息,這種殘差連接保證深度模型至少不低于淺層網(wǎng)絡的準確度。
圖7 殘差塊結(jié)構(gòu)Fig.7 Structure of residual block
在下采樣卷積層中分別加入不同數(shù)目的殘差模塊,如圖8所示。網(wǎng)絡輸出層使用Sigmoid激活函數(shù),
(7)
Sigmoid函數(shù)將輸出值z映射到[0,1],表示概率分布的有效實數(shù)空間。
圖8 區(qū)域生長全卷積神經(jīng)網(wǎng)絡架構(gòu)Fig.8 Region-growing fully convolutional neural network architecture
從30例CT序列集中提取500張切片,并對所有的切片使用上節(jié)提出的改進區(qū)域生長法進行交互式分割。由于數(shù)據(jù)量大,人工手動交互是不可行的。利用肝臟CT圖像對應的分割標簽,通過求取分割標簽里肝臟區(qū)域的中心位置來模擬用戶交互,比較符合人們在交互選點時選擇中心位置的習慣。同時為避免中心位置像素點是極端點情況,將中心像素8鄰域內(nèi)像素均命為種子像素。得到初始分割結(jié)果,并和原圖疊加在一起作為Rg-FCNN網(wǎng)絡的輸入數(shù)據(jù),隨機打亂順序后,按照3∶1∶1的比例分為訓練集、驗證集和測試集。
選擇合適的訓練次數(shù),避免因為訓練次數(shù)太多而導致過擬合,訓練次數(shù)太少而欠擬合。將訓練集和驗證集輸入網(wǎng)絡中訓練200次,記錄訓練過程中每輪(epoch)的訓練損失值和精度,以及驗證集損失和精度,如圖9、圖10所示。觀察圖9、
圖9 訓練和驗證損失值Fig.9 Trainin and validation loss
圖10 訓練和驗證的評估值Fig.10 Training and validation acc
圖10,epochs從0到75,訓練集和驗證集隨著訓練次數(shù)增加,損失值減小,精度提高;epochs從75到200,訓練集損失值逐漸減小,精度提高,而驗證集逐漸增加,精度降低,網(wǎng)絡過擬合。因此選擇訓練次數(shù)為75的效果最好。
本文實驗環(huán)境:Ubuntu16.04 LTS 64位操作系統(tǒng),CPU Intel Xeon E5 64核心,GPU NVIDIA GeForce GTX 1080 Ti 11G * 4,基于深度學習Keras框架搭載U-ode網(wǎng)絡模型,Keras后端使用tensorflow,CUDA 8.0 GPU運算平臺及cuDNN7.5深度學習GPU加速庫,完成區(qū)域生長全卷積神經(jīng)網(wǎng)絡的訓練和測試。
圖11是使用本文改進的區(qū)域生長算法和Rg-FCNN進行肝臟分割的3個案例,其中圖11(a)是經(jīng)過預處理后的肝臟圖像,圖中綠點由鼠標點擊形成,作為種子像素點;圖11(b)是肝臟最終分割結(jié)果的二值圖像;圖11(c)是使用改進的區(qū)域生長算法得到的分割結(jié)果;圖11(d)是圖11(a)和圖11(c)通道連接構(gòu)成圖像/初始分割對,輸入Rg-FCNN網(wǎng)絡得到的分割結(jié)果。
圖11 實驗結(jié)果。(a)預處理后的肝臟圖像;(b)肝臟最終分割結(jié)果的二值圖像;(c)改進的區(qū)域生長算法得到的分割結(jié)果;(d)圖(a)和圖(c)通過連接構(gòu)成圖像/初始分割對輸入Rg-FCNN網(wǎng)絡得到的分割結(jié)果。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.
為了進一步對本文區(qū)域生長全卷積網(wǎng)絡算法進行驗證,將本文算法和U-net[8]網(wǎng)絡、Deep Interactive[16]算法的實驗分割結(jié)果進行比較分析,其中U-net網(wǎng)絡架構(gòu)使用的是本文加入殘差塊后的U-net網(wǎng)絡模型。圖12是各算法進行肝臟分割的4個實例,其中圖12(a)是經(jīng)過預處理后的肝臟圖像,圖12(b)是肝臟圖像對應的分割標簽;圖12(c)是U-net網(wǎng)絡分割結(jié)果,圖12(d)是Deep Interactive網(wǎng)絡分割結(jié)果,圖12(e)是本文Rg-FCNN網(wǎng)絡分割結(jié)果。
圖12 不同算法實驗結(jié)果。(a)預處理后的肝臟圖像;(b)肝臟圖像對應的分割標簽;(c)U-net網(wǎng)絡分割結(jié)果;(d)Deep lnterative 網(wǎng)絡分割結(jié)果;(e)本文Rg-FCNN分割結(jié)果。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網(wǎng)絡分割結(jié)果,在肝臟區(qū)域外有白色小塊,明顯不屬于肝臟區(qū)域,出現(xiàn)了過分割,這主要是由于腹部CT圖像內(nèi)部結(jié)構(gòu)對比度低,患者之間差異性大。而Deep Interactive網(wǎng)絡和本文網(wǎng)絡加入了交互信息,使網(wǎng)絡更容易定位到肝臟區(qū)域的位置。二者的分割結(jié)果均有效完成了肝臟分割,與分割標簽基本吻合。
為了進一步對比各網(wǎng)絡對肝臟圖像分割效果,對分割結(jié)果進行定量分析。目前,已經(jīng)有許多評估方法被應用于醫(yī)學圖像的分割中。但是,由于在肝臟的分割研究中沒有統(tǒng)一的、標準的可用數(shù)據(jù)集,使得肝臟的分割并沒有統(tǒng)一的評測標準。當前比較常用的評估分割結(jié)果的方法是差異實驗法,即將計算機分割結(jié)果與正確的分割結(jié)果相比較。本文將通過Dice系數(shù)(Dice Similarity Coefficient)、像素準確率(Pixel Accuracy,PA)、類別平均像素準確率(Mean Pixel Accuracy,MPA)、平均交并比(Mean Intersection over Union,MIoU),4個指標來評估分割結(jié)果。其計算都是建立在混淆矩陣(Confusion Matrix)的基礎上,混淆矩陣如表1。
表1 混淆矩陣Tab.1 Confusion matrix
Dice系數(shù)常被用來評價分割結(jié)果的準確性,取值范圍在0~1之間,表示計算機分割結(jié)果與真實結(jié)果之間的重合程度,Dice= 0說明兩分割結(jié)果完全沒有重疊,分割效果最差;Dice=1則說明兩個集合完全一致,分割效果最好。
(8)
像素準確率指被正確預測的肝臟像素和被正確預測的非肝臟像素在全部像素中所占的比例,即對角線預測的全部為正確值,公式為:
(9)
平均像素準確率是肝臟像素準確率和非肝臟像素準確率的平均值,對于二分類問題N=2,公式為:
(10)
交并比是語義分割的標準度量參數(shù),是兩個集合的交集和并集的比值,平均交并比是交并比的一種升級形式,是肝臟與非肝臟交并比的平均值。公式為:
(11)
表2為各算法對測試集100張圖片肝臟分割結(jié)果平均指標,圖13、14為實驗結(jié)果Dice、PA指標箱型圖。
表2 肝臟分割結(jié)果指標數(shù)據(jù)Tab.2 Index data of liver segmentation results (%)
觀察圖13和圖14,本文Rsg-FCNN網(wǎng)絡分割結(jié)果指標:Dice系數(shù)平均達到96.69%, PA達到99.62%,均明顯高于U-net網(wǎng)絡和Deep interactive網(wǎng)絡指標。
圖13 實驗結(jié)果Dice指標Fig.13 Dice index
圖14 實驗結(jié)果PA指標Fig.14 PA index
本文通過Rg-net網(wǎng)絡統(tǒng)籌考慮像素的灰度值、不同梯度值等低層次信息作為生長規(guī)則,提高了算法的穩(wěn)定性。并將分割結(jié)果作為交互信息與原圖灰度通道連接在一起,形成Rg-FCNN交互式分割網(wǎng)絡。通過實驗結(jié)果及評價指標可知,本文Rg-FCNN網(wǎng)絡交互方式操作簡單,分割結(jié)果邊緣更精細,與肝臟區(qū)域邊界基本吻合,Dice指標平均達到96.69%,PA平均達到99.62%。