龔 安 呂秀明
(中國石油大學(華東)計算機科學與技術學院 山東 青島 266580)
根據世界衛(wèi)生組織下屬的國際癌癥研究所(IARC)發(fā)布的報告[1],乳腺癌是全世界婦女的高發(fā)病率和死亡率最常見疾病,患者占25.2%,發(fā)病率為14.7%,位居女性癌癥發(fā)病之首,每年奪去數百萬人的生命。癌癥的早期診斷對患者及時得到治療具有重大意義。目前在臨床上,組織病理圖像分析是乳腺癌診斷時最廣泛應用的方法,也是對組織學圖像進行準確分類時醫(yī)生制定治療方案的重要依據。
傳統乳腺癌病理分析主要是通過病理專家在顯微鏡下通過人工對病變組織和細胞學特征進行分析,確定其病理類型,但這種分析方法存在世界病理學家短缺、結果主觀性強、組織病理圖像復雜等問題,因此需要開發(fā)更準確、更高效組織病理圖像分析方法緩解這一難題。在所有的組織病理學圖像分析中,最重要的是分類任務。近年來,深度學習在圖像識別和分類領域的廣泛應用和取得的顯著成果,為深度學習在乳腺癌病理圖像分類研究奠定基礎,從而促使許多學者在這一方面進行了很多研究,并取得了一系列重要的研究進展。
目前基于計算機輔助診斷的乳腺癌病理圖像分類方法主要包括兩種:(1) 基于人工特征的傳統乳腺癌病理圖像的分類方法,這一方法常采用圖像分割技術提取圖像的形態(tài)和紋理等相關特征,如基于細胞核分割方法,然后使用支持向量機(SVM)[2]、隨機森林(RF)[3]和主成分分析(PCA)等在內的傳統分類器完成2級或3級分類。Zhang等[4]使用一種基于人工提取特征的PCA方法,實現對361幅乳腺癌病理圖像分類,準確率達到92%。Wang等[5]利用形態(tài)和紋理特征將乳腺癌病理圖像分為正常和惡性,但不能進一步區(qū)分具體類型。Kowal等[6]針對細胞核分割,比較和測試了多種不同的算法,這些實驗均在 500個包含良惡性腫瘤的圖像數據集上進行,最終分割準確率達到96%~100%。但上述分類算法基本上是針對小型數據集,因缺乏統一標準,使算法和準確率都不具可比性。更重要的是,該方法存在需要較高專業(yè)知識、提取特征時間長和提取高質量特征難等缺點,模型泛化能力差,以上問題嚴重制約了傳統機器學習算法在乳腺癌病理圖像分類中的發(fā)展。(2) 目前較為流行的基于深度學習的乳腺癌病理圖像分類方法,避免了人工提取特征的缺點,可以學習更加泛化地特征表示。Spnahol等[7]發(fā)布了一個名為BreaKHis的乳腺癌病理圖像數據集,以及2015年BC分類數據集公開,不僅克服了小數據集的問題,還使更多實驗結果之間具有可比性。在BreaKHis數據集上,Spanhol等[8]使用AlexNet模型采用不同的融合策略對乳腺癌病理圖像中的良惡性腫瘤進行二分類,相對于傳統機器學習分類方法,其分類準確率提高了6%。Bayramoglu等[9]在BreakHis上采用基于放大倍數獨立的深度學習方法進行乳腺癌良惡性分類,其識別率約83%。Rakhlin等[10]提出了一種融合三種模型的方法,取得四類分類的準確率為87.2%,二分類的準確率為93.8%,二分類高于多分類。Pimkin等[11]使用基于DenseNet169和DenseNet201兩種模型結合方法實現分類,實驗結果表明組合后分類精度優(yōu)于單一DenseNet模型。Yan等[12]提出了利用 Inception_v3和LSTM 結合的混合卷積神經網絡對乳腺癌組織病理學圖像分類的方法,取得四分類準確率達91.3%。
結合上述研究發(fā)現,目前乳腺癌病理圖像多分類還是一個很大挑戰(zhàn):(1)經過染色的高分辨率圖像存在類間相似性高、類內差異性大、染色不均勻等問題。(2)數據集小,缺乏已標記的大型公開數據集。(3)大部分研究對乳腺癌的兩種基本類型(良性和惡性)進行分類,對多級分類的準確率還不高。所以針對以上問題,本文采用數據增強的預處理方法減小類內差異,增加類間差異,提高多分類性能。使用六個預訓練網絡提取多網絡特征,提高分類器準確性和魯棒性。同時針對BreakHis數據集疾病的多樣性,簡單的良惡性分類已經不能滿足診斷需求,通過模型融合方法訓練SoftMax分類器,實現放大因子不變的八類乳腺癌分類,提高了分類精度。實驗表明,使用本文方法,分類準確率得到提高,可以更好地滿足臨床需要。
提出的基于卷積神經網絡的乳腺癌病理圖像識別方法如圖1所示,主要包括三個部分:數據預處理、圖像特征提取及模型融合、圖像分類。(1) 首先把數據集劃分為訓練集、驗證集和測試集,對部分數據集進行預處理。(2) 將訓練集的部分數據分別輸入到六個預先訓練卷積神經網絡來訓練分類器,即在大規(guī)模數據集ImageNet上進行預訓練的CNN網絡(AlexNet、VGGNet16、VGGNet19、Inception_v3、ResNet50、DenseNet161),然后通過驗證集損失率選出最優(yōu)的兩個網絡ResNet50和Inception_v3,實現多網絡特征的模型融合,再將融合后的網絡在訓練集和驗證集上遷移學習微調。(3) 最后利用SoftMax分類器實現在不同放大倍數下乳腺癌病理圖像的八分類研究。
圖1 乳腺癌病理圖像識別方法模型流程
近年來,以卷積神經網絡(Convolutional Neural Networks,CNN)[13]為基礎結構的深度學習算法逐漸受到圖像分類領域研究者的重視。CNN能自主學習數據集的圖像特征,避免了傳統算法中的人工設計的局限性、特征提取的復雜性,成為乳腺癌病理圖像研究中深度學習算法的關鍵,并應用于多種醫(yī)學研究[14],例如醫(yī)學圖像識別、醫(yī)學分割等方面。目前在醫(yī)療領域,只采用單網絡提取特征很難得到全面圖像信息,泛化能力差,所以本文利用六個不同網絡具有的獨特優(yōu)勢提取特征,最后選取最優(yōu)模型通過雙網絡融合進行分類研究。
2012年,AlexNet[15]首次證明了CNN學習到的特征可以超越手工設計的特征,打破了計算機視覺研究現狀。Spanhol 等[8]使用AlexNet模型,比LeNet[16]準確率提高了8%。沿著改進網絡層數,提高分類準確度的思想,VGGNet[17]網絡使用3×3多個卷積核疊加,擴大空間感受野,增加了其深度,提取詳細局部特征信息。在其他人一味增加網絡深度時,GoogleNet[18]率先提出了卷積核的并行合并(Bottleneck Layer),其中Inception_v3采用因子分解初始模塊,增加網絡的非線性和寬度,消除了表示瓶頸,Vang等[19]提出了基于Inception_v3模型的乳腺病理圖像分類方法。
隨著CNN網絡層數的加深,分類準確率雖然提升了,但梯度消失和梯度爆炸等問題卻接踵而至,ResNet[20]網絡的出現解決這一難題。它使用一種跳躍連接方式叫做“shortcut connection”,沒有引入額外的參數,也不影響原始神經網絡的復雜度,整體神經網絡依然可使用現有的深度學習進行反饋訓練求解,如圖2所示。將卷積神經網絡輸入設為x,期望輸出為H(x),若已經學習到較飽和的準確率,為了保證后面的層次中不會出現精度下降,要解決的問題就是學習恒等映射函數H(x)。經過卷積操作后的輸出為F(x),則H(x)=F(x)+x。當F(x)=0時,就變成了上述所說的恒等映射函數H(x)=x,所以ResNet將學習目標轉換為學習殘差函數F(x)=H(x)-x,實驗證明F(x)比H(x)更容易優(yōu)化。本文使用的是ResNet50模型結構,能提取多層特征信息,適用于乳腺癌病理圖像復雜性高、顏色分布不均勻、不易提取等問題的,如Koné等[21]利用Resnet50模型對乳腺癌病理圖像分類,取得81%的四分類。
圖2 殘差學習基本單元
DenseNet[22]網絡與ResNet思路差不多,核心思想在于建立不同層之間的密集連接,通過特征在channel上的連接來實現特征重用,進一步減輕了梯度消失問題,并大大減少了參數數量。
在圖像識別領域,特征提取是關鍵,只有對輸入圖像進行準確、全面的特征提取才能確保分類識別的準確性。傳統人工特征提取常采用圖像分割等技術提取圖像相關特征,但是存在提取時間長、模型泛化能力差等缺點。本文提出一種利用CNN進行自動提取圖像特征方法。第一步,將輸入原始圖像經過卷積層和池化層進行特征提取,由于提取特征維數高、包含大量冗余特征或無關特征,所以進一步進行特征提取。第二步,使用主成分分析(PCA)經過降維得到更具表達能力的新特征,通過降低維數來減少過擬合,從而提高分類結果。但直接計算非常困難,通常會用SVD分解來解決這個問題。利用SVD可以很容易分解出高維數據的特征值和其相應的特征向量。
PCA降維的具體流程如下:
(1) 計算特征平均值構建協方差矩陣;
(2) 通過SVD分解求解該協方差矩陣的特征值以及特征向量;
(3) 所求特征值從大到小排序,依次選取主成分,選擇前K個主成分,將對應于前K個特征值的特征向量組成特征向量矩陣P;
(4) 利用數據轉換合成主成分,即Y=PX。
只利用單個網絡提取的特征提取,會大大降低分類性能,所以為組合多方位信息,本文使用多網絡提取不同特征進行模型融合,達到比訓練單個模型更好的分類結果。模型融合的方法:一是集成學習,就是采用多個網絡模型通過集成策略進行模型組合,最后綜合判斷輸出的結果;二是特征融合,就是使用多網絡不同特征提取方式,提取圖像多種不同類型特征。本文采用的是特征融合。特征融合一般包括并聯和串聯兩種形式,即add和concat方式。concat是以合并通道數的方式來融合特征,而add是以增加通道下的信息量的方式來融合特征,通道數不變。
融合關鍵是選擇最優(yōu)模型,ResNet50和Inception_v3網絡在驗證集損失率最小,所以本文選擇這兩個網絡進行融合,具體模型融合方式如圖3所示。將兩網絡提取的特征向量組合為一個新的特征向量,即concat方式,以合并通道數的方式來融合特征,得到不同尺度特征圖的語義信息,然后作為新的特征輸入到分類器進行分類。由于每個輸出通道的卷積核是獨立的,以單個通道的輸出為例,假設兩路輸入的通道分別為X1,X2,…,Xc和Y1,Y2,…,Yc,該方式的輸出通道如式(1)所示。
圖3 模型融合
concat的單個輸出通道為(*表示卷積):
(1)
為保證這兩個神經網絡在合并前的輸入尺寸一致并符合全連接層的二維矩陣輸入要求,添加沒有數據參數的GlobalAvgPool2D層,將ResNet50和Inception_v3網絡的輸出尺寸均被調整為(28 440,2 048),特征融合后輸出尺寸為(28 440,4 096),可以看出融合后的網絡可以學習到更多的特征,后邊添加兩個完全連接的層,每個層接一個ReLU和丟失層(Dropout),丟失率為0.5。
本文使用的數據集存在類別間圖片數量不均衡的問題,當數據傾斜時,損失函數更容易受到多數類樣本的影響,從而導致模型更關注多數類,所以采用加權SoftMax損失函數[23],這是深度學習中經常使用的一種不平衡性處理方法。具體表達公式如下:
(2)
式中:s表示源數據;l(f(x),y)表示CNN網絡預測值和真實值的交叉熵損失函數;w(x,y)表示類別y的樣本的權重參數,對于該參數,將大樣本乘以較小權重,小樣本乘以較大權重。權重參數計算方式具體如下:
(3)
(4)
通過權重參數w(x,y)的限制,少數類和多數類得以反向傳播更新參數的過程中占據平等的地位,使得分類器在預測階段不會傾向于多數類。
隨著深度學習的發(fā)展,遷移學習[24]也得到廣泛的應用,就是把已經在ImageNet訓練好的模型參數遷移到新的模型上。源數據集是ImageNet,該數據集有1 400多萬幅圖片,涵蓋兩萬多個類別。在該數據集上預訓練模型,一是可以防止因數據集過小而出現過擬合現象,二是可以加快并優(yōu)化模型的學習效率。遷移學習的方式有好幾種,本文采用的是微調策略。在特征提取階段,由于目標數據集乳腺癌圖像和源數據集ImageNet的差異以及深層特征表達能力,所以采用固定前幾層權重參數,重新訓練后幾層深層權重參數,將全連接層(1 000個神經元)的最后一層去掉,添加類別數為乳腺癌病理圖像的八類全連接層來訓練分類器。在模型融合階段,使用凍結融合網絡相關權重,只微調訓練最后分類器方法實現乳腺癌病理圖像分類方法。
圖像分類是識別過程中的最后一步,通過在模型上提取到的圖像特征,應用SoftMax分類器對各個輸出類別進行概率預測,進而實現乳腺癌病理圖像分類。
SoftMax函數常用于多分類神經網絡輸出,通過函數作用,多分類的輸出值映射在(0,1)區(qū)間內和為1的概率分布。選取概率最大(也就是值對應最大的)結點,作為預測目標。如式(5)所示。
(5)
式中:Zi表示每個神經元的輸出;Yi表示映射后的softmax值。
實驗的計算機配置和環(huán)境如下:CPU處理器為Intel(R) Core(TM) i7-6700K CPU @ 4.00 GHz×8;GPU處理器為NVIDIA GeForce GTX TITAN X;內存(RAM)為16 GB;操作系統為64 bit Windows 10專業(yè)版;編程語言為Python;網絡模型使用基于PyTorch深度學習框架實現。
采用的是國際乳腺癌病理圖像數據集BreakHis[7],該數據集共有7 909幅圖像樣本和8個子類,來源于82位病人,分別為源于58位病人的5 429幅惡性腫瘤圖像,24位病人的2 480幅良性腫瘤圖像,該數據集圖片大小固定為700×460像素,包含4個放大倍數,分別為40倍、100倍、200倍、400倍,如表1所示,可以看出存在類別間數量不均衡問題。
表1 乳腺癌病理圖像數據集數據
數據集的類型共8類,其中良性腫瘤包括腺病(A)、纖維腺瘤(F)、葉柄狀腫瘤(PT)、管狀腫瘤(TA),惡性腫瘤包括浸潤性癌(DC)、小葉癌(LC)、粘液癌(MC)、乳頭狀癌(PC),放大400倍的8種乳腺癌病理圖像如圖4所示。
圖4 放大400倍數的乳腺癌病理圖像
大多數醫(yī)學圖像數據集少且分布不均勻,這會降低CNN訓練效果,導致過度擬合。為了訓練好模型,本文對圖像進行預處理達到數據集擴增效果。首先隨機把原始乳腺癌病理圖像按照6∶2∶2比例劃分為訓練集,驗證集和測試集,因為組織染色不同造成病理圖像不同區(qū)域具有明顯的不均衡現象,所以對圖像進行歸一化和均衡化處理。為了提高模型泛化能力,對訓練集和驗證集進行隨機鏡像、旋轉90°、180°、270°,以病理學家標記的感興趣區(qū)域為中心來裁剪不同網絡的所需大小、按照0.8比例進行縮放等預處理方法將訓練數據擴充為原來的12倍,6萬多幅圖片,為了保證模型對真實數據的識別能力,測試集沒有進行數據增強操作。預處理后圖片如圖5所示。
圖5 預處理圖像
在模型融合前,用訓練集和驗證集損失率評價模型性能,判斷模型在迭代過程中的過擬合情況從而選 出最優(yōu)的模型進行融合。模型融合后,從患者級別和圖像級別兩個方面評價模型的分類性能。對于圖像級別的分類,不考慮與患者相關的圖像,在這個實驗中,圖像被分成八個等級,并且圖像包含40、100、200、400的放大系數。從患者的層面計算識別率,Nnp表示每一位患者病理圖像的數量,Nrp表示每一位患者被正確分類的圖像數量,Np為患者總數量,如式(6)所示。
(6)
則患者級別的識別率如式(7)所示。
(7)
僅從圖像級別而不考慮患者級別來計算識別率時,令Nall表示測試集中病理圖像的數量,Nr表示其中被正確分類的圖像數量,則圖像級別的識別率如式(8)所示。
(8)
本文基于PyTorch深度學習平臺進行網絡結構的搭建和模型訓練。訓練時,批大小設為 32,學習率為0.000 1的小批量隨機梯度下降作為優(yōu)化算法(SGD),首先設置迭代次數為100,尋找訓練集和驗證集損失率最小的兩網絡進行模型融合,然后設置迭代次數為1 000,對融合后網絡進行測試。實驗表明,這樣的訓練方式有效地加快收斂速度。
本實驗采用遷移學習方法,減少預訓練卷積神經網絡模型所需的訓練數據、計算成本等。本實驗對預訓練模型和原始模型的準確率進行比較,如表2所示。
表2 準確率比較
可以看出,經過預訓練的卷積神經網絡模型,能夠達到較高的準確率。
為了選出最好的模型進行融合,通過訓練集和驗證集的損失率評價模型的性能,六個模型訓練集和驗證集的損失曲線如圖6所示。
圖6 損失率
可以看出無論在訓練集還是驗證集,ResNet50網絡和Inception_v3網絡的損失率是最小的,具有較好的學習性能。所以選擇這兩個網絡進行模型融合,然后將訓練集和驗證集的85%送入融合后網絡進行微調,凍結融合網絡相關權重,訓練最后的分類網絡層。訓練得到的損失率如圖7所示。
圖7 模型融合損失率
可以看出,網絡融合后進行訓練,驗證集的損失率下降到0.29。經過實驗數據發(fā)現損失率在前20次迭代過程中下降最快,30~40次迭代過程中趨于緩慢,40~100次迭代過程中不能下降問題。
最后將測試集送入融合后網絡檢測及預測。為了檢驗該方法的可行性和準確性,同時把測試集送入六個單網絡模型中進行分類識別,迭代次數為1 000,批大小為32,對比實驗結果如表3所示。同時選用對應文獻中結果進行對比,如表4所示。
表3 不同放大倍數下圖像和患者級別的識別率結果對比(%)
表4 與文獻方法識別率結果對比(%)
由表3可以看出網絡模型融合后相比單個模型,在不同放大因子下圖像和患者級別的準確率均得到提高,圖像級別的最高準確率達到94.18%,患者級別的最高準確率達到94.12%,彌補了單網絡模型不足,還可以看出放大倍數不同則準確率也不同。表4與文獻[7-8,24]做對比,文獻[7]用PFTAS方法特征提取,然后分別用三種機器學習方法QDA、SVM、RF進行分類,文獻[8]用AlexNet網絡采用不同融合方法在不同放大倍數下二元分類,文獻[24]用一種新的深度學習模型CSDCNN,取得93.2%的平均準確率,可以看出本文方法準確率不僅高于傳統機器學習方法,準確率還超過了現發(fā)表文獻的二元分類的準確率,對乳腺癌的分類研究做出一定貢獻。
本文提出一種基于卷積神經網絡方法實現在不同放大倍數下對乳腺癌病理圖像八分類。數據集預處理后,通過六個預訓練模型使用基于遷移學習方法進行訓練,通過實驗發(fā)現,驗證集損失率最小的神經網絡具有較好性能,有利于融合,最后融合網絡使用微調方法訓練分類器實現多級分類。通過圖像級別和患者級別評估該方法性能,考慮了不同放大因子影響,與單一模型、傳統機器學習、現有深度學習方法相比,測試準確率最高。本文提出的方法也可應用到其他類型癌癥的分析中。雖然近年來乳腺癌病理圖像分類準確率在不斷提升,但距離實際臨床應用差強人意,未來研究工作可在用生成對抗網絡豐富醫(yī)學圖像數據、提高標記數據可用性等方面開展。