APP下载

改进DeepLabv3+网络的肠道息肉分割方法*

2020-07-10王亚刚郗怡媛潘晓英

计算机与生活 2020年7期
关键词:结肠镜息肉卷积

王亚刚,郗怡媛,2,潘晓英,2+

1.西安邮电大学 计算机学院,西安710121

2.西安邮电大学 陕西省网络数据分析与智能处理重点实验室,西安710121

1 引言

结肠癌是世界范围内发病率最高的三大癌症之一,也是导致癌症死亡的常见病因。2012年,国际癌症研究机构在全世界登记了1 370 600 例新病例和693 900例死亡病历[1]。当疾病发展到晚期时,结肠癌的5年生存率低于7%,但在早期诊断的病例中,如果治疗成功,其5 年生存率就会提高到90%以上[2]。结肠癌早期筛查的黄金标准就是使用结肠镜检测肠道中的息肉[3],每提升1%的息肉检出率,肠癌发病率将会降低3%[4]。在传统的息肉检测方法中需要操作者达到高度的手眼协调,尽管如此,还是会有25%的息肉在视频检查中被漏检[5]。因此,采用计算机辅助诊断系统来降低息肉漏检率就显得尤为重要。

结肠镜下的息肉自动检测方法有很多,大致可以分为两类:基于纹理、颜色的方法以及基于形状的方法[6]。文献[7]提出一种基于纹理检测肠道息肉的方法,使用窗谷堆积中值深度(window median depth of valleys accumulation,WM-DOVA)能量图来获得与息肉相关的连续边界,进而定位息肉区域。文献[8]基于息肉的形状,采用主成分追踪的方法对图像进行低秩稀疏分解,再通过Chan-Vese算法对息肉图像进行分割。总的来说,这两类方法无法同时将息肉区域包含的所有特征进行有效结合,只是单一地考虑特征的一部分,会导致分割结果存在一定的局限性。

随着计算机技术的发展,深度学习技术已被成功地应用于结肠镜视频中的息肉检测。文献[9]采用深度卷积神经网络作为模型,以交叉熵作为模型的最优损失函数来检测结肠镜下的息肉。Nguyen等[10]提出一种基于编码器-解码器网络的息肉图像分割方法,有效提高了结肠镜下的息肉检出率并为后续网络结构的改进提供了重要思路。Wang等[11]提出了一种16层的语义分割SegNet网络以进一步提高息肉分割的精度及网络的鲁棒性。2015年,Park等[12]采用卷积神经网络对不同尺度下的特征进行学习,再通过全连接网络将结肠镜图像中的像素分为息肉像素和非息肉像素。2018年,Xiao等[13]研究使用DeepLabv3与长短期记忆网络相结合的方法对肠道息肉进行分割,与现有的DeepLabv3 模型相比,分割效果有一定提升但总体精度仍然较低。

与传统方法相比,现有的深度学习技术在息肉检测方面表现更好,能够较为全面地提取息肉区域包含的特征。但也存在一些问题:(1)结肠镜视频拍摄过程中由于肠道粘液导致的息肉反光现象会对分割结果造成影响[8];(2)目前已采用的由人工设计的神经网络结构存在繁琐且人工调整网络结构参数使得网络性能不足的问题[14]。

针对上述存在的问题,本文提出一种基于改进DeepLabv3+网络的肠道息肉分割方法,将其应用到结肠镜下的息肉图像分割问题中。与现有的基于深度学习的息肉分割方法相比,本文在以下两方面提出创新:

(1)在数据预处理方面,首先对息肉图像进行去反光处理,解决图像反光区域对分割结果产生的影响;再将通过Grab Cut算法得到的粗分割结果与去反光处理后的图像进行叠加,以增强息肉位置的信号强度。

(2)在网络结构方面,首先在DeepLabv3+网络的编码器部分引入通过神经架构搜索(neural architecture search,NAS)得到的最优密集预测单元(dense prediction cell,DPC),多尺度捕获图像特征信息;然后在解码器部分采用3层深度可分离卷积,实现对空间信息和深度信息的去耦,有效减少上采样过程中的信息丢失,提高结肠镜下的息肉图像分割精度。

Fig.1 Grab Cut algorithm theory图1 Grab Cut 算法原理

2 基于Grab Cut的息肉区域预提取

Grab Cut 是由微软公司提出的一种图像分割算法,是对Rother 等人提出的Graph Cut 算法的改进和扩展[15]。算法原理如图1所示,首先以用户给定的目标区域边界作为初始信息,将框外像素视为已知背景像素,内部像素标记为未知像素;然后采用K-means算法对前景与背景进行聚类,根据聚类后的颜色分布,来获取每个像素的新标签;最后将这些标签与对应像素作为下一次迭代的输入。经过数次迭代后直至模型收敛,得到最终的分割结果[16]。

本文采用Grab Cut 算法对结肠镜图像中的息肉区域进行预提取,获取息肉位置的粗分割结果,并将其与原图叠加以增强息肉位置的信号强度。

3 基于改进DeepLabv3+网络的肠道息肉分割算法

3.1 DeepLabv3+网络

目前,大量基于深度学习的图像分割研究证明了基于卷积神经网络的深度学习模型在图像语义分割应用中的有效性[17]。

DeepLabv3+是目前最新的语义分割网络之一,它采用具有多尺度的卷积层以及编码器-解码器结构相结合的方式提高分割准确率。如图2所示,编码器部分首先在Xception 模块中利用不同通道的可分离卷积层提取图像特征,再通过空间金字塔结构(atrous spatial pyramid pooling,ASPP)中不同速率的并行空洞卷积捕获到该特征空间信息,并通过1×1卷积进行通道压缩。

Fig.2 DeepLabv3+network model图2 DeepLabv3+网络模型

在解码器部分,首先对提取到的多尺度特征信息进行4倍双线性插值上采样,再与Xception中提取到的原始特征进行结合,然后利用3×3 卷积对合并后总的特征信息进行简单特征融合,最后对特征采用4倍双线性插值上采样得到分割结果。

图3 为DeepLabv3+的息肉图像分割结果,从图中可以看出,该网络可以较好地获取到息肉边界,但是息肉内部存在着分割不完全的现象。原因有二:一是ASPP架构在该数据集上表现不理想;二是解码器部分未能对叠加后的特征进行充分融合。针对上述问题,本文对DeepLabv3+网络进行了改进。

Fig.3 DeepLabv3+segmentation results图3 DeepLabv3+分割结果

3.2 改进的DeepLabv3+网络

与原始DeepLabv3+网络相比,本文在以下两方面进行改进。首先将基于神经架构搜索的密集预测单元引入DeepLabv3+网络,在编码过程中通过最优DPC架构捕获多尺度特征信息;然后在解码器中,将特征融合部分的3×3 卷积改进为3层深度可分离卷积,以实现对空间信息和深度信息的去耦,减少上采样过程中的信息丢失的问题。

神经架构搜索是一种通过训练网络控制器来生成网络架构的算法。与传统的由人工设计网络架构的方法相比,神经架构搜索无需反复手工设计实验,且由该算法得到的网络架构目前在多个数据集上表现出了优于手工设计架构的卓越性能。文献[18]通过在一周的时间内搜索370 个GPU 上的2.8×104个密集预测单元,得到了一种最优的DPC架构,它在多个数据集的表现上均优于ASPP 模型。该架构包括1×1卷积、采样率分别为6×3、18×15、6×21、1×1、1×6,内核为3 的卷积以及不同尺度的平均池化层。如图4中的DPC模块所示,将5种不同采样率的卷积层进行多种组合,以提取图像多尺度特征,将各个分支结果结合作为DPC架构的输出。如图5所示,通过每个操作的L1 正则化权重可以看出采样率为1×6的卷积对输出贡献最大。

Fig.4 Improved DeepLabv3+network model图4 改进的DeepLabv3+网络模型

Fig.5 L1 regularization weights for each operation图5 单个操作L1正则化权重

本文在解码器部分采用3 层深度可分离卷积对深度信息和空间信息去耦,以逐步获取精细的分割结果。深度可分离卷积将原始卷积在保持通道分离的情况下分为深度卷积和一个1×1 的逐点卷积。深度卷积的一个卷积核只对一个通道操作,即每个通道独立进行卷积运算。逐点卷积将上一步得到的多个特征图在深度方向上加权组合。与传统卷积相比将深度信息和空间信息拆分处理,能够实现对空间信息和深度信息的去耦,有效减少上采样过程中的信息丢失[19]。如图6 所示,在612 张图像的CVCClinicDB数据集上,分别采用1~7层深度可分离卷积训练DeepLabv3+网络,通过实验最终平均交并比(mean intersection over union,MIoU)对比可知采用3层深度可分离卷积的网络性能最优。

Fig.6 Impact of network layer selection on MIoU图6 网络层数选择对MIoU的影响

表1 展示了不同网络结构所对应的结果对比。可以看出,引入DPC 架构和深度可分离卷积都能够有效提高分割精度。

Table 1 Network structure comparison results表1 网络结构对比结果

4 基于改进DeepLabv3+网络的肠道息肉分割算法流程

图7介绍了基于改进DeepLabv3+网络的肠道息肉分割算法的主要技术流程。本研究流程可分为数据预处理、模型训练以及结果对比分析三个阶段。

数据预处理部分主要包括:(1)对息肉图像的去反光处理;(2)通过Grab Cut 算法得到息肉的粗分割结果;(3)将粗分割结果与原图叠加得到叠加后的Image图像;(4)单通道标签的制作;(5)训练集、测试集的划分以及格式转换。

在模型训练部分将预处理后的适用于TensorFlow深度学习框架的TF格式图像输入改进的DeepLabv3+网络中,根据网络结构及图像参数调整网络训练参数。网络在编码器部分捕获多尺度特征得到特征映射图,在解码器部分将其恢复到原始空间分辨率,最后保存得到的分割模型参数。

Fig.7 Flow chart of improved DeepLabv3+network in intestinal polyp segmentation图7 改进DeepLabv3+网络的息肉分割算法流程图

在结果对比分析部分,将待分割息肉图像经过数据预处理部分的图像去反光、获取粗分割结果并与原图叠加以及数据格式的转换后,输入分割模型中,得到验证集的分割结果。采用5折交叉验证的方法,将分割结果与待分割图像标签进行匹配计算,通过MIoU 等5 个指标来评价分割结果,并与其他方法比较,得到最终结论。

5 实验

5.1 数据集与预处理

本实验采用CVC-ClinicDB 数据集,该数据集是由医学图像计算与计算机辅助干预国际会议(Medical Image Computing and Computer-Assisted Intervention,MICCAI)于2015 年发布的一个公共数据集,数据集包含612 张384×288 大小的结肠镜检查图像,以及与息肉图像相对应的Ground truth。

数据预处理部分包含两个阶段:一是对图像进行去反光处理;二是对处理后的图像进行粗分割并将结果与原图叠加以提高目标区域的信号强度。

由于人体腹腔中存在大量粘液,在结肠检查时会引起反光,表现在结肠镜图像中为白色区域[20]。该区域在图像分割时会极大地影响分割精度。为了降低此影响,对息肉图像进行去反光处理。首先定位图像中的高强度值像素点,对图像中所有像素进行平均强度计算,根据计算结果设置阈值为0.8,将强度值大于阈值的像素点识别为镜面反光像素并加以存储;然后在原图像的各个通道上进行中值滤波,中值滤波是一种非线性滤波,与其他滤波方法相比,它能够很好地保护图像的边缘信息,且不会造成图像模糊而导致特征丢失[21],多次实验最终选取滤波核大小为25;最后,将检测到的反光像素替换为相应的中值滤波值,结果如图8所示。

Fig.8 Comparison of image de-reflection processing图8 图像去反光处理对比

接下来使用迭代的Grab Cut 算法得到息肉区域的粗分割结果并与原图叠加。结果如图9所示,其中图9(a)为经过去反光处理的息肉图像,图9(b)为算法得到的息肉初步轮廓,叠加后的图像如图9(c)所示。

Fig.9 Grab Cut processed image results图9 Grab Cut处理图像结果

5.2 参数设置

实验在nvidia dgx-1服务器,TensorFlow1.10.0环境下进行,该服务器配置8 台Tesla V100 GPU,每块显卡内存为512 GB。实验将输入图像与特征图之比设为8,取采样步长为(12,24,36),将网络分类数设为2以区分息肉区域与非息肉区域,图像输入大小为385×385,批处理大小为4。

5.3 评价指标

本文采用5个指标对分割结果进行评价:平均交并比、Dice系数(dice coefficient,Dice)、敏感度(sensitivity,Sens)、精确率(precision,Prec)以及F1值(F1-score,F1)。

其中,TP为被正确分割的息肉区域像素数目;FP为被错误分割为息肉区域的背景像素数目;FN为错误标记为背景的息肉像素数目;X为改进的DeepLabv3+网络分割结果集;Y为原始息肉图像的标注结果集。

5.4 实验结果与分析

5.4.1 不同处理方法对结果的影响

实验随机取数据集中的80%作为训练集,10%作为测试集,10%为验证集,并采用5 折交叉验证。为了验证数据预处理方法及网络改进对分割结果产生的影响,将原始未处理图像、去反光图像、Grab Cut粗分割结果、预处理图像(去反光+粗分割结果叠加)与原始DeepLabv3+、改进DeepLabv3+网络分别进行结合,得到多组实验结果,表2 展示了不同方法对分割结果的影响。

Table 2 Comparison of results with different methods表2 不同处理方法结果对比

实验结果表明,与直接采用原始DeepLabv3+网络对未处理图像进行分割相比,本文所采用的方法在各项指标的数值上分别提升了0.050(Dice)、0.060(Sens)、0.064(Prec)、0.062(F1)、0.074(MIoU)。同时,从其他对比实验中也能够看出,采用两步图像预处理方法以及网络的改进均不同程度地提升了分割精度,证明了本文提出方法的有效性。息肉图像验证集部分分割结果如图10所示。

Fig.10 Results of partial segmentation图10 部分分割结果

5.4.2 不同算法对比结果

为了验证本文所提出网络的性能,使用5种已有的算法与之进行比较,算法对比结果如表3所示。

Table 3 Comparison of different algorithms segmentation results表3 不同算法分割结果对比

对比发现,本文所提出的方法在平均交并比、Dice系数、敏感度、精确率以及F1值上都不同程度地优于其他算法。与原DeepLabv3+网络相比,密集预测单元与深度可分离卷积相结合,捕获多尺度特征信息的同时在解码器部分对解码的信息进行去耦,减少了分割过程中的不完全分割现象。证明本文方法对肠道息肉图像分割在精度上有一定提升,对深度学习在肠道息肉图像的处理和分析具有借鉴意义。

6 总结与展望

本文提出了一种基于改进DeepLabv3+网络的肠道息肉分割算法,在数据预处理部分采用中值滤波去反光处理减少反光像素对分割结果的影响,然后叠加Grab Cut 图像层以增强息肉位置信号强度。在网络结构部分,将通过神经架构搜索得到的最优密集预测单元引入该网络,并在解码器部分使用3层深度可分离卷积,解决图像分割不完全的问题同时提高分割精度。实验最终的MIoU 值达到0.947,其余指标也均高于0.935。不过仍有很多问题需要完善,如算法的计算量较大、复杂度较高等。未来将通过算法优化及数据处理进一步提高结肠镜下的息肉图像分割效果,将计算机智能辅诊系统更好地应用到医学诊断中。

猜你喜欢

结肠镜息肉卷积
普通结肠镜检查中缓解疼痛方法的研究进展
基于全卷积神经网络的猪背膘厚快速准确测定
宫颈长息肉了怎么办
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
肠息肉防治莫入误区
一种并行不对称空洞卷积模块①
胃息肉会发展成胃癌吗?
腹腔镜联合结肠镜治疗老年结直肠肿瘤患者的临床效果
心理行为干预和技术配合在电子结肠镜检查中意义评价