复杂野外环境下油茶果快速鲁棒检测算法

描述

周 浩 1,唐昀超 2,邹湘军 1,王红军 1,陈明猷 1,黄钊丰 1

(1.华南农业大学 工程学院,广东 广州 510630;2.仲恺农业工程学院 城乡建设学院,广东 广州 510080)

摘  要:为了提高移动采摘机器人在复杂野外环境下检测油茶果的速度和鲁棒性,在 YOLOv4⁃tiny 网络的基础上提出YOLO⁃Oleifera 网络。首先将两个 1×1和 3×3的卷积核分别添加至 YOLOv4⁃tiny网络的第 2个和第 3个 CSPBlock模块之后,以有助于学习油茶果的特征信息和减少计算复杂度;接着使用 K⁃means++先验框聚类算法代替 YOLOv4⁃tiny 网络使用的 K⁃means先验框聚类算法,以获得满足油茶果尺寸的聚类结果。消融实验证明了网络改进的有效性。分别测试光照和阴影环境下的油茶果图像,实验表明 YOLO⁃Oleifera网络在不同光照条件下检测油茶果具有鲁棒性。此外,对比实验表明被遮挡的油茶果因为语义信息的缺失而导致 Precision 和 Recall降低。将 YOLO⁃Oleifera 网络的测试结果与 YOLOv5⁃s、YOLOv3⁃tiny和 YOLOv4⁃tiny 网络进行比较,结果显示 YOLO⁃Oleifera 网络的 AP 最高,而且 YOLO⁃Oleifera 网络占用硬件资源最小。此外,YOLO⁃Oleifera 网络检测图像平均花费 31 ms,能够满足移动采摘机器人的实时检测需求。因此,提出的 YOLO⁃Oleifera 网络更加适合搭载在移动采摘机器人上进行检测任务。

0 引 言

随着人工智能技术和传感器的发展,许多工作可以被智能机器人代替。在农业中,采集果实的生长信息是智慧农业中的一个重要环节,在果实生长过程中检测和分析果实数量可以帮助记录落果规律、预估产量和规划市场[1]。因此,机器视觉及其相关算法应运而生,它的应用提高了复杂农业环境中作业机器人的效率、功能、智能和远程交互性[2]。

自然环境下的果实生长环境复杂,所以检测果实成为了农业工程研究领域的一个重要方向。在早期的研究中,普遍通过提取果实颜色、纹理、轮廓等特征的方法进行检测[3⁃7]。尽管这些方法非常适合其设计的数据集,但通常仅仅针对特定形态的果实[8]。因此,有必要找到一种通用的特征提取网络,以克服传统图像检测算法的局限性。

近年来,深度学习已成为人工智能领域的一项重要技术,它可以自主学习相似事物之间的差异,并通过训练非线性网络将原始数据转化为更高层次和更抽象的表达方式[9]。基于深度学习的目标检测网络分为单阶段检测网络和两阶段检测网络。一些研究采用了最新的两阶段检测网络对果实进行检测,例如 Faster R⁃CNN 和Mask R⁃CNN[10⁃14]。然而,两阶段检测网络在提取目标区域时需要消耗大量的计算机资源,检测速度仍有局限性,无法应用于果园现场实时检测。与两阶段检测算法不同,单阶段检测网络可以直接预测最终的检测结果,其中 YOLO 是最具代表性的实时目标检测算法,它将图像分为稀疏的网格并对每个网格单元进行多类别和多尺度的预测[15⁃21]。

以上的 YOLO 网络虽然具有实时的检测速度,但是它训练时需要功能强大的 GPU 和大量的内存,大多数计算机面临着硬件的挑战。此外,训练完后的网络往往因为占用内存较大而对移动设备提出了更高的硬件要求。YOLOv4⁃tiny 网络是 YOLOv4 的轻量化版本,它拥有更少的层数和更快的检测速度,可以应用在便携式设备上,并且训练时占用的 GPU 资源更少。根据以上分析,本研究基于 YOLOv4 ⁃tiny 网络,提出了改进后的YOLO⁃Oleifera 网络用于解决复杂果园环境中的油茶果检测问题。在实验部分,本研究首先设计消融实验证明了网络改进的有效性;然后,为了表明 YOLO⁃Oleifera 网络在不同光照条件下检测油茶果具有鲁棒性,本研究分别测试光照和阴影环境下的油茶果图像;接着,本研究设计对比实验探究 YOLO⁃Oleifera 网络对不同遮挡程度的油茶果的检测效果;最后,本研究将 YOLO⁃Oleifera 网络的测试结果与 YOLOv5⁃ s、YOLOv3⁃tiny 和 YOLOv4⁃tiny 网络进行比较,并且根据 AP 值、检测速度和网络大小来分析哪个网络更适合搭载在移动采摘机器人上。

1 材料与方法

1.1 图像采集与扩充

本文选择在油茶果成熟的 10 月份采集图像,采集地点位于中国广东省清远市美林湖油茶果种植基地。采集图像的设备为尼康 D5600 单反相机。在光照和阴影环境下使用尼康相机分别拍摄 500 张图像,每张图像包含 1~5 颗油茶果。拍摄的图像包含以下情况:完整的油茶果和被遮挡的油茶果。根据遮挡程度,将油茶果分为轻微遮挡和严重遮挡;严重遮挡的情况包括油茶果被叶子、茎或其他油茶果遮挡超过 50%;其他的情况为轻微遮挡。部分油茶果图像如图 1所示。

检测算法

将包含500 对1000 张图像的整个数据集随机分为训练集和测试集。其中,训练集由600 张图像组成,其余 400张组成测试集。油茶果数据集分类如表1所示。

检测算法

文献[22]使用消融实验表明,更多的训练集可以提高基于深度学习的目标检测网络的泛化能力和鲁棒性。然而,本文的原始训练集仅有 600 张图片。为了解决这一问题,对训练集进行扩充。

首先,将图片随机缩放,随机缩放因子的范围在[1.1,1.2]。然后,在缩放图片中随机裁剪与原始图像大小相同的图片。接着,将原始图片分别旋转 90°和 270°。旋转后的图片能够识别不同方向的油茶果,从而提高网络的性能。通过以上方法将原始的训练集进行 3 倍的扩 充 ,因 此 训 练 集 从 原 始 的 600 张 图 片 扩 充 到 了1 800张。

1.2 YOLOv4⁃tiny网络

近年来,基于卷积神经网络的深度学习技术大大提高了图像检测算法的鲁棒性。在本研究中,针对油茶果的检测提出了改进的 YOLOv4⁃tiny 网络。YOLOv4⁃tiny网络是在 YOLOv4 网络的基础上设计的,它具有更快的目标检测速度,其精度可以满足实际应用的需求,大大提高了在嵌入式系统或移动设备上部署目标检测算法的可行性[23]。因此,YOLOv4⁃tiny 网络更适合部署在采摘机器人上面。

YOLOv4⁃tiny 网络使用 CSPDarknet53⁃tiny 网络作为骨干网络,CSPDarknet53⁃tiny网络在跨阶段部分的网络中使用 CSPBlock模块。与 YOLOv4 网络的 ResBlock 模块相比,CSPBlock 模块可以增强卷积网络的学习能力。为 了 进 一 步 简 化 计 算 过 程,YOLOv4 ⁃ tiny 使 用LeakyReLU函数作为 CSPDarknet53⁃tiny 网络中的激活函数。在特征融合方面,YOLOv4⁃tiny 网络使用特征金字塔网络提取不同尺度的特征图,进而提高目标检测速度,而不使用 YOLOv4 网络中的空间金字塔池和路径聚合网络。假设输入的图像大小为 416×416,其网络结构如图 2所示。

检测算法

1.3 改进的 YOLOv4⁃tiny网络

YOLO 系列网络采用 K⁃means聚类算法得到特定要求的 9 个不同尺度的先验框[24]。K⁃means 聚类算法是一种经典的无监督聚类算法,算法过程如下:

1)从样本集中随机选取 k 个样本作为初始聚类中心 Ck = { c1 ,c2 ,…,c k }。

2)计算每个样本到 k个聚类中心的距离,并将每个样本点归类于距离最近的聚类中心所对应的类中。

3)计算新形成的类的均值,并将其作为新的聚类中心。

4)重复步骤 2)和步骤 3),直到聚类中心的位置不再变化,生成最终的 k个聚类中心。K⁃means 聚类算法随机选取初始聚类中心,这导致聚类结果出现了一定的随机性,容易陷入局部最小值,影响先验框尺寸的聚类效果。与 K⁃means 聚类算法相 比 ,K ⁃means++ 算 法 改 进 了 初 始 聚 类 中 心 的 选 择机制,获得的聚类结果更加稳定合理。因此,本文选择K⁃means++聚类算法作为先验框聚类方式。K⁃means++聚类算法的过程如下:

1)从样本集中随机选取一个样本作为初始聚类中心 C1。

2)计算出每个样本点 x 与当前已有聚类中心的最短距离D(x),接着计算每个样本被选为下一个聚类中心的概率P(x):

检测算法

3)用轮盘赌算法选出下一个聚类中心,并更新概率 P ( x )。

4)重复步骤 2)和步骤 3),直到选出 k个聚类中心。

5)执行 K⁃means聚类算法的步骤 2)~步骤 4)。

其中,轮盘赌算法是一种随机选择算法,如果 D ( x )越大,则样本点 x 被选为下一个聚类中心的概率越大,在一定程度上避免了 K⁃means 算法由于随机选择聚类中心而造成聚类结果不稳定、易陷入局部最小值的缺点。

YOLOv4⁃tiny 网络包含 21 个卷积层。与其他单阶段检测网络相比,它拥有更少的卷积层。但是,更深的卷积层有利于学习目标特征。因此,本文在 YOLOv4⁃tiny 网络的主干特征提取网络中,在第 2 个和第 3 个CSPBlock 之后分别添加两个 1×1 和 3×3 的卷积核,以开发更深的网络结构。添加进去的 1×1 卷积核的卷积层可以增加网络的非线性特征,而无需更改卷积层的接收场。同时,具有 1×1 卷积核的卷积层等效于跨通道参数池化层,该层允许跨通道信息的交互,从而提升网络的学习能力[25]。添加的具有 3×3 卷积核的卷积层可以输出不同大小和通道的特征图,从而改善网络的特征表达[26]。改进后的网络主干特征提取网络结构如图3 所示。将使用 K⁃means++先验框聚类算法和添加了两个1 × 1 和 3 × 3 卷 积 核 的 YOLOv4 ⁃ tiny 网 络 称 为 YOLO ⁃Oleifera网络。

检测算法

1.4 网络训练

训练是在配备了 AMD Ryzen 5 3600 CPU、16 GB2 400 MHz内存和 GTX2070Super 8 GB 显卡的台式电脑上 进 行 。使 用 的 软 件 工 具 包 括 CUDA 11.1、Dudnn、OpenCV 3.4.1计算机视觉库和 Visua Studio 2017集成开发环境。

训练时,以 416×416像素的图像作为输入,批次大小设置为 64,初始学习率为 1×10-3,网络的动量和重量衰减分别设置为 0.9和 0.000 5。在训练集上进行了 10 000次迭代大约需要 4 h。

训练结束后,使用 Precision、Recall、AP 和检测速度来评估网络的性能。Precision和 Recall被定义如下:

检测算法

式中:TP、FP 和 FN 分别表示正确检测到的油茶果对象的数量(True Positives)、错误检测到的油茶果对象的数量(False Positives)和错过的油茶果对象的数量(FalseNegatives)。

AP 被定义为 Precision ⁃Recall 曲线下的面积,它可以显示网络在不同置信度阈值下的整体性能,定义如下:

检测算法

AP 值会随着 IOU 阈值的变化而变化,设置 IOU的阈值为 0.75。需要指出的是,如果没有特别说明,后文中所有的深度学习网络都是使用扩充的训练集首次进行训练,然后使用 200对测试集进行性能评估。

2 实验与结果讨论

2.1 两处修改的消融实验

本文设计了消融实验以验证改进的先验框聚类算法和在 YOLOv4⁃tiny 网络中添加卷积核的有效性。因此,原始的YOLOv4⁃tiny网络、YOLO⁃deep网络和YOLO⁃Oleifera网络被分别训练。其中,将仅添加了1×1和 3×3卷积核的 YOLOv4⁃tiny 网络称为 YOLO ⁃deep 网络。训练集和测试集均包含所有光照和阴影条件下的油茶果,并且不区分油茶果的遮挡程度。训练结束后,Precision⁃Recall曲线如图 4所示。

检测算法

在 相 同 的Recall 条 件 下,YOLO ⁃ Oleifera网 络 的Precision 高 于 YOLO ⁃ deep 网 络 ,YOLO ⁃ deep 网 络 的Precision 高于 YOLOv4⁃tiny。三种网络对应的 AP 值如表 2所示。可以得出结论,通过添加 1×1 和 3×3 卷积核,YOLOv4⁃tiny 网络的 AP 值提高了 3.11%,证明了更深层次网络的有效性,它可以学习更加丰富的油茶果特征信息。通过使用改进的先验框聚类算法,YOLO⁃deep 网络的 AP 值提升了 1.75%,证明 K⁃means++聚类算法的聚类结果受初始聚类中心影响较小,更容易获得满足真实检测目标尺寸的聚类结果。

检测算法

2.2 改进的网络在不同光照条件下的性能

对改进的网络在不同光照条件下的鲁棒性进行了研究。训练集包含所有光照和阴影条件下的油茶果,将测试集分为 200张光照图片和 200张阴影图片并分别进行评估,以上都不区分油茶果的遮挡程度。表 3 显示了改进网络在不同光照条件下的检测结果。在测试集的所有油茶果中,在阳光条件下的 Precision 达到 90.87%,与遮光条件下的 Precision(90.73%)相差不大。在阳光条 件 下 的 Recall 达 到 89.28%,同 样 与 遮 光 条 件 下 的Precision(88.97%)相差不大。可以得出结论,所提出的网络对光照变化具有鲁棒性,这是采摘机器人在复杂环境下作业的关键。

 

检测算法

 

2.3 改进的网络在不同遮挡条件下的性能

所有测试集图片中的轻微遮挡和严重遮挡果实被分别统计出来。测试完成后,手工统计检测情况。部分果实的测试结果如图 5所示。

改进的网络在不同遮挡条件下的检测结果如表 4所示。可以得出结论,在轻微的遮挡条件下,90.03%的油茶果被检测出,比严重遮挡的高出 5.05%,表明一部分语义信息的丢失。因为严重的遮挡,注意到有部分果实没有被预测框标记。如图 5a)所示,部分果实被其他果实、树叶或茎严重遮挡,以至于影响检测效果。但是,这个问题仍然有解决方案。因为采摘机器人在采摘遮挡油茶果后,被遮挡的油茶果会出现,而且机器人在果园中可以移动空间位置,导致被遮挡的果实改善遮挡条件,并且被重新检测出来。

检测算法

检测算法

2.4 YOLO⁃Oleifera网络与其他深度学习网络的比较

将 YOLO⁃Oleifera网络与 YOLOv4⁃tiny、YOLOv3⁃tiny和 YOLOv5 ⁃ s 网 络 进 行 了 对 比 ,目 的 是 验 证 改 进 的YOLO⁃Oleifera 网络的性能。表 5 列出了测试的所有深度学习网络的检测结果。结果表明,在复杂的果园环 境 中,YOLO ⁃ Oleifera 网络的 AP 达到 92.07%,高于YOLOv3 ⁃ tiny 网 络(82.77%)、YOLOv4 ⁃ tiny 网 络(87.21%)和 YOLOv5⁃s网络(90.14%)。

检测算法

就检测时间而言,YOLO ⁃Oleifera 网络检测每张图片 平 均 花 费 31 ms,比 YOLOv4 ⁃ tiny 网 络 长 2 ms,比YOLOv3⁃tiny网络短 5 ms,比 YOLOv5⁃s网络短 24 ms,因此 YOLO⁃Oleifera 网络与其他轻量网络在检测速度方面没有明显区别。

网络大小是评估网络应用在嵌入式或便携式设备上的一个指标。越小的网络可以降低采摘机器人的硬件要求。YOLO ⁃Oleifera 网络的大小为 29 MB,均小于YOLOv4⁃tiny、YOLOv3⁃tiny 和 YOLOv5⁃s 的大小。值得注意的是,YOLO⁃Oleifera 网络是 YOLOv4⁃tiny 网络添加了 1×1 和 3×3 的卷积得来,先验框聚类算法并不影响网络的大小,结果却显示 YOLO⁃Oleifera 网络最小。原因是添加了两个 1×1 和 3×3 的卷积层,这样可以在不改变网络层接收场的情况下增加非线性度,从而避免了新结构的计算复杂性。

基于以上分析,可以得出结论:YOLO⁃Oleifera 网络的 AP 要高于 YOLOv3⁃tiny、YOLOv4⁃tiny 和 YOLOv5⁃s 网络。YOLO⁃Oleifera 网络的检测速度与其他网络没有明显的区别,都可以满足移动采摘机器人实时检测的需求。YOLO⁃Oleifera 网络的尺寸最小,只有 29 MB,这对移动采摘机器人提出了更低的硬件要求。因此,YOLO⁃Oleifera 网络可以为油茶果采摘机器人的实际应用提供可靠的支持,满足野外工作的需求。

3 结 论

根据复杂果园环境下的油茶果检测需求,本文提出了一种基于 YOLOv4⁃tiny 网络的 YOLO ⁃Oleifera 网络用于检测油茶果。网络在以下两个方面进行了改进:

1)使用 K⁃means++先验框聚类算法代替 YOLOv4⁃tiny 网络使用的 K⁃means 先验框聚类算法,目的是避免K⁃means 算法由于随机选择聚类中心而造成聚类结果不稳定、易陷入局部最小值的缺点。

2)为了更有助于学习油茶果特征信息和减少计算复 杂 度 ,将 两 个 1 × 1 和 3 × 3 的 卷 积 核 分 别 添 加 至YOLOv4⁃tiny 网络的第 2 个和第 3 个 CSPBlock 模块,以开发更深层次的网络。

分别在光照和阴影的条件下,使用尼康相机采集现场油茶果图片作为训练集,并对其进行图片扩充以提高目标检测网络的泛化能力和鲁棒性。进行了实验,以验证提出的 YOLO⁃Oleifera网络的性能:

1)改进的先验框聚类算法和 YOLO⁃deep 网络的消融实验显示了每种修改的有效性。通过添加 1×1和 3×3卷积核,YOLOv4⁃tiny 网络的 AP 值提高了 3.11%。在YOLO⁃deep 网络的基础上,通过使用 K⁃means++先验框聚类算法,YOLO⁃deep网络的 AP值提升了 1.75%。

2)在光照和阴影条件下进行了遮挡实验。实验结果显示两者的 Precision 和 Recall 均没有明显差别,证明了网络在不同光照条件下的鲁棒性。

3)进行了不同遮挡条件下的实验。在轻微的遮挡下,YOLO ⁃Oleifera 网络的 Precision 和 Recall 分别达到91.99% 和 90.03%,分别比严重遮挡高 5.06% 和 5.05%。这主要归因于严重遮挡导致语义信息的丢失。

4) 将 YOLO ⁃ Oleifera 网 络 与 其 他 深 度 学 习 网 络(YOLOv5 ⁃ s,YOLOv3 ⁃tiny 和 YOLOv4 ⁃tiny)进行比较。AP、检测速度和网络大小被用于评估这些网络在果园中检测油茶果的性能。对于相同的训练集和测试集,YOLO⁃Oleifera 网络的 AP 最高。同时,YOLO⁃Oleifera 网络拥有较短的检测时间,可以为移动采摘机器人提供卓越的实时检测速度。此外,YOLO ⁃Oleifera 网络的尺寸最小,只有 29 MB,这对移动采摘机器人提出了更低的硬件要求。因此,YOLO ⁃Oleifera 网络可以为油茶果采摘机器人的实际应用提供可靠的支持,满足野外工作的需求。

总体而言,YOLO ⁃Oleifera 网络对复杂果园环境下的油茶果检测具有鲁棒性,更适合搭载在移动采摘机器人上。本研究可以为移动水果采摘机器人在复杂果园环境下检测水果提供技术参考。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分