基于改进YOLO模型的绿篱鲁棒检测方法

未命名 10-19 阅读:87 评论:0

基于改进yolo模型的绿篱鲁棒检测方法
技术领域
1.本发明涉及计算机视觉处理技术领域,特别涉及一种基于改进yolo模型的绿篱鲁棒检测方法。


背景技术:

2.绿篱在园林设计中应用十分广泛,可以起到减弱噪声,美化环境,围定场地,划分空间,屏障或引导视线于景物焦点的作用,还可以作为雕像、喷泉、小型园林设施物等的背景。
3.绿篱的广泛使用给园林养护行业迎来了新的发展机遇,但随之而来的是城市绿化的养护问题,比如人工成本急剧增加、修剪工作繁琐低效、智能化水平低等等,急需自动化的绿篱修剪机器人来解决这一问题。使用绿篱修剪机器人对绿篱进行修剪通常需要对采集待修剪的绿篱的图片,并且对图片中的绿篱进行识别以及定位。
4.然而,由于工作环境有时候会较为复杂,模型的检测性能可能会受到对抗性攻击的显著影响,进而导致修剪器人无法正常工作。所以目前急需鲁棒的检测方法来提高绿篱修剪机器人对抗干扰的能力。
5.公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。


技术实现要素:

6.本发明的目的在于提供一种基于改进yolo模型的绿篱鲁棒检测方法,从而克服绿篱修剪机器人对抗干扰能力差的缺点。
7.为实现上述目的,本发明提供了一种基于改进yolo模型的绿篱鲁棒检测方法,包括:
8.步骤1、获取绿篱的原始图片,采集绿篱数据集;
9.步骤2、筛选出部分采集的图片,贴上patch(补丁),并对所有图片中的绿篱进行标注,划分训练集和测试集;
10.步骤3、对yolov8模型进行改进,添加cfr(一致性特征重构)模块和阀值判断机制;
11.步骤4、训练模型,得到鲁棒的yolov8模型;
12.步骤5、在验证集上测试训练模型的效果。
13.优选地,上述技术方案中,步骤1获取绿篱原始图片为,在同一天的不同时间段,对不同类型的绿篱,不同距离,不同角度进行拍摄,获取绿篱原始图片。
14.优选地,上述技术方案中,步骤2中贴上patch的步骤包括:
15.(1)在贴上patch之前,对patch进行预处理,预处理包括反转、缩放、剪裁、旋转,得到一个patch集;
16.(2)选择若干张差异明显的绿篱图像,将不同的patch随机贴到绿篱图像上的不同位置。
17.优选地,上述技术方案中,步骤2中的标注包括:使用labelimg对图片中的绿篱进行标注,要求每个绿篱的预测框要大于绿篱的外轮廓,允许预测框之间有重叠,最后将标签以yolo格式以及txt格式,图像以jpg格式进行保存。
18.优选地,上述技术方案中,步骤2划分训练集和测试集包括:将标注后形成的图像和标签导出,按照比例划分训练集和测试集,其中,带patch的图片全部分入测试集。
19.优选地,上述技术方案中,训练集和测试集划分的比例为7.5:2.5。
20.优选地,上述技术方案中,步骤3对yolov8模型进行改进包括:
21.(1)原有的yolov8模型包括主干网络、neck结构部分和head预测部分,在neck结构部分中的upsample(上采样)操作前以及最后一次concat(连接)操作前添加一致性重构模块;其中重构损失函数为:
22.l
re
=||g(z)-x||2,z~n(μ,∑)
23.其中||.||2表示l2范数,g(z)表示重建图像,x表示输入的干净图像;
24.cfr模块的作用为:通过cfr的图像重建约束将图像重建为干净图像,以促进模型学习鲁棒特征。
25.(2)添加阀值判断,为l
re
设定阈值,如果小于设定阈值则将结果输出,如果大于阈值,则继续迭代。
26.优选地,上述技术方案中,步骤4训练模型为采用trades对抗训练方法训练模型,在训练过程中选择wiou v1作为目标框回归的损失函数,得到鲁棒的yolov8模型。
27.优选地,上述技术方案中,步骤4训练模型包括:
28.(1)随机初始化网络f
θ
或者使用提前预训练的网络;
29.(2)小批量读取数据集b={x1,....,xm},其中每个批次包含m个样本;
30.(3)根据每个小批量中的样本xi初始化对应的对抗样本xi',对抗样本生成方式为:xi'

xi+0.001n(0,1),其中n(0,1)为标准正态分布;
31.(4)对每个对抗样本迭代k次,具体迭代方式为:
[0032][0033]
其中∏表示投影算子;
[0034]
(5)对网络参数θ进行更新,具体方式为:
[0035][0036]
其中,将yolov8模型原本的giou目标框回归损失函数替换成wiou v1损失函数,引入wiou v1损失函数的目的在于当anchor box和target box很好重合的情况下减弱几何因素的惩罚,减少训练干预让模型获得更好的泛化能力。wiou v1损失函数定义如下:
[0037]
l
wiouv1
=r
wiou
l
iou
[0038][0039][0040]
su=wh+w
gthgt-w
ihi
[0041]
其中(x,y,h,w)表示anchor box(锚框)的中心点坐标以及高,宽;(x
gt
,y
gt
,h
gt
,w
gt
)
表示target box(目标框)的中心点坐标以及高,宽;(hi,wi)表示anchor box和target box重叠部分的高,宽,(hg,wg)表示最小包围框的高和框。
[0042]
优选地,上述技术方案中,步骤5在验证集上测试训练模型的效果包括,将测试集输入到训练好的模型中,模型输出带目标预测框和置信度的图片。
[0043]
与现有技术相比,本发明具有如下有益效果:
[0044]
(1)本发明基于改进yolo模型的绿篱鲁棒检测方法,在原有的yolov8模型上创新地添加了cfr模块以及阈值判断机制。改进之后,模型可以用干净图像重建输入图像的一致性特征,促进模型学习鲁棒的特征,提高模型的对干净图像和对抗图像的识别精度。添加阀值判断机制,该机制可以使得cfr模块在选择随机向量时更加稳定。以上选择都是为了提高模型对绿篱的识别精度以及鲁棒性。
[0045]
(2)本发明基于改进yolo模型的绿篱鲁棒检测方法,使用trades对抗训练方法训练yolov8模型,这种对抗训练方法可以在对抗鲁棒性和准确性之间进行权衡。采用wiou v1损失函数作为yolov8目标框回归损失函数,目的在于当anchor box和target box很好重合的情况下减弱几何因素的惩罚,减少训练干预让模型获得更好的泛化能力。
附图说明
[0046]
图1是根据本发明的基于改进yolo模型的绿篱鲁棒检测方法的总体流程图;
[0047]
图2是贴上patch后的图像;
[0048]
图3是改进后的yolov8模型框架图;
[0049]
图4是cfr模块结构图;
[0050]
图5是阈值判断机制原理图;
[0051]
图6是干净图像检测效果;
[0052]
图7是贴有patch图像的检测效果。
具体实施方式
[0053]
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
[0054]
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
[0055]
如图1至图7所示,根据本发明具体实施方式的一种基于改进yolo模型的绿篱鲁棒检测方法,包括以下步骤:
[0056]
步骤一,采集绿篱数据集
[0057]
在同一天的上午和下午时间段,对不同类型(圆形,圆柱形等)的绿篱,在不同距离(摄像机距离绿篱0.5m,1m,2m,5m),不同角度(绿篱的侧面,正面,上面)进行拍摄,获得原始rgb图片。
[0058]
步骤二、筛选出部分采集的图片,贴上patch(补丁)
[0059]
(1)在贴上patch之前,对patch进行预处理,预处理包括反转、缩放、剪裁、旋转,得到一个patch集;
[0060]
(2)选择若干张差异明显的绿篱图像,将不同的patch随机贴到绿篱图像上的不同位置。贴上patch之后的效果图如图2所示。
[0061]
步骤三、对图片进行标注,划分训练集和测试集
[0062]
(1)标注为,使用labelimg对图片中的绿篱进行标注,要求每个绿篱的预测框要大于绿篱的外轮廓,允许预测框之间有重叠,最后将标签以yolo格式以及txt格式,图像以jpg格式进行保存。
[0063]
(2)将步骤(1)标注形成的图像和标签导出,并按照7.5:2.5比例划分为训练集和测试集,为后续训练测试模型准备,其中带patch的图片全部分入测试集。
[0064]
步骤四、对yolov8模型进行改进
[0065]
以yolov8模型为基础进行改进,yolov8模型是目前yolo系列中最先进的模型,对比之前的yolo模型有更高的识别精度,创新地将cfr模块添加进yolov8模型中,通过cfr的图像重建约束将图像重建为干净图像,以促进模型学习鲁棒特征,并且创新设计了添加阈值判断机制,该机制可以使得cfr模块在选择随机向量时更加稳定。以上选择都是为了提高模型对绿篱的识别精度以及鲁棒性。改进的步骤如下:
[0066]
(1)如图4所示,在原有的yolov8模型上添加cfr模块,原有的yolov8模型包括主干网络,neck结构部分,和head预测部分。在neck结构部分中的upsample(上采样)操作前以及最后一次concat(连接)操作前添加cfr(consistency features reconstruction)一致性特征重构模块。其中重构损失函数为:
[0067]
l
re
=||g(z)-x||2,z~n(μ,∑)
[0068]
其中||.||2表示l2范数,g(z)表示重建图像,x表示输入的干净图像;
[0069]
cfr模块的作用为:通过cfr的图像重建约束将图像重建为干净图像,以促进模型学习鲁棒特征。
[0070]
(2)如图5所示,添加阀值判断机制,为l
re
设定阈值,如果小于设定阈值则将结果输出,如果大于阈值,则继续迭代。图五所示为阈值判断原理图。
[0071]
步骤五、训练模型
[0072]
采用trades对抗训练方法训练模型,在训练过程中选择wiou v1作为目标框回归的损失函数,得到鲁棒的yolov8模型。
[0073]
引入对抗训练的目的在于提高模型的鲁棒性,即使得模型在识别对抗图像时仍能保持一定的精度。然而模型进行对抗训练后对干净图像的识别精度会下降,而trades对抗训练方法能一定程度上缓解这一问题。具体训练模型方法如下:
[0074]
(1)随机初始化网络f
θ
或者使用提前预训练的网络;
[0075]
(2)小批量读取数据集b={x1,....,xm},其中每个批次包含m个样本;
[0076]
(3)根据每个小批量中的样本xi初始化对应的对抗样本xi',对抗样本生成方式为:xi'

xi+0.001
·
n(0,1),其中n(0,1)为标准正态分布;
[0077]
(4)对每个对抗样本迭代k次,具体迭代方式为:
[0078][0079]
其中π表示投影算子;
[0080]
(5)对网络参数θ进行更新,具体方式为:
[0081][0082]
由于采集的数据集有限,而且数据集中会包含一些低质量样本,学习这种样本会导致模型泛化能力下降,进而导致模型在现实复杂环境中对不同绿篱的识别精度下降。为了解决这一问题,将yolov8模型原本的giou目标框回归损失函数替换成当前最新的wiou v1损失函数,引入wiou v1损失函数的目的在于当anchor box和target box很好重合的情况下减弱几何因素的惩罚,减少训练干预让模型获得更好的泛化能力。wiou v1损失函数定义如下:
[0083]
l
wiouv1
=r
wiou
l
iou
[0084][0085][0086]
su=wh+w
gthgt-w
ihi
[0087]
其中(x,y,h,w)表示anchor box(锚框)的中心点坐标以及高,宽;(x
gt
,y
gt
,h
gt
,w
gt
)表示target box(目标框)的中心点坐标以及高,宽;(hi,wi)表示anchor box和target box重叠部分的高,宽,(hg,wg)表示最小包围框的高和框。
[0088]
步骤六、在验证集上测试训练模型的效果
[0089]
将测试集输入到训练好的模型中,模型输出带目标预测框和置信度的图片。检测结果如图6和7所示,其中6表示干净图像检测结果,图7表示贴上patch的图像检测结果。
[0090]
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。

技术特征:
1.一种基于改进yolo模型的绿篱鲁棒检测方法,其特征在于,包括:步骤1、获取绿篱的原始图片,采集绿篱数据集;步骤2、筛选出部分采集的图片,贴上补丁,并对所有图片中的绿篱进行标注,划分训练集和测试集;步骤3、对yolov8模型进行改进,添加一致性特征重构模块和阀值判断机制;步骤4、训练模型,得到鲁棒的yolov8模型;步骤5、在验证集上测试训练模型的效果。2.根据权利要求1所述的基于改进yolo模型的绿篱鲁棒检测方法,其特征在于,步骤1获取绿篱原始图片为,在同一天的不同时间段,对不同类型的绿篱,不同距离,不同角度进行拍摄,获取绿篱原始图片。3.根据权利要求1所述的基于改进yolo模型的绿篱鲁棒检测方法,其特征在于,步骤2中贴上patch的步骤包括:(1)在贴上patch之前,对patch进行预处理,预处理包括反转、缩放、剪裁、旋转,得到一个patch集;(2)选择若干张差异明显的绿篱图像,将不同的patch随机贴到绿篱图像上的不同位置。4.根据权利要求1所述的基于改进yolo模型的绿篱鲁棒检测方法,其特征在于,步骤2中的标注包括:使用labelimg对图片中的绿篱进行标注,要求每个绿篱的预测框要大于绿篱的外轮廓,允许预测框之间有重叠,最后将标签以yolo格式以及txt格式,图像以jpg格式进行保存。5.根据权利要求1所述的基于改进yolo模型的绿篱鲁棒检测方法,其特征在于,步骤2划分训练集和测试集包括:将标注后形成的图像和标签导出,按照比例划分训练集和测试集,其中,带patch的图片全部分入测试集。6.根据权利要求5所述的基于改进yolo模型的绿篱鲁棒检测方法,其特征在于,训练集和测试集划分的比例为7.5:2.5。7.根据权利要求1所述的基于改进yolo模型的绿篱鲁棒检测方法,其特征在于,步骤3对yolov8模型进行改进包括:(1)原有的yolov8模型包括主干网络、neck结构部分和head预测部分,在neck结构部分中的上采样操作前以及最后一次连接操作前添加一致性重构模块;其中重构损失函数为:l
re
=||g(z)-x||2,z~n(μ,∑)其中||.||2表示l2范数,g(z)表示重建图像,x表示输入的干净图像;(2)添加阀值判断,为l
re
设定阈值,如果小于设定阈值则将结果输出,如果大于阈值,则继续迭代。8.根据权利要求1所述的基于改进yolo模型的绿篱鲁棒检测方法,其特征在于,步骤4训练模型为采用trades对抗训练方法训练模型,在训练过程中选择wiou v1作为目标框回归的损失函数,得到鲁棒的yolov8模型。9.根据权利要求8所述的基于改进yolo模型的绿篱鲁棒检测方法,其特征在于,步骤4训练模型包括:(1)随机初始化网络f
θ
或者使用提前预训练的网络;
(2)小批量读取数据集b={x1,....,x
m
},其中每个批次包含m个样本;(3)根据每个小批量中的样本x
i
初始化对应的对抗样本x
i
',对抗样本生成方式为:x
i
'

x
i
+0.001
·
n(0,1),其中n(0,1)为标准正态分布;(4)对每个对抗样本迭代k次,具体迭代方式为:其中π表示投影算子;(5)对网络参数θ进行更新,具体方式为:其中,将yolov8模型原本的giou目标框回归损失函数替换成wiouv1损失函数,wiou v1损失函数定义如下:l
wiouv1
=r
wiou
l
iouiou
s
u
=wh+w
gt
h
gt-w
i
h
i
其中(x,y,h,w)表示锚框的中心点坐标以及高,宽;(x
gt
,y
gt
,h
gt
,w
gt
)表示目标框的中心点坐标以及高,宽;(h
i
,w
i
)表示anchor box和target box重叠部分的高,宽,(h
g
,w
g
)表示最小包围框的高和框。10.根据权利要求1所述的基于改进yolo模型的绿篱鲁棒检测方法,其特征在于,步骤5在验证集上测试训练模型的效果包括,将测试集输入到训练好的模型中,模型输出带目标预测框和置信度的图片。

技术总结
本发明公开了一种基于改进YOLO模型的绿篱鲁棒检测方法,包括:步骤1、获取绿篱的原始图片,采集绿篱数据集;步骤2、筛选出部分采集的图片,贴上补丁,并对所有图片中的绿篱进行标注,划分训练集和测试集;步骤3、对YOLOv8模型进行改进,添加CFR模块和阀值判断机制;步骤4、训练模型,得到鲁棒的YOLOv8模型;步骤5、在验证集上测试训练模型的效果。本发明的方法,在原有的YOLOv8模型上创新地添加了CFR模块以及阈值判断机制。模型可以用干净图像重建输入图像的一致性特征,促进模型学习鲁棒的特征,提高模型的对干净图像和对抗图像的识别精度。添加阀值判断机制,该机制可以使得CFR模块在选择随机向量时更加稳定。提高模型对绿篱的识别精度以及鲁棒性。别精度以及鲁棒性。别精度以及鲁棒性。


技术研发人员:吴家淳 张佳承 朱纪洪 蒙丽雯 陈泉成 迟兆展 蒙艳玫 张金来 陈世峰 陈贵 韦锦
受保护的技术使用者:广西大学
技术研发日:2023.05.30
技术公布日:2023/10/15
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐