基于改进型AlexNet的中药材图像识别
2023-09-06李万虎吴丽丽
李万虎 吴丽丽
关键词:卷积神经网络;AlexNet;中药材;图像识别
中图分类号:TP391 文献标志码:A
0 引言(Introduction)
我国是中药材的发源地,药材资源丰富,并且95%以上的中药材为植物药材。中药历经数千年发展,展现了它强大的生命力和我国医药特色优势。新型冠状病毒感染暴发以来,中医药一直在抗击感染中发挥了重要作用,一些中医药疗法在病例的救治和康复中起到良好效果。因此,我们要坚定不移地推动中医药的发展。
目前,传统图像处理和卷积神经网络均可用于中药材识别。孙鑫等[1]通过构建白薇等50种常见中药饮片图像数据库,运用Softmax损失训练网络模型,平均识别精度达到70%。屈凌波等[2]利用人工神经网络对中药进行模式识别,预测率最高能达到93.7%。刘勍等[3]介绍了图像处理技术对中药材的检验过程,然后对中药材图像鉴定与识别技术面临的问题及发展前景做了探讨与展望。徐飞等[4]通过正交试验优化卷积神经网络,其图像识别准确率为90.9%。刘加峰等[5]建立的中药饮片图像检测识别系统,平均识别率高于80%,但只能识别三种中药饮片。
分析以上研究可知,在对中药材识别分类研究上,上述方法在特定的中药鉴定场景中取得了较好的效果,但对细节特征的关注度不高,鉴别准确度仍然不足。同时,网络模型设计复杂,难以迁移,其鉴定结果不可量化,与实际应用存在差距。本文提出的基于改进型AlexNet的中药材图像识别模型可以解决以上问题。
1 材料与方法(Materials and methods)
1.1 数据集
本研究以百部(Radix stemonae)、白芍(Paeonia lactiflorapalls)、枸杞(Wolfberry)、黄精(Rhizoma polygonati)、姜黄(Turmeric)、蒲黄(Cattail pollen)、蛇床子(Fructus cnidii)、益母草(Motherwort)、郁金(Curcuma turmeric)、枳壳片(Aurantiumaurantium)共10种中药材为对象,数据集通过Python爬虫算法爬取百度图片里的相关关键字,每一类选取500张,共5 000张构成数据集,按照占图像总数量的80%、10%、10%的比例划分出训练集4 000张、验证集500张、测试集500张,将该数据集命名为CMM,如图1所示[6]。
1.2 数据增强
由于数据量较小,为了避免训练过拟合,因此需要对原始数据进行增强处理。本研究使用Keras(由Python编写的开源人工神经网络库)中的ImageDataGenerator函数对图片进行随机缩放、随机剪切、水平翻转,对数据进行扩增,再经过数据筛选和数据分布均衡调整,最终构成每类1 000张,共10 000张图片的新数据集,增强后的数据集命名为CMM1,按照各占图像总数量的比例进行划分,训练集占比为80%,即8 000张,验证集占比为10%,即1 000张,测试集占比为10%,即1 000张,如表1所示。
1.3 AlexNet模型
目前,有多种网络模型可用于图像分类,例如AlexNet卷积神经网络、VGGNet卷积神经网络、ResNet残差卷积神经网络等。查阅相关文献,分析评估参数量、可用性、计算资源需求量、易用性等因素,最终将AlexNet网络模型作为本研究的基础模型,其模型结构如图2所示。
1.5 AlexNet网络的改进设计
为了构建准确率高和收敛快的网络模型,本文提出了改进型AlexNet的中药材图像识别的网络模型,具体的改进设计介绍如下。
1.5.1 加入岭回归分析
我国的中药材中有95%以上是植物药材,它们的图像特征等信息有很多的相似之处,如果使用传统模型训练,就会出现过拟合现象,导致识别准确率较低。为了解决该问题,本文研究引入岭回归分析,它可以在一定程度上弱化过拟合问题,对多重共性信息的数据具有较好的分析能力。
1.5.2 改进AlexNet模型
通过文献[11]发现,原AlexNet网络模型提取特征能力最强的是第三层和第四层,为了提高分类的精确度,对模型的改进和优化重点集中在这两层。经过多次实验发现,可以在第三层之后插入一层,即新的第三层(如图3所示),新的第三层与原来的第三层结构一致,由于增加了卷积操作,因此可以过滤更多的有效特征,因此特征提取能够更精确。新的第三层卷积核的大小为3*3,数量为192×2=384个,步长为1,使用ReLU激活函数。输入特征图像先扩展一个像素,大小为15×15;输出特征图像大小为(15-3)/1+1=13,即13×13×384。
1.5.3 引入迁移学習
为了进一步加快训练速度,使模型更快收敛,同时为了提高模型识别的精确度,本研究在模型训练时,引入迁移学习的训练方法。迁移学习可以使用其他大批量数据训练所得模型用于训练新数据,由于大部分数据和任务间存在相关性,因此可以减少训练步骤,缩短训练时间,并增加数据量,达到降低过拟合程度的目的。
2 结果验证(Result verification)
2.1 实验平台
本研究基于PyTorch平台搭建,PyTorch主要用于自然语言处理,它是一个基于Torch的Python开源机器学习库,不但能够实现GPU加速,而且能支持动态神经网络。实验所用的软硬件环境如下:Windows 10操作系统,AMD i5-10210u,16GB内存,Python 3.8,JetBrains PyCharm 2018.3.7 x64,GPU 租用AutoDL AI算力云,配置的CPU为14 核2.00 GHz,Intel(R)Xeon(R)Gold 6330,内存为30 GB。
2.2 实验验证
本文将每个类别800张,共10个类别,总数量为8 000张中药材图像输入改进后的AlexNet网络模型中进行训练,如图4所示,横坐标迭代次数代表权重更新的次数,左侧纵坐标为训练过程中真实值与预测值之间产生的损失值,右侧纵坐标为Top1值。模型训练输入的batch_size 为128,圆圈曲线代表Top1值,倒三角曲线代表损失值。损失值向0.0趋近,Top1 值向1.0趋近。在训练过程中,就总体趋势而言,随着Top1值的不断增大,损失值不断减小,在部分阶段虽然有反弹的趋势,但是随着训练迭代次数的增加,模型最终克服了局部最优的局面,向全局最优的趋势发展。损失值和Top1值最终变得平缓并趋于稳定。
3 网络模型对比实验(Comparison experimenton network models)
为了验证改进型AlexNet网络模型性能的优越性,采用损失值图[如图5(a)所示]和Top1值图[如图5(b)所示]与AlexNet原网络模型和ResNet50网络模型进行对比。图5(a)中圆圈代表改进后的AlexNet,黑色填充正方形代表AlexNet原网络模型,菱形代表ResNet50网络模型,三个网络模型都采用相同的训练参数。从图5可以清晰地看出,本实验提出的改进型AlexNet网络的平均识别准确率优于原AlexNet网络模型和ResNet50网络模型,这证明了改进型AlexNet网络模型具有一定的优越性。
为了进一步评估改进后的AlexNet网络模型、AlexNet原网络模型和ResNet50网络模型三个网络模型的表现,又选取准确率指标对三个网络模型进行评优。如图6所示,正方形代表改進后的AlexNet,三角形代表AlexNet原网络模型,圆圈代表ResNet50网络模型,选取测试数据集中10%的图片作为实验评估时选用的数据集,划分数据集时先打乱数据集后再划分,从而确保实验的说服力。在验证时共设置100个迭代轮数,每经历5个轮数开启一次验证。由图6可以看出,改进型AlexNet网络模型应用于中药材图像识别较AlexNet原网络模型和ResNet50网络模型更具优势。
完成模型评估后,开始对训练好的模型进行测试,测试集是数据集总数的10%,测试结果以十行十列混淆矩阵的形式展现,如图7所示,横坐标为每一类中药材预测的分类百分比,纵坐标为真实分类百分比。横坐标百分比相加结果应为1,代表对每一类中药材图像正确预测与错误预测之和。图7中横纵坐标重合处对角线代表分类正确的结果,颜色越深,表示分类准确率越高。
为了进一步验证训练模型的有效性与准确性,除使用混淆矩阵,还引入Precision(精度)、Recall(召回率)、F1 Score(平衡F分数)三个指标评价模型,结果见表2。
4 结论(Conclusion)
本研究以百部等10种中药材为研究对象,构建了10种中药材数据集,通过改进AlexNet原网络模型,得到了一种用于百部、白芍、枸杞、黄精、姜黄、蒲黄、蛇床子、益母草、郁金和枳壳片等中药材图像识别的卷积神经网络模型,图像识别准确率为95.4%,同时解决了模型难以迁移和鉴定结果不可量化的问题。下一步,计划继续提高AlexNet网络模型的训练速度和识别精度,主要从两个方面入手,一是增加本研究构建的AlexNet网络模型的中药材识别品种,二是继续探索增加新的卷积层数,并优化卷积层与池化层之间的连接。
作者简介:
李万虎(1990-),男,硕士生。研究领域:图像识别,人工智能与数据挖掘。
吴丽丽(1979-),女,博士,副教授。研究领域:图像识别,人工智能与数据挖掘。本文通信作者。