張騫予,管 姝,謝紅薇,強 彥,劉愛媛
(1.太原理工大學 計算機科學與技術學院,太原 030024;2.山西大醫院,太原 030000)
近年來,圖像識別技術引起學術界的關注,廣泛應用在交通安全、電力監測、醫學輔助診斷等領域。在醫學輔助診斷方面,以乳腺腫瘤識別為例,傳統圖像識別技術首先通過濾波去噪對圖像進行預處理,再通過圖像分割得到感興趣區域,提取圖像的細節特征,如紋理特征、灰度特征、形狀特征等,結合分類器,如BP神經網絡、支持向量機、決策樹等,以實現腫瘤良惡性分類。
CHANG et al[1]結合BP神經網絡和遺傳算法對乳腺腫瘤進行分類;相比只用BP神經網絡進行分類,訓練集ROC曲線下面積從0.91提高到0.93,測試集ROC曲線下面積大約為0.83.雖然優化效果并不明顯,但是仍然比只用BP神經網絡達到的效果好。MAGLOGIANNIS et al[2]將支持向量機用于乳腺癌診斷,并與貝葉斯分類器及人工神經網絡在靈敏度、特異性和準確性方面進行對比研究;研究證明,SVM相對于其他兩種具有更高的優越性。ELOUEDI et al[3]提出了基于決策樹和聚類的乳腺癌混合診斷方法,并采用威斯康星州乳腺癌數據庫進行實驗。結果表明,聚類方法能有效提高乳腺癌良惡性的分類效果。然而,在實際應用中,圖像分割難以將乳腺腫瘤與乳腺組織完全區分,特征選取主要依賴于人工手動設計特征[4-5],感興趣區域分割、特征選取等都直接影響到分類結果的好壞。
因此,本文提出一種基于深度特征學習的圖像自適應識別算法,如圖1所示。在卷積操作后,結合批量歸一化(batch normalization,BN)[6]與參數化線性修正單元(parametric rectified linear unit,PReLU)[7]方法,構建自適應卷積神經網絡模型CNN-BN-PReLU,避免了傳統算法中人工手動設計復雜的特征提取過程,對圖像的平移、扭曲、縮放、旋轉具有高度不變性[8]。

圖1 基于深度特征學習的圖像自適應目標識別算法Fig.1 Image adaptive target recognition algorithm based on deep learning features
深度卷積神經網絡(convolutional neural network,CNN)是一個多層的神經網絡,其最大的特點是通過局部連接和權值共享來減少訓練參數。在CNN中,乳腺圖像可以作為網絡最底層的原始輸入,再依次傳輸到下一層,每層通過一個濾波器來提取到圖像數據的最顯著特征,輸出結果是圖像的分類識別結果。這種多層的學習模式可以幫助發現數據的復雜結構,提高圖像的識別準確率。
圖2為本文所采用卷積神經網絡模型的結構示意圖。它主要由3個卷積層(C1,C3,C5)、3個池化層(S2,S4,S6)和1個全連接層(F7)組成。網絡的輸入為227×227像素大小的乳腺鉬靶圖像,包含每個圖像塊的R通道信息、G通道信息及B通道信息。

圖2 本文所用卷積神經網絡結構圖Fig.2 Structure of the convolution neural network used in this paper
C1層擁有16個尺寸為3×3的卷積核,步長為2,該層由16個特征圖組成,每個特征圖的大小為113×113;S2層是池化層,池化區域大小為3×3,步長為2,該層由16個大小為56×56的特征圖組成;C3層擁有16個4×4的卷積核,步長為1,卷積后將得到16個大小為53×53的特征圖;S4層中池化區域大小為3×3,步長為2,由16個大小為27×27的特征圖組成;C5層擁有16個5×5的卷積核,步長為1,由16個大小為23×23的特征圖組成;最后輸出層為全連接層,包含2個神經元,每個神經元對應一種乳腺腫瘤類別。
卷積層是CNN的核心部分,主要是通過卷積核來作特征提取。該層通過卷積核對上一層的特征映射圖作卷積運算,然后通過激活函數f進行輸出,以此得到圖3中各個卷積層的輸出特征映射圖。卷積層操作可以定義為
(1)
式中:hi和yj分別表示輸入特征映射圖和輸出特征映射圖;cij是卷積核;*表示2維卷積運算;bj表示偏置。cij和bj是隨著網絡訓練來逐步學習到的參數。

圖3 卷積操作后的特征映射圖Fig.3 Feature map after convolution operation
池化層是在上一層卷積特征映射后進行一個下采樣操作的過程,它是將輸入圖像分割成不重疊的矩形,對于每個矩形取最大值或平均值作為下一層的特征值。池化操作不僅能夠極大地降低特征向量的維度,還能夠有效地防止過擬合[9]。圖4所示為經過S2,S4,S6層池化后得到的特征映射圖。池化操作采用最大池化(Max pooling),其定義如下:

圖4 池化操作后的特征映射圖Fig.4 Feature map after pooling operation
(2)

批量歸一化(BN)算法本質上是一種可學習的歸一化方法,它使每一層擁有服從相同分布的輸入數據,從而可以使用較大學習率進行訓練,加快訓練速度,克服協方差偏移的影響。BN算法對每個神經元引入兩個可學習參數,進行變換重構。具體公式如下。
1) 歸一化處理(近似白化處理)
(3)

2) 變換重構
(4)
每一個神經元都有一對這樣的參數γ和β.γ和β需要利用反向傳播算法進行訓練求出。這樣當γ和β滿足式(7)時,也就能夠恢復出原始層所學習的特征。

(5)
3) BN網絡層的前向傳播過程為:

(6)
(7)

針對ReLU[10]神經單元在訓練時可能會死亡和輸出具有偏移現象的情況,采用參數化線性修正單元PReLU來取代ReLU作為神經元的非線性激活函數。PReLU可以自適應地從數據中學習參數,具有錯誤率低、收斂速度快的特點,能夠在額外計算成本忽略不計的情況下提高識別的準確率。PReLU函數的數學表達式為

(8)
式中,aj表示第j個通道上用來控制負激活部分的一個變量,可以改變在不同信道上的斜率,從而進行非線性激活。
實驗所用數據來源于南佛羅里達大學的公共乳腺癌數據庫DDSM[11],包括1 431個病例,每個病例均有左右乳房各兩張圖片及相關的病灶信息。乳腺鉬靶X線攝影圖像原有大小大約為3 000×5 000,病灶區都有2位放射學專家進行標記。因原始數據庫中圖像包含過多的多余信息,為了簡化訓練過程,先對感興趣區域(ROI)進行提取且剪裁為227×227,將該區域作為卷積神經網絡模型的輸入,其中選擇良性圖片634張、惡性圖片599張,將數據集分為訓練集和測試集,并且通過五折交叉驗證來評估CNN模型分類效果。
因乳腺腫瘤與普通乳腺組織很難分辨,現有的訓練圖像很少且圖像質量較差。在這樣的圖像中訓練CNN模型,網絡收斂較慢,識別效果也相對較差。如圖5所示,通過對訓練集中乳腺圖像分別旋轉90°,180°,270°,使訓練數據擴展為3 099張。這樣一種數據的增強不僅可以使CNN更容易提取腫瘤特征,而且旋轉后的腫瘤特征也會維持不變。

圖5 數據增強Fig.5 Data augmentation
實驗通過訓練時間和識別率來評價不同網絡的優化性能,并針對不同參數(網絡層數、卷積核數目等)配置,作出系統評估。研究采用開源深度學習框架CAFFE[12],該框架是基于Ubuntu14.04操作系統和Inter(R)Core(TM) i7-4790 CPU@3.60 GHz對CNN進行訓練。
卷積神經網絡作為一個多層感知器,網絡層數是決定網絡分類效率的重要因素。網絡層數太多,會造成訓練參數增加、訓練速度緩慢、訓練時間過長等問題,還容易出現過擬合現象。但如果網絡層數太少,網絡無法發現數據的復雜結構、提取準確數據特征,會使得網絡分類準確率不高。因此,不同網絡層數對于網絡識別效率有著重要影響。為了選擇合適的網絡層數,使用逐層增加卷積流的形式,一個卷積流包括一個卷積層和一個池化層,在隨機梯度下降法基礎上,從1個卷積流開始實驗,實驗結果如圖6所示。從圖6中可以看出,對于DDSM數據集,隨著卷積流數目的增加,分類準確率會逐漸上升而后呈下降趨勢。卷積流個數為3時,識別準確率最高。在選擇好卷積流數目后,選用1個全連接層進行分類,全連接層神經元個數為2.

圖6 識別準確率隨卷積流數目變化曲線Fig.6 Recognition accuracy rate with the number of convolution flow curve
為了驗證卷積核個數對網絡性能的影響,假設每個卷積層有n個卷積核,卷積層位置為i,第一層卷積核數目固定為16,其中n={16,32,64}、i={2,3}.則共有9種不同的配置,分別為{16,16,16}、{16,16,32}、{16,16,64}、{16,32,16}、{16,32,32}、{16,32,64}、{16,64,16}、{16,64,32}、{16,64,64},具體網絡參數見1.1節圖2.本網絡模型訓練迭代5 000次,每1 000次迭代保存一次被訓練的模型。初始學習率設為1.0×10-3,學習率衰減方式為Poly,p=0.5.如圖7所示,當3個卷積層中卷積核數目分別為{16,16,16}時識別效果最好。

圖7 9種不同配置的識別精度Fig.7 Recognition accuracy of 9 different configurations
本文分別采用批量歸一化算法和參數化線性修正單元PReLU對卷積神經網絡進行優化,并命名4個模型:
1) CNN-ReLU,卷積層激活函數采用ReLU(即未優化前模型);
2) CNN-PReLU,卷積層激活函數采用PReLU(即僅采用PReLU優化的模型);
3) CNN-BN-ReLU,卷積層中卷積操作后先通過BN算法進行批量歸一化處理,再通過ReLU進行非線性輸出(即僅采用BN算法優化的模型);
4) CNN-BN-PReLU,卷積層中卷積操作后先通過BN算法進行批量歸一化處理,再通過PReLU進行非線性輸出(即同時采用兩種方法優化的模型)。
如表1所示,分別對以上4種模型在DDSM數據集實驗的訓練時間、識別準確率、敏感度、特異度及AUC 5方面進行評估分析,其中敏感度和特異度分別反映CNN網絡的誤診率和漏診率。ROC曲線直觀地反映了不同CNN網絡的分類性能。AUC是ROC的曲線下面積,AUC值越接近于1,說明分類效果越好。圖8為4種模型的ROC曲線圖,橫坐標為特異度(Specificity),縱坐標為敏感度(Sensitivity)。

表1 不同CNN模型實驗結果對比Table 1 Comparison of experimental results of different CNN models

圖8 不同CNN模型的ROC曲線對比圖Fig.8 Comparison of ROC curves for different CNN models
由圖8可以看出,CNN-BN-PReLU模型最接近點(0,1),即識別效果最好。
表1結果顯示:在同等訓練條件下,CNN-BN-PReLU模型在識別準確率、敏感度、特異度及AUC分數上均明顯優于其余3種模型CNN-ReLU,CNN-PReLU和CNN-BN-ReLU,該模型相比于優化之前的CNN-ReLU模型準確率提高了8.5%,達到了較好的識別效果。在訓練時間上,由于CNN-BN-PReLU模型加入PReLU,時間耗費略高于CNN-BN-ReLU,但是仍然比CNN-ReLU減少了約71.83%,比CNN-PReLU少了約68.25%.同樣可以看出,雖然分別用一種方法優化后的網絡模型CNN-PReLU和CNN-BN-ReLU在各個指標上均有顯著提升,依舊沒有同時采用兩種方法改進后的CNN-BN-PReLU模型識別性能高。
BN算法作為一個網絡層應用在CNN中,BN層作用在激活函數前后的識別性能不同。為了選擇最優自適應網絡結構,針對該問題進行實驗比對,將在卷積操作后先通過激活函數PReLU進行非線性輸出,再通過BN算法進行批量歸一化處理的卷積神經網絡模型稱為CNN-PReLU-BN模型。結果如表2所示。表2的實驗結果表明,兩種模型的訓練時間基本相同,但CNN-BN-PReLU的準確率、敏感度、特異度及AUC值分別高于前者3.5%,5%,5%及0.03,即在網絡參數和訓練參數均保持一致的情況下,BN作用在PReLU之前的表現性能更優。因此本文選擇CNN-BN-PReLU模型作為自適應卷積神經網絡模型。

表2 BN算法作用在PReLU前后的識別性能對比Table 2 Comparison of recognition effect of BN algorithm before and after PReLU
在同一數據集上,比較本文方法CNN-BN-PReLU與兩種經典卷積神經網絡模型LeNet-5[13]和AlexNet[14]的性能。LeNet-5是LECUN et al首次提出應用于手寫數字識別的卷積神經網絡,網絡包含2個卷積層、2個池化層和2個全連接層。AlexNet包括5個卷積層、3個池化層和3個全連接層。在此對比試驗中,保留網絡基本結構不變,將全連接層輸出改為Softmax[15]函數,且輸出類別為2類。
從表3和圖9可以看出,與兩種經典卷積神經網絡模型相比,本文方法在準確率、敏感度、特異度以及AUC值方面具有更高的優越性,分別達到了90.50%,96.00%,87.00%和0.91.此處所用LeNet-5和AlexNet網絡參數較少,結構并不適合該乳腺圖像腫瘤目標識別問題,因而效果欠佳。實驗表明,相比于應用比較廣泛的LeNet-5和AlexNet模型,本文方法能有效地提高識別準確率,降低乳腺腫瘤的誤診率和漏診率。

表3 與經典卷積神經網絡模型的識別效果對比Table 3 Comparison with the recognition effect of classical CNNs

圖9 與經典CNN模型的ROC曲線對比圖Fig.9 Comparison of ROC Curve with Classical CNNs
卷積神經網絡具有自主學習深度特征的能力,它降低了傳統方法中圖像分割和人工設計特征進行特征提取的復雜性。利用這一特性,提出基于深度特征學習的圖像自適應識別算法。該方法采用批量歸一化算法和參數化線性修正單元對卷積神經網絡結構進行改進。首先通過大量對比實驗,詳細地介紹了網絡層數與卷積核個數的設計與選擇,為卷積神經網絡的構建提供了參考。其次通過實驗驗證同時采用批量歸一化算法和PReLU改進后的CNN-BN-PReLU模型在訓練時間、識別準確率敏感度、特異度及AUC值上得到了顯著的改善,有效地提高了網絡的識別精度、降低了漏診率及誤診率。最后對批量歸一化算法作用在PReLU前后的網絡性能進行比較,結果證明批量歸一化算法作用在PReLU之前時,識別效果達到最優,因此確定CNN-BN-PReLU模型為自適應卷積神經網絡模型。將本文模型與兩種經典卷積神經網絡模型進行比較,表明CNN-BN-PReLU得到了更高的識別準確率,并能顯著縮短訓練時間。
在今后的工作中,一方面繼續探索比較不同的深度卷積神經網絡模型如VGG,GoogleNet與ResNet等用于醫學圖像識別的能力;另一方面對CNN結構和訓練參數的選擇進行優化和完善,同時利用并行化方式對網絡進行訓練,進一步提高腫瘤識別的準確率,使之更好地應用于實際。