徐亞楠,趙偉,李銘,石宏理
1.首都醫(yī)科大學(xué)生物醫(yī)學(xué)工程學(xué)院,北京100069;2.復(fù)旦大學(xué)附屬華東醫(yī)院CT室,上海200040
國家癌癥中心發(fā)布的癌癥報(bào)告顯示2015年肺癌的發(fā)病人數(shù)為73.3萬人,死亡人數(shù)接近61萬,是致死率最高的惡性腫瘤[1-2]。肺癌主要分為鱗形細(xì)胞癌、未分化癌、腺癌和肺泡細(xì)胞癌4 種。其中,肺腺癌占原發(fā)腫瘤的40%,早期無特殊癥狀,主要分為浸潤前癌變和浸潤性癌變[3]。無論是浸潤前癌變或浸潤性癌變,其CT 圖像上均可表現(xiàn)為磨玻璃結(jié)節(jié)(Ground Glass Nodule,GGN),其形狀主要呈類圓形和不規(guī)則型,早期特點(diǎn)為分布范圍比較廣范,直徑較小,易漏診[4-6]。在臨床診斷中如何對(duì)早期GGN 的鑒別及診斷,仍是亟待解決的難題。
GGN 的計(jì)算機(jī)影像學(xué)輔助診斷(Computer Aided Diagnosis,CAD)一般可分為兩種[7-9]:一種是對(duì)于是否存在GGN以及GGN的位置判別,其主要任務(wù)是對(duì)肺部的各種組織進(jìn)行分割、提取,判斷是否存在GGN;另一種是對(duì)于GGN是否浸潤進(jìn)行判別。本文主要針對(duì)GGN的提取與判別展開研究。
自動(dòng)化分割肺結(jié)節(jié),精確劃分感興趣區(qū)域一直是CAD研究的熱點(diǎn)之一。國內(nèi)外很多學(xué)者提出許多新的算法來分割肺結(jié)節(jié)。Farag等[10]利用水平集算法對(duì)肺結(jié)節(jié)進(jìn)行分割,其主要是通過肺結(jié)節(jié)形狀模型將分割框架與圖像強(qiáng)度統(tǒng)計(jì)信息融合,該方法的優(yōu)點(diǎn)是不依賴于結(jié)節(jié)類型或位置。Shakir等[11]提出一種半自動(dòng)系統(tǒng)分割結(jié)節(jié),該算法是基于水平集中平均強(qiáng)度閾值的模型來進(jìn)行結(jié)節(jié)分割,同時(shí)通過自適應(yīng)技術(shù)來估計(jì)平均強(qiáng)度。Santos等[12]用支持向量機(jī)算法區(qū)分結(jié)節(jié)與非結(jié)節(jié),該算法采用高斯混合模型并結(jié)合了熵測量等紋理特征。Liu等[13]提出一種自適應(yīng)模糊C均值算法。該算法根據(jù)中心像素和相鄰像素之間的灰度相似性和空間相似性來計(jì)算隸屬度值,并通過使用從訓(xùn)練樣本中學(xué)習(xí)的少量先驗(yàn)知識(shí)來構(gòu)建聚類和類別之間的概率關(guān)系矩陣。基于該矩陣,實(shí)現(xiàn)對(duì)未標(biāo)記肺CT圖像的弱監(jiān)督肺結(jié)節(jié)分割。Wang等[14]和Qi等[15]利用卷積神經(jīng)網(wǎng)絡(luò)算法,分別提出中心聚焦卷積神經(jīng)網(wǎng)絡(luò)和三維卷積神經(jīng)網(wǎng)絡(luò),對(duì)結(jié)節(jié)進(jìn)行分割。
結(jié)合目前已有的肺結(jié)節(jié)分割方法,本文提出一種基于支持向量機(jī)的三維GGN自動(dòng)提取和識(shí)別算法。該算法首先根據(jù)三維連通域的特性分割肺實(shí)質(zhì),然后在肺實(shí)質(zhì)區(qū)域內(nèi)提取可能為GGN的孤立組織,這些孤立組織直徑一般不超過4 cm,可能為GGN、鈣化、血管末端等組織。為了從孤立組織中識(shí)別出GGN,本方法中選取了28個(gè)三維形狀特征和紋理特征參數(shù),建立一個(gè)線性判別模型。本文共選取139例GGN數(shù)據(jù),將數(shù)據(jù)分為訓(xùn)練集100例,測試集39例。其中訓(xùn)練集中的孤立組織已有醫(yī)生標(biāo)記,可直接得到GGN。在研究中,計(jì)算其形狀特征和紋理特征參數(shù)作為線性模型的輸入?yún)?shù),訓(xùn)練線性模型,用支持向量機(jī)得到確定模型參數(shù)。對(duì)于測試集中的孤立組織,計(jì)算特征參數(shù),再根據(jù)線性模型判別該組織是否為GGN。為了保證方法的實(shí)用性,本文對(duì)肺實(shí)質(zhì)提取、孤立組織及其特征的提取、基于支持向量機(jī)的GGN識(shí)別和量化評(píng)估分析這4個(gè)方面對(duì)該方法進(jìn)行測試。測試結(jié)果表明,該算法可以比較理想地識(shí)別出GGN。
本文方法是基于三維體素?cái)?shù)據(jù)為數(shù)字運(yùn)算單元對(duì)GGN 的識(shí)別和提取。算法流程主要分為3 部分:首先,先對(duì)肺實(shí)質(zhì)進(jìn)行分割提取,分割出包含可能為GGN的孤立組織;其次,計(jì)算其三維形狀特征和紋理特征,建立線性識(shí)別模型;最后,利用支持向量機(jī)確定模型參數(shù),區(qū)分GGN和非GGN。具體方法如下。
在肺CT圖像中,GGN只存在于肺實(shí)質(zhì)區(qū)域。為了方便提取GGN,首先分割出肺實(shí)質(zhì)。文中采用的肺實(shí)質(zhì)分割方法主要包括以下4 個(gè)步驟:(1)歸一化與二值化:首先將圖像進(jìn)行歸一化處理,將歸一化的數(shù)據(jù)根據(jù)大津閾值算法計(jì)算閾值,根據(jù)閾值進(jìn)行二值化處理,得到二值化的胸部CT圖像;(2)三維連通區(qū)域:根據(jù)肺部CT圖像三維方向26鄰域來計(jì)算連通區(qū)域,分別提取出肺實(shí)質(zhì)與背景等部分;(3)肺實(shí)質(zhì)提取:為了將肺實(shí)質(zhì)從全部的連通區(qū)域中提取出來,本文根據(jù)肺實(shí)質(zhì)區(qū)域與其他組織的局部差異性,將肺實(shí)質(zhì)與其他組織進(jìn)行區(qū)分,得到肺實(shí)質(zhì)二值化圖像;(4)掩模運(yùn)算:將原始圖像與計(jì)算得到的二值圖像進(jìn)行類似于“乘積”的掩模運(yùn)算,得到包含灰度信息的肺實(shí)質(zhì)圖像。
孤立組織提?。簩?duì)于分割肺實(shí)質(zhì)后的CT圖像數(shù)據(jù),首先根據(jù)肺實(shí)質(zhì)圖像進(jìn)行閾值計(jì)算,根據(jù)閾值將圖像變?yōu)槎祷瘓D像。然后將圖像做膨脹腐蝕運(yùn)算,再將腐蝕后的圖像根據(jù)組織的連通性,將三維方向上連通的組織分別提取,得到肺實(shí)質(zhì)中孤立組織。
三維形狀特征和紋理特征:將所得到的孤立性組織進(jìn)行三維形狀特征和紋理特征提取。其形狀特征主要包括:體積、直徑、區(qū)域與總邊框中體素的比值、橢圓主軸長度的第二中心距、主軸長度特征值、凸體積、凸面積、曲面面積。紋理特征主要包括:能量、慣量、逆差距、熵、相關(guān)系數(shù)[16]。在計(jì)算紋理特征時(shí),由于CT 圖像是三維數(shù)據(jù),計(jì)算紋理特征采用了三維灰度共生矩陣[17],方向(θ,φ)包含了13個(gè)不同的方向,其中θ是XY平面與正X方向之間的角度間隔,分別依次取0°、45°、90°、135°;φ是XY 平面與正Z 方向之間的角度間隔,分別依次取0°、45°、90°、135°,所有方向的距離值均取為1。最后,采用這些特征參數(shù)構(gòu)造線性判別模型。
為了訓(xùn)練該判別模型,需根據(jù)醫(yī)生標(biāo)記的圖像確定訓(xùn)練集。將肺實(shí)質(zhì)中提取的孤立組織,根據(jù)醫(yī)生所給的結(jié)節(jié)位置標(biāo)記,與全部孤立組織的位置進(jìn)行匹配,可得到孤立組織中的GGN,再將GGN 還原成未腐蝕的實(shí)際大小,為防止圖像細(xì)節(jié)丟失,將算法提取的GGN與醫(yī)生標(biāo)記的GGN進(jìn)行結(jié)合(取并集),得到GGN圖像。
對(duì)于線性分類問題,支持向量機(jī)能夠在特征空間中尋找一個(gè)最優(yōu)超平面將數(shù)據(jù)分類,從而區(qū)分兩類數(shù)據(jù)。如圖1所示,H1和H2是兩類數(shù)據(jù)的邊緣分類面,它們之間的距離就是兩類之間的間隔,雖然能夠?qū)深慄c(diǎn)正確分開的超平面有很多,但H為最優(yōu)超平面。其中,位于H1和H2上的數(shù)據(jù)點(diǎn)是接近超平面的支持向量,支持向量機(jī)的最終目的即尋求一個(gè)最優(yōu)超平面使兩類數(shù)據(jù)之間的間隔最大,同時(shí)將數(shù)據(jù)的分類能力達(dá)到最佳[18],即:
其中,x表示特征向量,w、w0表示超平面參數(shù),wT表示參數(shù)w的轉(zhuǎn)置。
圖1 線性可分情況下的最優(yōu)超平面Fig.1 Optimal hyperplane in condition of linear separability
對(duì)于一個(gè)二分類問題,為了不偏袒任何一類,選擇最優(yōu)超平面時(shí)應(yīng)選取在每一個(gè)方向上兩類數(shù)據(jù)中各自最近的點(diǎn)距離相同[19],即:
其中,yi表示相對(duì)應(yīng)類的表示器,一般用±1表示。這是一個(gè)滿足一系列線性不等式條件的非線性最優(yōu)化任務(wù)。由于J(w,w0)是一個(gè)二次型函數(shù),有唯一的極小點(diǎn),利用拉個(gè)朗日優(yōu)化方法將最優(yōu)分類問題轉(zhuǎn)化為其對(duì)偶形式[20]:
其中,λi是拉個(gè)朗日乘子,xi、xj為核函數(shù),表示為核函數(shù)xi的轉(zhuǎn)置。支持向量機(jī)的基本算法可分為塊算法、分解算法和序列最小優(yōu)化算法。
根據(jù)上述原理,本文方法中yi代表結(jié)節(jié)和非結(jié)節(jié)兩類類別,用±1 表示;xi代表28 個(gè)三維形狀特征和紋理特征參數(shù)。采用序列最小優(yōu)化算法計(jì)算線性模型參數(shù)。
本文涉及軟件及硬件環(huán)境。軟件環(huán)境:Windows 7操作系統(tǒng),MATLAB R2017b。硬件環(huán)境:Intel(R)Xeon(R)E5-2603-1.6 GHz(CPU),8.0 Gbyte(內(nèi)存),2.0 Gbyte顯存(顯卡),500 Gbyte(硬盤)。本文采用由華東醫(yī)院CT室醫(yī)師標(biāo)記的139例臨床肺腺癌患者的CT圖像作為實(shí)驗(yàn)樣本,大小均為512×512。
首先,對(duì)三維CT圖像數(shù)據(jù)進(jìn)行歸一化和二值化處理,并根據(jù)肺CT 圖像不同區(qū)域的連通性不同,即肺實(shí)質(zhì)區(qū)域與其他組織局部性差異,將肺實(shí)質(zhì)提取,最后對(duì)提取的二值化圖像進(jìn)行掩模填充,獲取肺實(shí)質(zhì)的灰度信息。其分割結(jié)果如圖2所示,圖中選取的圖像為139 例數(shù)據(jù)中的其中一例,該CT 圖像一共有254 層,本圖為其中一層圖像,其中圖2a 為肺CT 原圖,圖2b為肺實(shí)質(zhì)分割結(jié)果,該結(jié)果顯示該方法能夠分割出肺實(shí)質(zhì)區(qū)域并保留圖像細(xì)節(jié)。
圖2 肺實(shí)質(zhì)分割結(jié)果Fig.2 Segmentation of lung parenchymal
構(gòu)造線性判別模型需提取肺實(shí)質(zhì)中孤立組織并計(jì)算特征參數(shù)。首先,根據(jù)肺實(shí)質(zhì)圖像進(jìn)行閾值計(jì)算,根據(jù)閾值對(duì)圖像做二值化計(jì)算。然后,將圖像做膨脹腐蝕運(yùn)算,再將腐蝕后的圖像根據(jù)組織的連通性,將三維方向上連通的組織提取,得到肺實(shí)質(zhì)中孤立組織。最后,計(jì)算三維形狀特征和紋理特征,建立線性判別模型。
為訓(xùn)練線性模型,根據(jù)CT室醫(yī)師提供的GGN標(biāo)記,將訓(xùn)練集中的GGN從孤立組織中提取。GGN標(biāo)記由CT室醫(yī)師使用3-D slice軟件完成。軟件由于是手動(dòng)勾畫GGN 結(jié)節(jié)范圍,可能會(huì)導(dǎo)致漏選體素點(diǎn)的情況出現(xiàn)。為了防止圖像細(xì)節(jié)丟失,我們根據(jù)醫(yī)師給出的GGN位置匹配出孤立組織中的GGN,再將其與醫(yī)師標(biāo)記的GGN 結(jié)合(取并集),構(gòu)成訓(xùn)練集。圖3為100例訓(xùn)練集中的某一例,圖3a為帶有GGN的肺實(shí)質(zhì)圖像,圖3b為融合醫(yī)師標(biāo)記和自動(dòng)提取的GGN區(qū)域的二值圖像(一層)。GGN 區(qū)域的實(shí)際大小為11×11×10,其每層結(jié)果如圖4所示。該GGN 的三維形狀特征和三維紋理特征根據(jù)這些圖計(jì)算得到,最后構(gòu)造線性判別模型。
圖3 訓(xùn)練集中GGN提取Fig.3 Extraction of ground glass nodules(GGN)from training set
為了確定線性判別模型的參數(shù),采用支持向量機(jī)訓(xùn)練該模型。首先,將得到的100 例訓(xùn)練集中GGN 數(shù)據(jù)的形狀特征和紋理特征作為輸入?yún)?shù),同時(shí)在訓(xùn)練集中隨機(jī)挑選100 個(gè)其它孤立組織(非GGN)計(jì)算形狀特征和紋理特征,構(gòu)成訓(xùn)練集的輸入特征參數(shù)。然后,用支持向量機(jī)訓(xùn)練線性模型,計(jì)算出模型參數(shù)。最后,將39例CT圖像測試集數(shù)據(jù)中的孤立組織所計(jì)算的形狀特征和紋理特征參數(shù)輸入到線性模型中,對(duì)孤立組織進(jìn)行判別,識(shí)別出孤立組織中的結(jié)節(jié)。判別與提取的結(jié)果如圖5和圖6所示。圖5為39例測試集中某一患者CT影像的識(shí)別結(jié)果,該患者為女性,36 歲,不吸煙,GGN 直徑為0.8 cm。其中圖5a表示為CT圖像中某一層帶有GGN肺實(shí)質(zhì)圖像;圖5b 為該層醫(yī)師根據(jù)觀察標(biāo)記的GGN 圖像;圖5c 為該層使用線性模型判別GGN 的結(jié)果。該測試CT 圖像共192 層,其中醫(yī)師標(biāo)記GGN 在圖像的149至157層,大小為13×11×9;測試結(jié)果提取的GGN在圖像的150至157層,大小為9×12×8。其每層結(jié)果如圖6所示,圖6a顯示醫(yī)師標(biāo)記的每層結(jié)果,圖6b顯示判別模型識(shí)別出GGN的每層結(jié)果,由圖可得,本文模型可識(shí)別和提取GGN,其結(jié)果與醫(yī)師標(biāo)記非常類似。
圖4 訓(xùn)練集GGN每層結(jié)果Fig.4 Per layer of GGN in training Set
圖5 GGN的提取和識(shí)別結(jié)果Fig.5 Extraction and recognition of GGN
圖6 提取和識(shí)別每層GGN與醫(yī)師標(biāo)記對(duì)比Fig.6 Extraction and recognition of GGN compared to physician′s markers
為了量化評(píng)估本算法的有效性,所以用ROC 曲線對(duì)測試集結(jié)果進(jìn)行評(píng)估,其ROC 曲線如圖7所示。根據(jù)測試集結(jié)果的ROC 曲線所得的AUC 的值為0.937 2。由于在提取孤立組織的過程中采用了腐蝕運(yùn)算,這一過程雖然可以將與血管相連的GGN 提取,但導(dǎo)致末端血管可能被判定為孤立組織,導(dǎo)致假陽性的出現(xiàn)。評(píng)估結(jié)果表明,本算法可比較有效地識(shí)別和提取GGN。
本文所提出的算法,模擬了醫(yī)師診斷GGN 的過程,基本實(shí)現(xiàn)了自動(dòng)化分割GGN,首先該算法可提取出肺實(shí)質(zhì)區(qū)域,剔除其他組織區(qū)域,并利用GGN的孤立特性與其形狀和紋理特征提取出GGN,并且本算法的實(shí)現(xiàn)是基于三維CT圖像的GGN分割,并保留了GGN的三維結(jié)構(gòu)特征,為臨床提供診斷依據(jù)。
圖7 測試結(jié)果的ROC曲線Fig.7 Receiver operating characteristic curve of test set
本文中的算法自動(dòng)化程度高,基本不需要人工操作,即可提取和識(shí)別肺結(jié)節(jié);其次,本文所提到的算法是在三維的基礎(chǔ)上進(jìn)行GGN提取,保留了GGN的三維特征;最后,本算法計(jì)算速度快,基本計(jì)算機(jī)配置即可實(shí)現(xiàn)本算法運(yùn)算。但是,本算法還存在一些問題需要進(jìn)一步解決,仍存在對(duì)一些孤立組織的誤判,導(dǎo)致假陽性,這主要源于自動(dòng)化分割肺結(jié)節(jié)算法中的誤差,我們將繼續(xù)改進(jìn)算法,以實(shí)現(xiàn)臨床中的應(yīng)用。