摘要:提出一種用模板匹配來檢測CT增強掃描中的小肝癌的算法,該算法先利用改進的區域生長方法提取出完整的肝部以減少模板匹配的計算量,然后簡化Y Lee等人的模板匹配方法,從而達到加快計算速度的目的。
關鍵詞:模板匹配;CT圖像;區域生長
中圖分類號:TP391文獻標識碼:A文章編號:1009-3044(2008)34-1697-03
Automatic Detection of Small Liver Cancers in Enhanced CT Scan Images
DING Hong
(School of Computer Science and Technology, Nantong University, Nantong 226007, China)
Abstract: An algorithm is proposed to detect small liver cancers in enhanced CT scan images. This algorithm extracts the liver area by area growth method, then simplifies the template matching method which is proposed by Y Lee and uses the method to quick the calculating speed.
Key words: template matching; CT images; area growth
1 引言
1999年Pisani等報道,在1990年統計的25種癌癥中,肝癌病死率在各種癌癥中排第四位,在男性中則為第三位,共有42.7萬人死于肝癌[2]。原發性肝細胞癌(primary carcinoma of the liver)是我國常見惡性腫瘤之一,占肝臟原發性惡性腫瘤的2/3以上[2]。肝癌死亡率高,在惡性腫瘤死亡率中僅次于胃、食道而居第三位,在部分地區的農村中則占第二位,僅次于胃癌。我國每年死于肝癌約11萬人,占全世界肝癌死亡人數的45%。
肝癌發展迅速,一旦出現明確臨床癥狀后若無有效處理,平均生存時間為半年。其主要原因是早期肝癌病人常無癥狀(通常5cm以下肝癌約70%左右無癥狀[2]),而出現癥狀時通常是中晚期,此時已錯過治療的最佳時機,治療難度大,死亡率也相應極高。因此,目前最好的治療方法是在早期發現,并及時治療。
電子計算機斷層掃描(CT)能反映肝臟病理形態表現,如病灶大小、形態、部位、數目及有無病灶內出血壞死等,是目前診斷肝臟疾病常用的重要檢查方法之一[2]。但是,讀取CT圖片這一過程會耗費放射科醫生大量精力,因為一個病人會產生超過30幅圖像(這一數字隨著CT掃描精度的提高在不斷提高,目前高精度的CT機一個病人一次掃描產生的圖像超過300幅)讓醫生辨別。高強度的讀片工作這使得誤診變得無法避免。因此,開發一個計算機輔助診斷系統幫助放射科醫生讀片是有必要的。
文獻[1]中Y Lee等人提出用模板匹配的方法檢測肺部的結節,但是他們的匹配需要消耗大量的時間;而且他們的方法產生了大量的假陽性(1 positive),在沒有排除假陽性前達到了平均9.3個/每CT圖,經過大量計算排除假陽性后平均1.1個/每CT圖。
本文借鑒前人在其他臟器的檢測經驗,根據肝部CT掃描圖的特點,提出用一種全新的方式在CT增強掃描圖像中自動檢測小肝癌的結節。實驗證明該方法能夠快速并有效地檢測肝部的小腫瘤。
2 肝癌CT增強掃描的表現
肝細胞癌中單個癌結節最大直徑不超過3厘米或兩個癌結節直徑之和不超過3厘米的肝癌稱為小肝癌。
小肝癌CT雙期強化的常見表現[3]:
1) 平掃。多數呈低密度結節狀病變,邊緣清楚或不清楚。少數小肝癌(尤其是1cm以下的)CT平掃呈等密度。有時候脂肪肝嚴重時,正常肝密度下降到比小肝癌還低,此時癌變為高密度結節。小肝癌并有出血時,平掃也呈高密度。
2) 動脈期。小肝癌動脈期強化的密度可以高于肝密度,也可以等于或低于肝密度。以高于肝的密度最為常見。
3) 門靜脈期。腫瘤密度從動脈期的高于肝,速降至低于肝,同時也低于同層主動脈密度。這一征象在與肝海綿狀血管瘤鑒別上十分重要。
上述螺旋CT雙期動態增強掃描中,小肝癌強化密度從動脈期高于肝,至門靜脈期則速降至低于肝的CT表現,文獻上稱這種動態增強的改變為“快進快出”的特征。這一“快進快出”的特征在小肝癌診斷和鑒別診斷中是十分重要的征象。
圖1顯示的是同一部位CT平掃加增強掃描的表現,此圖中的小肝癌中央低密度,動脈期和靜脈期都強化,其原因主要可能是中央有一定程度缺血,邊緣部有肝動脈和門靜脈雙重供血。
3 小肝癌的自動檢測
肝癌檢測一般可以先提取肝部,這樣可以有效減少計算區域,加快檢測速度,在本文中使用一種基于區域生長的肝部提取方法。經過實驗發現,模板匹配算法相當耗時,于是通過對小肝癌CT圖像特征的分析,提出一種檢測小肝癌的快速算法,實驗證明該方法在一定范圍內是有效的。
3.1 基于區域生長的肝部提取
文獻[4]中Chan TF等人用動態曲線(Active Contours)的方法來提取肺部用閾值的方法來提取肺部,以達到快速檢測肺部結節的目的。然而肝部和肺部的CT圖像有很大的不同,肺部CT值區分較明顯,肝部所在的腹部的臟器的CT值比較接近,因此很難用一種單一的方法來提取肝區。經過實驗比較,本文利用了以前提出的一種基于區域生長的提取方法。
具體基于區域生長的分割算法過程是:1)閾值分割;2)對分割結果進行腐蝕;3)對腐蝕得到的結果進行生長。
1) 閾值分割:
閾值分割是有效減少檢測區域的方法,該方法簡單,在整個算法流程中用作提取肝區的第一步。
觀察腹部CT圖的直方圖我們發現它是一個多峰的圖形(由于視窗沒有將值小于900的包括在內,因此圖1中值較小的部分顯示為黑色)。肝是腹部最大的器官,它會在直方圖中體現為一個峰值,肝部的CT值分布處于右邊第一個峰(即CT值處于1000到1200間的峰,峰值出現點會因為設備、病人個體的不同而不同),如圖2所示。所以我們取該峰的左右谷點作為閾值。(圖1中顯示值的窗口是950~1200,雖然CT圖中有很多黑色區域,但其真實值不一定是0。只要它的值小于950,就會顯示為黑色。)
2) 腐蝕:
形態學中的腐蝕操作可以去除圖像中小的部分和不相關的細節[6]。比如用邊長10的矩形結構取腐蝕圖像,則邊長小于10的部分和細節都會被消除掉。
腐蝕是為了確定肝的位置。由于肝在腹部臟器中是最大的,因此選擇較大的參數進行腐蝕時會將其它的部分(肌肉、其它的臟器)消除腐蝕掉。這樣剩下的部分肯定是肝的實質部分。所以用腐蝕的方法可以選到區域生長的種子。而且這樣選取種子的方式是完全自動的,選擇的種子區域也較大,節省了下一步區域生長的時間。
3) 區域生長:
從上面的閾值分割我們將待選區域縮小,通過腐蝕又得到了區域生長的種子上一步得到的結果生長可以得到肝區。
圖3是通過以上提到的算法提取的肝區(原圖是圖1(b))。可以看出該算法有效地將肝區從腹部CT圖中提取了出來。
3.2 小肝癌結節的檢測
3.2.1 小肝癌的檢測
文獻[1]中用基因匹配算法去尋找肝區中的結節,他們所用的模板是高斯模板,這種模板和肝癌結節很相似(他們從大量CT圖中得出的結論)。結節的模型用下面的等式來定義:
■
這里pvx,y,z是坐標(x,y,z)的像素值,m和n分別表示最大值以及分布范圍的參數。k控制z的范圍。這些參數的值由經驗得出。
經過觀察,我們發現他們所用的方法是產生一個中間密度高,周圍密度低的模型來匹配,而實際的結節的圖像并不一定嚴格遵循這樣的梯度分布。如圖3中上部有一暗區,它的周圍有輕微強化,這其實也是小肝癌的表現之一。
另外,文獻[1]匹配結節時還要計算結節模型和CT圖像兩者的相似度,這是很耗時的一項工作。總體上說他們提出的方法一般是不能夠在普通PC 機上運行的。
下面我們分析小肝癌的特征,以及它和血管、海綿狀血管瘤的比較。選取血管和血管瘤是因為在實驗中我們發現假陽性很大一部分是血管或血管瘤,它們的幾個期的CT值的變化也較明顯。分析資料[3]中的描述,我們歸納出以下特征:
小肝癌:快進快出,動脈期強化一般低于同層主動脈,若接近同層主動脈則需與血管瘤鑒別。
海綿狀血管瘤:動脈期強化與同層主動脈強化接近,至門靜脈期其密度仍接近同層主動脈。
它們之間的鑒別如圖4所示。
設i1,i2,i3,i4分別是平掃、動脈期、靜脈期和延遲掃描得到的CT圖像中的點,則圖4中的特征我們用以下表達式來表述:
快進快出:
■
其中m1是由實驗決定的閾值。
海綿狀血管瘤:
■
其中m2,m3也是由實驗決定的閾值。
所以我們得到小肝癌的檢測表達式是:It-If,其中“-”是集合操作。
再結合上文中提到的肝部檢測,我們的具體檢測方案如下:
1) 肝部提取;2) 提取區域濾波:去除噪聲;3) 去除具有血管、血管瘤特征的區域;4) 用閾值法得到進出較明顯區域;5) 用形態學方法去除一些面積較小的假陽性區域。
具體的檢測算法較上面的表達式描述增加了前期和后期的處理過程。
實驗證明,該算法不僅在時間上較上一種方法得到了極大的節省,同時也能提取出明顯具有“快進快出”特征的小肝癌。
當然,上面的方法也有較大的問題,它的假陽性較多,所以我們要利用其它的特征來排除假陽性。從圖中我們可以看到假陽性主要是由血管造成的,所以我們根據血管在CT增強掃描中的特征:動脈期和靜脈期增強明顯(一般肝癌部位的增強沒有血管高),將血管部分從疑似部分中去除。
4 實驗結果
我們將文中提到的算法進行了實驗。實驗環境:P4 2.0G,512MB內存,Matlab 2006b。
下面是部分實驗結果:圖5(a)是閾值較大時的結果,圖5(b)是閾值進一步縮小的結果,閾值不能太小,否則產生錯誤的檢測結果。
計算用時:提取操作用時1.734s,檢測用時0.704s。當檢測一個病人的全部CT片,估計時間要用到1~2分鐘。
5 結論
本文中的檢測算法可以檢測出肝部的結節,且檢測時間在可接收范圍內,假陽性率不高,經過改進后有一定實用價值。
參考文獻:
[1] Lee Y,Hara T,Fujita H,et al.Automated Detection of Pulmonary Nodules in Helical CT Images Based on an Improved Template-Matching Technique[J].IEEE transations on medical imaging (S0278-0062),2001,20(7):595-604.
[2] 姚光弼.臨床肝臟病學[M].上海:上海科學技術出版社.2004.
[3] 鄭可國,許達生,李子平.肝細胞癌臨床CT診斷[M].北京:世界圖書出版社,2003:27-63.
[4] Chan T,Vase L.Active Contours without Edges[J].IEEE Transactions on Image Processing(S1057-7149),2001,10(2):266-277.
[5] Wan S, Higgins W. Symmetric region growing[J].IEEE Transactions on Image Processing,2003,12(9):1007.
[6] Gonzalez R C,Woods R E.Digital Image Processing(Second Edition)[M].北京:電子工業出版社,2003:420-453.
[7] 程紅巖,徐愛民,陳棟,等.多層螺旋CT:三期薄層掃描發現微小肝癌病灶[J].醫學影像學雜志,2003,13(4):251-254.
[8] 胡曉鋒,趙輝.VisualC++/MATLAB圖像處理與識別實用案例精選[M].北京:人民郵電出版社,2004:101-104.