李 莉,張浩洋,喬 璐
(東北林業(yè)大學 軟件工程系,哈爾濱 150000)
肺癌的前期表現(xiàn)形式為形狀大小不同的肺結(jié)節(jié),對肺結(jié)節(jié)準確檢測判斷影響肺癌的治愈概率,而肺結(jié)節(jié)計算機輔助判斷能夠?qū)T圖像中的結(jié)節(jié)進行檢測、分割以及判斷,可以提高早期患者的存活率[1]。因此,如何通過計算機輔助工具對肺結(jié)節(jié)良惡性進行準確的識別和判斷,成為提高病患生存概率的關鍵,對于治愈肺癌有著重要的意義。
肺部CT影像計算機輔助判斷系統(tǒng)的系統(tǒng)性能評價指標,主要體現(xiàn)在對于早期肺結(jié)節(jié)的檢測與分類能力的準確性以及處理效率等[2-3]。而相同數(shù)據(jù)下網(wǎng)絡模型的優(yōu)劣與否所采用的一般都是開源數(shù)據(jù)庫,如最大的開源肺部CT影像數(shù)據(jù)集LIDC-IDRI[4]。LIDC-IDRI數(shù)據(jù)庫中的CT圖像,對于患者肺結(jié)節(jié)的位置和良惡性級別指標有著明確的信息,可為訓練模型的特征量化過程提供科學的依據(jù)[5]。
常見的計算機輔助工具流程是通過模型的構(gòu)建以及數(shù)據(jù)的訓練,能夠得到準確的肺結(jié)節(jié)檢測鑒別結(jié)果的工具,幫助影像醫(yī)師利用科學工具對臨床實例產(chǎn)生更加精確的判斷[6]。在肺結(jié)節(jié)良惡性輔助判斷領域,由訓練集進行網(wǎng)絡模型訓練,測試集與原始樣本集的對照結(jié)果表明模型的效率和精確度,最終完成分類。目前,比較常用的分類方法包括C-均值分類器、支持向量機(SVM)分類器以及隨機森林(Random Forest)分類器等[7]。文獻[8]使用深度置信網(wǎng)絡,通過DBN模型的微調(diào)整使得良惡性識別率達到了86%,但是DBN模型使用的SVM分類器對復雜等級分類和高噪聲影響的數(shù)據(jù)處理效果較差。文獻[9]使用模糊C均值(FCM)方法對原始數(shù)據(jù)集進行特征聚類,最終敏感率達到87.58%,但是FCM的缺點是特征提取能力不如卷積神經(jīng)網(wǎng)絡(CNN)。文獻[10]在卷積神經(jīng)網(wǎng)絡中,從肺結(jié)節(jié)空間三維角度方面進行考慮,著重對難分辨和小目標圖像進行特征提取和學習訓練,最終準確率達到89.93%,但是針對肺結(jié)節(jié)特征的提取而言,CNN雖然對圖像的特征提取以及學習能力較強,但是需要大量符合訓練要求的肺結(jié)節(jié)各等級樣本。而良惡性結(jié)節(jié)數(shù)量的不平衡給惡性結(jié)節(jié)圖像特征的提取帶來了困難,從而使得神經(jīng)網(wǎng)絡提取特征難度大幅增加[11-12]。而生成對抗網(wǎng)絡的提出,能夠以原始圖像和隨機噪聲為輸入,產(chǎn)生與原始圖像相似的圖像。然而,由于GAN網(wǎng)絡的不穩(wěn)定和自由性將會導致輸出的不理想、不穩(wěn)定性以及系統(tǒng)崩潰等問題的產(chǎn)生。
通過以上分析,本文提出一種基于改進DCGAN模型與半監(jiān)督FCM結(jié)合的SFDG(Semi-supervised Fuzzy C Means Deep Convolutional Generative Adversarial Network)肺結(jié)節(jié)良惡性分類方法。在肺結(jié)節(jié)良惡性分類時建立學習率加速策略,同時使用Adam替代隨機梯度下降方法優(yōu)化網(wǎng)絡的參數(shù),在生成樣本檢測模塊,運用半監(jiān)督FCM聚類與CNN網(wǎng)絡相結(jié)合的方法,將原始各等級圖像作為聚類中心點對生成圖像集進行聚類,輔助判別器網(wǎng)絡對聚類結(jié)果、原始圖像以及生成圖像做判斷,以便于調(diào)整網(wǎng)絡參數(shù)權(quán)值,最終訓練出模型。
在整個肺結(jié)節(jié)良惡性識別過程中,良惡性結(jié)節(jié)的圖像特征提取對最后訓練出的網(wǎng)絡模型進行分類的準確率有著關鍵的影響[13-14],而卷積神經(jīng)網(wǎng)絡對圖像特征具有強大的提取能力和泛化能力,其局部感知和權(quán)值共享特性大幅減少網(wǎng)絡參數(shù)的設置,降低了網(wǎng)絡模型的復雜性,同時又提高了解決過擬合問題的能力[15-16]。DCGAN模型的核心思想為博弈達到納什平衡,即判別器和生成器都達到較好的結(jié)果。生成器網(wǎng)絡G的目的是生成盡可能接近真實圖像特征紋理的圖像,提高自己的生成能力且降低判別器的判別能力,而判別器網(wǎng)絡判斷輸入圖像來源以及具體等級。生成器網(wǎng)絡以隨機噪聲Z和圖像類別C為輸入來輸出產(chǎn)生類似圖像G(Z)。判別器網(wǎng)絡則以類似圖像G(Z)和真實樣本X進行輸入,輸出判斷圖像的真假。
相對于傳統(tǒng)的卷積神經(jīng)網(wǎng)絡[17],深度卷積生成對抗網(wǎng)絡進行如下改變來保證樣本的質(zhì)量以及收斂速度:
1)在生成器網(wǎng)絡的上采樣過程中采用轉(zhuǎn)置卷積操作,判別器網(wǎng)絡將池化層轉(zhuǎn)化成步幅卷積操作。
2)在生成判別網(wǎng)絡中除輸入層外使用BN進行穩(wěn)定的批處理學習,可以避免因為少數(shù)初始化不良而造成的訓練崩潰問題。
3)取消傳統(tǒng)CNN全連接隱藏層,生成網(wǎng)絡中除輸出層的Tanh函數(shù)外都使用Relu激活函數(shù),而判別網(wǎng)絡激活函數(shù)采用LeakyRelu函數(shù)。
生成網(wǎng)絡D的損失函數(shù)如式(1)所示:
(1)
判別網(wǎng)絡G的損失函數(shù)如式(2)所示:
(2)
其中,x為真實圖片,D(x)為當前圖片是真實圖片的概率,z為隨機噪聲,G(z)為將隨機噪聲送入模型生成出的假圖像,D(G(z))為判別器網(wǎng)絡判定當前圖像為假圖像的概率。由于生成器網(wǎng)絡的目標為盡可能使得生成圖像接近原始真實紋理圖像,所以損失函數(shù)設置為1-D(G(z))來保證判別器輸出假圖像概率盡可能小。而判別器網(wǎng)絡優(yōu)化目標是提高判斷真實圖像的能力,因此,D(x)越大越好,同時希望噪聲影響越小越好,則損失函數(shù)設置為D(x)+1-D(G(z))。
生成器網(wǎng)絡結(jié)構(gòu)如圖1所示,輸入為接受隨機噪聲z,輸出為圖像G(z)。整個網(wǎng)絡上采樣主要采用反卷積算法,反卷積過程如圖2所示。首先生成器網(wǎng)絡模型輸入一個隨機噪聲,通過全連接層轉(zhuǎn)化為特征映射后,通過上采樣方法經(jīng)過反卷積層最終形成和真實圖像具有相似特征的圖像,其中每一層都使用批標準化處理[18]。判別器網(wǎng)絡為傳統(tǒng)的卷積神經(jīng)網(wǎng)絡,將輸入的圖像與原始圖像進行對比,經(jīng)過特征提取和卷積運算等操作后,最終經(jīng)過softmax函數(shù)輸出概率,設定閾值來決定相應的輸出[19]。
圖1 生成器網(wǎng)絡結(jié)構(gòu)Fig.1 Generator network structure
圖2 反卷積過程示意圖Fig.2 Schematic diagram of deconvolution process
FCM算法是一種將未進行劃分的、無序無標簽的數(shù)據(jù)進行合理劃分的聚類算法,它把所有數(shù)據(jù)的特征進行提取和比對,將具有相同特征或相似度的數(shù)據(jù)劃分到同一種類中,同時保證不同種類之間的差別盡可能大,即相似度最小。
半監(jiān)督聚類方法是通過部分已有標簽樣本,來引導整個聚類迭代優(yōu)化的過程,屬于半監(jiān)督學習。每個模型的樣本信息輸入對于聚類效果的影響是直接的,用戶的輸入包括標簽和限制條件,在實際應用中,成對限制條件容易得到,即分到一類中和不能分到一類中[20]。在半監(jiān)督FCM算法中,當輸入的信息為帶有標簽的樣本時,算法可以將原來的無監(jiān)督聚類轉(zhuǎn)化為標簽樣本進行迭代訓練處理。
為解決肺結(jié)節(jié)良惡性識別中樣本之間比例不平衡的問題,同時利用卷積神經(jīng)網(wǎng)絡的特征學習能力以及GAN生成圖像的能力,在訓練過程中達到預防GAN訓練不穩(wěn)定的目的,因此在分類的過程中,引入DCGAN網(wǎng)絡與半監(jiān)督FCM算法相結(jié)合的模型。
改進DCGAN模型分析如下:
1)生成網(wǎng)絡產(chǎn)出的符合特征要求的圖像,經(jīng)過圖像的翻轉(zhuǎn)、增強,并加入到訓練樣本中,可解決良惡性樣本失衡的問題。
2)通過對生成器圖像來源判斷過程進行改進,將原始的輸入變?yōu)楦鞣N類別的真實圖像與生成圖像,輸出為fake或者當前圖像屬于真實圖像中的哪一種。
3)在訓練迭代的前期,考慮到隨機噪聲對生成器網(wǎng)絡的影響以及生成、判別器網(wǎng)絡能力失衡,引入半監(jiān)督FCM聚類方法,將生成圖像提取特征后,輔助卷積神經(jīng)網(wǎng)絡進行判斷以及參數(shù)反饋,優(yōu)化損失函數(shù),使得整體網(wǎng)絡模型具有更好的魯棒性。
針對肺結(jié)節(jié)良惡性分類中目前出現(xiàn)的問題,對現(xiàn)有的DCGAN框架進行改進并應用到肺結(jié)節(jié)良惡性分類中,改進方法如下:
1)改變整體框架,將數(shù)據(jù)來源分類為原來的real和fake,輸出結(jié)果變?yōu)檎鎸崍D像等級分類realc=1~5以及fake。
2)改變原始框架,訓練迭代優(yōu)化中使用的隨機梯度下降方法,通過Adam方法為不同的參數(shù)設計自適應的學習率,解決DCGAN網(wǎng)絡中噪聲高的問題。
3)在判別器網(wǎng)絡判別損失函數(shù)設計中,針對前期隨機噪聲較大的問題,引入半監(jiān)督FCM聚類方法,對于輸入到判別器中的未標注類別圖像與原始圖像集進行特征提取且聚類,在損失函數(shù)中加入FCM聚類方法,對圖像類別進行判定并進行加權(quán)設置,計算出良惡性分類準確率最高的設定。
改進后的網(wǎng)絡框架包括生成器網(wǎng)絡G以及判別器網(wǎng)絡D,在生成器網(wǎng)絡中輸入隨機噪聲z和類別后,模型輸出為生成圖像G(z)。判別器網(wǎng)絡輸入為包含類別等級的真實圖像X以及生成圖像G(z),輸出結(jié)果為判定結(jié)果圖像等級結(jié)果或fake。具體框架對比如圖3~圖6所示。
圖3 原始框架示意圖Fig.3 Schematic diagram of original framework
圖4 改進后框架示意圖Fig.4 Schematic diagram of improved framework
圖5 改進前判別流程示意圖Fig.5 Schematic diagram of discrimination processbefore improvement
圖6 改進后判別流程示意圖Fig.6 Schematic diagram of improveddiscrimination process
半監(jiān)督FCM聚類算法在肺結(jié)節(jié)良惡性分類中主要應用于特征提取和相關量化。LIDC數(shù)據(jù)庫的XML文件中提供肺結(jié)節(jié)的各類屬性,其中肺結(jié)節(jié)的分葉征和毛刺征程度等能直接體現(xiàn)肺結(jié)節(jié)的惡性程度,對于提高準確率有較大意義。
對輸入圖像進行讀入后,計算圖像的灰度方差、似圓度、邊界的粗糙度和緊湊度、徑向均值等,計算后的值能體現(xiàn)出分葉征和毛刺征等信息,完成特征提取的目的,從而輔助判斷肺結(jié)節(jié)良惡性程度。
1)灰度方差。通過圖像的灰度均值以及橫縱像素數(shù)來計算圖像區(qū)域的灰度方差,其中mean為灰度均值?;叶确讲钣嬎愎饺缦?
2)似圓度。似圓度是計算一個圖形類似于圓的程度,可以對肺結(jié)節(jié)良惡性的判斷提供部分參考,其中A表示結(jié)節(jié)的面積,p表示周長。似圓度計算公式如下:
3)邊界粗糙度。邊界粗糙度通過徑向距離分解若干小段,根據(jù)公式計算每一段的R(j)值,得到均值后可以體現(xiàn)出整個圖像的粗糙度,在肺結(jié)節(jié)中體現(xiàn)為毛刺特征等病理特征。邊界粗糙度計算公式如下:
4)緊湊度。緊湊度可通過內(nèi)切圓與外切圓的比值反映出肺結(jié)節(jié)球型度以及其分葉征,對肺結(jié)節(jié)良惡性判斷起輔助作用。緊湊度計算公式如下:
5)徑向取值。徑向取值統(tǒng)計肺結(jié)節(jié)圖像邊界上像素點到質(zhì)心距離的均值與方差,在一定程度上反映結(jié)節(jié)的分葉征。
特征信息示意圖如圖7所示。
圖7 特征信息示意圖Fig.7 Schematic diagram of feature information
特征提取計算完成后,與有標簽的原始圖像各特征進行聚類分析,判斷當前圖像各類特征與原始圖像特征距離計算后所屬類別的標簽。將半監(jiān)督FCM聚類算法應用到肺結(jié)節(jié)良惡性識別上,計算原始圖像聚類中心與輸入未標簽圖像之間的距離,未標簽圖像與每個類別距離進行比較排序,取最高概率值所在的類別標簽作為當前預測標簽。這樣通過距離最近的樣本類別,可以根據(jù)判別器網(wǎng)絡對輸入圖像進行判斷時計算出一個參考度,使未標記的肺結(jié)節(jié)樣本能準確聚類到已標記的樣本中。
在完成判別器網(wǎng)絡對結(jié)節(jié)的等級分類判斷過程中,除考慮圖像的來源分類以及肺結(jié)節(jié)類別的損失函數(shù)外,還需對非標記樣本的特征進行提取計算,根據(jù)半監(jiān)督FCM聚類方法對已標注數(shù)據(jù)集進行相應聚類預測。通過聚類預測與實際圖像所屬類別之間的差距設定損失函數(shù)值,在判別器網(wǎng)絡損失函數(shù)的設定中,包括來源分類、卷積神經(jīng)網(wǎng)絡對肺結(jié)節(jié)圖像判定的等級分類和聚類方法的損失判定。
由于訓練集中包含有標簽樣本Xl以及無標簽樣本Xu,生成器產(chǎn)生的樣本為If。判別器網(wǎng)絡接受樣本后,對于肺結(jié)節(jié)K分類問題(本文K=5),給出K+1個預測估計概率。
對已有肺結(jié)節(jié)標簽的樣本,考慮模型預測的標簽是否正確,計算分類相應的概率:
Llabel=-ln[p(y|x,y 對于肺結(jié)節(jié)訓練集中的無標簽樣本,將模型預測考慮為是否為真實圖像,即計算不估計為K+1類的概率: Lunabel=-ln[1-p(K+1|x)]= 對于生成器產(chǎn)生的肺結(jié)節(jié)圖像,模型預測考慮是否為假圖像,即計算估計為K+1類的概率: 判別器網(wǎng)絡優(yōu)化目標為: 提取計算完成后,與有標簽的原始圖像各特征進行聚類分析,判斷當前圖像各類特征與原始圖像特征距離計算后所屬類別的標簽。改進后的DCGAN肺結(jié)節(jié)良惡性模型流程如圖8所示。 圖8 DCGAN肺結(jié)節(jié)良惡性分類模型流程Fig.8 Procedure of benign and malignant pulmonarynodules of DCGAN LIDC數(shù)據(jù)庫中對于肺結(jié)節(jié)良惡性等級評定為1級~5級,分別為良性、疑似良性、未知、疑似惡性、惡性共5種。本文從LIDC數(shù)據(jù)集中提取5 812個經(jīng)過預處理后64像素×64像素的肺結(jié)節(jié)圖像,且等級1~5的結(jié)節(jié)個數(shù)分別為277個、1 030個、1 416個、1 231個和1 858個,其中使用80%的結(jié)節(jié)圖像作為訓練集,剩余的20%作為測試集。 本次實驗采用表1中的肺結(jié)節(jié)檢測評價標準,主要包括標準定義靈敏度(SEN)、特異度(SPE)和準確率(ACC)3個指標。 表1 肺結(jié)節(jié)檢測評價標準Table 1 Lung nodule detection and evaluation criteria 3個指標計算公式如下: 其中,SEN表示正確預測為惡性結(jié)節(jié)的概率,SPE表示正確預測為良性結(jié)節(jié)的概率,ACC表示整體模型的綜合判別能力。 本文實驗所使用的改進后DCGAN網(wǎng)絡與半監(jiān)督FCM算法相結(jié)合的良惡性分類模型,首先將輸入圖像的肺結(jié)節(jié)良惡性類別進行預測,然后對分類等級結(jié)果小于3和大于等于3的數(shù)據(jù)進行統(tǒng)計,最后將等級標簽小于3的結(jié)節(jié)作為良性結(jié)節(jié),等級標簽大于等于3的作為惡性結(jié)節(jié)進行統(tǒng)計量化。從表2可以看出,改進后的模型D對肺結(jié)節(jié)良惡性具有良好的分類效果。 表2 改進模型D網(wǎng)絡對良惡性的分類Table 2 Improved model D network for classification ofbenign and malignant 在保持相同實驗的條件下,本文將當前經(jīng)典的相關方法與改進后模型實驗結(jié)果相比較,結(jié)果如表3所示,無論是從靈敏度、特異度和準確率,都具有比其他方法更高的性能。因此在改進DCGAN網(wǎng)絡框架與半監(jiān)督FCM聚類結(jié)合后的模型中,判別器網(wǎng)絡對于肺結(jié)節(jié)良惡性分類具有良好的判別能力,且準確率達到90.96%。 表3 本文算法與傳統(tǒng)算法對肺結(jié)節(jié)良惡性分類比較Table 3 Comparison of benign and malignant classificationof pulmonary nodules with the proposed algorithm andtraditional algorithms % 與傳統(tǒng)DCGAN網(wǎng)絡應用到肺結(jié)節(jié)良惡性識別相比,本文提出的SFDG模型有以下優(yōu)點: 1)在傳統(tǒng)DCGAN網(wǎng)絡的迭代訓練過程中,使用調(diào)整參數(shù)及更新權(quán)重從而優(yōu)化損失函數(shù)的方法為隨機梯度下降法,雖然該方法能夠快速更新參數(shù)并不斷發(fā)現(xiàn)損失函數(shù)局部最優(yōu)值,但是大幅的波動無法準確地給出損失函數(shù)的極值。而本文SFDG模型采用的是Adam算法,能夠設定使得各參數(shù)自適應的學習率,從實際效果來看,自適應方法相對于傳統(tǒng)的SGD方法解決了其收斂過慢以及參數(shù)更新時損失函數(shù)波動較大的問題,從而使得訓練中最佳的優(yōu)化器保證了模型的優(yōu)良性能。 2)在傳統(tǒng)DCGAN網(wǎng)絡中,由于生成器網(wǎng)絡的輸入為隨機噪聲,生成的肺結(jié)節(jié)圖像與原始樣本差距過大,這就使得在訓練前期生成網(wǎng)絡和判別器網(wǎng)絡的能力對比差距過大,需要較長時間的訓練以及參數(shù)調(diào)整。而本文引入的半監(jiān)督FCM聚類方法,解決了前期生成網(wǎng)絡只依靠隨機噪聲和等級類別生成圖像的現(xiàn)狀,使得生成網(wǎng)絡在生成圖像時有更好的樣本聚類特征參數(shù)參考,可生成更高質(zhì)量的訓練圖像。 3)引入FCM算法后,判別器網(wǎng)絡在最終對輸入圖像進行識別時,在依靠卷積神經(jīng)網(wǎng)絡以及特征聚類輔助識別的情況下,使得判別器具有高效的識別準確率。 4)與傳統(tǒng)卷積神經(jīng)網(wǎng)絡相比,改進后的DCGAN網(wǎng)絡能夠通過聚類分析以及生成的圖像提供具有高質(zhì)量的肺結(jié)節(jié)訓練樣本,解決傳統(tǒng)CNN網(wǎng)絡中符合訓練要求樣本較少的問題。 本文模型與傳統(tǒng)DCGAN模型及半監(jiān)督FCM的收斂速度和準確率對比結(jié)果如圖9、圖10所示。在準確率和收斂速度上,本文SFDG模型具有明顯的優(yōu)勢,實驗結(jié)果表明,在迭代50 000次后,本文模型具有良好的性能。 圖9 本文模型與傳統(tǒng)DCGAN模型收斂速度對比結(jié)果Fig.9 Comparison results of convergence speed betweenthe proposed model and the traditional DCGAN model 圖10 本文模型與傳統(tǒng)模型準確率對比結(jié)果Fig.10 Comparison results of accuracy between themodel proposed and traditional model 通過以上分析,本文提出模型利用DCGAN網(wǎng)絡對圖像的生成能力、卷積神經(jīng)網(wǎng)絡對特征提取的能力以及半監(jiān)督FCM的聚類來輔助提高判別能力。實驗結(jié)果表明,SFDG模型的準確率達到90%以上,且具有良好的魯棒性,改進后的網(wǎng)絡模型具有較好的肺結(jié)節(jié)分類能力,且靈敏度達91.45%、特異度達89.27%、準確率達90.96%。 本文采用改進DCGAN框架與半監(jiān)督FCM算法相結(jié)合的模型,將原始DCGAN框架的圖像來源問題改進為肺結(jié)節(jié)良惡性等級劃分問題,優(yōu)化了原始目標函數(shù),在判別器網(wǎng)絡D中對輸入圖像進行卷積計算判別預測的過程中,通過半監(jiān)督FCM聚類算法分析輸入圖像特征并與原始各等級圖像進行比對,完成聚類預測后輔助判別器網(wǎng)絡進行判斷,最終迭代訓練后得到具有較強肺結(jié)節(jié)良惡性分類的網(wǎng)絡模型,且準確率達90.96%。本文方法主要針對孤立性肺結(jié)節(jié)的良惡性判斷,且輸入輸出的圖像均為二維圖像,提高粘連性結(jié)節(jié)的識別準確率以及對三維圖像數(shù)據(jù)的處理,仍需要進一步的研究。3 實驗結(jié)果與分析
3.1 評價標準
3.2 肺結(jié)節(jié)良惡性分類
3.3 實驗對比分析
4 結(jié)束語