基于MobileNetV3-large 模型的葡萄品种识别
2023-07-06梁长梅刘正乾李艳文
梁长梅,刘正乾,李艳文,杨 华
(山西农业大学 信息科学与工程学院,山西 太谷 030801)
葡萄是深受国人喜爱的四大水果之一,不仅富含葡萄糖、有机酸、矿质元素等营养物质[1],而且富含花色苷、酚酸、黄烷醇、黄酮、白藜芦醇等多酚类物质[2],具有明显的抗氧化功能。目前,国内葡萄品种繁多,不乏承载悠久历史的地方品种,如龙眼、莎巴珍珠等,更有育成、引进的品种,如阳光玫瑰、早黑宝等。为了更好地利用众多葡萄品种,对其加以识别、分类已成为葡萄种质资源研究和品种保护的基础[3]。然而,长期以来葡萄品种识别由专业人士基于丰富的实践经验进行,耗时、费力且易受视觉疲劳和直觉等主观因素的影响[4];对于非专业人士,由于缺乏专业知识和训练,再加上葡萄品种繁多,品种识别工作难以进行。因而,建立一种快速、省力、有效、易推广的葡萄品种识别方法,开展优良品种的识别和甄选对于品种分类、种质资源保护与利用、亲缘关系和进化规律分析、抗性育种、新品种快速鉴定、原产地质量标识、良种推广等具有重要意义。
近年来,随着计算机硬件成本下降、运算速度大幅提升以及数码相机的普及和数字图像处理、模式识别、机器学习等技术的飞速发展,图像识别技术已逐渐应用于作物营养诊断、品种识别、病虫害监测、杂草识别等方面[5],提高了作物产量和品质,推动了品种信息化、精细农业、数字农业的发展。由于植物叶片纹理、颜色、形态因品种不同而存在明显差异,富含较为明显的品种鉴定表象特征[6]。而且叶片采集方便、采集时间较长,因而许多研究者基于叶片对玉米[7-8]、大豆[9]、苹果[10]、枣树[11]、茶树[12-13]、草地早熟禾[14]、苎麻[15]等开展了品种识别研究。对于葡萄而言,张诚[16]利用葡萄叶形结构、叶面积对21 个酿酒葡萄品种进行识别;林丰艳[17]通过提取图像纹理特征,采用植物叶片图像结合多分辨率分析进行识别研究,其识别正确率达90.97%;宋真等[18]以葡萄叶片为对象,提取包括叶周长、叶面积等11 维特征向量开展了葡萄品种识别研究;张航[19]使用PCA 对提取到的葡萄叶片的表征进行降维,随后将得到的特征参数进行分类识别,最后分类器的识别率达到79.90%;孙宏杰[4]开发了基于DCNN(Dynamic Convolutional Neural Network)算法的葡萄品种识别,准确率可达88.33%;马媛等[20]通过提取葡萄叶片图像的方向梯度直方图(HOG)作为试验的分类特征,通过分类器对葡萄品种进行识别分类,最后得到图像的识别结果能够达到95.5%;杜璇[6]构建了基于支持向量机和VGG-NET 葡萄品种识别,识别率可达90.33%;章林忠等[21]利用判别分析(DA)模型,识别精度可达92.11%。
深度神经网络在经过大量数据集训练的基础上,能够自动学习、获取目标的差异,完成图像的识别分类,其识别效果甚至超过了人类的识别能力[22],而被大量应用于品种识别中。但由于算法参数量大、运行时间长、存储量大等,极大地受到了硬件条件的限制,无法在轻便型设备上运行[23]。因而,压缩模型存储量、提高计算速度,从而使其能够应用在移动端和嵌入端设备,成为计算机自动品种识别的关键技术。
本研究以2019年公布的新一代轻量型深度卷积神经网络MobileNetV3-large[24]为模型,将迁移学习与神经网络结合,针对自然环境下葡萄品种识别准确率低、模型训练时间长等问题,解决常规深度神经网络无法嵌入实际生产环境中的问题,旨在构建一种满足移动端和嵌入式端应用需求的葡萄品种识别模型。
1 材料和方法
1.1 试验环境
本研究数据集的训练和测试均基于深度学习框架PaddleX 完成,编程语言为Python 3.6。硬件环境采用Intel(R) Core(TM)i5-10210U CPU@1.60 GHz 2.11 GHz,内存16 GB,GPU 采用NVIDIA GeForce MX350 显卡,8 GB 显存,Windows 10 操作系统。
1.2 葡萄叶片数据集建立
葡萄叶片数据增强示意图(早黑宝)如图1所示。
图1 葡萄叶片数据增强示意(早黑宝)Fig.1 Sketch map of grape leaf data augmentation(Zaoheibao)
葡萄叶片数据集包含夏黑、早黑宝、阳光玫瑰、无核早红和红地球5 个葡萄品种的叶片图像,均自野外自然环境下采用华为Mate 4.0 手机拍摄采集,共170 幅原始图像。数据集按照7∶3 的比例分为训练集和测试集。在训练时,将图像分辨率调整到224×224 像素。因数据集样本较少,为了提高网络模型的识别性能,首先在验证完迁移学习对模型训练结果的影响后,将大型数据集ImageNet 作为数据预训练的源域,然后再对各个种类的叶片图像进行随机旋转和翻转,对图像进行亮度调整、增强对比度等操作以增强数据的多样性,达到扩充数据集样本的目的(经过数据增强后原始图像从170 幅增加到510 幅)。
1.3 模型结构
MobileNetV3-large 结合了MobileNetV1-large的深度可分离卷积(depthwise separable convolutions)和MobileNetV2-large 的线性瓶颈的逆残差结构(Inverted residual with linear bottleneck),同时采用了h-swish激活函数。具体网络结构如表1所示。其中,第1 列Input 表示mobilenetV3-large 每个特征层的shape 变化;第2 列Operator 代表每次特征层即将经历的block 结构;第3、4 列分别代表bneck 内逆残差结构上升后的通道数和输入到bneck 时特征层的通道数;第5 列SE 代表是否在这一层引入注意力机制(用√表示是,用-表示否);第6 列NL 代表激活函数的种类,HS 代表h-swish,RE 代表RELU;第7 列s 代表了每一次block 结构所用的步长。
表1 MobileNetV3-large 网络结构Tab.1 Network structure of MobileNetV3-large
2 结果与分析
2.1 迁移学习对模型训练效果的影响
为了验证迁移学习对训练效果的影响,通过MobileNetV3-large 网络模型分别使数据集在基于ImageNet 预训练集权重参数的基础上进行训练与数据集直接在网络模型上进行训练作对比分析。由图2 可知,数据在网络迁移学习训练前存在明显、大幅度的波动,导致训练曲线难以进行收敛;在网络迁移学习训练后的数据在波动后逐渐趋于收敛。进一步由图3 迁移学习前后混淆矩阵可知,迁移学习前,品种识别的正确率较低,如无核早红品种正确识别的可能性仅为57.14%;迁移学习后,识别正确率明显提高,如无核早红品种正确识别的可能性达100%。说明普通学习准确率较低且不稳定,迁移学习能够明显提高网络的训练准确率,且极大地提高网络训练速度、缩短训练时间、提升训练效果。
图2 网络迁移学习训练前(左)后(右)训练曲线Fig.2 Training curve before(left) and after(right)network transfer learning training
图3 网络迁移学习前(左)后(右)混淆矩阵Fig.3 Confusion matrix before(left) and after(right) network transfer learning
2.2 不同学习率下网络训练效果分析
为了明确学习率对网络训练效果的影响,分别将学习率设置为0.010(图4-A)、0.005(图4-B)、0.001(图4-C)进行MobileNetV3-large 网络训练,不同学习率下网络训练曲线图趋势相同,均表现为曲线逐渐收敛;但是不同学习率下,数据波动不同。
图4 不同学习率下MobileNetV3-large 网络训练效果Fig.4 Effect of MobileNetV3-large network training under different learning rates
不同学习率下MobileNetV3-large 网络模型训练精准率、召回率、F1-score、曲线下面积(Area Under the Curve,AUC)如表2 所示,不同学习率下,MobileNetV3-large 训练结果的准确率、召回率、F1-score、AUC 互不相同。同一品种,随着学习率降低,MobileNetV3-large 训练准确率逐步增加,AUC 则逐渐降低,召回率和F1-score 则表现为先增加后降低。此外,5 个葡萄品种中,红地球葡萄准确率、召回率、F1-score、AUC 在不同学习率下均高于或与其他品种相同,特别是在学习率为0.01 时,表现更为明显,可能由红地球葡萄叶片特征更明显所致。
表2 不同学习率下MobileNetV3-large 模型的训练数据Tab.2 Training data of MobileNetV3-large model under different learning rates
不同学习率下,MobileNetv3-large 模型损失值和准确率如表3 所示,当学习率为0.005 时,损失率最低,仅为0.0462,训练集Top-1 准确率最高,为0.9056。可见,当学习率为0.005 时,MobileNetV3-large 模型网络训练损失值最小,训练集和测试集准确率差距最小,训练中发生的拟合效果最好。
表3 不同学习率下MobileNetv3-large 模型训练集和测试集的损失值和准确率Tab.3 Loss and accuracy of training set and verification set of MobileNetv3-large model under different learning rates
2.3 不同神经网络图像识别效果分析
将训练时迭代轮数(epochs)设置为60 轮,批处理大小(Batch size)设置为10,学习率设置为0.005,MobileNetv1-large 、MobileNetv2-large 和Mobile Netv3-large 网络模型在基于预训练模型ImageNet数据集的迁移学习中的准确率曲线图如图5 所示,MobileNetV1-large 曲线在训练达到第41 轮时开始收敛,MobileNetV2-large 曲线在训练达到第31 轮时开始收敛,而MobileNetV3-large 曲线在训练达到第27 轮时就开始收敛。表明MobileNetV3-large神经网络能更迅速地达到收敛。
图5 不同MobileNet-large 网络迁移学习中准确率曲线Fig.5 Accuracy curve of transfer learning of different MobileNet-large networks
就不同神经网络迁移学习的训练数据准确率、召回率等(表4)而言,MobileNet-large 的3 种网络模型表现各不相同,且因品种不同而不同。就准确率而言,MobileNetV3-large 网络模型准确率最高,达0.9750,而MobileNetV2-large 网络模型准确率最低,仅为0.8631,MobileNetV1-large 网络准确率居中,为0.9333。就召回率而言,MobileNetV3-large召回率为0.9765,MobileNetV2-large 召回率为0.8543,MobileNetV1-large 召回率为0.9129,也表现为MobileNetV2-large 最低。同时,需要指出的是,准确率和召回率也因品种不同而表现不同。如MobileNetV1-large 网络模型下,无核早红的精准率低于其他品种,召回率则表现为夏黑最低。表明训练数据的准确率、召回率等不仅受到神经网络的影响,而且与品种密切相关。
表4 MobileNet-large 系列模型的训练数据Tab.4 Training data of MobileNet-large series models
此外,就损失率和Top-1 而言,3 种MobileNetlarge 系列模型表现也不尽相同(表5)。从表5 可以看出,MobileNetV3-large 模型训练集损失值仅为0.0462,远低于其他2 种模型,而其Top-1 准确率均高达1.0000;对于测试集,MobileNetV3-large 模型表现最佳,其准确率高于其他2 种模型。
表5 MobileNet-large 模型训练集和测试集的损失值及Top1 的准确率Tab.5 Loss and accuracy of Top1 of training set and test set of MobileNet-large models
总体而言,MobileNetV3-large 神经网络模型在训练中第27 轮开始收敛,且在训练结果相差不大的情况下,其损失率最小,Top-1 准确率最高,因而更加稳定、准确率更高,是适宜的葡萄品种识别网络模型。
3 结论与讨论
目前,图像识别技术已广泛应用于作物营养诊断、品种识别、杂草识别等领域,其中基于植物叶片特征开展了品种识别技术研究已广泛应用于玉米、大豆、苹果、枣、茶、葡萄等品种识别中[7-15]。张诚等[16]利用葡萄叶形对21 个鲜食和酿酒葡萄品种进行了识别,不仅证实了葡萄品种间存在叶形参数的差异,而且获得了3 个线性回归模型,成功地基于叶面积预测葡萄品种。张航等[19]利用葡萄叶片特征,基于Matlab 2009a 环境设计了葡萄品种分类识别系统,平均识别率达79.90%。宋真等[18]以葡萄成熟叶片不变矩、面积、周长、主叶脉长度和叶柄长度等11 维特征向量为基础数据,运用形态分类方法和改进的欧式距离等技术开发一个基于葡萄叶片数字图像的葡萄品种自动识别软件,识别率高达87%。遗憾的是,由于葡萄品种间叶片形态差异较小,因而基于叶片形态结构参数构建向量特征,提取叶片的分形维数和形态结构等低维特征进行识别,虽然具有极强的针对性,但是由于低维特征对叶片信息的表达能力有限,因而识别准确率有待于提高。
葡萄叶片图像质量直接影响葡萄品种识别准确度,孙宏杰[4]利用扫描仪获得葡萄叶片高质量图像,开发了基于DCNN 算法的葡萄叶片品种识别,识别率达88.33%;本研究使用手机拍摄的自然田间环境下葡萄叶片图像,虽然存在明显的背景干扰(如叶片重叠干扰等),但操作简便、节时,不受环境和拍摄硬件限制,有利于该技术的大面积推广应用。
此外,特征提取作为分类识别的关键环节,对品种识别准确度具有决定性作用。目前,葡萄叶片特征主要包括基于人工设计特征和深度学习特征2 类[4]。马媛等[20]通过提取葡萄叶片图像的方向梯度直方图特征投入到支持向量机分类器中实现了葡萄叶片的自动识别,利用自然条件下成像的叶片图像实现检出率达80%以上。杜璇[6]利用卷积神经网络进行特征提取结合流形学习算法,其葡萄叶片的品种识别率高达90.33%。鉴于叶片的分形指数和形状结构等低维特征对于叶片信息表达能力有限,而且葡萄品种叶片间低维特征差异较小,本研究通过比较不同MobileNet-large 模型对葡萄品种识别的效果发现,MobileNetV3-large 网络模型使用深度可分离卷积,SE 结构并将expansion layer的channel 减为原来的1/4,将模型末尾的1×1 的卷积层移到了全局平均池化层后面,用h-swish 替换原有的swish,在保证识别准确率的同时,追求模型的轻量化[24]。结果表明,利用新一代轻量级深度卷积神经网络MobileNetV3-large,其Top-1 准确率高达90.56%。
总之,本研究以5 个鲜食葡萄品种为对象,针对自然环境下葡萄叶片品种识别准确率低、模型训练时间长等问题,以新一代轻量型深度卷积神经网络MobileNetV3-large 为模型,将迁移学习与神经网络结合,提取其深度学习特征,构建了基于MobileNetV3-large 网络模型的葡萄品种识别技术,不仅实现了品种高精度识别(平均准确率为97.50%,平均召回率为97.65%),而且能够满足移动端和嵌入式端应用需求。但是,迁移学习会产生模型的灾难性遗忘,识别时需对每个葡萄品种建立分类模型,为实现葡萄品种识别的通用性,后期将借鉴元学习的思想,使模型学会学习。再结合5G与云计算,实现前端实时图像与云端系统精准识别,使其能够应用在智能手机移动端和嵌入端,将迁移学习技术应用于农业工程实际。