计算机系统应用  2023, Vol. 32 Issue (1): 275-280   PDF    
融合Xception特征提取和坐标注意力机制的血细胞分割
颜玉松, 尹芳洁, 王彩玲     
南京邮电大学 自动化学院、人工智能学院, 南京 210023
摘要:人体血细胞的检测与分割可以辅助医生快速对人体当前健康情况做出简单判断, 对诊断疾病具有重要意义. 为了解决传统图像分割算法在血细胞分割任务中出现错误分割目标、无法完全分割目标等问题, 提出了一种融合Xception特征提取和坐标注意力机制的血细胞分割算法XCA-Unet++. 该算法在Unet++网络结构的基础上, 在编码器部分引入Xception特征提取网络以更好地提取低层特征信息. 设计了一种以坐标注意力机制为基础的注意力细胞检测模块, 增强了网络对血细胞模糊边缘和不完整细胞的特征提取能力. 采用DiceLoss作为损失函数以优化数据集正负样本不均衡问题和提高网络的收敛能力. 在公开血细胞数据集上的实验对比表明, XCA-Unet++网络在IoUAccF1评估指标下分别取得94.44%、96.78%和97.12%的结果, 分割性能优于其他分割网络, 满足血细胞分割任务的精度要求.
关键词: 血细胞分割    Unet++    Xception    坐标注意力机制    DiceLoss    深度学习    图像分割    
Blood Cell Segmentation Fusing Xception Feature Extraction and Coordinate Attention Mechanism
YAN Yu-Song, YIN Fang-Jie, WANG Cai-Ling     
College of Automation & Artificial Intelligence, Nanjing University of Posts and Telecommunications, Nanjing 210023, China
Abstract: The detection and segmentation of human blood cells can assist doctors to quickly make simple judgments on the current health of the human body, which is of great significance for disease diagnosis. In segmentation tasks of blood cells, the traditional image segmentation algorithm may wrongly segment the target and is unable to completely segment the target. To address these problems, this study proposes a blood cell segmentation algorithm XCA-Unet++ fusing Xception feature extraction and the coordinate attention mechanism. On the basis of the Unet++ network structure, the algorithm introduces the Xception feature extraction network in the encoder part to better extract low-level feature information. Moreover, a cell detection module based on the coordinate attention mechanism is designed to enhance the network’s feature extraction ability for blood cells with blurred edges and incomplete cells. DiceLoss is used as the loss function to optimize the imbalance of positive and negative samples in the dataset and speed up network convergence. The experimental comparison on the public blood cell dataset indicates that the XCA-Unet++ network achieves the results of 94.44%, 96.78%, and 97.12% for the evaluation indicators IoU, Acc, and F1, respectively, and the segmentation performance is better than that of other segmentation networks. Thus, it meets the high-precision requirements of blood cell segmentation tasks.
Key words: blood cell segmentation     Unet++     Xception     coordinate attention     DiceLoss     deep learning     image segmentation    

人体血细胞主要分为3类, 分别是白细胞、红细胞和血小板. 在医学上对这3种细胞的数量及形态分布的检查称为血常规检验[1], 其检验结果可以在一定程度上反映当前人体的身体健康状况[2], 是辅助医生诊断病情的常用方法之一. 目前对血细胞检测的传统方式主要分为使用全自动血细胞分析仪器和血涂片细胞形态学两种[3]. 使用全自动血细胞分析仪虽然具有快速检测、操作方便的优点但仪器会受血细胞复杂多样的形态结构和自身系统性能误差的影响导致无法准确分析血细胞[4]. 而人工的血涂片检验方式速度较慢, 无法在短时间内检测多人的血液样本. 此外血涂片方式还要求检验人员受过完整的相关知识和技能培训, 其需要的人力、物力和时间成本明显过高. 因此如何对血细胞进行快速、准确、高效的检测成了目前急需解决的问题.

传统的图像分割方法应用在血细胞分割问题上可以取得不错的效果. 缪慧司等[5]提出一种结合距离变换利用边缘梯度的分水岭血细胞显微图像分割方法, 可以在一定程度上处理细胞粘连问题. Moshavash等[6]提出了一种自动且稳健的细胞分割技术, 这种技术可以以较高的准确率分割白细胞. Harun等[7]提出了基于聚类算法的无监督像素分割方法以完全分割异常白细胞, 并同时提出K-means、fuzzy C-mean和moving K-means三种聚类算法进行对比实验.

近些年, 深度学习算法被应用在各种计算机视觉任务中并表现出优于传统算法的性能和效果[8]. Long等[9]提出了全卷积网络(FCN), 这种网络可以接受任意大小的输入图像并对其进行像素级别的分割, 与传统CNN网络相比提高了图像的分割效率和精度. Ronneberger等[10]提出了Unet网络, 这种网络结构是由编码器和解码器构成的U型全卷积网络, 在向深层提取网络的同时利用拼接方式将上下层的特征图融合, 以此取得更好的分割效果. Zhou等[11]在Unet网络的基础上进一步改进并提出了Unet++网络, 该网络重新设计了编码器和解码器之间的跳跃连接方式以增强特征提取能力, 取得更好的分割效果. Oktay等[12]提出Attention U-net网络结构, 设计一种新型注意力门(attention gate)模块用于更好的学习不同形状和大小的目标特征.

虽然上述方法均可应用于血细胞分割任务并取得相应的实验效果, 但仍存在一些缺点. 例如, 血细胞图像中的大多数血细胞具有不同的形状和颜色, 且存在大面积粘连、重叠现象, 这会影响编码器特征提取能力导致无法做出精准分割. 为了解决上述问题同时提高对细胞模糊边缘特征提取能力, 本文提出一种基于融合Xception[13]特征提取和坐标注意力机制(coordinate attention, CA)[14]的血细胞分割算法, 该算法主要创新点在于:

1) 在Unet++网络的编码器部分引入Xception网络, 用于提高对血细胞特征的提取, 同时解决细胞模糊边缘特征丢失的问题.

2) 添加注意力细胞检测模块, 使网络能够更大范围的检测并分割图像边缘的不完整细胞和血小板细胞, 有助于提高网络检测准确率.

3) 针对数据集类别不均衡问题, 采用DiceLoss损失函数代替原始的交叉熵函数, 提高网络分割精度和收敛能力.

1 相关工作 1.1 Unet++网络

Unet++重新设计了编码器和解码器之间的跳跃路径, 其将两个上下相邻且具有不同分辨率的特征拼接融合形成一个新的跳跃点, 并以此操作为基础将原始Unet网络架构进行“填充”, 形成最基本的Unet++网络框架. 这种方式的跳跃路径能够有效提取并利用浅层和深层的特征, 弥补了编码器与解码器之间的语义鸿沟, 提升了模型性能. 此外为了减少下采样造成的特征信息损失, Unet++还使用密集连接(dense connection)[15]将同一层的编码器、跳跃点和解码器进行连接, 进一步提高了网络分割精度和改善梯度更新.

因此, 结合Unet++的设计特点可以得出网络中除输入节点以外其他任意一个节点的特征输出的表达公式:

$ {x^{i, j}} = \left\{ {\begin{array}{*{20}{l}} {v\left( {D\left( {{x^{i - 1, j}}} \right)} \right), j = 0} \\ {v\left( {\left[ {\left[ {{x^{i, k}}} \right]_{k = 0}^{j - 1}, U\left( {{x^{i + 1, j - 1}}} \right)} \right]} \right), j > 0} \end{array}} \right. $ (1)

其中, $i$ 代表沿编码器方向的下采样层索引; $j$ 代表沿跳跃连接方向的密集连接卷积层索引; ${x^{i, j}}$ 代表 ${X^{i, j}}$ 节点的特征输出; $v\left( \cdot \right)$ 代表附带激活函数的卷积操作; $D( \cdot )$ 代表下采样操作; $U\left( \cdot \right)$ 代表上采样操作; $\left[ \cdot \right]$ 代表特征拼接操作.

1.2 Xception网络

Xception是在Inception V3[16]的基础上改进了Inception模块的卷积方式, 提出一种与深度可分离卷积[17]相似的“极致” Inception模块(extreme Inception module). 该模块首先对输入图像进行1×1卷积生成多通道的特征图; 接着为了使跨通道相关性和空间相关性完全分开更加合理, 在每个通道上进行3×3卷积操作来处理空间相关性; 最后将每个通道的输出特征图进行拼接即可得到最终结果. “极致” Inception模块与深度可分离卷积十分相似, 仅在卷积顺序和卷积层后是否连接激活函数方面有些不同.

Xception网络以“极致” Inception模块为核心, 采用与ResNet网络[18]类似的残差连接机制来加快收敛速度, 在特征提取能力和网络准确率方面表现出优于ResNet-152与Inception V3网络的性能.

1.3 坐标注意力机制

对于输入的特征图分别沿水平和垂直方向进行平均池化得到一对方向感知特征图. 接着对特征信息进行拼接并使用1×1卷积生成中间特征图, 并沿空间方向将其分成两张特征图. 使用1×1卷积分别对两张特征图进行通道转换, 得到竖直和水平空间方向的权重. 最后将该权重与输入特征图融合得到坐标注意力特征图.

坐标注意力机制不仅可以捕获跨通道信息, 还可以捕获方向感知和位置敏感信息的结论, 这有助于网络模型更准确地定位和识别感兴趣的目标对象.

2 本文方法

图1所示为XCA-Unet++的整体网络结构和计算流程. 该网络以Unet++框架为基础, 在其主干网络部分引入Xception特征提取网络以获得更好的分割精度, 还在解码器部分引入坐标注意力机制用于检测容易丢失的模糊和细小特征, 最后网络输出与输入图像大小相同的二值图像.

图1中, Up-sampling表示上采样; Max-pooling表示最大池化, 用来对特征图进行下采样; CA表示坐标注意力模块; CBR表示依次进行Conv、BN和ReLU操作; Skip-connection表示跳跃连接.

图 1 XCA-Unet++网络结构

2.1 主干网络

XCA-Unet++的主干网络利用Xception网络进行特征提取. 对于不同层次的编码器分别输出维度为64、128、256、728和2 048特征图. 这些输出的特征图会在Max-pooling前被暂时保留, 供后续上采样拼接和跳跃连接使用. 此外特征图由于经过多次Max-pooling操作, 其分辨率会不断降低. 随着特征图维度的不断增加和分辨率的降低, 所学习到的特征细节程度会不断提高.

2.2 注意力细胞检测模块

下层特征图的上采样结果可以与紧邻上层中某节点之前的特征图跳跃连接结果进行拼接得到维度数为这两层维度数和的特征图. 该特征图经过CA后维度和分辨率不变, 然后经过两次CBR操作就可以得到与同层具有相同维度的特征图, 最后再经过CA输出该节点的特征图. 在解码过程中, 特征图维度不断降低, 分辨率不断增大, 最终得到与输入图像分辨率相同的特征图. 上述的操作过程由图2所示的模块实现.

图 2 注意力细胞检测模块结构

2.3 损失函数

由于血细胞数据集普遍存在样本类别不均衡的现象, 若使用原始Unet++网络中的二元交叉熵损失函数则可能会导致网络收敛速度缓慢, 无法取得较好的分割效果. 为了解决这一问题, 本文方法引入DiceLoss函数作为损失函数, 该函数公式如式(2)所示:

$ loss = 1 - \frac{{2 \times \left( {Pred \cap True} \right)}}{{Pred \cup True}} $ (2)

其中, $Pred$ 代表网络的分割输出; $True$ 代表分割真实值.

为了进一步确定DiceLoss函数在血细胞分割任务上的性能表现优于二元交叉熵损失函数, 将两种损失函数分别应用在XCA-Unet++网络中并在同一数据集上进行训练测试. 图3表示的是两种损失函数在验证集上损失值的变化对比图. 其中红色曲线表示采用二元交叉熵损失函数时的损失值变化情况, 蓝色曲线表示采用DiceLoss函数时的损失值变化情况, 横坐标是训练次数, 纵坐标是验证集上损失值. 从图中可以明显看出, 采用DiceLoss函数为损失函数时, 在整个网络训练过程中其损失值几乎全程小于二元交叉熵损失函数时的损失值, 且该网络更好的收敛能力. 综上所述, 采用DiceLoss函数为损失函数, 提高了网络的收敛能力.

图 3 不同损失函数曲线对比图

3 实验结果分析

本文的实验环境是在CPU: 8核; 内存: 64 GB; GPU: 32 GB; 操作系统: Ubuntu 18.04; 开发环境: PyTorch 1.8、Python 3.7.10、cuda 10.2和CUDNN 7.

3.1 实验数据集选择

本文实验所用数据集来源于巴萨罗那医院核心实验室公开的PBC数据集. 该数据集图像包含8组不同血细胞, 每张图像分辨率大小为360×363, 且这些图像均是从没有感染、血液或肿瘤疾病的人体获取的, 保证了数据集训练研究的可行性. 从中随机选取330张血细胞图像作为本文实验的研究对象, 并将这些图像缩放至128×128大小的分辨率.

3.2 数据增强与网络参数调节

由于血细胞图像为小数据集并为了提高模型的鲁棒性、泛化能力和精准分割能力, 决定对当前数据集进行数据增强处理. 本文使用的数据增强方式主要有: 随机选旋转角度、随机水平或垂直翻转、随机改变输入图像的色调, 饱和度和值和随机改变输入图像的亮度和对比度.

XCA-Unet++网络输入为128×128×3的彩色血细胞图像, batch_size设置为16, epoch设置为200, 优化器选择Adam算法, 学习率设置为0. 001. 此外为了获得更好的收敛速度, 加快网络训练, 本文实验采用迁移学习的方法将Xception网络在ImageNet数据集中训练好的权重参数加载到网络模型中.

3.3 评价指标

本文实验采用交并比(intersection over union, IoU)、正确率(accuracy, Acc)和F1分数(F1 score, F1)作为评价指标来评估网络性能. 其公式分别表示为:

$ IoU = \frac{{TP}}{{FP + TP + FN}} $ (3)
$ Acc=\frac{TP+TN}{TP+FP+FN+TN}  $ (4)
$ F1 = \frac{{2TP}}{{FP + 2TP + FN}} $ (5)

其中, $TP$ 代表网络正确分割血细胞的像素总数; $TN$ 代表网络正确分割背景的像素总数; $FP$ 代表网络将血细胞错误分割为背景的像素总数; $FN$ 代表网络将背景错误分割为血细胞的像素总数.

3.4 不同网络评估结果的对比分析

为了验证本文算法的高效性, 将本文算法与Unet、Unet++、ATT-Unet、ATT-Unet++[19]、SCSE-Unet[20]和SCSE-Unet++六种网络模型在同一数据集上进行对比分析, 实验评估结果如表1所示.

表 1 不同网络评估结果对比 (%)

表1中可知, XCA-Unet++网络在IoU指标达到了94.44%, 相比其他6种网络分别提高了1.62%、1.43%、0.75%、0.67%、1.18%、0.61%; 在Acc指标方面达到了96.78%, 相比其他网络分别提高了0.99%、1.18%、0.5%、0.46%、0.71%、0.38%; 在F1指标方面达到了97.12%, 相比其他网络分别提高了0.86%、0.76%、0.4%、0.35%、0.62%、0.32%. 综上所述, 可以明显看出本文算法在IoUAccF1三个不同指标下都取得了最优结果, 相较于其他6种分割网络具有更好的血细胞分割效果.

3.5 消融实验

为了验证本文算法改进点的优化性能, 将利用控制变量法的思想对XCA-Unet++网络进行消融并在同一数据集上获取评估结果. 现提出以下假设:

1) 序号①代表XCA-Unet++网络消除Xception特征提取结构;

2) 序号②代表XCA-Unet++网络消除注意力血细胞检测模块;

3) 序号③代表XCA-Unet++网络消除DiceLoss损失函数;

4) 序号④代表XCA-Unet++网络.

最终实验评估结果如表2所示.

表2中数据可以看出, 每一个改进点的引入都在一定程度上提高原始Unet++网络的性能. 将①、②和③中实验对比可知, Xception特征提取结构对于XCA-Unet++网络各项指标的提升幅度均高于其他改进方法. 由此可以得出以Xception特征提取结构作为主干网络在本文算法的性能提升中占主要作用的结论. 此外, 注意力血细胞检测模块对XCA-Unet++网络的贡献度大于DiceLoss损失函数.

表 2 消融实验评估结果对比 (%)

3.6 可视化对比分析

在测试集上随机抽取图片进行不同模型的分割效果对比. 血细胞分割结果图像如图4所示, 其包含6张测试图片的对比结果, 每张对比图由原始图像, 标注图像和7种不同网络分割结果组成.

图 4 不同网络分割结果对比

图4(a)可以看出ATT-Unet网络没有完全正确分割血细胞边缘; 图4(b)可以看出SCSE-Unet网络将背景像素错误分割为血小板细胞; 图4(c)可以看出除了ATT-Unet++网络以外, 其余各网络均将血细胞内部分割为背景, 这可能是由于该细胞位于图像边缘且细胞不完整导致特征较少, 使得网络错误分割. 图4(d)可以看出ATT-Unet、SCSE-Unet和Unet网络将细胞杂质错误分割为细胞, 其中Unet网络的错误分割率更高. 此外SCSE-Unet网络的分割结果出现了较为明显的细胞粘连现象. 图4(e)中 ATT-Unet++、SCSE-Unet++、Unet++和ATT-Unet网络都没有成功分割出小目标; 图4(f)中, SCSE-Unet++、Unet++、SCSE-Unet和Unet网络的分割结果出现了较严重的细胞粘连现象. 综上所述, 血细胞分割任务中常见问题有: 细胞粘连现象严重、小目标分割效果较差、错误分割杂质为细胞等, 而本文算法在这些问题上的优化处理明显优于其他分割网络, 具有较强的泛化能力和鲁棒性.

4 结束语

本文提出的血细胞分割算法是在Unet++网络结构基础上的改进与创新. 将具有对细小和低层特征敏感的Xception作为主干网络引入Unet++框架, 增强了对血细胞的特征提取能力. 另外设计了注意力血细胞检测模块, 使网络更加关注血细胞边缘和不完整细胞. 该算法能够充分利用低层特征, 通过拼接和跳跃连接与高层特征融合, 保留更丰富的特征信息, 增加细胞分割精度. 经过对比实验验证, 本文算法网络相比于其他分割网络在血细胞分割任务上具有更好的性能表现.

下一步将继续优化模型结构, 尝试改进Xception网络结构以获得更强的特征提取能力, 改善细胞粘连现象, 加强对图像边缘的精准分割. 同时测试更多的损失函数结构, 研究不同损失函数对于分割效果的影响.

参考文献
[1]
孙亚杰. 血液涂片细胞形态学与全自动血细胞分析仪联合应用于血常规检验中的效果分析. 中国医疗器械信息, 2019, 25(23): 154-155. DOI:10.3969/j.issn.1006-6586.2019.23.074
[2]
Chan LLY, Laverty DJ, Smith T, et al. Accurate measurement of peripheral blood mononuclear cell concentration using image cytometry to eliminate RBC-induced counting error. Journal of Immunological Methods, 2013, 388(1–2): 25–32.
[3]
何少娟, 蔡昭炜, 吴志锋, 等. 全自动血细胞分析仪联合血涂片细胞形态学在血常规检验中的应用分析. 中国现代药物应用, 2020, 14(19): 119-120. DOI:10.14164/j.cnki.cn11-5581/r.2020.19.052
[4]
张海燕, 袁甜. 全自动血细胞分析仪与血涂片细胞形态学在血常规检验中的联合应用分析. 系统医学, 2019, 4(19): 25-27. DOI:10.19368/j.cnki.2096-1782.2019.19.025
[5]
缪慧司, 梁光明, 刘任任, 等. 结合距离变换与边缘梯度的分水岭血细胞分割. 中国图象图形学报, 2016, 21(2): 192-198. DOI:10.11834/jig.20160208
[6]
Moshavash Z, Danyali H, Helfroush MS. An automatic and robust decision support system for accurate acute leukemia diagnosis from blood microscopic images. Journal of Digital Imaging, 2018, 31(5): 702-717. DOI:10.1007/s10278-018-0074-y
[7]
Harun NH, Abdul Nasir AS, Mashor MY, et al. Unsupervised segmentation technique for acute leukemia cells using clustering algorithms. International Journal of Computer, Control, Quantum and Information Engineering, 2015, 9(1): 253-259.
[8]
Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Columbus: IEEE, 2014. 580–587.
[9]
Long J, Shelhamer E, Darrell T. Fully convolutional networks for semantic segmentation. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Boston: IEEE, 2015. 3431–3440.
[10]
Ronneberger O, Fischer P, Brox T. U-Net: Convolutional networks for biomedical image segmentation. Proceedings of the 18th International Conference on Medical Image Computing and Computer-assisted Intervention. Munich: Springer, 2015. 234–241.
[11]
Zhou ZW, Siddiquee MR, Tajbakhsh N, et al. UNet++: Redesigning skip connections to exploit multiscale features in image segmentation. IEEE Transactions on Medical Imaging, 2020, 39(6): 1856-1867. DOI:10.1109/TMI.2019.2959609
[12]
Oktay O, Schlemper J, Le Folgoc L, et al. Attention U-Net: Learning where to look for the pancreas. arXiv:1804.03999, 2018.
[13]
Chollet F. Xception: Deep learning with depthwise separable convolutions. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017. 1800–1807.
[14]
Hou QB, Zhou DQ, Feng JS. Coordinate attention for efficient mobile network design. Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Nashville: IEEE, 2021. 13708–13717.
[15]
Huang G, Liu Z, Van Der Maaten L, et al. Densely connected convolutional networks. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017. 2261–2269.
[16]
Szegedy C, Vanhoucke V, Ioffe S, et al. Rethinking the inception architecture for computer vision. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016. 2818–2826.
[17]
Sifre L. Rigid-motion scattering for image classification [Ph.D. thesis]. Palaiseau: École Polytechnique, 2014.
[18]
He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016. 770–778.
[19]
Li C, Tan YS, Chen W, et al. Attention UNet++: A nested attention-aware U-Net for liver CT image segmentation. Proceedings of the 2020 IEEE International Conference on Image Processing (ICIP). Abu Dhabi: IEEE, 2020. 345–349.
[20]
Roy AG, Navab N, Wachinger C. Concurrent spatial and channel ‘squeeze & excitation’ in fully convolutional net-works. Proceedings of the 21st International Conference on Medical Image Computing and Computer-assisted Intervention. Granada: Springer, 2018. 421–429.