一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于改进YOLOv3的果园产量测定系统的制作方法

2021-12-07 21:47:00 来源:中国专利 TAG:

一种基于改进yolov3的果园产量测定系统
技术领域
1.本发明属于深度学习计算机视觉和农产品测产技术领域,涉及一种基于轻量化神经网络模型的果园产量测定系统,尤其涉及一种基于改进yolov3的果园产量测定系统。


背景技术:

2.果园测产可以让果农提前掌握果树的生长状况,确定果实合适的收获期,并合理安排采摘人员,从而预估果园整体利润,降低劳动力雇佣的不合理性,提升经济效益。
3.传统的果园测产方法有果园人工抽样法和目测清点果树产量法等,此类方法不仅对测产人员的经验要求较高,而且劳动强度较大,精度较低。近年来随着计算机硬件的不断加强,深度学习模型取得了较快的发展,为实现自动化果园测产提供了不同模型和技术手段。
4.然而,目前将深度学习用于农产品测产的研究较少,且现有的模型很难在移动端取得检测速度和检测精度的平衡。因此,本发明主要研究将改进后的yolov3模型应用到移动端的果园测产,以满足高效准确的检测要求。


技术实现要素:

5.本发明旨在提供一种基于改进yolov3的果园产量测定系统,以解决上述背景技术中提出的问题,旨在保证目标检测精度的同时,提高果园测产的检测速度。
6.为实现上述目的,本发明提供了如下方案:
7.一种基于改进yolov3的果园产量测定系统,包括:摄像头、开发板、无人机和pc机;
8.所述摄像头和开发板均搭载安装在无人机上;
9.所述摄像头与开发板连接,所述开发板与pc机远程连接;
10.所述摄像头用于:拍摄果树视频,并对果树视频进行分帧处理,提取果树视频中的每一帧图像,得到果树图像序列集,并传送给开发板;
11.所述开发板用于:部署基于改进yolov3的果树测产模型,并利用所述果树测产模型得到单帧图像果树产量和果园整体产量,且将单帧图像果树产量和果园整体产量发送至pc机;
12.所述无人机用于:沿“弓”字型在果园的树行间飞行,直至采集到果园中果树的所有图像;
13.所述pc机用于:实时显示单帧图像果树产量和果园整体产量。
14.在上述技术方案的基础上,搭建所述基于改进yolov3的果树测产模型,具体包括以下步骤:
15.s1、采集果树图像,制作初始样本数据集;
16.s2、对初始样本数据集进行数据增强,获得目标检测样本数据集的真实框的标注文件;
17.s3、划分训练集与测试集:将目标检测样本数据集划分为训练集和测试集;
18.s4、优化改进yolov3的网络结构,得到改进后的shufflenetv2_yolov3模型;
19.s5、训练shufflenetv2_yolov3模型,得到训练后的模型权重文件一;
20.s6、压缩模型权重文件一;
21.s7、测试改进yolov3的果树测产模型的网络性能。
22.在上述技术方案的基础上,所述步骤s1的具体步骤如下:
23.s1.1、将一块白色幕布用竹杆支撑,置于果树后方;
24.s1.2、开启摄像头,拍摄果树视频,并对果树视频进行分帧处理,提取果树视频中的每一帧图像,得到果树图像序列集;
25.s1.3、对果树图像序列集进行人工筛选处理,删除重复图像和无果实图像,获得果树图像,并利用labelimg标注工具对所述果树图像进行标注果实,得到初始样本数据集;
26.所述步骤s2的具体步骤如下:
27.对初始样本数据集进行裁剪、旋转、缩放、平移、添加噪声、调整对比度、调整亮度、调整饱和度或混合叠加等操作,将经过上述操作的初始样本以及未经过上述操作的样本合并,以扩充初始样本数据集的样本数量,得到目标检测样本数据集,形成真实框标注文件。
28.在上述技术方案的基础上,所述步骤s4的具体步骤如下:
29.s3.1、将yolov3的骨干网络darknet

53更换为shufflenetv2模块,同时将自注意力机制模块嵌入shufflenetv2模块,以增强果实重要特征指向性;
30.s3.2、将yolov3网络中包括上采样部分的卷积模块全部更换为参数量更少的深度可分离卷积模块,得到改进后的shufflenetv2_yolov3模型。
31.在上述技术方案的基础上,所述改进后的shufflenetv2_yolov3网络模型的网络结构为:将输入层与3*3标准卷积层连接,3*3标准卷积层与第一个shufflenetv2模块连接,第一个shufflenetv2模块与第一个自注意力机制模块连接,第一个自注意力机制模块与第二个shufflenetv2模块连接,第二个shufflenetv2模块与第二个自注意力机制模块连接,第二个自注意力机制模块与第一个3组深度可分离卷积模块连接;第一个3组深度可分离卷积模块的输出经过上采样层处理后,与第一个自注意力机制模块的输出经过联结层处理;联结层的处理结果输入第二个3组深度可分离卷积模块;将第一个3组深度可分离卷积模块的输出与第二个3组深度可分离卷积模块的输出为所述改进后的shufflenetv2_yolov3模型的输出;
32.每组深度可分离卷积模块包括:1
×
1逐点卷积层和3
×
3深度卷积层;
33.所述自注意力机制模块的网络结构为:将自注意力机制模块的输入与3*3深度卷积层连接;3*3深度卷积层的输出经过正则化处理后,再与1*1逐点卷积层连接;1*1逐点卷积层的输出经过第一个sigmoid激活函数处理;第一个sigmoid激活函数处理结果输入全局平均池化层,全局平均池化层的输出再经过第二个sigmoid激活函数处理;第二个sigmoid激活函数处理结果经扩展维度后,与自注意力机制模块的输入逐元素相乘,获得输出结果一;第一个sigmoid激活函数处理结果同时输入全局最大池化层,全局最大池化层的输出再经过第三个sigmoid激活函数处理;第三个sigmoid激活函数处理结果经扩展维度后,与自注意力机制模块的输入逐元素相乘,获得输出结果二;将所述输出结果一和输出结果二进行联结,将联结结果作为自注意力机制模块的输出。
34.在上述技术方案的基础上,所述步骤s5的具体步骤如下:
35.s5.1、加载目标检测样本数据集的真实框的标注文件,计算真实框与先验框的交并比值,通过对交并比值进行k

means聚类,得到先验框的尺寸;
36.s5.2、将先验框的尺寸和其他超参数输入到shufflenetv2_yolov3模型中;
37.s5.3、利用训练集对shufflenetv2_yolov3模型进行训练,直至收敛,得到训练后的模型权重文件一。
38.在上述技术方案的基础上,所述步骤s6的具体步骤如下:
39.s6.1、对shufflenetv2_yolov3模型进行模型剪枝,统计各网络层的敏感度信息;
40.s6.2、根据当前统计的敏感度信息,对每个卷积层剪掉30%的卷积核;
41.s6.3、加载模型权重文件一,统计每秒浮点运算次数(flops),如果每秒浮点运算次数不满足预设的阈值,重复步骤s6.1

s6.2;
42.如果每秒浮点运算次数已满足预设的阈值,使用较小的学习率训练shufflenetv2_yolov3模型,直至收敛,得到剪枝后的模型权重文件二;
43.s6.4、统计网络权重取值范围,找出模型权重文件二的最大值和最小值,将所有的浮点型权重数值映射成整型数值,使用较小的学习率训练shufflenetv2_yolov3模型,直至收敛,得到量化后的模型权重文件三;
44.s6.5、对shufflenetv2_yolov3模型进行知识蒸馏,加载模型权重文件三,使用一个预先训练好的大型网络

如resnet网络,训练shufflenetv2_pbam_yolov3模型的网络,以提高shufflenetv2_pbam_yolov3模型的精度,轻量化shufflenetv2_pbam_yolov3模型,降低运算成本,且易于移植,最终得到知识蒸馏后的模型权重文件四。
45.在上述技术方案的基础上,所述步骤s7的具体步骤如下:
46.载入压缩后的模型权重文件四,利用测试集测试shufflenetv2_yolov3模型的性能。
47.在上述技术方案的基础上,所述部署基于改进yolov3的果树测产模型,得到单帧图像果树产量和果园整体产量的具体步骤如下:
48.s8、将shufflenetv2_yolov3模型和压缩后的模型权重文件四部署到开发板上;
49.s9、确定果树测产系数k;
50.s10、启动无人机,利用开发板实时读取当前帧果树图像,并进行检测,获得当前帧果树图像的总果实数;
51.s11、将单个果实重量乘以总果实数,再乘以果树测产系数k,得到单帧图像果树产量,并发送到pc机上实时显示;
52.s12、设定摄像头的拍照间隔,设定果园的某个位置为拍摄起点,操纵无人机沿“弓”字型在果园的树行间飞行,直至采集到果园中果树的所有图像;利用开发板对单帧图像果树产量进行累加,得到果园整体产量,并发送到pc机上显示。
53.在上述技术方案的基础上,步骤s9的具体步骤如下:
54.s9.1、利用摄像头拍摄若干张果树图像;对应每张果树图像采摘相应果树拍摄图像中的果实,并分别称重,获得若干单张图像的果树实际产量;
55.s9.2、利用shufflenetv2_yolov3模型和压缩后的模型权重文件四对步骤s9.1获得的若干张果树图像进行检测,分别统计每张果树图像检测出的果实个数;
56.s9.3、将每张果树图像检测出的果实个数乘以单个果实重量,获得每张果树图像
的预测产量;
57.s9.4、计算每张果树图像的预测产量与对应单张图像的果树实际产量的比值;
58.s9.5、将若干比值进行累加,再除以果树图像的总数,得到果树测产系数k,以降低遮挡果实对产量测定的影响。
59.在上述技术方案的基础上,获取单个果实重量的步骤如下:在果园中随机采摘若干果实,称其重量,再除以样本数,得到单个果实重量。
60.本发明的有益技术效果如下:
61.本发明通过优化改进yolov3深度学习模型,可以从大量训练样本中提取特征,经过多次迭代,学习到样本数据的内在规律,具有较高的识别精度。将改进后的模型部署在移动端开发板上,通过摄像头采集到的果树图像,可以在pc机上实时显示出当前帧果树的果实重量,鲁棒性较好,能够应对传统测产方法精度低和劳动强度大等问题,满足田间原位测产需求。
附图说明
62.本发明有如下附图:
63.图1为本发明所述基于改进yolov3的果园产量测定系统的工作流程示意图;
64.图2为本发明提出的自注意力机制模块的结构示意图;
65.图3为本发明提出的shufflenetv2_yolov3模型的结构示意图;
66.图4为本发明所述基于改进yolov3的果园产量测定系统的系统结构示意框图;
67.图5为本发明所述基于改进yolov3的果园产量测定系统的作业场景示意图;
68.图6为本发明在苹果园具体实施中的检测结果示意图。
具体实施方式
69.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚和完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
70.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明做进一步详细的说明。
71.参见图1

6,本发明提供一种基于轻量化神经网络模型的果园产量测定系统,采用本发明内容中所述的系统,对山东某苹果园进行测产,具体过程如下:
72.一:获取单个苹果重量;
73.二:搭建基于改进yolov3的苹果树测产模型;
74.三:将基于改进yolov3的苹果树测产模型部署于移动端(即开发板),并测定苹果产量。
75.首先,在果园中随机采摘若干苹果,称其重量,再除以个数,得到单个苹果重量。
76.然后,搭建基于改进yolov3(又称为:yolov3)的果树测产模型,包括以下步骤:
77.s1:采集苹果树图片(即图像),制作初始样本数据集,具体包括:将一块白色幕布用竹杆支撑,置于果树后方;将开发板及其摄像头搭载在无人机上;开启摄像头,拍摄苹果
树视频,并对其进行分帧处理,将视频中的每一帧图像提取出来,得到苹果树图像序列集(简称:果树序列集);对图像序列集进行人工筛选处理,删除重复图像和无果实图像,获得苹果树图像,并利用labelimg标注工具对果树图像进行标注苹果,得到初始样本数据集;
78.s2:获得目标检测样本数据集的真实框的标注文件,具体包括:对初始样本数据集进行数据增强,得到目标检测样本数据集(即完备样本数据集),步骤s2具体包括:对步骤s1得到的初始样本数据集进行裁剪、旋转、缩放、平移、添加噪声、调整对比度、调整亮度、调整饱和度或混合叠加等操作,将经过上述操作的初始样本以及未经过上述操作的样本合并,以扩充初始样本数据集的样本数量,得到目标检测样本数据集,形成真实框标注文件;由于数据集的成本比较高,收集大量的数据费时费力,采用基于现有的数据生成更多的数据,可以提高模型精度。
79.s3:训练集与测试集划分,具体包括:将目标检测样本数据集按一定比例划分为训练集和测试集;
80.s4:优化改进yolov3的网络结构,具体包括:将yolov3的骨干网络darknet

53更换为shufflenetv2模块(又称为:shufflenetv2模块),将自注意力机制模块嵌入到shufflenetv2模块后,以增强苹果重要特征指向性;并将yolov3检测网络中包括上采样部分的卷积模块全部更换为参数量更少的深度可分离卷积模块,得到shufflenetv2_yolov3模型(即图3中的shufflenetv2_yolov3模型)。改进后的shufflenetv2_yolov3网络模型包括:1个输入层、2个输出层、1个3*3标准卷积层、18个3*3深度卷积层(即3
×
3深度卷积层)、14个1*1逐点卷积层(即1
×
1逐点卷积层)、10个bn层、12个sigmoid层,3个联结层和1个上采样层,输入为384*384*3(其中,第一个384表示图像的长度,第二个384表示图像的宽度,3表示rgb值)的图像,输出为48*48*18(其中,第一个48表示图像的长度,第二个48表示图像的宽度,18表示图像的个数)的图像和24*24*18(其中,第一个24表示图像的长度,第二个24表示图像的宽度,18表示图像的个数)的图像。
81.所述改进后的shufflenetv2_yolov3模型的网络结构为:将输入层与3*3标准卷积层连接,3*3标准卷积层与第一个shufflenetv2模块连接,第一个shufflenetv2模块与第一个自注意力机制模块连接,第一个自注意力机制模块与第二个shufflenetv2模块连接,第二个shufflenetv2模块与第二个自注意力机制模块连接,第二个自注意力机制模块与第一个3组深度可分离卷积模块连接;第一个3组深度可分离卷积模块的输出经过上采样层处理后,与第一个自注意力机制模块的输出经过联结层处理;联结层的处理结果输入第二个3组深度可分离卷积模块;
82.将第一个3组深度可分离卷积模块的输出(输出为:24*24*18的图像,用于:大目标的检测)与第二个3组深度可分离卷积模块的输出(输出为:48*48*18的图像,用于:小目标的检测)为所述改进后的shufflenetv2_yolov3模型的输出。
83.所述shufflenetv2模块包括:3个1
×
1逐点卷积层、5个3
×
3深度卷积层和3个sigmoid层;
84.每组深度可分离卷积模块包括:1
×
1逐点卷积层(简称:逐点卷积)和3
×
3深度卷积层(简称深度卷积);
85.所述自注意力机制模块的网络结构为:将自注意力机制模块的输入与3*3深度卷积层连接;3*3深度卷积层的输出经过正则化处理后,再与1*1逐点卷积层连接;1*1逐点卷
积层的输出经过第一个sigmoid激活函数处理;第一个sigmoid激活函数处理结果输入全局平均池化层,全局平均池化层的输出再经过第二个sigmoid激活函数处理;第二个sigmoid激活函数处理结果经扩展维度后,与自注意力机制模块的输入逐元素相乘,获得输出结果一;第一个sigmoid激活函数处理结果同时输入全局最大池化层,全局最大池化层的输出再经过第三个sigmoid激活函数处理;第三个sigmoid激活函数处理结果经扩展维度后,与自注意力机制模块的输入逐元素相乘,获得输出结果二;将所述输出结果一和输出结果二进行联结,将联结结果作为自注意力机制模块的输出。
86.由于模型大量使用了深度可分离卷积代替标准卷积,所以,参数量大大降低,shufflenetv2_yolov3模型权重文件为2.2mb,仅为yolov3权重文件的1%,并且模型精度损失较少。
87.s5:训练shufflenetv2_yolov3模型,具体包括:利用k

means聚类方法计算得到具体的先验框的尺寸,具体是:加载目标检测样本数据集的真实框的标注文件,计算真实框与先验框的交并比值,通过对交并比值进行k

means聚类,得到先验框的尺寸(即图1中所示,输出聚类后的先验值尺寸);将先验框的尺寸和其他超参数输入到shufflenetv2_yolov3模型中,利用训练集对shufflenetv2_yolov3模型进行训练,直至收敛,得到训练后的模型权重文件一;
88.s6:压缩模型权重文件一,具体包括:对shufflenetv2_yolov3模型进行模型剪枝,统计各网络层的敏感度信息,根据当前统计的敏感度信息,对每个卷积层剪掉少量(例如:30%)卷积核;加载模型权重文件一,统计每秒浮点运算次数flops,如果flops不满足要求(即不满足预设的阈值,阈值根据部署要求可以调节),重复上述操作;如果flops已满足要求,使用较小的学习率(采用不同的学习率去调试)训练shufflenetv2_yolov3模型,直至收敛,得到剪枝后的模型权重文件二(简称:权重文件二);统计网络权重取值范围,找出模型权重文件二的最大值和最小值,将所有的浮点型权重数值映射成整型数值,,使用较小的学习率训练shufflenetv2_yolov3模型,直至收敛,得到量化后的模型权重文件三(简称:权重文件三);对shufflenetv2_yolov3模型进行知识蒸馏,加载模型权重文件三,使用一个预先训练好的大型网络训练shufflenetv2_pbam_yolov3网络,得到知识蒸馏后的模型权重文件四(简称:权重文件四);
89.s7:测试改进yolov3的网络性能,具体包括:载入压缩后的模型权重文件四,利用测试集测试shufflenetv2_yolov3模型的性能。
90.进一步地,所述将基于改进yolov3的苹果树测产模型部署于移动端,并进行果园产量测定,具体包括以下步骤:
91.s8:部署基于改进yolov3的苹果树测产模型与权重文件,具体包括:将shufflenetv2_yolov3模型和压缩后的模型权重文件四部署到开发板上,并将开发板及其摄像头搭载在无人机上,开发板远程连接pc机;
92.s9:确定苹果树测产系数k,具体包括:利用摄像头拍摄若干张苹果树图片(即图像),采摘拍摄图片中的苹果并称重,获得单张图片的苹果树实际产量;利用shufflenetv2_yolov3模型和压缩后的模型权重文件四对苹果树图片进行检测,分别统计每张图片检测出的苹果个数,并将苹果个数乘以单个苹果重量,获得单张苹果树图片的预测产量。将苹果树图片的预测产量与苹果树实际产量的比值进行累加,再除以苹果树图片的总数,得到苹果
树测产系数k(即如图1所示的果树估计产系数和果树预测产系数),以降低遮挡果实对产量测定的影响。
93.s10:苹果总数检测,具体包括:开启摄像头,启动无人机,利用开发板实时读取当前帧苹果树图片,并进行检测,获得模型检测到的苹果总数;
94.s11:单帧图片苹果树产量检测,具体包括:将单个苹果重量乘以果实数,再乘以苹果树测产系数k,得到单帧图片苹果树产量,并在pc机上实时显示;
95.s12:苹果整体产量检测,具体包括:设定摄像头的拍照间隔,设定苹果园第1行入口为起点,无人机搭载开发板正对果树,操纵无人机沿“弓”字型在树行间飞行,直至采集苹果树的所有图片;利用开发板对之前检测到的产量进行累加,得到苹果园整体产量,并在pc机上显示。
96.本发明的上述实施例仅仅是为清楚地说明本发明所做的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述发明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所做的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
97.本说明书中未做详细描述的内容属于本领域专业技术人员公知的现有技术。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献