魏 哲,王小華
(長沙理工大學電氣與信息工程學院,長沙410114)
(*通信作者電子郵箱42624055@qq.com)
乳腺癌是女性群體中高發(fā)的一種惡性腫瘤,據(jù)世界衛(wèi)生組織公布的數(shù)據(jù)[1]顯示,乳腺癌高居造成女性死亡病癥的第二位。在實際的臨床檢測中,通過對蘇木素-伊紅(Hematoxylin and Eosin,H&E)染色的淋巴結(jié)切片組織進行病理學活檢,找到轉(zhuǎn)移癌,就可以確診乳腺癌及其分期。然而,乳腺轉(zhuǎn)移癌檢測所需要篩查的淋巴結(jié)組織面積大,且受檢測醫(yī)師自身知識和經(jīng)驗等主觀因素的影響,導致檢測過程冗長費時,容易遺漏較小的轉(zhuǎn)移,造成治療的延誤。
隨著深度學習技術(shù)的快速發(fā)展,利用深度卷積神經(jīng)網(wǎng)絡(luò)搭建的模型在目標檢測、圖像分類等諸多領(lǐng)域內(nèi)取得了超越人類水平的成績。因此近年來,針對醫(yī)學圖像人工檢測精度低耗時長的問題,結(jié)合深度學習的檢測方法成為了醫(yī)學影像計算機輔助診斷的研究熱點。通過相關(guān)深度學習算法,卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)在糖尿病視網(wǎng)膜病變檢測[2-4]、皮膚癌變診斷與分類[5-6]、阿爾茨海默癥篩查[7-9]、肺癌預(yù)測與識別[10-11]和評估骨骼骨齡[12-13]等實際醫(yī)療案例中得到了成功的應(yīng)用。在乳腺癌識別方面,Araújo等[14]用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)搭建了識別準確率為77.8%的篩查模型;Bayramoglu等[15]在CNN網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上,引入了放大倍數(shù)獨立的方法,將準確率提升到了83%;Wei等[16]研究者結(jié)合GoogLeNet網(wǎng)絡(luò)結(jié)構(gòu)和遷移學習的方法,使模型對惡性腫瘤的識別率達到了97%。然而,上述檢測模型對于轉(zhuǎn)移癌圖像特征的提取都是基于卷積的操作,這就導致在訓練過程中,模型參數(shù)之間的計算量增大,訓練時間增長,并且需要占用大量的內(nèi)存空間,增加了模型對計算機硬件的依賴程度,從而提升了模型開發(fā)的成本。對此,本文基于經(jīng)典的ResNet50 網(wǎng)絡(luò)結(jié)構(gòu),采用八度卷積(Octave Convolution)方法[17]設(shè)計卷積層,通過完全替換ResNet50網(wǎng)絡(luò)中卷積層為八度卷積層構(gòu)成Octave網(wǎng)絡(luò),實現(xiàn)對圖像中低頻信息的刪減,從而有效減少了模型對圖像冗余信息的訓練時間,節(jié)省了計算資源。為了說明Octave 網(wǎng)絡(luò)的性能,本文在內(nèi)存為13 GB,磁盤大小為4.9 GB,GPU 為Nvida Tesla P100 的 云 端 服 務(wù) 器 上,采 用PatchCamelyon(PCam)數(shù)據(jù)集對Octave網(wǎng)絡(luò)和ResNet50網(wǎng)絡(luò)進行了實驗驗證。殘差網(wǎng)絡(luò)是現(xiàn)代深度網(wǎng)絡(luò)的基礎(chǔ)骨架,ResNet50作為其中最為典型的結(jié)構(gòu),具有訓練速度快、識別精度高、魯棒性強等優(yōu)勢,在ImageNet,MNIST等分類識別任務(wù)的數(shù)據(jù)集中得到了廣泛的使用,并取得了較高的識別精度和分類準確度,因而將ResNet50網(wǎng)絡(luò)選為Octave網(wǎng)絡(luò)的參照對象是合適的。通過實驗,發(fā)現(xiàn)Octave網(wǎng)絡(luò)對于轉(zhuǎn)移癌圖像的識別準確率比ResNet50網(wǎng)絡(luò)下降了0.67%,但內(nèi)存占用率減少了4.6%,磁盤空間節(jié)省了1.9%,訓練效率提升了18.6%。實驗結(jié)果表明,Octave網(wǎng)絡(luò)具有與ResNet50相差不大的識別精度,且內(nèi)存消耗小,訓練時間快,可以有效降低對于計算機硬件的依賴,減少相關(guān)應(yīng)用的開發(fā)成本,具有一定的實用價值。
Octave Convolution 方法的核心思想是通過對圖像分頻,減半圖像中的低頻信息,加速卷積運算。在深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,一般的卷積運算可以表示為:

其中,W是k*k大小的卷積核,(p,q)為進行卷積運算的位置坐標,Nk定義了一個該坐標的局部鄰域。而在Octave Convolution 中,卷積層中的特征圖可以按通道分解成高頻和低頻兩部分,低頻部分保存了圖像的大體信息,高頻部分保留了圖像的細節(jié)信息。圖1 是一個完整的Octave Convolution過程。

圖1 八度卷積運算過程Fig.1 Octave Convolution operation procedure
在圖1 中,卷積層中輸入和輸出的特征張量及卷積核都被分成了高頻[XHYHWH]和低頻[XLYLWL]兩個部分。其中,低頻部分的通道的長w和高h被縮減為高頻的一半。由于高頻和低頻通道的尺寸不一樣,無法進行一般的卷積運算,所以為了實現(xiàn)高頻和低頻特征之間的有效通信,在WL→H過程中即低頻向高頻進行信息更新時,需要對低頻分量上采樣;同理,在WH→L過程中需要使用平均池化對高頻分量下采樣。最后輸出的高頻和低頻特征將由YH=YH→H+YL→H和YL=YL→L+YH→L給出。其具體過程,可以用下面的公式表示:

其中:設(shè)置的采樣步長為2,pool(x,k)表示平均池化操作,池化核大小為x,步長為k。
在圖1 中所示的Octave Convolution 過程中,取參數(shù)αin,αout為輸入和輸出的低頻通道占比并令αin=αout=α,卷積核大小為k*k,設(shè)輸入輸出的特征圖維數(shù)相同,即cin=cout=c,那么直接進行卷積運算的計算量可以表示為:
Sumconv=(cout*w*h)*(cin*k*k)
考慮Octave Convolution的4個卷積過程,其計算量為:

所以,Octave總的計算量與直接卷積計算量之比rate為:

從上式中可以看出,rate的值在α∈[0,1]內(nèi)單調(diào)遞減,說明Octave卷積運算相較于直接卷積具有更少的計算量。
本文基于殘差網(wǎng)絡(luò)結(jié)構(gòu)搭建淋巴結(jié)轉(zhuǎn)移檢測的Octave網(wǎng)絡(luò)。殘差網(wǎng)絡(luò)[18]的提出是為了解決網(wǎng)絡(luò)在深層時的退化,即深度網(wǎng)絡(luò)的梯度消失和過擬合的問題,其基本的組成單元如圖2所示。

圖2 殘差單元結(jié)構(gòu)Fig.2 Residual unit structure
設(shè)殘差單元的輸入為xl,輸出為xl+1,則殘差單元可表示為:

其中F(xl,Wl)是殘差部分。從中可以看出,殘差單元能夠?qū)ι弦粚虞斎氲臄?shù)據(jù)通過非線性函數(shù)映射到下一層,也可以直接進行映射,這樣的直接映射就相當于在通常的卷積運算基礎(chǔ)上增加了恒等映射分支,從而使誤差向著恒等映射的方向收斂,避免了網(wǎng)絡(luò)在深層時的退化。
對于圖2所示的殘差單元,保持其他部分不變,用八度卷積方法替換卷積層中的卷積操作為Octave卷積,構(gòu)建出Octave殘差單元,將50個這樣的單元端到端地連接在一起,構(gòu)成50層的Octave殘差網(wǎng)絡(luò),最后通過全連接層提取全局特征,輸出預(yù)測的準確率,整個Octave模型的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。

圖3 八度卷積檢測模型Fig.3 Octave convolution detection model
淋巴結(jié)轉(zhuǎn)移檢測模型所用數(shù)據(jù)來自于PatchCamelyon(PCam)數(shù)據(jù)集。PCam 實際上是Camelyon16數(shù)據(jù)集[19]的一個子集,包含400個由H&E染色的前哨淋巴結(jié)全幻燈片圖像,這些圖像是使用40 倍物鏡在拉德堡德大學醫(yī)學中心和烏得勒支大學醫(yī)學中心兩個不同的研究機構(gòu)采集和數(shù)字化的。PCam 的訓練集由270 個高分辨率全幻燈片圖像組成,其中160 個為正常淋巴結(jié)切片圖像,110 個在圖像中含有乳腺轉(zhuǎn)移癌;測試集由130 個包含了正常和癌變淋巴結(jié)組織的圖像組成。為了便于模型的建立,有學者將PCam 中400個高分辨率圖像分解成327 680 張大小為96×96 像素的彩色圖像,并刪除了其中的重復(fù)項。本文的模型就是基于這種改進后的PCam數(shù)據(jù)集而搭建的。
為了減少模型過擬合,增強網(wǎng)絡(luò)的泛化能力,本文對數(shù)據(jù)集中的圖像,采用了隨機翻轉(zhuǎn)和隨機對比度的數(shù)據(jù)增強方式,如圖4所示。
從圖4 中,可以看出,對于病理掃描圖像,基于圖像的翻轉(zhuǎn)、鏡像和對比度的變化并不影響對轉(zhuǎn)移癌細胞的識別,是合理的數(shù)據(jù)增強方式。通過這樣的處理,模型可以將同一幅圖像識別為不同的圖像進行訓練,從而改善了識別的精度。
在PCam 數(shù)據(jù)集中,含有轉(zhuǎn)移癌變細胞的圖像被標記為“1”;正常組織圖像標記為“0”,如圖5所示。
可以看出,利用PCam 數(shù)據(jù)集可以將臨床上淋巴結(jié)中轉(zhuǎn)移癌細胞的檢測轉(zhuǎn)換為陽性“1”和陰性“0”的圖像二分類任務(wù),使醫(yī)學圖像計算機輔助診斷模型的建立變得簡單易行。

圖4 數(shù)據(jù)增強Fig.4 Data augmentation

圖5 數(shù)據(jù)標簽示意圖Fig.5 Schematic diagram of data labels
本文在最大內(nèi)存為13 GB,磁盤大小為4.9 GB,GPU 為Nvida Tesla P100 的云端服務(wù)器上,采用Jupyter Notebook 搭建基于PyTorch 語言和fastai 庫的虛擬測試環(huán)境。按照圖3 所示的結(jié)構(gòu)搭建Octave 網(wǎng)絡(luò),通過與ResNet50 網(wǎng)絡(luò)在識別準確率,訓練時間和內(nèi)存占用等方面的對比分析,得到Octave網(wǎng)絡(luò)性能的優(yōu)勢,實驗的具體流程如圖6所示。

圖6 實驗流程Fig.6 Flow chart of experiment
實驗時,取Octave 網(wǎng)絡(luò)模型中輸入和輸出的低頻通道占比為αin=αout= 0.5,ResNet50 網(wǎng)絡(luò)權(quán)重參數(shù)采用遷移學習的方法從ImageNet 數(shù)據(jù)集上獲得。根據(jù)Smith[20]提出的單周期策略選擇網(wǎng)絡(luò)的學習率為0.01。設(shè)定訓練總數(shù)為8個epoch,在每一個epoch 結(jié)束后,記錄當前的識別精度、訓練集損失、驗證集損失和訓練用時,可以得到表1。
通過表1 可以看出,在訓練初期相鄰的兩次epoch 之間,Octave 網(wǎng)絡(luò)與ResNet50 相比,在損失的下降和識別精度的提升上具有更大的波動幅度。根據(jù)Frankle 等[21]的研究,對深度神經(jīng)網(wǎng)絡(luò)參數(shù)剪枝后產(chǎn)生的稀疏架構(gòu)在開始時就很難訓練,由于Octave 網(wǎng)絡(luò)對低頻信息進行了減半,造成了初期較低的識別精度,但隨著迭代次數(shù)的增加,損失下降和精度提升的幅度都較ResNet50 更快,這說明Octave 網(wǎng)絡(luò)在之后的epoch 中訓練的效果要比ResNet50 更好。通過實驗,得到Octave 網(wǎng)絡(luò)和ResNet50網(wǎng)絡(luò)在轉(zhuǎn)移癌識別任務(wù)中的性能參數(shù)如表2。

表1 訓練記錄Tab.1 Training records

表2 網(wǎng)絡(luò)性能對比Tab.2 Network performance comparison
從表2中可以發(fā)現(xiàn),在內(nèi)存為13 GB,磁盤大小為4.9 GB的云端環(huán)境中,Octave 網(wǎng)絡(luò)內(nèi)存占用率為66.9%,磁盤使用率為7.3%;ResNet50網(wǎng)絡(luò)內(nèi)存占用率為71.5%,磁盤使用率為9.2%。相較而言,Octave網(wǎng)絡(luò)識別準確率下降了0.69%,內(nèi)存占用減少了4.6%,磁盤空間節(jié)約了1.9%,訓練用時提升了18.6%。
為更好地比較Octave 網(wǎng)絡(luò)與ResNet50 網(wǎng)絡(luò)的識別精度,采用混淆矩陣(如圖7)進行分析。

圖7 混淆矩陣Fig.7 Confusion matrix
對于轉(zhuǎn)移癌的識別任務(wù)而言,更加關(guān)注的是結(jié)果為陽性,即標簽為“1”的識別情況。由圖7 可以得到,Octave 模型未檢測出陽性,即將“1”識別為“0”的概率為7.05%,錯將陰性作為陽性誤診,即將“0”識別為“1”的概率為3.73%,ResNet50網(wǎng)絡(luò)未檢測出的概率為6.18%,誤診概率為2.85%。可以看出,兩個網(wǎng)絡(luò)在誤診和未檢測出陽性結(jié)果之間的差距均小于1%。
在計算機輔助診斷中,業(yè)界普遍采用接收者操作特征(Receiver Operating Characteristic,ROC)曲線下的面積,即AUC(Area Under the Curve of ROC)的值來評價一個二分類模型的性能。在本文中,AUC的值越大,說明模型檢測出癌變細胞圖像的能力就越強。通過Python中scikit-learn庫,可以得到表3。
從表3中可以看Octave網(wǎng)絡(luò)與ResNet50之間AUC值的差距為0.45%。通過AUC值和混淆矩陣的對比分析,可以認為Octave網(wǎng)絡(luò)在識別轉(zhuǎn)移癌圖像方面與ResNet50具有同等的性能水平。

表3 AUC值對比Tab.3 AUC value comparison
為了更加直觀地驗證兩個模型的性能,本文從數(shù)據(jù)集中隨機選取了3 張圖片進行測試,并給出了模型在識別過程中判別最準確即確信度最大的3 張圖片和預(yù)測誤差最大的3 張圖片如圖8所示。

圖8 Octave 網(wǎng)絡(luò)測試Fig.8 Octave network testing
在圖8 和圖9 中,0 表示陰性,即圖像中不含轉(zhuǎn)移癌細胞,1表示陽性,即圖像中存在轉(zhuǎn)移癌細胞。

圖9 ResNet50 網(wǎng)絡(luò)測試Fig.9 ResNet50 network testing
結(jié)合上述兩圖,可以看出兩個模型都可以對隨機抽取的樣本進行準確的預(yù)測,但Octave 網(wǎng)絡(luò)對于含有大部分空白的圖像,即低頻信息多于高頻的圖像,存在較大的誤判,這是由Octave 網(wǎng)絡(luò)對低頻信息減半的特性所導致。對比二者判別最為準確的三張圖片,可以發(fā)現(xiàn)圖片有一定的相似程度,這說明Octave 網(wǎng)絡(luò)具有與ResNet50 相似的識別能力,都能夠?qū)D像中某些特定的特征進行準確的捕捉和識別。
在內(nèi)存為13 GB的云端服務(wù)器上,Octave網(wǎng)絡(luò)對于轉(zhuǎn)移癌的識別率為95.06%,內(nèi)存占用8.7 GB,訓練總用時37 min 42 s,與ResNet50相比,識別率下降了0.69%,內(nèi)存占用減少了4.6%,訓練用時提升了18.6%。在實際應(yīng)用中,可以認為Octave網(wǎng)絡(luò)具有與ResNet50相同水準的識別能力,且Octave網(wǎng)絡(luò)內(nèi)存占用少,訓練速度快,在大數(shù)據(jù)的背景下,可以使網(wǎng)絡(luò)對計算機硬件的需求降低,節(jié)省算力資源,減少開發(fā)成本。
本文針對淋巴結(jié)乳腺轉(zhuǎn)移癌檢測任務(wù),采用Octave Convolution方法替換殘差網(wǎng)絡(luò)中的卷積運算搭建了識別模型。模型具有與ResNet50同等水平的識別能力,且占用內(nèi)存小,訓練速度快,使模型在實際應(yīng)用中,可以減少對高性能GPU的依賴,節(jié)省了開發(fā)的成本。然而,由于Octave模型對圖像中低頻信息進行了減半,從而導致模型對存在大量低頻信息的圖像的識別精度降低,造成較高可能性的誤判。因此,下一步將針對于低頻信息占主導的圖像,改進Octave網(wǎng)絡(luò)的結(jié)構(gòu),進一步提升網(wǎng)絡(luò)對圖像的普適性,使網(wǎng)絡(luò)更加具有市場競爭力。