一种基于改进RetinaNet的自然果园场景下的凤梨成熟度检测方法

文档序号:31728279发布日期:2022-10-05 01:12阅读:192来源:国知局
一种基于改进RetinaNet的自然果园场景下的凤梨成熟度检测方法
一种基于改进retinanet的自然果园场景下的凤梨成熟度检测方法
技术领域
1.本发明涉及农作物成熟度检测领域,尤其涉及一种基于改进retinanet的自然果园场景下的凤梨成熟度检测方法。


背景技术:

2.凤梨是继柑橘、香蕉以后全球消耗最多的水果之一,中国作为凤梨主要生产国家之一,大面积种植凤梨在广东、广西、福建、海南、云南、台湾等地。凤梨果实的生长速度慢,在收获之前,大约需要1至2年可以成熟出果实。其中,整个生长过程分为幼苗期、生长期、结果期以及成熟期。而在结果期以及成熟期对于果农而言是需要重点关注的时期。当前凤梨的采摘种植方式主要依靠人力采摘种植,在结果期,判断是否仍然需要对凤梨继续进行除草、供水、增加叶面营养从而促进光合作用、杀菌、杀虫,套袋防晒等操作容易受到主观经验的影响,缺乏科学的可量化标准。实现凤梨果实成熟度快速、准确定位和分类可为人力管理种植提供成熟凤梨分布信息,降低劳动力成本,提高农业生产效率,实现果园机械自动化生产高水平,解决农业劳动力所面临的日益紧缺的问题;因此,对凤梨成熟度进行准确检测具有非常重要的应用价值。
3.近年来,深度学习作为人工智能中强大的技术工具,为提高采摘机器人和自动凤梨管理机器人的视觉系统提供了强有力的技术保障。本发明使用了深度学习方法,发明一种基于改进retinanet的自然果园场景下的凤梨成熟度检测方法。当下基于深度学习的凤梨检测方法有一阶段的yolo系列、ssd等、基于二阶段的faster r-cnn和anchor-free的centernet等。faster r-cnn精度较高,但是不能满足实时检测的需求。centernet、yolo系列和ssd的检测速度较快,但是检测准确度较低。
4.目前,自然果园场景下的凤梨成熟度检测任务是困难的,一方面是因为存在枝叶、杂草等对凤梨的遮挡严重的问题,同时凤梨果实之间也存在重叠遮挡的情况;另一方面,光线的变换会严重影响成像质量,进而影响检测任务。所以准确、鲁棒地检测凤梨的成熟度依然是一个开放式挑战。


技术实现要素:

5.为克服现有技术的不足,本发明提出一种基于改进retinanet的自然果园场景下的凤梨成熟度检测方法。
6.本发明的技术方案是这样实现的:
7.一种基于改进retinanet的自然果园场景下的凤梨成熟度检测方法,包括步骤:
8.s1、采集自然果园场景下凤梨图像数据,经过图像预处理后,建立凤梨图像库,所述凤梨图像库包括训练数据集、验证数据集和测试数据集;
9.s2、构建基于retinanet的网络模型结构;
10.s3、在步骤s2得到的初步网络结构的基础上,改进retinanet,构建eca-retinanet
凤梨检测网络,包括步骤:
11.s31、将eca模块嵌入class subnet中,将特征金字塔的每层特征在分类子网络中再次进行提炼,其中所述eca模块构造包括步骤:
12.s311、对从步骤s2中输入进来的有效特征层p3、p4、p5、p6、p7进行全局平均池化;
13.s312、进行一个1d卷积,1d卷积的计算方法是:若输入数据维度为8,过滤器的维度为5,则卷积后输出的数据维度为4;
14.s313、取一次sigmoid函数将值固定到0-1之间,获得输入特征层每一个通道的权值,所述权值在0和1之间;
15.s314、将所述权值乘上原输入特征层;
16.s32、将精炼过得到的特征图通过4次256通道的卷积和1次num_anchors
×
num_classes的卷积,num_anchors指的是该特征层所拥有的先验框数量,num_classes指的是网络一共对多少类的目标进行检测,将输出结果经过一个sigmoid函数,输出最终的凤梨成熟度分类结果;
17.s4、导入步骤1得到的训练数据集对步骤s3中得到的eca-retinanet选择焦点损失函数来编译模型进行训练,获取检测凤梨成熟度的最优模型;
18.s5、利用步骤1得到的测试数据集进行测试,通过eca-retinanet模型对凤梨图像进行成熟度检测。
19.进一步地,所述步骤s1中所述采集自然果园场景下凤梨图像数据,包括步骤:拍摄者使用智能手机在4月份采集而来,分辨率为4032
×
3024;拍摄时间段分别在四天中的上午9:00-11:00、下午15:00-17:00、傍晚19:00-19:30;拍摄的天气状况包括晴天、多云、阴天和雨天;光照条件包括顺光、逆光;图片包含有枝叶、杂草以及果实重叠遮挡的复杂背景;采集而成的凤梨图像包含不同成熟度,其中包括:凤梨目呈开红紫色花的第一阶段、凤梨目呈红紫花凋谢且平的第二阶段、凤梨目呈平的第三阶段、凤梨目呈墨绿转黄色的第四阶段;所有拍摄图片格式存储为jpeg格式。
20.进一步或更进一步地,步骤1中所述图像预处理和建立凤梨图像库包括步骤:
21.s11、根据人工分类后的凤梨果实图片进行凤梨数据集的建立,对每张数据集图片中的每颗凤梨样本,使用labelimg工具进行标签信息的标注,将生成标注xml文件,数据集格式为pascal voc2007格式;
22.s12、将标注好标签的数据集按照一定比例进行随机抽取,将图像分为训练数据集、验证数据集和测试数据集,比例为8:1:1;
23.s13、对训练集中的凤梨果实图片进行水平与垂直旋转、缩放、调整图像的亮度和对比度进行增强扩充。
24.进一步地,步骤s2中所述构建基于retinanet的网络模型结构,包括步骤:
25.s21、选择resnet50作为主干特征网络,将600
×
600
×
3大小的凤梨图片传入resnet50网络;resnet50其包含conv block和identity block两个基本块;conv block的输入维度和输出维度不同,其有改变网络维度的功能,将输入图片长和宽进行压缩;identity block的输入和输出维度相同,其有加深resnet50网络深度的功能;其中需要取出长宽压缩了3次、4次、5次的结果来进行步骤s22特征金字塔结构的构造;
26.s22、通过步骤s21获得到的特征后经过特征金字塔fpn的处理,主干特征提取网络
通过步骤s21后获得3个不同感受野的特征层c3、c4、c5,通过特征金字塔fpn,获得了5个有效特征层,包括有效特征层p3、p4、p5、p6、p7,其具体内容为以下:
27.特征层c5(19
×
19
×
2048)通过了一次步长为2,通道数为256的卷积得到有效特征层p6(19
×
19
×
256),有效特征层p6会将图像划分为10
×
10的网格进行预测;
28.在有效特征层p6的基础上进行一个relu激活函数的操作后,再进行一次步长为2,通道数为256的卷积得到有效特征层p7(5
×5×
256),有效特征层p7会将图像划分为5
×
5的网格进行预测;
29.特征层c5经过一次通道数为256的卷积,卷积后的结果有2个应用方向;其中一个方向是进行了一次通道数为256的卷积得到有效特征层p5(19
×
19
×
256),有效特征层p5会将图像划分为19
×
19的网格进行预测;另一个应用方向是进行上采样,上采样的结果再与特征层c4(38
×
38
×
1024)进行了一次通道数为256的卷积后的结果相加;
30.相加后的结果有2个应用方向,其中一个方向是进行一次卷积获得有效特征层p4(38
×
38
×
256),有效特征层p4会将图像划分为38
×
38的网格进行预测;另一个应用方向是再进行一次上采样,上采样的结果再与特征层c3(75
×
75
×
512)进行了一次通道数为256的卷积后的结果相加,相加后的结果进行一次卷积获得有效特征层p3(75
×
75
×
256),有效特征层p3会将图像划分为75
×
75的网格进行预测;
31.s23、通过步骤s22获得了5个有效特征层,包括有效特征层p3、p4、p5、p6、p7,利用这5个有效特征层传输入class subnet分类子网层和box subnet边界框回归子网层获得预测结果;class subnet采用4次256通道的卷积和1次num_anchors
×
num_classes的卷积,num_anchors指的是该特征层所拥有的先验框数量,num_classes指的是网络一共对多少类的目标进行检测;将输出结果经过一个sigmoid函数,将预测概率固定到0-1之间;box subnet采用4次256通道的卷积和1次num_anchors
×
4的卷积,num_anchors指的是该特征层所拥有的先验框数量,4指的是先验框的调整情况。
32.进一步地,步骤s4包括步骤:
33.s41、将步骤s1中的格式为pascal voc2007的数据集放到指定文件夹下,准备好数据集;
34.s42、使用resnet50的预训练权重作为步骤s3中的eca-retinanet网络的训练权重,选择焦点损失函数来编译模型进行训练,训练100个周期,同时生成所需的权值文件;
35.s43、将步骤s42得到的权值文件中,挑选出训练好后的最佳的模型权重参数作为最优eca-retinanet模型的权值,得出最优eca-retinanet模型。
36.更进一步地,所述步骤s42中,焦点损失函数为计算预测值(即分类与回归的结果)与真实值(数据集的标签)之间的误差,而后通过反向传播对模型中的网络参数进行更新,以最大限度的得到所期望模型能够达到的性能。
37.进一步地,所述步骤s5包括步骤:通过测试集进行检测结果评估测试,得出该模型对凤梨成熟度检测的评价指标,其中所述评价指标包括召回率、平均精确度、f1得分、均值平均精度、fps。
38.本发明的有益效果在于,与现有技术相比,本发明所述的方法具有实时性的同时,具有较高的检测精度,本发明可以快速且准确的定位凤梨位置并且分类凤梨的成熟度,能够提供成熟凤梨分布信息,有助于合理安排劳动力,从而降低收割成本,促进精准农业的发
展。
附图说明
39.图1是本发明一种基于改进retinanet的自然果园场景下的凤梨成熟度检测方法流程图;
40.图2是本发明中retinanet网络的resnet50和fpn的结构示意图;
41.图3是本发明中改进后的retinanet网络结构图;
42.图4是本发明中eca-retinanet的结构示意图;
43.图5是本发明提供的技术方案在100个训练轮次结束后的损失值图;
44.图6是本发明提供的技术方案在100个训练轮次结束后的均值平均精度图。
具体实施方式
45.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
46.请参见图1,发明实施例提供的一种基于改进retinanet的自然果园场景下的凤梨成熟度检测方法,具体步骤如下:
47.s1、采集自然果园场景下凤梨图像数据,经过图像预处理后,建立凤梨图像库;
48.s2、构建基于retinanet的网络模型结构;
49.s3、在步骤s2得到的初步网络结构的基础上,改进retinanet,构建eca-retinanet凤梨检测网络;
50.s4、导入步骤1得到的训练数据集对步骤s3中得到的eca-retinanet,选择焦点损失函数来编译模型进行训练,获取检测凤梨成熟度的最优模型;
51.s5、利用步骤1得到的测试集进行测试,通过eca-retinanet模型对凤梨图像进行成熟度检测。
52.步骤s1中采集自然果园场景下凤梨果实图像数据,具体包括,拍摄者使用智能手机在4月份采集而来,分辨率为4032
×
3024。拍摄时间段分别在四天中的上午9:00-11:00、下午15:00-17:00、傍晚19:00-19:30;拍摄的天气状况包括晴天、多云、阴天和雨天;光照条件包括顺光、逆光;图片包含有枝叶、杂草以及果实重叠遮挡的复杂背景;采集而成的凤梨图像基本包含不同成熟度,其中包括:凤梨目呈开红紫色花的第一阶段、凤梨目呈红紫花凋谢且平的第二阶段、凤梨目呈平的第三阶段、凤梨目呈墨绿转黄色的第四阶段。所有拍摄图片格式存储为jpeg。
53.在本发明一个实施例中中,采集自然果园场景下凤梨图像数据,经过图像预处理后,建立凤梨图像库,具体方法包括:
54.s11、凤梨果实是分批次成熟的,根据实际果农需求进行4种成熟度阶段的分类,其中图片数据集包括:凤梨目呈开红紫色花的第一阶段、凤梨目红紫花凋谢且平的第二阶段、凤梨目平的第三阶段、凤梨目呈墨绿转黄色的第四阶段;
55.s12、根据人工分类后的凤梨果实图片进行凤梨数据集的建立,对每张数据集图片
retinanet凤梨检测网络,如图3所示,包括步骤:
69.s31、将eca模块嵌入class subnet中,将特征金字塔的每层特征在分类子网络中再次进行提炼;这是自适应选择一维卷积核大小的方法,以确定局部跨信道交互的覆盖率;
70.s32、将精炼过得到的特征图通过4次256通道的卷积和1次num_anchors
×
num_classes的卷积,num_anchors指的是该特征层所拥有的先验框数量,num_classes指的是网络一共对多少类的目标进行检测,将输出结果经过一个sigmoid函数,输出最终的凤梨成熟度分类结果。
71.其中在步骤s31中,由图4所示,eca模块网络构造包括如下步骤:
72.s311、对从步骤s22中输入进来的有效特征层p3、p4、p5、p6、p7进行全局平均池化;
73.s312、然后进行通过一个1d卷积,1d卷积与全连接层相比,卷积层的主要特点是参数共享和稀疏连接,使得卷积操作学习的参数数量减少,1d卷积的计算方法是:若输入数据维度为8,过滤器的维度为5,卷积后输出的数据维度为4;
74.s313、在完成1d卷积后,再取一次sigmoid函数将值固定到0-1之间,此时获得了输入特征层每一个通道的权值(0-1之间)。
75.s314、在获得这个权值后,将这个权值乘上原输入特征层。
76.步骤s4中,导入步骤1得到的训练数据集对步骤s3中得到的eca-retinanet,选择焦点损失函数来编译模型进行训练,获取检测凤梨成熟度的最优模型。包括步骤:
77.s41、将步骤s1中的格式为pascal voc2007的数据集放到指定文件夹下,准备好数据集;
78.s42、完成好步骤s41的工作后,进行网络训练的准备工作,使用resnet50的预训练权重作为步骤s3中的eca-retinanet网络的训练权重,训练100个周期,同时生成所需的权值文件;
79.s43、将步骤s42得到的权值文件中,挑选出训练好后的最佳的模型权重参数作为最优eca-retinanet模型的权值,即可得出最优eca-retinanet模型。
80.其中在步骤s52中损失函数在模型训练过程中体现其作用在于:计算预测值(即分类与回归的结果)与真实值(数据集的标签)之间的误差,而后通过反向传播对模型中的网络参数进行更新,以最大限度的得到所期望模型能够达到的性能。focal loss是一种新的用于平衡one-stage目标检测方法正负样本的loss方案。focal loss的公式为:fl(p
t
)=-α
t
(1-p
t
)
γ
log(p
t
)。这里的两个参数α和γ协调来控制,采用α=0.25,γ=2效果最好。
81.在步骤s43中,最佳的模型权重是经过反复试验证明的。通过损失函数来进行模型训练,然后再来测试对于指标来说最好的选择参数是有用的,程序将会保存其作为最佳的模型权重。
82.步骤s5中,利用步骤1得到的测试集进行测试,通过eca-retinanet模型对凤梨图像进行成熟度检测,包括步骤:通过测试集进行检测结果评估测试,得出该模型对凤梨成熟度检测的评价指标。其中评价指标包括召回率、平均精确度、f1得分、均值平均精度、fps。运行预测文件则可进行对凤梨图像进行成熟度检测。评价指标包括以下:recall:召回率,真实是正例的样本中,预测也是正例所占的比例,计算公式为:precision:精确率,预测是正例的样本
中,真实也是正例所占的比例,计算公式为:ap是p-r曲线与坐标图中的x轴所围成的面积,面积越大,说明算法性能越好,计算公式为:(平均精确度map为各种类别的ap的平均值,其中n为类别数,计算公式为:(均值平均精度mean average precision)precision)fps:frame per seconds用帧率来衡量检测的速度的快慢,即1秒内能够处理的图片帧数。
83.对本发明的技术方案进行实验验证,实验采用win10的操作系统,intel(r)core(tm)i7-9700k cpu@3.60ghz 3.60ghz的处理器,16gb内存,基于pytorch深度学习框架,采用python语言作为编程语言实现本发明方法。
84.检测结果评估测试中,在100个训练轮次结束后的损失值图,如图5所示;在100个训练轮次结束后的均值平均精度图,如图6所示。由检测结果评估可知,针对凤梨成熟度第一阶段、凤梨成熟度第二阶段、凤梨成熟度第三阶段、凤梨成熟度第四阶段检测精度分别为95.47%、94.34%、95.92%、96.74%,均值平均精度为96.62%,召回率为91.82%,f1得分为92.75%,检测速度0.04s/张。
85.本发明可以快速且准确的定位凤梨位置并且分类凤梨的成熟度,能够提供成熟凤梨分布信息,有助于合理安排劳动力,从而降低收割成本,促进精准农业的发展。
86.综上所述,本发明提出一种基于改进retinanet的自然果园场景下的凤梨成熟度检测方法,在实精确性和鲁棒性上表现优异,可以实际应用到凤梨种植基地。
87.以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1