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