基于YOLOv5的核桃品种识别与定位*

2022-06-27 08:12张三林张立萍郑威强郭壮付子强
中国农机化学报 2022年7期
关键词:精度核桃像素

张三林,张立萍,郑威强,郭壮,付子强

(新疆大学机械工程学院,乌鲁木齐市,830047)

0 引言

新疆南疆地区日照时间长、积温高,有利于核桃的生长,是我国重要的核桃生产地。当地的核桃以农户小规模零散种植为主,造成核桃品种混乱的局面[1]。不同品种的核桃混在一起,不仅会决定核桃加工的方式,更重要的是会影响核桃品质和核桃利用价值,所以在加工之前对核桃的分拣成为了一项必不可少的工作。目前,南疆地区核桃的分拣工作仍然以传统的人工方式为主,劳动强度大、生产效率较低,耗费了大量的财力和人力,不利于当地核桃产业的发展。

随着人工智能技术的快速发展,用机器代替人工作成为一种趋势。采用机器人自主分拣可大大减轻劳动压力,提高工作效率,有利于推动当地核桃产业的机械化发展。核桃品种的准确识别和精准定位是机器人完成自主分拣的基础和前提,目前国内外已有众多学者对果实的检测研究取得了很大的进展。如Ji等[2]利用SVM分类器对苹果种类进行识别,可以达到89%的准确率;Hussin等[3]利用Hough变换对柑橘进行检测;马翠花等[4]通过改进Hough变换对未成熟的番茄进行识别,检测精度为77.6%。以上方法都需要基于其颜色、纹理、形状等特征人为地构建特征提取器来提取特征,需要耗费人们大量的精力与时间,对专业领域知识要求极高,并且时常出现检测效果不佳、泛化能力差、检测效率难以达到实时检测水平等问题。

自2012年AlexNet夺得ImageNet竞赛冠军以后,以多层卷积网络为特征提取器的深度学习模型在计算机视觉领域大放异彩。此类方法不再需要人为构造特征提取器,且提取效率高,泛化能力强,在果实检测方面得到广泛应用。如Sa等[5]借助Faster-RCNN 检测算法构建甜椒检测系统;薛月菊等[6]采用YOLOv2方法在复杂背景下对未成熟的芒果进行识别;赵德安等[7]将YOLOv3算法应用于对苹果的采摘;李善军等[8]基于SSD检测算法对柑橘进行实时分类检测;成伟等[9]基于改进的YOLOv3对温室番茄进行识别。基于深度学习的目标检测算法在果实检测方面应用广泛,但是还没有将此类算法用于核桃品种与定位的相关研究。不同品种核桃之间外观相似、颜色相近,对核桃的检测造成巨大挑战。为实现对传送带上不同品种的核桃进行快速识别与精准定位,提出一种基于YOLOv5的核桃检测方法。研究结果可为机器人自主分拣核桃提供研究基础。

1 数据集制作

1.1 图像采集

本试验以南疆主要生产的3种核桃为样本,自制了一个核桃数据集。三种核桃依次是新2核桃、新光核桃和温185核桃。为模拟真实工厂环境,以黑色传送带为背景,考虑了相互遮挡、不同光照、不同角度以及不同密集度等情况,进行多角度拍摄,拍摄图像尺寸为4 032像素×3 024像素,获得符合试验条件的图像共500张,保存格式为JPG。

1.2 数据集预处理

基于深度学习的目标检测算法需要大量的标注样本才能获得良好的性能。试验利用Labelme标注工具对样本进行标注,为了增加数据集的大小和样本的多样性,减少模型训练的过拟合现象,对样本依次进行有监督的模糊处理、随机裁剪、添加噪声、随机擦除、翻转、亮度变换和锐化处理等操作将数据集扩充到4 000张,按照8∶1∶1的比例划分,最终得到训练集3 200张、验证集400张,测试集400张。

2 YOLOv5检测算法

2.1 YOLOv5网络模型

YOLOv5目标检测算法是YOLO[10]的第5个版本,其核心思想是将整张图作为网络的输入,在输出层直接回归出目标的位置坐标和类别,其特点是检测精度高、检测速度快,满足实时监测的需求。

YOLOv5网络有4个版本,依次是YOLOv5s、YOLOv5 m、YOLOv5l和YOLOv5x,其网络结构相似,网络深度和特征图的宽度在YOLOv5s的基础上依次增加,其精度和推理速度随之变化,本文以基础的YOLOv5s网络为主,其结构图如图1所示,介绍YOLOv5目标检测算法。

2.2 网络输入端

YOLOv5s网络模型在输入端共进行三个主要操作,分别是Mosaic数据增强、自适应锚框计算和自适应图片缩放。其中Mosaic数据增强有利于检测小目标,适用于本文对核桃这种小目标的检测。自适应图片缩放操作将不同尺寸的图片固定为640像素×640像素作为输入。YOLOv5s模型在训练不同数据集时,可自适应计算出所用数据集的初始锚框,所计算出的本文数据集的初始锚框为[74,77,86,79,96,86]、[84,92,95,96,99,107]、[106,95,111,111,124,125],这极大地简化了网络的训练过程。

2.3 主干网络

在主干网络中,YOLOv5s主要采用了Focus结构和CSP结构。其中Focus结构是YOLOv5s网络提出来的,其目的是在下采样的时候防止信息的丢失。在本文中,Focus结构将输入的640像素×640像素×3通道的图像变为320像素×320像素×32通道的特征图。CSP结构是借鉴了CSP网络[11]的思想,其目的是通过局部跨层融合来获取更丰富的特征图且减少了计算量,在YOLOv5s网络中设计了两种CSP结构,如图1所示,依次是CSP1_X和CSP2_X。

图1 YOLOv5s网络结构

2.4 特征融合

特征融合阶段主要借鉴了PANet[12]的思想,采用FPN+PAN结构。FPN结构是采用上采样的方式,由上而下的方式进行特征信息融合,而PAN结构采用自底向上的金字塔结构,利用下采样的方式进行特征信息融合,具体结构如图2所示。

图2 FPN+PAN结构

2.5 预测输出端

预测输出端延续了YOLO之前的思想,同时输出三个尺度的预测图,分别适用于检测小、中、大目标。YOLOv5s在预测时最大的改变是将GIOU_Loss[13]作为损失函数,替换了YOLOv3中的IOU_Loss,解决了后者不能优化两个边界框不相交的情况。

3 试验

3.1 试验环境

本次试验运行环境的CPU为英特尔®酷睿TMi7-10700K,3.8 GHz,GPU为英伟达RTX2080TI,显存为11 G,运行内存为64 G,操作系统为Ubuntu18.4,加速环境为CUDA10.1,编程语言为Python3.7,深度学习框架为Pytorch1.7。

3.2 评估指标

本文采用目标检测算法中的多项指标对YOLOv5s算法的性能进行评估,其具体评估指标包括精确度(P)、召回率(R)、平均精度均值(mAP)、调和平均值(F1)以及单幅图像检测耗时,其中mAP值和单幅图像检测耗时是目标检测算法中最重要的评估指标,衡量了检测算法的精度与速度。精确度P、召回率R、平均精度均值mAP以及调和平均值F1的计算表达式如式(1)~式(4)所示。

(1)

(2)

(3)

(4)

式中:TP——真正样本数量;

FP——假正样本数量;

FN——假负样本数量;

N——样本中种类数量。

3.3 模型训练

网络模型训练阶段,将总迭代周期设置为300,迭代批次大小值设置为8。动量因子是影响梯度下降的重要参数,本试验设置为0.9。学习速率过大,可能会造成网络无法收敛,学习率过小,会造成网络收敛速度过慢,因此本试验将学习速率设为0.001。为防止过拟合,本试验将权值衰减系数设为0.000 5,将置信度阈值设为0.5,非极大抑制阈值设为0.3,如表1所示。训练过程中,损失值和平均精度值随迭代周期变化情况如图3所示。

表1 训练参数

(a) 损失函数值变化曲线

模型在前50个迭代周期中,损失值迅速下降至0.03左右,同时mAP值急速上升,快速升至80%左右,在第50至250个迭代周期之间,损失值下降逐渐平缓,逐渐接近于0.02,mAP值上升缓慢,逐渐接近于99%,在第250个迭代周期之后,损失值趋于稳定,保持在0.02左右,同时mAP值也趋于稳定,保持在99%左右,因此认为模型达到稳定收敛。

4 试验结果与讨论

4.1 试验结果分析

将训练好的模型在测试集上测试,结果如表2所示。

表2 模型检测结果

由模型测试结果可知,该模型对新2核桃的检测精确度高达99.1%,且召回率高达96.5%,因此该模型对新2核桃检测的平均精度值(AP)高达99.5%,调和平均值为97.8%,而该模型对新光和温185核桃检测的AP值分别为98.4%和97.1%,调和平均值分别为94.2%和92.2%。由结果可知,该模型对新2核桃的检测效果是最佳的。这是由于新2核桃的外形相较于新光核桃和温185核桃呈明显的长椭圆状,表面更光滑,因此更容易识别,而新光核桃和温185核桃外观均呈圆球状,表面纹理特征相近,因此对识别造成干扰,造成检测效果相对较低的结果。但是该模型对三种核桃检测的平均精度均值(mAP)高达98.3%,且单幅图检测仅耗时7 ms,在快速检测的同时保持了高精度水平。

4.2 不同算法模型比较

为了进一步验证本研究所提出方法的性能,用该模型与其他基于深度学习的主流目标检测算法进行对比试验,其中包括属于单阶段目标检测算法的YOLOv3[14]和YOLOv4[15],也包括属于双阶段目标检测算法的Faster RCNN[16],在相同的数据集和实验环境下,各算法的试验结果如表3所示。

表3 算法性能对比

由试验结果可知,YOLOv5算法的单幅图检测耗时仅为7 ms,比Faster RCNN算法快了7倍,且模型大小仅为14.4 MB,为YOLOv4算法的1/14,在本研究制作的数据集上训练时间仅为14.67 h,是所有对比算法中用时最短的,且YOLOv5算法的平均精度均值为98.3%,是所有对比算法中最高的。

本文选择的YOLOv5算法与所有对比算法中mAP值最高的YOLOv4算法在不同条件下的检测效果图如图4~图7所示(图上的数值为置信度)。通过对比可以看出,在不同条件下,YOLOv5算法的整体置信度是高于YOLOv4的。在相互遮挡情况下,YOLOv4不仅置信度偏低,甚至出现了漏检的情况,虽然 YOLOv5检测结果的置信度有所降低,但是没有出现漏检、误检的情况。在不同尺度和不同视角下,YOLOv4均出现了误检的情况,如图7、图8所示,而YOLOv5不仅没有出现漏检、误检的情况,且保持了较高的置信度。

(a) YOLOv4

(a) YOLOv4

(a) YOLOv4

综上所述,无论是平均精度均值还是检测速度,本文选择的YOLOv5目标检测算法在所有对比算法中都是最优的,可以对不同品种的核桃进行准确的识别与定位,且模型占用内存最小,训练时间较短,更适合本研究对核桃进行实时性检测的需求。

5 结论

1) 针对机器人自主分拣核桃工作中对核桃实时检测的需求,本文研究了基于YOLOv5目标检测算法对不同品种核桃检测的方法。通过建立以南疆主产的新2、新光及温185核桃的数据集对YOLOv5s模型进行训练与测试。该模型对新2、新光及温185核桃检测的mAP值分别为99.5%、98.4%和97.1%,单幅图像的检测时间为7 ms,可以达到对核桃实时检测的需求。

2) 为验证本文选择模型的性能,本文与其他主流的目标检测算法进行了对比试验,结果表明,本文选择的YOLOv5s算法的检测精度最高、检测速度最快、训练时间较短且模型的占用内存最小,更适合本研究的检测需求。

3) 综上所述,本文选择的YOLOv5目标检测算法满足对核桃的实时性检测需求,该研究可为对动态核桃自主分拣研究提供研究基础,为机器人实现自主分拣核桃以及核桃产业的自动化发展具有推动意义。

猜你喜欢
精度核桃像素
基于不同快速星历的GAMIT解算精度分析
“像素”仙人掌
近似边界精度信息熵的属性约简
电力系统短期负荷预测方法与预测精度
热胀冷缩巧取完整核桃
高像素不是全部
神回复
多功能漏斗型核桃夹
核桃的艺术
浅谈ProENGINEER精度设置及应用