本文提出了一種基于三維特征的肺結節概率分割算法。首先,提取感興趣區域(ROI)內每個體素的三維灰度和紋理特征,得到每個體素的特征向量;然后,根據特征向量對體素進行分類;最后,使用區域生長算法對分類結果進行后處理,得到最終的分割結果。利用肺部圖像數據庫聯盟組織(LIDC)公共數據集對本文分割結果與LIDC中由4位放射科醫生分別手動分割得到的概率圖進行比較,從而驗證本文方法的性能,結果表明通過提取肺結節的三維灰度和紋理特征對其進行概率分割的方法是有效的。
引用本文: 宋佳, 聶生東, 王遠軍, 魯雯. 一種基于三維特征的肺結節概率分割算法. 生物醫學工程學雜志, 2014, 31(4): 771-776. doi: 10.7507/1001-5515.20140144 復制
引言
目前文獻報道的肺結節分割算法多為二值分割,即將圖像明確地劃分為肺結節區域和非結節區域。這些分割算法因為評估方法的不同,往往很難比較其有效性。例如Xu等[1]使用動態規劃方法分割肺結節,但并沒有在任何數據集上評估算法的準確性;Dehmeshki等[2]使用區域生長和模糊連通分割肺結節,由放射科醫生主觀判斷分割結果的好壞,缺少對分割方法的客觀定量分析;文獻[3]提出了基于區域生長的自適應形態分割算法,在個人數據集上對算法進行了驗證,將分割結果與專家人工分割結果進行了比較;Wang等[4]提出基于螺旋掃描技術的肺結節分割方法,文獻[5]利用三維活動輪廓分割肺結節,以上兩個文獻都在肺部圖像數據庫聯盟組織(Lung Imaging Database Consortium,LIDC)公共數據集上進行了定量評估,前者在LIDC兩個數據集上的重合率分別為0.66和0.64,后者在LIDC兩個數據集上的重合率分別為0.69和0.63。 然而,由于臨床上對肺結節的邊緣缺少定量描述,即使放射科醫生也無法準確判斷肺結節的邊緣,表現為多個放射科醫生或者同一放射科醫生在不同時間對同一個肺結節的人工分割結果也不能達成一致,因此沒有可靠的二值金標準來指導二值分割。同樣地,LIDC公共數據集雖然提供了多名放射科醫生的人工分割結果,但解析注釋文件后直接得到的只是一個概率圖,對概率圖取閾值才能得到二值分割結果,這個閾值的選擇對最終的結果有顯著的影響。 因此,Zinoveva等[6]提出一個基于紋理特征的概率分割方法,該方法提取了圖像的灰度特征和紋理特征,并使用訓練集數據生成決策樹,然后對整個數據集進行分類,其得到的分割結果是一個概率圖像,將該概率圖與相應的人工分割得到的概率圖進行比較即可評估算法的性能。但是該方法提取的灰度和紋理特征是基于單張圖像的,即只考慮x,y方向上的鄰域體素,沒有考慮z方向。本文將考慮x,y,z三維空間中的鄰域體素,通過提取圖像的三維灰度和紋理特征對肺結節進行概率分割,以期得到更好的分割結果。
1 材料和方法
1.1 預處理
本實驗用到的數據來自LIDC的第二個數據集,該數據集中的每個CT掃描都有一個 .xml格式的注釋文件,這個文件包含了部分CT掃描參數信息以及4位放射科醫生讀片的評注:如果該肺結節直徑≥3 mm,則會有醫生繪制的肺結節輪廓的坐標值;而對直徑<3 mm的小結節則只給出了中心點坐標。因此,本實驗中只考慮直徑≥3 mm的結節,以便對本文分割算法的準確度進行評價。
通過解析 .xml注釋文件可以得到4位放射科醫生手動分割肺結節的結果,進而生成概率圖。圖 1給出了生成概率圖的過程,其中第一行為原圖像,第二行為4位放射學專家標記的結節輪廓,第三行為概率圖。
在概率圖中,每個體素點的取值是該體素屬于肺結節的概率值。由于每個結節最多有4位放射科醫生繪制輪廓,概率圖有5種可能的取值(0、0.25、0.5、0.75、1)(見圖 2),分別對應0、1、2、3、4位放射科醫生將該體素歸入結節區域。根據概率圖的值,將LIDC第二個數據集中的體素分為5類,分別以概率值0、0.25、0.5、0.75和1來表示。


肺結節概率分割是在一個局部感興趣區域(region of interest,ROI)內進行的,這個三維ROI可以通過初始結節檢測算法自動確定,也可以人工交互選取。這里人工給出肺結節的中心點c和可能的最大直徑r,以c為中心、2r為邊長的正方體即為三維ROI。為了提取圖像中體素的三維特征,同時避免插值算法帶來的誤差,我們選擇LIDC數據集中層距取值在0.5~0.75 mm范圍內的病例圖片,像素間距的平均值為0.656 1 mm,層距平均值為0.638 5 mm,從而近似等方性。實驗數據中包含的肺結節其直徑取值范圍為6.64~22.08 mm,平均直徑10.38 mm。
肺結節概率分割算法的具體步驟為:首先對ROI內的每個體素進行三維特征提取,得到每個體素的特征向量;然后根據特征向量進行體素分類;最后對分類結果進行后處理得到最終的分割結果。
1.2 特征提取
特征提取的對象為ROI內的體素以及其鄰域的體素,鄰域窗口大小的確定是個難題,過大的窗口容易包含多余的異類對象信息,過小的窗口不能得到有效的紋理統計。因為要分割的肺結節直徑≥3 mm,這里采用5×5×5的窗口,避免小的肺結節因為鄰域中背景體素的影響而被完全淹沒。
灰度是區分肺結節和周圍組織的最直觀的特征。為了引入局部信息,還計算了每個體素點的5×5×5鄰域的灰度平均值、最小值、最大值和標準差。單純的依靠灰度特征很難將它們區分開來。因此,還需要計算體素的紋理特征:
1.2.1 灰度共生矩陣
由于病理狀態的復雜性和多樣性,醫學圖像的紋理信息及重復性往往只是統計學上的意義,因此醫學圖像紋理信息提取大都采用基于統計的紋理分析方法。實踐證明,灰度共生矩陣在基于統計的紋理分析方法中具有旺盛的生命力。
Tsai等[7]給出了三維灰度共生矩陣計算方法:對于一個灰度級為L的CT序列圖像G,灰度共生矩陣M是一個L×L的矩陣。矩陣中元素的取值為
$M\left( i,j \right)=\sum\limits_{z=1}^{{{W}_{z}}-{{d}_{z}}}{\sum\limits_{x=1}^{{{W}_{x}}-{{d}_{x}}}{\sum\limits_{y=1}^{{{W}_{y}}-{{d}_{y}}}{CONDITION}}}~$ |
其中W為移動窗口,(dx,dy,dz)為偏移向量。
三維灰度共生矩陣中的元素值為一個移動窗口內,G(x,y,z)取值為i,G(x+dx,y+dy,z+dz)取值為j的次數。本文將采用歸一化的共生矩陣m(i,j)=M(i,j)/R進行相關計算,其中R為歸一化常數。理論上,(dx,dy,dz)可以有很多取值,這里選擇(1,0,0)、(0,1,0)、(0,0,1)和4個對角線的方向(1,1,1)、(-1,1,1)、(-1,-1,1)、(1,-1,1)。
灰度共生矩陣不能直接用于描述圖像的紋理特征,所以Haralick等[8]定義了14個統計量來度量它所反映的紋理特征。由GLCM提取的紋理特征具有較好的鑒別能力,但是當灰度級L較大且要提取14個統計量時,計算會很耗時。肺結節CT圖像的灰度級可以達到兩千多,因此需要減少圖像的灰度級(如壓縮成0~255)來降低計算量。另外,Ulaby等[9]研究發現在GLCM導出的14個統計量中,只有4個統計量(逆差矩、相關性、角二階矩、對比度)是不相關的,這4個特征計算方便且能給出較高的分類精度;通過分析GLCM的計算問題,文獻[10]得到三個不相關且分辨力最好的特征(對比度、相關性和熵)。本實驗中采用了逆差矩、相關性、角二階矩、對比度和熵5個統計量。
1.2.2 局部二值模式
局部二值模式(local binary pattern,LBP)因計算復雜度小并具有旋轉不變性和多尺度特性而廣泛應用于紋理特征描述。LBP是基于非參數模型的紋理表示。本研究中用到的LBP編碼以5×5×5的鄰域結構為基礎,進行中心像素點的編碼。本研究中共使用了4個模板,圖 3給出了距離中心點像素距離為1和2的模板,類推可得到距離為2和22的模板。

編碼思路為:以所考慮的中心像素的灰度值為參考,與中心像素相隔一定距離(1、2、2和22個像素)上等間隔的像素點的灰度值與參考值進行比較,得到一組二進制數作為中心像素的二值模式,通過求加權和得到一個編碼值,距離為1(與距離為2的權值相同)和2(與距離為22的權值相同)的二值模式權值在圖 3上標出。
綜上所述,本實驗共提取了體素的44個三維特征,包含5個灰度特征、35個共生矩陣的統計量以及4個LBP編碼值。在后續的分類器訓練中,將會根據每個特征對分類貢獻的大小進行篩選,以剔除貢獻很小的特征,降低計算量。
1.3 體素分類
特征提取后,需要對ROI內的體素進行分類,以實現肺結節的概率分割。分類的方法有很多,常用的有判別分析、決策樹等。判別分析是一種統計學方法,它根據已知對象的某些觀測指標和所屬類別來推斷未知對象的所屬類別;通過對訓練集數據進行判別分析可以獲得判別函數和判別準則,用得到的判別函數和判別準則即可對未知類別的體素進行分類。分類回歸樹是一種決策樹生成算法,它把數據分到因變量取值盡可能一致的分支;在訓練集數據上使用分類回歸樹算法生成決策樹模型,就可以根據得到的決策樹模型對體素點進行分類。
本實驗分別采用線性判別函數和決策樹模型對體素進行分類,并通過比較選出較好的分類方法用于本文提出的肺結節概率分割算法。
1.4 后處理
經過體素分類后得到的結節候選區域中,可能還包含一些與結節體素特征類似的背景體素,這些體素跟結節區域是不連通的。因此,本文采用三維區域生長算法來去除這些背景體素的干擾,以得到更好的分割結果,將從ROI的中心點向周圍搜尋到的第一個非0點作為種子點,所考察體素的取值大于0即加入當前區域。圖 4顯示了應用方法分割肺結節的過程,圖 4(a)是三維ROI中的一層圖像。經過體素分類后,得到圖 4(c)所示的分割結果,其中白色代表概率為1的肺結節區域,灰色代表概率為0.25、0.5以及0.75的體素,黑色標記的是背景體素。在圖 4(b)是手動分割得到的概率圖。經過區域生長,得到最終的分割結果見圖 4(d),可以看到圖 4 (c)中被標記出的散在的背景體素被去除了。

(a)感興趣區域;(b)手動分割結果;(c)體素分類的分割結果;(d)區域生長后的最終分割結果
Figure4. Probability segmentation of lung nodule(a) ROI; (b) manual segmentation result; (c) segmentation result with pixel classification; (d) the final segmentation result after region growing
2 實驗結果
實驗中通常采用隨機選取的方式來獲得訓練集數據,為了避免某類體素的數據(比如概率圖上取值為1的體素)沒有被選到,對隨機挑選進行了限制,具體為:每類體素都選出一定比例(比如5%)的數據加入訓練集,類內單個體素數據的挑選隨機。本實驗共有50個ROI,包含416 502個體素,最終選取了19 480個體素點,對這些體素點提取了44個三維特征。下面將這19 480個體素點的特征向量和所屬類別信息作為訓練集數據,使用軟件SPSS 16.0進行判別分析和生成決策樹。
使用本節提出的肺結節概率分割算法對實驗數據集中的50個肺結節進行了分割,部分分割結果如圖 5所示。

(a)原圖像;(b)手動分割概率圖;(c)判別分析法分類的概率圖;(d)決策樹分類的概率圖
Figure5. Image segmentation of some kinds of lung nodules(a) original image; (b) manual segmentation probability map; (c) probability map with judging classification; (d) probability map with decision classification
由于LIDC公共數據集中非實質性肺結節數量很少,在本實驗所用的50個肺結節中只有一個非實質性肺結節,因此在分類器的訓練中缺少非實質性肺結節的體素樣本,從而導致圖 5中顯示的分割結果較差。
為了對分割結果進行定量評價,采用文獻[6]中的軟重合率(soft overlap,SO)作為概率分割結果的評價指標,該SO定義為
$SO=\frac{{{\Sigma }_{(x,y,z)}}min\left( RP\left( x,y,z \right),CP\left( x,y,z \right) \right)}{{{\Sigma }_{(x,y,z)}}max\left( RP\left( x,y,z \right),CP\left( x,y,z \right) \right)}~$ |
其中RP(x,y,z)為手動分割肺結節得到的概率圖上(x,y,z)點的值,CP(x,y,z)為自動分割肺結節得到的概率圖上(x,y,z)的值。僅依靠SO這個指標并不能全面地評價算法,但是目前肺結節概率分割算法較少,缺少這方面的評價指標。因此,作為補充,本實驗同時計算了式(3)、(4)所定義的重疊率(Overlap 1、Overlap 2)和式(5)所定義的錯誤體積百分比(Verr),具體做法為:首先對手動分割結果和自動分割結果都進行閾值處理,大于0.5的像素取值為1,其它的為0,從而獲得二值分割結果;然后對二值分割結果根據式(3)、(4)和式(5)計算其Overlap 1、Overlap 2和Verr。表 1是肺結節概率分割結果的匯總表,列出了實驗中各個類型肺結節的數量以及對應的SO、Overlap 1、Overlap 2和Verr,除數量外其余的數值均為平均值。
Overlap 1定義為
$Overlap~1=\frac{{{V}_{S}}\cap {{V}_{G}}}{\frac{1}{2}({{V}_{S}}+{{V}_{G}})}$ |
Overlap 2的另外一種定義,即
$Overlap~2=\frac{{{V}_{S}}\cap {{V}_{G}}}{{{V}_{S}}\cup {{V}_{G}}}$ |
Verr定義為
${{V}_{err}}=\frac{{{V}_{S}}-{{V}_{G}}}{{{V}_{G}}}$ |
評價標準中涉及的區域VS∩VG和VS∪VG如圖 6所示。
從表 1可以看出:


(1)使用決策樹模型對體素進行分類得到的分割結果優于使用線性判別函數得到的結果,所以選擇決策樹模型作為本文肺結節概率分割算法的分類方法;使用線性判別函數得到的結果較差是由以下兩個原因造成的:一是在特征選取的過程中采用逐步判別,假設各類別的先驗概率相等;二是在求解線性判別函數的過程中,采用的是fisher線性判別,即依據組間均方差與組內均方差之比最大的原則來進行判別,其前提是假設不同類別在模式空間是線性可分的。
(2)在表中所列的三種類型的肺結節中,粘連胸膜型肺結節的分割效果最差,表現為Verr為46.42%。這是因為有些肺壁區域在灰度和紋理上都跟肺結節非常類似,導致這些肺壁區域被歸類為肺結節區域(見圖 7)。

3 討論
本文提出的方法是根據三維灰度和紋理特征使用決策樹模型進行分類的肺結節概率分割算法。在已經發表的文獻中,馬建國[5]、Wang等[4]和Zinoveva等[6]提出的分割算法利用LIDC提供的第二個數據集對分割算法的性能進行了評估。
Wang等使用LIDC數據集對分割算法的性能進行了評估,采用Overlap 2作為評價指標,第二個數據集的Overlap 2平均值為64%,略低于使用本文方法得到的分割結果65.61%。馬建國采用Overlap 1、Overlap 2和Verr作為分割性能的評價指標,在LIDC數據集上進行了實驗,第二個數據集的Overlap 1平均值為74%,Overlap 2平均值為63%,Verr平均值為21%。本文方法得到的分割結果:Overlap 1平均值為79.69%,Overlap 2平均值為65.61%,Verr平均值為24.74%。馬建國和Wang等所用的電腦CPU主頻均為3.0 GHz,用Wang等的方法分割一個肺結節所用的平均時間為13 s,不包括選取ROI中心所用的時間;用馬建國的方法分割一個肺結節所用的平均時間為12.5 s;本實驗所用的電腦CPU主頻為2.33 GHz,分割一個肺結節所用的平均時間僅為9.4 s,該平均時間是指包括ROI圖像讀取、肺結節分割、分割結果儲存和分割算法性能評估所用的總時間。可以看出,本文方法用較少的時間得到了較好的分割結果。
Zinoveva等通過提取圖像的二維灰度特征和紋理特征對肺結節進行概率分割,在39個肺結節數據上進行了實驗,得到SO為52%,其所使用的紋理特征來自Gabor濾波和Markov隨機場,其中Markov隨機場屬于有參紋理模型,需要額外的肺結節數據去選擇合適的參數,所選參數與算法的效果密切相關;本文提出的概率分割算法使用了無參的紋理描述包括灰度共生矩陣和局部二值模式,不需要額外的肺結節數據對參數進行選擇,應用本文方法分割50個肺結節得到SO為62.10%,優于Zinoveva等的分割結果。
實驗結果表明使用決策樹模型對體素進行分類得到的分割結果優于使用線性判別函數得到的結果。通過與其他方法的比較發現通過提取肺結節的三維灰度和紋理特征對其進行概率分割是有效的。
引言
目前文獻報道的肺結節分割算法多為二值分割,即將圖像明確地劃分為肺結節區域和非結節區域。這些分割算法因為評估方法的不同,往往很難比較其有效性。例如Xu等[1]使用動態規劃方法分割肺結節,但并沒有在任何數據集上評估算法的準確性;Dehmeshki等[2]使用區域生長和模糊連通分割肺結節,由放射科醫生主觀判斷分割結果的好壞,缺少對分割方法的客觀定量分析;文獻[3]提出了基于區域生長的自適應形態分割算法,在個人數據集上對算法進行了驗證,將分割結果與專家人工分割結果進行了比較;Wang等[4]提出基于螺旋掃描技術的肺結節分割方法,文獻[5]利用三維活動輪廓分割肺結節,以上兩個文獻都在肺部圖像數據庫聯盟組織(Lung Imaging Database Consortium,LIDC)公共數據集上進行了定量評估,前者在LIDC兩個數據集上的重合率分別為0.66和0.64,后者在LIDC兩個數據集上的重合率分別為0.69和0.63。 然而,由于臨床上對肺結節的邊緣缺少定量描述,即使放射科醫生也無法準確判斷肺結節的邊緣,表現為多個放射科醫生或者同一放射科醫生在不同時間對同一個肺結節的人工分割結果也不能達成一致,因此沒有可靠的二值金標準來指導二值分割。同樣地,LIDC公共數據集雖然提供了多名放射科醫生的人工分割結果,但解析注釋文件后直接得到的只是一個概率圖,對概率圖取閾值才能得到二值分割結果,這個閾值的選擇對最終的結果有顯著的影響。 因此,Zinoveva等[6]提出一個基于紋理特征的概率分割方法,該方法提取了圖像的灰度特征和紋理特征,并使用訓練集數據生成決策樹,然后對整個數據集進行分類,其得到的分割結果是一個概率圖像,將該概率圖與相應的人工分割得到的概率圖進行比較即可評估算法的性能。但是該方法提取的灰度和紋理特征是基于單張圖像的,即只考慮x,y方向上的鄰域體素,沒有考慮z方向。本文將考慮x,y,z三維空間中的鄰域體素,通過提取圖像的三維灰度和紋理特征對肺結節進行概率分割,以期得到更好的分割結果。
1 材料和方法
1.1 預處理
本實驗用到的數據來自LIDC的第二個數據集,該數據集中的每個CT掃描都有一個 .xml格式的注釋文件,這個文件包含了部分CT掃描參數信息以及4位放射科醫生讀片的評注:如果該肺結節直徑≥3 mm,則會有醫生繪制的肺結節輪廓的坐標值;而對直徑<3 mm的小結節則只給出了中心點坐標。因此,本實驗中只考慮直徑≥3 mm的結節,以便對本文分割算法的準確度進行評價。
通過解析 .xml注釋文件可以得到4位放射科醫生手動分割肺結節的結果,進而生成概率圖。圖 1給出了生成概率圖的過程,其中第一行為原圖像,第二行為4位放射學專家標記的結節輪廓,第三行為概率圖。
在概率圖中,每個體素點的取值是該體素屬于肺結節的概率值。由于每個結節最多有4位放射科醫生繪制輪廓,概率圖有5種可能的取值(0、0.25、0.5、0.75、1)(見圖 2),分別對應0、1、2、3、4位放射科醫生將該體素歸入結節區域。根據概率圖的值,將LIDC第二個數據集中的體素分為5類,分別以概率值0、0.25、0.5、0.75和1來表示。


肺結節概率分割是在一個局部感興趣區域(region of interest,ROI)內進行的,這個三維ROI可以通過初始結節檢測算法自動確定,也可以人工交互選取。這里人工給出肺結節的中心點c和可能的最大直徑r,以c為中心、2r為邊長的正方體即為三維ROI。為了提取圖像中體素的三維特征,同時避免插值算法帶來的誤差,我們選擇LIDC數據集中層距取值在0.5~0.75 mm范圍內的病例圖片,像素間距的平均值為0.656 1 mm,層距平均值為0.638 5 mm,從而近似等方性。實驗數據中包含的肺結節其直徑取值范圍為6.64~22.08 mm,平均直徑10.38 mm。
肺結節概率分割算法的具體步驟為:首先對ROI內的每個體素進行三維特征提取,得到每個體素的特征向量;然后根據特征向量進行體素分類;最后對分類結果進行后處理得到最終的分割結果。
1.2 特征提取
特征提取的對象為ROI內的體素以及其鄰域的體素,鄰域窗口大小的確定是個難題,過大的窗口容易包含多余的異類對象信息,過小的窗口不能得到有效的紋理統計。因為要分割的肺結節直徑≥3 mm,這里采用5×5×5的窗口,避免小的肺結節因為鄰域中背景體素的影響而被完全淹沒。
灰度是區分肺結節和周圍組織的最直觀的特征。為了引入局部信息,還計算了每個體素點的5×5×5鄰域的灰度平均值、最小值、最大值和標準差。單純的依靠灰度特征很難將它們區分開來。因此,還需要計算體素的紋理特征:
1.2.1 灰度共生矩陣
由于病理狀態的復雜性和多樣性,醫學圖像的紋理信息及重復性往往只是統計學上的意義,因此醫學圖像紋理信息提取大都采用基于統計的紋理分析方法。實踐證明,灰度共生矩陣在基于統計的紋理分析方法中具有旺盛的生命力。
Tsai等[7]給出了三維灰度共生矩陣計算方法:對于一個灰度級為L的CT序列圖像G,灰度共生矩陣M是一個L×L的矩陣。矩陣中元素的取值為
$M\left( i,j \right)=\sum\limits_{z=1}^{{{W}_{z}}-{{d}_{z}}}{\sum\limits_{x=1}^{{{W}_{x}}-{{d}_{x}}}{\sum\limits_{y=1}^{{{W}_{y}}-{{d}_{y}}}{CONDITION}}}~$ |
其中W為移動窗口,(dx,dy,dz)為偏移向量。
三維灰度共生矩陣中的元素值為一個移動窗口內,G(x,y,z)取值為i,G(x+dx,y+dy,z+dz)取值為j的次數。本文將采用歸一化的共生矩陣m(i,j)=M(i,j)/R進行相關計算,其中R為歸一化常數。理論上,(dx,dy,dz)可以有很多取值,這里選擇(1,0,0)、(0,1,0)、(0,0,1)和4個對角線的方向(1,1,1)、(-1,1,1)、(-1,-1,1)、(1,-1,1)。
灰度共生矩陣不能直接用于描述圖像的紋理特征,所以Haralick等[8]定義了14個統計量來度量它所反映的紋理特征。由GLCM提取的紋理特征具有較好的鑒別能力,但是當灰度級L較大且要提取14個統計量時,計算會很耗時。肺結節CT圖像的灰度級可以達到兩千多,因此需要減少圖像的灰度級(如壓縮成0~255)來降低計算量。另外,Ulaby等[9]研究發現在GLCM導出的14個統計量中,只有4個統計量(逆差矩、相關性、角二階矩、對比度)是不相關的,這4個特征計算方便且能給出較高的分類精度;通過分析GLCM的計算問題,文獻[10]得到三個不相關且分辨力最好的特征(對比度、相關性和熵)。本實驗中采用了逆差矩、相關性、角二階矩、對比度和熵5個統計量。
1.2.2 局部二值模式
局部二值模式(local binary pattern,LBP)因計算復雜度小并具有旋轉不變性和多尺度特性而廣泛應用于紋理特征描述。LBP是基于非參數模型的紋理表示。本研究中用到的LBP編碼以5×5×5的鄰域結構為基礎,進行中心像素點的編碼。本研究中共使用了4個模板,圖 3給出了距離中心點像素距離為1和2的模板,類推可得到距離為2和22的模板。

編碼思路為:以所考慮的中心像素的灰度值為參考,與中心像素相隔一定距離(1、2、2和22個像素)上等間隔的像素點的灰度值與參考值進行比較,得到一組二進制數作為中心像素的二值模式,通過求加權和得到一個編碼值,距離為1(與距離為2的權值相同)和2(與距離為22的權值相同)的二值模式權值在圖 3上標出。
綜上所述,本實驗共提取了體素的44個三維特征,包含5個灰度特征、35個共生矩陣的統計量以及4個LBP編碼值。在后續的分類器訓練中,將會根據每個特征對分類貢獻的大小進行篩選,以剔除貢獻很小的特征,降低計算量。
1.3 體素分類
特征提取后,需要對ROI內的體素進行分類,以實現肺結節的概率分割。分類的方法有很多,常用的有判別分析、決策樹等。判別分析是一種統計學方法,它根據已知對象的某些觀測指標和所屬類別來推斷未知對象的所屬類別;通過對訓練集數據進行判別分析可以獲得判別函數和判別準則,用得到的判別函數和判別準則即可對未知類別的體素進行分類。分類回歸樹是一種決策樹生成算法,它把數據分到因變量取值盡可能一致的分支;在訓練集數據上使用分類回歸樹算法生成決策樹模型,就可以根據得到的決策樹模型對體素點進行分類。
本實驗分別采用線性判別函數和決策樹模型對體素進行分類,并通過比較選出較好的分類方法用于本文提出的肺結節概率分割算法。
1.4 后處理
經過體素分類后得到的結節候選區域中,可能還包含一些與結節體素特征類似的背景體素,這些體素跟結節區域是不連通的。因此,本文采用三維區域生長算法來去除這些背景體素的干擾,以得到更好的分割結果,將從ROI的中心點向周圍搜尋到的第一個非0點作為種子點,所考察體素的取值大于0即加入當前區域。圖 4顯示了應用方法分割肺結節的過程,圖 4(a)是三維ROI中的一層圖像。經過體素分類后,得到圖 4(c)所示的分割結果,其中白色代表概率為1的肺結節區域,灰色代表概率為0.25、0.5以及0.75的體素,黑色標記的是背景體素。在圖 4(b)是手動分割得到的概率圖。經過區域生長,得到最終的分割結果見圖 4(d),可以看到圖 4 (c)中被標記出的散在的背景體素被去除了。

(a)感興趣區域;(b)手動分割結果;(c)體素分類的分割結果;(d)區域生長后的最終分割結果
Figure4. Probability segmentation of lung nodule(a) ROI; (b) manual segmentation result; (c) segmentation result with pixel classification; (d) the final segmentation result after region growing
2 實驗結果
實驗中通常采用隨機選取的方式來獲得訓練集數據,為了避免某類體素的數據(比如概率圖上取值為1的體素)沒有被選到,對隨機挑選進行了限制,具體為:每類體素都選出一定比例(比如5%)的數據加入訓練集,類內單個體素數據的挑選隨機。本實驗共有50個ROI,包含416 502個體素,最終選取了19 480個體素點,對這些體素點提取了44個三維特征。下面將這19 480個體素點的特征向量和所屬類別信息作為訓練集數據,使用軟件SPSS 16.0進行判別分析和生成決策樹。
使用本節提出的肺結節概率分割算法對實驗數據集中的50個肺結節進行了分割,部分分割結果如圖 5所示。

(a)原圖像;(b)手動分割概率圖;(c)判別分析法分類的概率圖;(d)決策樹分類的概率圖
Figure5. Image segmentation of some kinds of lung nodules(a) original image; (b) manual segmentation probability map; (c) probability map with judging classification; (d) probability map with decision classification
由于LIDC公共數據集中非實質性肺結節數量很少,在本實驗所用的50個肺結節中只有一個非實質性肺結節,因此在分類器的訓練中缺少非實質性肺結節的體素樣本,從而導致圖 5中顯示的分割結果較差。
為了對分割結果進行定量評價,采用文獻[6]中的軟重合率(soft overlap,SO)作為概率分割結果的評價指標,該SO定義為
$SO=\frac{{{\Sigma }_{(x,y,z)}}min\left( RP\left( x,y,z \right),CP\left( x,y,z \right) \right)}{{{\Sigma }_{(x,y,z)}}max\left( RP\left( x,y,z \right),CP\left( x,y,z \right) \right)}~$ |
其中RP(x,y,z)為手動分割肺結節得到的概率圖上(x,y,z)點的值,CP(x,y,z)為自動分割肺結節得到的概率圖上(x,y,z)的值。僅依靠SO這個指標并不能全面地評價算法,但是目前肺結節概率分割算法較少,缺少這方面的評價指標。因此,作為補充,本實驗同時計算了式(3)、(4)所定義的重疊率(Overlap 1、Overlap 2)和式(5)所定義的錯誤體積百分比(Verr),具體做法為:首先對手動分割結果和自動分割結果都進行閾值處理,大于0.5的像素取值為1,其它的為0,從而獲得二值分割結果;然后對二值分割結果根據式(3)、(4)和式(5)計算其Overlap 1、Overlap 2和Verr。表 1是肺結節概率分割結果的匯總表,列出了實驗中各個類型肺結節的數量以及對應的SO、Overlap 1、Overlap 2和Verr,除數量外其余的數值均為平均值。
Overlap 1定義為
$Overlap~1=\frac{{{V}_{S}}\cap {{V}_{G}}}{\frac{1}{2}({{V}_{S}}+{{V}_{G}})}$ |
Overlap 2的另外一種定義,即
$Overlap~2=\frac{{{V}_{S}}\cap {{V}_{G}}}{{{V}_{S}}\cup {{V}_{G}}}$ |
Verr定義為
${{V}_{err}}=\frac{{{V}_{S}}-{{V}_{G}}}{{{V}_{G}}}$ |
評價標準中涉及的區域VS∩VG和VS∪VG如圖 6所示。
從表 1可以看出:


(1)使用決策樹模型對體素進行分類得到的分割結果優于使用線性判別函數得到的結果,所以選擇決策樹模型作為本文肺結節概率分割算法的分類方法;使用線性判別函數得到的結果較差是由以下兩個原因造成的:一是在特征選取的過程中采用逐步判別,假設各類別的先驗概率相等;二是在求解線性判別函數的過程中,采用的是fisher線性判別,即依據組間均方差與組內均方差之比最大的原則來進行判別,其前提是假設不同類別在模式空間是線性可分的。
(2)在表中所列的三種類型的肺結節中,粘連胸膜型肺結節的分割效果最差,表現為Verr為46.42%。這是因為有些肺壁區域在灰度和紋理上都跟肺結節非常類似,導致這些肺壁區域被歸類為肺結節區域(見圖 7)。

3 討論
本文提出的方法是根據三維灰度和紋理特征使用決策樹模型進行分類的肺結節概率分割算法。在已經發表的文獻中,馬建國[5]、Wang等[4]和Zinoveva等[6]提出的分割算法利用LIDC提供的第二個數據集對分割算法的性能進行了評估。
Wang等使用LIDC數據集對分割算法的性能進行了評估,采用Overlap 2作為評價指標,第二個數據集的Overlap 2平均值為64%,略低于使用本文方法得到的分割結果65.61%。馬建國采用Overlap 1、Overlap 2和Verr作為分割性能的評價指標,在LIDC數據集上進行了實驗,第二個數據集的Overlap 1平均值為74%,Overlap 2平均值為63%,Verr平均值為21%。本文方法得到的分割結果:Overlap 1平均值為79.69%,Overlap 2平均值為65.61%,Verr平均值為24.74%。馬建國和Wang等所用的電腦CPU主頻均為3.0 GHz,用Wang等的方法分割一個肺結節所用的平均時間為13 s,不包括選取ROI中心所用的時間;用馬建國的方法分割一個肺結節所用的平均時間為12.5 s;本實驗所用的電腦CPU主頻為2.33 GHz,分割一個肺結節所用的平均時間僅為9.4 s,該平均時間是指包括ROI圖像讀取、肺結節分割、分割結果儲存和分割算法性能評估所用的總時間。可以看出,本文方法用較少的時間得到了較好的分割結果。
Zinoveva等通過提取圖像的二維灰度特征和紋理特征對肺結節進行概率分割,在39個肺結節數據上進行了實驗,得到SO為52%,其所使用的紋理特征來自Gabor濾波和Markov隨機場,其中Markov隨機場屬于有參紋理模型,需要額外的肺結節數據去選擇合適的參數,所選參數與算法的效果密切相關;本文提出的概率分割算法使用了無參的紋理描述包括灰度共生矩陣和局部二值模式,不需要額外的肺結節數據對參數進行選擇,應用本文方法分割50個肺結節得到SO為62.10%,優于Zinoveva等的分割結果。
實驗結果表明使用決策樹模型對體素進行分類得到的分割結果優于使用線性判別函數得到的結果。通過與其他方法的比較發現通過提取肺結節的三維灰度和紋理特征對其進行概率分割是有效的。