基于改进U-Net的宫颈细胞核图像分割①

2021-04-23 12:59陆小浩朱士虎金玫秀
计算机系统应用 2021年4期
关键词:细胞核编码器宫颈

张 权,陆小浩,朱士虎,金玫秀,王 通

(江苏师范大学 物理与电子工程学院,徐州 221116)

宫颈癌作为一种十分恶性的肿瘤,严重影响着广大女性的身体健康.近年来,宫颈癌在女性患癌比例中较高,发病率也在逐渐升高,同时,宫颈癌也成为女性癌症中死亡率较高的疾病,由此,研究如何论断和治疗宫颈癌成为全世界的重要课题.然而病理医生观察一张影像要从很多的正常细胞中鉴别出是否发生癌变,这本身就相当困难,再加之患者人数相对众多,拥有医学病理知识的医生数不足,且医生存在主观判断和客观疲劳等诸多因素,使得医疗市场对自动阅片、判读患者病症是否异常的诊断技术尤为迫切.近些年来,机器学习、深度学习与人工智能等专业词汇,无论在科研界亦或是寻常生活中,无不被时常提起.在这些技术的加持下,数字影像技术得到了快速发展,尤其是医学影像技术的发展十分迅猛.高清的医学图像使得医生能够高质量地阅片,相比以前影像质量,大大降低了误诊率.再加上通过TBS规则和宫颈癌细胞观察,不同的宫颈癌细胞与正常的宫颈细胞在细胞核部分有比较明显的差异[1].这说明,宫颈细胞核本身包含了大量可以判别异常的特征.正是基于此,运用深度学习技术,围绕以医学图像中宫颈细胞细胞核为分割对象来展开相关研究[2],成为医学影像论断的研究热点.

1 研究现状

早期的宫颈细胞筛查多是通过细胞学检测的方法,通过采用液基制片方式处理宫颈细胞,接着采取细胞学检测的方法判断宫颈细胞是否癌变[3].随后,大多数研究者对于宫颈细胞的研究多是采用传统图像分割,如水平集分割等手段[4],或是基于宫颈细胞图像特点的人工设计特征加以机器学习分类器来识别和检测宫颈癌变细胞.然而,传统分割方式存在分割精度不够,人工设计特征不够完善导致分类器效果不佳等问题也反映出这些方式的局限性.为了自动高效地筛查和识别宫颈细胞,深度学习(deep learning)技术被提出了,依托于大数据和高速硬件算力的支持下,取得了高速的发展,相较于传统机器学习而言,深度学习拥有强大的特征表征和学习能力,文中正是运用此特点来对宫颈癌变细胞的细胞核进行分割识别.

2015年,U-Net 网络结构被提出来,U-Net 网络是基于全卷积神经网络(Fully Convolutional Nerual network,FCN)的一种语义分割网络[5,6].经过这些年发展完善,U-Net 成为比较经典的分割网络,具备很多优势.首先,从设计上来说,它相对对称的网络结构优秀且有效的点在于结合了深浅层特征.其次U-Net为弥补高层语义特征分辨率不足的问题,采用了上采样高低信息融合的操作使通道信息互接,而不是FCN中对应特征图信息的简单相加.不仅如此,U-Net 还在每层上采样信息融合后,用两层卷积提取两种特征信息,U-Net的这种做法使得高层语义特征信息与低层高分辨率特征信息更加杂糅,更加抽象,并且相较于未融合低层信息的网络多了高分辨率的低层信息.由于U-Net的这些特点使其得到的分类定位结果更加准确,边缘分割效果更好.

但是经过实践证明,U-Net 还是存在一些问题.其一,在U-Net 编码器部分,使用的是原始网络层数较少、结构较为简单的卷积神经网络,这样简单的网络在分类任务上效果不太理想,难以提取图像中一些更为抽象的高层特征且不能够充分利用全图像的信息,编码网络的不足会使得最终的分割结果不够精准.其二,由于宫颈细胞细胞核大小不一且占据图像中较小部分,原始的网络难以实现对细胞核特征的学习.其三,在进行池化操作时容易丢失数据,导致U-Net的分割效果不如人意,针对这些问题有必要对U-Net 进行改进,力求改善或解决存在的问题.

2 存在问题与解决思路

由以上分析可见,U-Net 网络主要存在3个问题,分别是U-Net 编码器相对简单、损失函数Loss 不够优秀、池化层丢失信息,就这3个问题提出如下解决思路.

(1)因原始U-Net 编码器部分相对简单,导致不能提取相对抽象的高层语义特征用于分割定位,将稠密连接的DenseNet 引入U-Net的编码器部分,使得网络能够提取更为抽象的语义信息和融合各通道信息,便于提升后续解码器的分割效果.

(2)通过分析宫颈细胞核数据特征,提出一种改进的Loss 损失函数的方法来优化网络.通过对在宫颈细胞核和背景的二分类问题中使用的二元交叉熵损失函数给予两个目标不同的权重,使网络更加注重任务目标细胞核特征的学习,还引入了交并比(Dice)来强化网络对于宫颈细胞核边缘和分割细节的学习,提升了分割边缘和细节的效果.

(3)进一步通过对传统池化层的改进,使得一定程度上弥补了原始池化层丢失信息的不足,从而得到了更好的分割效果.

3 改进型U-Net

基于上述解决思路,针对U-Net 编码器相对简单、损失函数Loss 不够优秀、池化层丢失信息,提出以下具体解决方案.

3.1 网络改进

原始的U-Net 网络在编码器部分使用的是较为简单的提取特征网络,又由于医学图像数据较少,较深的网络难以训练,较复杂的网络容易过拟合.所以采用网络各层信息充分融合的DenseNet中DenseBlock 改造原始U-Net的编码器部分[7].

Huang 等在文献[8]中提出了一种称为DenseNet的新型架构,相比于ResNet 进一步利用近路连接的效果将所有层直接互连在一起.在这种新颖的架构中,每层的输入由所有较早层的特征映射组成,其输出传递给每个后续层.特征映射与深度级联聚合.DenseBlock结构图如图1所示.在传统卷积神经网络中,假设有L层,那么它就会有L个连接,但是在DenseNet中会有L(L+1)/2个连接.简单说就是每层输入是前面所有层网络的输出.如图1所示:x0是输入Input,此时H1的输入是x0(Input),H2的输入是x0和x1(x1是H1的输出),以此类推.DenseNet 公式如式(1):

式中,[x0,x1,···,xl−1]代表0到l–1 层各层输出的特征图(feature map)作通道合并的concatenation 操作.Hl操作中包括批规范化(batch normalization),激活函数ReLU和大小为3×3的卷积.

图1 DenseNet中DenseBlock 结构图

DenseNet 设计有以下几个优点及其原因:(1)网络相对于GoogLeNet 更窄[9],相对于ResNet 参数更少,这是由于DenseBlock的设计中,每个卷积层输出的feature map 数量都比较少(一般小于100),而不像其他网络动辄几百上千.由于稠密连接的原因,使得它减小参数的同时又能够更有效地利用特征.(2)DenseNet这种连接方式相当于每层都直接连接input和Loss,这样就会让特征和梯度传递更加有效,缓解梯度消失问题,而且分类时可以直接用到前面低层的特征.

使用DenseBlock 组成DenseNet 结构如图2所示,图中包含3个DenseBlock,每个DenseBlock中特征图大小统一,方便作通道连接操作.

图2 DenseNet 结构图

将DenseNet 来替换原始的U-Net 编码器部分,使其能够提取和利用更加抽象有用的图像特征,具体使用见下文实验中模型结构介绍.

3.2 损失函数改进

原始的U-Net 网络将输出值通过Softmax 分类器得到与原图尺寸一样的预测Mask 标签图,这张图的每一个像素位置都是该位置是否是细胞核的概率值.网络通过预设的损失函数,计算预测图与Mask 标注图之间的差异,再通过反向传播,相应的梯度优化方式,迭代更新出U-Net中各个卷积核的最佳权值参数.

图像分割任务从单个像素的角度看,是一个分类任务.对于神经网络中分类任务常用交叉熵损失函数,文中研究的目标是分割出宫颈细胞中的细胞核部分,除了核其他都是背景,这是一个二分类问题,所以使用二元交叉熵作为网络的损失函数.公式如式(2):

式中,和yi分别是在第i个像素位置上网络模型预测的值和人工标注的值.分析医学图像数据,特别是针对宫颈细胞图,所要分割的细胞核目标相比背景所占比例较小,这样就会导致作为像素级分类的该任务中,训练样本像素类别极其不平衡.此时作为损失函数的二元交叉熵就会给予背景更多的累积Loss,这样导致网络在训练学习中就会学到更多的背景特征,而对目标细胞核的特征就会有所损失,这是设计网络所不愿意看到的.所以针对这个问题,对损失函数作些修改,设置两个超参数,分别给细胞核和背景相应的Loss 部分加上不同的权重.公式如式(3):

式中,α表示细胞核权重值,β表示细胞质、杂质等背景的权重值,这两个超参数在训练过程中的验证集上作修整(一般取的α是β的3 倍).设置时,一般会将α值相较于β值设置大一些,使得网络学习更多的细胞核特征.

虽然加了权值的二元交叉熵损失函数使得网络更多的关注细胞核的特征,但是它只考虑到单像素分类问题,没有考虑到全局信息,所以在损失叠加回传的时候,网络更为关注那些损失值很大的像素点,这样分割出来的结果使得细胞核边界相对模糊,形状和真实标注有较大差异,细胞核边界分割效果不佳.

所以考虑到分割的边缘效果问题,采用图像分割中常用的分割评价标准IoU 作为Loss 函数的一部分指导网络去关注分割边缘.IoU的表达式如式(4)所示.由于该式不可导不能直接作为网络的损失函数使用,所以对其进行简单修改得到Soft-Dice 作为间接损失函数.公式如式(5).

为了更好地发挥上述两种Loss的各自优势和弥补其各自的不足,把两种Loss 函数按一定的线性方式进行组合,组合成最终的合并Loss,公式如式(6).

式(6)中,为了简化Soft-Dice的计算,所以对其取对数进行计算,又因为它是衡量两个分布之间的相似程度的,所以用一减去它的值作为回传损失.式中γ是带权重的二元交叉熵损失函数的系数,δ是式子后一项的系数,这两个系数作为超参数在训练时的验证集上作修整(一般分别取0.6和0.4).该式结合了二元交叉熵损失函数与网络预测图和真实标注Mask图之间的重合率Soft-Dice 损失函数,所以在训练网络中最小化该损失函数,等价于提高每个像素点分类准确率,同时也提高网络预测图与真实标注Mask 图之间的重合率.

U-Net 网络最终输出结果是一个与原图大小一致的概率图,图上每一个像素点的值代表它是否属于细胞核的概率值,为了得到一个与真实标注一样形式的二值图,需要在网络输出部分添加一个阈值,该阈值在网络训练过程中的验证集上获得,当像素点的值高于该阈值时设为1,相反设为0,再把每个像素值乘以255,就可以得到目标分割图了.

3.3 池化层改进

基于卷积神经网络的特征提取网络中,池化层用来减少参数、缓解过拟合现象、增大感受野范围和提高部分泛化能力等,但是池化无可避免地会使网络丢失特征信息.并且常用的平均池化相当于池化域内像素权值一样,使得每个像素重要性一致,这与真实情况不符,不能很好地反映全局特征.除此之外,最大值池化会将非最大的池化域内所有信息都丢失,这也是不稳妥的做法.

所以基于以上的考虑,在一定要使用池化操作的前提下,将池化操作进行改进,使得其对池化域内的像素值分配合理的权值,充分考虑和利用好特征值,使网络提取的特征更能表现出全局性.改进的池化算法公式如式(7):

式(7)中,µij表示池化因子,通过它优化平均池化操作,使得池化域内各个像素值按其重要性分配到合理的权值,让网络中特征图经过池化层时,提取的图像特征可以更加准确.池化因子 µij计算公式如式(8):

式(8)中,c代表池化操作大小的边长,Fij代表卷积特征图中大小为c×c池化域中对应的像素值,a代表该池化域内像素值总和,是标准差.这样的计算考虑到了池化域内所有值的重要性,避免了平均池化弱化特征和最大池化丢失特征的问题,进而提高了宫颈细胞核分割的准确性.池化举例比较如图3所示.

4 实验

为验证改进型U-Net,进行实验的平台是基于Python的深度学习库PyTorch[10].使用的软硬件环境参数如下:CPU为Intel Core i7-6700HQ、GPU为单卡GTX960M、内存为8 GB、操作系统环境为Windows 10 企业版2016 长期服务版、编程语言为Anaconda3的Python3.6.

图3 池化举例

4.1 网络结构

原始的U-Net 网络由于编码器部分,层数较少结构较为简单,所以对U-Net 特征提取部分采用通道信息融合更为优秀的DenseNet 网络中DenseBlock 模块.原始的DenseNet 网络结构图见表1.表中k值代表每个DenseBlock中每层输出的特征图feature map个数.由于DenseBlock 设计,后面几层是前面所有层作通道连接得到,会使得后面几层通道特别多,所以在每个DenseBlock中的3×3 卷积前用一个1×1的卷积层(bottleneck layer)来降维和融合各通道信息(默认输出通道是4k个).为了进一步压缩参数,在每两个Dense-Block 之间也加了一个1×1 卷积(translation layer),默认减少一半通道.

考虑到实验环境和实验数据相对不充足的原因,选用DenseNet-121 来作为改进U-Net的编码器部分.修改方式如下:首先把原始DenseNet-121的classification layer 去掉,用1×1的卷积替换,输出是大小为32×32的特征图,个数是输入通道数的一半,并且使用改进的池化层替换原始的最大值池化和均值池化.这样就完成了改进型U-Net 网络的编码部分,后部的反卷积和跳跃结构保留,修正矩阵大小,以适应网络前层的修改.

表1 DenseNet 网络结构表

4.2 模型实验

实验流程图如图4所示.

(1)图像预处理:对数据集图像进行裁剪、图像位深、直方图均衡化和高斯滤波等.

(2)训练数据集增强:分别应用3 种翻转、3 种旋转、平移、缩放和随机裁剪等.

(3)训练U-Net 图像分割模型:将划分好的训练集数据经过预处理和数据增强后,与对应的标注图成对的送入U-Net 网络进行学习,训练网络数据时,当训练集中的Loss 值不断减小至较小值,且变化趋于稳定时,说明该网络已经收敛,保存此过程中精确度最高的模型权重为Best Model.训练模型实验流程图如图5所示.

在本实验中,使用DenseNet 改进U-Net 编码器部分的网络,并且采用改进的损失函数和池化层操作,用DenseNet-121在ImageNet 上的预训练权重初始化网络编码器部分的参数训练网络.将学习率(learning rate)设置为自适应衰减学习率[11],初始为0.01,每100 次迭代学习率降低0.1.使用带动量的梯度下降方式来优化模型,动量参数为0.9,并设置动量衰减为0.0005.由于实验环境内存限制,把每批次处理的图像数据batch size 设置为1,充分训练数据集,总共训练5000 次,当网络的损失函数不再下降或者达到预设迭代次数的时候,停止训练网络,保存这期间训练集最高准确率时候的权重参数.

图4 实验流程图

图5 网络训练流程图

(4)模型评价.使用一定的测试集评价技巧,对测试集数据进行翻转、旋转等扩充操作,再使用上面训练好的Best Model 来对增广后的测试集数据进行预测,接着将预测结果进行测试集扩充操作的逆操作,最后对预测结果逐像素取平均操作得到最终结果.这样可以提高一定的分割效果.最后使用平均像素精度(MPA)[12]、平均交并比(MIoU)[13]、过割率和欠割率来对分割结果进行评估,等价于评估模型优劣.

4.3 实验结果与分析

通过网络预测测试集数据,对比平均像素精度(MPA)、平均交并比(MIoU)、过割率和欠割率来评价模型优劣.

对比原始U-Net,改进型U-Net 所取得的精度增量如下:

当只改进网络时,过割率和欠割率明显下降,取得下降精度分别是0.040和0.0080.

当只改进损失函数时,平均交并比(MIoU)取得明显增量精度,提升精度0.0530.

当只改进池化层时,平均像素精度(MPA)提升精度0.0429.

当三者均改进之后,取得的相应评价指标如表2所示,相应的FCN、U-Net、改进型U-Net 分割结果图分别如图6(b)、图6(c)、图6(d)所示.

图6(b)、图6(c)、图6(d)分别是FCN、U-Net和改进型U-Net的宫颈细胞核分割效果图,图6(a)和图6(e)分别是对应的原图和手工标记图.可以看出,FCN 对于细胞核中心定位效果还行,只是存在少量过检和漏检,对于边缘细节效果不佳;U-Net 网络对于宫颈细胞核中心分割效果不错,细胞核边缘相较于FCN 效果要好一些;改进型的U-Net 总体效果最好,过分割和欠分割相对较少,对于宫颈细胞核边缘分割相对于FCN和原始U-Net 来的更加细致,更加优秀.

如图7所示,是3 种模型下任意一个宫颈细胞核分割的结果图放大版,从左至右分别是FCN、U-Net、改进型U-Net和真实标注,可以看出,结果是越来越好的,除此之外,还可以从上文所示3 种模型分割结果图中看出,改进型U-Net 确实改善了很多过分割和欠分割的情况.总的来说,通过对FCN、U-Net和改进型UNet的结构分析和实验对比,改进型U-Net 模型鲁棒性最好.

图6 3 种网络分割结果对比图

图7 局部放大图

5 小结

通过对宫颈细胞核的分割结果分析,原U-Net 网络结构在编码器提取特征网络部分,运用稠密连接的DenseNet 来替换原始U-Net 网络中相对简单的编码器部分,使得改进型的U-Net 网络能够更多地提取更为抽象有用的高层语义特征,并且DenseNet 稠密连接的特性使得网络具备融合更多通道信息和全面应用输入图像特征的能力;在Loss 损失函数中加入对细胞核更多的权重,使得网络更注重学习所需要分割的目标特征,交并比(DICE)的加入使得网络能把细胞核分割的更好,边缘细节更加优秀;改进的池化层也一定程度上缓解了原来池化层丢失信息的问题.通过理论和实际实验证明,改进型U-Net 对于宫颈细胞核分割的效果相较于FCN和原始U-Net 更加优秀和鲁棒.但也发现改进型U-Net 也有其不足之处,对于现实宫颈细胞样本中存在的团块黏连、密集程度比较高的难分样本,改进型U-Net 分割处理的效果难言优秀.此外,宫颈细胞类别多样,这就需要针对性设计可调型深度学习网络来进行分类和分割,以提高模型的准确率,这些是今后继续研究的主要方向.

猜你喜欢
细胞核编码器宫颈
基于ResNet18特征编码器的水稻病虫害图像描述生成
指向科学思维的“细胞核的结构与功能”教学设计
人参bZIP基因家族生物信息学分析
宫颈锥切术治疗宫颈上皮内瘤变的效果分析
基于Beaglebone Black 的绝对式编码器接口电路设计*
“细胞核—系统的控制中心”一节的教学设计
基于TMS320F28335的绝对式光电编码器驱动设计
说说宫颈环形电切除术
改良宫颈锥切术治疗宫颈疾病60例临床观察
高中生物必修模块一“细胞核