基于深度学习的林下落果识别方法与试验*

2021-09-23 14:07李小敏张日红陈天赐侯炳法张权李雄
中国农机化学报 2021年9期
关键词:落果柑橘准确率

李小敏,张日红,陈天赐,侯炳法,张权,李雄

(仲恺农业工程学院机电学院,广州市,510225)

0 引言

近年,随着经济的快速发展和人民生活水平的显著提高,水果消费的比重逐年增加[1]。同时在精准农业、智慧农业等技术的推动下,水果种植的面积越来越大、品种越来越多。根据2019年报告显示,我国水果种植面积同比净增16.48万hm2,果园种植面积共计高达1 227.67万hm2[2];其中以苹果、柑橘、梨等为主的大宗果品,种植面积更是每年以8%的速度递增[3-4]。

果园种植面积增加的同时,落花与落果成为不同果园智能管理所面临的普遍问题。虽然生理落果是果树种植过程中的正常现象,但是非正常的落果严重影响果树的产量和水果品质[5]。如果落果发现不及时,不仅会造成落果的堆积和病变,而且会增加果树果品二次病害传染的风险[6]。因此,开展果园落果识别与监测层面的相关研究,具有重要意义。

目前国内外落果研究已取得一定的进展,Khamis等[7]以埃及金冠品种苹果在预期收获期前四周的早熟落果为研究对象,从苹果病理学角度对早期落果原因进行了探讨与研究。Fabrício等[8]为探究甜橙落果的成因,对甜橙果实上病变大小、花梗距离、病变出现次数、时间等因素与过早落果之间的关联性进行相关研究与分析。Kumar等[9]通过作物养分管理对酸柠檬落果原因进行分析,通过实际试验得到生物化肥最佳比例以实现最低落果率。张利军等[10]以特色柑橘品种‘琯溪蜜柚’落果为研究对象,从不同分级落果的养分含量、养分脱落损耗,对该品种落果特性进与规律进行分析。杨小慧等[11]采用紫外分光光度法,测定文冠果落果黄酮含量;得出文冠果落果中黄酮含量丰富,芦丁是其重要的单体成分,具有良好的抑菌活性等结论。然而,目前有关落果的研究,大多集中在机理、原因寻找与分析、改善策略设计与分析等层面,而落果智能化识别相关技术是上述研究的重要基础和依据,却鲜有该方面的研究。

农业环境中的目标识别,主要分为两种方法,一种是传统的目标识别,其中以图像分割[12]、机器学习[13]为代表;机器学习标志性的算法有K-means[14],SVM[15]等。另一种方法是基于深度学习的目标识别。随着以深度卷积神经网络为代表的人工智能的快速发展,将相关深度学习模型引入水果识别成为可能[16-18]。深度学习网络种类繁多,然而由于YOLO(You only look once)执行速度快、准确率高等优势,被广泛应用目标识别与定位[19-21]。Tian等[22]利用YOLO-v3提出改进性的深度学习网络模型,对三个不同时期的苹果图像进行了识别,实现对苹果的实时识别。Lawal[23]为了检测复杂环境条件下的番茄快速识别问题,设计了一种改进YOLO-v3深度学习模型。熊俊涛等[24]通过对YOLO-v3算法进行改进,设计一种实现多层特征复用的神经网络,用于夜间环境柑橘的识别,测试结果表明识别精确率高达95%以上。荆伟斌等[25]采集了不同条件下的地面苹果图像数据集,基于快速区域卷积神经网络模型(Faster-RCNN)对地面苹果进行识别与统计,其平均识别率高达95%。上述基于图像分割、机器学习、人工智能等方法的水果识别与定位文献,为落果识别与计数提供必要的参考。然而落果图像数据存在环境复杂、特征不明显等特点不利于识别与计数;同时采用深度学习框架对落果识别层面的研究偏少。因此,亟需采用新型人工智能技术,开展落果识别等相关方面的工作。

针对目前落果识别存在的问题,基于深度学习YOLO-v3网络框架,构建了林下落果智能识别方法。以真实果园落果、互联网落果图像、模拟落果场景图像为基础,建立典型水果落果数据集合。探究了该深度学习框架在实际果园环境中识别效率与准确性;并与SSD(Single Shot MultiBox Detector),RCNN(Recurrent Convolutional Neural Networks),CenterNet三种网络模型算法进行了落果识别性能对比;同时对试验结果进行了分析与讨论。

1 数据采集与预处理

为了满足数据多样性与算法普遍性,选取3种常见大宗水果(苹果、梨、柑橘)为对象,构建试验数据集合。该试验落果图像数据由真实果园落果、互联网落果图像、模拟落果场景图像等几部分组成。图像大小为1 920像素×1 080像素,960像素×576像素,608像素× 608像素等,以BMP、JPG、PNG等格式进行存储。由于数据获取渠道多样存在尺寸不一、格式多样等问题。数据筛选之后,为了降低运算成本,提高落果识别效率,如图1所示对落果图像进行如下数据预处理:(1)图片大小调整,将落果图片样本统一调整为416像素×416像素;(2)格式转化,将多种图片格式统一转为PNG格式;(3)图片分类,按照不同水果品种将图片进行分类存储。

图1 落果图像预处理

为了增加数据多样性和防止深度神经网络训练过程中的过拟合线性,采用翻转、旋转、随机裁剪、噪声添加等图像数据增强方法对图像数据集进行部分转化,进而扩展整个数据集合。三种典型水果落果图像数据增强后,如图2所示。

(a) 落果原图 (b) 裁剪

完成上述数据预处理与数据增强后,构建林下落果数据集合共计1 700张,其中苹果500张,梨500张,柑橘700张。如图3所示,以LabelImag为工具选取对不同类型的落果进行人工标记,并以xml格式进行存储,在已标记的1 700张图像中随机选取1 400张为训练集合,其余300张图像为测试集合。

图3 落果数据标注

2 基于YOLO-v3深度学习框架的落果识别方法构建

YOLO是一种典型的深度学习算法,其具有运算速度快、结构简单等特点,被广泛应用于目标识别与检测层面。基本思想是将输入图像分成S×S个格子,若某个物体的中心位置坐标落入到某个格子,此格子就负责检测出该物体。

YOLO-v3是YOLO系列第三个版本,是应用最广泛的算法。YOLO-v3的网络结构如图4所示,该网络模型引入了残差模型和FPN(Feature Pyramid Network)框架,同时在YOLO-v2提出的Darknet19基础上加入残差模块,形成YOLO-v3的主干Darknet53网络。其中卷积单元由卷积层、批量归一化层和激活函数构成,卷积单元和零填充单元形成残差单元,多个残差单元构成残差块。

图4 YOLO-v3网络结构

为了获得性能良好的林下落果识别网络模型,采用如图5所示流程对模型进行训练。

图5 基于YOLO-v3的落果识别流程

首先,将原始图像进行尺寸、标注等预处理,数据分为训练、测试两个子数据集;再把训练数据集输入YOLO-v3网络,经过多次迭代;当损失函数取值小幅波满足阈值条件,意味着网络模型参数稳定,然后输出稳定的网络模型。最后,采用测试数据集合对落果识别网络模型进行性能测试。

为了识别不同大小和距离的落果,根据落果的大小等参数考虑,将整个识别网络输出张量参数设置为13×13,26×26,52×52三个张量预测结果。同时,为减少张量维度,每个输出预测张量的长度取值为21,以减少训练成本。试验模型训练与测试平台均在Ubuntu18.04操作系统下进行,配置有英特尔RTX2080显卡,8G显存;使用tensorflow-2.0框架并配置CUDA10.2版本和CUDNN v8.0.4版本进行加速。将训练的相关参数设置如下,动量取值0.9,权重衰减率取值0.000 5,初始学习率取值0.001。

模型训练过程中为获得平均损失取值较小的模型和探究训练次数对该值的影响,在服务器中一共训练10 000次,耗时4 h。模型在前1 500次迭代,损失函数取值迅速变小,到3 000次后趋于稳定,波动幅度较小;经过6 000次迭代后,平均损失取值无明显变化,并在0.015附近小幅波动。

3 试验与结果

为了对落果识别性能进行评估,采用评价指标准确率(precision,P),召回率(recall,Rc)作为图像分割结果的评价指标,并以综合评价指标(F1)作为准确率和召回率的评估值。

(1)

(2)

(3)

式中:TP——正确识别到落果的数量;

FP——将非落果目标识别为落果的数量;

FN——误落果识别为背景的数量。

将训练好的深度学习模型部署于GPU1660显卡上运行,输入测试数据集合计算不同类型落果检测结果的准确率(P)和召回率(Rc),最后统计得到F1值。

3.1 不同落果数量的试验对比

试验以不同数量和远近为因素,测试了100张落果图像,其中含1~10个落果图像共计30张,包含11~20落果图像共计38张,含20个以上落果图像共计32张。对每张图像采用YOLO-v3训练好的模型进行测试,结果如图6所示。

(a) 1~10个落果

从图6中可知,在落果数量较少、距离较近时,所设计的算法可以准确识别出落果和相对应的数量;但是当数据超过20个或距离较远时,存在遗漏识别的现象,其原因在于落果数量增多,落果图像重叠增加了网络模型识别的难度。

3.2 不同算法性能试验结果对比

为测试该算法对不同品种落果的识别效果,采用YOLO-v3算法对测试集中不同水果落果进行识别性能测试,得到如表1所示的准确率(P)、召回率(Rc)和F1值。从表1可知,YOLO-v3对三种典型落果的识别准确率高达89%以上,其中柑橘的识别准确率最高,超过94%。同时,三种水果落果的F1值均大于90%。综上,说明提出的模型可以很好地识别不同品种水果落果。

表1 不同水果落果识别性能分析Tab. 1 Identification performance in different fruit

在本试验中,以柑橘落果为例,在相同训练集的条件,采用YOLO-v3,SSD,RCNN,CenterNet四种方法对柑橘落果识别网络进行训练,以测试集为基础对落果检测与识别进行了测试。4种算法对柑橘落果识别效果,如图7所示。YOLO-v3的落地识别效果最好,除个别重叠落果未识别出来,其余大部分都能够准确识别;CenterNet的识别效果次之,存在个别误识别现象。SSD方法存在较多的遗漏识别,落果效果最差,同样RCNN也存在较多落果遗漏识别。

(a) YOLO-v3 (b) SSD

如图8所示,不同算法对柑橘落果检测识别的准确率和召回率。YOLO-v3与RCNN的识别效果相当,当YOLO-v3识别准确率最高和召回率最高,即该算法对于柑橘落果具有较好识别准确率;相对于SSD,RCNN和CenterNet网络模型,YOLO-v3的准确率分别提高了7%,2%和3.5%。

图8 不同算法柑橘落果识别的准确率和召回率

3.3 腐烂落果识别结果对比

果实的腐烂是落果最常见的现象之一,如何采用神经网络对其进行识别是落果识别的组成部分。腐烂落果在颜色、形成等层面与正常落果存在较大差异,因此腐烂落果的检测与识别是算法面临的重要挑战,也是衡量算法识别落果稳定性与鲁棒性的重要指标。为此,以30张腐烂落果图片为基础构建其测试集合,对不同深度学习模型的腐烂落果识别效果进行了试验,得到如图9所示效果。

(a) YOLO-v3 (b) SSD

YOLO-v3的腐烂识别效果最好,图中7个腐烂落果均被正确识别出来,RCNN次之,CenterNet模型的识别效果最差。根据试验结果可知,当落果腐烂面积较大时会影响SSD、RCNN、CenterNet网络的识别准确性。同时统计测试结果得到,YOLO-v3、SSD、RCNN和CenterNet的腐烂识别准确率分别为86%,59%,64%和43%。该结果说明,对YOLO-v3在腐烂落果识别方法存在较大优势。

3.4 落果识别时间结果对比

为了研究落果识别效率,基于测试集合随机抽取100张图片采用上述四种神经网络框架对落果进行识别并统计总识别时间,然后取其平均值,获得不同网络对落果识别的平均时间,试验结果如图10所示。由图10可知,四种网络在落果识别时间性能层面存在较大差异。RCNN的落果识别时间最长,时间值大于1.6 s;其他三中网络的识别时间均小于0.3 s,SSD网络的落果识别时间最快但是识别精度最低。YOLO-v3的平均识别时间为0.213 5 s,在识别时间性能层面略逊于SSD;原因在于YOLO-v3网络层数较多,增加网络落果识别时间。尽管YOLO-v3识别时间不是最快,但是识别准确性最高;因此,综合上述因素YOLO-v3是四种网络中识别落果最优选择。

图10 不同算法的落果识别时间对比

4 结论

林下落果的准确识别与统计是果园智能化管理的重要基础与依据。针对落果种类多、图像多样、容易病变等特点,本文利用深度学习方法,提出一种基于YOLO-v3的落果检测方法,实现对落果准确与智能化识别。通过数据预处理与增强建立落果数据集合,经过训练搭建了识别网络模型,并进行相关试验。在未考虑将落果识别效率、时间等作为试验因素的条件下,通过相关试验得到以下结论。

1) YOLO-v3在落果数量较少、距离较近时,可以准确的识别出落果和相对应的数量;当数据超过20个或距离较远时,存在遗漏识别的现象。对三种典型落果的识别准确率高达89%以上,其中柑橘的识别准确准最高,其值超过94%。同时,三种水果落果的F1值均大于90%。

2) 柑橘落果识别层面,对比其他深度学习方法YOLO-v3算法的识别准确率最高、召回率最高;相对于SSD,RCNN和CenterNet网络模型YOLO-v3的准确率,分别提高了7%,2%和3.5%。

3) YOLO-v3、SSD、RCNN和CenterNet的腐烂落果识别准确率分别为86%,59%,64%和43%;相对于其他算法YOLO-v3在腐烂落果识别方法存在较大优势。

猜你喜欢
落果柑橘准确率
无花果落果是怎么回事
猕猴桃落果咋应对
吃柑橘何来黄疸——认识橘黄病
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
桃子如何防范采摘前落果
高速公路车牌识别标识站准确率验证法
柑橘大实蝇综合治理
“五及时”柑橘冻害恢复技术