基于小规模数据集的柑橘树冠层施药情况的分类模型

2021-07-28 12:59徐相华林佳翰陆健强陈宏泽杨瑞帆
华南农业大学学报 2021年5期
关键词:喷药树冠柑橘

徐相华,林佳翰,陆健强,3,陈宏泽,杨瑞帆

(1 华南农业大学 工程基础教学与训练中心,广东 广州 510642;2 华南农业大学 电子工程学院/人工智能学院,广东 广州 510642;3 国家精准农业航空施药技术国际联合研究中心,广东 广州 510642)

柑橘种植业在我国经济作物领域中占有重要地位,随着我国柑橘产业的快速发展,柑橘产量和种植面积不断增加[1]。目前我国的柑橘生产作业以人工为主,对于果树的农药喷施效果,大多仍由果农根据以往经验进行辨别,缺乏科学准确的判断依据[2-4]。另外,受限于柑橘果园环境影响因素复杂和数据采集传输设备老化,在柑橘喷药程度的智能化研究过程中,数据较少导致模型发生过拟合的可能性较大。针对上述问题,结合人工智能与热红外成像技术,本研究提出一种基于小规模数据集的快速无损的柑橘树冠层施药情况分类方法,具有一定的实际意义。

现阶段,针对果树的施药研究主要集中在施药前的检测与施药中的操作方面。姜红花等[5]提出的杂草智能检测方法,使用ResNet-101网络提取特征,进行杂草和背景的二分类,实现了实时精准控制农药变量喷撒的要求。何志谦等[6]基于STM32设计的一款智能农业喷药机器人,通过多层系统包括主电路系统、飞控系统和喷药系统的设计,实现了农药定量与变量喷撒,达到了精细化农业的要求。有研究设计农业智能机器人,通过机器人采集作业信息,进行大数据分析,实现精准喷药,大幅度提高智能化水平[7-8]。而对于果树施药后,进行快速无损检测柑橘冠层施药情况,精准掌握施药效果的研究较少。

本研究利用热红外成像技术可识别地物热状况信息的特点[9-10],以VGG模型为核心设计思想,采用3×3卷积核参数卷积层与1×1池化核参数池化层叠加的方法,构造VGG_C模型,相较ResNet模型和VGG模型,VGG_C模型可针对农业中现有数据集较小的特点进行优化,通过多层卷积操作对柑橘树冠层热红外图像进行特征提取,并在输出端引入不确定性度量计算以及在下采样模块中插入Droupout方法,降低过拟合发生的概率,采用交叉熵损失函数更新模型权重参数,提高模型对不同喷施药量的柑橘树冠层热红外图像的分类精度,实现柑橘树冠层施药情况的智能化分类检测。最后,与ResNet模型和VGG模型进行柑橘树冠层施药情况分类性能对比试验,验证VGG_C模型在小规模数据集上进行分类研究的有效性,以期为智慧农业实现柑橘树施药情况快速无损判断提供有益参考。

1 模型构建

1.1 柑橘树冠层热红外图像获取

本试验采用 FLIR Vue R 640 红外热像仪,分别采集不同环境状态下喷施农药的柑橘树冠层及未喷施农药的柑橘树冠层两类红外图像。FLIR Vue R 640红外热像仪采用焦平面探测器,19 mm镜头,镜头尺寸为 45 mm×63 mm×45 mm,镜头质量为128 g,波长范围为 7.5~13.5 μm,帧频 9 Hz,像素大小为 17 μm,分辨率为 640×512。

为模拟农事作业的真实场景[11],提高数据的多样性和可靠性,针对影响热红外图像信息的3个主要环境因素:温度、湿度和光照度,采用控制变量的方式,在不同环境参数以及相机与植物不同的间距下采集热红外图像(表1)。

表 1 试验环境数据Table 1 Data of test environment

1.2 数据集构建

卷积神经网络模型需要大量的数据支撑网络训练,本研究采用空间几何变换的方式,如翻转、随机旋转、随机缩放等操作[12],对获取的柑橘树冠层热红外图像进行数据增强,数据增强倍数为10,即1份数据对应的热红外图像平行扩增9份热红外图像,避免过多冗余数据导致训练效率下降。

采集原始柑橘树冠层热红外图像数据324张,其中未喷药的原始图像数据为110张,已喷药的原始图像数据为214张,经10倍数据增强后的图像数据为3 240张,其中未喷药图像1 100张,已喷药图像2 140张。生成的图像数据集存放于目标路径下的2个子文件夹,命名为“dry”的文件夹存放未喷药的原始图像数据,命名为“wet” 的文件夹存放喷药的原始图像数据。部分图像数据如图1所示。

图 1 部分图像数据Fig.1 The part of image data

1.3 VGG_C模型设计与优化

1.3.1 VGG_C 模型设计 VGG_C 模型结构如图2所示。VGG_C模型由基础模块和下采样模块组成,如图3所示,基础模块通过卷积核为3×3的卷积操作对柑橘树冠层热红外图像进行特征提取,卷积核为1×1的卷积操作对局部特征进行池化,获取全局性特征,增加批归一化(Batch normalization,BN)分支,防止梯度爆炸或消失。在原始图像数据集不丰富的前提下,为了降低过拟合概率,下采样模块以基础模块为基础,在批归一化分支中引入Dropout方法[13-15]。VGG_C模型通过多层基础模块提取柑橘树冠层热红外图像的多尺度特征信息,结合下采样模块,实现对基础模块输出的降采样操作,降低模型计算量,提高模型运行效率[16-18]。

图 2 VGG_C模型结构Fig.2 VGG_C model structure

图 3 VGG_C模型组成模块Fig.3 VGG_C model components

1.3.2 VGG_C 模型优化 因训练数据较少,训练的网络易出现过拟合现象,造成网络泛化性能低下,增加了训练过程中对模型不确定性的校准[19-20]。在本研究中,仅依靠网络输出的柑橘树冠层施药类别概率做决策,若分类网络输出已施药的概率为0.9,则可认为该柑橘树冠层已施药。因模型训练过程中对图片进行压缩和数据采集传感器存在误差等原因造成不确定性的影响,网络输出的实际可信度值为0.1,即网络的输出不具有可信度。

针对上述问题,在网络输出端添加不确定性度量计算。不确定性度量是针对类别疏忽概率所设立的一个分支,仅存在于训练过程中,用于强迫网络学习更具精度的类别概率预测。通过计算网络输出的施药情况分类概率所对应的不确定性,判断分类结果与真实结果是否接近,进而决定是否信任该输出结果。计算网络输出的不确定性方法如下:

假设样本的不确定性服从正态分布,对于给定的样本(xi)所对应的不确定性(zi)定义为

式中,P(zi|xi)表示样本xi所对应的不确定性,N表示正态分布,µi表示高斯分布的均值,表示高斯分布的方差。其中和 µi均依赖于网络的输出,µi=fθ1(xi),σi=fθ2(xi)。其中 θ1、θ2分别表示与均值和方差相关的参数,f表示柑橘树冠层施药情况分类网络。

1.4 模型评价指标

为评价柑橘树冠层施药情况的分类准确率,选择损失值和准确值作为模型训练结果的评价指标。为自适应调整模型优度与学习率的关系,采用交叉熵损失函数计算模型迭代的损失函数值,交叉熵用于评估卷积神经网络训练得到的概率分布与真实分布的差异情况,表示期望输出与实际输出的距离,当交叉熵的值越小时,2个概率分布就越接近。在本研究中,期望输出代表柑橘树冠层施药情况分类模型对输入的柑橘树冠层热红外图像的预测分类结果,实际输出代表输入图像的真实施药情况。交叉熵损失函数(C)的公式为:

式中,y为期望输出,a为神经元的实际输出,a的表达式为:

式中,σ()为激活函数,z为输入经过神经网络后的输出,wj为第j个神经层的权重值,xj为第j个神经层的输入,b为偏置值。当期望输出y与真实输出a相接近时,损失函数的值逼近于0。

采用准确率作为评估模型对验证集进行分类结果的指标。准确率(Accuracy rate)的公式为:

式中,TP (True positive)为将正类样本预测为正的数量,TN (True negative)为将负类样本预测为负的数量,FP (False positive)为将负类预测误报为正类的数量 (Type I error),FN (False negative)为将正类预测误报为负类的数量 (Type II error)。

2 验证试验及结果分析

为验证VGG_C模型在基于小规模数据集的柑橘树冠层施药情况分类应用上的准确性和可靠性,选择VGG模型、ResNet模型[21]与VGG_C模型分别对本研究所构建的柑橘树冠层热红外图像数据集进行训练与验证。试验环境如下:开发语言为Python3.5;深度学习框架为Tensorflow 2.0.0框架,内置Keras接口;运算部分使用Google Colaboratory免费提供的Tesla T4 GPU。根据文献[22]的方法,通过Sklearn库随机地将原始柑橘树冠层热红外图像数据根据80%与20%的比例,划分为训练集和验证集两部分,保证分类结果的客观性和准确性。综合考虑Google colab 平台的GPU、CPU性能以及平台可供使用的时间和额度,设置epoch为300。

2.1 模型训练结果

3种模型在训练集上的损失值和准确率迭代曲线如图4所示,随着迭代次数的增加,3种模型的损失值和准确率经过快速下降和上升后,均在迭代次数为7次左右逐渐开始收敛,表明3种模型均具有有效快速地拟合未喷药和已喷药的柑橘树冠层热红外图像的特征。分析整体曲线结果表明,VGG_C训练得到的柑橘树冠层施药情况分类模型具有更低的平均损失值和更高的平均准确率,表明该模型可以更全面地提取图像特征信息,对喷药情况分类的准确性和可靠性更高。经统计,最终VGG_C模型收敛的损失值为0.44%、准确率为95.3%。

图 4 3种模型的损失函数和准确率曲线图Fig.4 The curves of loss function and accuracy rate of three models

2.2 VGG_C模型预测结果

为进一步评估VGG_C柑橘树冠层施药情况分类模型对未知标签图像的泛化能力,在模型训练完毕且保存成功后,调用已经训练好的模型,反复多次随机抽取验证集中648张图像的部分图像进行预测,并输出预测结果。图5所示为预测输出结果示例,每个预测框上方输出预测结果与真实结果,可直观地表现模型的预测结果。预测框如图5a所示:预测结果(pred)为未施药(dry),实际结果(truth)为未施药(dry),预测结果为正确;图5b所示:预测结果(pred)为已施药(wet),实际结果为未施药(dry),预测结果为错误。

图 5 预测试验结果示例Fig.5 Examples of predictive test results

进行30次随机抽取,每次抽取验证集中的12张图片,共360张图片进行柑橘树冠层施药情况分类预测试验,经统计,分类的平均准确率为96.4%,进一步验证了VGG_C模型在柑橘树冠层施药情况分类的准确性和有效性。

3 结论

本研究通过采集模拟常见环境条件下的324张热红外图像,并利用数据增强的手段,构建了3 240张的柑橘树冠层热红外图像数据集。提出一种基于小规模数据集的柑橘树冠层施药情况分类模型−VGG_C模型,通过与ResNet和VGG模型的对比试验,得出结论如下:

1)VGG_C模型以VGG模型结构为设计思想,通过多层卷积操作提取柑橘树冠层热红外图像的局部细节特征,结合多层池化操作融合生成全局整体信息,针对数据少导致过拟合的问题,在网络输出端创新性加入不确定性度量计算,排除过拟合产生的无效信息对模型精度的影响,有效提高模型在小规模数据集下对柑橘冠层施药情况的精准分类。

2)VGG_C模型准确率可达95.3%,验证集的平均准确率为96.4%,模型分类效果优于传统的ResNet模型和VGG模型,结果表明VGG_C模型对于判断柑橘树冠层热红外图像未喷药和已喷药的施药情况具有更为准确的分类效果。

本研究结果可以辅助柑橘果园的管理,减少农药资源的浪费和柑橘果园管理的人力、物力、财力资源的消耗。该模型可通过增加采集图像的数量,完善样本数据,并在不断地测试中优化已经搭建的卷积神经网络结构,对网络参数进行调整,得到准确率更高、更能够适应农业应用的卷积神经网络结构,为柑橘果园乃至整个农业的发展提供一定的参考依据。

猜你喜欢
喷药树冠柑橘
果树夏季喷药五注意
果树喷药巧时期
柑橘家族
树冠羞避是什么原理?
榕树
树冠
乡村无人机喷药
柑橘的秘密
一个早晨
阿尔及利亚将实现柑橘自给自足的目标