郭貝貝,馬自萍,王興巖,楊 珂
1.北方民族大學 數學與信息科學學院,銀川 750021
2.北方民族大學 計算機科學與工程學院,銀川 750021
電子計算機斷層掃描(CT)是診斷疾病的重要工具,廣泛用于肝癌的篩查、診斷。準確地從CT中分割肝組織是計算機輔助肝病診斷和手術計劃的關鍵步驟。然而,由于患者之間肝腫瘤的數量、位置、大小和形狀存在顯著差異,此外,腫瘤邊界總是模糊不清,且腫瘤與周圍組織之間的對比度很低,因此肝腫瘤的準確分割仍然是比較困難的任務。
在過去的幾十年,CT圖像中肝臟分割主要根據腹部CT圖像的強度、紋理和其他信息設計算法,包括區域生長、閾值、水平集算法等。由于傳統區域生長算法依賴于人工選取的種子點,基于此,Thomaz等人對傳統區域生長算法進行優化[1],用t位置尺度分布獲得目標區域的位置和尺度參數進行分割。該方法不依賴于人工選取的種子點,但是不具有廣泛的適應性。在此方法基礎上,Tan等人提出一種具有曲率策略的自適應區域生長算法,該方法成為腫瘤分割提供極具潛力的工具之一[2]。然而,該方法的效率取決于組織的均勻性,有時會出現欠分割。為解決此問題,Arica等人進行研究[3],利用區域生長法對肝臟CT圖像中的相似組織和不同組織進行分解,對每個連通區域選擇一個種子點,通過區域生長算法來進行分割,有效地解決了上述問題。在文獻[4]中,Zeng等人采用雙高斯濾波和K-均值聚類混合算法應用于CT肝血管分割。該方法的兩種不同分割策略,獲得了98.2%的平均準確度,73.0%的Dice和2.56 mm的RMSD,但不具有普遍適用性。為提高適用性,Chartrand等人最初設置3~10個種子點,并手動調參以提高準確率。在該方法中,每個圖像處理需要3 min左右[5]。自從1988年水平集算法[6]被Osher和Sethian提出以來,就被圖像分割、建模及計算機視覺領域廣泛應用。一些學者基于水平集方法做了相關的研究工作。Zheng等人[7]結合肝臟CT圖像區域及邊緣信息提出統一水平集方法(LSM)用于肝臟腫瘤分割,該算法在3Dircadb數據集上驗證,結果顯示VOE(體素重疊誤差)為11.9%,體積差(RVD)為18.5%,平均表面距離(ASD)為1.3 mm,最大表面距離(MSD)為4.6 mm,提高了肝臟腫瘤分割的準確率。此外,Li等人[8]使用似然能量與邊緣能量結合在一起的水平集算法,算法在18個臨床數據集上驗證顯示RVD為(-8.1±2.1)%,ASD為(2.4±0.8)mm,MSD為(7.2±3.1)mm,其結果在分割性能上有所提高。為克服肝臟CT圖像中的強度不均勻性,Li等人[9]首先采用稀疏形狀成分粗分割肝臟,然后用水平集進行分割結果優化,最后在數據集3Dircadb上驗證分割性能,該方法的平均ASD、MSD、VOE和RVD分別為1.6 mm、27.2 mm、9.2%和0.5%,在正常肝臟和病理肝臟上有更準確的分割效果。近年來,基于傳統機器學習的圖像分割方法在肝臟腫瘤分割場景中發揮了積極作用。文獻[10]通過確定的感興趣區域進行訓練卷積神經網絡(CNN)來構造分類器,之后在分類器中進行腫瘤的細分,但此方法比較依賴于事先人為標定的區域。為此,Wang等人[11]提出一種新的算法分割腫瘤,該方法通過支持向量機和改進的水平集,提取圖像的不同區域的紋理特征,采用SVM分類器以檢測可疑的病變區域,獲得完整的CT圖像腫瘤分割。近來,深度學習在圖像分割中也大展身手[12-15],它是一種端到端的黑洞學習網絡,極大地提高了腫瘤分割的準確率,但是會經常遇到梯度爆炸和梯度消失等問題,使其不被廣泛適用。
水平集算法廣泛應用于醫學圖像,但由于傳統的水平集算法穩定性差,計算復雜度高且耗時費力,導致曲線演化速度慢、分割精度低?;诖薒i等人[16]提出的距離正則化水平集算法(DRLSE)加快了曲線演化速度。但是DRLSE方法的水平集曲線演化時在圖像噪聲點處容易陷入局部極小值,不利于肝臟腫瘤的分割。為此,本文提出一種改進DRLSE的分步式肝臟及腫瘤分割方法,提高了分割準確率,具有較強的魯棒性。
改進DRLSE的分步式肝臟及腫瘤分割方法采用區域生長方法對CT圖像中肝臟進行分割,設計各向異性擴散濾波模型和參數梯度形態學模型,構造邊緣信息矩陣對肝臟腫瘤進行分割。
首先,通過設置窗值增加CT肝臟與周邊組織的對比度[17-18],通過預處理去除脊柱、肌肉和血管等組織,設置種子點得到初始的肝臟輪廓,使用數學形態學對分割的肝臟進行細化得到肝臟CT圖。其次,利用參數梯度形態學增強肝臟腫瘤邊緣聚合度以減小肝臟腫瘤輪廓位置偏移,然后基于各向異性擴散濾波在降低肝臟腫瘤噪聲時保留邊界及線條特征避免圖像噪聲引起局部極小值。最后,利用真實圖像與偏置場這兩項乘積分割肝臟腫瘤,使用水平集設置符號距離特征的互補方法執行最終的分割。具體算法步驟如圖1所示。

圖1 肝臟腫瘤分割算法步驟Fig.1 Flow chart of liver tumor segmentation
數據預處理的目的是增強原始腹部CT圖像中肝臟與其他組織之間的對比度,不僅為種子提供良好的區域生長環境,而且有利于水平集的分割。主要分為5個步驟,預處理結果如圖2所示。
(1)加窗技術[19-20]。為了增強肝臟與周圍組織的對比度,利用人體各個組織器官的密度不同,選取適合肝臟的HU值(這里選-75,175)進行歸一化處理,去除不相關因素影響。
在醫學上,以CT值來表示不同組織對X射線吸收的差異,單位是HU(Hounsfield unit),關系式為:


圖2 混合圖像預處理(加窗技術、中值濾波、二值轉換)結果Fig.2 Results of mixed image preprocessing(windowing technique,median filtering,binary conversion)
其中,uM是組織吸收X射線的系數,uW是水的吸收系數,α是分度因數1 000。在CT圖像的診斷中,醫生通常會設置不同的窗技術對所需觀察的組織進行分析,CT窗技術包括窗寬(window width,WW)和窗位(window level,WL),加窗技術就是把CT值進行線性映射:

其公式的含義就是指把窗寬范圍內的CT值映射到0~255,而把窗寬范圍以外的CT值賦給0或者是255。根據醫生多年的臨床診斷經驗,對于要分割的肝臟圖像,選用合適的窗寬WW=250,窗位WL=50,線性映射為。按照公式就是把CT值小于-75HU的灰度值設為0,把大于175HU的灰度值設為255,CT值在范圍-75HU~175HU的映射到0~255,使得圖像細節更清楚,有利于分割。如圖2(b)為數據加窗處理展示,圖2(a)為未處理的CT圖像,其肝臟部分與周圍組織對比度低,而經過加窗處理后如圖2(b)所示,對比度明顯提高且去除了肝臟周圍的噪聲,便于觀察。
(2)中值濾波[21]。中值濾波的目的是去噪,其基于誤差絕對值之和最小來確定濾波器。其數學原理是:假設{xi}(1≤i≤N)是一組觀測數值,求{xi}無限逼近xˉ,使得絕對誤差之和式(3)達到最小,為了達到要求必須滿足式(4)。得到去噪的腹部CT圖(見圖2(c))。

(3)閾值轉換。
(4)各向異性擴散濾波[22]。對于具有肝臟及其腫瘤周邊的灰度對比度低、邊界模糊等特點,采用各向異性擴散濾波平滑圖像能在去除噪聲的同時保持邊界。各向異性擴散濾波也叫P-M擴散,在對圖像進行處理時用于保持圖像細節特征的同時減少噪聲,利用物理學中熱傳導原理,數學表達式如下所示:

式中,div代表散度算子,c(x,y,t)代表擴散系數,目的是控制擴散速率,與擴散系數成正比,?是梯度算子,Δ代表Laplacian算子,‖ ?I‖代表t時刻時I(x,y)的梯度模,K代表控制邊緣敏感度的熱傳導系數,c(·)為擴散系數。
采用分步式分割方法對肝臟進行分割:(1)采用閾值處理、形態學方法、區域生長方法進行肝臟的粗分割;(2)采用數學形態對分割結果進行優化,進行肝臟的細分割。
改進的區域生長算法:(1)先做加窗處理,增加肝臟與周圍組織之間的灰度值對比。把原始CT圖像與加窗CT圖像作差分計算。(2)對差分計算后的圖像做閾值二值化處理并篩選連通區域,選取連通區域的質心作為擬區域生長算法的種子點。(3)利用先驗知識由用戶根據實際情況給出初始種子點seed,種子點數目可以是一個也可以是多個。(4)根據設定的種子點判斷其鄰域像素點是否符合生長條件,如果符合即把像素點收到已經分割的區域內,繼續迭代,如若鄰域不符合生長條件,則算法停止。該算法是人為操作的交互式圖像分割方法,目的是將除肝臟之外的背景部分刪除,提高算法的運行效率。
本文利用CT圖像中靜脈期肝臟的連通性、魯棒性的特點,基于人體視覺比較像素(i,j)與鄰域區域顏色和紋理人工選取種子點。結果如圖3所示,其中(a)所示為原始腹部CT圖像,(b)為閾值處理后的圖像,(c)為選取區域生長的種子點位置,應用形態學濾波和區域生長算法得到分割肝臟圖像如(d)所示。從圖中可以看出,(b)進行閾值處理后的圖像,去除了部分背景圖像,(d)列中圖像顯示,去除了腹部CT圖像中部分脊柱和血管及與肝臟周邊灰度對比度低的肌肉等組織,得到了較平滑的肝臟分割圖像。

圖3 不同類型的種子區域增長示意圖Fig.3 Growth diagram of different types of seed regions
經過分割后得到肝臟圖像,使用數學形態學對其進行優化,結果如圖4所示,由圖可以看出,(a)為區域生長算法的肝臟結果,分割的肝臟圖像邊界處出現多余的部分,且局部邊緣不光滑如圖。為此,采用數學形態學優化肝臟粗分割結果,結果如圖(b)所示,從圖中可以看出剔除邊界毛躁的部分以光滑邊緣,優化了肝臟分割結果。

圖4 肝臟分割結果Fig.4 Segmentation results of liver
本文提出了改進DRLSE模型,通過結合參數梯度形態學與各向異性擴散濾波構造對噪聲不敏感的邊緣信息刻畫矩陣,對DRLSE算法進行修正,并對肝臟腫瘤進行分割。該方法使得水平集函數和符號距離函數距離盡可能小,在水平集的基礎上添加了水平集正則化項,使得水平集曲線在演化時可以避免重新初始化就能順利達到目標邊界。
模型的能量函數是:

式中,φ是定義域Ω→R上的水平集函數,μ是正則化權重系數且μ>0,λ是長度項權重系數,α是面積項權重系數,δ(x)和H(x)分別表示Dirc函數和Heaviside函數。
其中,p使得水平集函數φ在零水平集附近始終保持距離特性,其定義如下:

式(7)中第二項是水平集函數φ的正則化項L(φ)=。它的作用是使得水平集演化曲線在演化過程中無限接近與目標區域邊界,且g是基于圖像梯度的邊緣停止函數,本文改進式DRLSE模型采用g的表達式為:

式中,G表示各向異性擴散濾波與參數梯度形態學相結合的濾波,它使得平滑噪聲的同時能夠完好地保留區域目標邊界。在擴散過程中不同方向的擴散取決于圖像梯度值的變化情況,每一次擴散相當于一次迭代,每次迭代都是對當前像素的灰度值進行重新計算,因此避免陷入局部極小值[22]。I(x)為待分割圖像,則最小化能量泛函ε(φ)的梯度下降流為:

?是梯度算子,在平坦的圖像區域中,圖像梯度小使得水平集演化曲線演化快;當水平集曲線演化到目標圖像邊緣處時,圖像梯度變大,此時曲線停止演化,停留在目標區域的邊界處。式(7)中的最后一項是以g函數為權重的加權面積項,用來加快水平集曲線在演化過程中的速度,當初始輪廓在目標區域邊界的外部時,α取正值能夠促使水平集曲線朝著目標區域邊界快速靠攏;當初始輪廓處于目標區域邊界內部時,α取負值可以使得水平集曲線向目標區域邊界快速接近。
為了評估本文方法的性能,本文采用以下評價指標:重合率(Dice)、體素重疊誤差(VOE)[23]、平均表面距離(ASD)、最大表面距離(MSD)[24]和相對體積誤差(RVD)。
(1)重合率(dice coefficient,Dice)是衡量兩個圖像的重疊部分,其計算過程如式(1)所示,即表示放射科醫生勾出的腫瘤部分和本文分割出的腫瘤結果的重合率,取值范圍在[0,1]之間,Dice的目標是最大化放射科醫生勾畫腫瘤和分割腫瘤的重疊部分,該值越大表示分割越準確。

其中,TP表示正確檢測到的肝臟像素的數量,TF表示正確檢測到非肝臟像素的數量,FP表示錯誤檢測到肝臟像素的數量,FN表示錯誤檢測到非肝臟像素的數量。
(2)平均表面距離(average symmetric surface distance,ASD)是以算法分割出的肝臟體素與醫生勾出的肝臟體素為基礎進行測量,單位為毫米。其中肝臟體素的定義為:在分割出的肝臟空間周圍的18個相鄰像素里,至少有一個像素不是肝臟區域。將算法分割的肝臟與醫生分割的肝臟之余同一空間中,利用歐式距離計算算法分割的肝臟與醫生分割的肝臟最近距離。其中,平均表面距離為所有最近距離的平均值,當分割出的結果完全一致時,這個距離為0。令S(A)為算法分割出的肝臟所有表明像素,S(B)為醫生分割出的肝臟所有表明像素。則任意像素v到S(A)的最短距離為:

‖·‖表示歐式距離。其中,平均表面距離定義為:

(3)體素重疊誤差(volumetric overlap error,VOE)與Dice較為相似。但不同的是,重合率Dice是評估算法分割出的肝臟與醫生勾出的肝臟的重合率,而體素重疊誤差是評估重疊錯誤率的。即當預測結果和真實結果完全一致時,體素重疊誤差VOE為0,反之,當它們完全不一樣時,體素重疊誤差VOE為100。

其中,A和B分別是由放射科醫生勾出的肝臟部分和本文分割出的肝臟。
(4)最大表面距離(maximum symmetric surface distance,MSD)也需要先計算算法分割的肝臟與醫生分割肝臟的歐式距離。對于完全一致的分割,結果應該是0。最大表面距離的定義如下:

由于最大表面距離對異常值很敏感,所以可以通過它預測結果的最壞情況。因為肝臟的特殊情況,預測壞的情況導致的后果比一般的分割誤差導致的后果更嚴重。所以這里也使用最大表面距離作為評估分割結果的指標之一。
(5)RVD(relative volume difference)表示兩者體積之間的差異,數學定義如下。

S(A)為算法分割出的肝臟所有表明像素,S(B)為醫生分割出的肝臟所有表明像素。
為了驗證本文算法的有效性,設計了3個實驗:(1)使用3Dircadb數據集隨機抽取4組圖像測試,對其進行肝臟分割并定量分析。(2)對分割好的肝臟圖進行腫瘤分割并與其他算法的指標進行比較。(3)為驗證不同參數變化時的腫瘤分割情況。
在所有實驗中,本文算法參數設置如下所示:c0=2,μ=0.2,λ=5,α=-3。本次實驗主要分為兩個階段,第一階段是肝臟的分割。具體步驟如下,首先對原始輸入圖像進行一系列預處理,以增強肝臟與背景的對比度,利用灰度值去除冗余信息,為區域生長算法提供種子點。然后,在圖像上設置種子點,得到肝臟的初始輪廓。最后,利用數學形態學,對粗肝臟分割進行細化得到最后的分割結果圖,對分割圖像進行指標分析。通過VTK和ITK對二維肝臟CT圖進行三維重建。第二階段分割肝腫瘤,在第一階段肝臟分割的基礎上,結合參數梯度形態學和各向異性擴散濾波,應用優化的水平集算法對肝臟進行腫瘤提取,利用優化真實圖像與偏置場這兩項乘積分割肝腫瘤使用改進的DRLSE算法進行腫瘤分割,計算DICE、VOE、ASD和MSD指標評估分割的性能。
實驗環境為在Intel?CoreTMi7-855U CPU,16.0 GB(15.9 GB可用),Windows 10環境下采用Matlab R2016a編寫,使用3Dircadb數據集[25],該數據集包含了來自歐洲醫院的20個靜脈期增強CT掃描圖,其中10套是女性檢查的CT圖,10套是男性檢查者的CT圖。數據集中有15例序列的病人其肝臟區域顯示不同程度的腫瘤病變現象,CT圖像中切片層內的分辨率為0.56~0.81 mm,單層切片的大小為512×512,厚層為1.2~4 mm,切片數量為74~225。
實驗1實驗采用3Dircadb數據集隨機抽取4組圖像對其進行肝臟分割并定量分析,實驗結果如圖5所示。圖(a)為512×512的掃描腹部CT原始圖像,圖中肝臟區域與周邊組織對比度不明顯且含有噪聲,圖(b)為專家手工標注分割結果圖。圖(c)為采用本文算法,分割肝臟結果圖,對比圖(b)與圖(c)觀察得到本文算法的分割結果與專家標注的結果較為接近,充分證明了本文算法的準確性和可行性,圖(d)為分割結果映射到掃描腹部CT圖像上。
為了更準確地評價算法分割精度,下面使用定量指標:DICE、ASD、VOE和MSD來衡量不同算法之間的分割肝臟效果。在3Dircadb數據集上對U-net算法[26]、圖形切割算法[27]、MARS-GC算法[28]和Graph cuts算法[29]進行了比較,得到結果如表1所示,其中DICE值越接近于1,ASD、VOE和MSD的值越接近于0,說明分割算法性能越好。改進DRLSE的分步式肝臟及腫瘤分割方法與其他分割算法進行比較,DICE值為93.94%、ASD值為0.97 mm,VOE值為2.74%,均優于其他四種算法,如表1所示。

表1 五種算法的肝臟CT圖分割結果對比Table 1 Comparison of liver CT image segmentation results of five algorithms
為了方便醫生直接檢查患者肝臟是否有病灶,及早地發現腫瘤的位置,需要利用VTK和ITK系統[30-31]將分割后的二維切片重建成肝臟區域三維立體結構。肝臟三維可視化(three dimensional visualization)用于顯示肝臟三維形態,基于CT肝臟圖像進行數據分析、融合、渲染等,對肝臟的空間分布進行描述,并直觀地從視覺上分離,為手術方案提供決策[32]。如圖6所示,在一定程度上提高了醫生的工作效率,減輕患者經濟上的負擔。

圖5 肝臟分割結果Fig.5 Segmentation results of liver
實驗2基于以上肝臟CT圖像的分割,進行第二階段肝腫瘤分割,此時采用了優化水平集對肝臟CT圖像進行腫瘤分割。圖7為本文采用改進模型分割準確度驗證,選用3Dircadb中的四幅分割好的肝臟CT圖,圖像大小均為512×512,第一幅圖的肝臟腫瘤位于肝臟邊界,容易產生邊緣泄露,第二幅圖肝臟腫瘤位于肝臟內部,且周圍有血管包圍,第三幅圖肝臟腫瘤產生了拓撲現象,由一個肝臟腫瘤變為兩個,第四幅圖肝臟中存在3個腫瘤。以此分別對比了不同的DRLSE算法的分割效果,從圖中可以看出,三個算法都可以分割出肝臟腫瘤區域,但是圖(a)為采用了g和α的DRLSE模型,由于DRLSE模型中的高斯濾波破壞了腫瘤區域的邊界信息,影響了水平集曲線在演化過程中的判別何時停止演化邊界的能力,DRLSE模型通過迭代了350次,產生了邊界泄露,無法準確地分割腫瘤的邊界,出現過分割現象;如圖(b)所示為邊界函數中添加了梯度參數形態學函數,在新的邊界指示函數作用下,避免了高斯濾波對肝臟腫瘤邊界的破壞,得到比圖(a)好的分割效果,但是出現了欠分割。本文采用梯度參數形態學函數和各向異性擴散濾波的水平集算法,得出分割結果圖(c),相比其他算法,本文算法的演化曲線能夠相對準確的停留在肝臟腫瘤的邊界并且演化曲線平滑,有效增強了腫瘤與周邊對比度,并很好地保留邊界信息,得到了較好的分割效果。

圖7 實驗對比圖Fig.7 Comparison of experiments
為了更準確地評價分割性能,下面選用3Dircadb中的四幅分割好的肝臟腫瘤CT圖,采用ASD、VOE、MSD和RVD指標與文獻[33]、文獻[34]、文獻[35]、文獻[36]、文獻[37]和本文算法對弱邊緣肝臟腫瘤CT圖的分割效果進行對比。如表2所示,列出四項評價指標的平均值,表中ASD即平均表面距離越接近于0表示分割效果越好。本文算法的ASD平均為0.75 mm,比其他算法平均值1.55 mm、1.74 mm、1.29 mm、1.11 mm、0.84 mm更接近于0,平均值低0.556 mm。VOE(體素重疊誤差)平均值為5.8%,比其他算法的平均值低24.75%。算法MSD(最大表面距離)為9.03 mm,比其他算法的平均值低10.094 mm,RVD(分割差異)為0.95%,比其他算法的平均值高23.7%,相對而言本文算法在圖像驗證上得到的指標更好。由此可見不論從定量還是定性的角度,均驗證了本文算法的有效性。

表2 不同方法對3Dircadb肝臟腫瘤分割效果比較Table 2 Comparison of segmentation effects of different methods on 3Dircadb liver tumors
實驗3為了驗證參數變化對分割結果的影響,在本文算法中設計以下幾組實驗進行測試。
圖8(a)是迭代參數t的變化對分割結果的影響,設定不同參數t=10,t=20,t=40,t=60時,對圖7中的數據進行測試。從圖8(a)觀察,盡管初始曲線開始演化時,分割效果不好,但是隨著迭代次數的增加,分割結果逐漸變好,當迭代次數達到60次時,改進算法收斂于目標值,分割達到較好的效果。圖8(b)是面積項權重系數α變化時對分割結果的影響,α是面積項權重系數用來加快曲線分割目標的速率,當α取不同的參數α=3,1,-5,-3時,對圖7中數據進行測試。從圖8(b)觀察,α=3,1,-5時圖像都出現了欠擬合現象,當α=-3時,改進算法收斂于目標值,分割達到較好的效果。圖8(c)中ε是模型的能量函數,設定不同的參數ε=5,4,3,2時,對圖7中數據進行測試。從圖8(c)觀察,當ε取越小的值時,分割的結果越好,但取2和取1時分割結果是相同的。圖8(d)中的λ表示長度項權重系數,由圖可以看出當取不同的λ值時對肝臟腫瘤的分割結果是一樣的,說明本文算法具有較強的魯棒性。

圖8 不同參數對改進DRLSE的肝臟腫瘤分割結果圖Fig.8 Liver tumor segmentation results of improved DRLSE with different parameters
在這項工作中,針對DRLSE對含噪聲的肝臟腫瘤CT圖分割效果較差,提出一種改進DRLSE的分步式肝臟及肝臟腫瘤分割算法。本文通過設置窗值及預處理有效減少血管、肌肉、胰腺等組織對肝臟及肝臟腫瘤分割的影響,通過區域生長算法對肝臟進行分割;在此基礎上對肝臟腫瘤進行梯度校正,加入參數梯度形態和各向異性濾波有效避免DRLSE算法陷入局部極小值導致過分割。以3Dircadb數據集中的CT圖像為實驗對象,并與其他算法進行定性與定量比較,通過分析DICE、VOE、ASD和MSD指標評估分割效果,表明了本文算法對肝臟及肝臟腫瘤分割準確度高,證明了本文算法的有效性。由于本文算法在預處理時會丟失部分信息,所以在未來考慮將在此處融入能量函數以解決肝臟及肝臟腫瘤分割問題。