基于空间通道挤压激励模块的肝硬化识别
2021-08-20赵希梅
王 倩,赵希梅,2
(1.青岛大学 计算机科学技术学院,山东 青岛 266071;2.山东省数字医学与计算机辅助手术重点实验室,山东 青岛 266071)
0 概述
目前肝硬化已成为常见的慢性疾病之一。在肝硬化临床诊断中,医生通常采用超声影像技术扫描患者肝脏病变区域获得超声影像[1],再对其进行肉眼诊断[2],由此得到的诊断结果具有较高的主观性和较低的可靠性。随着数字医疗设备、计算机图像处理[3]以及深度学习技术的深入发展,应用于医学图像识别分析的计算机辅助诊断[4]技术为肝脏疾病诊断提供了新方向,对肝硬化的识别研究具有重要的临床意义。
计算机辅助诊断技术对肝硬化的识别研究主要分传统机器学习[5]和深度学习[6]两种。在传统机器学习方面,文献[7]采用机器学习算法对慢性肝病进行降维处理,并结合神经网络,构建了一种有效的慢性肝病预测模型。文献[8]基于超限学习机训练方法提出一种改进的LBP算法,并结合二维Gabor变换方法得到95.4%的肝硬化识别率。在深度学习方面,文献[9]提出了一种基于局部二值模式特征提取和稀疏表示的肝病识别算法,取得了良好的效果。文献[10]采用基于中值滤波的图像去噪算法和直方图均衡化图像增强算法对数据库进行预处理,再以卷积神经网络CaffeNet 为主要框架进行识别,对肝脏病灶识别平均准确率达到96.67%。
在肝脏图像研究领域,基于深度学习的识别方法已得到广泛应用,并取得较多研究成果[11]。但是由于医学图像的特殊性,卷积神经网络的特征信息读取能力和识别分类精度仍受到限制,且随网络深度的不断增加,模型的运行效率逐步降低。针对该问题,本文在VGG 网络[12]的基础上,提出一种网络性能更佳且分类更精确的scSE_MVGG 网络,并与优化后的AlexNet[13]、ResNet[14]等卷积神经网络从识别率等方面进行对比分析。
1 相关理论
1.1 挤压激励网络
2017 年,MOMENTA 团队提出挤压激励网络(Squeeze Excitation Network,SENet)[15],其结构如图1所示。该网络的主要思想是通过卷积神经网络学习不同通道的特征图权重信息,提取与任务相关的特征,抑制与任务无关的特征,同时加强特征通道间的学习,进一步强化相关特征,提取更具指向性的特征信息,从而大幅提升卷积神经网络的识别率和性能。
图1 SENet 结构Fig.1 Structure of SENet
SENet 主要通过挤压(Squeeze)、激励(Excitation)以及特征重标定(Scale)3 部分完成对特征通道的自适应校准。相关计算公式如下:
其中:Fsq表示对特征进行压缩操作;δ为ReLU 激活函数;W1和W2分别表示升维和降维的两个全连接层权重;Fex表示对特征进行提取操作;Fscale表示对特征进行重标定操作。
1.2 空间通道挤压激励模块
空间通道挤压激励(scSE)模块是由sSE 和cSE两种模型结构结合形成的新型网络结构[16],是SENet 的变体形式。该模块同时考虑通道和空间的关系,将sSE 和cSE 两种模型的输出做加和操作,增强了神经网络空间编码能力,从而进一步提高其识别效果。scSE 模块结构如图2 所示。
图2 scSE 模块结构Fig.2 Structure of scSE module
1.2.1 sSE 模型
sSE 模型结构如图3 所示。
图3 sSE 模型结构Fig.3 Structure of sSE model
该模型从空间关系角度引入注意力机制,首先将维度为H×W×C的特征图经过1×1 卷积降维和Sigmoid 函数激活,得到1 个维度为1×H×W的特征图,再通过特征重标定,与原来特征图U对应空间相乘得到新特征图,如Wsq∈ℝ1×1×C×1。然后经过q=Wsq×U输出q,q为通道为1 的特征图,再经过Sigmoid 归一化到[0,1],计算公式如下:
其中:σ(qi,j)表示特征图中(i,j)的重要性程度。
1.2.2 cSE 模型
cSE 模型结构如图4 所示。
图4 cSE 模型结构Fig.4 Structure of cSE model
该模型主要由1 个全局平均池化层及2 个全连接层组成。首先输入特征图U=[u1,u2,…,uc],其中每个通道的操作过程为ui∈ℝH×W,然后特征图U经过全局池化层得到每个位置k的值,计算公式如下:
其中:W1和W2分别为两次全连接层的权重表示第i个通道特征的重要性程度。
通过ReLU 激活函数增强各个通道之间的独立性,最后经过Sigmoid 层,归一化到[0,1]得到。相关计算公式如下:
scSE模块是以上两部分的加权结合,计算公式如下:
1.3 VGG 网络
VGG 网络(以下称为VGGNet)[12]是一种深度学习网络,其在ImageNet[17]中测试精度达到92.7%。VGGNet 可证明卷积神经网络的深度和性能之间的关联性,提高了网络可扩展性并显著降低错误率。VGGNet 成功构筑了16~19 层深的卷积神经网络,其中VGG16 和VGG19 深度学习模型较常见。基于VGGNet 结构在ILSVRC 大赛取得图像分类的优异成果,本文选用VGG16 网络作为解决肝硬化识别问题的特征提取网络,其结构如图5 所示。
图5 VGG16 网络结构Fig.5 Structure of VGG16 network
VGG16 网络结构共有16 层,包含13 个卷积层和3 个全连接层,其中:第1 层经过64 个卷积核的2 次卷积,采用1 次最大池化;第2 层经过128 个卷积核的2 次卷积,采用1 次最大池化;第3 层经过256 个卷积核的3 次卷积,再采用1 次最大池化;重复2 次3×512 个卷积核卷积后,再采用1 次最大池化,最后经过3 次全连接层及Softmax 输出层。由于传统深度学习模型对全局信息学习具有局限性,且医学图像特征信息存在特殊性和复杂性,因此虽然VGG 网络已在自然图像识别领域取得良好的识别效果,但仍会受样本特征影响,出现特征读取能力低、分类精度不佳等现象。
2 本文网络
2.1 改进的VGG 网络
基于医学图像的特殊性,为确保肝硬化样本的识别准确率,降低网络的运算效率,本文对VGG16网络进行改进,将改进后的网络称为MVGG 网络,其结构如图6 所示。
图6 MVGG 网络结构Fig.6 Structure of MVGG network
MVGG 网络是基于VGG16 网络对二分类问题的改进,与改进前网络相比,MVGG 网络的卷积核、池化层和步长的大小未发生改变,其区别在于卷积层数由原来的13 层变为10 层,最大池化层数由5 个减少为3个。卷积层中的卷积核大小均为3×3,步长为1;池化层核大小为2×2,步长为1;全连接层前2 层的通道数由4 096 变为2 048,输出类别为2,每个隐层均包含ReLU 激活函数,最后连接Softmax 层。其网络复杂度更低,更适用于肝硬化样本的识别分类。
2.2 scSE_MVGG 网络
本文将scSE 模块与改进后的MVGG 网络相结合,提出一种新的网络scSE_MVGG。该网络是在每个3×3 卷积层后增加scSE 模块,其结构如图7 所示。该网络通过上述融合机制,既能保证对原始输入信息的无损传输,又可自动学习全局信息来获取每个通道的重要程度,同时在通道的基础上考虑了空间关系,然后根据重要程度加大与任务相关的特征权重,抑制无关的特征权重[16],从而实现对特征通道的学习,提升肝硬化样本识别效果。
图7 scSE_MVGG 网络结构Fig.7 Structure of scSE_MVGG network
向scSE_MVGG 网络中输入3×56×56 的肝硬化样本,通过scSE 模块加强特征通道和空间关系的学习,提取与任务相关的特征纹理信息并去除无关特征,再经过池化层进行池化操作,得到128×28×28 的特征图,然后再经过卷积、scSE 模块和池化的多次学习过程,最终实现全连接层输入维度为1×1×2 048。
本文网络优点在于:1)通过在结构块之间的转换层减少卷积层和池化层的操作,有效降低了网络复杂度,同时在优化运算量的前提下保留全部纹理特征信息,增强了整个神经网络的鲁棒性[18];2)scSE 模块的加入使得网络具有更好的非线性,可更好地拟合数据,达到更高的分类精度,识别效果更优[19];3)通过对重要特征图加大权重的特征重标定,最大程度地学习有用的纹理特征信息,减少对冗余特征[20]的依赖。
本文通过交叉熵函数获取计算值与期望值之间的差异,利用Adam 优化器对模型进行优化,使训练的模型损失降到最低且准确率达到最高,最后用Softmax 分类器预测所输出不同类之间的概率。交叉熵函数的计算公式如下:
其中:xi为训练样本x的第i个样本,p(xi)和q(xi)分别为预测和真实的概率值。
最后经过全连接层的Softmax 分类器,其计算公式如下:
3 实验与结果分析
3.1 数据获取和选择
本文所用肝脏图像由青岛大学附属医院肝胆科提供,包括300 张病人的B 超肝脏图像,其中正常肝脏100 张,肝硬化200 张。正常肝脏图像与肝硬化图像分别如图8 和图9 所示。其中:正常肝脏图像纹理特征明显,其表面较光滑且无阴影区;肝硬化图像表面不清晰,局部伴有黑点回声和凹凸不平的斑点。考虑到肝脏超声图像还包含其他组织和器官,本文选用Matlab 软件结合感兴趣区域(Regions of Interest,RoI)方法提取实验所需肝脏图像,分别对各个肝脏图像的非交叠位置提取RoI(见图8 和图9),得到1 200 张肝脏图像。正常肝与肝硬化的部分图像如图10 所示。
图8 正常肝脏图像及其RoI 提取Fig.8 Normal liver image and its RoI extraction
图9 肝硬化图像及其RoI 提取Fig.9 Liver cirrhosis image and its RoI extraction
图10 正常肝与肝硬化部分图像Fig.10 Partial images of normal liver and liver cirrhosis
肝脏的病变纹理特征和肝脏尺寸之间关联密切,不同尺寸肝脏的对比实验结果表明:若采用小于56×56尺寸的样本(如16×16)会丢失一部分特征信息;若使用较大尺寸的样本(如128×128),则会包含其他组织器官的纹理特征[8,21],最终影响实验结果的准确性和可信度。因此,尺寸为56×56 的样本为最佳选择。
对部分图像分别以10°、15°、20°、25°、30°的不同角度进行逆时针旋转,对肝脏图像进行数据增强,使图像数量扩大到4 400 张。其中,将2 000 张正常肝脏图像和1 000 张肝硬化图像作为训练集,将700 张正常肝脏图像和700 张肝硬化图像作为测试集。
3.2 实验环境
本文基于Python3.6.0,采用Anaconda3 中的Spyder3.4 平台进行实验,使用Windows 10(64 位)操作系统,32 GB 内存,利用版本为R2016b 的Matlab 软件进行图像RoI 提取,用tensorboardX、torchstat、matplotlib 库进行实验结果的可视化处理。
3.3 结果分析
3.3.1 网络改进分析
本文采用AlexNet 和ResNet 与scSE_MVGG 网络对肝硬化图像的识别率进行对比分析,为符合肝硬化样本的尺寸大小,对上述网络参数进行如下优化:kernel_size为3×3,stride为1,卷积核个数分别为64、128、256 和512,全连接层中的神经元数为2 048。实验参数设置为:epoch 为100,学习率Ir 为0.001,每次输入样本的批大小为16。得到实验结果如表1 所示。
表1 不同网络的识别率对比Table 1 Comparison of recognition rates of different networks
由表1 可见,改进后的MVGG 网络的识别率较原VGG 网络提升2.63 个百分点且测试时间更短,表明其计算效率更高,同时较AlexNet和ResNet识别效果更好。
将AlexNet 和ResNet 与scSE 模块分别结合得到scSE_AlexNet 和scSE_ResNet,并将其与结合scSE 模块的VGG 和MVGG(scSE_VGG 和scSE_MVGG)的识别率进行对比分析,得到实验结果如表2 所示。
表2 不同网络结合scSE 模块后的识别率对比Table 2 Comparison of recognition rates of different networks combined with scSE module
结合表1 和表2 可见,在原来网络中加入scSE 模块后,scSE_AlexNet、scSE_VGG 和scSE_ResNet 模型的识别率均得到相应提升,且本文scSE_MVGG 网络的识别率达到98.78%,明显高于scSE_AlexNet 和scSE_ResNet。
3.3.2 优化器对实验结果的影响
本文考虑到不同优化器对网络训练过程的影响,采用4 种优化器对本文网络的实验结果进行测试。不同优化器在训练集与测试集上的acc 曲线和loss 曲线如图11 所示,迭代200 次后得到实验结果对比情况如表3 所示。
表3 不同优化器得到的实验结果对比Table 3 Comparison of experimental results obtained by different optimizers
图11 不同优化器在训练集与测试集上的acc 和loss 曲线Fig.11 Acc and loss curves of different optimizers on training set and test set
结合图11 和表3 可知,Adam 优化器相较其他3 种优化器准确率更高且训练时间更短,因此Adam优化器更适用于本文网络。Adam 优化器可在不同参数下计算得到不同的自适应学习率,计算效率较高且对内存需求较小。相关计算公式如下:
其中:mt为一阶动量项,nt为二阶动量项,η为学习率,∈表示接近0 的值。
3.3.3 网络复杂度分析
卷积神经网络的复杂度通常从时间因素和空间因素两方面[21]考虑。时间复杂度用浮点运算次数来衡量,从网络的训练和预测时间以及最终得到结果的效率来判断。相关计算公式如下:
其中:D为网络深度,l为网络第l个卷积层,Cl为第l个卷积层输出的卷积核个数。该过程实质上是将卷积层的时间复杂度在各层内相乘且各层之间依次叠加。
空间复杂度的关键在于网络参数量。若网络参数量庞大,则造成训练过程所需的数据量较大;若网络参数量太小,则造成训练过程出现过拟合现象。相关计算公式如下:
其中:K为卷积核大小,C为通道数,D为网络深度,这三者和网络参数量密切相关。
不同网络复杂度的对比结果如表4 所示。
表4 不同网络的复杂度对比Table 4 Complexity comparison of different networks
由表4 可见,改进后的MVGG 网络较原VGG 网络的参数量明显减少,虽然其加入scSE 模块后网络参数量相应增加,但综合考虑该网络的识别率和时间损耗,本文scSE_MVGG 网络较其他网络复杂度更低且计算效率更高。综上所述,本文网络对肝硬化图像的识别率更高,识别效果更好,验证了该网络具有一定的鲁棒性和有效性。
4 结束语
针对传统机器学习方法对医学图像特征提取能力不足的问题,本文提出一种用于肝硬化识别的scSE_MVGG 网络。采用scSE 模块增强网络空间编码能力,并与改进后的MVGG 网络进行结合,实现对原始输入信息的无损传输,以及对通道和空间特征信息的学习,使网络学习的特征与目标任务更相关,以此提高肝硬化样本识别效果。实验结果表明,与scSE_VGG、scSE_AlexNet 等网络相比,该网络的识别效果更优。后续将优化网络结构并与轻量级模型进行融合,进一步提高网络计算效率和识别率。