李思敏,谷 宇,張寶華,遲靖千,劉佳琪,賀 群,2
(1.內蒙古科技大學 信息工程學院 內蒙古自治區模式識別與智能圖像處理重點實驗室,內蒙古 包頭 014010;2.內蒙古科技大學 文法學院,內蒙古 包頭 014010)
近些年,肺癌病理圖像分類方面[1-5]已有了廣泛研究。Teramoto等[6]通過生成對抗網絡來提高深度卷積神經網絡(deep convolutional neural network,DCNN)的分類準確率,對肺細胞的總體分類準確率為85.30%。Phankokkruad[7]基于遷移學習提出了使用VGG16、ResNet50V2和DenseNet201架構檢測肺癌的3種卷積神經網絡(convolutional neural network,CNN)模型,在肺癌病理圖像分類上實現了91.00%的驗證準確率。Masud等[8]使用基于深度學習的分類框架診斷肺癌的機器學習方法,達到97.20%的準確率。Adu等[9]提出對肺癌病理圖像分類的雙水平壁球膠囊網絡(dual horizontal squash capsule networks,DHS-CapsNet),分類準確率達到98.89%。Mizuho等[10]開發一種基于同源性的圖像處理計算機輔助診斷系統,準確度高達99.43%。
以上研究表明肺癌病理圖像分類方面已經取得一定的成果,但傳統的卷積神經網絡分類準確率不高,同時存在大量冗余;基于同源性的圖像處理計算機輔助診斷系統相對比較復雜,同時可能在外部驗證中出現過擬合。針對上述問題,本文借鑒新型卷積神經網絡RedNet[11],對ResNeXt[12]網絡做出改進,減少卷積核內部通道間冗余,提高模型分類的準確率的同時不增加參數量和計算量,取得較好的結果。
卷積神經網絡是圖像分類領域中的一種效果較好的方法,本實驗采用ResNeXt網絡模型作為基礎網絡模型,這個模型相較于傳統的殘差網絡,計算量更少,分類的準確度更高,本實驗對該網絡做出了改進,使用新型卷積involution[11]替換bottleneck模塊中的3×3卷積層,保留所有的1×1卷積層,用于通道映射和融合,達到增強圖像的全局信息的獲取與表達的能力,同時減少通道間冗余,提高模型分類準確度的目的。本實驗的總體網絡架構如圖1所示。

圖1 總體網絡架構
初始層為64個卷積核大小為7×7、步長為2、填充為3的卷積層,輸入尺寸為224pixel×224pixel×3,其中3為通道個數,輸出尺寸為112pixel×112pixel×64,然后進行批歸一化(batch normalization,BN),用線性整流函數(rectified linear unit,ReLU)進行激活,實現初步的特征提取。接著進入尺寸為3×3、步長為2的最大池化層,通過最大池化層可以減小特征圖的尺寸,減少計算參數量,加快模型訓練性能,輸出尺寸為56pixel×56pixel×64[13]。
Involution是2021年3月發表在CVPR2021(IEEE Conference on Computer Vision and Pattern Recognition)上的一個新型網絡RedNet里使用的新型卷積,在設計上與convolution的特性相反,involution的特性為空間特異性(Spatial-Specific)和通道無關性(Channel-Agnostic),即在空間范圍上是不同的,采用空間特異的核(kernel)進行更加靈活地建模,但在通道上是共享核的。Involution核的尺寸為H×W×K×K×G,其中H表示輸入特征圖(feature map)的高(height),W表示輸入特征圖的寬(width),K表示核的尺寸,G表示所有通道共享G個核。Involution卷積操作如式(1)所示

(1)
其中,H∈RH×W×K×K×G是involution核,被設計成包含空間和通道的反向特征變換。
在involution中,是根據輸入特征圖生成對應的involution核,這樣可以保證核的尺寸自動匹配輸入特征圖的尺寸。Involution核生成函數符號為φ,如式(2)所示
Hi,j=φ(Xψi,j)
(2)
其中,ψi,j是坐標(i,j)的像素集,Xψi,j取特征圖上坐標為(i,j)的單個像素,從而得到involution核生成的一種實例化,如式(3)所示
Hi,j=φ(Xψi,j)=W1σ(W0Xi,j)
(3)
其中,W0∈Rcr×c和W1∈R(K×K×G)×cr代表2個線性變換矩陣,r是通道縮減比率,中間通道數由降價比r控制,以便有效處理,σ代表中間的BN和ReLU。因此,可以得到完整的involution,involution如圖2所示。

圖2 involution[11]
其中,?表示跨C個通道傳播的乘法運算,?表示K×K空間鄰域內的求和運算。這里將G設為1,則involution核Hi,j∈RK×K×1是由輸入特征圖的一個坐標點Xi,j處的特征向量,首先通過函數φ,生成函數φ依次進行全連接(fully connected,FC)、BN、ReLU、FC操作,接著從通道到空間變換展開為核的形狀,從而得到這個坐標點上對應的involution核,最后和輸入特征圖上該坐標點空間鄰域的特征向量進行乘加運算得到輸出的特征圖。Involution操作的參數量為C2+K2GCr, 計算量為HW×(C2+K2GCr+K2)。
本課題使用4個改進的bottleneck,分別稱之為改進的bottleneck1、bottleneck2、bottleneck3、bottleneck4,并且這4個殘差塊的內部結構相同。Bottleneck由三層卷積層,第一層為卷積核為1×1的卷積層,第二層involution核為7×7的involution層,第三層為卷積核為1×1的卷積層,再加一層卷積核為1×1的卷積層作為shortcut connection,具體結構如圖3所示。

圖3 改進的bottleneck的具體結構
總而言之,改進的bottleneck與原本ResNeXt網絡中的bottleneck相比,使用7×7的involution層替換了3×3的分組卷積層,但是不改變原本的中間通道(mid channels)數,中間通道數由分組數(groups)、寬度(width_per_group)以及它所在的殘差層決定。改進的bottleneck與RedNet網絡中的bottleneck相比,RedNet網絡中的bottleneck中的中間通道數由expansion(expansion取4,即bottleneck的輸出通道數是輸入通道的4倍)和輸出通道(out channels)數決定。設改進的bottleneck的中間通道數為mid_channels,設RedNet的中間通道數為mid_channels1,如式(4)、式(5)所示,其中base_channels為基礎通道數,本實驗為中設為64
mid_channels=

(4)

(5)
本實驗使用Python語言PyTorch框架進行編程,實驗平臺為GeForce RTX 3090的Windows10系統。圖像的預處理在CPU的環境下進行,模型的訓練在GPU環境下進行,提高實驗效率。
2.2.1 數據集
本實驗使用的數據集取自Lung and Colon Cancer Histopathological Image Dataset(LC25000)[14],這是一個由良性和癌性肺和結腸組織圖像組成的彩色圖像數據集,是從病理學玻片中提取750張肺組織圖像和500張結腸組織的整體圖像擴充處理得來的[15],數據集共有圖像25 000張,其中分為5類,每類均為5000張,有2類結腸組織的圖像,3類肺部組織圖像,肺部組織圖像分為肺腺癌(lung adenocarcinoma,lung_aca)、肺鱗狀細胞肺癌(squamous cell carcinoma of lung,lung_scc)和肺良性(lung benign,lung_n),本課題只選取了肺部圖像做實驗,因此本實驗所用數據集共15 000張。該數據集均為jpeg格式,均為RGB(Red,Green,Blue)圖像,尺寸均為768 pixel×768 pixel,并且已經做了左右旋轉以及水平和垂直翻轉的擴充操作。列舉本實驗數據集圖像見表1。

表1 數據集展示
2.2.2 預處理

Normalized_image=(image-mean)std
(6)
對于肺癌病理圖像分類,本實驗采用混淆矩陣(Confusion matrix)、敏感性(Sensitivity,SEN)、特異性(Speci-ficity,SPE)、精準率(Precision,PRE)、F1值、準確率(Accuracy,ACC)以及損失(Loss),來綜合評價模型的分類效果。
混淆矩陣的每一行表示數據的真實類別(Actual class),每一行的總數是該類別的數據實例的總數,每一列表示預測類別(Predicted class),每一列的總數是預測為該類別數據的總數。根據混淆矩陣,我們能夠直觀地分析各個類別(Positive和Negative)的分類效果。混淆矩陣見表2。

表2 混淆矩陣
敏感性表示實際正樣本數量占被預測為正樣本數量的比例,如式(7)所示
Sensitivity=TPTP+FN
(7)
特異性表示實際負樣本數量占被預測為負樣本數量的比例,如式(8)所示
Specificity=TNTN+FP
(8)
精準率表示所有被預測為正樣本數量占實際正樣本數量的比例,如式(9)所示
Precision=TPTP+FP
(9)
F1值是敏感性和精準率的調和平均值,如式(10)所示。
F1=2×Sensitivity×PrecisionSensitivity+Precision
(10)
準確率表示正確分類的樣本數量占總樣本數量的比例,如式(11)所示
Accuracy=TP+TNTP+TN+FP+FN
(11)
除了敏感性、特異性、精準率、F1值、準確率外,本實驗使用的是交叉熵損失函數(Cross entropy loss),如式(12)所示
L=∑Ni=1y(i)log(i)+(1-y(i))log(1-(i))
(12)
實驗策略:本實驗的優化器使用動量(Momentum)的隨機梯度下降(stochastic gradient descent,SGD),學習率為0.01,動量為0.9,權重衰減(Weight decay)為0.0001,采用步長下降的學習率策略,batch size為32,對所使用的網絡模型全部都訓練80個epoch。本實驗模型確定流程框架如圖5所示。

圖5 模型確定流程框架
其中ResNeXt26_32×4d_inv、ResNeXt38_32×4d_inv、ResNeXt50_32×4d_inv及ResNeXt101_32×4d_inv分別為ResNeXt26_32×4d、ResNeXt38_32×4d、ResNeXt50_32×4d及ResNeXt101_32×4d中加入involution新型卷積后的模型。
2.4.1 確定層數
本實驗首先對26、38、50、101層改進的ResNeXt進行實驗,由于原始的ResNeXt常用的分組數目是32,每組寬度是4或者8,即每組中間通道數是4或者8,本實驗先在分組數目為32,寬度為4的ResNeXt模型上進行改進。
ResNeXt26_32×4d_inv、ResNeXt38_32×4d_inv、ResNeXt50_32×4d_inv及ResNeXt101_32×4d_inv,網絡模型結構如圖6所示。

圖6 改進的ResNeXt模型結構
上述4種不同層數的改進模型在肺癌病理圖像上的驗證損失如圖7所示。

圖7 改進的ResNeXt模型驗證損失對比
驗證損失越小,模型泛化能力越強,特征提取準確率越強,從圖7可以看出損失最小的模型為ResNeXt101_32×4d_inv,因此選擇ResNeXt101_32×4d_inv驗證損失最小的epoch作為測試模型,其中70 epoch的驗證損失最小為0.014 62。因此最終模型確定使用101層網絡模型。
2.4.2 確定每組的寬度d
接著將ResNeXt101_32×4d_inv與由層數為101,分組數目為32,每組寬度為8(每組的中間通道數為8)的ResNeXt改進的網絡模型進行對比實驗,從而確定模型分組寬度,ResNeXt101_32×4d_inv、ResNeXt101_32×8d_inv的驗證損失如圖8所示。

圖8 改進的ResNeXt101模型驗證損失對比
從圖8可以看出ResNeXt101_32×8d_inv的驗證損失最低的epoch為42,其損失為0.01667,比ResNeXt101_32×4d_inv驗證最低的損失0.01462高,因此確定本實驗使用的最終模型為ResNeXt101_32×4d_inv。
2.4.3 實驗分析
本實驗選擇ResNeXt101_32×4d_inv訓練模型里驗證損失最小的70epoch作為最終模型,在肺癌病理圖像分類的測試結果見表3。

表3 ResNeXt101_32×4d_inv模型的肺癌病理圖像分類混淆矩陣
根據混淆矩陣,可以看出其中lung_n類圖像全部分類正確,5張lung_aca類圖像錯分為lung_scc類,7張lung_scc類圖像錯分為lung_aca類,在圖9中可以更加直觀地表示本實驗改進模型的測試結果。

圖9 ResNeXt101_32×4d_inv測試模型的各個參數
圖10分別列舉了本實驗所使用數據集的3類圖像中3張正確分類的圖像,同時列出其正確分類的置信度,滿分為1.0000,可以看出正確分類的得分遠大于錯誤分類的得分,說明本實驗在所改進的模型在肺癌病理圖像分類上有很好的效果。

圖10 部分正確分類圖像及其置信度
2.4.4 消融實驗
為進一步驗證本實驗所改進的網絡模型的優越性,本實驗還采用與上述實驗相同的參數使用原始的模型對肺癌病理圖像分類,RedNet模型包含新型神經網絡算子involution,本實驗同樣對ResNeXt101_32×4d、RedNet101進行80epoch的訓練,選擇驗證損失最小的一個epoch作為最后的測試模型,測試結果對比見表4。

表4 不同模型對肺癌病理圖像分類的各個參數/%
從表中可以看出這3個模型對肺良性的圖像識別率都達到100.00%,本實驗改進的含有involution新型卷積的ResNeXt101_32×4d_inv模型在肺腺癌圖像分類中比沒有involution新型卷積的ResNeXt101_32×4d模型的敏感度、特異性、精確度、F1值和準確率上分別高0.13%、0.06%、0.13%、0.13%、0.09%,在肺鱗狀細胞癌圖像中分別高出0.14%、0.07%、0.13%、0.13%、0.09%;改進的含有involution新型卷積的ResNeXt101_32×4d_inv模型在肺腺癌圖像分類中比同樣含有involution新型卷積但bottleneck中間通道數不同的RedNet101模型的敏感度、特異性、精確度、F1值和準確率分別高出1.33%、-0.20%、-0.39%、0.48%、0.45%,在肺鱗狀細胞癌圖像中分別高出-0.40%、0.87%、1.69%、0.66%、0.45%;從整個數據集分類的準確度看,ResNeXt101_32×4d_inv比ResNeXt101_32×4d高出0.09%,比RedNet101高出0.45%,由此驗證改進的模型有效。
2.4.5 與其他方法對比
與使用相同LC25000數據集的模型作最后的對比,驗證本實驗改進模型的有效性,結果見表5。

表5 LC25000數據集不同模型的實驗結果
文獻[7]中提出集成遷移學習方法,集成VGG16、ResNet50V2和DenseNet201,模型整體復雜且最終的準確率較低;文獻[8]中的機器學習方法借助深度學習的分類架構,比傳統的機器學習方法的分類準確度有所提高,但人工提取特征具有局限性;文獻[9]中提出的基于新的雙水球膠囊網絡,準確率比傳統的CNN網絡有所提升;文獻[10]提出了基于同源性的圖像處理的CAD,準確率較高,但肺良性圖像的分類準確度未達到100.00%。綜上所述,傳統的CNN模型卷積核存在大量的通道間冗余并且分類準確率不高,機器學習融合深度學習的方法在人工提取特征方面帶來主觀性,膠囊網絡效率低。本實驗所提出的基于改進ResNeXt和involution卷積的肺癌病理圖像分類算法減少了卷積核在通道間的冗余,不增加計算復雜度的情況下提高分類的準確率。
利用卷積神經網絡可以對肺癌病理圖像進行自動分類,本實驗通過簡單的顏色歸一化預處理來提高訓練圖像的質量,使用新型卷積involution替換原始ResNeXt模型所有Bottleneck中的3×3的卷積層來改進ResNeXt模型,可以提高分類的準確度,同時減少訓練參數。實驗結果表明,本文所改進的ResNeXt模型實現了圖像的全局信息的獲取與表達,同時可有效避免通道冗余的問題,可以有效地提高肺癌病理圖像的分類準確率,特別是正常細胞和病變細胞的分類,具有一定的臨床價值。