程立英, 刘祖琛, 谷利茹, 江龙涛, 王晓伟, 王玉莲
(沈阳师范大学 物理科学与技术学院, 沈阳 110034)
结直肠癌是源于结直肠黏膜上皮的恶性肿瘤,是临床上最常见的恶性肿瘤之一[1]。目前世界各国结直肠癌发病率和死亡率逐渐增加,根据2019年国家癌症中心发布的全国癌症统计数据,结直肠癌在我国十大最常见癌症中排名第3,仅次于肺癌和胃癌[2]。对结直肠癌患者采取有效手段进行早期诊断和治疗有助于提高患者的生存率。结直肠癌在早期的表现通常为息肉,结肠镜检查也是结直肠癌筛查的金标准。目前防止结直肠癌的有效方法是患者通过结肠镜筛查并进行必要的肠息肉摘除[3]。因此,提前发现息肉并在息肉转化为癌细胞前将其摘除尤为重要。结肠镜筛查主要依赖医生临床经验,仅依靠医生主观诊断仍可能有息肉漏检的概率。采用计算机智能分析辅助医生结肠镜筛查是提高息肉检出率、降低漏检率的有效手段[2]。现有的息肉检测算法取得了一定的研究成果,但依旧会出现检测精度较低、速度慢、假阳性率高等问题[4]。本文利用深度学习的方法可以准确、高效地对结肠镜图像进行处理,检测图像中是否存在息肉,并对检测到的息肉进行有效提取,以解决息肉外观高变异性造成的假阳性率高的问题。
结肠息肉是一种结肠表面的突起,从扁平到有蒂,以不同的形状出现。当扁平息肉通过其基部附着在结肠壁上时,带蒂的息肉附着在茎上。结肠息肉分为炎性息肉、增生性息肉和腺瘤性息肉。腺瘤性息肉是结直肠癌的癌前病变,通过结肠镜检查可以发现腺瘤性息肉,但由于其在内镜检查过程中不敏感,很难仅从外观上区分结肠息肉的类型。如图1所示,是从不同的结肠镜检查视频中提取出的8个不同的结肠息肉实例。
图1 来自CVC-ClinicDB的8个不同的息肉实例Fig.1 Eight different polyp instances from CVC-ClinicDB
传统机器学习算法已被应用于结肠镜图像智能分析。Yuan等[5]将自下而上与自上而下机制结合的显著性检测算法用于息肉区域自动识别;Tajbakhsh等[6]利用形状和上下文信息在结肠镜图像序列中进行智能检测。传统算法需要根据息肉特征人为进行特征设计,并制定某种规则或者利用分类器检测息肉。人为特征设计的依据主要来自医生的经验,受息肉极大差异性、医生阅历和主观性的影响,人为特征设计难以准确适应检测工作。
近年来,深度学习技术在图像检测、医学图像处理等多个领域中表现出了远超传统检测方法的性能[7]。将卷积神经网络引入结肠镜图像目标识别,辅助医生尽早发现并对息肉进行及时处理,可以大大降低肠息肉癌变的概率[8]。Yuan等[9]将旋转不变性和图像相似度引入算法,提出了用于内窥镜图像识别的 RIIS-DenseNet网络;Fang等[10]将边缘信息引入算法,将网络分为区域提取和边缘提取2大分支,通过分支网络信息交互进行肠息肉信息的提取,但由于肠息肉成像差异大、息肉类型多样等导致检测结果假阳性高。
本文针对以上问题,利用U-net++网络对结肠镜图像中结肠息肉进行检测,提出一种引入注意力机制的U-net++改进模型,采用端到端的结构,并针对不同网络进行实验研究,对各种网络模型在结肠息肉检测结果进行精度和损失度对比分析。经过实验验证,引入注意力机制的U-net++改进网络模型能够快速精确地检测结肠息肉,可以更好地辅助医生进行临床决策和干预,具有重要的研究意义和临床应用价值。
在传统的U-net网络中,跳跃连接(Skip connection)是一种利用特征拼接提高神经网络性能的方法,使用该技术在一定程度上可以将粗细粒度的特征进行融合,但是融合之后会产生语义鸿沟的问题[11]。为了解决跳跃连接引起的语义鸿沟,提出了如图2所示的U-net++网络架构。在图2中,最外侧一层是原始的U-net网络,中间圆圈部分均表示在跳跃连接上的密集卷积块,每个圆圈都代表2个连续的卷积操作,上方表示深监督(deep supervision)[11]。该架构是一种基于嵌套密集跳跃连接的分割体系结构,它将多个不同层次的U型网络集合起来,使整个架构可以在不同的层次分别提取图像各自层次的特征,再将这些不同层次的特征结合在一起[12]。它是一种不受跳接限制的新型分割体系结构,该结构将跳转连接设计在集成编解码器网络的高分辨率功能图和解码器网络相应语义丰富的功能图之前,这样的设计减少了编码和代码子网络的功能图之间的间隔[13]。在丰富模型时,该模型可以在解码器和编码器网络的功能映射中有效捕捉前景对象的细节,随着网络层数的增加,提取到的图像信息更加精确。
图2 U-net++网络结构图Fig.2 U-net++ network architecture
注意力机制(attention mechanism)于20世纪90年代被科学家研究发现并被作为一种信号处理机制应用到视觉研究中,如今已被引入人工智能领域并取得了很大的成功[14]。注意力机制源于人脑和人眼的感知机制,在深度学习任务中可以解释为从大量信息中筛选出需要重点关注的信息,表现为对数据进行加权变换,并对需要关注的部分赋予高权重[12]。注意力机制模块(SE模块)主要由Squeeze和Excitation 2个操作构成,见图3。
图3 SE模块Fig.3 SE module
目前,已有一些学者将注意力机制嵌入编码解码的网络结构中。Oktay等[15]在U-net的跳跃连接上嵌入了注意力机制,用以突出跳跃传递过程中的显著特征;对Wang等[16]在编码器与解码器连接的最后一层中间的bottleneck处,嵌入了4个不同的SE模块用以对最具特征的语义信息进行编码。以上研究均证明,在U型网络结构上嵌入注意力机制可以有效地提升网络性能,提高分割精度。
在医学图像病灶检测研究中,许多基于U-net结构的改进算法都取得了良好的效果[8]。U-net的U型结构及跳跃连接,可以学习到图像中低层次与高层次之间的信息并进行整合,在小数据集上也可以取得很好的效果,因而U-net的结构成为医学图像分割任务的首选[12]。但是将U-net直接应用于结肠息肉的检测,跳跃连接过长会造成编码和解码之间的信息损失,U-net++的密集嵌套连接解决了信息损失的问题。由于编码解码的网络结构是一个注意力较为分散的模型,在网络解码的过程中所有输入通道的权重都是相同的,不能给予需要分割的目标区域重点关注[11]。
因此,本文通过引入注意力机制,对U-net++网络进行改进,使得模型更加专注于待分割图像的关键区域,改进后的网络结构如图4所示。
图4 结合注意力机制改进的U-net++结构图Fig.4 Improved U-net++ structure diagram combined with attention mechanism
本文深度学习网络算法主要采用Python 3.7语言编程,在PyCharm Community Edition 2020.2.3 x64平台下运行,实验配置电脑为64位Windows 10操作系统,处理器为Intel(R) Core(TM) i7-8750U CPU @ 2.70GHz。本文利用相似程度(dice similarity index,DSI)、召回率(recall)、错误率(volumetric overlap error,VOE)和相对体积差异(relative volume difference,RVD)4个指标对不同网络模型实验结果进行评价。
进行息肉检测的数据来自开源数据集ETIS中1 200张结肠息肉图像,选取600张图像作为训练数据,其余600张图像作为测试数据。利用U-net++和引入注意力机制改进后的U-net++网络分别进行25轮、60轮和100轮的模型训练,模型训练统一轮数和每轮步数,即epochs=1,steps_per_epoch=300。
表1为U-net++模型的实验数据,表示相同肠息肉数据集分别在U-net++模型运行25轮、60轮和100轮数下的训练结果。
表1 U-net++模型不同训练轮数的实验数据Table 1 Data for the U-net++ model of different epochs
表1的数据表明,在U-net++模型中设置步长为300,其他条件不变时,训练的轮数越多,所需时间(ETA)就越长,损失精度(LOSS)越低,准确精度(ACC)越高。经验证,当训练轮数达到100轮以上时,息肉图像会被误分割为背景,出现明显的过分割现象,影响最终的分割效果。
表2为改进后U-net++模型的数据,表示该模型分别在25轮、60轮、100轮数下进行训练的结果。
表2 改进后U-net++模型不同训练轮数的实验数据Table 2 Data for the improved U-net++ model of different epochs
从表2改进后U-net++模型的评估参数可以看出,参量总数(total params)和训练总数(trainable params)不变。在其他条件相同的情况下,引入注意力机制改进后的U-net++模型与U-net++模型相比,检测任务的训练时间(ETA)更短,损失度(LOSS)更小,精度(ACC)更高。
本节从600张结肠息肉测试图像中选取第71到88张图像作为示例,设置模型统一轮数epochs为100,每轮步数为300。图5为U-net++网络和改进后的U-net++网络对ETIS数据集中结肠息肉图像经过100轮训练后的分割结果示例。
(a) U-net++分割结果(b) 改进后的U-net++分割结果
从图5的分割结果中可以看出,在相同运行环境、均训练100轮的条件下,图5(b)的结果表明引入注意力机制改进后的U-net++网络模型对于结肠息肉检测任务的分割效果更好。
表3直观地利用4个指标数据评估了深度学习的U-net++网络模型和本文提出的引入注意力机制改进的U-net++网络模型在结肠息肉数据集检测任务上的性能指标。
表3 改进前后模型的评估参数Table 3 Evaluation parameters of the model before and after improvement
对表3中各个网络实验结果的数据进行比较可以看出,引入注意力机制改进的U-net++模型网络相对U-net++网络,相似程度(DSI)提升了0.014 6,模型的错误率(VOE)降低了0.003 4,相对体积差异(RVD)降低了0.000 9,召回率(Recall)提升了0.003 64。实验数据表明,引入注意力机制改进了U-net++模型,提高了结肠息肉检测准确性。
本文基于深度学习算法,结合结肠息肉特征和不同网络的优点和局限性,通过对U-net++网络在结肠息肉检测任务实验分析,引入注意力机制对U-net++网络进行改进。经过实验验证,本文构建出一种性能优于以往且分割效果更好的网络模型,提高了对结肠镜息肉的检测精度,减少了图像损失度,从而达到快速准确检测结肠息肉的效果,对预防和诊断结肠癌具有重要的临床应用意义。