融合枣果与叶片信息的枣品种识别方法研究

2022-04-26 07:40:46苑迎春刘天真
河北农业大学学报 2022年2期
关键词:枣果准确率叶片

孟 惜,苑迎春,刘 博,刘天真,2,幺 炜

(1.河北农业大学 信息科学与技术学院,河北 保定 071001;2.保定学院 信息工程学院,河北 保定 071001)

枣原产于中国,栽培历史悠久,据记载约有944 个品种分布在全国26 个省、市、自治区[1-2]。枣品种众多,一些品种的枣果外形差异细微,易于混淆。枣专家可以依赖自身的专业知识和丰富的经验准确辨别品种,但需要耗费大量的时间和精力。对于不深入了解枣的一些收购商、经销商或消费者来说,识别不同的枣品种具有极大难度。因此,研究1 种智能、快速和准确的枣品种识别方法具有重要的现实意义。

目前,多种无损检测技术在果品种类识别中得到了广泛应用,如光谱技术、图像处理技术、介电特性检测技术。樊阳阳等[3]对4 种干制红枣进行鉴别,分别以光谱特征、纹理特征、光谱和纹理融合特征作为输入,建立判别模型,结果显示基于融合特征的反向传播神经网络(Back-Propagation Neural Network,BPNN)模型识别准确率为100%。Yang 等[4]对4 个不同杏品种的形状特征进行分析,比较了13 个形状参数的差异和相关性,建立6 种识别模型,表明支持向量机识别效果最好,达到90.7%。沈静波等[5]通过分析3 种枣果的介电频谱,运用主成分分析(Principal Component Analysis, PCA)提取频谱的有效信息并结合支持向量机分类模型进行枣果品种鉴别,识别率达100%。此外,还有学者在油桃[6]、草莓[7]、荔枝[8]、苹果[9]、哈密瓜[10]等水果品种分类方面做了大量的研究。尽管这些检测技术在果品识别方面已获得一定的成果,但是具有一定的局限性,比如光谱技术、介电特性检测技术受到实验仪器昂贵、数据处理困难等限制,图像处理方法易受水果大小及检测方位等因素影响,因此这些方法不易于市场推广。

近年来,随着深度学习技术的不断发展,图像分类、目标检测等领域取得了重大突破[11-15],卷积神经网络(Convolutional Neural Networks, CNN)具有自动学习图像特征的优势[16],被广泛应用到农产品品种识别领域。Ponce 等[17]利用6 种不同的CNN 框架对7 类橄榄果品种进行分类,表明Inception-ResnetV2 框架识别效果最优,达到95.91%。Nasiri 等[18]通过设计CNN 模型对4 类椰枣进行识别,准确率达到96.98%。Rodriguez 等[19]对4 类李子图像进行分割后,利用AlexNet 卷积网络方法构建识别系统,识别率达到91%。

现有研究成果中水果品种识别数量局限在10 种之内,且识别方案仅适用于实验室环境,自然环境下识别多类枣果品种的研究鲜有报道。本文以20 个枣品种为研究对象,采集自然环境下拍摄的枣果、叶片图像,利用深度学习技术,设计并实现了1 种三分支卷积神经网络模型,融合枣果以及叶片形状、纹理特征,实现枣品种的自动分类。

1 材料

1.1 枣果、叶图像采集

图像数据来自河北省沧县国家枣树良种基地,在自然环境下,采集了20 个品种的枣果、叶片图像,采集时间为枣果成熟期,分别在晴天、阴天、顺光、逆光环境下采样。采样时不考虑遮挡、重叠情况,拍摄单个或多个分离的枣果和叶片。枣叶选取枣树一次枝或二次枝中间发育较好、形状完整的叶片进行近距离拍摄。采集设备为安卓手机和尼康D7500单反数码相机,设置相机为自动模式。经过枣专家判断与确认,选出1 794 幅枣果图像和1 028 幅叶片图像,形成了枣果、叶片图像库。枣果、叶片样例图像如图1 所示。

图1 枣果、叶图像Fig.1 Jujube and leaf images

1.2 图像预处理

为了规范图像数据集中样本的大小,保证图像经过卷积神经网络产生的维度相同,将所有图像进行归一化处理,调整为224×224 像素。本文根据目标图像尺寸与原始图像之比的最小值做等比缩放,缩放到合适尺寸后,再用opencv 中的copyMakeBorder 函数对剩余像素进行填充,从而保持图片宽高比与原始图像一致,如图2 所示。为了清晰显示枣叶片纹理特征,将叶片图像放大后随机裁剪成224×224 像素的小块,得到5 140 幅叶片纹理图像,如图3 所示。样本数量如表1 所示。

表1 枣果、叶片图像数量Table 1 Numbers of jujube fruit and leaf images

图2 图像预处理Fig2. Image preprocessing

图3 叶片图像及其纹理图像Fig.3 Leaf and texture image

1.3 图像分析

由图4 可以看出,早熟躺枣和月芽枣外形相似而叶片不同,圆铃小枣和圆铃枣叶片形状相似而纹理不同,这导致仅利用单个枣果图像或单叶片图像进行枣品种识别是具有挑战性的。由此,本研究设计的枣品种识别模型以枣果图像和对应的叶片及其纹理图像作为输入,利用多特征融合方法实现枣品种分类。

图4 原始图像样本Fig.4 Original image samples

2 特征融合

特征融合指将特征xa和xb利用融合函数f进行融合,输出特征y,见公式(1):

其中,a,b表示特征标号,H、W、D表示特征图长、宽、通道数。

现有的特征融合方法包括加法融合、最大值融合、拼接融合、卷积融合等。本文采用的是加法融合和拼接融合。加法融合函数如公式(2)所示,表示特征图对应位置的值相加,要求融合的特征大小完全相同。拼接融合函数如公式(3)所示,表示在通道维度上,将特征图进行串联,从而得到的特征图通道维数为融合特征的通道数相加,要求特征图长宽相同,通道数可不同。

其中,i,j,k分别表示特征图长、宽和通道维数的索引。

3 枣品种识别模型

研究表明,图像经过卷积神经网络得到的特征包括浅层特征和深层特征,浅层特征反映图像的边缘信息,深层特征反映图像的语义信息,这2 种特征是图像分类必不可少的成分[20]。此外,网络深度对性能也有一定影响。为了避免增加神经网络深度导致模型性能退化等问题,何凯明提出1 种残差网络(Residual Network)结构[21],使模型具有更好的性能,且在2015 年的ILSVRC 比赛中取得了第1 名。为了能够更好地完成枣品种分类任务,本研究以Resnet-18 网络模型为基础,融合枣果和叶片信息,进行枣品种自动识别。

3.1 基础网络结构

ResNet 是深度卷积神经网络的1 个模型,相对于之前的AlexNet[22]、VGGNet[23]、Inception[24]等经典网络,其突出特点是在网络中加入恒等映射关系的残差单元,解决了机械式增加模型深度造成的梯度消失、极易过拟合等问题,从而更好地运用到实际中[25]。残差模块如图5 所示,对比简单的单输入单输出结构,不同的是输出结果等于输入X和其经过卷积后的输出F(X)相加,这不但没有给模型增加参数和计算量,而且还加快了模型收敛速度,提升训练效果。

图5 残差模块Fig.5 Residual Network

本研究以18 层的Resnet 为基础来构建模型,其网络结构如图6 所示,Resnet-18 网络由1 个7×7×64 的卷积层、8 个残差模块、1 个平均池化层(Average Pooling Layer) 和全连接层(Fully-Connected, FC)组成,该网络的1 个重要设计原则是:当Feature map 大小降低一半时,Feature map 的数量增加一倍以保持每个网络层的计算复杂度。从图6 中可以看到,ResNet 相比普通网络每2 层间增加了短路机制,这就形成了残差学习,其中虚线表示Feature map 数量发生了改变。

图6 ResNet-18 网络框架Fig.6 ResNet-18 architecture

3.2 枣品种识别模型构建

由图4 可以看出,数据集中存在枣果大小形状区别细微的枣品种,增加叶片特征能够弥补枣果图像识别率低的问题。此外,根据Lee 等[26]针对植物叶片图像识别得出的结论:相对于边缘特征,纹理特征是植物叶片的显著特征,融合2 类特征提高了叶片识别准确率。因此本文结合枣果图像、叶片及其纹理图像,设计三分支卷积神经网络模型,实现枣品种的自动分类。

3.2.1 模型结构概述 图7 为枣品种识别模型结构流程图。

图7 枣品种识别的网络模型结构Fig.7 The model structure of jujube identification

模型包含3 个并行特征提取分支,分别利用ResNet-18 网络提取枣果特征、叶片形状特征以及纹理特征。第1 个分支以枣果图像作为输入,学习枣果形状、颜色相关特征,第2 个分支以完整的枣叶片图像作为输入,学习叶片形状特征,第3 个分支以枣叶片纹理图像作为输入,学习叶片局部纹理特征。将得到的特征进行融合时,首先对叶片形状和纹理特征进行融合,得到叶片图像的综合特征后,再将其和枣果特征进行融合,得到枣品种的最终特征向量。最后,将其输入到全连接层,通过线性变换映射为代表枣果、叶片图像的整体特征描述符,用20个枣品种的数量作为分类层神经元数量进行分类。

3.2.2 枣果、叶片特征融合 枣叶片形状及纹理特征融合方式为:枣叶片形状及纹理特征融合采用加法融合。令枣叶片形状特征向量为X,纹理特征向量为Y,融合后得到的叶片综合特征向量为Z(Z=X+Y)。枣果及叶片特征融合方式为:枣果及叶片特征融合采用拼接融合。将枣果特征向量A与叶片综合特征向量Z进行拼接,拼接后得到的特征向量为M(M=cat(A,Z)),A和Z均为512 维的特征向量。

4 枣品种识别模型训练与分析

本文软件环境为Windows 10 64 位系统。计算机环境是Intel(R) Xeon (R) CPU E5-2603 V3@ 1.6 GHz,内存为16 GB,GeForce GTX 1080 Ti 显卡,显存11 GB。采用PyTorch 深度学习框架。

本研究利用采集的20 个品种枣果、叶片图像作为样本,随机抽取每类图像的80%作为训练图片,20%作为测试图片。针对枣果、叶片图像样本集分别得到1 435 张,822 张作为训练集,359 张、206张作为测试集。

为了增加样本的多样性以及减少网络的过度拟合,对原始枣果、叶片图像进行各种变换,如随机旋转(0°、90°、180°)、对比度增强、水平垂直翻转、亮度调整等基本操作,扩充训练数据集后分别得到12 915 幅和7 398 幅枣果、叶片图像。

4.1 不同训练方式的对比

试验采用2 种方式训练模型:

1) 利用从头开始(from-scratch)方法训练Resnet-18 网络时,采用随机法初始化模型参数。

2) 利用微调(fine-tuning) 方法训练Resnet-18网络,由于Resnet-18 预训练模型的参数经过ImageNet[27]数据集训练产生,具备较强的特征表达能力,于是,将卷积层参数载入到本研究模型,用枣果、叶片图像数据集训练网络的全连接层。

图8 和图9 为模型利用不同训练方式在测试集上的准确率和损失函数曲线,对应的准确率如表2 所示:

表2 不同训练方式模型的分类准确率Table 2 Classification accuracy of models with different training methods

图8 微调网络模型准确率和损失值曲线Fig.8 Accuracy and loss values curves of fine-tuning model

图9 从头训练网络模型准确率和损失值曲线Fig.9 Accuracy and loss values curves of from-scratch model

为客观比较2种训练方式对识别准确率的影响,统一实验中的参数,学习率为0.001,并采用随机梯度下降法(Stochastic Gradient Descent, SGD)进行参数更新,设定动量因子为0.9,共迭代35 次。通过比较图8 和图9 可知,随着迭代次数增加,枣品种识别的准确率也逐渐提升,fine-tuning 方式网络收敛速度快,loss值下降至0.1 后趋于稳定;而fromscratch 方式准确率和loss值随着训练的进行均处于不断变化之中,模型学习效率较低。

由表2 可以看出,选用在大规模数据集上训练的Resnet-18 作为预训练模型,既缩短了网络训练时间又提高了分类准确率,表明预训练模型具有较强的学习浅层和深层特征能力,微调网络是1 种提升模型泛化能力的有效方法。

4.2 单、双分支及三分支网络模型的对比

为了验证三分支卷积神经网络模型的优越性,用单分支及双分支网络模型对枣品种的识别结果进行了对比分析,模型均利用fine-tuning 方法进行训练,结果如表3 所示:

表3 单分支及双分支网络模型分类准确率Table 3 Classification accuracy of models with singlebranch and double-branch

从表3 可得,采用枣果、叶片特征融合方式的枣品种分类准确率均高于单分支网络的识别结果。因此,枣果和叶片的特征融合可以弥补单个特征的不足,尤其对于一些枣果外形相似或者叶片轮廓相似的品种,在一定程度上提高了分类准确率。此外,枣叶片纹理特征和形状特征进行融合可以提高识别率。从单分支网络识别结果表明枣果对于枣品种的识别影响最大,这也正符合专家辨别枣品种的方式。

图10 列出了20 个枣品种的识别准确率。

图10 枣品种识别准确率Fig.10 Identification accuracy of jujube varieties

相较于利用枣果作为输入的单分支网络模型,三分支卷积神经网络模型取得了较好的识别结果,准确率均在80%以上,其中茶壶枣和磨盘枣分类准确率达到100%,圆铃枣的识别结果由62%提升至84%。结果表明,增加枣叶片形状及纹理特征有助于提升枣品种识别率。然而,一些品种的枣果畸形以及光线的影响可能会导致识别错误,如图11 所示。

图11 错误识别的样本Fig.11 Some samples of misidentification

4.3 不同预训练模型的对比

为了验证Resnet-18 预训练模型的性能,分别选择AlexNet 和VGGNet-16 设为基础网络结构,利用finetuning 微调网络进行枣品种分类,结果如表4 所示:

表4 不同预训练模型分类准确率的对比Table 4 Comparison of classification accuracy of different pre-trained models

从表4 可以看出:预训练模型的深度是枣品种识别的1 个重要因素,增加卷积神经网络的深度可以有效提升模型的性能。ResNet-18 相对于VGGNet-16和 AlexNet,网络更深,学习特征表达能力更强,从而提高了枣品种的分类准确率。VGGNet-16 能够有效地提取特征,由于参数数量较多导致网络过拟合严重,因此降低了识别准确率。AlexNet 网络由于提取的特征不全面导致准确率较低。

5 结论

本文利用深度学习技术在枣品种识别方面进行了试验研究和分析。针对20 个品种的枣果、叶片图像,通过归一化预处理和数据增广操作后,以ResNet-18 网络为基础,构建了三分支并行卷积神经网络模型,实现枣品种的自动分类,得到以下结论:

(1) 利 用from-scratch 和fine-tuning 2 种 方 式训练模型,结果表明通过fine-tuning 方法训练ResNet-18 网络可以学习到枣果特征和叶片形状及纹理特征,利用特征融合在一定程度上避免了不同品种枣果形状相似的干扰。

(2) 在单分支及双分支网络模型训练试验中,结果表明相比较于枣叶片图像,枣果图像对枣品种的分类贡献更大。而且枣叶片纹理信息对枣品种识别起着重要的作用。

(3) 利用不同预训练模型进行枣品种识别的试验结果说明选择合适的网络模型很重要,模型深度越深在一定程度上能够提升识别准确率。

(4) 本研究模型是在20 个枣品种图像库进行训练与测试,在后期研究中继续采集枣品种图像,增加品种数量,进一步提高模型的泛化能力。

(5) 本文在枣果、叶片2 个特征上进行试验研究,未来可增加更多的特征,如枝干、树皮等,探索多种特征对枣品种识别效果的影响。

猜你喜欢
枣果准确率叶片
不同时期施用不同肥料提高山地枣果维生素C 含量
月季叶片“雕刻师”
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
健康之家(2021年19期)2021-05-23 11:17:39
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
两种喷涂方法在TRT叶片上的对比应用及研究
16个枣树品种枣果营养成分分析
甘肃林业(2019年4期)2019-10-08 07:19:52
高速公路车牌识别标识站准确率验证法
基于CFD/CSD耦合的叶轮机叶片失速颤振计算
航空学报(2015年4期)2015-05-07 06:43:30
8种药剂防治枣果病害试验初报