李思敏,谷 宇,张宝华,迟靖千,刘佳琪,贺 群,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模型实现了图像的全局信息的获取与表达,同时可有效避免通道冗余的问题,可以有效地提高肺癌病理图像的分类准确率,特别是正常细胞和病变细胞的分类,具有一定的临床价值。