宋 紅,張春萌,黃小川,李佳佳
(1.北京理工大學軟件學院,100081北京;2.北京理工大學計算機學院,100081北京)
近年來,醫(yī)學圖像在計算機輔助診斷中得到廣泛應用,從醫(yī)學圖像中精確的、自動的提取出肝臟區(qū)域對肝臟疾病的診斷和肝臟移植等手術的實施有著非常重大的意義.目前,醫(yī)學圖像的分割方法大致可分為:基于像素的分割方法[1-5]、基于輪廓的分割方法[6-7]以及這兩種分割方法的結合[8].文獻[2]提出了基于紋理特征的區(qū)域生長肝臟自動分割方法,自動選擇種子點并自動計算閾值停止生長,可以很好的忽略肝臟中血管的干擾,但是在邊界處往往有過分割現象.文獻[5]采用基于統計學習理論的支持向量機(SVM)來實現肝臟的分割,首先提取圖像的紋理特征,然后利用SVM分類,分離出肝臟區(qū)域與非肝臟區(qū)域,最后通過數學形態(tài)學運算來得到最終分割結果.在基于輪廓的分割方法中常用的是主動輪廓模型[9](Active Contours Model,又稱Snake).由于Snake模型要求初始輪廓要非常接近目標區(qū)域的邊界,而且其不能很好的深入到區(qū)域凹陷邊界內部,所以C.Xu等[10]提出了梯度矢量流-蛇(GVF-Snake)模型.其中,外力由擴散方程得到,在整個圖像區(qū)域計算梯度場,從而將Snake模型輪廓曲線拖向物體的深度凹陷區(qū)域.文獻[11]采用基于GVF-Snake模型的肝臟分割方法,用最大力角度圖自動找到初始輪廓,一定程度上解決了GVF-Snake模型在凹陷邊界經常出錯的問題,但是算法計算時間太長.文獻[7]提出了基于馬爾科夫隨機場(Markov Random Field,MRF)模型和GVF-Snake模型的肝臟分割方法,用MRF得到肝臟的初始輪廓,然后用GVF-Snake模型調整初始輪廓.文獻[12]提出了一種結合貝葉斯分類器和數學形態(tài)學操作以及幾何主動輪廓的分割方法,通過迭代計算像素點包括種子點的矩形鄰域的均值和方差來判斷每個像素是否屬于肝臟組織,然后執(zhí)行形態(tài)學操作,最后用幾何主動輪廓模型校正得到最終分割結果.
本文采用基于像素與基于輪廓結合的分割方法,首先利用閾值法提取肝臟的初始輪廓,然后用改進的GGVF-Snake[13-14]模型調整初始輪廓得到最終的分割結果,克服了單純采用基于像素的分割方法存在的易過分割和泄漏問題,同時通過改進的GGVF-Snake模型解決了深入狹長凹陷邊界的問題.
實驗所用數據為DICOM格式的腹部CT圖像序列集.DICOM格式圖像是CT掃描儀掃描后得到的原始圖像,包含了許多醫(yī)學信息,該CT序列的層厚為5 mm,每一層的大小是512*512,每一個像素包含一個12位的CT值,單位為HU(Hounsfield Unit).本文分割算法的總體流程如圖1所示,首先采用Window-Leveling算法將原始CT圖像轉換為灰度圖像,并通過改進的曲率各向異性擴散濾波器對圖像進行平滑濾波;然后采用閾值法對圖像進行粗分割,得到肝臟初始輪廓,同時通過Canny算子得到的邊緣圖計算外力場;最后采用改進的GGVF-Snake模型調整初始輪廓得到最終的分割結果.
圖1 肝臟分割算法流程
原始腹部CT圖像包含了肝臟、胃、脾等多個器官,且各器官的邊緣模糊,如果強制將圖像灰度化,則圖像的分辨度不高,采用圖像增強方法,很難突出所要研究的關鍵部位.在CT圖像中,不同器官、組織的密度是在一個固定的值域,提取肝臟區(qū)域,只需將肝臟的CT值區(qū)間映射到灰度區(qū)間即可.本文采用Window-Leveling(W/L)調窗算法[15],實現肝臟CT圖像到灰度圖像的轉換.在(W/L)調窗算法中,將需要處理的CT值區(qū)間一般稱為窗口,區(qū)間長度稱為窗口寬度(Window Width,WW),區(qū)間的中心稱為窗口中心(Window Center,WC).圖像轉換的具體步驟如下:
1)將圖像DICOM轉為HU為
式中:D為圖像DICOM值.本文所用數據集的Rescale_Slope值為1,Rescale_Intercept值為-1024.
2)計算映射區(qū)間最小值(min)和最大值(max)為
3)將HU映射到灰度區(qū)間[0,255]為
肝臟組織的CT值通常位于50~250之間,取WW=200,WC=150,將大小在50~250之間的HU映射到[1,254]的灰度值區(qū)間,<50映射為0,>250映射為255,得到CT圖像的灰度圖,如圖2(b)所示.
P.Perona等[16]提出一種各向異性擴散的濾波器,用擴散的觀點看待濾波,并給出了各向異性擴散方程,稱為Perona-Malik(P-M)擴散模型,如
式中:div為散度算子;▽u為圖像的梯;g(|▽u|)為擴散系數.各向異性擴散是一個能量發(fā)散的過程,從數學上等價于一個能量最小化問題的求解.各向異性擴散濾波通過估計噪聲和梯度強度,在區(qū)域的內部進行平滑,有邊緣的地方抑制平滑,很好的保護了圖像的邊緣特征.
本文采用改進的曲率擴散方程(Modified Curvature Diffusion Equation,MCDE)對圖像執(zhí)行各向異性擴散,如
經典的各向異性擴散在一定的條件下進行一個負擴散并增強邊緣差異,MCDE形式的方程進行正擴散,且不具備邊緣增強特征.同其他的非線性擴散技術相比,MCDE在質量上更好;與P-M擴散方式相比,MCDE具有更低的敏感度,并可更好的保留圖像中的結構細節(jié).圖2(c)為經過基于MCDE的曲率各向異性擴散濾波后的圖像.
圖2 CT圖像轉換及濾波結果
經過上述處理后的圖像,對比度增強,突出肝臟區(qū)域,圖像直方圖如圖3所示.
肝臟區(qū)域的波峰通常落在灰度區(qū)間[100,150]之內,可通過統計方法找到峰值所對應的灰度值μ.但是,在非正常肝臟中,尤其是有大面積的腫瘤或其他病變的情況下,可能會有偏差,所以,為了保證閾值選擇的準確性,本文首先選取了一個肝臟區(qū)域內的種子點s(x0,y0),然后選擇離點s最近的波峰.另外,由于單一的閾值很難覆蓋整個肝臟區(qū)域,本文使用上限和下限兩個閾值對圖像進行二值化,其中,下限閾值THL為區(qū)間[100,μ]內的極小值,而上限閾值THH為區(qū)間[μ,150]的極小值,按式(1)所示將灰度圖像二值化,如圖4(a)所示.
圖像二值化后本文采用基于四連通的區(qū)域連通標記法標記連通區(qū)域,選擇跟種子點s標記相同的像素,初步得到肝臟區(qū)域的像素集合,圖4(b)為標記連通區(qū)域后提取的肝臟區(qū)域,從圖4(b)可以看出,由于存在噪聲,肝臟區(qū)域內部有許多的孔洞,利用數學形態(tài)學操作處理并填充孔洞得到完整的肝臟區(qū)域二值圖像,如圖4(c)所示.最后,通過邊界跟蹤得到肝臟區(qū)域初始輪廓的坐標序列,初始輪廓曲線如圖4(d)所示.
圖4 肝臟初始輪廓提取結果
圖3 預處理后的肝臟圖像直方圖
雖然傳統的Snake模型在一定程度上可以達到分割的目的,但是,其存在兩個問題:1)目標區(qū)域的初始輪廓必須足夠接近目標邊界;2)在目標邊界有很深的凹陷時很難逼近到真實邊界.在腹部CT圖像序列中,很多序列中肝臟的邊界都非常的不規(guī)則,傳統的Snake模型分割效果不好.造成這種現象的原因是Snake模型的外力是一種保守力,捕捉范圍小,限制了模型的應用.為了擴大外力場的捕捉范圍,文獻[10]提出了一種新的外力場來代替?zhèn)鹘y的外力場,這種外力場稱為梯度矢量流(Gradient Vector Flow,GVF)外力場,表示為
它可通過極小化的能量函數來求得
式中:參數μ是第1項和第2項的平衡因子,當μ=0時,式(2)變?yōu)榻浀涞膱D像梯度外力場的情況,μ增大時,第1項起的平滑作用變大,能有效減少噪聲,同時GVF場的作用范圍也變大.由變分法得到偏微分方程為
式中:ut、vt分別為對時間參數t的偏導;▽2為拉普拉斯算子;f(x,y)為邊緣圖,它在圖像的邊緣處取得極大值,對于灰度圖像Ⅰ(x,y),一般邊緣圖定義為f(x,y)=|▽Gσ*Ⅰ(x,y)|2.其中,Gσ為標準差為σ的高斯核函數.通過求解偏微分方程組可得到式(2)的解.
梯度矢量流外力場作為Snake模型的外力場在一定程度上解決了曲線不能深入到凹陷邊界內部的問題,但是,在特別細長的邊界處,普通的GVF仍然不能達到很好效果,這是因為在邊界處GVF力場存在著過度平滑問題,因此,用一種新的可變的權重函數來代替式(2)中的常數平滑因子μ可以解決這個問題,這就是廣義的梯度矢量流(Generalized gradient vector flow,GGVF).用更加泛化的權重函數g(|▽f|)和h(|▽f|)分別取代式(3)、(4)中的μ和|▽f|2后得到GGVF所對應的偏微分方程為
當g(|▽f|)=μ,h(|▽f|)=|▽f|2時,式(5)、(6)就分別退化為式(3)、(4).在GGVF中,權重函數g(|▽f|)和h(|▽f|)分別為
當權重函數h(|▽f|)變大時,g(|▽f|)變小時,在梯度比較大的地方,平滑度就會比較小,反之,平滑度將變大.式(7)、(8)即為廣義的擴散方程[13].
另外,在腹部CT圖像中,噪聲較多,組織器官也較多,所以傳統的通過計算圖像梯度得到式(2)中的邊緣圖f,即f(x,y)=|▽Gσ*Ⅰ(x,y)|2,往往會使產生的梯度矢量流場雜亂,最終影響分割結果的準確性.如果通過增大標準差σ來減少噪聲,則會使本來就模糊甚至是重疊的圖像邊緣更加不清晰,也會導致流場錯亂,進而導致分割失敗.所以,本文采用了邊緣檢測效果更好的Canny算子獲得到圖像的邊緣圖[11,14,17].Canny算法主要分4步來得到邊緣圖.
1)用高斯函數與原圖像作卷積.
2)利用一階偏導的有限差分計算梯度的幅值和方向.
3)非極大值抑制.僅僅得到全局的梯度并不足以確定邊緣,為了確定邊緣,必須保留局部梯度值最大的點,并抑制非極大值.每一個像素點與沿梯度方向相鄰的兩個像素比較,如果不比沿梯度方向的兩個相鄰相素梯度值大,則設為0.
4)利用雙閾值法檢測和連接邊緣.通過Canny算子處理得到的邊緣圖,不需要的邊緣細節(jié)被過濾,真實邊緣被精確的保留,利用此邊緣圖計算得到的廣義梯度矢量流場有著很好的穩(wěn)定性和清晰度.在此力場中,輪廓曲線可以很好的被校正為真實輪廓.圖5為Canny算子得到的邊緣圖與傳統的梯度法得到的邊緣圖.
圖5 Canny算子和梯度法獲取的邊緣圖
實驗所用的腹部CT序列圖像共2組420張,算法由Matlab以及ITK共同實現.目前,已經有許多的評估方法被應用于醫(yī)學圖像的分割中.但是,由于在肝臟的分割研究中,沒有統一的、標準的可用數據集,使得在肝臟的分割中并沒有統一的評測標準.當前比較常用的評估分割結果的方法是差異實驗法,即將計算機分割結果與正確的分割結果相比較.在醫(yī)學圖像的分割中,正確的分割結果一般通過手動的分割來得到.本文將通過Dice相似性系數[18](Dice Similarity Coefficient,DSC)、誤報率(False Positive Ratio,FPR)和漏報率(False Negative Ratio,FNR)3個指標來評估分割結果,它們的定義為
式中:M、A分別為手動分割結果與計算機分割結果;M0、A0分別為相應的分割結果中非肝臟的像素集;M1、A1分別為相應的分割結果中肝臟區(qū)域像素集.DSC的取值范圍在0~1之間,表示計算機分割結果與真實結果之間的重合程度,DSC=0說明M1和A1兩個集合完全沒有重疊,分割效果最差;DSC=1則說明兩個集合完全一致,分割效果最好.FPR為本不屬于肝臟的像素卻被標記為肝臟像素的比例;FNR為本屬于肝臟的像素卻沒有被標記為肝臟像素的比例.
表1是10個CT圖像序列樣例分割結果的評估數據.在用改進的GGVF-Snake模型對肝臟輪廓的調整中,每張序列圖像的迭代用時為5 s左右,單次迭代時間為45 ms左右.從表1可以看出,算法分割結果與手動分割結果的DSC在97%以上,證明了算法的準確度,同時FNR和FPR也降至0.05以下.而基于圖割理論的文獻[18]中DSC為95%,FPR、FNR分別為5%和3%,基于統計信息的文獻[19]中DSC為94%、FPR為3.9%、FNR為6.3%.在肝臟區(qū)域沒有跟其他的組織重疊的序列中,算法的DSC可達到98%以上(如圖7第1行);在肝臟區(qū)域形狀比較復雜且跟周圍組織有重疊,甚至某段邊界不存在的序列中(如圖7第2行),DSC會稍有下降,一般在97±1%左右,這是因為在有些邊緣差異極小的情況下,采用灰度信息的分割方法會有過分割的現象.另外,從圖6可看出,采用改進的GGVF作為Snake模型的外力后,在肝臟凹陷邊界處的力場有了明顯的改進,這使得輪廓曲線可以快速有效的深入到真實的邊界內部.
圖6 肝臟邊界凹陷處力場圖
圖7 肝臟最終分割結果
1)采用基于CT值的W/L算法將原始圖像轉換為灰度圖像,使得閾值法提取肝臟區(qū)域變得容易,同時采用雙閾值法得出的肝臟初始輪廓也具有很高的精確度;
2)通過改進GVF外力場,提高了外力場的穩(wěn)定性與清晰度,降低了Snake模型對初始輪廓精度的要求,解決了GVF-Snake模型不能深入到極細長的凹陷邊界內部問題,得到較好的分割結果.
[1]CHRIST M C J,PARVATHI R M S.Fuzzy C-means algorithm for medical image segmentation[C]//Proceedings of the 3rdInternational Conference on Electronics Computer echnology(ICECT).Kanyakumari:IEEE,2011,(4):33-36.
[2]GAMBINO O,VITABILE S,RE G L,et al.Automatic volumetric liver segmentation using texture based region growing[C]//Proceedings of the International Conference on Complex,Intelligent and Software Intensive Systems(CISIS).Krakow:IEEE,2010:146-152.
[3]CHITTAJALLU D R,SHAH S K,KAKADIARIS I A.A shape-driven MRF model for the segmentation of organs in medical images[C]//Proceedings of the Conference on Computer Vision and Pattern Recognition(CVPR).San Francisco,CA:IEEE,2010:3233-3240.
[4]ZHAO Yu-qian,ZAN Yun-long,WANG Xiao-fang,et al.Fuzzy-means clustering-based multilayer perceptron neural network for liver ct images automatic segmentation[C]//Proceedings of 2010 Chinese Control and Decision Conference(CCDC).Xuzhou,Jiangsu:IEEE,2010:3423-3427.
[5]LUO Su-huai,HU Qing-mao,HE Xiang-jian,et al.Automatic liver parenchyma segmentation from abdominal CT images using support vector machines[C]//Proceedings of the International Conference on Complex Medical Engineering(ICME).Tempe,AZ:IEEE,2009:1-5.
[6]WANG Wen-feng,MA Li,YANG Lin.Liver contour extraction using modified snake with morphological multiscale gradients[C]//Proceedings of the International Conference on International Conference on Computer Science and Software Engineering.Wuhan,Hubei:IEEE,2008,(6):117-120.
[7]CAMPADELLI CASIRAGHI P E,PRATISSOLI S.Fully automatic segmentation of abdominal organs from CT images using fast marching methods[C]//Proceedings of the 21stIEEE International Symposium on Computer-Based Medical Systems.Washington,DC:IEEE Computer Society,2008:554-559.
[8]ALOMARI R KOMPALLI S S,CHAUDHARY V.Segmentation of the liver from abdominal CT using markov random field model and GVF snakes[C]//Proceedings of the 2008 International Conference on Complex,Intelligent and Software Intensive Systems.Washington,DC:IEEE Computer Society,2008:293-298.
[9]KASS M,WITKIN A,TERZOPOULOS D.Snakes:active contour models[J].International Journal of Computer Vision,1988,1(4):321-331.
[10]XU Chen-yang,PRINCE J L.Snakes,shapes,and gradient vector flow[J].IEEE Transactions on Image Processing,1998,7(3):359-369.
[11]HUANG Shao-hui,WANG Bo-liang,HUANG Xiaoyang.Using GVF snake to segment liver from CT images[C]//Proceedings of the 3rdInternational Summer School on Medical Devices and Biosensors.Cambridge,MA:IEEE,2006:145-148.
[12]FREIMAN M,ELIASSAF O,TAIEB Y,et al.An iterative Bayesian approach for nearly automatic liver segmentation:algorithm and validation[J].International Journal of Computer Assisted Radiology and Surgery,2008,3(5):439-446.
[13]XU Chen-yang,PRINCE J L.Generalized gradient vector flow external forces for active contours[J].Signal Processing,1998,71(2):131-139.
[14]GUI Tian-yi,HUANG Lin-Lin,SHIMIZU A.Liver segmentation for CT images using an improved GGVFSnake[C]//Proceeding of the 2007 Annual Conference on SICE.Takamatsu:IEEE,2007,676-681
[15]Mayo-SMITH W W,GUPTA H,.RIDLEN M S,et al.Detecting hepatic lesions:the added utility of CT liver window settings[J].Radiology,1999,210(3):601-604.
[16]PERONA P,MALIK J.Scale-space and edge detection using anisotropic diffusion[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1990,12(7):629-639.
[17]CHENG Jin-yong,XUE Ruo-juan,LU Wen-peng,et al.Segmentation of medical images with Canny operator and GVF snake model[C]//Proceedings of the 7thWorld Congress on Intelligent Control and Automation.Chongqing:IEEE,2008,1777-1780.
[18]MASSOPTIER L,CASCIARO S.Fully automatic liver segmentation through graph-cut technique[C]//Proceedings of the29thAnnunal International Conference on Engineering in Medicine and Biology Society.Lyon:IEEE,2007:5243-5246.
[19]MASSOPTIER L,CASCIARO S.A new fully automatic and robust algorithm for fast segmentation of liver tissue and tumors from CT scans[J].European Radiology,2008,18(8):1658-1665.