当前位置:首页 期刊杂志

基于YOLOv5s的深度学习在自然场景苹果花朵检测中的应用

时间:2024-05-24

尚钰莹,张倩如,宋怀波

(1.西北农林科技大学机械与电子工程学院, 杨凌 712100;2.农业农村部农业物联网重点实验室,杨凌 712100; 3.陕西省农业信息感知与智能服务重点实验室,杨凌 712100)

0 引 言

疏花是苹果栽培中的重要管理措施,疏除多余花朵有利于果树克服隔年结果现象,提高苹果产量和质量,促进花芽分化,提高花芽质量,实现高产稳产。苹果花朵分布密集紧凑,同一花簇不同花朵之间往往存在相互遮挡以及叶片遮挡,且苹果花朵形状、颜色多样,花朵检测难度较大。花朵目标的检测是疏花机器人的关键技术之一,开展自然场景下苹果花朵目标的检测方法研究,对于疏花机器人的发展具有重要的研究意义。

目前常用的苹果疏花方法包括人工疏除、化学疏除和机械疏除3种。人工疏花效率过低,所需劳动力数量较多,劳动成本高且劳动强度大。化学疏花通过将化学药剂喷施于树体表面实现花朵疏除,化学疏花成本较低且效率高,然而需要严格控制疏花试剂的喷洒时期。机械疏花可以大幅降低劳动强度,具有巨大的发展潜力。目前对机械疏花的研究较少,尚未有可以辅助人工进行疏花的便携式疏花器械。结合图像处理与机器视觉技术,实现苹果花朵准确实时检测,可为疏花机械视觉系统提供必要的支持,是未来机械疏花技术的核心之一。

传统图像处理技术需要手动提取目标特征,其过程复杂且识别精度较低,难以在复杂的实际生产中应用。基于卷积神经网络(Convolutional Neural Networks, CNN)的深度学习技术通过学习不同领域、场景、尺度的特征,可以实现端对端的检测,具有良好的特征提取能力和泛化能力。刘浩洲等提出了一种基于K-means聚类算法的猕猴桃花朵识别方法,利用K-means聚类分割得到包含花蕊在内的4个类别图像,并利用CNN网络实现了猕猴桃花朵的检测,检测成功率为92.5%。Gogul等设计了一种基于CNN与迁移学习的花卉识别系统,利用OverFeat CNN网络提取图像特征,并利用机器学习实现了花卉识别,在FLOWERS28数据集上的Rank-1和Rank-5的准确度分别为82.32%和97.50%。Shi等设计了一种基于深度学习的花卉自动识别系统,将花卉图像发送到FLOWERS32数据集上预先训练好的CNN系统进行识别,在测试集上的准确率为95.00%。Dias等提出了一种基于CNN的苹果花朵检测方法,利用线性迭代聚类超像素算法进行区域生成,再进行特征提取,利用支持向量机(Support Vector Machine, SVM)模型进行苹果花朵检测,该方法的最佳召回率和准确率均接近80.00%。

为了进一步提高目标检测的效果,CNN网络通过不断增加网络的层数来提取更为丰富的特征,更能体现图像的语义信息。但网络深度的不断增加可能会造成梯度爆炸、消失,导致系统不能收敛等问题。针对这一问题,He等提出了ResNet网络,将输入中的部分数据不经过卷积网络,直接送入输出层以保留部分原始信息,通过将ResNet结构应用于深度卷积网络,解决了深度网络中梯度消失的问题。ResNet可以在网络深度增加的同时保证网络性能的进一步提升。Sun等提出了一种基于DeepLab-ResNet语义分割网络和形状约束水平集的水果花朵检测方法,通过对该网络模型的微调过程训练获得对花朵高度敏感的CNN模型,再通过由原始图像和识别结果中定义的能量最小化驱动的水平集进化来描绘识别对象,该方法在桃花、梨花和苹果花朵数据集上的平均分数为80.90%。郑玉龙等提出了一种基于深度学习的自然环境花朵识别方法,并设计了一种由3个残差块组成的20层深度学习模型Resnet20,该模型在Flower26数据集上的识别率为96.29%。Wu等提出了一种基于通道剪枝YOLOv4深度学习算法的实时苹果花朵检测方法,该方法构建了CSPDarknet53框架下的YOLOv4模型,采用通道剪枝算法对模型进行剪枝,实现了苹果花朵的快速准确检测,其mAP为97.31%。

基于深度学习的苹果花朵检测虽然取得了较好的效果,但仍存在以下问题:1)花朵检测速度较慢,尚难以实时检测;2)花朵检测模型的参数数量和模型结构普遍较大,算力消耗过大,模型迁移较为困难。基于上述问题,本研究拟提出一种基于YOLOv5s的苹果花朵检测方法,将田间拍摄得到的苹果花朵图像进行标注并送入微调后的YOLOv5s目标检测网络,实现苹果花朵的准确快速检测,以期实现一种轻量化且检测速度快的自然场景下的花朵检测模型,为疏花机械视觉系统提供技术支持。

1 材料与方法

1.1 材 料

本文主要研究对象是以富士为主要品种的300多个苹果品种,所使用的苹果花朵图像来自于陕西省杨陵区园艺试验基地,拍摄设备为华为Nova7,图像焦距为26 mm,分辨率为4 608×3 456像素,拍摄时间为2021年3月20日至4月8日,拍摄时间段为7:00-19:00,拍摄形式为定点拍摄和手持设备2种形式,定点拍摄通过三脚架固定手机的位置进行拍摄,手持设备可变换拍摄的角度和位置,设备距离树冠的距离为20~40 cm。将采集到的3005幅图像随机裁剪为不同分辨率并利用LabelImg标注工具对数据集进行人工标注,标注框选择花朵和花苞的最小外接矩形。

由于不同天气情况下的光照强度不同,花朵在不同天气情况下的状态也不同,比如雨天花朵上可能存在水珠,这些情况均可能影响花朵识别的效果,如图1a~1d所示分别为苹果花朵在晴天、多云、阴天、小雨4种不同天气情况下的图像。

图1 4种不同的天气情况 Fig.1 Four different weather conditions

由于不同品种的苹果花朵颜色存在差异,花朵颜色的不同可能影响花朵识别的效果,为获得可适用于不同颜色花朵的目标检测模型,如图2a~2d所示,本研究中的苹果花朵图像包含玫红色、红色、白色和粉色这4种颜色,基本涵盖该基地所有苹果品种的花朵颜色。

太阳位置的变化及拍摄位置的不同,导致苹果花朵图像整体亮度以及图像中部分花朵的亮度不同,如图2a~2b所示,本研究同时采集了苹果花朵在顺光和逆光情况下的图像。由于苹果开花时花叶共存且每一簇花朵的数量较多,分布密集,导致花朵存在遮挡,如图2c~2e所示,本研究同时采集了无遮挡、其他花朵遮挡和叶片遮挡3种情况的花朵图像。

图2 不同颜色、光照和遮挡情况 Fig.2 Different colors, illumination, and occlusion situations

试验数据如表1所示,晴天、多云、阴天、小雨情况下的图像数量分别为1 611、512、519和363幅,顺光和逆光条件下的图像数量分别为1 830和1 175幅,有遮挡和无遮挡情况下的图像数量分别为1 602和1 403幅。将采集到的3 005幅图像按照6:2:2的比例分为训练集(1 803幅)、验证集(601幅)和测试集(601幅)进行模型训练与测试。

表1 拍摄图像详细信息 Table 1 Details of the captured images

1.2 试验平台

试验过程在Win10操作系统下进行,处理器型号为Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz 3.79 GHz,显卡Nvidia GeForce RTX 2080Ti。深度学习框架采用PyTorch1.6,编程平台为PyCharm,编程语言为Python3.8,所有对比算法均在相同环境下运行。

1.3 YOLOv5s网络在苹果花朵检测中的应用

YOLOv5s目标检测算法采用尽可能小的网络深度和特征图维度,以确保其具有较小的权重文件和较快的检测速度,在保证目标检测精度的前提下,有利于搭载移动设备实现目标的实时检测。

本研究拟采用的技术路线如图3所示,将利用LabelImg工具标注完成的苹果花朵图像送入YOLOv5s目标检测网络,实现苹果花朵的准确快速检测。

图3 总体技术路线图 Fig.3 Overall technology roadmap

YOLOv5s的网络结构分为输入端、Backbone、Neck和Prediction 4个部分。YOLOv5s的输入端沿用了YOLOv4的Mosaic数据增强方法,对不同的图像进行堆积缩放、裁剪、排布以后再进行拼接。YOLOv5s的Backbone在输入图像前加入了Focus切片操作,采用CSPDarkNet53结构,可以在有效缓解梯度消失问题的同时减少网络参数的数量。YOLOv5s的Neck部分采用特征金字塔(Feature Pyramid Networks, FPN)+路径聚合网络(Path Aggregation Network, PAN)的结构,PAN利用Concat函数进行多层特征融合操作,从而提高了预测的准确性。Prediction利用网络提取到的特征进行预测,获得网络输出信息。

YOLOv5s的损失函数由分类损失函数、回归损失函数和置信度损失函数这3部分构成。在目标检测的后处理过程中采用非极大值抑制(Non Maximum Suppression, NMS)获取局部最大值。深度学习中通常采用检测评价函数(Intersection over Union, IoU)作为检测物体准确度的标准,具体计算方法可见参考文献[33]。

本研究采用精确率()、召回率()、mAP、模型大小、检测速度等五个指标对苹果花朵检测模型进行评价。当IoU≥0.5时为真情况,当IoU<0.5时为假正例情况,当IoU=0时为假反例情况。精确率、召回率和均值平均精度的计算如式(1)~(3)所示。

式中TP、FP、FN分别为真正例、假正例、假反例数量,真正例表示实际为正例且被分类器划分为正例,假正例表示实际为负例但被分类器划分为正例,假反例表示实际为正例但被分类器划分为负例,为检测类别数,本研究仅需识别花朵和花苞,故=2。

2 结果与分析

2.1 模型训练

本研究中共训练300轮次,网络训练结果如图4所示,在模型训练初期,模型学习效率较高,曲线收敛速度较快,当迭代次数达到265次左右时,模型学习效率逐渐达到饱和,损失在0.046左右波动。最终训练模型的值为85.27%,值为0.94,mAP(IoU=0.5)为95.14%。

图4 训练结果 Fig.4 Training results

2.2 检测结果

为了验证YOLOv5s网络检测苹果花朵的有效性,对测试集中的601幅苹果花朵图像进行了测试,测试结果表明,该方法检测苹果花朵的值为87.70%,值为0.94,mAP值分别为97.20%,模型大小为14.09 MB,检测速度为60.17帧/s。

YOLOv5s目标检测算法检测苹果花朵的效果如图5所示,其检测的置信度在检测框上方显示,图中每个花朵和花苞均可准确识别,且置信度皆在0.90以上,表明该算法可以有效地检测出苹果花朵和花苞,且检测的置信度较高。如图6所示,在更为复杂的场景中,如花朵数量较多、存在部分遮挡和背景复杂的情况,YOLOv5s目标检测算法亦可实现准确检测。

图5 苹果花朵识别效果图 Fig.5 Apple flower recognition renderings

图6 复杂情况下的花朵识别效果图 Fig.6 Flower recognition renderings in complex situations

2.3 不同目标检测算法的性能比较

为了评价YOLOv5s网络对苹果花朵的检测效果,在相同条件下,分别基于 YOLOv4、SSD和Faster-RCNN目标检测算法对苹果花朵训练集进行训练,训练轮次选择为300,再利用测试集对上述4种检测算法的性能进行评估,表2列出了YOLOv5s、YOLOv4、SSD和Faster-RCNN等4种目标检测算法的性能比较。

表2 4种目标检测算法的性能比较 Table 2 Performance of four target detection algorithms

由表2可知,YOLOv5s、YOLOv4、SSD和Faster-RCNN 4种目标检测算法检测苹果花朵的值分别为87.70%、89.56%、88.58%、71.28%,值分别为0.94、0.87、0.79、0.87,mAP值分别为97.20%、89.05%、87.45%、87.52%,模型大小分别为14.09、244.32、91.11、108.16MB,检测速度分别为60.17、26.54、45.48、14.63 帧/s。分析测试结果可以得出:YOLOv5s目标检测算法的检测精确率虽然比YOLOv4和SSD目标检测算法分别低1.86和0.88个百分点,比Faster-RCNN目标检测算法高16.42%,但其值分别比YOLOv4、SSD和Faster-RCNN目标检测算法高7、15、7个百分点,mAP分别比YOLOv4、SSD和Faster-RCNN目标检测算法高8.15、9.75、9.68个百分点,其模型大小分别比YOLOv4、SSD和Faster-RCNN目标检测算法小94.23%、84.54%、86.97%,检测速度分别比YOLOv4、SSD和Faster-RCNN目标检测算法快126.71%、32.30%、311.28%。

将测试集中的601幅图像按照不同颜色、不同天气情况和不同光照情况进行分类,在相同试验条件下,利用上述4种目标检测算法分别对不同场景下的苹果花朵图像测试集进行了测试,表3列出了不同场景下4种目标检测算法的检测效果。

表3 不同场景下4种目标检测算法的检测精度 Table 3 Detection accuracy of four target detection algorithms in different scenarios

由表3可知,对于不同花朵颜色、不同天气情况和不同光照情况,YOLOv5s模型的值比YOLOv4和SSD模型略低,但优于Faster-RCNN模型。针对不同花朵颜色、不同天气情况,YOLOv5s模型的值与YOLOv4、Faster-RCNN模型相当,优于SSD模型,针对不同光照情况,YOLOv5s模型的值高于其他3种模型。针对不同花朵颜色,YOLOv5s模型检测白色、粉色和玫红色花朵的mAP值均高于其他3种目标检测模型,检测红色花朵的mAP优于SSD模型,但低于YOLOv4和Faster-RCNN模型,针对不同天气情况和不同光照情况,YOLOv5s模型的mAP值均高于其他3种模型。

结果表明,应用YOLOv5s目标检测算法能够实现苹果花朵的快速检测,且该目标检测算法模型较小,考虑到机械疏花对精度要求相对不高,该网络在保持较高识别精度的前提下,通过牺牲部分精度指标而大幅降低模型大小并提升其运算性能,更有利于模型的迁移应用,可为疏花器械的发展提供一定的技术支持。

2.4 不同环境下的检测效果分析

1)该网络对不同天气下的花朵检测效果如图7a~7d所示,分别为晴天、多云、阴天、小雨天气下的苹果花朵检测效果,经测试,本方法检测晴天、多云、阴天、小雨天气下的苹果花朵的值分别为86.20%、87.00%、87.90%、86.80%,值分别为0.93、0.94、0.94、0.94,mAP值分别为97.50%、97.30%、96.80%、97.60%,结果表明,在不同天气情况,YOLOv5s网络仍然可以准确识别出苹果花朵且检测的置信度较高。

图7 不同天气情况下的花朵检测效果图 Fig.7 Flower recognition under different weather conditions

2)为了验证模型对不同颜色花朵的识别效果,本研究利用YOLOv5s目标检测算法对表1中的不同颜色花朵进行了测试,如图8所示为不同颜色花朵的检测效果,图8a~8d分别为白色、粉色、玫红色、红色花朵的检测效果,经测试,本方法对白色、粉色、玫红色和红色花朵的值分别为84.70%、91.70%、89.40%、86.90%,值分别为0.93、0.94、0.93、0.93,mAP值分别为96.40%、97.70%、96.50%、97.90%,结果表明,YOLOv5s目标检测算法可以准确识别出不同颜色的苹果花朵且检测的置信度较高。

图8 4种不同颜色花朵的检测效果 Fig.8 Recognition effect of four different colors of flowers

3)不同光照强度下的苹果花朵检测效果如图9所示,图9a~9b分别为顺光和逆光条件下的苹果花朵检测效果,经测试,本方法检测顺光和逆光条件下苹果花朵的值分别为88.20%、86.40%,值分别为0.94、0.93,mAP值分别为97.40%、97.10%,结果表明,对于不同的光照强度,YOLOv5s目标检测算法均可以准确识别出苹果花朵且检测的置信度较高。

图9 不同光照情况下的花朵检测效果图 Fig.9 Recognition results in different illumination conditions

3 讨 论

如图10所示为部分花朵被漏检和误检的情况,图10a中左下角箭头所指的4个花苞被漏检,图10b中左下角箭头所指的2个花苞被漏检,图10c中左下角箭头所指花朵被漏检,图10d中图像上方箭头所指花朵被漏检,左下角箭头所指花朵被误检为花苞。分析出现花朵漏检和误检的可能原因如下:

1)苹果花朵图像的采集设备为智能手机,拍摄图像时会存在一定程度的背景虚化,导致处于图像中心的花朵细节明显,而处于图像边缘的花朵细节模糊,苹果花朵检测模型在处理图像边缘的花朵时难以提取其特征,导致检测时出现部分图像边缘的模糊花朵漏检。

2)数据集中的苹果花朵种类较多,形态各异,苹果花朵检测模型对于形状较规则且分布较稀疏的苹果花簇的检测效果较好,对于花朵形状复杂且分布密集的花簇,如图10c和10d所示,花朵之间存在互相遮挡的情况,且花朵之间互相挤压导致花朵的形状不规则,由于相互遮挡的花朵外观相似,某一花朵的预测框可能会移至与其外观相似的另一花朵上,导致目标定位不准确,从而造成花朵的漏检和误检。

图10 漏检和误检的效果图 Fig.10 Renderings of missed and false detection

4 结 论

为了实现田间苹果花朵的准确快速检测,本研究基于YOLOv5s模型,实现了苹果花朵的高效检测,主要结论如下:

1)YOLOv5s算法检测苹果花朵的值为87.70%,值为0.94,mAP为97.20%,模型大小为14.09 MB,检测速度为60.17 帧/s。与YOLOv4、SSD和Faster-RCNN目标检测算法进行对比,YOLOv5s算法的值相较其他3种算法分别高7、15、7个百分点,mAP相较其他3种算法分别高8.15、9.75和9.68个百分点,且在模型大小和检测速度方面优势明显,在模型训练的过程中可以较大程度上减小内存的消耗,更有利于模型的迁移应用。

2)针对不同颜色、不同天气情况和不同遮挡情况下的苹果花朵,本研究提出的苹果花朵检测方法都能较好地识别苹果花朵,说明基于YOLOv5s的苹果花朵检测方法具有较好的鲁棒性。

3)本方法的检测精确率虽然略低于YOLOv4和SSD目标检测算法,但机械疏花对精度的要求相对不太苛刻,该网络能够在保持较高识别精度的前提下,牺牲部分精度指标而大幅降低模型大小并提升其运算性能,更有利于模型的迁移应用,可为疏花器械的发展提供一定的技术支持。

4)本方法对于花朵形状复杂且分布密集的花簇则存在部分花朵被漏检和误检的情况。后续可以探索新的多尺度特征融合算法,将低层特征与高层特征更有效地融合,提高复杂情况下的苹果花朵的检测效果。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!