APP下载

基于深度学习的疟疾检测

2020-09-29刘银萍曾奕秋

实验技术与管理 2020年2期
关键词:疟疾特征提取像素

刘银萍,尹 明,陈 平,曾奕秋

(1. 广东工业大学 实验教学部,广东 广州 510006;2. 广东工业大学 自动化学院,广东 广州 510006)

本文提出了一种改进的疟疾检测方法,该方法针对已有深度学习疟疾检测方法中的模型存在训练时间过长,权重参数冗余的问题,改进的实验方法采用与之相似的模型结构,并进行了从头训练。在相似的实验条件中,与原方法相比,本实验缩短了近12 倍的模型训练时间,提高了1%疟疾分类精确度,缩小了模型大小(最小的模型仅为0.5 MB)。

1 基于深度学习的疟疾检测研究现状

2018 年,美国国立卫生研究院(NIH)Rajaraman等采集了血细胞图像,制作疟疾数据集[1],并用该数据集训练疟疾分类卷积神经网络,发表了论文,见文献[2]。在文献[2]中,分别采用5 个预训练卷积神经网络的最后一层卷积层的输出作为特征提取,进而对疟疾分类。其中,采用预训练卷积神经网络ResNet-50[3-4]作为特征提取,疟疾分类精确度达到了95.7%。同时,在特异性、灵敏性等综合测试中,性能都比用其他卷积神经网络作为特征提取优异(见表1),表中AUC为曲线面积,MCC 为马修斯相关系数。

2018 年12 月,Adrian[5]指出文献[2]存在的缺陷:(1)采用特征提取的方法进行疟疾分类,虽然达到了95.7%的精确度,但是每一次特征提取的训练时间都超过24 h,训练效率低下;(2)模型权重大小为96 MB,权重参数冗余,计算效率不高,不易部署到物联网(loT)设备。

Adrian 不采取特征提取的方式,而是保证疟疾分类精度不变的前提下,对ResNet-50 神经网络进行缩减后,利用疟疾数据集[2]从头训练一个新的疟疾分类神经网络。Adrian 改进的疟疾分类模型精度略高于文献[2],在训练集上精度(acc)达到96.5%,在验证集精度val_acc 上达到96.78%,在测试集上精度达到97%。同时,由于网络深度和宽度被缩减,模型权重大小为17.7 MB,比文献[2]的96 MB 缩小了约5.4 倍;训练模型时间为54 min(epoch 为50),训练时间缩小约27 倍,实验结果见图1 和图2。

表1 预训练疟疾分类卷积神经网络性能对比图

图1 模型训练过程损失函数和精确率的变化

图2 模型精度、训练时间结果

2 模型训练方法方案对比

2.1 特征提取

文献[1]采用的ResNet-50[3-4]网络结构,如图3 中方框内所示。

图3 ResNet-50 网络结构

由图3 方框中可知,ResNet-50 网络结构分为1个全连接层及5 个残差卷积块(conv1、conv2_x、conv3_x、conv4_x、conv5_x)。其中,残差卷积块conv1的主要作用是迅速减少输入图像大小,残差卷积块conv2_x、conv3_x、conv4_x、conv5_x 由多个残差模块[3-4]组成,对缩减后的图像进行特征提取,以便后续的疟疾图像分类。

特征提取的实现方式就是保留网络中所有的卷积块及相应的权重参数、更换输入图像数据集(更换为疟疾数据集)、更换输出标签(更换为未感染疟疾和已感染疟疾)、替换ResNet-50 的全连接层为别的分类器,如逻辑回归、SVM 向量机等,具体做法如图4 所示。

图4 特征提取的网络结构

采用特征提取的方法,可以利用主干网络训练得到更高难度数据集ImageNet 权重参数,直接对新的疟疾图像进行特征提取,再通过选取恰当的分类器,对疟疾图像进行分类,获得较高的准确度。然而,特征提取具有局限性:主干网络上的权重参数虽然在更高难度数据集上训练得到,具有强大的特征提取能力,但是在新的数据集中,无法采用梯度下降法进行参数调整,仅能调整分类器上的权重参数,对新的数据集适应性差,限制了准确性进一步的提高。

2.2 从头训练

疟疾数据集[2]共有27 588 个图像,包含未感染疟疾和感染疟疾2 类。每个类别有13 794 个图像。该数据集的数据量充足,且每一类的图像数量均匀,可以尝试从头训练一个新的卷积神经网络,对疟疾图像进行分类。

对比于特征提取方式,从头训练能够采用梯度下降法对神经网络的权重参数进行调整,以适应疟疾数据集。在文献[5]中,Adrian 对ResNet-50 网络进行缩减后,利用疟疾数据集对网络从头训练。为了减少训练时间,Adrian 将ResNet-50 输入图像大小从224÷224像素调整为64÷64 像素,同时将Resnet-50 网络中卷积块conv1 的卷积核大小从7÷7 像素改为5÷5 像素,去除了max pool 层;为了减少网络的深度和权重参数的大小,寻找ResNet-50 网络的最佳特征层,去除了残差卷积块conx_5,将残差卷积块conv2_x、conv3_x、conv4_x 的卷积核数量缩减为原来的50%,网络层数从50 层缩减为41(1+3÷3+3÷4+3÷6+1)层,网络结构如图5 所示。在进一步提高疟疾分类的精度的情况下,模型权重大小及训练时间均优于特征提取的方式。

图5 Resnet-41 网络结构

3 改进的实验思路和方案设计

3.1 改进的实验思路

本实验遵循Adrian 的改进思路:用疟疾数据集,从头开始训练;更改输入图像的大小,以减少训练时间;直接对ResNet-50 网络的深度和宽度进行缩减,保证精度不下降的情况下,减少模型权重参数大小,改进的实验思路如图6 所示。

图6 实验思路流程

3.2 实验方案设计

实验用的图像处理器为单个1080ti,(数据集)迭代次数epoch 为150。实验的具体实现借鉴了文献[3]的实现方式:对训练集使用标准的颜色数据增强(standard color augmentation)[6];由于疟疾分类为二分类任务,其损失函数为

其中:m 为批的数量(Batch size)的大小,本设计中取64;L 为交叉熵函数;y 为真实值; ˆy 为预测值。采用文献[7]的方法进行权重初始化;采用随机梯度下降法(SGD)进行参数更新;初始学习率为0.1(每当loss 损失处于稳定、不下降时,则学习率乘以0.1),参照文献[8]的做法,未使用dropout 层[9]进行正则化。

首先,先对Adrian 的改进方案进行复现,将epoch从50 调整150,与后续实验epoch 保持一致,即训练时间约2.8 h,(在单个1080ti 的实验环境下,每一个epoch 为67 s);模型参数大小17.7 MB,训练集精度为96.7%,验证集精度为97.5%,测试集精度为96.6%(约97%)。复现的结果与Adrian 基本一致,见图7—图9。

图7 模型训练集精度96.7%验证集精度97.5%

图8 测试集精度96.6%

图9 模型参数大小17.7 MB 及训练过程(迭代次数150)

考虑到在Adrian 的Resnet-41 中,conv1 为标准卷积,主要作用是减少输入的图像大小,以便后续的残差卷积块conv2_x、conv3_x 和conv4_x 进行特征提取及分类。Adrian 将输入图像调整为64÷64 像素,卷积块conv1 的卷积核大小从7÷7 像素改为5÷5 像素,去除了pool 层,减少了卷积块conv1 的作用。经过卷积块conv1 后输出图像的大小为32÷32 像素。

基于上述的讨论可得出以下猜想:改变输入图像的大小可以缩小训练时间,而conv1 的主要作用将图像大小从64÷64 像素缩减为32÷32 像素。那么将输入图像大小改为32÷32 像素,将卷积块conv1 去除,能否保持原来精度不变,进一步缩短训练时间?

将输入图像大小改为32÷32 像素,去除卷积块conv1,其他实验条件不变,结果见图10—图12。

图10 模型训练集精度96.6%和验证集精度97.6%

图11 测试集精度96.5%

图12 模型参数大小17.6 MB 及训练过程(迭代次数150)

可见,训练集精度为96.6%,验证集精度为97.6%,测试集精度为96.5%(约97%),模型的精度基本不变,训练时间约为1.9 h(每一epoch 约46 s,epoch 为150)。同时,模型的权重参数为17.6 MB,比Adrian 的模型小了0.1 MB(删除了卷积块conv1)。

由此可得出:将模型的输入图像修改为32÷32 像素,去除ResNet-41 的卷积块conv1,变成为ResNet-40,模型的精度可保持不变,训练时间明显缩短,有利于后续的实验的进行。

在文献[1]中,Rajaraman 等证明更浅的ResNet 层更有利于疟疾分类精度的提高。在文献[10]中,Huang等证明ResNet[3-4]并不是所有的层都是必要的,存在大量的冗余参数。基于此,Adrian 不仅缩减了ResNet-50 的层数,提高了疟疾分类精度,还将ResNet-50 的宽度(每一层的卷积核数量)缩减了50%。通过对神经网络深度和宽度同时缩减,文献[1]的模型权重大小从96 MB 缩减到了17.7 MB。

在本设计中,在保证分类精度不变的情况下,仅对网络的宽度进一步地缩减,试图使模型大小变得更小。基于上述的ResNet-40,即输入图像为32÷32 像素,网络宽度缩减程度为 50%(缩减程度相对于ResNet-50[3-4]),训练时间为1.9 h(epoch 为150),分别进行6 组实验,实验结果见表2。

表2 不同宽度缩减程度Resnet-40 的精度及模型大小

从实验结果可以得出:实验精度均比文献[1]高了近1%,与Adrian 的Resnet-41 的精密相同。在保持精度不变的情况下,随着不断缩减宽度程度,模型大小也随之减少。在组别(4)中,模型的精度与模型大小达到较好平衡。实验结果见图13—图15。

图13 模型训练集精度97.6%和验证集精度97.7%

图14 测试集精度97.3%

图15 模型参数大小2.9 MB 及训练过程(迭代次数150)

在组别(7)中,模型宽度缩减程度达到近97%,模型大小仅有0.5 MB,仍具有较高的分类精度。实验结果见图16—图18。

图16 模型训练集精度96.4%和验证集精度97.4%

图17 测试集精度96.8%

图18 模型参数大小0.5 MB 及训练过程(迭代次数150)

4 结语

建立快速、高效、经济的疟疾诊断方法,已成为疟疾防治问题的迫切需要[11-12]。本文针对疟疾检测的现实需求,利用数字图像处理、模式识别、机器学习的相关理论知识,改进和设计了一种基于深度学习的疟疾检测方法。实验结果表明,在相同数据集、采用相似的卷积神经网络结构的情况,更改输入图像大小为32÷32 像素,训练仅需1.9 h,缩短了模型的训练时间;与文献[2]实验模型(96 MB)相比,在提高了1%分类精度的情况下,本设计缩小了模型权重参数大小(最小的模型仅为0.5 MB),模型的部署环境对硬件方面要求更低。本实验仅对ResNet-50 网络进行实验,未对基于ResNet 的更先进卷积分类神经网络进行测试,例如采用分组卷积的ResNeXt[13],引入通道注意力机制的 SE-Net[14],对通道进行随机打乱的ShuffleNet[15]。今后,将继续研究新的检测技术,使疟疾检测朝着更准确更省时的方向不断改进和发展。

猜你喜欢

疟疾特征提取像素
像素前线之“幻影”2000
中国荣获世界卫生组织颁发的“无疟疾”认证
能迅速杀死传播疟疾蚊子的转基因真菌
“像素”仙人掌
基于Gazebo仿真环境的ORB特征提取与比对的研究
2019 年世界疟疾日
——“零疟疾从我开始”
基于Daubechies(dbN)的飞行器音频特征提取
ÉVOLUTIONDIGAE Style de vie tactile
Bagging RCSP脑电特征提取算法
高像素不是全部