改进U型卷积网络的细胞核分割方法

2019-04-04 07:14姜慧明秦贵和邹密孙铭会
西安交通大学学报 2019年4期
关键词:梯度卷积损失

姜慧明,秦贵和,邹密,孙铭会

(1.吉林大学计算机科学与技术学院,130012,长春;2.吉林大学公共计算机教学与研究中心,130012,长春)

识别细胞的细胞核是大多数病理分析及研制新药的起点,因为识别细胞核可以帮助研究人员识别测量样品中的每个细胞,从而使研究人员针对被治疗的细胞的各种反应做后续的深入研究。如在癌症的诊断过程中,医生通常会通过观察患者病理切片中的病变组织标志物来判断疾病的级别。然而人工分析的方法耗时且带有主观性,所以有必要利用计算机辅助诊断方法来为医者提供高效、准确的辅助分析结果,从而帮助医生分析实验中潜在的生物学过程,加快疾病研究和新药物的上市周期。

在病理细胞图像的分割任务中,经常会遇到细胞切片图像制作不理想问题。因为在显微镜下的细胞分布通常是随机的,且人为或自然因素很容易导致切片中出现重叠或粘连的细胞。此外,细胞切片具有多样性,例如单细胞的形状和大小通常有差异,细胞群中细胞彼此距离过近易造成挤压形变等,这些复杂因素会对细胞或细胞核的分割过程造成影响,影响分割精度。

为了处理细胞或细胞核分割任务中上述问题,国内外研究学者们已经探索出许多分割方法,例如基于阈值的分割方法[1],区域生长法[2],边缘检测法[3],水平集法[4],基于组合中值滤波器和数学形态学操作方法[5]、基于聚类和分水岭算法的分割方法[6]等,这些方法在具体的应用中时常受到各种条件约束。例如,基于阈值的分割方法因为忽视了像素的空间位置关系且细胞不总具备与背景的显著色差,所以对噪声十分敏感;区域生长法由于难以针对不同环境下的图像制定统一的区域划分标准,通常需要人工的介入,操作过程复杂并耗费了大量的时间成本;基于边缘检测的分割方法能够快速检测出目标边缘,但是仅使用人工设计的各类算子,在处理光照、背景干扰等问题时通常鲁棒性较差,无法对复杂图像做出准确分割[7];基于拓扑理论的分水岭分割方法应用非常广泛,其对于边界模糊的图像能得到完整连续封闭的边缘,但是它的缺点是容易对图像进行过分割[8],通常需要进一步处理。

近年来,深度神经网络算法的崛起为细胞及细胞核分割带来了新的可能。卷积神经网络(CNN)是其中一种前馈神经网络,其包含多个卷积层,每个卷积层包含若干个卷积核,基于卷积核(感受野)设定的稀疏连接方式对应着明确的神经科学原理[9]。近年来随着研究人员对网络结构深入研究以及利用GPU进行数值加速计算等技术的进步,卷积神经网络得到了飞速的发展,并被广泛应用于图像、自然语言处理及语音识别等领域[10]。

基于卷积神经网络的图像分割方法,如FCN[11]、U-Net[12]、SegNet[13]等,在精度上相比传统算法取得了很大提高。与传统算法相比,卷积神经网络算法能够通过多重非线性变换对数据进行更高层次的抽象,而不需要针对特定场景进行人工特征设计。此外,在图像分割过程中,卷积神经网络通过局部连接、权值共享等技巧增强了特征提取的鲁棒性,从而越来越多地应用于医学图像分析的各个领域,例如细胞计数[14-17]、细胞分割[18]、细胞检测[19-20]等。

本文关注结构简洁、性能突出的U-Net模型,并通过实验分析,针对经典U-Net模型存在的问题提出3点改进:包括编码器的梯度融合、解码器的密集连接以及改进的交叉熵损失。改进的U-Net模型增强了特征复用,缓解了梯度消失问题,并对小目标的识别有了较大的改善。

1 基于CNN的语义分割模型

FCN是一种端到端的全卷积神经网络模型,与图像分类的网络结构相比,FCN在下采样至特征图面积最小时没有采用全连接或全局池化等方法生成特征向量,而是采用转置卷积的方法对特征图上采样至与输入样本相同的分辨率。FCN可以接受任意尺寸的输入,输入样本的每一个像素点的标签构成了整张图的标签,网络在训练时通过逐个像素计算损失值并将误差通过链式法则反向传播,实现对输入样本像素级空间信息的预测。

虽然FCN是一种简单有效的目标分割方法,但是仍然存在一些问题。例如使用FCN会经过多次上下采样,一些图像细节丢失,导致得到的结果不够精细,最后预测结果平滑且模糊,无法还原细节。后续许多面向图像分割的模型进一步对FCN这种端对端的思想进行了扩展,这其中有代表性的包括SegNet、U-Net等。

文献[12]提出的一种改进的全卷积神经网络结构U-Net模型,最初应用于医学图像的语义分割,其结构如图1所示,网络由左侧的编码器和右侧的解码器组成。编码器是典型的卷积神经网络结构,采用交替布置的卷积层和最大池化层。在解码器一侧通过一系列的转置卷积层将特征图的分辩率上采样至与输入分辨率相同,与FCN不同的是,U-Net模型采用了一种高维特征与低维特征对应级联的思想,解码器每次上采样的同时将编码器一侧对应的特征图通过矩阵级联的方法拼接至解码器一侧。在还原影像的位置信息的过程中,U-Net模型的每个隐层都包含较多的特征维度,这种方式利于模型获取更加多样化的特征。U-Net的“U形”网络结构让裁剪和拼接的过程更加简洁合理,浅层特征图与深层特征图的拼接以及系列化的卷积、反卷积和池化等操作,使模型从局部信息和全局信息中组合得到更加精确的分割结果。

图1 U型卷积神经网络结构

文献[13]提出一种新颖的类U-Net模型SegNet,其同样包含一个编码器和一个解码器,并在解码器最后实现像素级的分类层。编码器的网络结构在拓扑上与VGG16模型中前13层卷积层相同。解码器则是将编码后的特征图的分辨率映射到原图大小。与U-Net不同的是,解码器在上采样过程中使用在编码器对应特征图位置保存的最大池化索引来执行非线性上采样,这种方法消除了解码器一端对上采样学习的必要性。此外,上采样后的特征图是稀疏的,其与卷积核做卷积运算之后能够产生密集的特征图。综上,SegNet提高了边界刻画能力并减少端到端的训练参数,其网络结构如图2所示。

图2 SegNet结构模型

2 改进的U型卷积神经网络DU-Net

U-Net在编码和解码的过程中进行接连的上下采样操作会损失有价值的细节信息,造成模型对距离较近的细胞的相邻边界识别效果较差,容易把两个细胞“合并”。且U-Net对背景中的不清晰的目标,例如小目标和模糊目标的识别能力较差。

针对以上问题,本文提出一种改进的U型卷积神经网络DU-Net模型,该模型在U-Net输入端计算输入样本梯度特征得到梯度块,随后将梯度块多尺度融入编码器,同时对U-Net解码器使用密集连接方式将浅层特征连至深层以增加特征复用,提升模型性能。此外,DU-Net在卷积层和转置卷积层后全部加入批归一化和ReLU激活以缓解梯度消失问题。最后,为提升模型对模糊目标及小目标的识别能力,本文提出一种改进的交叉熵损失函数,该损失函数使得模型参数得到了较好的优化。

2.1 改进的密集连接方法

如果卷积神经网络包含靠近输入层和输出层之间的较短连接,则卷积网络可以更深、更准确、更有效。密集卷积神经网络(DenseNet)以前馈的方式将每一层互连。具有K层的传统卷积神经网络具有K个连接,即每层与其后续层之间进行连接。而密集连接网络则具有K(K+1)/2个连接。对于每层而言,所有前方特征图都用作输入,其自身的特征图用作所有后续层的输入。密集卷积神经网络具有的优点是可以缓解消失梯度问题,而且能够加强特征传播,鼓励特征复用等[21]。

本文借鉴其模型结构设计思想,在U-Net解码器一侧将浅层特征通过组合卷积上采样的方法与深层特征密集连接,与DenseNet的不同之处在于,DU-Net密集连接的每条路径两端特征图的面积相差较大,通过不同数量的步长为2的3×3转置卷积层将浅层特征进行上采样,以适应不同的深层特征图大小,结构如图3所示,图中卷积上采样的具体方式为3×3转置卷积后加1×1和3×3的组合卷积。

图3 改进的密集连接方法

2.2 梯度融合

经典U-Net模型对距离较近细胞的相邻边界识别能力较差,对于靠近相邻边界之间的背景点,模型容易将其同样视为目标点。

为缓解上述问题,本文提出一种梯度融合的方法。首先读取原始RGB三通道样本并利用灰度变换方法将其转换为灰度图,考虑到灰度图中可能有噪声,使用中值滤波对灰度图去噪,公式如下

g(x,y)=med{f(x-m,y-n),(m,n)∈W}

(1)

式中:med{}为取中间值操作;f(x,y)、g(x,y)分别为原始图像和处理后图像;W为二维滤波窗口。随后对去噪后的灰度图像做梯度计算,梯度可通过对输入图像做卷积操作近似得到,本文使用Sobel边缘检测算子实现,Sobel算子在水平和垂直方向的模板为

(2)

由此可计算出水平和垂直方向的梯度近似值

Gx={F(x-1,y+1)+2F(x,y+1)+

F(x+1,y+1)}-{F(x-1,y-1)+

2F(x,y-1)+F(x+1,y-1)}

(3)

Gy={F(x-1,y-1)+2F(x-1,y)+

F(x-1,y+1)}-{F(x+1,y-1)+

2F(x+1,y)+F(x+1,y+1)}

(4)

式中:F为原始图像;Gx、Gy分别是原始图像F在每个像素点处的水平和垂直梯度近似值。另外,由于在图像处理问题中,平方运算以及根号运算相对耗时,所以使用绝对值之和,即L1距离计算梯度

Gs=|Gx|+|Gy|

(5)

此时已获取图像的原始梯度图,梯度图中细胞边缘信息已经较为明显,将其通过Gamma校正的方法进行图像亮度和对比度的重塑

(6)

式中:i、j为行列索引;Vij表示输入样本像素值;Uij表示输出样本像素值(γ取0.5)。梯度计算与Gamma校正的效果如图4所示。

图4 梯度计算与Gamma校正的效果

将原始梯度图与Gamma校正后的梯度图合称为梯度块,在信息融合过程中将梯度块拼接至输入样本作为网络的输入层,并使用步长为2的3×3卷积层将梯度块下采样至不同尺度融合至U-Net编码器。梯度融合过程如图5所示。

2.3 改进的交叉熵损失

基于深度学习的图像分割任务中,较常用的损失函数是像素级的交叉熵损失

(7)

式中:i为类别标识;pi为预测值;gi为真实标签。

交叉熵损失平等地评估每一个像素点的类预测结果,对所有像素点的损失求均值,因此使用该损失函数的训练过程很可能被最常见的类主导,从而导致模型处理图像中存在的类不平衡问题的效果欠佳。

图5 梯度融合过程

图6 DU-Net模型网络结构

此外,图像分割任务的另一种常见的评价指标是Dice系数,其物理含义为两个样本之间的重叠程度的度量。度量范围从0到1,Dice系数为1表示完全重叠,Dice系数表达式为

(8)

式中:G为真实目标区域;P为预测目标区域。Dice系数可扩展到软二元分割[22-23]。其中,每个像素的预测值都可以被定义为标签空间{0,1}上的随机变量,并且分割预测图可以表示为标签概率图。软Dice系数可表示为

(9)

与软Dice系数对应的Dice损失可表示为

(10)

式中:Dice损失在涉及到类不平衡问题时通常会表现出比较好的效果,但是由于采用Dice损失的模型在相近的学习率下反向传播的梯度会产生大幅振荡,所以训练过程不如采用交叉熵损失稳定。

本文结合交叉熵损失和Dice损失的特点,提出一种改进的交叉熵损失

(11)

式中:β为损失权重系数;s为平滑参数,取值为1。

DU-Net模型在Dice损失中使用了拉普拉斯平滑方法,防止模型过拟合,加快训练的收敛速度。改进的损失函数旨在使小目标及模糊目标在训练过程中通过链式法则实现梯度的稳定、高效回传。

此外,为了进一步缓解梯度消失的问题,DU-Net模型针对网络中的卷积及转置卷积层,全部采用批归一化+ReLU激活处理。DU-Net模型整体结构如图6所示。

3 实验与分析

3.1 实验环境介绍

本文采用的深度学习框架为TensorFlow 1.6。实验过程使用GPU加速,GPU配置为单块GeForce GTX 1080TI,CUDA采用9.0版本。

3.2 数据集

关于细胞或细胞核识别问题,目前有一些公有数据集,如在计算生物学中心(CBIO)平台上发布的细胞核检测数据集、2018数据科学碗发布的细胞核分割数据集等。其中,数据科学碗发布的细胞图像是在多种实验条件下获得的,样本数量大,多样性强,检测难度相对较高。使用其公布于Kaggle平台的全部训练集,包含670张图片、约29 500个细胞核,并将670张图片按4∶1的比例划分为训练集和验证集。

3.3 数据增强

为了使训练样本覆盖更多的目标特征,避免训练样本不足造成过拟合,提高算法的泛化能力,本文对训练集样本进行了数据增强,增强方法包括对样本做0°至45°的随机旋转、水平翻转、垂直翻转、仿射变换、亮度和对比度的随机变换。以上方法随机加到训练集的每一张图片上,使训练集扩充为原来的2倍。

3.4 训练过程

DU-Net在训练过程中未使用预训练模型,卷积核使用0-1随机正态分布方法初始化。模型初始学习率为0.000 1,优化器采用Adam,一批次输入样本数为16,训练轮次为150轮,训练过程使用学习率衰减方法,第1~120轮使用初始学习率,第120~140轮学习率微调为初始的1/10,第140~150轮学习率再次微调为初始的1/100。

3.5 实验结果分析

为了探究改进损失函数的权重系数β的最优取值区间以及不同权值系数下损失函数对模型的性能影响,本文使用5个模型进行了5组对比实验,β分别设置为0、0.25、0.5、0.75和1。评价指标同时使用Dice系数和Jaccard系数。Jaccard系数的计算公式如下

(12)

表1和表2分别对应5种模型以Dice系数和Jaccard系数为评价指标下的精度。通过两种评价指标随权重系数的变化趋势能够看出,当权重系数β取值在0.75~1的区间内模型表现最佳,同时说明在训练过程中,改进的交叉熵损失的后项,即Dice损失项,对模型结果的影响更为突出。

由表1可得,在以Dice系数为评价标准的情况下,5种模型使用改进的交叉熵损失的最优Dice系数值相比使用经典交叉熵损失分别提升1.5%至6.4%。DU-Net模型使用改进的交叉熵损失的最优Dice系数值相比使用经典交叉熵损失的FCN-8s、U-Net和SegNet模型分别提升11.9%,5.4%和2.3%。

由表2可得,在以Jaccard系数为评价指标的情况下,5种模型使用改进的交叉熵损失的最优Jaccard系数值相比使用经典交叉熵损失分别提升1.4%~5.5%。DU-Net模型使用改进交叉熵损失的最优Jaccard系数值相比使用经典交叉熵损失的FCN-8s、U-Net和SegNet模型分别提升7.8%、3.0%和3.3%。图7给出了5种模型最优预测结果的对比。

表1 不同权重系数下5种模型的Dice系数测试结果

表2 不同权重系数下5种模型的Jaccard系数测试结果

实验证明,经典U-Net模型会对某些小目标或不清晰目标识别困难甚至无法识别,而DU-Net模型对小目标及不清晰目标则具备更强的识别能力。其原因是DU-Net模型在模型训练的过程中使用改进的交叉熵损失函数,从而能够在梯度反向传播过程中使不清晰目标及小目标对应的梯度稳定、高效地回传。

以表1为例分析可以得出,经典U-Net模型的Dice系数达到0.928,DU-Net模型的Dice系数达到0.959,所以与经典U-Net模型相比,DU-Net模型除了损失函数的改进带来的提升之外,梯度融合和改进的密集连接方法也带来了性能上的提升。

图7 5种模型最优预测结果的对比

实验证明,U-Net模型在编解码过程中,连续上下采样的过程会损失有价值的细节信息,造成模型对距离较近的细胞的相邻边界识别效果较差,即容易把两个细胞合并。梯度融合方法通过梯度计算以及多尺度卷积采样的方法,将细胞核的边缘特征与编码器提取的特征融合,增强了细胞的边缘信息,提高了模型对相邻细胞边界的识别能力。例如在图7第4行,样本4下半部分的两个细胞由于距离较近且与背景颜色接近,导致经典U-Net模型对两细胞的边界识别效果较差,而DU-Net模型的识别效果明显更优,接近真实标签。

另外,通过进一步实验证明,改进的密集连接方法增加了特征复用,缓解了梯度消失问题,对模型有一个百分点左右的提升。当权重系数为0.75时,使用改进的密集连接方法的DU-Net模型的Dice系数达到0.959,未使用密集连接方法的DU-Net模型的Dice系数则为0.947。

4 结 论

本文提出一种改进的U型卷积神经网络模型DU-Net模型,并将其应用于实际医学影像分析中的细胞核分割问题。经典U-Net模型在连续的上下采样过程中会产生有价值细节信息的丢失,且对背景中的不清晰目标点识别能力较差。改进的U型卷积神经网络在模型编码器一侧多尺度融合梯度块,在解码器一侧将特征密集连接,从而获取了更丰富的特征信息。此外,批归一化和ReLU激活结构的使用以及改进的交叉熵损失函数进一步优化了神经网络权重的分布,提升了模型的性能。实验证明,DU-Net模型在Dice系数和Jaccard系数两种评价指标上分别达到95.9%和91.0%,优于U-Net和SegNet模型,显著优于经典卷积神经网络模型FCN。然而,模型目前对于背景干扰严重的细胞切片图像的分割效果欠佳,所以后续工作会以此为研究的重点。

猜你喜欢
梯度卷积损失
一个带重启步的改进PRP型谱共轭梯度法
一个改进的WYL型三项共轭梯度法
随机加速梯度算法的回归学习收敛速度
基于3D-Winograd的快速卷积算法设计及FPGA实现
胖胖损失了多少元
卷积神经网络的分析与设计
从滤波器理解卷积
一个具梯度项的p-Laplace 方程弱解的存在性
玉米抽穗前倒伏怎么办?怎么减少损失?
基于傅里叶域卷积表示的目标跟踪算法