本發(fā)明屬于圖像處理和醫(yī)學(xué)結(jié)合領(lǐng)域,具體涉及一種基于CT圖像的肺結(jié)節(jié)良性惡性分類方法,我們分別提取基于深度卷積神經(jīng)網(wǎng)絡(luò)的特征和描述肺結(jié)節(jié)紋理和形狀的視覺特征。對(duì)這三種不同的特征分別訓(xùn)練三個(gè)分類器,將所有分類器的結(jié)果進(jìn)行加權(quán)平均得到最終的分類結(jié)果,實(shí)現(xiàn)基于CT圖像的肺結(jié)節(jié)分類方法的創(chuàng)新。
背景技術(shù):
基于CT圖像的肺結(jié)節(jié)分類一般可分為三部分:肺結(jié)節(jié)分割、特征提取以及肺結(jié)節(jié)的分類。肺結(jié)節(jié)分割是根據(jù)專家標(biāo)記的結(jié)節(jié)的坐標(biāo),在CT圖像中將對(duì)應(yīng)位置的結(jié)節(jié)進(jìn)行分割,從CT圖像中提取出來。特征提取則是進(jìn)一步將分割得到的結(jié)節(jié)圖像轉(zhuǎn)化為一組便于后續(xù)處理的數(shù)值特征。被用來進(jìn)行肺結(jié)節(jié)分類的特征主要可分為兩大類:手動(dòng)提取的視覺特征和通過深度神經(jīng)網(wǎng)絡(luò)提取的深度特征。由于肺結(jié)節(jié)的惡性度與其灰度值的異質(zhì)性和形狀密切相關(guān),因此視覺特征通??煞譃榧y理特征和形狀特征。其中最常用的是基于灰度共生矩陣(Gray Level Co-Occurrence Matrix,GLCM)的紋理特征和基于傅里葉描述子(Fourier Descriptor,F(xiàn)D)的形狀特征。近年來,隨著深度學(xué)習(xí)技術(shù)的飛速發(fā)展,越來越多的學(xué)者們致力于將基于深度神經(jīng)網(wǎng)絡(luò)的深度特征作為研究的重點(diǎn)。深度神經(jīng)網(wǎng)絡(luò)將特征提取和分類集成在一個(gè)統(tǒng)一的網(wǎng)絡(luò)結(jié)構(gòu)中。在所有的深度神經(jīng)網(wǎng)絡(luò)中,深度卷積神經(jīng)網(wǎng)絡(luò)是最流行的網(wǎng)絡(luò),通過海量數(shù)據(jù)的訓(xùn)練,我們可以自動(dòng)地學(xué)習(xí)到更有高區(qū)分能力的特征。肺結(jié)節(jié)分類則是將提取的各類特征進(jìn)行綜合后,選擇合適的分類器,從而將結(jié)節(jié)分為良性和惡性兩類。常用的分類器有支持向量機(jī),決策樹,反向傳播神經(jīng)網(wǎng)絡(luò)(BPNN),Adaboost,隨機(jī)森林。
通常來說,對(duì)于一個(gè)給定的肺結(jié)節(jié)圖像,分類的性能與描其特征述的方式高度相關(guān)。而一個(gè)特定的特征,例如形狀特征,紋理特征只可以表現(xiàn)肺結(jié)節(jié)一個(gè)方面的特性,因此使用單個(gè)特征會(huì)嚴(yán)重的影響肺結(jié)節(jié)的分類效果。為了有效改善這種問題,信息融合的方法被提出來。信息融合通常可分為數(shù)據(jù)層融合,特征層融合,決策層融合。由于本發(fā)明中數(shù)據(jù)的來源只有LIDC-IDRI數(shù)據(jù)庫(kù),因此不考慮數(shù)據(jù)層融合。而在本發(fā)明中,當(dāng)我們進(jìn)行特征層融合時(shí),一個(gè)特征可能會(huì)受其他特征的影響,進(jìn)而這些特征的空間分布都會(huì)發(fā)生改變,這些改變會(huì)導(dǎo)致差的分類性能。決策層融合只對(duì)分類的結(jié)果進(jìn)行融合,可以有效地避免特征層融合之后特征空間分布的改變。
技術(shù)實(shí)現(xiàn)要素:
要解決的技術(shù)問題
為了避免現(xiàn)有技術(shù)的不足之處,本發(fā)明提出一種基于深層模型和淺層模型決策融合的肺結(jié)節(jié)CT圖像自動(dòng)。
技術(shù)方案
一種基于深層模型和淺層模型決策融合的肺結(jié)節(jié)CT圖像自動(dòng)分類方法,其特征在于步驟如下:
步驟1:在每一個(gè)包含肺結(jié)節(jié)的CT切片上提取能包含肺結(jié)節(jié)完整信息的最大外接正方形子塊,采用最鄰近插值算法將圖像子塊的尺寸調(diào)整統(tǒng)一;
步驟2:采用步驟1中的調(diào)整尺寸的圖像子塊來訓(xùn)練深度卷積神經(jīng)網(wǎng)絡(luò),所述的深度卷積神經(jīng)網(wǎng)絡(luò)包括9個(gè)子層:
第一層:輸入層;
第二層:C1層是第一個(gè)卷積層;
第三層:P2層是第一個(gè)池化層;
第四層:C3層是第二個(gè)卷積層;
第五層:P4層是第二個(gè)池化層;
第六層:C5層是第三個(gè)卷積層;
第七層:P6層是第三個(gè)池化層;
第八層:F7是一個(gè)全連接層;
第九層:F8包含2個(gè)經(jīng)元節(jié)點(diǎn),輸出的兩個(gè)值分別表示兩個(gè)類別可能性的一個(gè)度量;最后是一個(gè)Softmax層,用來處理上一層的輸出,得出最后的分類結(jié)果;
當(dāng)網(wǎng)絡(luò)訓(xùn)練至收斂后,提取第七層網(wǎng)絡(luò)輸出的a維向量作為輸入圖像子塊的深層特征;
步驟3:在0°、45°、90°、135°四個(gè)方向分別計(jì)算步驟1中未調(diào)整尺寸的圖像子塊中相距為1的兩個(gè)灰度像素同時(shí)出現(xiàn)的頻數(shù),得到4個(gè)方向上的4個(gè)灰度共生矩陣;對(duì)每個(gè)灰度共生矩陣,分別求對(duì)比度、相關(guān)性、能量、逆差矩4個(gè)特征,然后將求得的每個(gè)灰度共生矩陣的4個(gè)特征值級(jí)聯(lián)起來,得到紋理特征;
步驟4:找到形狀圖像中肺結(jié)節(jié)形狀區(qū)域的重心坐標(biāo),沿著結(jié)節(jié)邊緣依次移動(dòng)一個(gè)點(diǎn),繪制出移動(dòng)點(diǎn)到重心之間的測(cè)地距離的曲線,將該曲線進(jìn)行傅里葉變換,選擇傅里葉變換后的前b個(gè)低頻系數(shù)組成二維傅里葉描述子形狀特征;
步驟5:將步驟2提取的深層特征、步驟3提取的紋理特征和步驟4提取的形狀特征分別分為訓(xùn)練集樣本和驗(yàn)證集樣本,對(duì)訓(xùn)練集樣本分別訓(xùn)練三個(gè)不同的Adaboost-BPNN分類器;所述的Adaboost-BPNN分類器包含T個(gè)BPNN分類器,每個(gè)BPNN分類器都是由一個(gè)輸入層,一個(gè)隱層,一個(gè)輸出層組成,輸入層的結(jié)點(diǎn)數(shù)目即等于輸入特征的維數(shù),隱層的結(jié)點(diǎn)Nodes=log(D),其中D是輸入層結(jié)點(diǎn)的數(shù)目,輸出結(jié)點(diǎn)數(shù)目為2;
將驗(yàn)證集樣本在已經(jīng)訓(xùn)練好的BPNN分類器上進(jìn)行測(cè)試得到驗(yàn)證集分類錯(cuò)誤率εt,根據(jù)驗(yàn)證集分類錯(cuò)誤率εt計(jì)算每個(gè)BPNN的權(quán)重:
每個(gè)訓(xùn)練樣本的權(quán)重根據(jù)如下公式被更新:
Ct是歸一化常量,yi是第i個(gè)訓(xùn)練樣本的標(biāo)簽,當(dāng)用這種方法訓(xùn)練T個(gè)BPNN之后,每個(gè)Adaboost-BPNN分類器被定義如下:
H(x)=∑αtht
其中,ht為第t個(gè)BPNN弱分類器的概率輸出,其中1≤t≤T;
步驟6:對(duì)三個(gè)不同特征訓(xùn)練的Adaboost-BPNN分類器的分類結(jié)果進(jìn)行加權(quán)平均得到CT切片的最終分類結(jié)果:
Opro=average(O1W1,O2W2,O3W3)
其中,O1、O2、O3表示三個(gè)分類器對(duì)肺結(jié)節(jié)的分類結(jié)果,計(jì)算公式為
O=mean(H1(x),H2(x),…,Hs(x)),s表示一個(gè)肺結(jié)節(jié)CT圖像中的第s個(gè)CT切片,Hs(x)為第s個(gè)CT切片在某個(gè)Adaboost-BPNN分類器的概率輸出;W1、W2、W3分別表示三個(gè)分類器的權(quán)重,計(jì)算公式為Vj,j=1,2,3分別為三個(gè)分類器的分類正確率;
最終分類結(jié)果Opro輸出為兩個(gè)值,定義其中一個(gè)為良性概率輸出,另一個(gè)為惡性概率輸出,對(duì)兩個(gè)概率輸出值進(jìn)行判斷,得到最終的類別標(biāo)簽:
其中,bengin nodule表示分類結(jié)果為良性,malignant nodule表示分類結(jié)果為惡性,Opro(1)為良性概率輸出,Opro(2)為惡性概率輸出。
在步驟2中深度卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中,設(shè)置網(wǎng)絡(luò)的學(xué)習(xí)率為0.001,最大迭代次數(shù)為50,每一批訓(xùn)練所用的樣本量為100。
在步驟3中對(duì)于每個(gè)BPNN訓(xùn)練過程中,設(shè)置最大收斂次數(shù)為50,學(xué)習(xí)率為0.001,收斂誤差為0.0004。
所述的a為64。
所述的b為52。
所述的T為10。
有益效果
本發(fā)明提出的一種基于深層模型和淺層模型決策融合的肺結(jié)節(jié)CT圖像自動(dòng),該方法融合多個(gè)決策信息,取長(zhǎng)補(bǔ)短,較好的克服了圖像數(shù)量少所導(dǎo)致的深度學(xué)習(xí)分類算法效果不佳以及基于單種特征的分類方法正確率偏低的問題,避免了特征層融合特征空間分布的變化,實(shí)現(xiàn)了正確率較高的肺結(jié)節(jié)CT圖像自動(dòng)分類,為計(jì)算機(jī)輔助發(fā)現(xiàn),治療肺癌提供了技術(shù)支撐;同時(shí),本方法也可以應(yīng)用于其它圖像分類問題。
附圖說明
圖1基于權(quán)重的多特征決策分類算法流程
具體實(shí)施方式
本發(fā)明提供了一種基于權(quán)重的多特征決策分類算法。該方法從每一個(gè)包含肺結(jié)節(jié)的CT切片圖像中提取剛剛好包含肺結(jié)節(jié)的圖像子塊,然后將不同尺寸的圖像子塊統(tǒng)一到32×32大小。由于肺結(jié)節(jié)是三維的類球狀體,因此一個(gè)完整的肺結(jié)節(jié)CT圖像包含多個(gè)切片,每一個(gè)切片的類別就是其所在CT圖像的類別,從而將基于三維CT圖像的肺結(jié)節(jié)分類問題轉(zhuǎn)換為二維空間上的分類問題。接下來進(jìn)行特征提取,首先,采用隨機(jī)梯度下降方法對(duì)所有預(yù)處理后的訓(xùn)練圖像塊進(jìn)行深度卷積神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練,選取該網(wǎng)絡(luò)的全連接層的輸出作為相應(yīng)圖像塊的描述特征,稱之為深度特征;然后,對(duì)每一個(gè)圖像塊提取能夠描述其紋理變化和形狀變化的特征,在本發(fā)明中采用了基于灰度共生矩陣的紋理特征和基于傅里葉描述子的形狀特征,將其稱為淺層特征;最后,針對(duì)三種不同類型的特征分別訓(xùn)練三個(gè)分類器,根據(jù)驗(yàn)證集的分類精度對(duì)每個(gè)分類器賦予一定的權(quán)重,本發(fā)明中采用的是以BPNN作為弱分類器的Adaboost集成分類器(簡(jiǎn)稱Adaboost-BPNN分類器)。當(dāng)使用本方法分類一個(gè)肺結(jié)節(jié)的CT圖像時(shí),首先,同樣的從每一個(gè)包含肺結(jié)節(jié)的CT切片圖像中提取剛剛好包含肺結(jié)節(jié)的圖像子塊并進(jìn)行預(yù)處理;接著,對(duì)每一個(gè)預(yù)處理后的圖像子塊分別提取其深度特征和淺層特征,并將不同類型的特征輸入相應(yīng)的已訓(xùn)練好的Adaboost-BPNN分類器中,得到對(duì)該圖像子塊的三個(gè)分類結(jié)果,然后將三個(gè)分類結(jié)果進(jìn)行加權(quán)平均得到該CT切片的最終分類結(jié)果。最后,基于多數(shù)表決的原則將該測(cè)試CT圖像歸入該圖像大多數(shù)切片所屬的類別。
現(xiàn)結(jié)合實(shí)施例、附圖對(duì)本發(fā)明作進(jìn)一步描述:
本發(fā)明基于權(quán)重的多特征決策分類算法流程如圖1所示,具體步驟如下:
1.預(yù)處理
基本思想是將基于三維CT圖像的肺結(jié)節(jié)分類問題轉(zhuǎn)換為二維空間上的分類問題。首先在每一個(gè)包含肺結(jié)節(jié)的CT切片上提取能包含肺結(jié)節(jié)完整信息的最大外接正方形子塊。因?yàn)槊總€(gè)肺結(jié)節(jié)的原始大小未必一致,再加上對(duì)于同一個(gè)肺結(jié)節(jié),不同的CT切片包含的肺結(jié)節(jié)大小也不一定一致,所以從原始圖像CT切片中提取出的正方形子塊的邊長(zhǎng)大小不一定相同,為了得到大小一致的圖像子塊,我們使用最鄰近插值算法將大小不一的圖像子塊的尺寸統(tǒng)一調(diào)整為32×32。
2.基于深度卷積神經(jīng)網(wǎng)絡(luò)的特征提取
在得到預(yù)處理后的數(shù)據(jù)之后,我們用這些統(tǒng)一尺寸后的圖像子塊來訓(xùn)練深度卷積神經(jīng)網(wǎng)絡(luò)。該網(wǎng)絡(luò)由9個(gè)子層組成:
第一層:輸入層。
第二層:C1層是第一個(gè)卷積層,卷積模板大小為5×5,模板個(gè)數(shù)為32個(gè),由于該層在做卷積時(shí)周圍填了兩圈0,所以卷積之后維度不變。因此該層產(chǎn)生了32個(gè)32×32特征映射。
第三層:P2層是第一個(gè)池化層,又稱降采樣層。每個(gè)特征映射中的神經(jīng)元與C3層中相應(yīng)特征映射中3×3的鄰域相連接,該層采用平均池化方法,即對(duì)鄰域內(nèi)特征點(diǎn)取平均值,有32個(gè)16×16的特征映射,隨后采用了Relu激勵(lì)函數(shù),該操作可以有效地防止數(shù)據(jù)的過擬合。
第四層:C3層是第二個(gè)卷積層,卷積模板大小同樣為5×5,模板個(gè)數(shù)為32個(gè),該層產(chǎn)生了32個(gè)16×16的特征映射,隨后采用了Relu激勵(lì)函數(shù)。
第五層:P4層是第二個(gè)池化層,每個(gè)特征映射中的神經(jīng)元與C3層中相應(yīng)特征映射中3×3的鄰域相連接,該層采用平均值池化方法,有32個(gè)8×8的特征映射。
第六層:C5層是第三個(gè)卷積層,卷積模板也是5×5,模板個(gè)數(shù)為64個(gè),該層可以產(chǎn)生64個(gè)8×8特征映射,隨后采用了Relu激勵(lì)函數(shù)。
第七層:P6層是第三個(gè)池化層,每個(gè)特征映射中的神經(jīng)元與C5層中相應(yīng)特征映射中3×3的鄰域相連接,該層采用平均值池化方法,有64個(gè)4×4的特征映射。
第八層:F7是一個(gè)包含64個(gè)神經(jīng)元的全連接層,由于上一層特征映射的維度是4×4,故卷積模板的大小設(shè)置為4×4,每個(gè)神經(jīng)元都與P6層中特征映射的4×4鄰域相連接。
第九層:F8包含2個(gè)經(jīng)元節(jié)點(diǎn),輸出的兩個(gè)值分別表示兩個(gè)類別可能性的一個(gè)度量。最后是一個(gè)Softmax層,用來處理上一層的輸出,得出最后的分類結(jié)果。
在訓(xùn)練過程中,我們?cè)O(shè)置網(wǎng)絡(luò)的學(xué)習(xí)率為0.001,最大迭代次數(shù)為50,每一批訓(xùn)練所用的樣本量為100。當(dāng)網(wǎng)絡(luò)訓(xùn)練至收斂后,我們提取第七層網(wǎng)絡(luò)輸出的64維向量作為輸入圖像子塊的深層特征。
3.紋理和形狀特征提取
肺結(jié)節(jié)的惡性度與其灰度值的異質(zhì)性和形狀密切相關(guān)。為了描述肺結(jié)節(jié)圖像所呈現(xiàn)的這些視覺特征,我們對(duì)于沒有統(tǒng)一尺寸的肺結(jié)節(jié)原始圖像子塊提取了基于灰度共生矩陣的紋理特征和基于傅里葉描述子的形狀特征。對(duì)于紋理特征,首先,在0°(水平方向),45°,90°(垂直方向),135°四個(gè)方向分別計(jì)算未調(diào)整尺寸圖像子塊中相距為1的兩個(gè)灰度像素同時(shí)出現(xiàn)的頻數(shù),從而得到4個(gè)方向上的4個(gè)灰度共生矩陣;接下來對(duì)每個(gè)灰度共生矩陣,我們分別求對(duì)比度,相關(guān)性,能量,逆差矩4個(gè)特征,然后將求得的每個(gè)灰度共生矩陣的4個(gè)特征值級(jí)聯(lián)起來,最終得到16維的紋理特征,從而來描述圖像的紋理信息。對(duì)于形狀特征,首先,找到形狀圖像中肺結(jié)節(jié)形狀區(qū)域的重心坐標(biāo);接下來,沿著結(jié)節(jié)邊緣依次移動(dòng)一個(gè)點(diǎn),繪制出移動(dòng)點(diǎn)到重心之間的測(cè)地距離的曲線,最后將該曲線進(jìn)行傅里葉變換,最終我們選擇傅里葉變換后的前52個(gè)低頻系數(shù)組成二維傅里葉描述子形狀特征向量。
4.構(gòu)造Adaboost-BPNN分類器
進(jìn)行特征提取之后,接下來我們構(gòu)造了Adaboost-BPNN分類器。對(duì)于上述提取的深度特征,紋理特征,形狀特征三類特征,分別訓(xùn)練三個(gè)不同的Adaboost-BPNN分類器。對(duì)于每一個(gè)Adaboost-BPNN分類器,我們根據(jù)全部訓(xùn)練樣本的權(quán)重分布,選擇其中70%的樣本作為BPNN弱分類器的訓(xùn)練集樣本,剩下的30%的樣本作為BPNN弱分類器的驗(yàn)證集樣本。每個(gè)Adaboost-BPNN分類器都包含10個(gè)BPNN分類器,每個(gè)BPNN都是由一個(gè)輸入層,一個(gè)隱層,一個(gè)輸出層組成。輸入層的結(jié)點(diǎn)數(shù)目即等于輸入特征的維數(shù)。隱層的結(jié)點(diǎn)通過下面公式計(jì)算得到:
Nodes=log(D) (1)
D是輸入層結(jié)點(diǎn)的數(shù)目。由于是二分類問題,因此我們的輸出結(jié)點(diǎn)數(shù)目為2。對(duì)于每個(gè)BPNN,我們?cè)O(shè)置最大收斂次數(shù)為50,學(xué)習(xí)率為0.001,收斂誤差為0.0004。
然后,把驗(yàn)證集的樣本在已經(jīng)訓(xùn)練好的BPNN上進(jìn)行測(cè)試。根據(jù)得到的驗(yàn)證集分類錯(cuò)誤率εt來計(jì)算該弱BPNN的權(quán)重。計(jì)算公式如下:
每個(gè)訓(xùn)練樣本的權(quán)重根據(jù)如下公式被更新:
Ct是歸一化常量,yi是第i個(gè)訓(xùn)練樣本的標(biāo)簽,而且∑wt+1(i)=1。當(dāng)用這種方法訓(xùn)練T(本實(shí)施例為10)個(gè)BPNN之后,Adaboost-BPNN分類器可以被定義如下:
H(x)=∑αtht (4)
ht為BPNN第t(1≤t≤T)個(gè)弱分類器的概率輸出。BPNN分類器的輸出為有兩個(gè)值,因此ht應(yīng)該是一個(gè)二維的向量,表示兩個(gè)類別可能性的一個(gè)度量,第一個(gè)值如大于第二個(gè)值,則該網(wǎng)絡(luò)得出的結(jié)論是第一類;否則是第二類。進(jìn)而H(x)也應(yīng)該是一個(gè)二維的向量。
本發(fā)明中,弱BPNN分類器的個(gè)數(shù)按照經(jīng)驗(yàn)被設(shè)定為10。因?yàn)槲覀冇腥M肺結(jié)節(jié)的特征,因此我們訓(xùn)練三個(gè)Adaboost-BPNN分類器來進(jìn)行圖像子塊的分類。
5.基于肺結(jié)節(jié)的分類
在得到一個(gè)肺結(jié)節(jié)不同的圖像子塊的分類結(jié)果之后,接下來,我們要進(jìn)行肺結(jié)節(jié)的分類。
O=mean(H1(x),H2(x),…,Hs(x)) (5)
s表示一個(gè)肺結(jié)節(jié)CT圖像中的第s個(gè)CT切片。O為肺結(jié)節(jié)的概率輸出是一個(gè)二維的向量。
6.決策層融合
接下來,我們要融合不同分類器的決策結(jié)果。首先,把驗(yàn)證集的圖像子塊在已經(jīng)訓(xùn)練好的Adaboost-BPNN分類器上進(jìn)行測(cè)試,然后對(duì)該圖像子塊進(jìn)行肺結(jié)節(jié)的分類。根據(jù)該驗(yàn)證集肺結(jié)節(jié)的分類正確率為每一個(gè)Adaboost-BPNN分類器賦予一定的權(quán)重。我們定義Vj,j=1,2,3分別為驗(yàn)證集數(shù)據(jù)在基于深度特征,紋理特征,形狀特征的Adaboost-BPNN分類器的分類正確率。權(quán)重計(jì)算公式如下所示:
Wj,j=1,2,3,不同決策的權(quán)重,驗(yàn)證集正確率越高,該決策所占的權(quán)重越大
然后對(duì)所有的決策結(jié)果進(jìn)行加權(quán)平均。根據(jù)上一小節(jié)可知Oj,j=1,2,3,為不同分類器對(duì)肺結(jié)節(jié)的概率決策輸出。計(jì)算公式如下:
Opro=average(O1W1,O2W2,O3W3) (7)
Opro為最終的概率輸出結(jié)果,O1、O2、O3,表示不同分類器對(duì)肺結(jié)節(jié)的分類結(jié)果。
最終分類結(jié)果Opro輸出為兩個(gè)值,定義其中一個(gè)為良性概率輸出,另一個(gè)為惡性概率輸出,對(duì)兩個(gè)概率輸出值進(jìn)行判斷,得到最終的類別標(biāo)簽:
其中,bengin nodule表示分類結(jié)果為良性,malignant nodule表示分類結(jié)果為惡性,Opro(1)為良性概率輸出,Opro(2)為惡性概率輸出。