基于弱监督宫颈细胞图像的语义分割方法
2021-12-03张灿,陈玮,尹钟
张 灿,陈 玮,尹 钟
(上海理工大学 光电信息与计算机工程学院,上海 200093)
宫颈癌是女性最常见的恶性肿瘤之一。人乳头瘤病毒 (Human Papilloma Virus,HPV)感染是引发宫颈癌的最主要原因。据统计,中国每年仅宫颈癌一项的新发病例数约为13万。液基薄层细胞检测(Thinprep Cytologic Test,TCT)技术是国际上最先进的一种宫颈癌细胞学检查技术,其对宫颈癌细胞的检出率为100%。宫颈细胞是子宫内壁细胞,为上皮细胞的一种。TCT根据图片中的细胞形态进行分类诊断,从而判断宫颈上皮细胞是否存在病变,同时还能发现部分癌前病变。
虽然妇女宫颈癌检测技术随时代发展在逐渐进步,但是后期阅片主要还是依靠人工。中国病理医生缺口高达8~10万人。随着计算机图像处理技术的发展,计算机辅助阅片诊断已被证明具有可行性及有效性[1]。计算机辅助阅片也将成为未来主要的辅助检测手段。
宫颈细胞分类诊断最主要的特征之一就是细胞的核质比[2]。因此,宫颈细胞的核质分割是宫颈细胞分类诊断的前提。细胞核质分割的研究方法主要有3种:(1)传统图像分割方法;(2)细胞核、细胞质分别使用二分类卷积网络分割[3];(3)端到端的语义分割算法。
文献[4]使用图像全局阈值法分别进行图像细胞质边界与细胞核边界的标定。这种方法泛化能力低,且分割过程复杂。文献[5]通过定位种子像素,采用区域生长算法进行宫颈细胞图像分割。人工定位种子点加大了工程量,且该算法无法实现复杂背景细胞图像分割。文献[6]提出了使用改进UNet网络分别进行细胞质与细胞核的语义分割训练。该方法需要大量人工进行图像标注,对细胞质与细胞核分别进行分割,处理过程较为复杂。文献[7]提出了级联的随机森林和卷积神经网络相结合的模型。该模型加快了网络训练速度,但是细胞边界不清晰。文献[8]提出了一种新的弱监督细胞分割网络模型FFNs。该模型使用弱监督标签,单个种子点通过循环网络迭代在多个重叠视图上动态推理,使得单个种子像素扩展到当前细胞膜的分界点。该模型实现了端到端的训练,但是无法同时分割出细胞膜和细胞核。文献[9]提出的弱监督语义分割方法采用显著性物体检测算法,自动地生成语义分割标签,分3次进行训练。该方法完全不需要人工标定图片,但是显著物检测方法不适用类别不均衡的情况。
随着深度卷积神经网络技术的不断更新,出现了大量语义分割模型。语义分割是对图像中每一个像素进行语义类别的划分。虽然语义分割任务在性能上获得了提高,但是这些模型依赖于大量手动标注的训练数据集。创建手动标记的训练集不仅成本高昂,且耗时较多。因此,通过较弱的监督信号来构建预测模型成为了研究热点。
在生物医学领域,存在丰富的知识本体及各种类型的数据库资源,可利用这些资源为相关任务提供弱监督信息[10],建立相应的标注函数。将标注函数应用于未标注的数据,产生训练标签,然后利用这些标签进行模型训练。
为了解决数据集缺少标注的问题,使用弱监督方法[11]进行图像语义分割是目前亟待解决的问题。因此,本文提出一种基于弱监督宫颈细胞图像,使用编解码网络结构加入条件随机场的语义分割算法(Encoder-Decoder CRF Network,EDCNet),有效地分割细胞质与细胞核。
1 EDCNet算法
1.1 网络模型结构
由于缺少标注的数据集和直接对细胞进行核质分割的语义分割网络,本文提出了一种图像自动生成训练标签算法。该算法以K-means作为标注函数,并以编码器-解码器(Encoder-Decoder)为基本结构,引入条件随机场(Conditional Random Field,CRF)整合上下文信息,对宫颈细胞图像进行语义分割。
EDCNet主要应用于上皮细胞图像的核质分割。首先对细胞图像进行预处理,使用K-means标注函数生成细胞图像的分割标签。然后,使用中值滤波算法对分割标签去噪。最后,将原图和标签对应的灰度图输入到EDCNet中进行训练。EDCNet的网络结构如图1所示。
图1 EDCNet的网络结构Figure 1.Network structure of EDCNet
本文网络是全卷积神经网络,通过Encoder[12]收集图像信息并对像素值进行归类与分析,获得高阶语义信息。通过Decoder收集这些语义信息,将同一类别的物体对应到相应的像素点上。
1.2 网络结构分析
(1)EDCNet的DeBlock模块包括Padding层(1×1)、Conv层(3×3)和MaxPooling层(2×2)。512×512大小的RGB图像共经过4个相同的DeBlock模块进行下采样,得到64×64×512大小的输出,即网络最内层的输出;
(2)EDCNet的UpBlock模块包括Padding层(1×1)、UpSampling(2×2)和Deconv(2×2)Concaten-ate层,对网络最内层输出进行上采样;
(3)EDCNet的FinBlock模块包括UpSampling层(2×2)、Conv层(3×3)和Conv层(1×1)。调整输出大小,使输出与输入有相同的长宽;
(4)EDCNet输出使用CRF层对结果进行修正[13]。采用Softmax进行像素级分类预测。
图2 EDCNet的具体结构Figure 2.Specific structure of the EDCNet
1.3 网络设计机理分析
宫颈细胞图像分割的难点在于细胞是一个整体,很难将细胞核作为一个单独的目标看待,因此存在边界信息不明显等问题。EDCNet在下采样阶段使用Same卷积操作,即在卷积操作前对输入图像矩阵边缘补0,尽可能减少信息的丢失。使用MaxPooling操作进行下采样[14],使用不重叠最大池化操作,在突出显著特征的同时减少参数和计算量,防止过拟合,提高模型的泛化能力。EDCNet的每一层都加入了BatchNormalization操作来调整数据的分布,使数据更加均匀。同时,加快收敛。在上采样阶段使用UnSampling与DeConv输出Concatenate的操作,使用UnSampling操作恢复最显著的特征。DeConv带有参数,参数在训练过程中会不断调整,因此DeConv拥有学习的特性,可获得更多的细节信息。FinBlock则被用于调整输出。为了提升模型捕获细节的能力并突出边界信息,用RNN形式的CRF完成第二阶段的后处理(CRF-RNN)[15]。CRF整合全局信息,作为平滑后处理,能够大幅提升分割效果,并且直接给出高斯核的参数theta_alpha=160,theta_beta=3,theta_gamma=3作为超参数,不需要参与训练,加快了网络训练速度。
1.4 损失函数
宫颈细胞图像分割是一个多分类图像分割问题,宫颈细胞图像进行多分类的难点在于类别不均衡,细胞质与背景所占的像素远大于细胞核。针对这种情况,选用了DiceLoss,其计算如式(1)和式(2)所示。
(1)
DiceLoss=1-DSC
(2)
其中,DiceLoss为输出结果与真实标签的重合度;A代表输出结果;B代表真实标签。虽然DiceLoss适用于样本类别极度不均匀的状况,但是随着网络训练次数的叠加,损失值变得不稳定,难以收敛。因此在DiceLoss的基础上加上多分类交叉熵损失函数(Multi Classification Cross Entropy Loss Function,CE)[16],并取平均值。CE计算如式(3)所示。
(3)
其中,x表示输入样本;k为待分类的类别总数;yi为第i个类别对应的真实标签;fi(x)为对应的模型输出值。
本文使用损失函数如式(4)所示。
(4)
2 实验过程及数据处理方法分析
根据实验操作顺序,下面将依次介绍实验的开发环境及参数设置、数据集、标注函数选择、数据预处理、评价指标、数据标定、训练调优过程以及实验结果分析。
2.1 开发环境及参数设置
本文实验的开发环境为Ubuntu18.04,使用Python编程语言,Keras深度学习框架。硬件环境为NVIDIA GTX1080Ti,单个GPU,Intel Core i5处理器。学习率设置为1×10-4,采用Adam优化器进行参数更新。
2.2 数据集
本文实验数据集由上海复玄信息科技有限公司提供。该数据集为通过电子显微镜拍摄的宫颈液基薄层细胞图片,共包含3 000张2 000×2 000的图片。经图片剪裁后含有分类目标的图片共12 000张,其中8 400(70%)张图片作为训练集,2 400(20%)张图片作为验证集,1 200(10%)张图片作为测试集。
2.3 标注函数选择
针对未标注的数据集标注函数,在不使用手动方式标注的条件下,对数据进行黑盒代码片段标注。本文使用标注函数来为深度学习模型标注训练数据。
常用于弱监督的标注函数有显著性检测、CAM(Class Activation Mapping)和K-means。不同标注函数生成标签结果如图3所示。
图3 不同标注函数生成的标签图(a)原图 (b)CAM热力图 (c)显著图 (d)K-meansFigure 3.Label graphs generated by different annotation functions(a)Original image (b)CAM heat map (c)Saliency map (d)K-means
由图3可以看出,CAM算法生成的热力图定位到了细胞,但是图片中分类不精确;显著图的细胞质部分颜色不均匀,细胞质和背景的边界不清晰,无法作为语义分割的标签;K-means标注结果最优,因此本文选择K-means作为标注函数。
2.4 数据预处理
数据预处理步骤如下:
步骤1图像增强。首先,图像采集过程中不均匀的光照和积液以及样本中的杂质等会引起噪声,因此需要先使用基于稀疏表示的KSVD算法[17]进行图像去噪。其次,图像需要加强细胞部分的特性,减弱背景部分的特征。因此,本文使用直方图均衡化方法加强图像对比度;
步骤2图片剪切。原图为2 000×2 000大小的图片,若以原图作为卷积神经网络的输入,无法获得图片更深层的语义信息[18],且占用内存较大,模型训练复杂度增加。因此,把每张图片有重叠的剪切为16张512×512大小的图片。步骤2的处理结果如图4所示;
图4 剪切后的图片Figure 4.The cut images
步骤3生成标签。在没有专家参与图像标注的情况下,对未标注的细胞图像数据加以分析利用。这些未标注的样本尽管没有明确的标签信息,但是根据细胞分类诊断的相关知识及数据的分布特征可知该数据集标签的具体形式。使用K-means生成数据集对应的标签图像,使用中值滤波算法对标签图片进行去噪。标签图像内容包含3类,即背景、细胞质和细胞核;
步骤4图像灰度化。EDCNet输入的标签形式为一维灰度图像,不同的灰度值代表不同的物体类别。把RGB图片转换成只包含3个像素值的灰度图像,灰度值设置为0、1、2,分别代表背景、细胞质和细胞核。
2.5 评价指标
语义分割是像素级别的分类,最常用的评价指标有平均像素准确率(Mean Pixel Accuracy,MPA)和平均交并比(Mean Intersection over Union,MIoU)。
假设数据集有k+1类,pii表示真阳性(Ture Positive,TP),pjj表示真阴性(Ture Negative,TN),pij表示假阳性(False Positive,FP),pji表示假阴性(False Nagative,FN),平均像素准确率MPA的计算如式(5)所示。
(5)
平均交并比MIoU的计算如式(6)所示。
(6)
2.6 数据标定
本文使用的数据集缺少真实对应的标签,为了更好地评价EDCNet,对测试集数据使用labelme模块进行标定,生成测试集对应的ground truth[19](正确的标定)。
2.7 训练调优过程
训练集的8 400张图片被分两批进行训练。第一批选取2 520(占训练集的30%)张只含有单个细胞且分割效果较好的图片作为网络的初训练集。其余5 880(占训练集的70%)张图片作为网络的完善训练集。训练过程如下:
步骤1初训练集送入到网络进行第一次训练,训练出一个具有一定语义分割能力的深度卷积神经网络,即initial DCNN;
步骤2使用第一次训练得到的initial DCNN对剩下的5 880张训练集图片进行预测,输出相对应的segmentation mask。将该5880张原图和网络输出的segmentation mask继续送入该网络进行训练,得到加强的深度卷积神经网络,即Enhanced DCNN,进一步提升网络的语义分割能力;
步骤3将全部训练集的8 400张图片送入Enhanced DCNN训练出最终的深度卷积神经网络Powerful DCNN。
2.8 实验结果分析
为了比对结果与原图,把两者调整透明度进行了重合比对操作。
由图5可以看出输出分割图与原图几乎重合,达到了预期的分割效果。
图5 输出结果与原图的对比图Figure 5.Comparison between output result and original image
为了更好地验证EDCNet的性能,将本文提出的分割算法与经典的卷积神经网络FCN[20]、Encoder-Decoder结构的SegNet[21]网络、针对细胞图像分割的UNet++[22]网络以及图像处理效果优越的卷积神经网络CGAN[23]进行对比。
(a) (b) (c) (d) (e) (f)图6 图像分割结果对比(a)细胞原图 (b)FCN分割结果 (c)SegNet分割结果 (d)UNet++分割结果 (e)CGAN分割结果 (f)EDCNet分割结果Figure 6.Comparison of image segmentation results(a)Cell images (b)FCN prediction results (c)SegNet prediction results (d)UNet++ prediction results (e)CGAN prediction results (f)EDCNet prediction results
使用本文数据集分别训练以上5种网络模型,超参数batch-size设置为4,epoch为2 000。5种模型的训练结果如图6所示。可以看出,FCN模型训练结果中细胞边界不清晰,SegNet模型训练结果细胞质并不完整,UNet++训练结果细胞核缺失,CGAN模型训练结果有较大提高,但是边界依然不圆滑;EDCNet训练结果较以上模型有较大改善。
将测试集分为10组,每组120张图片,分别计算MPA与MIoU,并取最终的平均准确率。
5种方法的MPA对比结果如表1所示,MIoU对比结果如表2所示。从表中可以看出,SegNet在FCN基础上加入了编解码结构,明显提高了准确率;EDCNet比CGAN模型复杂度更小,网络结构更加简单。EDCNet相比于UNet++,参数量有所降低。其网络中加入CRF层,准确率进一步提升至96.7%,比UNet++模型高出12.5%。
表1 5种算法的MPA对比表Table 1. Comparison of MPA of five algorithms
表2 5种算法的MIoU对比表Table 2. Comparison of MIoU of five algorithms
3 结束语
本文提出了一种基于Encoder-Decoder结构的弱监督语义分割模型,并使用宫颈细胞图片对该模型进行验证。所提出的网络结构不仅减少了网络深度[24],还在Decoder解码部分加入了反卷积和CRF优化层,在提高学习能力的同时优化了输出图像的细节[25],使最终分割准确率达到了96.7%。本文建立了宫颈细胞TCT涂片图像的数据集。该数据集中的一张图片是由大图片在有重叠情况下剪切而来,因此以该数据集训练的卷积神经网络具有较强的泛化能力。实验结果表明,该方法能够有效地分割出背景、细胞质及细胞核,为精确识别宫颈细胞病变判别奠定了基础。下一阶段的研究重点为在多个细胞严重重叠的情况下分割出单个细胞。