赵 辉,乔艳军,王红君,岳有军
基于改进YOLOv3的果园复杂环境下苹果果实识别
赵 辉1,2,乔艳军1,王红君1,岳有军1
(1. 天津理工大学电气电子工程学院/天津市复杂系统控制理论与应用重点实验室,天津 300384;2. 天津农学院工程技术学院,天津 300392)
为使采摘机器人能够全天候在不同光照、重叠遮挡、大视场等果园复杂环境下对不同成熟度的果实进行快速、准确识别,该研究提出了一种基于改进YOLOv3的果实识别方法。首先,将DarkNet53网络中的残差模块与CSPNet(Cross Stage Paritial Network)结合,在保持检测精度的同时降低网络的计算量;其次,在原始YOLOv3模型的检测网络中加入SPP(Spatial Pyramid Pooling)模块,将果实的全局和局部特征进行融合,提高对极小果实目标的召回率;同时,采用Soft NMS(Soft Non-Maximum Suppression)算法代替传统NMS(Non-Maximum Suppression)算法,增强对重叠遮挡果实的识别能力;最后,采用基于Focal Loss和CIoU Loss的联合损失函数对模型进行优化,提高识别精度。以苹果为例进行的试验结果表明:经过数据集训练之后的改进模型,在测试集下的MAP(Mean Average Precision)值达到96.3%,较原模型提高了3.8个百分点;1值达到91.8%,较原模型提高了3.8个百分点;在GPU下的平均检测速度达到27.8帧/s,较原模型提高了5.6帧/s。与Faster RCNN、RetinaNet等几种目前先进的检测方法进行比较并在不同数目、不同光照情况下的对比试验结果表明,该方法具有优异的检测精度及良好的鲁棒性和实时性,对解决复杂环境下果实的精准识别问题具有重要参考价值。
收获机;目标检测;图像处理;果实识别;YOLOv3;复杂环境
果实采摘机器人可实现采摘工作的自动化,能够很好的解决劳动力不足、人工采摘成本高且效率低的问题[1-2]。采摘机器人的重点和难点在视觉系统,机器人的工作效率和稳定性取决于其对果实识别的速度、准确率以及对复杂环境的适应能力[3-4]。因此,研究一套能够在复杂环境下精确识别树上果实的视觉系统,对实现自动采摘和产量估计具有重要研究价值和现实意义。
目前,国内外在水果检测方面的研究已经取得了一定进展。Lin等[5]研究了一种基于贝叶斯分类器和密度聚类的图像分割方法,提出了一种基于支持向量机的柑橘识别算法,可以弱化光照变化对识别效果的影响,不足之处是检测一张图像平均需要1.25 s,实时性较差;宋怀波等[6]提出了一种基于凸壳理论的苹果检测方法,解决了遮挡情况下的苹果识别问题,但识别效果易受光照变化
和颜色饱和度的影响。上述传统的识别方法对由人工提取出的特征过于依赖,受复杂环境因素影响较大,鲁棒性和泛化性较差,难以满足采摘机器人的实际工作需求[7-8]。近年来,随着深度学习的发展,卷积神经网络(Convolutional Neural Networks,CNN)可以通过无监督或半监督的特征学习来提取多层次特征,比人工提取的特征具有更强的泛化能力,其强大的表征能力使目标检测的性能获得了很大提升,推动了目标检测的发展[9-10]。目前,主流的基于深度学习的目标检测算法依据其设计原理,主要分为两类:一种是基于区域建议的方法,标志性的算法有RCNN[11](Regions with CNN features)、Fast RCNN[12]和Faster RCNN[13]等,核心思想是首先获得建议区域,然后在当前区域内进行精确的分类与位置预测,称为两阶目标检测[14-15]。Sun等[16]提出了一种基于改进的Faster RCNN番茄识别方法,该方法采用ResNet50作为特征提取网络,使用K-means聚类方法调整预选框,有效提高了识别精度,但是检测速度较慢,不满足实时性的要求;张磊等[17]采用Faster RCNN算法,实现了对自然环境下多类水果的识别,其模型的精度高,泛化能力强,但是对重叠遮挡果实的检测召回率较低,容易将重叠果实判定为一个。另一种方法是无区域建议的方法,标志性的算法有SSD[18]、YOLO[19]等,核心思想是通过单个卷积神经网络处理图像,直接计算出目标的分类结果与位置坐标,也称为一阶目标检测[14-15]。Tian等[20]提出了一种改进的YOLOv3算法,利用DenseNet作为其特征提取网络,实现了对不同生长期苹果的识别,但是并未对大视场环境下的果实进行研究;赵德安等[21]利用改进后的YOLOv3算法,对各类复杂环境下的苹果进行识别,检测速度达到60帧/s,具有很好的实时性,但是当检测密集苹果时,1值下降明显,不能很好地检测密集苹果和大视场下的苹果。
鉴于此,本文以苹果为研究对象,以多尺度检测性能较好且同时兼顾了检测速度和精度的YOLOv3网络为基础,根据自然环境下苹果果实的生长特征和目前果实检测存在的问题,对原网络模型进行改进,在复杂环境下进行检测试验,并对改进后的方法进行准确性和实时性验证。
本文所用的部分苹果图像于7—10月期间采集于天津市多个苹果园内,分辨率为4 032×3 024(像素),共计2 200张图像,包括晴天、多云和阴天等天气状况;分别在早上、中午、傍晚以及夜晚4个时间段进行采集;照明条件包括顺光、侧光、逆光和人工光照;在拍摄时模拟采摘机器人的操作过程,不断变换拍摄角度和拍摄距离,采集到的图像基本包含了不同颜色、姿态、大小、光照、背景以及果实重叠遮挡等情况。由于采集到的苹果图像主要为红富士,且果园环境较为单一,考虑到视觉系统的通用性,又通过互联网搜集了一些其他果园复杂环境中的不同品种(红富士、嘎啦、蛇果、秦冠等)、不同成熟时期的苹果图像,筛选出了1 800张图像。最终,通过实地拍摄与互联网收集共计得到4 000张苹果图像,统一保存为.JPG格式,图1展示了收集到的部分图像。
为了识别不同成熟时期的苹果果实,根据不同生长期将其分为两类,其中一类为成熟苹果;另一类为未成熟苹果(包含落果期和膨大期)。本研究训练模型采用PASCAL VOC的数据集格式,利用LabelImg软件将图像中目标果实所在区域进行手工标注矩形框,其中,成熟苹果的类别标签设定为Apple,未成熟苹果的类别标签设定为Green_Apple,标注时矩形框要尽量贴合果实轮廓。标注完成后,随机选取其中3 200张作为训练集,400张作为验证集,400张作为测试集。
在模型输入端嵌入Mosaic数据增强方法,即每次读取4张图像,分别进行随机缩放、翻转、剪裁以及光学变换等操作,然后,将4张图像拼接到一起并与调整后的标签一同传入网络中,相当于一次性传入4张图像进行学习,极大地丰富了检测物体的背景,增加了目标个数,且在标准化BN(Batch Normalization)计算时会同时计算4张图像的数据,相当于增加了Batch size,使得BN层求出来的均值与方差更加接近于整体数据集的分布,有助于增强模型的鲁棒性。
YOLOv3借鉴了ResNet的残差思想,在其主干网络(DarkNet53)中大量使用了残差连接,并利用步长为2的3×3卷积代替最大池化层进行下采样,因此,网络结构可以设计得很深,可以保留更多的特征信息、促进网络前后层的特征信息融合,并且缓解训练中梯度消失与爆炸等网络退化的问题,使模型更容易收敛,特征提取能力更强。其网络结构主要由一系列残差块(Residual Block)串联而成,残差块结构如图2所示。过深的残差连接虽然增强了网络性能,但也增大了计算量,限制了检测速度。在采摘过程中,实时性是最重要的性能指标之一,因此,通过对网络进行轻量化处理来降低计算量是非常必要的。
CSPNet[22](Cross Stage Paritial Network)是一种先进的方法,能够解决网络优化中的梯度信息重复问题,通过分开梯度流,使梯度流可以在不同的网络路径上传播,避免了梯度信息被复用,有效减少了模型的浮点运算次数(Floating point operations,FLOPs),既保证了推理速度和准确率,又减小了模型的计算量。因此,本文将DarkNet53中的残差块与CSPNet结合,构成CSPX模块,如图3所示。CSPX模块首先将输入特征图经过第一个CBL模块进行2倍下采样,然后再经过一个CBL模块后,将得到的特征图分成2个部分,一部分经过个残差块,而另一部分直接通过一个CBL模块向后传播,最后,再将这2部分的结果按通道进行拼接操作。
注:CSPX表示内部带有X个残差块的CSP模块;每个CSP模块的第一个CBL模块中卷积核的大小都是3×3,且stride=2。
尽管YOLOv3将深浅层的特征进行了融合,加强了模型的多尺度性能,但是对小物体的检测精度仍然较低,且漏检率较高,因此,为了实现对大视场下的极小苹果目标进行精确识别,从而对苹果的整体分布预定位,以指导机器人规划路径、调整位姿,并完成计数,估计苹果产量[23-24],在YOLOv3的检测网络中加入空间金字塔池化(Spatial Pyramid Pooling,SPP)模块,这是一个由3种不同尺度的最大池化层组成的结构,如图4所示,SPP模块将输入特征图分别经过3个不同池化核大小的最大池化层进行下采样操作,然后,与原始输入特征图进行按通道拼接操作,最后,将拼接后的特征图传入到后续网络中,可以有效融合局部特征和全局特征,增大感受野,丰富最终特征图的表达能力,进一步增强模型对小物体的检测性能。
当前的物体检测算法,为了保证召回率,对于同一个真实物体往往会有多个预测框输出,由于多余的预测框会影响检测精度,因此,需要利用非极大值抑制(Non-Maximum Suppression,NMS)算法过滤掉重叠的预测框,得到最佳的预测输出[25]。对于传统的NMS方法,如果一个边框的预测得分越高,这个框将被优先考虑,其他与其重叠且超过一定阈值的边框将被舍弃,这种方法虽然简单有效,但是在实际采摘环境中,当果实较为密集时,本身属于两个果实的边框,其中得分较低的可能会被抑制掉,从而造成漏检。为解决上述问题,将传统的NMS改进为软性非极大值抑制(Soft Non-Maximum Suppression,Soft NMS)算法,具体方法如公式1所示。
式中S为当前预测框的置信度得分;为所有预测框中置信度得分最高的预测框;b为当前类别中所有被比较的预测框;IoU为两个边框交集与并集的比值;N为人工设定的阈值,一般取0.5;为连续惩罚项系数。
从公式(1)可以看出,Soft NMS将最高分值的预测框设定为基准框,然后分别与当前类别中剩余的预测框作交并比(Intersection Over Union,IoU)计算,保留IoU小于设定阈值的预测框,而对于IoU大于设定阈值的预测框,没有直接将其得分置0,而是连续地降低该边框的置信度得分,对于某些得分很高的边框来说,在后续计算中还有被作为正确检测框的可能,因此可以有效提升对遮挡重叠果实的检测性能。此外,Soft NMS算法与传统的NMS相比复杂度几乎没有改变,且实现同样简单。
改进后的模型结构如图5所示。其中主干网络主要由5个分别包含1、2、8、8、4个残差块的CSPX模块堆叠而成,每个残差块又包含两个CBL模块,CBL模块是卷积层、BN层以及激活层的组合,激活函数仍然使用原网络中的Leaky ReLU。输入图像尺寸设置为608×608 (像素),每经过1个CSPX模块,特征图尺寸缩小为原来的一半,在经过主干网络以及颈部网络中7个CBL模块和1个SPP模块以及最终的卷积层,进行32倍下采样之后,得到大小为19×19的预测特征图y1,用于预测较大目标;然后,将经过6个CBL模块和1个SPP模块的输出特征图依次经过两次2倍上采样操作,分别与浅层较高分辨率的特征图按通道进行拼接融合,进而得到两个不同尺度的预测特征图y2和y3,大小分别为38×38以及76×76,分别预测中等大小和较小目标,3个预测特征图的通道数均为21(特征图上每个特征点预测3个先验框,每个先验框需要两个类别预测、1个置信度预测和4个位置预测,所以共需要21维预测特征向量),最终,将3种尺度的预测特征图得到的预测结果一起送入Soft NMS中,过滤掉多余的预测框,完成最终的预测。
2.5.1 焦点损失Focal Loss
YOLOv3等一阶段网络存在样本不均衡问题,在训练过程中存在大量的负样本,容易干扰模型的优化方向;而标准的交叉熵损失函数中,所有样本的权重都是相同的,因此,如果正负样本不均衡,负样本将占据主导地位,少量的难检测样本与正样本会起不到作用,导致精度变差。为解决这个问题,本文利用Focal Loss(FL)代替原损失函数中的BCE Loss(Binary Cross Entropy Loss),如式2所示。
式中为样本在该类别的预测概率;为样本标签;为正负样本平衡系数,0<<1;为难易样本调制因子。
注:CSP后面的数字表示该CSPX模块内包含残差块(Residual Block)数量;Concat表示一种通道数相加的特征融合方式;Upsample表示对输入的特征图进行上采样操作;y1、y2、y3分别表示3个不同尺度的输出特征图;图中的×表示此处有个同样的模块构成。
Note: The number after CSP indicates that the CSPX module contains several Residual Block; Concat represents a feature fusion method of adding the number of channels; Upsample means upsampling the input feature map; y1, y2 and y3 represent output characteristic diagrams of three different scales respectively; The ×representation in the diagram havemultiple of same module composition here.
图5 改进后的网络结构图
Fig.5 Improved network structure diagram
2.5.2 完全交并比损失CIoU Loss
原始YOLOv3损失函数中的位置损失,采用直接计算4个预测偏移量和偏移量真值(中心点坐标偏移量+宽高偏移量)之间差值平方的方法,并没有考虑到在相同偏移损失值下,真实框与预测框之间的重叠面积以及重叠位置可能是不同的。因此,本文提出利用CIoU Loss(Complete IoU Loss)代替原损失函数中的L2位置损失,首先,将预测偏移量作用到先验框上得到预测框,然后,直接最小化预测框与真实框中心点的距离,并最大化两框之间的重叠面积,具体方法如式3所示。
式中为预测框与真实框的中心点距离;为预测框与真实框最小外接矩形的对角线距离;w、h分别为真实框的宽和高;、分别为预测框的宽和高。
通过公式(3)可以看出,当预测框与真实框完全重合时,IoU=1,=0,=0,所以CIoU=1,则CIoU=0;而当预测框与真实框相距无穷远时,IoU=0,2/2=1,CIoU=-(1+),则CIoU=2+,所以0 本文所有试验都在工作站上搭建的深度学习环境中完成,其具体配置为:Intel Xeon(R) E5-2650 v4@2.20Hz×48 CPU;运行内存为64GB;1TB固态硬盘;12GB的GTX1080Ti×2 GPU;Ubuntu18.04操作系统;NVIDIA驱动为450.102.04;编程语言Python以及深度学习框架PyTorch版本分别为3.8和1.7;并行计算架构CUDA以及深度网络的GPU加速库cuDNN的版本分别为11.0和7.6.5。 使用准确率(Precision,,%)、召回率(Recall,,%)、1值,%、AP(Average Precision,%)值以及MAP(Mean Average Precision)值这5个性能指标对模型进行性能评估,如式(4)~(8)所示。 式中准确率表示所有预测框中检测正确的比例;召回率表示正确检测出的标签框在所有标签框中的比例;TP为与标签框正确匹配的预测框的数量;FP为预测错误的预测框的数量;FN为漏检的标签框的数量;AP表示每一类苹果的平均精度值;MAP表示2类苹果的平均精度值;1为与的调和均值。 训练开始前,首先利用由微软提供的大规模数据集COCO(Common Objects in Context)数据集对改进后的模型进行预训练,并使用预训练好的权重对模型初始化[26-27],在训练时使用Warm up,即在训练初期先使用一个较小的学习率初始值,使模型在一开始对数据分布理解为0时,不至于对Batch size的小批量图像过拟合,本文中将初始值设置成0.001,在前3轮训练过程中,逐渐上升到0.01,并从第4轮开始逐渐衰减至0.001,Epoch设置为300,Batch size设置为16。权值衰减设置为0.0005。每训练完一个Epoch保存一次网络的权重文件,并利用Tensorboard工具对模型进行实时监测,记录模型在验证集下的各项性能指标,训练共耗时6 h 32 min。 迭代训练过程中的损失曲线和验证集下的各项性能指标曲线如图6所示,虽然试验设置的训练轮次为300轮,但验证损失在100轮左右就趋于稳定而不再降低了,说明模型在此时已经拟合。在150轮之后,验证损失波动上升,而训练损失仍在下降,说明此时模型已经过拟合。通过训练过程中验证集的准确率、召回率、1和MAP(IoU阈值设定为0.5)的变化曲线可知,在前20轮的训练过程中,各项性能指标变化幅度较大,但是总体趋势是增长的,在之后的训练过程中,逐渐趋于稳定,在小范围内振荡。由于模型在100轮左右已经拟合,且MAP值综合考虑了2个类别的准确率和召回率,所以本文取第100轮左右各15轮的MAP最大值,最大值为96.1%出现在第109轮,并将这一轮所得到的权重作为最终的模型权重,此时=94.1%,=90.6%;1=92.3%。 利用测试集对最终获得的模型进行测试,本文的测试集中包含了各种复杂环境下的2类苹果图像,基本符合整体数据集的分布,通过其曲线可知,如图7a所示,模型在测试集上的成熟苹果类别(Apple)AP值可达到96.4%,未成熟苹果类别(Green_Apple)AP值可达到96.3%,MAP值为96.3%,平均检测速度为27.8帧/s,检测精度和检测速度均满足实际采摘需求,故可以应用于实际果园环境中。 1值是准确率和召回率的调和均值,随置信度阈值的变化而变化[28],模型1值变化曲线如图7 b所示,当置信度阈值为0.674时,1取得最大值为0.92,但是,设置较大的阈值会导致召回率降低,从而导致漏检率上升,综合考虑了准确率和召回率之后,取置信度阈值为0.55,此时模型性能最佳。 利用本文制作的数据集对另外5种目标检测算法进行训练,得到最优模型之后,在测试集上进行测试,6种方法的平均准确率、平均召回率、平均1值、AP值以及检测速度如表1所示。在检测精度方面,本文方法的准确率为91.0%,召回率为92.6%,1值为91.8%,AP1达到96.4%,AP2达到96.3%,均高于其他5种方法,比YOLOv3的AP1和AP2分别高了2.2和5.5个百分点,比YOLOv5的AP1和AP2均高了1.3个百分点;特别是对未成熟苹果的识别精度明显优于其他算法,并且,除本文算法和YOLOv5以外的其他4种算法对成熟苹果的检测结果也要优于未成熟苹果,分析其原因是未成熟苹果颜色与背景叶子的颜色相似,且果实较小,生长密集,所以识别难度相对较大。在检测速度方面,本文方法的平均检测速度为27.8帧/s,比Faster RCNN高了11.3帧/s,比YOLOv3高了5.6帧/s,这是由于在主干网络中使用了CSPX模块从而降低了计算量,尽管比速度最快的CenterNet低了4.5帧/s,但其他各项指标均优于该模型。本文算法能够实时检测树上苹果,满足实际采摘作业的实时性要求。综上,在所有方法中,本文所提出的方法表现出最好的综合检测性能。 图8展示了本文算法的部分检测结果,通过检测结果可以看出,本文算法可以很好地检测出不同光照、不同遮挡程度、套袋、大视场等各类复杂环境下的成熟与未成熟的苹果果实,其预测框的位置和类别较为准确且漏检和误检较少,具有很强的鲁棒性。 表1 6种算法在测试集上的识别结果 注:AP1表示成熟苹果类别AP值,AP2表示未成熟苹果类别AP值。 Note: AP1 represents the AP value of mature apple category, and AP2 represents the AP value of immature apple category. 建立不同苹果数量下的对比试验,试验测试集一共400张图像包含6 117个苹果,按苹果数量不同分为4类,其中,105张单个苹果图像包含105个苹果;142张多个苹果(每张包含2~10个苹果)图像包含882个苹果;125张密集苹果(每张包含11~30个苹果)图像包含2 890个苹果;28张大视场环境下的苹果(每张包含30个以上苹果)图像包含2 240个苹果,比较改进前后2种方法在不同苹果数量下的检测性能,部分测试结果如图9所示。 在上述4类不同苹果数量的测试集上完成测试之后,得到各项性能指标,如表2所示。由表2可以看出,当检测单个苹果时,本文算法与YOLOv3差距不大;而随着果实数量的不断增加,2类算法的各项性能指标均有所下降;且YOLOv3的识别精度与本文算法差距越来越明显,其中,当检测多个苹果时,其AP值分别比本文算法低了1.5和3.5个百分点,1值低了2.1个百分点;当检测密集苹果时,其AP值分别比本文算法低了1.8和4.0个百分点,1值低了3.7个百分点;在大视场环境下,其两类AP值分别比本文算法低了2.8和6.7个百分点,1值低了4.2个百分点。综合结果表明,本文方法能够较好地应用于不同数量、不同大小、不同重叠遮挡环境下的苹果检测,且性能优于改进前的YOLOv3算法,尤其是针对密集和大视场环境下苹果的检测,性能有明显的提升,验证了所提出改进方法的有效性。 表2 YOLOv3改进前后对不同数目苹果的识别结果 本节试验检验模型对不同光照条件的鲁棒性,分别涉及顺光、侧光、逆光(包含傍晚和阴天等情况)和夜晚人工光照,为了避免密集苹果对试验结果造成影响,每一类从单个苹果和多个苹果类别中各挑选出40张图像作为测试,部分检测结果如图10所示。通过图10可以看出,在不同光照条件下,两类算法均有较好的识别效果,但是当光线极差时(如逆光、傍晚等),会出现预测框位置不够准确以及误检和漏检的情况。分析其原因是光线不足导致果实表面纹理特征不明显,颜色失真,特别是对于未成熟苹果来说,其与叶片等背景界限不明显。 在上述不同光照条件的测试集上完成测试之后,得到各项性能指标,如表3所示。通过表3可以看出,在侧光条件时,本文算法获得最高的AP值,其中,AP1为98.0%,AP2为97.9%;而在逆光条件时,本文算法的两类AP值最低,分别为97.3%和97.2%;YOLOv3也是相同的情况,在侧光条件时AP1和AP2分别为97.4%和97.0%,而在逆光条件时,AP1和AP2分别为96.9和96.0。说明模型在侧光条件下可以获得更高的识别精度,因为苹果在侧光下纹理清楚,表面光照强度均匀,而逆光条件则会对检测造成一定干扰。但总体上来说,2种算法在顺光、侧光、逆光以及夜晚人工光照条件下的各项性能指标差距不大,均能够取得较好的检测结果,说明基于深度学习的检测算法对光照条件具有鲁棒性;此外,本文制作的数据集中包含了各种光照条件下的图像数据,使得模型充分学习到了不同光照条件下的果实特征,从而取得了较好的检测结果。 表3 YOLOv3改进前后对不同光照下苹果的识别结果 本文针对传统方法在果园复杂环境下对树上果实识别准确率和实时性较低、鲁棒性较差等问题,提出了一种基于改进YOLOv3的识别方法,该方法在测试集下的准确率为91.0%,召回率为92.6%,1值为91.8%,成熟与未成熟苹果的AP值分别为96.4%和96.3%,检测速度可达27.8帧/s,整体性能优于其他5种算法,能够达到苹果自动采摘识别的准确性和实时性要求,通过更改数据集,该模型可应用于其他各类果实采摘机器人的视觉系统中,具有良好的泛化性。 为了进一步验证本文算法的有效性和可行性,设计了不同果实数目、不同光照环境下的模型性能对比试验。结果表明,当检测密集苹果时,本文算法的成熟与未成熟苹果AP值分别比原模型提高了1.8和4.0个百分点;而在大视场环境下,分别提高了2.8和6.7个百分点,证明了所提出改进方法的有效性。此外,模型在侧光条件下的检测效果最佳,成熟与未成熟苹果AP值分别为98.0%和97.9%;而逆光条件下的检测效果最差,成熟与未成熟苹果的AP值分别为97.3%和97.2%,但总体上来说基于深度学习的目标检测方法对光照具有鲁棒性,光照变化对其检测性能影响较小。 [1] Jia W K, Tian Y Y, Luo R, et al. Detection and segmentation of overlapped fruits based on optimized mask R-CNN application in apple harvesting robot[J]. Computers and Electronics in Agriculture, 2020, 172: 105380. [2] Fu L S, Feng Y L, Wu J Z, et al. Fast and accurate detection of kiwifruit in orchard using improved YOLOv3-tiny model[J]. Precision Agriculture, 2020, 13(2): 1-23. [3] Jia W K, Zhang Y, Lian J, et al. Apple harvesting robot under information technology: A review[J]. International Journal of Advanced Robotic Systems, 2020, 17(3): 1-16. [4] Kang H W, Chen C, Zhou H Y, et al. Fruit detection and segmentation for apple harvesting using visual sensor in orchards[J]. Sensors (Basel), 2019, 19(20): 194599. [5] Lin G C, Tang Y C, Zou X J, et al. In-field citrus detection and localisation based on RGB-D image analysis[J]. Biosystems Engineering, 2019, 186: 34-44. [6] 宋怀波,何东健,潘景朋. 基于凸壳理论的遮挡苹果目标识别与定位方法[J]. 农业工程学报,2012,28(22):174-180. Song Huaibo, He Dongjian, Pan Jingpeng. Recognition and localization methods of occluded apples based on convex hull theory[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2012, 28(22): 174-180. (in Chinese with English abstract) [7] Liu G X, Nouaze J C, Touko P L, et al. YOLO-Tomato: A robust algorithm for tomato detection based on YOLOv3[J]. Sensors (Basel), 2020, 20(7): 202145. [8] 武星,齐泽宇,王龙军,等. 基于轻量化YOLOv3卷积神经网络的苹果检测方法[J]. 农业机械学报,2020,51(8):17-25. Wu Xing, Qi Zeyu, Wang Longjun, et al. Apple detection method based on lightweight YOLOv3 convolutional neural network[J]. Transactions of the Chinese Society for Agricultural Machinery, 2020, 51(8): 17-25. (in Chinese with English abstract) [9] Wan S H, Goudos S. Faster R-CNN for multi-class fruit detection using a robotic vision system[J]. Computer Networks, 2020, 168: 107036. [10] Liang C X, Xiong J T, Zheng Z H, et al. A visual detection method for nighttime litchi fruits and fruiting stems[J]. Computers and Electronics in Agriculture, 2020, 169: 105192. [11] Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2014: 580-587. [12] Girshick R. Fast R-CNN[C]//Proceedings of the IEEE international conference on computer vision. 2015: 1440-1448. [13] Ren S, He K, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[C]// Advances in neural information processing systems. 2015: 91-99. [14] 刘芳,刘玉坤,林森,等. 基于改进型YOLO的复杂环境下番茄果实快速识别方法[J]. 农业机械学报,2020,51(6):229-237. Liu Fang, Liu Yukun, Lin Sen, et al. Rapid identification method of tomato fruit in complex environment based on improved YOLO[J]. Transactions of the Chinese Society for Agricultural Machinery, 2020, 51(6): 229-237. (in Chinese with English abstract) [15] 熊俊涛,郑镇辉,梁嘉恩,等. 基于改进YOLOv3网络的夜间环境柑橘识别方法[J]. 农业机械学报,2020,51(4):199-206. Xiong Juntao, Zheng Zhenhui, Liang Jiaen, et al. Orange recognition method in night environment based on improved YOLOv3 network[J]. Transactions of the Chinese Society for Agricultural Machinery, 2020, 51(4): 199-206. (in Chinese with English abstract) [16] Sun J, He X F, Ge X, et al. Detection of key organs in tomato based on deep migration learning in a complex background[J]. Agriculture, 2018, 8(12): 8196. [17] 张磊,姜军生,李昕昱,等. 基于快速卷积神经网络的果园果实检测试验研究[J]. 中国农机化学报,2020,41(10):183-190. Zhang Lei, Jiang Junsheng, Li Xinyu, et al. Experimental reserch on orchard fruit detetion based on fast convolutional neural network[J]. Journal of Chinese Agricultural Mechanization, 2020, 41(10): 183-190. (in Chinese with English abstract) [18] Liu W, Anguelov D, Erhan D, et al. Ssd: Single shot multibox detector[C]//European conference on computer vision. Springer, Cham, 2016: 21-37. [19] Redmon J, Divvala S, Girshick R, et al. You only look once: Unified, real-time object detection[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 779-788. [20] Tian Y N, Yang G D, Wang Z, et al. Apple detection during different growth stages in orchards using the improved YOLOv3 model[J]. Computers and Electronics in Agriculture, 2019, 157: 417-426. [21] 赵德安,吴任迪,刘晓洋,等. 基于YOLO深度卷积神经网络的复杂背景下机器人采摘苹果定位[J]. 农业工程学报,2019,35(3):164-173. Zhao Dean, Wu Rendi, Liu Xiaoyang, et al. Apple positioning based on YOLO deep convolutional neural network for picking robot in complex background[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2019, 35(3): 164-173. (in Chinese with English abstract) [22] Wang C Y, Mark Liao H Y, Wu Y H, et al. CSPNet: A new backbone that can enhance learning capability of CNN[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), 2020: 1571-1580. [23] 陈燕,王佳盛,曾泽钦,等. 大视场下荔枝采摘机器人的视觉预定位方法[J]. 农业工程学报,2019,35(23):48-54. Chen Yan, Wang Jiasheng, Zeng Zeqin, et al. Vision prepositioning method for litchi picking robot under large field of view[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2019, 35(23): 48-54. (in Chinese with English abstract) [24] Tu S Q, Pang J, Liu H F, et al. Passion fruit detection and counting based on multiple scale faster R-CNN using RGB-D images[J]. Precision Agriculture, 2020, 21(5): 1072-1091. [25] 蔡舒平,孙仲鸣,刘慧,等. 基于改进型YOLOv4的果园障碍物实时检测方法[J]. 农业工程学报,2021,37(2):36-43. Cai Shuping, Sun Zhongming, Liu Hui, et al. Real-time detection methodology for obstacles in orchards using improved YOLOv4[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2021, 37(2): 36-43. (in Chinese with English abstract) [26] Yu Y, Zhang K L, Yang L, et al. Fruit detection for strawberry harvesting robot in non-structural environment based on Mask-RCNN[J]. Computers and Electronics in Agriculture, 2019, 163: 104846. [27] 彭红星,黄博,邵园园,等. 自然环境下多类水果采摘目标识别的通用改进SSD模型[J]. 农业工程学报,2018,34(16):155-162. Peng Hongxing, Huang Bo, Shao Yuanyuan, et al. General improved SSD model for picking object recognition of multiple fruits in natural environment[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2018, 34(16): 155-162. (in Chinese with English abstract) [28] 刘天真,滕桂法,苑迎春,等. 基于改进YOLOv3的自然场景下冬枣果实识别方法[J]. 农业机械学报,2021,52(5):17-25. Liu Tianzhen, Teng Guifa, Yuan Yingchun, et al. Fruit recognition method of winter jujube in natural scene based on improved YOLOv3[J]. Transactions of the Chinese Society for Agricultural Machinery, 2021, 52(5): 17-25. (in Chinese with English abstract) Apple fruit recognition in complex orchard environment based on improved YOLOv3 Zhao Hui1,2, Qiao Yanjun1, Wang Hongjun1, Yue Youjun1 (1.,/,300384,; 2.,,300392,) Automatic fruit recognition is one of the most important steps in fruit picking robots. In this study, a novel fruit recognition was proposed using improved YOLOv3, in order to identify the fruit quickly and accurately for the picking robot in the complex environment of the orchard (different light, occlusion, adhesion, large field of view, bagging, whether the fruit was mature or not). The specific procedure was as follows. 1) 4000 Apple images were captured under the complex environment via the orchard shooting and Internet collection. After labeling with LabelImg software, 3200 images were randomly selected as training set, 400 as verification set, and 400 as a test set. Mosaic data enhancement was also embedded in the model to improve the input images for the better generalization ability and robustness of model. 2) The network model was also improved. First, the residual module in the DarkNet53 network was combined with the CSPNet to reduce the amount of network calculation, while maintaining the detection accuracy. Second, the SPP module was added to the detection network of the original YOLOv3 model, further to fuse the global and local characteristics of fruits, in order to enhance the recall rate of model to the minimal fruit target. Third, a soft NMS was used to replace the traditional for better recognition ability of model, particularly for the overlapping fruits. Forth, the joint loss function using Focal and CIoU Loss was used to optimize the model for higher accuracy of recognition. 3) The model was finally trained in the deep learning environment of a server, thereby analyzing the training process after the dataset production and network construction. Optimal weights and parameters were achieved, according to the loss curve and various performance indexes of verification set. The results showed that the best performance was achieved, when training to the 109th epoch, where the obtained weight in this round was taken as the final model weight,precision was 94.1%, recall was 90.6%,1was92.3%, mean average precision was 96.1%. Then, the test set is used to test the optimal model. The experimental results show that the Mean Average Precision value reached 96.3%, which is higher than 92.5% of the original model;1 value reached 91.8%, higher than 88.0% of the original model; The average detection speed of video stream under GPU is 27.8 frame/s, which is higher than 22.2 frame/s of the original model. Furthermore, it was found that the best comprehensive performance was achieved to verify the effectiveness of the improvement compared with four advanced detection of Faster RCNN, RetinaNet, YOLOv5 and CenterNet. A comparison experiment was conducted under different fruit numbers and various lighting environments, further to verify the effectiveness and feasibility of the improved model. Correspondingly, the detection performance of model was significantly better for small target apples and severely occluded overlapping apples, compared with the improved YOLOv3 model, indicating the high effectiveness. In addition, the target detection using deep learning was robust to illumination, where the illumination change presented little impact on the detection performance. Consequently, the excellent detection, robustness and real-time performance can widely be expected to serve as an important support for accurate fruit recognition in complex environment. harvester; object detection; image processing; fruit identification; YOLOv3; complex environment 赵辉,乔艳军,王红君,等. 基于改进YOLOv3的果园复杂环境下苹果果实识别[J]. 农业工程学报,2021,37(16):127-135.doi:10.11975/j.issn.1002-6819.2021.16.016 http://www.tcsae.org Zhao Hui, Qiao Yanjun, Wang Hongjun, et al. Apple fruit recognition in complex orchard environment based on improved YOLOv3[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2021, 37(16): 127-135. (in Chinese with English abstract) doi:10.11975/j.issn.1002-6819.2021.16.016 http://www.tcsae.org 2021-05-27 2021-08-01 天津市科技支撑计划项目(19YFZCSN00360) 赵辉,博士,教授,博士生导师,研究方向为复杂系统智能控制理论与应用、农业信息化与精准农业智能监测理论与技术、农业机器人。Email:zhaohui3379@126.com 10.11975/j.issn.1002-6819.2021.16.016 TP391.4 A 1002-6819(2021)-16-0127-093 模型训练
3.1 试验运行平台
3.2 评价指标
3.3 训练过程
3.4 训练数据分析
4 试验结果
4.1 结果评估
4.2 不同算法的识别结果
4.3 不同果实数目下的对比试验
4.4 不同光照条件下的对比试验
5 结 论