人体血细胞的检测与分割可以辅助医生快速对人体当前健康情况做出简单判断, 对诊断疾病具有重要意义. 为了解决传统图像分割算法在血细胞分割任务中出现错误分割目标、无法完全分割目标等问题, 提出了一种融合Xception特征提取和坐标注意力机制的血细胞分割算法XCA-Unet++. 该算法在Unet++网络结构的基础上, 在编码器部分引入Xception特征提取网络以更好地提取低层特征信息. 设计了一种以坐标注意力机制为基础的注意力细胞检测模块, 增强了网络对血细胞模糊边缘和不完整细胞的特征提取能力. 采用DiceLoss作为损失函数以优化数据集正负样本不均衡问题和提高网络的收敛能力. 在公开血细胞数据集上的实验对比表明, XCA-Unet++网络在
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
人体血细胞主要分为3类, 分别是白细胞、红细胞和血小板. 在医学上对这3种细胞的数量及形态分布的检查称为血常规检验[
传统的图像分割方法应用在血细胞分割问题上可以取得不错的效果. 缪慧司等[
近些年, 深度学习算法被应用在各种计算机视觉任务中并表现出优于传统算法的性能和效果[
虽然上述方法均可应用于血细胞分割任务并取得相应的实验效果, 但仍存在一些缺点. 例如, 血细胞图像中的大多数血细胞具有不同的形状和颜色, 且存在大面积粘连、重叠现象, 这会影响编码器特征提取能力导致无法做出精准分割. 为了解决上述问题同时提高对细胞模糊边缘特征提取能力, 本文提出一种基于融合Xception[
1) 在Unet++网络的编码器部分引入Xception网络, 用于提高对血细胞特征的提取, 同时解决细胞模糊边缘特征丢失的问题.
2) 添加注意力细胞检测模块, 使网络能够更大范围的检测并分割图像边缘的不完整细胞和血小板细胞, 有助于提高网络检测准确率.
3) 针对数据集类别不均衡问题, 采用DiceLoss损失函数代替原始的交叉熵函数, 提高网络分割精度和收敛能力.
Unet++重新设计了编码器和解码器之间的跳跃路径, 其将两个上下相邻且具有不同分辨率的特征拼接融合形成一个新的跳跃点, 并以此操作为基础将原始Unet网络架构进行“填充”, 形成最基本的Unet++网络框架. 这种方式的跳跃路径能够有效提取并利用浅层和深层的特征, 弥补了编码器与解码器之间的语义鸿沟, 提升了模型性能. 此外为了减少下采样造成的特征信息损失, Unet++还使用密集连接(dense connection)[
因此, 结合Unet++的设计特点可以得出网络中除输入节点以外其他任意一个节点的特征输出的表达公式:
其中,
Xception是在Inception V3[
Xception网络以“极致” Inception模块为核心, 采用与ResNet网络[
对于输入的特征图分别沿水平和垂直方向进行平均池化得到一对方向感知特征图. 接着对特征信息进行拼接并使用1×1卷积生成中间特征图, 并沿空间方向将其分成两张特征图. 使用1×1卷积分别对两张特征图进行通道转换, 得到竖直和水平空间方向的权重. 最后将该权重与输入特征图融合得到坐标注意力特征图.
坐标注意力机制不仅可以捕获跨通道信息, 还可以捕获方向感知和位置敏感信息的结论, 这有助于网络模型更准确地定位和识别感兴趣的目标对象.
XCA-Unet++网络结构
XCA-Unet++的主干网络利用Xception网络进行特征提取. 对于不同层次的编码器分别输出维度为64、128、256、728和2 048特征图. 这些输出的特征图会在Max-pooling前被暂时保留, 供后续上采样拼接和跳跃连接使用. 此外特征图由于经过多次Max-pooling操作, 其分辨率会不断降低. 随着特征图维度的不断增加和分辨率的降低, 所学习到的特征细节程度会不断提高.
下层特征图的上采样结果可以与紧邻上层中某节点之前的特征图跳跃连接结果进行拼接得到维度数为这两层维度数和的特征图. 该特征图经过CA后维度和分辨率不变, 然后经过两次CBR操作就可以得到与同层具有相同维度的特征图, 最后再经过CA输出该节点的特征图. 在解码过程中, 特征图维度不断降低, 分辨率不断增大, 最终得到与输入图像分辨率相同的特征图. 上述的操作过程由
注意力细胞检测模块结构
由于血细胞数据集普遍存在样本类别不均衡的现象, 若使用原始Unet++网络中的二元交叉熵损失函数则可能会导致网络收敛速度缓慢, 无法取得较好的分割效果. 为了解决这一问题, 本文方法引入DiceLoss函数作为损失函数, 该函数公式如式(2)所示:
其中,
为了进一步确定DiceLoss函数在血细胞分割任务上的性能表现优于二元交叉熵损失函数, 将两种损失函数分别应用在XCA-Unet++网络中并在同一数据集上进行训练测试.
不同损失函数曲线对比图
本文的实验环境是在CPU: 8核; 内存: 64 GB; GPU: 32 GB; 操作系统: Ubuntu 18.04; 开发环境: PyTorch 1.8、Python 3.7.10、cuda 10.2和CUDNN 7.
本文实验所用数据集来源于巴萨罗那医院核心实验室公开的PBC数据集. 该数据集图像包含8组不同血细胞, 每张图像分辨率大小为360×363, 且这些图像均是从没有感染、血液或肿瘤疾病的人体获取的, 保证了数据集训练研究的可行性. 从中随机选取330张血细胞图像作为本文实验的研究对象, 并将这些图像缩放至128×128大小的分辨率.
由于血细胞图像为小数据集并为了提高模型的鲁棒性、泛化能力和精准分割能力, 决定对当前数据集进行数据增强处理. 本文使用的数据增强方式主要有: 随机选旋转角度、随机水平或垂直翻转、随机改变输入图像的色调, 饱和度和值和随机改变输入图像的亮度和对比度.
XCA-Unet++网络输入为128×128×3的彩色血细胞图像, batch_size设置为16, epoch设置为200, 优化器选择Adam算法, 学习率设置为0. 001. 此外为了获得更好的收敛速度, 加快网络训练, 本文实验采用迁移学习的方法将Xception网络在ImageNet数据集中训练好的权重参数加载到网络模型中.
本文实验采用交并比(intersection over union,
其中,
为了验证本文算法的高效性, 将本文算法与Unet、Unet++、ATT-Unet、ATT-Unet++[
不同网络评估结果对比 (%)
网络名称 | |||
Unet | 92.82 | 95.79 | 96.26 |
Unet++ | 93.01 | 95.60 | 96.36 |
ATT-Unet | 93.69 | 96.28 | 96.72 |
ATT-Unet++ | 93.77 | 96.32 | 96.77 |
SCSE-Unet | 93.26 | 96.07 | 96.50 |
SCSE-Unet++ | 93.83 | 96.40 | 96.80 |
XCA-Unet++ |
从
为了验证本文算法改进点的优化性能, 将利用控制变量法的思想对XCA-Unet++网络进行消融并在同一数据集上获取评估结果. 现提出以下假设:
1) 序号①代表XCA-Unet++网络消除Xception特征提取结构;
2) 序号②代表XCA-Unet++网络消除注意力血细胞检测模块;
3) 序号③代表XCA-Unet++网络消除DiceLoss损失函数;
4) 序号④代表XCA-Unet++网络.
最终实验评估结果如
从
消融实验评估结果对比 (%)
序号 | |||
① | 93.96 | 96.54 | 96.88 |
② | 94.27 | 96.68 | 96.96 |
③ | 94.35 | 96.71 | 97.07 |
④ |
在测试集上随机抽取图片进行不同模型的分割效果对比. 血细胞分割结果图像如
不同网络分割结果对比
从
本文提出的血细胞分割算法是在Unet++网络结构基础上的改进与创新. 将具有对细小和低层特征敏感的Xception作为主干网络引入Unet++框架, 增强了对血细胞的特征提取能力. 另外设计了注意力血细胞检测模块, 使网络更加关注血细胞边缘和不完整细胞. 该算法能够充分利用低层特征, 通过拼接和跳跃连接与高层特征融合, 保留更丰富的特征信息, 增加细胞分割精度. 经过对比实验验证, 本文算法网络相比于其他分割网络在血细胞分割任务上具有更好的性能表现.
下一步将继续优化模型结构, 尝试改进Xception网络结构以获得更强的特征提取能力, 改善细胞粘连现象, 加强对图像边缘的精准分割. 同时测试更多的损失函数结构, 研究不同损失函数对于分割效果的影响.
孙亚杰. 血液涂片细胞形态学与全自动血细胞分析仪联合应用于血常规检验中的效果分析. 中国医疗器械信息, 2019, 25(23): 154–155.
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.]]>
何少娟, 蔡昭炜, 吴志锋, 等. 全自动血细胞分析仪联合血涂片细胞形态学在血常规检验中的应用分析. 中国现代药物应用, 2020, 14(19): 119–120.
张海燕, 袁甜. 全自动血细胞分析仪与血涂片细胞形态学在血常规检验中的联合应用分析. 系统医学, 2019, 4(19): 25–27.
缪慧司, 梁光明, 刘任任, 等. 结合距离变换与边缘梯度的分水岭血细胞分割. 中国图象图形学报, 2016, 21(2): 192–198.
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.
Harun NH, Abdul Nasir AS, Mashor MY,
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.]]>
Zhou ZW, Siddiquee MR, Tajbakhsh N,
et al. Attention U-Net: Learning where to look for the pancreas. arXiv:1804.03999, 2018.]]>
et al. Densely connected convolutional networks. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017. 2261–2269.]]>
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.]]>
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.]]>
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.]]>