Skip to content

基于特征工程与深度学习的疟疾红细胞图像分类方法比较研究

绿皮书番外篇 01 · 论文原版全文(v6 终稿),第 9 篇背后的完整论文。 想看人话版:09 · 疟疾红细胞分类:四步常规优化,召回率从 84% 爬到 96% 想看学习笔记:09 · 疟疾论文笔记

Claude Science 绿皮书 · 番外篇 01 · 论文原版


摘要 疟疾的显微镜诊断依赖于人工识别血涂片中的感染红细胞,耗时且依赖专业人员。本文以 NIH Malaria Cell Images 数据集(27,558 张红细胞显微图像,感染与未感染各 13,779 张)为研究对象,系统地比较了三种建模路径在疟疾图像二分类任务中的表现:基于手工特征的支持向量机(SVM)、从零训练的轻量卷积神经网络(CNN)和 ImageNet 预训练的 EfficientNet-B0 迁移学习方法。所有深度学习模型使用相同的训练/验证/测试划分(5,600/1,200/1,200 张),以确保公平对比。实验结果表明,SVM 特征工程达到 88.27% 准确率和 84.27% 感染召回率(假阴性 118 例);简单 CNN 达到 95.08% 准确率和 94.33% 召回率(假阴性 34 例);EfficientNet-B0 微调模型达到 96.50% 准确率和 95.17% 召回率(假阴性 29 例);经验证集阈值优化后,召回率可提升至 96.00%(假阴性降至 24 例)。研究发现,冻结预训练特征并不必然优于从零训练的小 CNN,而解冻后部卷积块微调能带来稳定提升。在医疗筛查场景中,假阴性是比假阳性更关键的指标,阈值选择应结合临床代价权衡。本研究为理解从传统机器学习到深度学习的方法演进提供了完整、可复现的实验框架。

关键词 疟疾检测;图像分类;支持向量机;卷积神经网络;迁移学习;EfficientNet;假阴性;医疗筛查


1 引言

疟疾是由疟原虫感染引起的传染病,全球 2022 年仍报告约 2.49 亿病例 [1]。传统诊断方法之一是显微镜下观察血涂片,由专业人员判断红细胞中是否存在疟原虫结构。这一过程耗时、依赖经验,在资源有限的地区难以大规模实施 [2]。

近年来,机器学习和深度学习技术被越来越多地应用于医学图像分析 [3]。对于疟疾检测这一具体任务,一个自然的问题是:不同复杂度的建模方法之间,性能差距究竟有多大?每种方法的局限和优势分别是什么?

本文以 NIH 发布的 Malaria Cell Images 数据集为基础,系统地比较了三种代表性方法。第一种是基于手工特征提取的 SVM,这是传统机器学习中最常用于图像分类的经典路径。第二种是从零训练的轻量 CNN,代表了端到端深度学习的基本范式。第三种是 ImageNet 预训练的 EfficientNet-B0 迁移学习方法,展示了预训练视觉表征在医学图像上的应用。

本研究的贡献有三点:

  1. 在统一的数据划分和评估协议下,量化比较了三种方法的性能,包括准确率、感染召回率、假阴性和假阳性。
  2. 揭示了一个重要的教学结论:冻结预训练特征并不自动优于从零训练的小 CNN,而微调后部卷积块能带来稳定提升。
  3. 通过验证集阈值优化实验,展示了医疗筛查中假阴性-假阳性权衡的实际意义。

2 材料与方法

2.1 数据集

本研究使用 NIH Lister Hill National Center for Biomedical Communications 发布的 Malaria Cell Images 数据集 [4]。该数据集包含 27,558 张 PNG 格式的红细胞显微图像,其中感染(Parasitized)13,779 张,未感染(Uninfected)13,779 张,两类完全平衡。

图像尺寸不固定,宽度范围为 46–394 像素(中位数 130),高度范围为 40–385 像素(中位数 130),宽高比中位数约 1.00。所有图像在输入模型前均统一缩放。

图 1 感染与未感染红细胞样本示例

图 1 感染与未感染红细胞样本示例。上排为感染细胞(可见内部紫红色疟原虫结构),下排为未感染细胞。

图 2 数据集中图像宽度和高度分布

图 2 数据集中图像宽度和高度分布。两类图像尺寸分布相近,中位数约 130 像素。

2.2 数据划分

为保证不同模型之间的公平对比,深度学习实验(CNN 和 EfficientNet)使用相同的数据划分。从每类中随机抽取 4,000 张图像(共 8,000 张),按 70%/15%/15% 的比例分层划分为训练集(5,600 张)、验证集(1,200 张)和测试集(1,200 张),随机种子固定为 42。划分文件的 SHA-256 校验值为 376dc2bb699747609a9f44ba7965ba6fb2872a989bf681b1ebc1daa9824d680c

SVM 实验因早期教学路径不同,使用了独立的训练/测试划分(每类抽样 3,000 张,75%/25%,共 1,500 张测试)。需说明的是,SVM 与深度学习模型并非同一划分,因此 SVM 与 CNN 之间的准确对比应重点关注差距幅度而非绝对差值;EfficientNet 与 CNN 之间使用完全相同的划分,其对比更为严格。

2.3 方法一:手工特征提取 + SVM

受传统机器学习路径启发,首先设计 63 维手工特征,并使用支持向量机作为分类器。SVM 通过最大化分类间隔构造决策边界,是小样本、高维特征分类中的经典方法 [5]。本文特征包括:

  • RGB 颜色直方图(48 维):每通道 16 个 bin,捕捉全局颜色分布。感染细胞中疟原虫结构改变局部颜色特征。
  • RGB 均值与标准差(6 维):反映整体亮度和对比度。
  • HSV 均值与标准差(6 维):对染色差异更敏感。
  • 灰度纹理统计(3 维):全局对比度、局部标准差均值和最大值,反映感染细胞内部结构不均匀性。

特征提取后,使用 StandardScaler 标准化,然后训练 RBF 核 SVM(C=1.0, gamma='scale')。

2.4 方法二:从零训练的轻量 CNN

轻量 CNN 包含三个卷积块(Conv-BN-ReLU-MaxPool),通道数依次为 16、32、64,输入图像统一缩放至 96×96。经过三次池化后特征图尺寸为 12×12×64,展平后经过一个 64 维全连接层和 Dropout(0.3),输出单一 logits 值,使用 BCEWithLogitsLoss 训练。模型参数量约 613,761。

训练采用 Adam 优化器(学习率 1e-3),数据增强包括随机水平/垂直翻转和 15° 旋转,训练 12 个 epoch,batch_size=64。

2.5 方法三:ImageNet 预训练 EfficientNet-B0 迁移学习

使用在 ImageNet 数据集 [6] 上预训练的 EfficientNet-B0 [7] 初始化网络,并替换原始 1000 类分类头为二分类输出。迁移学习分两个阶段:

阶段一(分类头预热):冻结全部卷积参数,仅训练分类头,学习率 1e-3,训练 3 个 epoch。

阶段二(后部卷积块微调):解冻 EfficientNet-B0 特征提取器最后三个卷积块和分类头,使用较低学习率 1e-4 继续微调 8 个 epoch。

微调阶段使用与简单 CNN 相同的数据增强,并增加轻度颜色抖动(brightness=0.12, contrast=0.12, saturation=0.08, hue=0.02)。输入图像缩放至 224×224,使用混合精度训练(AMP)。batch_size=48。

2.6 评估指标

在测试集上报告以下指标:

  • 准确率(Accuracy):整体分类正确率。
  • 感染精确率(Precision):被预测为感染的样本中真正感染的比例。
  • 感染召回率(Recall):真正感染的样本中被正确检出的比例。
  • F1 分数:精确率和召回率的调和平均。
  • 混淆矩阵:区分真阳性、真阴性、假阳性(FP)和假阴性(FN)。
  • 假阴性(FN):真实感染但被预测为未感染的样本数,在医疗筛查中具有最高的临床代价。

此外,对 EfficientNet 微调模型,使用验证集选择阈值(目标召回率 ≥ 0.97),以测试集评估阈值调整后假阴性和假阳性的权衡效果。为便于复现,本文采用如下指标公式:

Accuracy=TP+TNTP+TN+FP+FNPrecision=TPTP+FPRecall=TPTP+FNF1=2×Precision×RecallPrecision+Recall

其中,TP 表示感染样本被正确判为感染,TN 表示未感染样本被正确判为未感染,FP 表示未感染样本被误判为感染,FN 表示感染样本被误判为未感染。

3 结果

3.1 总体性能对比

表 1 汇总了五种设置的测试集性能。SVM 在 1,500 张测试图像上评估,CNN 和 EfficientNet 在 1,200 张测试图像上评估。

表 1 模型性能对比

模型准确率感染精确率感染召回率F1假阴性假阳性阈值
SVM 特征工程0.88270.91590.84270.8778118580.500
简单 CNN0.95080.95770.94330.950534250.500
EfficientNet-B0 冻结特征0.94830.95130.94500.948233290.500
EfficientNet-B0 微调0.96500.97770.95170.964529130.500
EfficientNet-B0 微调(召回优先)0.96580.97130.96000.965624170.325

3.2 SVM 与 CNN 的差距

SVM 路径达到 88.27% 准确率,在传统机器学习路径中已属不错,但感染召回率仅 84.27%,假阴性高达 118 例。分析 SVM 的错误样本发现,假阴性往往出现在疟原虫结构很小、很淡或被整体细胞颜色掩盖的图像中。全局颜色直方图和均值/标准差容易被大面积背景主导,难以稳定捕捉局部形态。

图 3 SVM 模型在测试集上的混淆矩阵

图 3 SVM 模型在测试集上的混淆矩阵。左下角为假阴性 118 例(漏检感染),右上角为假阳性 58 例。

简单 CNN 将假阴性从 118 降至 34,感染召回率提升至 94.33%。这表明卷积层的局部感受野能有效捕捉疟原虫斑点等局部空间模式。

图 4 简单 CNN 的训练与验证准确率/损失曲线

图 4 简单 CNN 的训练与验证准确率/损失曲线(12 个 epoch)。验证准确率在 epoch 8 左右趋于稳定,最高约 96.08%。

图 5 简单 CNN 在测试集上的混淆矩阵

图 5 简单 CNN 在测试集上的混淆矩阵。假阴性降至 34 例,假阳性 25 例。

图 6 SVM 与 CNN 的准确率、感染召回率和假阴性数量对比

图 6 SVM 与 CNN 的准确率、感染召回率和假阴性数量对比。CNN 在准确率、感染召回率和假阴性控制方面均优于 SVM。

3.3 冻结预训练特征不优于简单 CNN

EfficientNet-B0 冻结特征路径达到 94.83% 准确率和 94.50% 召回率,与简单 CNN(95.08% 准确率 / 94.33% 召回率)在误差范围内相当。假阴性为 33,仅比 CNN 的 34 少 1 例;假阳性为 29,比 CNN 的 25 多 4 例。综合准确率角度,冻结特征甚至略低于简单 CNN。

这一结果表明:ImageNet 预训练特征来自自然图像,显微细胞图像在分辨率、染色协议、噪声特性和语义类别上与自然图像存在显著分布差距(domain gap)。仅使用冻结特征时,线性分类头无法补偿这一域差距。

3.4 微调带来稳定提升

解冻后部卷积块微调后,EfficientNet-B0 达到 96.50% 准确率,感染召回率提升至 95.17%,假阳性从 29 降至 13,假阴性从 33 降至 29。验证集最佳准确率达到 97.25%。

微调使模型保留了预训练学到的通用边缘/纹理表征,同时允许高层特征适应红细胞显微图像的特定分布,从而取得最优综合性能。

图 7 SVM、简单 CNN、EfficientNet-B0 冻结特征和微调模型的性能对比

图 7 SVM、简单 CNN、EfficientNet-B0 冻结特征和微调模型的性能对比。左图为准确率/召回率/F1 分数,右图对比假阴性和假阳性数量。

图 8 EfficientNet-B0 微调模型在测试集上的混淆矩阵

图 8 EfficientNet-B0 微调模型在测试集上的混淆矩阵(阈值 0.5)。假阴性 29 例,假阳性仅 13 例。

3.5 阈值优化与临床筛查权衡

将分类阈值从默认的 0.5 降至验证集选择的最优值 0.325(以召回率 ≥ 0.97 为约束),测试集感染召回率从 95.17% 提升至 96.00%,假阴性从 29 降至 24。代价是假阳性从 13 增加到 17,感染精确率从 97.77% 降至 97.13%。表 2 进一步量化了两种阈值设定的差异。

表 2 EfficientNet-B0 微调模型阈值优化对比

阈值准确率感染精确率感染召回率F1假阴性假阳性
0.500(默认)0.96500.97770.95170.96452913
0.325(召回优先)0.96580.97130.96000.96562417
变化+0.08pp−0.64pp+0.83pp+0.11pp−5+4

在疟疾筛查场景中,这一权衡通常是合理的:假阳性意味着进一步复查或不必要焦虑,而假阴性意味着漏诊和延误治疗。如果后续有人工复核或更精确的检测流程,适度增加假阳性以减少漏检感染是有意义的。

4 讨论

4.1 从特征工程到端到端学习

本研究的核心发现可以用一个递进链条概括:手工全局统计特征(SVM,召回率 84.27%)→ 端到端学习的局部空间模式(CNN,94.33%)→ 预训练知识迁移与任务适应(EfficientNet 微调,95.17%)。值得注意的是,从 SVM 到 CNN 的提升最为显著(召回率提升约 10 个百分点,假阴性从 118 降至 34),而从 CNN 到 EfficientNet 微调的提升相对温和(召回率提升约 0.84 个百分点,假阴性从 34 降至 29)。这表明在本任务中,端到端学习相比手工特征的收益远大于预训练迁移相比从零训练的边际收益。每一步的提升不来自更复杂的分类器,而来自更有效的特征表征。

SVM 依赖人根据经验定义 63 维特征,这些全局统计难以稳定捕捉疟原虫的局部形态。CNN 通过卷积层自动学习局部感受野中的判别模式。EfficientNet 进一步携带 ImageNet 预训练的通用视觉表征,经微调后适应显微图像分布。

4.2 预训练不是万能的

一个容易被忽视的结论是:冻结预训练特征并不自动优于从零训练的小 CNN。本实验中,冻结 EfficientNet 特征(94.83%)与简单 CNN(95.08%)准确率相当。这说明自然图像的预训练表征与显微图像分布存在域差距(domain gap),需要通过微调才能跨越。

4.3 医疗场景中的评估视角

在一般的图像分类任务中,准确率通常是最重要的指标。但在医疗筛查中,不同类型的错误具有不对称的临床代价。假阴性(漏检感染)可能导致延误治疗,其代价通常远高于假阳性(误报感染),后者仅带来进一步复查。

因此,本研究在报告准确率之外,重点关注感染召回率和假阴性数量,并演示了通过阈值调节控制二者权衡的方法。这一视角对医学图像分析任务具有普遍适用性。

4.4 局限性

本研究有以下局限。首先,实验使用平衡子集而非全量 27,558 张图像,完整训练可能进一步提升性能。其次,所有图像来自同一数据源,未测试跨显微镜、跨染色流程或跨医院的外部泛化能力。第三,CNN 和 SVM 使用了不同的训练/测试划分,严格对比时应统一划分;EfficientNet 与 CNN 已使用相同划分。第四,本研究未进行可解释性分析(如 Grad-CAM),无法验证模型是否关注了生物学上有意义的区域。

5 结论

本文在统一的数据集和评估协议下,比较了 SVM 特征工程、从零训练 CNN 和 ImageNet 预训练 EfficientNet-B0 迁移学习在疟疾红细胞图像分类中的表现。主要结论如下:

  1. 从 SVM 到 CNN 到预训练微调,感染召回率从 84.27% 提升至 95.17%,假阴性从 118 降至 29,体现了从手工特征到端到端学习再到知识迁移的递进优势。
  2. 冻结预训练特征不优于从零训练的小 CNN,说明预训练表征需要通过微调适应目标域。
  3. 阈值优化可在保持高精确率的同时将召回率提升至 96.00%,假阴性降至 24 例,适合医疗筛查场景。
  4. 医疗图像分类中,假阴性是比假阳性更关键的评估指标,模型选择和阈值设定应以临床代价为导向。

参考文献

[1] World Health Organization. World Malaria Report 2023. Geneva: WHO, 2023.

[2] Poostchi M, Silamut K, Maude R J, et al. Image analysis and machine learning for detecting malaria. Translational Research, 2018, 194: 36–55. DOI: 10.1016/j.trsl.2017.12.004.

[3] Esteva A, Kuprel B, Novoa R A, et al. Dermatologist-level classification of skin cancer with deep neural networks. Nature, 2017, 542(7639): 115–118. DOI: 10.1038/nature21056.

[4] Rajaraman S, Antani S K, Poostchi M, et al. Pre-trained convolutional neural networks as feature extractors toward improved malaria parasite detection in thin blood smear images. PeerJ, 2018, 6: e4568. DOI: 10.7717/peerj.4568.

[5] Cortes C, Vapnik V. Support-vector networks. Machine Learning, 1995, 20: 273–297. DOI: 10.1007/BF00994018.

[6] Deng J, Dong W, Socher R, et al. ImageNet: A large-scale hierarchical image database. In: 2009 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2009. DOI: 10.1109/CVPR.2009.5206848.

[7] Tan M, Le Q V. EfficientNet: Rethinking model scaling for convolutional neural networks. In: Proceedings of the 36th International Conference on Machine Learning (ICML), PMLR 97, 2019.

慢慢迭代,不追求完美。