齊 瑩 劉振丙 潘細(xì)朋 楊輝華,2
1(桂林電子科技大學(xué)電子工程與自動化學(xué)院 廣西 桂林 541004)2(北京郵電大學(xué)自動化學(xué)院 北京 100876)
據(jù)世界衛(wèi)生組織(WHO)統(tǒng)計(jì)在女性中乳腺癌是導(dǎo)致癌癥死亡的第二大常見癌癥,所以乳腺癌的早期預(yù)測也是尤為重要[1]。有絲分裂檢測就是在乳腺癌早期預(yù)測的一個重要過程[2]。
近年來,對于乳腺癌病理圖像中的有絲分裂檢測已有一些計(jì)算機(jī)輔助方法。比如Chen等[3]提出了一種深度級聯(lián)網(wǎng)絡(luò),他們將不同的兩個卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行級聯(lián),可以深層訓(xùn)練數(shù)據(jù)但該模型遇到耗時較大等問題。Wang等[4-5]研究將CNN提取的特征與人工手工標(biāo)記特征進(jìn)行融合,可以充分利用各特征,最終有絲分裂檢測的準(zhǔn)確率達(dá)到了0.84。Abdulkadir等[6]首先利用CNN進(jìn)行特征提取,然后再將提取的高維特征進(jìn)行降維,使分類效果更加準(zhǔn)確。Dan等[7]使用五層的卷積神經(jīng)網(wǎng)絡(luò),包含卷積層和最大池化層,最后采用全連接層進(jìn)行訓(xùn)練。但是由于網(wǎng)絡(luò)參數(shù)較多,消耗時間較大,需要利用GPU進(jìn)行加速處理。Albarqouni等[8]提出一種多尺度卷積神經(jīng)網(wǎng)絡(luò)模型已成功應(yīng)用到醫(yī)學(xué)背景下,在有絲分裂檢測比賽的數(shù)據(jù)上也取得不錯的效果。Pourakpour等[9]提取CLBP和GLCM等紋理特征,利用SVM分類器對這些紋理特征進(jìn)行分類。這些有絲分裂的計(jì)算機(jī)輔助檢測方法各有優(yōu)點(diǎn),但也存在訓(xùn)練時間較長等缺點(diǎn)。
盡管這些檢測方法已經(jīng)達(dá)到不錯的效果,但離實(shí)際應(yīng)用還有一些差距,而且有些網(wǎng)絡(luò)計(jì)算過程復(fù)雜[8,11-12]。本文在考慮網(wǎng)絡(luò)復(fù)雜性的基礎(chǔ)上,提出了一種基于深度卷積神經(jīng)網(wǎng)絡(luò)算法,在訓(xùn)練之前,先將圖像進(jìn)行ZCA預(yù)處理,再利用改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)提取高維特征同時進(jìn)行GPU加速,最后利用Softmax進(jìn)行分類,可以更快、更準(zhǔn)確地將有絲分裂核與非有絲分裂核進(jìn)行區(qū)分。因此,本文提出的計(jì)算機(jī)輔助方法可以進(jìn)一步實(shí)現(xiàn)乳腺癌的早期分級預(yù)測工作。
本文提出的有絲分裂檢測算法分為四個步驟:獲取候選集、ZCA白化、改進(jìn)深度卷積模型訓(xùn)練和Softmax分類。具體算法流程圖如圖1所示。第一步,將獲取的乳腺癌切片病理圖片進(jìn)行處理篩選出候選集,即有絲分裂小塊與非有絲分裂小塊;第二步,采用ZCA白化方法對候選集小塊進(jìn)行預(yù)處理;第三步,采用改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)模型對預(yù)處理后的候選集圖片進(jìn)行訓(xùn)練,逐層提取數(shù)據(jù)的高維特征;第四步,利用Softmax分類器實(shí)現(xiàn)有絲分裂的檢測,得到最終的分類結(jié)果。其中基于ZCA白化和改進(jìn)深度卷積模型融合是整個算法的核心部分。
圖1 深度卷積神經(jīng)網(wǎng)絡(luò)算法流程圖
圖2所示為一張乳腺癌細(xì)胞顯微鏡下的病理圖像。利用人工標(biāo)記數(shù)據(jù),可以通過分割將整張乳腺癌切片細(xì)胞分割成多個正負(fù)類的樣本,即有絲分裂核和非有絲分裂核。通過旋轉(zhuǎn)等處理手段擴(kuò)充樣本。如圖3(a)表示分割后的有絲分裂核,如圖3(b)表示分割后的非有絲分裂核。
圖2 乳腺癌顯微病理圖片
(a) 有絲分裂核 (b) 非有絲分裂核圖3 獲取候選集
ZCA白化是常用的白化處理方法之一[15]。通過使用ZCA白化可以保證數(shù)據(jù)各維度的方差相同,其主要作用是去除數(shù)據(jù)之間的相關(guān)性,且盡量使處理之后的數(shù)據(jù)接近原始輸入數(shù)據(jù)。對于含有m個樣本的數(shù)據(jù)集{x(1),x(2),…,x(m)},假設(shè)每個樣本的維度為n,即x(1)∈Rn,對其進(jìn)行ZCA白化的具體計(jì)算步驟如下:
1) 白化處理前,先要對數(shù)據(jù)亮度和對比度歸一化。對于每個像素點(diǎn)x(i)減去圖像灰度均值,然后再除以標(biāo)準(zhǔn)差。為使分母不為0,會在分母中加入一個很小常數(shù)e,計(jì)算公式如下:
(1)
2) 計(jì)算訓(xùn)練樣本的協(xié)方差矩陣,計(jì)算公式如下:
(2)
3) 對式(2)進(jìn)行SVD分解,得到U向量。利用UTx得到數(shù)據(jù)集經(jīng)過旋轉(zhuǎn)后的結(jié)果xroi,即:
[V,D]=eig(Σ)
(3)
(4)
(5)
5) 將xPCA白化,i左乘上一個特征向量矩陣U,得到最終的ZCA白化結(jié)果,其計(jì)算公式如下:
xZCA白化=UxPCA白化
(6)
通過ZCA白化使得x數(shù)據(jù)空間映射到xZCA白化空間,這使得特征向量各維度方差相等,降低了數(shù)據(jù)間的相關(guān)性。
本文提出的改進(jìn)深度卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)詳細(xì)介紹如下。兩種改進(jìn)的網(wǎng)絡(luò)模型分別是基于LeNet網(wǎng)絡(luò)和AlexNet網(wǎng)絡(luò),其區(qū)別在于AlexNet的網(wǎng)絡(luò)層數(shù)加深,并利用GPU進(jìn)行加速計(jì)算。
2.3.1 改進(jìn)LeNet網(wǎng)絡(luò)結(jié)構(gòu)
本文主要以CNN模型為基礎(chǔ)進(jìn)行深度卷積神經(jīng)網(wǎng)絡(luò)的改進(jìn)。主要結(jié)構(gòu)由卷積層(conv)、池化層(pooling)以及全連接層構(gòu)成。卷積層是對圖像的每個點(diǎn)都進(jìn)行卷積運(yùn)算,能夠充分提取圖像的特征;池化層就是對圖像進(jìn)行二次采樣,得到新的圖像特征,有最大池化(max-pooling)、平均池化(Average Pooling)等,其目的是可以減少過擬合;而全連接層則是整理特征形式便于輸入分類器。具體網(wǎng)絡(luò)流程如圖4所示。
圖4 算法1網(wǎng)絡(luò)流程圖
本文中所有卷積層激活函數(shù)都采用ReLU函數(shù),即S(z)=max(0,z)。另外在訓(xùn)練時加入了Dropout的優(yōu)化方法,降低了模型的過擬合趨勢,提高了模型的泛化能力。
算法1中網(wǎng)絡(luò)模型各層參數(shù)結(jié)構(gòu)如表1所示。
表1 模型參數(shù)表
2.3.2 改進(jìn)AlexNet網(wǎng)絡(luò)結(jié)構(gòu)
由于本文所研究的數(shù)據(jù)是顯微下的病理圖像,成百上千的細(xì)胞,形態(tài)多樣,有絲分裂核的各個時期和非有絲分裂核,因此這種圖像不容易區(qū)分目標(biāo)細(xì)胞,考慮傳統(tǒng)的圖像識別分類方法需要進(jìn)行非常復(fù)雜的特征提取,利用CNN能夠自行學(xué)習(xí)圖片特征的優(yōu)勢。本文設(shè)計(jì)一種改進(jìn)AlexNet模型網(wǎng)絡(luò)模型。
改進(jìn)的AlexNet總共包括8層,其前5層是conv,后面3層是full-connected。具體網(wǎng)絡(luò)流程如圖5所示。
圖5 算法2網(wǎng)絡(luò)流程圖
算法2中網(wǎng)絡(luò)模型的具體步驟如下:
(1) 由Input輸入候選集數(shù)據(jù)大小為227×227×3。
(2) 第一層首先經(jīng)過96個卷積核大小為11×11,步長為4,得到的數(shù)據(jù)大小為55×55×96,通過ReLU激活函數(shù),數(shù)據(jù)大小仍為55×55×96,然后經(jīng)過max-pooling,大小為3×3,步長為2,再經(jīng)過歸一化最后輸出數(shù)據(jù)大小為27×27×96的特征圖。
(3) 第二層采用卷積核大小為5×5,步長為1,卷積后得到特征圖數(shù)據(jù)大小為27×27×256。后面過程與第一層一模一樣,最后輸出數(shù)據(jù)大小為13×13×256。
(4) 第三層和第四層只進(jìn)行卷積和ReLU,卷積核大小變?yōu)?×3,卷積核的個數(shù)設(shè)為394個,輸出特征圖數(shù)據(jù)大小為13×13×394。
(5) 第五層與第一層的處理一樣,只是最后沒有歸一化,處理后輸出數(shù)據(jù)大小為6×6×256。
(6) 最后經(jīng)過三層的全連接,通過softmax分類器得到分類結(jié)果。
Softmax分類器是一種常用的回歸分類器,它可以將分類問題轉(zhuǎn)化為概率問題[18]。首先構(gòu)造假設(shè)函數(shù),計(jì)算每個樣本被分到兩種類別中的概率,然后通過調(diào)參,使正確標(biāo)簽所對應(yīng)概率最大。這種分類器的分類準(zhǔn)確率高,還可以充分逼近復(fù)雜的非線性關(guān)系,同時計(jì)算量相對較小,訓(xùn)練速度也較快,所以在本文兩種改進(jìn)模型全連接層之后都采用Softmax分類器進(jìn)行分類。
實(shí)驗(yàn)環(huán)境為:Python 3.5和tensorflow 1.4版本,采用服務(wù)器GPU加速,服務(wù)器型號為DGX-1,顯卡型號為p100以及MATLAB 2014b環(huán)境下進(jìn)行仿真與實(shí)驗(yàn)的對比。本實(shí)驗(yàn)我們選擇對40倍顯微鏡下的顯微病理細(xì)胞圖片中的有絲分裂核和非有絲分裂核進(jìn)行分類,擴(kuò)展后的有絲分裂核和非有絲分裂核各69 870張,其中訓(xùn)練集69 870張,測試集30 805張,并且分類結(jié)果與其他分類方法進(jìn)行了對比,其中所有乳腺癌病理組織顯微圖片均來自于ICPR2012有絲分裂檢測大賽官網(wǎng)。
在乳腺癌病理圖像中,為了方便對有絲分裂檢測效果的分析,實(shí)驗(yàn)采用了預(yù)測精度(Accuracy)、準(zhǔn)確率(Precision)、召回率(Recall)和綜合評價指標(biāo)(F-measure)進(jìn)行實(shí)驗(yàn)效果的評估分析。指標(biāo)的計(jì)算公式分別如下:
(7)
(8)
(9)
(10)
式中:TP是檢測為正類樣本實(shí)際上也是正類樣本的個數(shù);FP是檢測為負(fù)類樣本實(shí)際上是正類樣本的個數(shù);FN是檢測為負(fù)類樣本實(shí)際上也是負(fù)類樣本的個數(shù);TN是檢測為正類樣本實(shí)際上是負(fù)類樣本的個數(shù)。
將所有候選集的三維數(shù)據(jù)作為輸入,送入上述設(shè)計(jì)的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中。全連接層將最后一個pooling層得到的特征平面構(gòu)成一個特征向量,作為圖像的特征表達(dá)以及Softmax分類器的輸入,最終得到圖像的分類結(jié)果。表2給出了本文提出算法1的分類精度(Accuracy),另外為了評價本文提出算法的效果,選取了常見的圖像分類方法LSVM[19]以及其他學(xué)者提出的CNN模型方法[20]作為對比算法與本文算法1的進(jìn)行結(jié)果比較。由對比結(jié)果可以看出,利用算法1模型訓(xùn)練得到分類精度效果最好,達(dá)到了0.924 0,比LSVM和傳統(tǒng)的CNN算法要好。
表2 分類精度對比結(jié)果
如圖6繪制出了算法1的均方誤差曲線,可以看出本算法能夠在短時間內(nèi)的得到收斂,誤差逐漸減小并趨于穩(wěn)定。圖7的ROC曲線也可以看出算法會在短時間內(nèi)收斂。
圖6 均方誤差曲線
圖7 ROC曲線
接下來,表3給出了有絲分裂核與非有絲分裂核檢測準(zhǔn)確率(Precision)、召回率(Recall)和綜合評價指標(biāo)(F-measure),同時在對比LSVM和傳統(tǒng)的CNN算法等分類方法。通過對比算法1與其他方法,可以看出算法1實(shí)驗(yàn)結(jié)果在精確度和綜合指標(biāo)F值都有更好的效果,相比其他方法的結(jié)果,算法1有絲分裂核與非有絲分裂核檢測Precision和F-measure的平均值分別達(dá)到了0.927 8和0.921 5,同時還能保證召回率(Recall)兩類的平均值為0.923 8。
表3 分類評價指標(biāo)對比結(jié)果
算法1基于的LeNet模型與算法2基于的AlexNet模型均是圖像分類當(dāng)中常見的模型,而AlexNet模型是基于多GPU并行加速的深層神經(jīng)網(wǎng)絡(luò),對于本實(shí)驗(yàn)的數(shù)據(jù)集來說,數(shù)據(jù)量還是比較大的,使用AlexNet模型訓(xùn)練可以獲得更高的精度。實(shí)驗(yàn)所用到算法1和算法2改進(jìn)的模型對比見表4,其中總層數(shù)只計(jì)算卷積層和全連接層。
表4 模型結(jié)構(gòu)對比結(jié)果
表5中給出算法1與算法2的精度(Accuracy)和損失率(Loss),可以看出,算法2得到的Accuracy更高為0.964 4,Loss更低為0.075 9。算法1和算法2的檢測識別時間分別為543.19和115.68 s,遠(yuǎn)遠(yuǎn)小于訓(xùn)練時間,相較于實(shí)際醫(yī)學(xué)專家的人工檢測更是在保證精度的前提下快速完成識別任務(wù)。一方面解決了該檢測對工作人員的專業(yè)要求,另一個方面解決了人工耗時較大的問題。
表5 有絲分裂檢測時間對比結(jié)果
采用算法2訓(xùn)練模型的測試集和驗(yàn)證集的損失率(Loss)和精度(Accuracy)隨迭代次數(shù)的增長而改變?nèi)鐖D8中的曲線所示。本文選取訓(xùn)練集的百分之十作為驗(yàn)證集,可以看出,測試集的效果要比驗(yàn)證集稍微差些,但也是不錯的。整體的損失率在隨迭代次數(shù)的增加而不斷減小,精度在不斷提升。
圖8 損失函數(shù)曲線
由于有絲分裂核形態(tài)復(fù)雜以及多樣性,本文提出了一種基于ZCA白化和改進(jìn)深度卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算機(jī)輔助有絲分裂檢測算法,并且在有絲分裂大賽的數(shù)據(jù)集中得到進(jìn)一步驗(yàn)證。首先對原顯微病理圖像進(jìn)行處理,獲取正負(fù)類樣本候選集并進(jìn)一步擴(kuò)增;然后對候選集細(xì)胞圖像進(jìn)行ZCA白化預(yù)處理;接下來將處理后的細(xì)胞圖像輸入改進(jìn)的深度卷積神經(jīng)網(wǎng)絡(luò)模型中訓(xùn)練,最后利用Softmax分類器得到分類結(jié)果。通過實(shí)驗(yàn)對比分析發(fā)現(xiàn),相較于傳統(tǒng)算法,本文提出的模型在有絲分裂檢測識別上具有很高的精度,且適用于復(fù)雜背景、邊界模糊的染色乳腺細(xì)胞圖像中。在未來的工作中,我們會進(jìn)一步探索更優(yōu)的分類算法,并在正負(fù)樣本不平衡的數(shù)據(jù)集中實(shí)現(xiàn)更好的檢測效果。