基于不同卷积神经网络模型的陈皮、广陈皮图像的智能识别研究*
2023-05-18陈志维唐珂轲易智彪许伟珊李知晓
陈志维,唐珂轲,易智彪,许伟珊,李知晓
(1.东莞广州中医药大学研究院,广东 东莞 523808;2.广州至信中药饮片有限公司,广东 广 州 510430;3.中国科学院大学,北京 100049;4.中国科学院沈阳计算技术研究所,沈阳 110168)
陈皮是临床常用的一味中药,来源于芸香科植物橘Citrus reticulata Blanco 及其栽培变种的干燥成熟果皮,具有理气健脾、燥湿化痰之功效[1]。主产于广东的来源于栽培变种的茶枝柑Citrus reticulata‘Chachi’被称为“广陈皮”,亦称新会陈皮。其他来源于温州蜜柑Citrus reticulata‘Unshiu’、大红袍Citrus reticulata‘Dahongpao’、福橘Citrus reticulata‘Tange‐rina’等均称为“陈皮”。“广陈皮”作为道地药材和称呼起源于宋元时期,明清两代宫廷御医都认可广陈皮为优质道地药材,受到众医家的青睐和推崇,并有后来的“橘皮,产粤东新会,陈久者良”、“广东新会皮为胜,陈久者良,故名陈皮”的记载[2,3],因此商品“广陈皮”的价格比一般“陈皮”的价格高出几倍。由于“陈皮”与“广陈皮”的性状外观相近,从外观性状上难以区分。2020 版《中国药典》在含量测定项下,新增通过测定“广陈皮”中川陈皮素、橘皮素的含量,以区分“陈皮”和“广陈皮”。虽然也有研究通过其他物理与化学的手段对“广陈皮”和“陈皮”进行区分[4-6],但是这些手段都需要用到检测仪器,样品需经过前处理,成本高,周期长,不利于进行现场快速鉴定。“陈皮”与“广陈皮”二者的性状外观虽然接近,但在外表皮的色泽,点状油室的相对大小,质地的软硬程度上也有一定的差别,资深的检验人员能够通过其外观、性状、气味等区分“陈皮”与“广陈皮”,因此性状鉴别是最快速、常用的检测手段。但传统的人工目检是由人主观判断,判断结果取决于判断者的主观经验,缺乏客观量化的统一标准,同时老药工的经验难以复制,存在一定的局限性。
计算机视觉技术是随着计算机技术的快速发展而延伸出来的一个新的计算机应用领域,是一门包含图像处理及分析,模式识别和人工智能等方面的交叉性学科。基于深度神经网络的计算机视觉技术已经在图像识别已经有广泛的应用,其中在中药的快速识别上也有一定的研究[7-9]。基于上述研究基础,本实验将尝试通过提取“陈皮”与“广陈皮”的表面特征图像,以经典的卷积神经网络模型为骨干模型,建立一种快速识别“陈皮”与“广陈皮”的方法,为“广陈皮”的快速识别方法提供基础,满足“广陈皮”商品流通过程中快速识别的需求。
1 卷积神经网络及骨干模型介绍
卷积神经网络(Convolutional Neural Networks,CNN)是深度学习的代表算法之一,是一种类似于人工神经网络的多层感知器,长期以来是图像识别领域的核心算法之一。CNN 可以提取图像的高层表达,获得特征数据,通过这些特征数据能够对不同种类的图片加以区分,从而起到智能识别、智能分类的作用[10]。CNN 算法发展至今,发展出多种不同的算法模型,本文主要使用VGG、Inception、ResNet 和DenseNet进行测试。
VGG[11]是牛津大学Visual Geometry Group 研究团队于2014 年在大型视觉识别挑战赛(Large Scale Visual Recognition Challenge, ILSVRC)中提出的一系列模型。VGG 采用1x1 和3x3 的卷积核以及2x2的最大池化使得层数变得更深,常用的版本包括VGG11、VGG13、VGG16、VGG19等。
卷积神经网络层数越多,意味着能够提取得到不同水平的特征越丰富,越深的网络提取的特征越抽象,越具有语义信息。主流的网络结构突破大致是网络更深(层数更多),网络更宽(神经元数更多)。但事实证明,随着网络模型层数的增加,深层网络训练模型的训练效果不一定变得更好。参数太多,在训练数据集有限情况下,更容易导致过拟合。网络越大,计算复杂度越大,对硬件的要求也越高。另一方面,网络越深,梯度越往后穿越容易消失(梯度弥散),更难以优化模型。
Inception[12]是Google 在2014 年在GoogLeNet 中提出的,是一种通过增加网络的宽度来堆叠参数的一种模型,是ILSVRC 2014 的冠军模型。Inception的主要特征就是将常用的卷积核:1x1、3x3、5x5 和池化操作堆叠在一起,让模型自主选择合适的感受野,从而增加网络的宽度和参数量。
残差网络(Residual neural network,ResNet)[13]是2015年Kaiming He提出的网络模型。该模型解决了一般网络模型增加卷积层数,造成误差率上升的现象。ResNet 通过建立前面层与后面层之间的“短路连接”(shortcuts,skip connection),这有助于训练过程中梯度的反向传播,从而能训练出更深的CNN 网络。
密集连接网络(Densely connected convolutional network, DenseNet)[14]的基本思路与ResNet 一致,不同的是DenseNet是以前馈的方式将各分层链接到每一层,形成密集连接(dense connection)。这种设计可以缓解梯度消失问题,提高模型精度,并大幅减少参数量。如此设计使得网络训练更加容易,每一层都可以利用原始的输入信息和损失函数的梯度,这也更加有利于训练更深的网络。并且其稠密链接的正则化作用在少量的训练集中可以有效降低过拟合。在DenseNet 出现之前,CNN 的进化一般通过层数的加深(ResNet)或者加宽(Inception)的方式进行,而DenseNet则通过对特征的复用提出了一种新的结构,不但减缓了梯度消失的现象参数量也更少,也因此获得CVPR 2017的最佳论文奖。
2 材料与方法
2.1 实验材料 选择陈皮(CP)5 各批次,广陈皮(GCP)样品7 各批次,共12 个批次,各批次样品由广东省药品检验所提供,具体来源见表1。
表1 陈皮样品一览表
2.2 实验设备及软件 图像采集设备:蔡司Discovery V20 体视显微镜;硬件配置:Intel 16 core CPU,64G RAM,RTX2080TI * 6;软件配置:UBUNTU 14.04.1LTS,Python 3.8.6,CUDA 11.2,Nvidia-smi 460.80,cuDNN 7.0,Tensorflow 2.0。
2.3 方法
2.3.1 图像采集 将样本展平后放置于观察台上,设置放大倍数为8.3 倍,调节合适亮度,采集样本外表面图像,图片保存为JPEG 格式,分辨率为2752*2208,同一批次样品采样量不少于100张图片。保证了饮片图像的准确性的同时保证图片数量。部分图像如图1所示。
图1 陈皮(CP)及广陈皮(GCP)采集图样集
2.3.2 数据扩增 卷积神经网络模型需要拟合上百万个参数,模型训练通常需要上百万张图像样本的大规模数据集。然而在应用研究中难以获取如此大数量级的图像数据,新构建并训练一个模型在实践中难以实现。本文采用样本生成方法进行数据扩增,包括:样本图片调整为224*224 像素,旋转范围40度,横向平移范围20%,纵向平移范围20%,归一化,放大与缩小范围20%以及水平翻转。数据扩增方式如图2所示。
图2 图像数据扩增方式示意图
2.3.3 数据集分类 将采集得到的数据根据广陈皮、陈皮进行划分,各组数据集再分为训练集(Train)-直接用于模型训练的数据集;验证集(Validation)-不参与模型训练,用于模型效果验证的数据集;测试集(Test)-用于评价模型泛化与外推能力的数据集。从广陈皮类别样本抽出其中一个品种的所有样本作为测试集,剩余样本按4∶1划分为训练集与验证集。
2.3.4 模 型 选 择 采 用 VGG19、Inception-V3、Resnet101、Densenet121 等经典骨干模型进行训练测试。为增加收敛速度,采用Imagenet 预训练权重作为预训练模型,调整相关参数,提高训练准确率和效率。统一在骨干网络底部将多维向量一维化,接驳基于ReLU激活函数的多层全连接层与Dropout层提高抗过拟合的能力,最后使用分类器进行输出。
3 实验过程与结果
3.1 网络筛选 每个网络训练的学习率设定为0.0001,使用指数衰减学习率。选择二值交叉熵/对数损失作为目标函数。在网络筛选阶段,对每个网络进行100 轮的训练探索。可以发现在训练的前10轮中,Resnet101 与InceptionV3 的损 失函 数(loss function,loss 表示预测值与目标值的差距)得到快速下降,网络对数据具有较好的适应性,随着训练次数的继续增加,识别准确度缓慢的增长,损失函数逐渐降低并最后收敛。但VGG19 与DenseNet121 可能存在一定的过拟合情况,损失函数在第一轮训练后就处于平稳,结果见图3。
图3 网络筛选输出结果
3.2 交叉验证 根据网络筛选的情况,选择Incep‐tionV3 与Resnet101 作为进一步验证的网络模型。同时,对网络训练相关参数进行微调,采用验证集数据进行五折交叉验证(Cross Validation),并最终采用测试集进行最终优选模型的判定。交叉验证,也称作循环估计(Rotation Estimation),是一种统计学上将数据样本切割成较小子集的实用方法。在实际的训练中,由于初始条件敏感,训练的结果对于训练集的拟合程度通常较高,而对于训练集之外的数据的拟合度通常较差。此时引入验证集数据,对训练集生成的参数进行测试,相对客观的判断这些参数对训练集之外的数据的符合程度,这种方法就称为交叉验证。根据交叉验证和测试集识别的结果显示,采用Resnet101 骨干网络的准确率均高于采用Incep‐tionV3 的准确率,最终选择Resnet101 骨干网络模型作为最终方案。
表2 InceptionV3与Resnet101比较结果
4 讨论
本研究通过获取陈皮及广陈皮的外观特征图像,利用卷积神经网络深度学习的计算机视觉技术,通过比较VGG、Inception、Resnet、Densenet 等经典骨干模型的识别效率及准确率,最终选择了Resnet 作为骨干模型,建立了一种无损快速识别陈皮及广陈皮的方法,识别准确率达到94%。通过该研究成果,在现实鉴别场景中只需将待鉴别饮片图像传入计算机软件中,就能达到快速识别的效果。结合智能手机及网络,可作为一种日常的陈皮及广陈皮快速识别方法。与常用人工特征提取方法,卷积神经网络可有效提取图像高级特征,能较为准确区分出陈皮与广陈皮。但由于本研究数据样本量偏少,其识别准确率仍有提升空间,且需要在特定的采样条件及采样要求下采集图片才能得到准确的识别效果。后续研究将可以通过增加图像样本数,增加背景干扰等方式,提高识别准确率,保证在不同场景下及样本条件下的分类识别的准确率。