趙京霞,錢育蓉,南方哲,張 晗,行艷妮
新疆大學 軟件學院,烏魯木齊830046
乳腺癌是全世界婦女中發病率最高的一種惡性腫瘤,嚴重影響女性的身體健康。根據世界衛生組織報道,早期發現乳腺癌極大地增加了制定成功治療計劃和延長生命的機會[1]。當前醫學圖像的診斷主要依賴人工閱片完成,然而醫學圖像的急劇增加給人工閱片帶來了極大挑戰。計算機輔助診斷主要是對乳腺癌進行早期監測,更加快速、準確地進行乳腺癌的診斷,對乳腺癌的治療具有重要的意義。
目前國內外學者已經在乳腺疾病診斷方面做了大量研究。文獻[2]利用灰度共生矩陣從乳腺X光照片中提取了大量紋理特征,并結合支持向量機(Support Vector Machine,SVM)進行診斷。Ponraj等人分別使用LBP(Local Binary Pattern)和LDP(Local Directional Pattern)特征來表達乳腺圖像特征,并結合SVM進行乳腺疾病診斷。以上研究方法高度依賴人工特征選擇,獲取的特征往往是淺層的,不能有效地描述樣本的結構信息,難以區分高維特征間的關系,導致輔助診斷的準確度較低[3]。隨著深度學習的興起,在計算機輔助乳腺診斷領域越來越多的研究者青睞于卷積神經網絡(Convolutional Neural Networks,CNN)[4]。Arevalo等人將CNN和SVM分別作為特征提取器和分類器來對乳腺腫塊進行診斷,可達到86%的準確率,但在分類時僅考慮了最后一層的特征圖,沒有充分挖掘CNN不同層特征的多樣性和區分性[5]。Jiao等人分別用CNN中提取的中層特征和深層特征訓練兩個SVM分類器,然后根據兩個分類結果的相似性來確定診斷結果[6],其僅僅是針對良惡二分類問題取得了不錯的效果,但乳腺疾病診斷通常分為正常、良性以及惡性三大類。此外,SVM雖然具有良好的分類效果,但當特征維數較高時,SVM分類器會由于參數調整復雜使得分類準確率降低。因此,尋求一種理想的分類器會對診斷的準確度和效率產生影響。文獻[7]中Wang等人分別提取了形態特征和語義特征,用ELM分類器進行分類獲得了比SVM更好的效果。
針對以上問題,本文提出一種CNN多層特征融合(Multiple Feature Fusion,MFF)與極限學習機(Extreme Learning Machine,ELM)結合的CNN-MFF-ELM乳腺疾病診斷方法。首先利用CNN從乳腺X光圖像中提取多層特征圖,充分利用多層網絡的區分性特征;考慮到多層特征的多尺度問題,聯合從多尺度池化操作提取到的多層特征向量,形成一個具有多尺度多屬性的特征向量;構建ELM分類器,實現乳腺疾病的診斷。
分類準確率和效率是評價醫學圖像分類模型的兩個重要指標[8],能否有效地提取到圖像特征是影響這兩個指標的最大因素。CNN每層學習到的特征是不同的,淺層網絡包含更多層次信息,如紋理、邊緣等局部信息,而深層網絡包含抽象的語義、結構等全局信息[9-10]。此類特征融合可以充分利用圖像多層特征屬性,并且ELM的優勢在于,訓練過程中參數相比CNN少,可縮短訓練時間[11]。因此,使用CNN多層特征融合,并結合ELM分類器模型,前者可充分提取圖像各層特征,提高對模型診斷的準確率,后者可以在高準確率的基礎上縮短模型的訓練時間。
因此,為了充分利用CNN的特征提取的高效性、多層特征融合的全面性以及ELM訓練過程的時效性,本文提出CNN-MFF-ELM的算法結構。總體結構包括數據預處理、CNN特征提取、多特征融合以及ELM分類。本文框架如圖1所示。其中CNN-MFF-ELM的算法結構如圖2所示。
圖2 CNN-MFF-ELM結構圖
本實驗所使用的乳腺X光圖像來源于MIAS[12]數據集。該數據集共包含322幅大小為1 024像素×1 024像素的乳腺X光圖像,分為正常、良性和惡性三大類。正常圖像208幅,非正常圖像114幅,其中63幅代表良性,51幅代表惡性。
2.1.1 數據裁剪
MIAS數據集中的乳腺X光圖像均包含大量黑色的邊界區域,該部分不僅不包含有用的特征信息,還會造成實驗過程中的資源浪費。因此,將原始圖像裁剪為1 024像素×512像素后作為CNN的輸入。
2.1.2 數據增強
目前大量的實驗均證明了數據量的大小直接影響深度學習的性能。數據量不足時,容易產生過擬合現象。為了獲取足夠的樣本,通常采用數據增強的方式來擴充數據集的樣本量。常見數據增強方式有PCA白化、平移變換、隨機裁剪、旋轉變換和尺度變換等。本文采用旋轉的方式來實現數據集的擴充。該方式僅僅是圖像平面上的像素重排而沒有改變圖像的像素值,可以保留更多原始圖像的信息。將每個圖像以原點為中心分別旋轉θ角度。圖像旋轉的算法如算法1所示。
算法1圖像以原點為中心實現旋轉
輸入:原始的乳腺X光圖像。
輸出:更新后的乳腺X光圖像。
(1)定義變量w和h分別為原始圖像的寬和高;
(2)將角度變換成弧度;
(3)計算新圖像的寬度和高度;
(4)通過OpenCV得到旋轉矩陣;
(5)計算得到更新后的圖像。
經過旋轉變換后像素的坐標式為:
經過上述的數據增強處理后,原始的數據集規模得以擴充。由于每個圖像分別被旋轉了90°、180°和270°,現有數據集擴充為原始數據集的3倍,共包含966幅乳腺X光圖像。從數據集中隨機抽取70%的樣本作為訓練集數據,其余30%的樣本作為測試集數據。實驗數據集的分布如表1所示。
表1 實驗數據集分布
卷積神經網絡是一種受生物啟發的前饋網絡,其特征是稀疏的局部連通性和神經元間的權值共享性。CNN通常由輸入層、若干個交替的卷積層和池化層、全連接層以及輸出層構成,卷積和池化操作可以自動提取圖像中的特征。本文所提出的模型結構包括3個卷積層,分別用C1、C3和C5表示,3個池化層,分別用P2、P4和P6表示,以及1個全連接層F7。該模型中各層的參數如表2所示。
表2 模型的參數說明
CNN的卷積操作會對特征進行篩選與過濾,如果過濾掉的特征是有價值的信息,則會導致整個網絡的性能下降。文獻[13]對CNN的特征進行了可視化處理,表明了CNN不同層次的表征對應識別對象的不同特征。充分利用乳腺X光圖像的多層特征才能有效地提高診斷準確率。基于此,本文提出多特征融合的方式,將多層特征融合成一個特征向量來表達乳腺X光圖像的多個特征。
文獻[14]利用CNN的最后三層特征進行肝癌的診斷識別,并獲得了較高的準確率,表明此三層包含了豐富的特征信息。受益于此,本文也選擇CNN的最后三層特征來表達乳腺X光圖像中的多層次特征,然后利用多尺度池化操作將其融合成一個特征向量。
文獻[9]提到的空間金字塔池化是將多個池化操作得到的特征向量拼接成一個固定維度的特征向量,不僅可以保留圖像的空間位置信息,還可以使圖像特征具有多尺度性。本文提出的多尺度池化算法是基于空間金字塔池化的改進,每一層經多尺度池化操作后輸出4個不同尺度的特征矩陣,分別是1×1×m、2×2×m、3×3×m和4×4×m,其中m表示特征圖的數量,4個特征矩陣按列形成(30×m)×1的列向量作為ELM分類器的輸入。多尺度池化操作的示意圖如圖3所示。
圖3 多尺度池化操作示意圖
CNN的生成包括數據的前向傳播和誤差的反向傳播兩個過程。這兩個過程均需要使用大量樣本在反復迭代的過程中才能獲得較理想的網絡參數,且梯度下降算法需要調整所有參數,導致模型的訓練時間長。ELM算法通過隨機生成連接權重和偏差,避免了復雜的迭代訓練過程,因而縮短了模型的訓練時間,減少了計算量。
2.4.1 ELM分類器介紹
ELM是一種單隱層前饋神經網絡學習算法,一般由輸入層、隱含層和輸出層構成。輸入向量的維數決定輸入層神經元的個數,樣本類別決定輸出神經元的個數。相鄰層間的神經元全連接,每層內的神經元互不相連。ELM分類器的結構模型如圖4所示。
圖4 ELM分類器模型
輸入層輸入的是乳腺X光圖像的多屬性特征x,特征維數是P。隱藏層共有L個神經元,第i個神經元的輸出為:
其中,g代表激活函數,本文采用ReLU函數,wi表示第i個神經元和所有輸入節點間的連接權重,bi表示第i個神經元的偏置。輸入層和隱藏層的連接實際上是將P維空間特征映射到L維空間,則輸入一個特征向量x,其映射特征向量表示為:
輸出層輸出節點的個數為3,表示3種不同診斷結果,每一個輸出節點對應一種診斷結果。βi,j表示第i個神經元與第j個輸出節點之間的輸出權重,則第j個輸出節點的值表示為:
那么,輸入樣本x在隱藏層的輸出向量可表示為:
其中
則在檢測階段,當輸入樣本為x時,對應的診斷結果為:
2.4.2 ELM分類器訓練
ELM可以隨機初始化輸入的權重的偏置,因此在訓練過程中只需訓練輸出權重β。
假設有N個不同的輸入樣本(xk,tk),其中tk表示乳腺X圖像多個屬性特征向量xk對應的二進制乳腺疾病類別。那么訓練樣本的線性表達式為:
其中Y表示訓練樣本的實際輸出向量,表示為:
H表示訓練樣本的實際輸出向量,表示為:
則β可以表示為:
其中,HT是H的廣義逆矩陣。
綜上所述,ELM的訓練過程可用如下算法表示:
算法2 ELM分類器的訓練
輸入:原N個不同的輸入樣本,激活函數g,隱藏層節點數目L。
輸出:輸出節點的輸出向量yk。
(1)隨機生成隱藏層節點的參數ω和b;
(2)計算隱藏層的輸出矩陣H;
(3)計算隱藏層輸出權重β。
為了驗證本文算法的有效性,以MIAS數據集作為實驗數據,該數據集在2.1節已做過詳細介紹。
本文的實驗在CPU Intel Xeon 2.10 GHz,32 GB內存,Ubuntu 14.04系統下搭建的Caffe環境中進行。實驗環境的配置參數如表3所示。
表3 實驗環境的配置參數
為了驗證多層特征對乳腺疾病具有很好的診斷效果,對比了單層特征和多層特征在ELM分類器下的診斷準確率。此處的單層特征是通過CNN提取的斷層特征,多層特征是CNN的最后三層特征的融合。該實驗中隱藏層節點的個數L是影響診斷準確率的一個重要參數,隨著隱藏層節點數目增加,乳腺疾病診斷的準確率會提高,但訓練時間也會增加。綜合考慮準確率和時間,本文選取隱藏層節點數量L為10 000。實驗結果如圖5所示,利用多層特征融合的診斷準確率明顯高于單層特征下的診斷準確率,平均高出兩個百分點。
圖5 不同隱藏層數目下多特征與單特征準確率對比
此外,當隱藏層數量L<10 000時,準確率迅速提升,當L>10 000時,準確率增加緩慢。由圖中的實驗數據得知,當隱藏層節點數量L=10000時,多特征融合下的平均診斷準確率為97.13%,單特征下的平均診斷準確率為95.07%。多層特征充分展現了特征的全面性和多屬性,因而達到了理想的診斷準確率,而單層特征沒有充分利用圖像中的多特征,導致診斷準確率不理想。
為了進一步驗證算法的魯棒性,對有噪聲環境下的乳腺X圖像進行測試。在上述實驗的基礎上添加了隨機椒鹽噪聲后,分別在隱藏層數量為8 000、10 000和12 000時,進行了重復實驗,實驗結果對比如表4所示。
表4 不同參數下平均準確率對比
實驗結果顯示,在有噪聲環境下診斷準確率下降并不明顯,因此該模型具有較好的魯棒性。
為了驗證本文所使用的ELM分類器的優勢,將ELM分類器從診斷準確率、訓練時間和診斷時間三個層面分別與Softmax分類器和SVM進行對比,實驗結果如表5所示。
表5 不同分類器性能比較
從表5可知,ELM分類器的平均分類準確率高達97.13%,優于Softmax的95.51%以及SVM的95.90%。此外,ELM算法通過隨機生成連接權值和偏置,避免了復雜的迭代過程,訓練過程中需要調整的參數少,計算成本低,因此訓練時間也遠低于其他兩類分類器。而且ELM分類器的識別時間也縮短到了6.43 ms,達到了實時識別的應用要求。
深度學習算法最重要的特征之一就是具有較強的泛化能力。為了驗證本文所提出的方法是否具有較強的泛化能力,將該方法應用于新數據集進行驗證實驗。新的數據集選用DDSM(Digital Database of Screening Mammography)[15]的子集,共包含9 856幅乳腺X光圖像,其中正常圖像有2 780幅,良性圖像有3 420幅,惡性圖像有3 656幅。從該數據集隨機選取70%作為訓練集,其余30%作為測試集進行驗證實驗。實驗結果顯示,本文方法在DDSM數據集下的診斷平均準確率為96.15%,平均診斷時間為8.21 ms,表明本文方法具有良好的泛化能力。
為了說明本文方法的有效性,將本文提出的CNNMFF-ELM方法與實驗數據集是MIAS或者DDSM的其他乳腺疾病診斷方法進行對比。不同檢測方法下乳腺疾病檢測準確率對比實驗結果如表6所示。
表6 不同檢測方法下乳腺疾病檢測準確率對比
實驗結果顯示本文方法在MIAS數據集和DDSM數據集下的診斷平均準確率均略高于其他方法。表明本文提出的方法能夠將多尺度多屬性的特征進行融合,從而有效地描述樣本的結構信息,獲得更多區分性的特征,提高了計算機輔助診斷的準確率。
為了充分利用卷積神經網絡多層特征的全面性和區分性,同時減少計算成本和訓練時間,本文提出了一種CNN多層特征融合和極限學習機結合的CNN-MFFELM乳腺疾病診斷方法。利用CNN從乳腺X光圖像中提取多層特征,避免了傳統CNN利用單特征進行分類導致特征缺失的問題;然后利用多尺度池化操作將最后三層的特征向量融合成一個具有多屬性多特征的特征向量,豐富了圖像的特征表達;使用ELM分類器進行乳腺疾病的診斷,在保證診斷準確率的同時,降低訓練和診斷時間。實驗結果表明,本文提出的方法能夠有效提高乳腺疾病診斷的準確率,縮短訓練和診斷時間,滿足實際應用的要求。
下一步研究工作將著眼于:(1)嘗試構建深度學習模型的并行化框架,來進一步提升訓練速度;(2)繼續優化網絡結構,來進一步提升乳腺疾病診斷準確率,并嘗試將其應用于其他模式識別場景中。