基于激活层前置压缩激励残差网络的早期胃癌筛查算法

2021-12-16 07:05张晓玥王永雄张佳鹏孙洪鑫
南方医科大学学报 2021年11期
关键词:残差胃镜筛查

张晓玥,王永雄,张佳鹏,孙洪鑫,王 东,陈 羽,周 志

1上海理工大学光电信息与计算机工程学院,上海 200093;2上海长海医院消化内科,上海 200433;3南方医科大学第七附属医院消化内科,广东 佛山 528244

胃癌起源于胃黏膜上皮的恶性肿瘤,研究表明,胃癌的全球发病率、死亡率分别占5.6%、7.7%[1,2],在主要癌症发病和死亡谱上分别位居第5位和第4位[3]。胃镜检查是早期胃癌筛查和诊断的传统方案,医生通过胃镜图像直接观察到胃的内部情况,实现对早期胃癌的检测和治疗。然而,医学影像分析的工作量很大,检测结果非常依赖于医生的主观判断,加上早期胃癌的症状较为隐匿,使得常规的胃镜诊断难,从而导致病情的延误,降低病人的存活率[4]。

早期胃癌诊断的依据是黏膜颜色的轻微变化、表面腺管的开口和下层黏膜下血管的不规则纹理模式[5]。在内窥镜下通常表现为略微发红的轻微隆起或凹陷,不易与炎症区分[6]。蓝激光成像技术(BLI)及其联动成像(LCI)[7]是目前通用的提高早期胃癌可见度的主流技术之一,通过颜色的细微差别来判断粘膜病变。相比于白光胃镜图像,LCI图像能够更加明显识别出病灶,具有一定的优越性[8]。但是这种诊断方法的病变识别率与操作医生的知识与经验密切相关,也免不了出现误诊漏诊的情况[9]。因此,早期胃癌自动实时的辅助诊断具有十分重要的临床意义和实用价值。

近年来,随着人工智能的不断发展,深度学习方法被广泛的应用于胃镜图像的处理[10-13],实现了计算机自动标注和提取图片中的病变情况,从而对疾病进行识别和辅助诊断。研究通过组合各AlexNet、GoogLeNet和ⅤGGNet等CNN模型来构建ΜCNN模型,以增强胃癌筛查的性能[10]。有研究使用实例分割方法Μask R-CNN从内窥镜图像中检测和分割胃癌区域,再使用五倍交叉验证进行性能评估[11]。Hirasawa等[12]提出了一种使用SSD进行对象检测的胃癌自动检测方法,其灵敏度为92.2%,阳性预测值为30.6%。也有研究使用GoogLeNet作为预训练网络,对早期胃癌的数据集进行迁移训练,以实现自动识别的效果,准确率达到82.8%[13]。尽管上述方法对在早期胃癌的检测上取得了一定的成果,但是数据收集和人工标注的难度较大,难以获得大量的图像,即使采用了迁移方法,模型训练也不够充分。为了实现定位功能,现有的方法大多数是基于实例分割或目标检测模型[11,12],光照和角度差异等原因导致胃镜图像噪声较多,数据量太少会严重影响模型的性能,甚至无法评估其性能,导致基于深度学习的目标检测方法无法使用。分割任务是以一种像素级别的分类,高精度的分割网络对于特征有着较高要求,在训练数据不足的情况下分割模型难以达到期望的精度[14]。滑窗方法是一种有效的数据扩充方法,在很大程度上能够减少数据量对模型训练的影响,因此,提出了“局部筛查+全局滑窗”的策略,用分类方法对胃镜图像进行“局部筛查”识别病灶,用“全局滑窗”完成病灶的初步定位,便于医生诊断和取活检。

此外,视觉注意力机制广泛应用于各种深度学习任务[15]。研究人员将其应用于医学图像处理中的目标识别、图像分类与分割等任务,并在某些疾病的诊断任务中取得了良好的实际应用效果。如有研究以3D U-Net网络为基础架构,加入空间注意力模块和通道注意力模块,Dice 系数和Hausdorff 距离分别提升了2.5%和9.7%,假阳性率减少了13.6%,实现肺癌的快速、稳定和准确分割[16]。相关研究表明,在深度学习中引入注意力机制在许多医学图像数据集和实验中均能够很好地提升网络性能[17]。因此本文提出了一种注意力机制,使得网络模型更加关注黏膜颜色的轻微变化、表面腺管开口和不规则纹理等重要特征,提高有效信息的权重。

为了减少主观因素对早期胃癌诊断的影响,结合早期胃癌病变区域的特点,本文提出一种基于激活层前置压缩激励残差网络(PASE-ResNet)的早期胃癌筛查算法。将压缩激励结构[18]加到PreActResNet-18[19]的每个残差模块中以构成新的网络。激活层前置使得训练更容易,提升了在训练数据较小的情况下模型的泛化能力;同时压缩激励结构增强了与病灶相关的特征通道,我们提出的组合模块在减少参数量的同时更准确地提取图像特征信息,提出的网络明显提升了分类模型的性能。在筛查过程中,通过64×64滑动窗口[20]的方式对整幅胃镜图像进行检测,克服了原始训练数据量不足对模型的影响,实现了早期胃癌的快速筛查和定位。

1 方法

为了实现早期胃癌筛查,本文提出了一种基于激活层前置压缩激励残差模块,以PreAct-ResNet为基础,将网络中的残差模块替换为本文提出的模块。整个任务可分为以下步骤:数据集制作、数据预处理、模型训练及测试,流程图如图1。

图1 早期胃癌检测流程图Fig.1 Flow chart of early gastric cancer screening.

1.1 数据集制作

实验数据由上海长海医院和南方医科大学第七附属医院等机构收集,包含38例早期胃癌诊断图像,由型号为ⅤP-4450HD的消化内窥镜图像处理器的蓝激光成像技术及其联动成像观察模式下采集所得。内窥镜是基于黏膜反射光原理成像。在LCI模式下,设备通过照射白光和窄带短波光使视野中产生一个分离良好的红色区域[21]。通过该技术使得生成的图像色彩对比更加鲜明,黏膜表面红色更红,白色更白,从而识别出各区域的细微色差[22],进一步增加病变的检出率。图像大小为1280×1024,色深为24 位。数据集图片如图1 中的“Data preparation”和“Ground truth”部分所示,病变部分由3名经验丰富的内镜医师和肠胃医生用蓝色线条进行标记。

早期胃癌的形态学特征很少,为了获取更有价值的细节纹理和颜色特征信息,我们使用了一种有效的数据扩充策略:从38例胃镜图中依据专家标注的边界标注随机手动截取了18 400张子图,其中每例患者的胃镜原图大约被截成484张分辨率为64×64的子图,大幅度提高了数据的利用率。所有数据块均标注了正/负(pos/neg)类别,且两类样本比例为1∶1。所有正类(疑似病例)样本从病灶部分裁剪,负类(正常)样本从未患病部分采集,以图1中“Data preparation”的训练图为例,红色框表示正类样本,绿色框表示负类样本。

1.2 数据预处理

因为胃镜子图尺寸较小,部分细节信息无法得到展现。首先,使用双线性插值[23]将图片扩大到224×224像素;接着,进行随机旋转、水平翻转和随机裁剪等方式进行数据增强[24];最后,将图片转换成向量格式并对其进行像素值归一化处理[25]。

1.3 模型

1.3.1 特征提取模块 卷积神经网络(CNN)[26]是适合图像处理任务的多层神经网络。如果网络过度加深层数,会出现“梯度消失”的现象,导致模型训练困难并出现“网络退化”。为了解决这个问题,微软研究院的研究者在2015年提出了ResNet结构模型。该模型首次引入了残差模块,通过跳跃连接的结构直接连接浅层网络和深层网络,能够有效的解决因网络层数不断加深时导致的梯度消失问题。

为了简化训练、提高模型的泛化能力,He等[27]于2016年通过研究残差网络链接机制,提出了一种基于残差学习的改良版网络——PreAct-ResNet。如图2分别为ResNet(a)、PreAct-ResNet(b)和提出的注意力模块,图中BN表示批归一化处理,ReLU表示ReLU激活函数[28](线性整流激活函数,Rectified Linear Unit Activation Function),Conv表示卷积层。相较于传统模块,PreAct-ResNet在激活函数的设计上做出了改变,将经过归一化的权重作为下一层的输入,使模型的跳跃连接的恒等性进一步加强,减少了信息传递的阻碍,改善了残差神经网络的特征提取能力。

图2 ResNet、PreAct-ResNet和PASE模块结构图Fig.2 Structure diagram of ResNet,PreAct-ResNet and PASE module.A:ResNet;B:Preact-ResNet;C:PASE.

1.3.2 注意力模块 压缩激励注意力模块[18]于2017年的ImageNet竞赛的分类任务上取得了冠军。该模块主要由压缩(Squeeze)、激励(Excitation)和重新分配权重(Reweight)三部分组成(图3)。

图3 压缩激励模块原理图Fig.3 Schematic diagram of Squeeze-and-Excitation module.

当上一层的输出是宽为W、高为H、通道数为C的多通道特征图U时,进行压缩操作,即对H×W×C的特征图使用全局平均池化,根据如下公式将每个特征通道都压缩成一个实数,得到1×1×C的向量Z:

式中,uk(k=1,2,…,C)为输入特征图U中第k个通道特征图,zk(k=1,2,…,C)为经过压缩操作的输出向量Z中第k通道的特征向量,W×H为u的空间维度。

模块的激励部分通过两个全连接层(FC),构建了一个参数可训练的门控机制,用于降低模型的复杂度并提升泛化能力。具体地,通过一个缩放参数Ration使特征向量的通道数目经过第1层FC后压缩至C×Ration,接着通过第2个FC恢复至原始尺寸。两层FC之间分别使用ReLU函数和Sigmoid函数激活。整个过程如下:

式中,σ为激活函数Sigmoid,δ为激活函数ReLU,W1和W2分别为两个全连接层自适应学习得到的权重参数,向量S中包含了各通道重要程度的信息。

在得到向量S之后,对原本的特征图U进行重新分配权重,即用原特征通道乘以所获得的通道特征重要程度系数,从而得到如式(3)所示的新特征:

1.3.3 提出的模块和网络模型 首先,虽然医学图像和自然图像在数据域分布上存在很大的差异[29],但两者在使用CNN方法进行训练时皆存在特征冗余的问题。因此,尽管PreAct-ResNet和压缩激励注意力模块是对自然图像提出的,我们认为其在针对医学图像的任务中同样能提升模型的性能,在后续的实验中也证实了这点。其次,自然图像和医学图像在分类的任务中存在差异。自然图像中分类目标的种类繁多,往往需要借助深层网络以提升模型的表示能力。而医学图像相关任务通常是针对少量特定的类别,同时可供训练的数据量也十分有限。本文的所针对的早期胃癌筛查任务,需要提取能够代表特定病变类型的特征,因此不适合使用太深的网络结构。同时使用的数据集相对较小,过深的网络会使存在过拟合的风险[30],故选取了层数较少的ResNet18网络,并在此基础上进行改进,以适应本文的任务。

综上,本文提出了一种基于激活层前置压缩激励残差模块PASE(Pre-Activation Squeeze-and-Excitation),结构如图2C。首先每个模块在训练时使用两组“BN层+激活函数+卷积层”的组合,减少计算机运算成本并缩短模型运行时间;然后使用压缩激励模块对较为重要的特征通道进行加权,过滤掉不必要的细节信息;最后与输入中对应通道上元素级别的相加实现跳跃连接,从而支持模块在前向传播时不断学习到新的特征。

本文提出的基于激活层前置压缩激励残差网络(PASE-ResNet)是一种以PreAct-ResNet为基础的新型卷积神经网络,网络结构如图4。该网络以从内窥镜图像中截取的图片作为输入,在沿用了原先结构的基础上,将残差模块替换为提出的PASE模块。由图可知,输入经过卷积层和最大池化层后进入8个PASE模块(PASE1,…,PASE8),再经过全局平均池化层和全连接层以及输出层。当图片输入后,卷积层使用7×7卷积核提取特征;8个PASE模块的卷积层略有差异,PASE8的输出作为平均池化层的输入;输出层输出的是网络对输入图片判别出的种类的识别信号。

图4 激活前置压缩激励残差网络结构图Fig.4 The proposed PASE-ResNet architecture.

1.4 损失函数

网络的优化使用了二分类交叉熵损失[30](Binary Cross Entropy Loss)函数,公式如下:

式中,x表示输入的图像,y表示输入图像对应的标签,N为一个训练批次的大小,ωn为每个batch元素的权重。在本文任务中所使用数据集的正负类样本比例为1:1,所以令ωn=1。

1.5 滑动窗口筛查病变

在筛查病灶的过程中,使用滑动窗口,按照图1中“Sliding window”中黄色框的移动轨迹从左上到右下扫描整张图片,滑动窗口的大小为64×64,将截取的图像块输入到训练好的网络中,评估胃癌早期发生的可能性,即胃癌的存在概率。再使用蓝色边框标出概率较高的图像块,如图1中的“Output”,生成诊断结果可视化图。

1.6 训练参数设置和模型训练

基于Pytorch框架进行实验网络搭建和训练,使用随机梯度下降法(SGD)[31]进行优化,当损失函数值达到稳定时停止训练。在学习率方面,采用了等间隔调整的策略。初始学习率为0.1,设置间隔区间为[20,40],一共迭代训练60次。在第20和40次迭代时对学习率进行调整,调整为当前学习率的0.9倍。批处理量的大小与设备显存有关,为充分利用显存,加快训练速度,设置为64。

本文针对提出的方法,利用包含12 800张的早期胃癌数据集,其中正负类样本比例为1∶1,采用3折交叉验证法进行验证。将所有数据等分为3份,每次取出其中的1份作为检验数据集,其他2份作为训练数据集,对3次检验所得结果取平均值。

1.7 评价指标

为了对全面客观地评价模型的诊断性能,同时方便与其他算法进行比较,本文采用准确率(Acc)、灵敏度(Se)、特异性(Sp)[32]、浮点运算次数(FLOPs)[33]和网络参数量(Params size)等5个指标来表现网络性能,指标定义为:

其中,TP表示正确识别的正类样本数目,TN表示正确识别的负样本数目、FP表示被误分为正类的负样本数目,FN表示被误分类为负类的正类样本数目。准确率描述模型区分正类和负样本的性能,灵敏度描述模型区分正类的性能,特异性描述模型区分负样本的性能。浮点计算次数评价网络的时间复杂度,表示完成一次预测的计算量;网络参数量评价空间复杂度,是衡量模型算法大小的指标。

2 结果

为了充分验证本文所提出方法的有效性,本文将PASE-ResNet与部分经典的图像分类方法运用在早期胃癌数据集上进行对比实验。本文提出的方法在准确率、灵敏度和特异性下均达到最优效果,网络参数量达到次优值(表1)。

表1 不同方法的实验结果对比Tab.1 Comparisons of PASE-ResNet with other methods

与Densenet121和Pyramidnet200等层数较多的神经网络相比,ResNet18和ResNet34在准确率和灵敏度上相差不大,其中ResNet18的FLOPs值更小、计算复杂度更低、网络参数量更小,因此在网络结构上对ResNet18 进行改进的算法,如PreAct-ResNet18 和PASE-ResNet,会在计算消耗上有不同程度的提高。本文模型的参数量为3.3 M,计算量为6.368 G,相比ResNet18和PreAct-ResNet18而言,参数量大大减少,准确率分别提高了6.69%和4.60%,同时以很小的计算代价换来了较大的性能提高。虽然本文模型的计算量比原始模型有所提升,但是它在训练和测试的流程中使网络更灵活,参数的利用率较好,鲁棒性更强。PreAct-ResNet相比原始ResNet,性能得到了略微改善,但效果不明显;由于引入了SE模块,本文提出的PASE-ResNet与PreAct-ResNet34相比,准确率、灵敏度和特异性分别提高了3.8%、1.5%和6.04%。结果显示注意力机制模块比仅仅增加网络层数更适用于本文任务。

图5记录了在训练过程中不同方法loss值的变化过程。PASE-ResNet的loss值相较于其他方法收敛速度更快,最终收敛到0.111,比其他loss更趋向于0。此外,为了直观显示筛查的有效性,胃癌筛查可视化如图6所示,其中蓝色边界是由多个被预测为正类的局部子图的边界自动拼接而成。

图5 多种方法在训练过程中的loss曲线Fig.5 Training loss curve of different models.

图6 胃镜图筛查结果可视化Fig.6 Visualization of gastroscopy screening.

3 讨论

为了在标注数据有限的条件下得到早期胃癌识别模型,本文提出了一种基于激活层前置压缩激励残差网络PASE-ResNet,用于内窥镜图像中的早期胃癌筛查。该模型采用的激活层前置的残差模块PreAct-ResNet在训练时使用了“BN+激活函数+卷积”的组合有效降低了计算成本,具有较高的特征表示能力。为了使模型更关注早期胃癌病灶局部区域,引入了SE模块对重要的特征通道进行加权,增大有效特征的权重,过滤掉一些冗余信息。实验结果表明,对于早期胃癌局部区域分类任务,我们提出的网络与传统网络相比在准确率、灵敏度和特异性上均有大幅提升。此外,滑动窗口策略在保证局部分类精度的同时,也能够获得胃镜图像中早期癌症病灶更精细的筛查结果。因此,提出的方法更适合运用在早期胃癌检测和筛查。

目前,本文的研究还存在着一些提升空间:由于成像设备的参数设置不统一,内窥镜图像处理器采集到的图片在色彩、光照等方面不同,而我们的模型训练时使用的数据来源单一,这就导致训练出来的模型通用性较差,在后续的改进中可以运用迁移学习中的域适应[34]解决训练集和测试集数据分布不一致的问题;其次,为了将算法更好地运用到临床中,后续将研究调整网络结构[35],减小网络参数,加快检测速度,从而进一步提高普适性。

猜你喜欢
残差胃镜筛查
基于残差-注意力和LSTM的心律失常心拍分类方法研究
基于双向GRU与残差拟合的车辆跟驰建模
二维超声与四维超声筛查方法在筛查不同孕周产前超声筛查胎儿畸形情况的应用价值
预防宫颈癌,筛查怎么做
基于残差学习的自适应无人机目标跟踪算法
NRS2002和MNA-SF在COPD合并营养不良筛查中的应用价值比较
应该如何准确划定产前遗传筛查范围
基于深度卷积的残差三生网络研究与应用
做胃镜 普通、无痛如何选
电子胃镜引导下放置螺旋形鼻肠管