基于Swin Transformer 的肝囊型包虫病超声图分类研究*
2022-11-28热娜古丽艾合麦提尼亚孜米吾尔依提海拉提王正业叶尔夏提多力孔严传波
热娜古丽·艾合麦提尼亚孜,米吾尔依提·海拉提,王正业,叶尔夏提·多力孔,严传波
(1.新疆医科大学 公共卫生学院,新疆 乌鲁木齐 830011;2.新疆医科大学 医学工程技术学院,新疆 乌鲁木齐 830011)
0 引言
包虫病是由棘球绦虫幼虫引起的一种呈全球分布性的人畜共患寄生虫病[1]。根据中国疾病预防控制中心数据显示[2],每年约有超过200 万人感染包虫病,在畜牧地区特别是医疗卫生条件较差的偏远地区的流行较为突出。我国是世界上包虫病患病最严重的国家之一[3],以细粒棘球绦虫引起的囊型包虫病(Cyst Echinococcosis,CE)和多房棘球绦虫引起的泡型包虫病(Alveolar Echinococcosis,AE)流行为主,其中囊型包虫病的患病率最高,占全部发病的98%以上[4]。此病多发于中国西北部牧区和青藏高原等医疗资源贫瘠的地区,由于新疆肝包虫病发病率较高,已成为新疆的地方性特色病[5]。包虫病不同分型在临床上对应不同的治疗方案[6],准确的分型对包虫病的治疗有重要的意义。目前临床上评估肝包虫病首选的方法是影像检查,超声诊断因其无辐射和低成本等特点被广泛用于肝包虫病的筛查和诊断[7]。然而,该病患者多而专业医生和检测技术远远不能满足患者的就医需要,尤其是在畜牧及偏远的地区,往往还存在着医生经验不足的情况,并且因该病早期临床表现不明显,患者往往是出现肝区疼痛等明显症状时才开始就医,这不仅给治疗带来更大的难度,还会影响肝包虫发病早期的精确诊断。
随着人工智能领域的快速发展,深度学习相关技术在计算机视觉、自然语言处理、生物信息等多个领域取得了巨大的成功。图像分类作为深度学习技术应用最成功的领域之一,深度学习的发展使胃癌、乳腺癌等疾病[8-9]的精确分类成为可能,还有部分学者[10-12]提出使用计算机辅助诊断(Computer Aided Diagnosis,CAD)的方法辅助医生对疾病进行分型、评级和预后等。近年来,卷积神经网络(Convolution Neural Network,CNN)开始陆续应用于医学图像的分类中,国内外学者利用CNN 构建了如VGGNet、ResNet、EfficientNet等许多成功的分类网络架构。一直以来,卷积神经网络都被认为是计算机视觉的基础模型,直到2017 年6 月谷歌发布论文《Attention is All You Need》[13]提出Transformer 以后,基于Transformer的模型迅速成为自然语言处理领域的主流模型。2020年10月,谷歌再次提出了Vision Transformer(ViT),可以直接利用Transformer 对图像进行分类,并取得了与当前最优卷积网络相媲美的结果[14]。Swin Transformer 模型是微软最近提出的在Transformer 基础上改进的模型,通过对图像块序列的预测实现了图像分类,正被越来越多的研究者[15-16]应用于图像分类、目标检测和语义分割等任务。
本研究首次提出基于改进Swin Transformer 对5 类包虫病病灶实现全自动分型的辅助诊断方法,并通过引入卷积注意力机制(Convolutional Block Attention Module,CBAM),一定程度上提高了整体网络框架的效率和分类准确率。本研究利用在ImageNet 上训练好的权重初始化Swin Transformer 模型的参数,在肝包虫病超声图像数据上进行微调,不仅提高了模型的泛化能力,减轻过拟合现象,还减少了模型训练时间,同时提高分类算法的精度和效率。最后通过与经典的CNN 网络进行对比实验,验证了Swin Transformer 网络对肝囊型包虫病进行分类的有效性。
1 材料与方法
1.1 实验环境
本实验深度学习框架为PyTorch 1.4.0,采用了Python3.7编程语言进行模型框架的搭建,开发工具为PyCharm Community Edition。环境配置如下:CPU i7;内存15.6 GB;GPU GeForce GTX 1080 Ti;显存11GB。操作系统:Ubuntu 18.04.2 LTS。
1.2 数据集来源
本次研究选用的数据集来自新疆医科大学各附属医院自2008 年至2018 年期间采集的囊型肝包虫超声影像资料。关于病灶的分型参考了世界卫生组织包虫病非正式工作组(WHO-IWGE)对于包虫病灶的分型标准[17],本次纳入研究的肝囊型包虫病超声图像分为5 种类型:单囊型(CE-1)、多子囊型(CE-2)、内囊塌陷型(CE-3)、坏死实变型(CE-4)和钙化型(CE-5),各分型样本个数及患者数如图1 和表1 所示。本次研究收集了2 486 位病人共计4 813 张肝包虫超声影像图片,每张超声图像的类型都由该医院拥有3 年以上工作经验的超声科影像医师验证确定。
图1 肝囊型包虫病(HCE)各分型超声图
表1 HCE5 种亚型的超声图像及患者数量
1.3 研究方法介绍
1.3.1 网络整体框架
Transformer 最开始用于自然语言处理领域,因其强大的表征能力逐渐获得研究人员的关注,提出将该技术扩展到计算机视觉领域,但因其巨大计算量而望而却步。直到2021 年微软研究院在ICCV 上提出的基于多头注意力机制的Swin Transformer[18],提出通过滑动窗口机制和空间降维注意力方法解决了传统Transformer 长期被诟病的计算量大的问题。通过图2 可以看出整个框架的基本流程如下:首先是将图像输入到Patch 划分模块(Patch Partition)中进行分块,然后就是通过四个阶段构建不同大小的特征图,除了第一阶段中先通过一个线性嵌入层(Linear Embeding)对每个像素的通道(Channel)数据做线性变换外,剩下三个阶段都是先通过一个图像降采样层(Patch Merging)进行下采样,最后通过全连接层对5 种肝囊型包虫病进行分类,并输出预测结果。
图2 Swin Transformer 整体架构图
1.3.2 W-MSA 和SW-MSA
Swin Transformer 网络相对于传统Transformer 一个重要的改进就是使用基于窗口的多头自注意力(W-MSA)和基于移位的多头自注意力(SW-MSA),W-MSA 将输入图片划分成不重合的窗(Windows),然后在不同的Window内进行self-attention 计算,由于Window 内部的patch 数量远小于图片patch 数量,并且窗口数量是保持不变的,W-MSA 的计算复杂度和图像尺寸呈线性关系,相对于直接对整个特征图进行多头注意力机制(MSA),能进一步减少计算量。然而,不重合的窗口之间缺乏信息交流,这样就失去了Transformer 利用自注意力从全局构建关系的能力,于是进一步引入SW-MSA 来跨窗口进行信息交流,让信息在相邻的窗口中进行传递,从一开始就能实现对图像全局特征的学习,从而具有更强的特征学习能力。连续两个Swin Transformer block 结构图如图3所示。
图3 连续两个Swin Transformer block 结构图
1.3.3 卷积注意力机制
2018年,文献[19]提出卷积注意力机制(Convolutional Block Attention Module,CBAM),这是一种简单而有效的前馈卷积神经网络注意力模块。CBAM 将通道和空间注意力机制相结合,更关注图像的重要信息,在计算机视觉领域已得到广泛且深入的研究。为了进一步细化骨干网络提取到的特征,本研究在Swin Transformer 网络的第一阶段的线性嵌入层前后加上了CBAM 模块,该模块使得神经网络能够关注不同病灶区域的特征,更能注意到最高响应以外的区域,增加的信息提高了网络的分类性能。卷积注意力机制模块如图4 所示。
图4 卷积注意力机制模块
2 结果
2.1 基于微调迁移学习的模型训练
将肝囊型包虫病各类的数据以3:1:1 的比例进行划分,训练过程使用自适应矩估计(Adam)优化器进行参数调优,初始学习率设为0.000 1,Loss 计算过程采用交叉熵损失函数,训练批大小统一设为16,一共训练200 个epochs,每次训练耗时约3 h。数据集在模型中的训练结果如图5 所示,其中,图5(a)、图5(c)表示不使用ImageNet上的Swin Transformer 预训练权重;图5(b)和图5(d)表示使用预训练权重。基于微调的迁移学习的Swin Transformer 网络经过200 个epoch 训练,精准率稳定上升达到90%以上,最高达到90.2%,验证了基于迁移学习的Swin Transformer 模型对肝包虫病有较好的分类效果。
图5 验证和训练的损失和准确率变化曲线
为进一步分析Swin Transformer 在肝囊型包虫病各分型上的准确率,表2 列出了每个类别的性能指标。相对Swin Transformer 基线,采用迁移学习精确率(precision)平均提高了23%,召回度(recall)平均提高了22%,特异度(specificity)平均提高了3%。图6 所示为混淆矩阵结果对比。
图6 混淆矩阵结果
表2 两种模型各分类分型结果
2.2 对比实验分析
为了进一步验证优化的Swin Transformer 在肝包虫病图像分类方面的性能,本实验设置了包括多个经典的CNN 分类模型的对比实验,包括:ResNet34、VggNet16、MobileNetV2、EfficientNetV2 和ConvNeXt。为了实验结果可信可比,对比实验均在统一的实验环境下进行。图7 显示了几种网络的分类性能对比结果。对比实验结果显示基于迁移学习的卷积神经网络模型的分类准确率均小于基于多头注意力机制的Swin Transformer 模型(92.6%)。其中,MobileNetV2 的分类准确率(70.5%)最低,Efficient-NetV2 的分类准确率(74%)相对较低,ResNet34 准确率高达90.2%,VggNet16 的分类准确率(88.3%)略低于ResNet34。
图7 不同模型分型的结果对比图
2.3 模型预测可视化结果
Grad-CAM 是一种神经网络可解释性的经典方法,通过它可以观察模型更侧重哪块区域来达到正确分类的目的。为了更直观地显示改进的Swin Tranformer 网络在肝包虫病分类分类的有效性,本文使用该方法对随机选择的分类正确的测试集样本关键区域进行可视化操作来观察模型的诊断是否基于关键的临床特征。原图和不同类别可视化结果如图8 所示,图8(a)中红色区域对应于该类别的权重的高分,证明该模型能够准确识别各类别肝囊型包虫病超声图像的关键目标区域,该区域与医生标记的病灶区域重叠度较高,再次证明该模型的诊断结果具有良好的可靠性。
图8 模型热力图
3 讨论
本研究提出了基于多头注意力机制的Swin Transformer 用于肝囊型包虫病超声图像的自动分类方法,通过对比实验证明了该方法在包虫病分类中的有效性,如表3 所示,基于迁移学习的网络模型相对基线模型准确率提高了24.5%,引入CBAM 模块的算法获得更高的分类准确率(92.6%),说明了CBAM 模块的引入可以有效提升模型的分类效能。
由表2 和图6 可以看出基于迁移学习的Swin Transformer 网络具有分类性能更佳、收敛速度快等优点,能够很好地弥补实际应用过程中部分类别样本数据量不足以支持网络训练的缺陷,提高了神经网络对于小规模样本数据集的适用性,解决了分类模型在实际应用过程中面临的数据样本不足导致的网络无法收敛的问题,降低了网络在新领域中重新学习的代价,为实现Swin Transformer 在肝包虫病的自动分型的进一步应用打下了良好的基础。由表1 和图6 能看出,各类别数据量对分型效果的影响显著,并且CE-4 和CE-5 由于特征相似,分类时容易出现混淆。由表3 能看出经过改进的Swin Transformer 模型在测试集上诊断准确率达到92.6%,在肝囊型包虫病分型的表征学习中表现出更加突出的特征提取能力,说明基于Swin Transformer 的方法具有很好的研究前景,有望用于其他类疾病的分型诊断中。
表3 网络性能比较结果
虽然本研究提出的基于Swin Transformer 的改进方法有效提高了肝包虫病自动分型的效率和准确度,但是由于硬件条件、自身能力等原因,仍需要在当前工作基础上进一步深入研究,包括:(1)由于肝包虫病部分类别的超声图像数据较少,极大影响了该类别分类准确率,可以使用更加先进的数据增强技术扩充数据,来提高Swin Transformer 网络的鲁棒性和泛化能力来达到更高的分类效果。(2)本研究所采用的数据来自新疆医科大学各附属医院,因影像医师手法和图像采集设备存在差异,超声超声仪器在报告结果时生成的图像存在较大的差异,并且非影像信息增加了分型的难度分类和病灶检测模型的计算量,后续可以开展对肝囊型包虫超声图像影像区域的自动分割算法研究来去除图像中干扰信息,进而提升模型的整体分类性能。
4 结论
本研究提出一种改进Swin Transformer 的肝囊型包虫病超声图像辅助诊断方法,该网络结合CBAM 来获取病灶不同区域的信息,有效地提高模型的分型性能。该方法的提出也填补了Swin Transformer 网络模型用于医学图像分类方面的空缺,为该方法用于其他类疾病医学图像的分型诊断提供一种有效的数据支持和依据。