第45卷第3期2022年5月
河北农业大学学报
JOURNAL OF HEBEI AGRICULTURAL UNIVERSITY
Vol.45 No.3
May 2022
基于改进YOLOv4模型的自然环境下梨果实识别
马 帅,张 艳,周桂红,刘 博
(河北农业大学 信息科学与技术学院 / 河北省农业大数据重点实验室,河北 保定 071001)
摘要:针对自然环境下梨果实识别场景中存在梨果实颜与背景颜相近、遮挡、重叠等因素导致的识别
困难的问题,本试验提出1种基于改进的YOLOv4网络模型梨果实识别的方法,使用的神经网络模型以
CSPDarknet53作为主干特征提取网络,将空间金字塔池化(SPP)中的最大池化法改为平均池化法,以适应
目标与背景颜相近的场景,更多地保留目标信息;将SPP模块前后的卷积、PANet中的部分卷积以及输出
部分的卷积替换为深度可分离卷积,在保证卷积效果不变的效果下减少网络模型所占空间。使用训练后的改
进YOLOv4模型对未参与训练的图像样本进行测试,改进后的模型所占空间比原模型下降44%,召回率达到
85.56%,比原模型提高了1.29%,mAP达到90.18%,比原模型提高了0.1%。实验结果表明,本文算法对自然
环境下近背景的梨果实的识别具有良好的查全率与精确率,能够较好地对梨果实进行识别,可为实现梨果园
的自动采摘和产量预测提供技术支持。
关 键 词:卷积神经网络;YOLOv4;梨;果实识别
中图分类号:TP391.4开放科学(资源服务)标识码(OSID):
绛文献标志码:A
Recognition of pear fruit under natural environment using an
improved YOLOv4 model
MA Shuai, ZHANG Yan, ZHOU Guihong, LIU Bo
(College of Information Science and Technology / Hebei Key Laboratory of Agricultural Big Data, Hebei
Agricultural University, Baoding 071001, China)
Abstract:Aiming at the recognition problems of pear fruit under natural environment including similar background
color, covering and overlaping,this paper improved YOLOv4 network model for pear fruit recognition. The neural
network model was applied with CSPDarknet53 as the backbone feature extraction network. In order to retain more
target information under similar colors background as target, the maximum pooling method was replaced by the
average pooling method in spatial pyramid pooling (SPP). The convolutions were replaced by depth-wise separable
convolutions in the partial convolutions in PANet, output part, before and after the SPP module to reduce the space
occupied by network model. The improved model after training was used to test the image samples that did not
participate in the training, and the improved model took 4 % less space with 85.56% recall rate that was improved
by 1.29%. And the mAP reached 90.18%, which was 0.1% higher than the original model. The experimental results
showed that the algorithm in this paper had a good recall and precision rate for the recognition of pear fruits with
near-color background under natural environment. The algorithm can recognize pear fruits well, providing a new
收稿日期:2021-08-15
基金项目: 河北省自然科学基金项目(F2020204009);河北农业大学自主培养人才科研专项(PY201810).
第一作者:马 帅(1997—),男,河北保定人,硕士研究生,从事人工智能、图像处理研究. E-
国际十大珠宝品牌通信作者: 周桂红(1968—),女,河北武邑人,博士,教授,从事人工智能、图像处理研究. E-
本刊网址:hauxb.hebau.edu
文章编号:1000-1573(2022)03-0105-07DOI:10.13320/jki.jauh.2022.0050
申请yy帐号106第45卷
河北农业大学学报
欲穷千里目 更上一层楼solution for automatic picking and yield forecast of pear orchards.
Keywords: convolutional neural network; YOLOv4; pear; recognition of fruits
矜持怎么读中国是世界上最大的梨生产国。在我国,梨是仅次于苹果和柑橘的第三大水果,有着悠久的栽培历史[1]。而河北省是梨的重要产区,栽培面积和产量均为全国第一[2]。
近年来随着人工智能的发展,工业、农业等传统行业通过人工智能技术改进传统的作业模式取得了良好的效果,而卷积神经网络(Convolutional Neural Network)在图像识别领域良好的表现,被广泛应用于检测图像中目标的场景中。Kang Hanwen 等[3]采用LedNet卷积神经网络对苹果果实进行检测和识别,其召回率和精确率分别达到0.821和0.853,表明卷积神经网络在果实检测场景中具有可行性。闫建伟等[4]将Faster RCNN中的ROI Pooling替换为ROI Align,对刺梨果实进行识别,平均识别精度达到92.01%,但对果实颜与背景颜相近的果实识别率较低。Longsheng Fu 等[5]采用ZFNet作为Faster RCNN的主干特征提取网络,对遮挡、重叠、多果实相邻等不同场景下的猕猴桃果实图像进行识别,其总体识别率为92.3%。吕石磊等[6]提出使用1种基于GIoU边框回归损失函数,并采用MobileNet-v2作为特征提取网络改进YOLOv3-LITE算法,使用 GIoU 回归框损失函数替代传统损失函数边框回归的均方误差部分(MSE),对自然环境下柑橘果实图像进行识别,平均精度达到90.38%,
为柑橘采摘机器人定位提供良好的技术支持。闫建伟等[7]采用改进YOLOv3算法对刺梨果实图像进行识别,其平均准确率达88.5%,平均召回率为91.5%,在刺梨果实检测场景下具有良好的表现。目前,YOLOv4为较新的YOLO系列算法,已有相关研究将YOLOv4应用于在柑橘、苹果、番茄、猕猴桃、樱桃、香蕉、小麦等作物识别与应用场景中[8-16]。目前,将卷积神经网络直接应用于梨的果实识别的场景中的相关研究较少,而以上研究成果为梨的果实识别研究提供了良好的参考。
目前,梨园的生产方式以传统的栽培模式为主,在这种模式下,主要以人工的方式进行花果管理、果实采摘以及产量统计。而这种模式存在着人工成本高、生产效率低等问题。梨的成熟果实体积较小,部分梨果实易被其它果实或叶片遮挡,且梨果实的颜与叶片颜相近,这就增加了对自然条件下梨果实的识别与定位的难度。本试验通过对自然环境中梨树的栽培模式与生长模式进行分析,通过对YOLOv4网络模型进行调整和改进,对梨果实数据集进行训练,得到改进YOLOv4的梨果实识别模型,在保证检测精度的同时使查全率得到提升,实现对梨果实的识别与定位。
1 数据采集与数据集的构建
1.1 数据采集
本试验所使用的梨果实图像采集于河北省邢台市威县,品种为‘红香酥’,果园的栽培模式为株距1 m、行距3.5 m,采集6年生和4年生的成熟时期梨树图像共800幅。所用图像通过HUAWEI Mate 30设备,
于距目标果树约3 m处进行水平拍摄。拍摄的图像原始格式为JPG,分辨率为2736×3648像素。采集的梨树图像样本示例如图1
所示。
图1 梨树图像样本示例
Fig.1 Examples of pear tree image samples
1.2 数据集的构建
本实验将采集的800幅图像用于训练和测试神经网络模型,为保证训练效果,使用OpenCV对图
107
第3期像进行数据增强,数据增强的方式为水平翻转,扩充数据集至1 600 幅图像。
由于原图像和数据增强后的图像分辨率较大,直接作为网络模型训练的输入会导致占用显存过大、特征提取难度高以及训练效果差等问题,故将每幅分辨率为2 736×3 648像素的图像裁剪为5×6共30 幅608×608 像素的图像。由于原图像分辨率无
法满足裁剪的每幅子图像都为608×608像素,故对图像进行填充,即在原图的右侧以及数据增强后图像的左侧进行填充,填充尺寸为304×3 648像素,填充颜为RGB(0,0,0),使原图像和数据增强后的图像为3 040×3 648像素,之后对图像进行裁剪,图1所示图像样本裁剪后的效果如图2所示。
图2 单幅图像裁剪示例
Fig.2 Example of single image cropping
裁剪后的图像共48 000幅,使用LabelImg 软件对图像中的梨果实目标进行标注,生成标签,本试验采用Pascal VOC 2007数据集格式进行图像样本标签的制作。
2 实验环境及方法
2.1 实验环境
本研究采用的实验环境为Ubuntu 18.04,64位操作系统,硬件配置为服务器,采用Intel(R)
Xeon(R) Gold 5220 处理器,主频2.20 GHz ;显卡为NVIDIA Quadro RTX 5000,显存为16 GB 。本研究采用的编程语言为Python 3.8,采用Pytorch 1.7.1框架,CUDA 版本为10.0。2.2 YOLOv4网络模型
本研究选择YOLOv 4作为梨果实识别的基础网络模型,并对该网络模型进行改进和优化,使训练后的模型可以达到更好的检测和识别效果。
YOLOv 4网络模型[17]由3个部分构成:主干
马 帅,等:基于改进YOLOv4模型的自然环境下梨果实识别
108第45卷
河北农业大学学报
特征提取网络CSPDarknet53、SPP模块以及PANet 模块。网络模型首先对输入的图片通过主干网络进行特征提取,然后对主干网络的最后1层输出进行3次卷积操作,之后通过空间金字塔池化层(SPP)不同尺寸的池化核进行最大池化,将池化结果进行融合得到1个输出,并与主干网络的倒数第2层及倒数第3层的输出通过PANet模块得到3个输出,之后进行分类回归,得到预测结果。
2.3 对YOLOv4网络模型的改进
2.3.1 改进SPP模块 空间金字塔池化[18](Spatial Pyramid Pooling,以下简称SPP),是基于RCNN进行改进的,能够增加感受野,可以对不同尺寸的特征图输入,输出固定尺寸的特征图,其基本思想是对输入的特征图,通过不同尺寸的池化核,进行最大池化处理。在YOLOv4模型结构中,SPP结构位于CSPDarknet53的最后1个特征层的输出后,先对CSPDarknet53最后1个特征层进行3次卷积和激活函数的处理,之后利用4个不同尺寸的池化核对其输出进行最大池化处理,即13×13、9×9、5×5和1×14种尺寸,在池化过程中对不同尺寸池化核要处理的特征图分别加入poolsize/ 2的填充,其中poolsize表示池化核的尺寸,以将不同尺寸池化核处理后的结果拼接在一起。
是老中医歌词采用最大池化下采样方法进行池化处理,可以更多地保留目标的纹理特征信息。而在本试验数据集中,梨果实目标与叶片背景的颜与形状较相似,采用最大池化方法会丢失目标信息,造成漏检和误检,因此,在SPP结构的基础上,采用平均池化的方法替换原有的最大池化,以提高目标检测的精确率和召回率。
2.3.2 改进部分卷积模块 本研究采用深度可分离卷积[19](Depthwise Separable Convolution)结构替换了SPP模块之前与之后的卷积、PANet中的部分卷积以及输出部分的卷积。深度可分离卷积由2个部分组成,即逐通道卷积与逐点卷积。对于输入的1个特征图,首先进行逐通道卷积,其主要思想为对特征图的每个通道分别进行1次单通道卷积,即通道和卷积核一一对应,对于输入通道数为n的特征图,通过逐通道卷积后将产生的输出也为n通道。之后对产生的n通道的输出进行卷积核为1×1×n 的卷积操作,若逐点卷积的卷积核为m,则会产生通道数为m的输出特征图。采用深度可分离卷积可以在保证与常规卷积输出维度相同的前提下[20],大幅减少参数量。
改进的YOLOv4网络结构如图3所示,其中dw_Conv为使用深度可分离卷积块改进的卷积模块;AvgPooling为平均池化层,k 表示池化核尺寸。
n
图3 改进的YOLOv4网络结构
Fig.3 Network structure of improved YOLOv4
2.4 使用K-means++算法生成先验框
先验框是在图像上预设好的框,用来对图像上的目标更好地进行预测。为了平衡模型的准确度和复杂度,YOLOv4中采用9组先验框,本研究采用K-means++聚类算法对数据集中人工标注的梨果实边界框的宽与高进行聚类[21]以得到9组不同尺寸的先验框,聚类结果分布如图4所示,其中横纵坐标分别为标签的宽与高,每一类的聚类中心的坐标即为先验框的尺寸。
109
第3
期图4 标签尺寸聚类分布图
Fig.4 Scattergram for clustering of label size
3 实验及结果分析
3.1 数据集的划分
本研究从1 600 幅原图及数据增强后的图像中,随机挑选1 280 幅 (80%)图像作为训练集和验证集,剩余的20%的图像作为测试集;在训练集和验证集中,选择其中的90%作为训练集,剩余的10%作为验证集。训练验证集和测试集划分完成后,将训练验证集中图像的裁剪后的子图像进行模型的训练,测试集图像裁剪后的子图像用于模型的测试。
对训练验证集中的1 280幅图像进行裁剪,共产生38 400幅图像。由于在裁剪时未进行人工干预,故裁剪所产生的子图像中存在大量未包含梨果实目标的图像,这些不包含目标的图像在训练过程中会加重正负样本分布不均匀的问题,故在训练过程中随机去除了部分不含目标的子图像,最后参与训练的训练验证集子图像共25 000幅。而对于测试集中不包含目标的子图像则进行了保留,参与模型最终的检验,测试集图像共9 600幅。3.2 模型训练
本研究的网络模型采用YOLOv 4推荐输入尺寸608×608像素作为输入图像的尺寸,采用迁移学习的方法,引入主干特征提取网络的预训练权重。模型共训练150代,对前50代冻结主干特征网络的权重,对之后的100代使用全部的权重进行训练。在主干特征提取网络中,采用Mosaic 数据增强算法,并采用余弦退火衰减法修改学习率。对于输入的梨树图像的子图像,首先经过CSPDarknet 53网络进行特征提取,保存该网络最后3层网络结构的输出分
别为out 1、out 2及out 3。对于最后1层网络结构的输出out 3,进行卷积与深度可分离卷积的操作,之后作为改进SPP 模块的输入进行不同尺寸的平均池化,并将池化结果拼接后再进行卷积与深度可分离卷积操作,得到输出out 3_s ,之后将out 1、out 2及out 3_s 作为PANet 的输入,对经过PANet 的特征提取后得到的3个加强特征图传入YOLO Head 进行最终的预测。3.3 模型训练过程
在模型训练过程中,模型训练的迭代次数与损失率的曲线如图5所示,其中Train Loss 表示训练
集损失率随迭代次数增加的变化,Val Loss 表示验
证集损失率随迭代次数增加的变化。
图5 改进YOLOv4网络模型的Loss 曲线图Fig.5 Loss curve of improved YOLOv4 network model
从图5的训练过程中迭代次数和损失率的关系曲线图中可以看出,在前50代的训练集损失率与验证集损失率均波动较大,原因在于这部分的训练过程中冻结了主干特征提取网络的权重;在第50到53代之间时,训练集损失率与验证集损失率下降幅度较大,原因在于从第51代开始,使用全部权重进行训练;在第110代后,验证集损失率趋于稳定,模型收敛。 3.4 模型效果验证
使用训练完成的最优模型对9 600幅未参与训练的梨树图像子图像进行检测,平均每秒可以对20幅图像进行检测。通过对比测试集真实标签及标签数量与模型检测出来的结果进行验证和分析,以得到模
型的评价指标。
对于模型效果的验证通常采用的评价指标为精确率(Precision )、召回率(Recall )、F 1分数以及mAP 。对于任意模型,在检测图像时有4种不同的
马 帅,等:基于改进YOLOv4模型的自然环境下梨果实识别
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论