APP下载

基于TM-DeeplabV3+算法的白细胞图像语义分割

2022-10-24张亚飞FELIXManirankunda

关键词:涂片实时性白细胞

陈 静,谢 鹏,张亚飞,FELIX Manirankunda

(安徽理工大学 电气与信息工程学院,安徽 淮南 232001)

白细胞是维持人体免疫功能的关键细胞[1].对血液中白细胞进行检测,检测结果可辅助诊断病人的健康状况[2].白细胞的检测可分为病理图像采集、细胞分割、特征提取与特征分类4个步骤.其中细胞分割是检测过程中难度较大的一步,且白细胞分割的结果将直接影响后续步骤的准确性.因此对白细胞图像进行语义分割对疾病的辅助诊断来说至关重要.

目前的白细胞图像分割主要是靠人工镜检或流式细胞仪,存在工作量大、耗时长、统计量大及受主观因素影响大等问题[3].随着机器学习的发展,受主观性影响小、准确率和效率高的基于机器学习的图像分割方法成为了医疗图像处理的热门方向[4].基于机器学习的分割方法根据是否需要提供标签文件,分为无监督学习和有监督学习2类[5].

无监督学习模型无需提供标签文件.Al-Hafiz等[6]通过阈值分割和Canny检测实现红细胞分割,但每次分割需要手动确定阈值.吴京城等[7]提出一种通过反背景差分结合Ostc的算法来分割细胞图像,但对细胞图像分割的精度不高.李小红等[8]提出一种基于结合分水岭和区域块的聚类分割算法,但对彩色图像分割的精度较低.

有监督学习模型需要提供标签文件.传统的有监督分割模型有FCN[9]、U-Net[10]、PSP-Net[11]、Seg-Net[12]等.李智能等[13]提出一种基于卷积神经网络的细胞分割算法,实现了对细胞核、细胞质的精准分割;刘汉强等[14]提出一种基于超像素与图卷积神经网络的算法,进行白细胞的分割,解决了小训练样本时准确性差的问题;但上述分割算法存在实时性较差的问题.Lu等[15]提出将U-Net和ResNet融合的WBC-Net算法,应用于白细胞分割.张宇豪等[16]提出将U-Net和水平集融合,解决了弱边缘目标区域分割效果差的问题,但分割精度不高.Chen等[17]对U-Net进行改进,构建一种基于双路径和空间金字塔池化的白细胞分割模型,但对细胞边缘分割效果较差.

由上述分析可知,现有分割模型参数量庞大、分割时间长且精度较低.针对上述问题,提出了一种基于TM-DeeplabV3+(Transfer MobileNetV3 DeeplabV3+)的血液白细胞分割算法,通过采用轻量化的MobileNetV3网络替换DeeplabV3+中的主干提取网络Xception,并通过迁移学习进行模型迭代,提升TM-DeeplabV3+模型的语义分割速度与精度.

1 DeeplabV3+网络结构

DeeplabV3+算法是对经典语义分割算法DeeplabV3的改进.DeeplabV3算法主要由主干提取网络Xception与空洞空间金字塔池化结构(atrous spatial pyramid pooling,ASPP)组成[18].DeeplabV3+算法是在DeeplabV3基础上增加了一个解码模块,变成了编码-解码结构,其语义分割性能得到了进一步提升[19].DeeplabV3+网络结构如图1所示.

图1 DeeplabV3+算法的网络结构Fig.1 Network structure diagram of DeeplabV3+ algorithm

图1中DeeplabV3+算法分为编码器和解码器2部分.编码器主要由通道数为512的Xception[20]主干提取网络与ASPP结构组成,编码器输出低层语义信息和高层语义信息.解码器对低层语义信息与高层语义信息解码输出语义分割结果.

2 MobileNetV3网络结构

为解决DeeplabV3+模型由于参数量巨大导致分割速率慢的问题,采用轻量化的MobileNetV3替换DeeplabV3+算法中的主干提取网络Xception,得到M-DeeplabV3+算法.MobileNetV3由1个输入层、1个卷积层、15个Bneck块与1个输出层构成,其网络结构如图2所示.

MobileNetV3的功能主要是由Bneck块实现,Bneck主要包括激活函数、深度可分离卷积(depthwise separable convolution)和SE(squeeze-and-excite)机制.

1) Bneck块中使用了ReLU6和H-Swish 2种激活函数.ReLU6激活函数具有减少量化精度损失的作用.H-Swish函数具有计算量小、求导简单的特点,可减少网络的计算量.

图2 MobileNetV3网络结构Fig.2 Network structure diagram of MobileNetV3

图3 TM-DeeplabV3+算法流程Fig.3 Flowchart of TM- DeeplabV3+ algorithm

2) 深度可分离卷积分为DW(depthwise)卷积和PW(pointwise)卷积2个过程.DW卷积的卷积核数与输入通道数相同,每个卷积层匹配1个卷积核,每个卷积层和与之匹配的卷积核卷积.PW卷积的卷积核尺寸为1×1×M,M为上一层的通道数,每个卷积层匹配卷积核中的一个值,每个卷积层与卷积核卷积.

3) SE机制是一种注意力机制,从全局出发对全局特征的权重进行重新标定.提升有利于模型训练的特征信息权重,减少不利于模型训练的特征信息权重,实现权重的重新分配.

从上述分析可以看出,Bneck块首先通过激活函数为ReLU6或H-Swish的1×1卷积对输入特征图进行升维处理,接着用3×3深度可分离卷积提取特征,再将提取的结果输入到SE机制进一步处理,最后通过激活函数为ReLU6或H-Swish的1×1卷积对SE处理后的特征图进行降维.这样,Bneck块就成为一个膨胀-特征提取-压缩的反残差结构,有效解决了传统结构中仅使用压缩结构提取低维度信息带来的提取精度低的问题.

3 基于TM-DeeplabV3+的白细胞语义分割算法

为了进一步提升M-DeeplabV3+算法语义分割速率,同时提升M-DeeplabV3+算法的准确性,通过迁移学习进行M-DeeplabV3+模型训练,构建基于迁移学习的M-DeeplabV3+算法.TM-DeeplabV3+算法就是M-DeeplabV3模型进行迭代的过程,TM-DeeplabV3+算法的流程如图3所示.

1) 选择预训练模型.预训练模型是从现有源模型中选择,本研究选择利用VOC(visual object class)数据集对M-DeeplabV3+模型进行训练获得的源模型作为预训练模型[21].

2) 模型参数迁移.参数迁移是进行迁移学习的初始环节,本研究选择基于模型的迁移学习方法进行参数迁移,能实现从预训练模型到M-DeeplabV3+训练模型的全部参数迁移,参数迁移后的M-DeeplabV3+训练模型作为TM-DeeplabV3+模型迭代的起点.

3) TM-DeeplabV3+训练模型迭代优化.M-DeeplabV3+训练模型迭代包括参数微调、细胞图像输入、损失值计算和收敛性判断.首先,根据第k-1次迭代的损失值大小对模型参数进行微调.若损失值为负值,则调高M-DeeplabV3+训练模型的权值和偏差,否则调低M-DeeplabV3+训练模型的权值和偏差,得到参数微调后的M-DeeplabV3+训练模型.

其次,将白细胞图像输入到参数微调后的M-DeeplabV3+训练模型,计算得到预测值.

再次,计算预测值与标签值之间的损失值.损失函数计算公式如式(1)所示.

(1)

式(1)中:L为损失值;x为样本个数;p(x)为标签值,其中标签值由数据集的标签给出;q(x)为预测值.

最后,判断收敛性.损失值的振幅大小是判断迭代是否结束的评价指标.若损失值振幅小于阈值ε(本文ε设为0.5%),则迭代结束,得到TM-DeeplabV3+模型;否则,迭代继续进行.

将迁移学习用于TM-DeeplabV3+模型训练节省了计算资源,提升了TM-DeeplabV3+模型的实时性,同时提高了模型精度.

4 数据预处理与实验分析

4.1 数据预处理

4.1.1 数据集准备 使用的数据集为公开的血液计数数据集(blood cell count dataset,BCCD)[22],该数据集中有364张血液涂片图像.对血液涂片图像的白细胞使用Labelme软件进行精细化标注,对血液涂片图像标注完成后,Labelme软件输出json格式的标注文件.DeeplabV3+模型的标签要求为png格式,为满足DeeplabV3+模型的标签格式要求,特编写程序将json格式的标注文件转换为同尺寸的png标签图.

4.1.2 数据集的数据增强 BCCD血液涂片图像数量仅为364张,数据量较小.在模型迭代过程中,当数据集的数据量过小时,易造成模型不收敛的问题.为解决上述问题,对血液涂片图像进行上下翻转、左右翻转、镜像、加噪声方法进行数据增强,得到包含1 820张增强后血液涂片图像的数据集.血液涂片图像增强后的效果如图4所示.

图4 增强后的血液涂片图像Fig.4 Enhanced blood smear image

模型在迭代训练之前要将数据集划分为训练集与验证集,为满足模型的迭代训练需求,对数据增强后的BCCD血液涂片图像进行随机划分,其中数据集中的70%血液涂片图像作为模型的训练集,30%血液涂片图像作为模型的验证集.

4.1.3 模型的评价指标 为建立准确且高效的语义分割模型,需要一套严谨的评价指标.语义分割模型常用交并比、平均交并比、像素精度、精确度以及类别平均像素准确率等来评价模型的准确性.语义分割模型检测速率、任务切换时间等来评价模型的实时性.考虑到白细胞语义分割的特点,选用平均交并比(mean intersection over union,mIOU)、平均像素精度(mean pixel accuracy,mPA)指标来评价语义分割模型准确性,选用分割速度来评价语义分割模型的实时性.mIOU、mPA、分割速度(vs)计算公式如式(2)~(4)所示.

(2)

(3)

(4)

其中:n是待判别种类数;qxy(x,y=i,j)表示将x类别的像素判别为y类别像素的次数;T为检测图像张数,t表示检测T张图像的时长.

4.2 实验分析

4.2.1 实验运行环境与参数设置 基于数据增强后的BCCD进行仿真实验,电脑的CPU为Intel i5-12400F,GPU为NVIDIA GeForce RTX 3050,操作系统为Windows 10,CUDA版本号为10.3,cuDNN版本号为8.2.1.32.深度学习框架为Pytorch,其中Pytorch深度学习框架的版本为GPU-1.10.1,仿真实验参数设置为:训练的迭代次数为100;其中前50次的迭代学习率为0.000 05,且冻结主干网络,不对主干网络进行更新;后50次的迭代学习率为0.000 01,解冻主干网络,对整个模型进行更新;Batchsize为4.

图5 模型训练损失值对比曲线Fig.5 Comparison curve of model training loss value

表1 模型对比实验Tab.1 Model comparison experiment

4.2.2 实验结果分析 为了验证TM-DeeplabV3+模型的可行性,分别对DeeplabV3+、M-DeeplabV3+与TM-DeeplabV3+模型进行对比实验.DeeplabV3+、M-DeepalabV3+与TM-DeeplabV3+模型实验过程的训练损失值变化曲线如图5所示.

由图5可以看出,迭代次数在55与80之间DeeplabV3+、M-DeeplabV3+和TM-DeeplabV3+模型训练损失值曲线明显变化,TM-DeeplabV3+模型训练损失值更接近于0.结果表明,在相同迭代次数下,TM-DeeplabV3+模型的精度更高.

对DeeplabV3+、M-DeeplabV3+和TM-DeeplabV3+模型进行仿真,并选取语义分割领域代表性的U-Net与PSP-Net模型进行对比实验,得到的实验结果如表1所示.

由表1可知:① DeeplabV3+模型的mIOU为95.18%,mPA为97.24%,分割速度为7.45帧/s,语义分割的准确性低、实时性差;② M-DeeplabV3+模型的mIOU为95.52%,mPA为97.48%,分割速度为34.85帧/s,语义分割的准确性较高、实时性较好;③ U-Net模型的mIOU为95.67%,mPA为98.39%,分割速度为11.11帧/s,语义分割的准确性较低、实时性较差;④ PSP-Net模型的mIOU为96.81%,mPA为94.29%,分割速度为35.09帧/s,语义分割的准确性较高、实时性较好;⑤ TM-DeeplabV3+模型的mIOU为97.01%,mPA为98.69%,分割速度为56.61帧/s,语义分割的准确性高、实时性好.

由上述分析可知,将DeeplabV3+模型的主干网络替换为轻量化的MobileNetV3得到M-DeeplabV3+模型,mIOU、mPA与分割速度提升了0.34%、0.24%、27.4帧/s;通过迁移学习进行M-DeeplabV3+模型的训练,预训练模型向M-DeeplabV3+模型迁移了许多相似的知识,在M-DeeplabV3+模型训练过程中对无用的神经元进行失活,减少了M-DeeplabV3+模型的参数量,从而语义分割速度得到了提升,TM-DeeplabV3+模型的分割精度也得到了提升.TM-DeeplabV3+模型相较于DeeplabV3+模型的mIOU、mPA与分割速度提升了1.83%、1.45%、49.16帧/s;TM-DeeplabV3+模型相较于U-Net和PSP-Net模型,语义分割的准确性和实时性更高.

对上述模型进行仿真实验的可视化结果如图6所示.由图6可知:① DeeplabV3+模型对第1行和第4行的血液涂片图像的白细胞存在错分割;② U-Net模型对第1行和第4行的血液涂片图像的白细胞存在错分割,对第2行的血液涂片图像的左下方出现轻微错分割,对第3行的血液涂片图像下方的白细胞存在过度分割;③ PSP-Net模型对第1行和第4行的血液涂片图像中白细胞存在错分割;④ TM-DeeplabV3+模型分割的结果贴近真实结果,未出现错分割和过度分割.

由上述分析可知,TM-DeeplabV3+模型相较于DeeplabV3+、U-Net和PSP-Net模型语义分割的精度更高.

5 结论

为了提高白细胞图像语义分割的精度和速度,提出了一种基于TM-DeeplabV3+算法的语义分割模型.针对DeeplabV3+模型实时性低的问题,更换MobileNetV3为主干提取网络,减少了DeeplabV3+模型的参数量,提高了白细胞图像语义分割的实时性;为了进一步提高M-DeeplabV3+模型的实时性,通过迁移学习进行M-

图6 可视化效果Fig.6 Visualization

DeeplabV3+模型的训练,准确性也得到了改善.基于Pytorch深度学习框架进行了白细胞语义分割仿真实验,验证了TM-DeeplabV3+算法的可行性.后期将在细胞图像分割基础上,进一步开展白细胞分类、计数与纹理分析、特征集融合等工作,以更好地满足医学检测的临床需求.

猜你喜欢

涂片实时性白细胞
痰涂片与痰培养在下呼吸道感染诊断中的比较
直肠FH检测剩余液涂片用于评估标本取材质量的探讨
白细胞
心力衰竭患者白细胞介素6、CRP表达水平与预后的相关性探讨
痰标本涂片与培养结核分枝杆菌检测结果比较
不同采样时间,不同性状痰标本抗酸染色阳性率分析
白细胞降到多少应停止放疗
白细胞减少是免疫力降低了吗?
航空电子AFDX与AVB传输实时性抗干扰对比
计算机控制系统实时性的提高策略