文摘

实现快速、准确检测的松果自然环境对收益率估计和自动选择至关重要。然而,复杂的背景和小目标检测对松果构成重大挑战。本文提出一个松果检测方法使用改进的你只看一次(YOLO)意思版本4算法来克服这些挑战。首先,最初的松果图像数据来自天然的松树林。利用爬虫技术从互联网上收集更多的松果图像扩大数据集。第二,人口连接卷积网络(DenseNet)结构中引入YOLOv4改善功能重用和网络性能。此外,骨干网络修剪,以降低计算复杂度和维持输出尺寸不变。最后,对于在不同尺度特征融合的问题,改善颈部网络设计使用scale-equalizing金字塔卷积(SEPC)。实验结果表明,改进的YOLOv4模型比原YOLOv4网络;精度的平均值,召回,美联社达到96.1%,90.1%,95.8%;模型的计算量减少21.2%; the detection speed is fast enough to meet the real-time requirements. This research could serve as a technical reference for estimating yields and automating the picking of pine cones.

1。介绍

松子是常用的传统食谱在许多国家,因为他们有丰富的风味和营养价值1]。松子来自松果,农民仍摘松果的主要力量。松果收获期间,工人需要把松果从树上收集他们在地上。这项工作是耗时和高风险。同时,员工缺乏知识和经验犯不必要的错误,带来更多的不确定性来生产。随着信息技术的发展,自主机器人已经成为一个重要的产量估算方法和自动采集并已广泛应用于农业和林业领域(2- - - - - -4]。作为机器人系统的一部分,机器视觉识别可能的关键技术之一(5]。因此,设计一个检测的机器视觉系统松果在树上和地面在自然环境中可以为松果估产提供技术支持和整个自动采摘过程中,具有重要意义。

机器视觉技术主要应用于农业和林业在很长一段时间里,许多方法已经开发基于图像检测水果。陆et al。6)提出了一种分层的基于形状特征来检测轮廓分析方法不成熟的柑橘。马利克et al。7)开发的算法来检测成熟的西红柿根据色彩空间和分水岭。李等人。8]提出的方法识别绿色苹果。该方法结合纹理特征、形状特征和颜色特征,然后使用支持向量机分割。然而,前面提到的方法依赖于浅特征提取和不能解决的问题由重叠和阻塞引起的。此外,由于复杂的背景和变量照明,这些方法不能获得理想的结果在实际生产环境中(9]。

深度学习近年来迅速发展。由于它能够从大量的信息中提取高维特征,深度学习技术比传统的方法更准确10]。基于深度学习技术,研究人员已经开发出一系列水果检测方法(11]。你等。12百香果)提出了一种方法检测基于多个规模速度提出卷积神经网络,F1得分为0.909,有效地提高了小百香果检测。柯克et al。13)结合生物启发功能与单程深度学习网络检测草莓和实现检测30帧/秒的速度在1920×1080像素的图像。梁等。14)考虑光照条件对水果识别的影响。他们提议结合你只看一次(YOLO)意思网络和U-Net,可有效检测荔枝在夜间环境。尽管前面提到的方法在实际应用中取得了良好效果,松果检测仍面临许多挑战。首先,充足的数据是使用深度学习技术的必要条件15]。然而,复杂的松树森林环境使它具有挑战性的收集松果图片,还没有公开的数据集在线可用的松果。另一方面,松果的检测环境比其他水果更加复杂,从而导致不满意现有的算法的结果。此外,松果检测任务独特而复杂的特性和需要高速度和准确度。自从小目标小,算法将在预测不准确位置信息比更大的目标。在实际生产中,检测速度是最关键的因素之一,和松果检测要求较高的实时性能。因为前面提到的原因,应用深度学习技术在松果检测仍然是一个迫切需要解决的问题。

目前优秀的单程检测算法,YOLO[意思16- - - - - -18]系列算法广泛应用于各种目标检测任务(19- - - - - -21]。YOLO算法直接使用意思回归检测对象,这有效地提高了检测速度。此外,由于优秀的网络结构设计、YOLO算法意思也有更高的检测精度。在先前的研究中,我们结合边界平衡生成对抗网络和YOLOv3检测松果和取得一定成果22]。然而,这种方法只是地上的松果,和它的精度和速度需要进一步改善。与YOLOv3算法相比,YOLOv4 [23]算法拥有一个更加平衡的速度和准确度,可以更好的应用于实际的工作环境。然而,松果检测任务,骨干网络和颈部YOLOv4有进一步改善的空间。因此,本文设计一种基于YOLOv4松果检测算法。其主要贡献如下。首先,我们手动收集更多的图片的松果基于以前的工作。所有图片收集在一个天然的松树林。与此同时,我们利用爬虫技术从互联网上获取图像扩展数据集。第二,我们介绍了密集连接卷积网络YOLOv4 (DenseNet)结构模型,从而提高了检测性能的模型,通过特征重用。然后,我们修剪骨干网减少计算复杂度并保持输出尺寸不变。最后,提高小目标探测的性能时,我们使用的想法scale-equalizing金字塔卷积(SEPC)供参考,设计一种改进的脖子不同尺度之间的网络实现功能融合。

本文的其余部分组织如下。部分2介绍了数据集;部分3介绍了YOLOv4模型和相关的改进方法;部分4介绍了实验配置,比较实验结果和讨论;部分5介绍了本文的结论和展望。

2。数据集和数据增加

2.1。数据集

在这个研究中,我们第一次手工收集了961张图片的松果林场在佳木斯市城市,黑龙江省,中国从2019年到2020年。来模拟复杂的检测背景,我们开发了一个网络爬虫程序从互联网下载松果图像。免费下载图像的主要来源是谷歌和画廊网站。手动筛选后,得到了450张图片。最后,我们得到了一个松果包含1411张图片,把它分成训练集和验证集根据8:2。

具有下列特征,本研究的数据集。目标选择,收集到的图像数据集包括地上的松果,松果在树上,成熟的松果,和不成熟的松果。因此,在本研究提出的方法可以提供一个技术参考完整的松果收获的过程。此外,我们认为不同的光强度的影响:图像采集阳光,阴天,包括收集时间8点,下午1点和下午3点。此外,网络爬虫技术丰富了检测松果的背景图片,确保检测方法更加健壮。图1说明了不同的松果图像数据集。

2.2。数据增加

数据增强策略可以增加丰富的实验数据和模拟对象的复杂的场景更有效地检测,从而提高模型的性能(24]。在这个研究中,除了五个标准数据扩增方法(翻转、旋转、缩放、剪切和亮度调整),马赛克被用来增加数据。马赛克是一种CutMix[的进一步扩展25数据增强算法。它结合了四个训练图像到一个特定的比率,从而提高模型的识别能力在复杂背景和小目标检测的准确性。图2显示数据增加的影响。

3所示。方法

3.1。YOLOv4

YOLOv4是一种高精度和实时单程Alexey提出的目标检测算法在2020年4月,已被原作者YOLO系列的意思。如图3,YOLOv4模型主要由三部分组成:骨干网,脖子上网络,预测网络。

YOLOv4 CSPDarkNet53命名的骨干网,DarkNet53[的优点相结合18)和Cross-Stage局部网络(CSPNet) (26]。在YOLOv4 CSPDarknet53由5 CSP模块,每个CSP模块包含几个残留层。通过使用cross-stage层次结构,CSP模块基础层的特征映射分为两个部分。通过整合梯度变化特性映射从头到尾,可以减少计算量,可以保证和准确性。因此,使用CSP模块而不是普通的卷积层可以解决梯度消失问题和过度拟合问题造成的密集的网络,使模型更轻量级的和准确的。

颈部网络是一系列的功能聚合层,把图像的特征。YOLOv4结合空间金字塔池(SPP) [27和潘28颈部形成网络。SPP结构,输入从骨干经历四个不同max-pooling操作进一步提取和融合功能。潘融合功能层SPP和骨干网络的输入并将它们发送给预测网络检测。如图4金字塔,与功能网络(红外系统)在YOLOv3 YOLOv4构建一个自底向上的功能转移路径通过添加两个锅结构,使低级的传播特性和增强了检测不同尺度的目标。

3.2。改进的方法

主要的改进提出了基于YOLOv4如下:介绍了DenseNet结构、修剪骨干网络,设计一种改进的脖子上网络。

3.2.1之上。骨干网

YOLOv4骨干网络中的CSP模块使用ResNet [29日结构来解决过度拟合的问题和梯度消失。但松果检测任务,大部分的目标需要检测小目标,和浅的功能语义信息提取网络更重要。类似于DenseNet [ResNet结构,30.)结构优化的网络连接前后层。不同之处在于,只ResNet结构之间建立联系前后层的一部分,而DenseNet结构建立前后层之间的联系。因此,DenseNet可以更好的传递功能语义信息网络的深度。的原则DenseNet所示(1)。假设输入 , 代表了 th层;每一层实现一个非线性变换 然后的输出th层

原YOLOv4 CSP模型有5个模块。代之以CSPDenseNet模块可以进一步加强浅的传播特性信息网络。然而,当结构组成是相同的,CSPDenseNet模块参数超过CSP模块。使用CSPDenseNet模块替换所有CSP模块将大大增加的计算量,减少模型的检测速度,提高检测精度不能保证。第三、第四和第五CSP模块位于一个更深层次的网络。代之以CSPDenseNet模块可以更好地解决梯度消失的问题,实现性能和速度之间的平衡。因此,本文使用CSPDenseNet模块取代3日,4日和5日CSP模块。如图5,CSPDenseNet模块将输入分成两部分,一部分由密集计算块,另一部分是通过cross-stage连接层次结构。致密的块由几种致密层,每个致密层包含两个卷积操作,1×1和3×3。1×1卷积操作是用来调整输入维数,减少计算复杂度,和3×3卷积操作用于提高特征提取。然后,任何两个致密层连接的快捷链接。

在原始YOLOv4, CSP模块使用米什作为激活函数,和其他模块使用Leaky-ReLU作为激活功能。米什非线性提高精度,但在嵌入式环境中,其计算成本比Leaky-ReLU更加昂贵。与米什相比,思路(31日)也有类似的性能和较低的计算成本。为了降低计算复杂度,米什激活函数模型中改变了思路,和Leaky-ReLU保持不变。

过滤器在致密层的数量会影响网络的性能。太多的过滤器将导致复杂的计算,和太少的过滤器将导致不足的特征提取。YOLOv4指原残块,我们为1×1卷积过滤器的数量到64年,128年和256年和过滤器的数量为3×3卷积32,64和128。此外,五个原始CSP模块包含1、2、8、8和4残留层,分别。降低计算复杂度和维持输出尺寸不变,我们修剪网络结构通过设置每个CSPDenseNet结构的致密层数到4。表1显示了原始主体结构和改进的骨干网络结构。

3.2.2。脖子上网络

脖子网络目标检测框架是一个关键环节。它再加工的特性提取主干金字塔生成功能,这将增强在不同尺度模型的检测对象。出现之前的路径聚合网络(PAN),功能聚合在目标检测框架通常使用红外系统实现。红外系统只有一个自上而下的功能转移路径,增加了一个自下而上的功能转移路径增强特性融合的效果。

虽然潘提高融合的特性,它不考虑的内在属性特征金字塔,可以进一步改善。王等人。32)提出了SEPC探索金字塔的不同尺度之间的相互作用特性。规范是一个3 d卷积由N 2 d曲线玲珑,其中包括规模和空间维度。规范的区别、红外系统和潘图所示6。为每个特性融合计算,SEPC添加浅和更深层次的功能,相当于结合红外系统的优点和锅。当多个SEPC模块相结合,空间维度的优势将更加明显。

SEPC(所示的计算过程2): 是输出, 不同尺度的输入特性图, , , 三个独立的二维卷积内核, 代表卷积的步幅内核 当计算金字塔顶层的特性,第一项是不必要的,在计算底部标高时,最后一项是不必要的。

当内核卷积的步伐 是0.5,输入特性映射将首先使用双线性upsampling卷积,然后使用一个内核的脚步一个用于计算,(2可以转换成)

为了提高性能,综合批正常化(iBN)和可变形的卷积网络(宽带)33)用于SEPC。伊本的计算是基于金字塔中的所有特征图谱功能,而不是一个单一特征映射,使得方差较小,因此可以达到更好的训练效果下小批量大小。宽带可以维护规模特征图谱之间的平衡,从而保持常数比例尺提取特征。

在这项研究中,我们使用SEPC改善颈部网络。最初的脖子网络输入输出的由第三,第4和第5 CSP模块在骨干网络。为了更好地利用低级特性,我们增加了第二个CSP模块的输出作为一个额外的输入。然后,我们两个SEPC模块用于融合的特性。第一个SEPC模块有四个输入,第二个只有三个输入框。自骨干网DenseNet结构提高了传输的底层功能,并考虑计算的规模,额外的输入时只使用第一个SEPC模块计算金字塔顶层的特性。此外,我们修改了宽带层来优化网络结构的位置。与普通的卷积层相比,宽带的优点是,它可以提取特征相同的规模从不同层次的特征图谱。然而,宽带的计算层比普通的更复杂的卷积层。在原始SEPC中,在计算时使用的是宽带层特性融合。 Each DCN layer will be used multiple times when calculating the feature fusion, which will bring about a substantial increase in the amount of calculation. The primary function of the SEPC module is to realize feature fusion better, and feature extraction has been completed before. Therefore, using DCN in SEPC feature fusion will only increase the amount of calculation and cannot reflect the advantages of DCN. We added DCN layers to extract features from the feature pyramid before computing the feature fusion and replaced the DCN layers in SEPC with ordinary convolutional layers. In this way, the computational complexity is reduced while retaining the advantages of DCN. Finally, Figure7展示了我们的改善颈部网络结构。

总之,图8展示了我们的改进YOLOv4模型,我们的主要贡献如下。的优点的基础上保留原始YOLOv4模型中,我们介绍了DenseNet结构来提高性能的骨干网,修剪网络结构来减少计算和维持输出尺寸不变,并设计一个新的脖子网络改善功能融合的效果。

4所示。实验和分析

4.1。实验平台和参数

本研究使用Python编写程序代码,和系统环境如下:英特尔酷睿19 10885 h CPU、RAM 64克、英伟达方形住宅区RTX 5000 Max-Q GPU, 10和Windows操作系统。所有模型都是训练有素的300年的时代,一批尺寸16,一个输入图像大小为512×512。培训环境是Python 3.7;深度学习框架PyTorch 1.8;软件环境是Cuda11.0和cudnn8.0 GPU。学习速率的初始值是0.01。余弦退火作为改变策略,学习速率的变化曲线如图9

此外,在培训过程中使用图像增强参数如表所示2:

4.2。模型的评价指标

在本文中,我们使用精度,召回,平均精度(美联社)作为性能评价指标。精度在所有检测到的概率正确的目标;回忆的概率是所有积极正确样品确认;美联社是精度的加权平均数在每一个回忆的价值实现。他们的计算方法如下所示: 在哪里 是积极的样本的数量,正确识别; 是负样本的数量被错误地鉴定了; 是积极的样本的数量被错误地鉴定了;和 在第n个阈值的精度和召回。

4.3。实验结果和分析
4.3.1。改进的骨干网络的影响

这个实验的目的是验证引入DenseNet结构和修剪的影响网络的性能模型。图10的比较实验结果显示YOLOv4,骨干网络和原始YOLOv4有所改善。

根据这些测量,精度,召回,美联社的模型修改之前和之后基本上保持不变。这意味着,松果的检测任务,使用CSPdarknet53作为骨干网络冗余和引入DenseNet结构或修剪网络不会影响精度。然而,在修改骨干网络,模型的计算成本从95.6 GFLOPs下降到84.8 GFLOPs,降低11.3%,提高检测速度。此外,图11显示了损失变化过程的训练。20世纪后,修改后的模型的损失价值下降得更快。所以,DenseNet结构的引入有利于特征提取过程,可以使模型有更好的收敛效果和更快的收敛速度。

4.3.2。改善颈部网络的影响

这个实验的目的是验证性能颈部的网络设计。我们训练有素的原始YOLOv4和YOLOv4改进的脖子。实验结果如图所示12

在使用网络我们设计的颈部,模型的精度从92.8%上升到94.2%;记得从83.6%上升到88.1%;的(电子邮件保护)从88.4%上升到93.7%。虽然精度只有一个小小的改进,回忆和AP有显著提高。这表明改进的脖子网络可以有效地提高特征融合的效果。此外,与原来的脖子网络相比,改进的脖子网络删除一些额外的回旋的层,因此其计算复杂度较小。

4.3.3。整体性能比较

在这个实验中,我们测试了YOLOv4整体的性能改善。如图13的精度改善YOLOv4是96.1%,召回是90.1%,(电子邮件保护)95.8%,(电子邮件保护):0.95是68.3%。松果的检测任务,我们改进的骨干网络和颈部网络产生了耦合响应。相比之下,使用改进的骨干网或改善颈部网络,结合可以更好地提高模型的性能。此外,我们的计算成本改进YOLOv4 75.3 GFLOPs,原始YOLOv4小于21.2%,但我们的改进的模型具有较高的精度。因此,我们的改进方法是有效的。

此外,整体的测试结果比较图14。当目标被阻塞或目标很小,原来YOLOv4有许多错过和错误的。YOLOv4改善的效果明显优于未被利用的方法。图中红色标记的测试结果是同一区域。通过比较,可以清楚地看到,改进的模型已经探测到目标由原来的YOLOv4,错过了和改进的模型具有更高的信心。

4.3.4。与其他模型相比

现有的检测模型通常用于多类目标探测任务,及其检测对象包括大、中、小目标,所以它们可能不是有效的特定的检测任务。我们改进的模型只是为了松果检测任务,和所有的改进方法是基于改善松果的小目标检测的准确性。为了验证改进模型的优越性,我们比较RetinaNet, R-CNN更快,YOLOv3,和原始YOLOv4,结果如表所示3。可以看出,美联社的价值我们的模型比RetinaNet高出12.1%,比快R-CNN高出10.6%,比YOLOv3高出10.1%,比原始YOLOv4高出7.4%。我们的模型的检测速度比RetinaNet快4.6毫秒,31.2毫秒的速度比R-CNN更快,1.2低于YOLOv3女士,1.1毫秒的速度比原始YOLOv4。总的来说,我们的模型美联社最高价值,远远超过其他模型。尽管检测速度略低于YOLOv3,它可以满足实时松果检测的要求。

5。结论

本文提出一种检测方法基于一种改进的松果YOLOv4模型。在网络体系结构的改进设计,为了更好地利用浅的特性信息,我们取代了CSP模块与CSPDenseNet原YOLOv4网络模块。降低计算复杂度和维持输出尺寸不变,骨干网络适当修剪。提高识别精度的松果目标,我们改变了功能映射原YOLOv4融合模式和设计了一个基于SEPC新的脖子网络。

通过手工爬行技术的收集和使用,我们创建了一个松果数据集包含1411张图片。这个数据集上的测试结果表明,该网络模型可以有效地改善识别松果的目标在一个复杂的背景。模型的精度、召回和美联社是96.1%,90.1%,和95.8%,分别和每个图像的平均检测速度是7.1毫秒。与RetinaNet相比,快R-CNN,原始YOLOv4,美联社提出改善YOLOv4模型的价值增加了12.1%,10.6%,和7.4%,分别检测时间降低了4.6毫秒,31.2毫秒,分别和1.1 ms。虽然改进的模型检测速度是1.2低于YOLOv3女士,精度高于10.1%。一般来说,性能的改进模型比现有的模型。

本文提出的方法能有效地检测松果和可以提供技术参考松果估产和自动选择。然而,它仍然有改进的余地。未来的工作将集中在收集图像更多的微型松果,收集不同种类的松果图片,和优化的低档次计算板。此外,摄像机与红外探测器的结合,激光雷达,无船员的飞行器也值得研究。

数据可用性

数据集可以在请求访问相应的作者。

的利益冲突

作者宣称没有利益冲突。

作者的贡献

泽罗、张Yizhuo和客气,作为主要的贡献者,完成了分析、实验和论文写作。力平太阳参与后来的修订、抛光和编辑文章的。为了感谢力平太阳他的贡献的文章中,作者一致声明并同意将他添加到文章的作者列表。

确认

这项研究是由中央大学的基础研究基金(2572019 ab21)。