一种基于YOLOv5x改进模型的无人机拍摄图像物体检测方法


一种基于yolov5x改进模型的无人机拍摄图像物体检测方法
技术领域
1.本发明属于目标识别技术领域,更为具体地讲,是一种基于yolov5x改进模型的无人机拍摄图像物体检测方法。


背景技术:



2.近年来,随着无人机产业与深度学习技术的发展,在无人机拍摄的图像中进行物体检测在日常生活与工业生产中都得到了广泛的应用。具体地说,这项技术被广泛地应用在智慧城市、植物保护、野生动物保护等场景中。然而,由于无人机拍摄的图像中的大多数物体都是低分辨率的小物体,几乎没有视觉信息,因此很难提取鉴别特征,容易受到环境因素的干扰;且无人机拍摄图像中的对象具有更大的聚类概率,特征图上的多个对象聚合为一个点等原因,目前的检测方案检测精度相对过低且漏检率高。
3.为解决上述问题,本发明提出一种基于yolov5x改进模型的无人机拍摄图像物体检测方法,利用开源数据集visdrone数据集进行训练和测试。通过构建rsts-yolov5将yolov5结构中保留的部分提取单帧图像中的图像特征与rsts模块提取的隐式上下文信息相结合,弥补无人机拍摄图像中物体过小,特征极度不明显导致的难以检测的问题,利用无人机拍摄图像聚簇特点,进行多尺度数据增强,具有操作简便、检测效率高、精度高、漏检率和误检率低的效果。


技术实现要素:



4.本发明的目的在于克服现有技术的不足,提供一种基于yolov5x改进模型的无人机拍摄图像物体检测的方法,利用单帧图像中的图像特征与彩信息结合特征间的隐式上下文信息,弥补无人机拍摄图像中物体过小,特征极度不明显导致的难以检测的问题,使深度学习模型在无人机拍摄的小目标图像中进行物体检测的检测精度提升。
5.为实现上述发明目的,本文发明一种基于yolov5x改进模型的无人机拍摄图像物体检测方法,包括以下步骤
6.步骤1:获取无人机拍摄图像目标检测数据集;
7.步骤2:对步骤1中的数据集格式进行转化,通过python脚本将检测标签转为yolo格式的txt标签文件,文件中每一行代表一个目标框,一行中包含参数为:物体类别object-class、目标框中心横坐标x、目标框中心纵坐标y、目标框宽度width、目标框高度height;
8.步骤3:对步骤2中获取的格式转化后的数据集进行多尺度数据增强,首先将数据集图片长度统一设置为1024,并分别进行对应尺度大小为1120,1248,1344,1472的多尺度数据增强;
9.步骤4:构建rsts模块(res-swin transformer stage),其具体步骤为;
10.步骤4-1:通过patch merging分别在输入特征图的行列两个方向每间隔2个像素选取1个元素,然后拼接在一起作为1个张量,最后展开;此时通道维度会变成原先的4倍,因为h,w各缩小2倍,此时再通过一个全连接层再调整通道维度为原来的两倍;
11.步骤4-2:通过卷积操作将原始张量降采样至长宽大小为原张量的1/2,通道数保持不变;
12.步骤4-3:通过layernorm将步骤4-1得到的张量沿通道维度进行归一化;
13.步骤4-4:将步骤4-3得到的张量划分成为多个窗口,即将输入张量进行维度上的变化使其从x∈rh×w×c空间变为x∈rn×
ws
×
ws
×c,其中,n=h
×
w/(ws
×
ws),h、w表示向量空间的高度、宽度,ws代表窗口数量,h,w,c分别代表原始的高度、宽度、通道数;
14.步骤4-5:对每个窗口进行多头自注意力机制计算,得到相对位置信息编码后的特征图;
15.步骤4-6:通过layernorm对步骤4-4输出进行归一化,然后通过全连接层将维度变化为输入的原始维度,并将输出的张量与步骤4-4的输出作为残差进行融合,得到一张新的特征图;
16.步骤4-7:通过对步骤4-6输出的特征图移位,并给自注意力机制计算过程设置掩膜来实现的窗口迁移,然后重复步骤4-3到步骤4-7,最后恢复特征图原始位置;
17.步骤4-8:将步骤4-2得到的残差与步骤4-7得到的输出进行融合;
18.步骤5:基于步骤4构建的rsts模块搭建rsts-yolov5模型,具体步骤如下:
19.步骤5-1:替换原始yolov5中backbone第10层的c3层为rsts模块,该模块具体参数为:3组成对的swin transformer block,窗口大小为4,多头注意力机制头数为12;
20.步骤5-2:在第17层后,继续对特征图进行上采样,使得特征图继续扩大,同时在第20层时,将获取到的特征图与yolov5骨干网络的第3层特征图进行融合,以此获取更大的特征图进行小目标检测;
21.步骤5-3:在yolov5骨干网络的第23、27、31、35层分别对应添加1、3、2、1组成对的swin transformer block的rsts模块,其窗口大小为4,多头注意力机制头数为12;
22.步骤6:对于数据集中所有的训练样本集,统一进行马赛克数据增强,然后对步骤5得到模型进行训练,直到训练完成;
23.步骤7:对于数据集中所有的测试样本集,进行批量测试,采用通过测试的模型进行实时物体检测。
24.进一步的,所述步骤3的具体步骤为:
25.步骤3-1:计算一张图像中包含所有目标框的平均坐标位置(x
mean
,y
mean
):
[0026][0027][0028]
其中,xi,yi分别代表每个目标框中心点的坐标位置,n表示目标框总个数;
[0029]
步骤3-2:计算每个尺度大小对应的截取尺度
[0030][0031][0032]
其中,l
xo
,l
yo
分别代表原始图像的长宽尺寸,其l
xo
取值为1120,1248,1344,1472,k代表放大系数,即放大后尺度/原始尺度;
[0033]
步骤3-3:以所有目标框的平均坐标位置为中心点,截取尺度为中心点延伸像素点长度,裁剪出图像区域,获取到新的图像,并将其放大至长度的统一值1024,得到新的静态图像;
[0034]
步骤3-4:计算目标框在图像进行裁剪放大后对应的像素坐标位置及其长宽,对于目标仍有50%以上面积位于新图像中的目标,保留其目标框并根据图像内容将其标签值更新,生成新的标签数据。
[0035]
本文发明一种基于yolov5x改进模型的无人机拍摄图像物体检测方法,通过构建rsts-yolov5将yolov5结构中保留的部分提取单帧图像中的图像特征与rsts模块提取的隐式上下文信息相结合,弥补无人机拍摄图像中物体过小,特征极度不明显导致的难以检测的问题,利用无人机拍摄图像聚簇特点,进行多尺度数据增强,具有操作简便、检测效率高、精度高、漏检率和误检率低的效果。
附图说明
[0036]
图1是本发明基于yolov5x改进模型的无人机拍摄图像物体检测方法流程图。
[0037]
图2是本发明设计的多尺度数据增强示意图。
[0038]
图3是本发明设计的rsts模块结构图。
[0039]
图4是本发明构建的rsts-yolov5网络结构图。
[0040]
图5是识别结果图示例。
具体实施方式
[0041]
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
[0042]
实施方式一:
[0043]
步骤1:获取无人机拍摄图像目标检测数据集visdrone。
[0044]
步骤2:对步骤1中的数据集格式进行转化,通过python脚本将检测标签转为yolo格式的txt标签文件,文件中每一行代表一个目标框,一行中包含参数为:object-class、x、y、width、height。
[0045]
步骤3:对步骤2中获取的格式转化后的数据集进行多尺度数据增强,在训练过程发生之前,首先将数据集图片长度统一设置为1024,并分别进行对应尺度大小为1120,1248,1344,1472的多尺度数据增强;
[0046]
步骤3-1:计算一张图像中包含所有目标框的平均坐标位置(x
mean
,y
mean
):
[0047][0048][0049]
其中,xi,yi分别代表每个目标框中心点的坐标位置;
[0050]
步骤3-2:计算每个尺度大小对应的截取尺度
[0051][0052][0053]
其中,l
xo
,l
yo
分别代表原始图像的长宽尺寸,k代表放大系数,即放大后尺度/原始尺度;
[0054]
步骤3-3:以所有目标框的平均坐标位置为中心点,截取尺度为中心点延伸像素点长度,裁剪出一定图像区域,获取得到新的图像,并将其放大至长度的统一值1024,得到新的静态图像;
[0055]
步骤3-4:计算目标框在图像进行裁剪放大后对应的像素坐标位置及其长宽,对于目标仍有50%以上面积位于新图像中的目标,保留其目标框并将其标签值更新,生成新的标签数据。
[0056]
步骤4:构建res-swin transformer stage(rsts)模块,在一个rsts中包含一个patch merging层,多组成对出现的swin transformer block以及一个用于维度匹配的卷积层;
[0057]
步骤4-1:通过patch merging分别在在输入特征图的行列两个方向每间隔2个像素选取1个元素,然后拼接在一起作为1个张量,最后展开。此时通道维度会变成原先的4倍(因为h,w各缩小2倍),此时再通过一个全连接层再调整通道维度为原来的两倍;
[0058]
步骤4-2:通过卷积操作将原始张量降采样至长宽大小为原张量的1/2,通道数保持不变;
[0059]
步骤4-3:通过layernorm将步骤4-1得到的张量沿通道维度进行归一化;
[0060]
步骤4-4:将步骤4-3得到的张量划分成为多个窗口,即将输入张量进行维度上的变化使其从x∈rh×w×c空间变为x∈rn×
ws
×
ws
×c,其中,n=h
×
w/(ws
×
ws);ws代表窗口数量,h,w,c分别代表原始的高度、宽度、通道数;
[0061]
步骤4-5:对每个窗口进行多头自注意力机制计算,得到相对位置信息编码后的特征图;
[0062]
步骤4-6:通过layernorm对步骤4-4输出进行归一化,接着通过全连接层将维度变化为输入的原始维度,并将输出的张量其与将步骤4-4的输出作为残差进行融合,得到一张新的特征图;
[0063]
步骤4-7:通过对步骤4-6输出的特征图移位,并给注意力模块设置掩膜来间接实现的窗口迁移,然后重复步骤4-3到步骤4-7,最后恢复特征图原始位置;
[0064]
步骤4-8:将步骤4-2得到的残差与步骤4-7得到的输出进行融合。
[0065]
步骤5:基于步骤4构建的rsts模块搭建rsts-yolov5模型,具体步骤如下:
[0066]
步骤5-1:替换原始yolov5中backbone第10层的c3层为rsts模块,该模块具体参数为:3组成对的swin transformer block,窗口大小为4,多头注意力机制头数为12。
[0067]
步骤5-2:在第17层后,继续对特征图进行上采样等处理,使得特征图继续扩大,同时在第20层时,将获取到的特征图与骨干网络中第3层特征图进行融合,以此获取更大的特征图进行小目标检测。
[0068]
步骤5-3:在第23、27、31、35层分别添加1、3、2、1组成对的swin transformer block的rsts模块,其窗口大小为4,多头注意力机制头数为12。
[0069]
步骤6:对于数据集中所有的训练样本集,统一进行马赛克数据增强,设置迭代次数为150,batch-size为1,warm-up学习率为0.1,初始学习率为0.01,经过150次迭代训练,损失值与精度趋于稳定,保存此时的最佳参数模型。
[0070]
步骤7:对于数据集中所有的测试样本集,进行批量测试,输入图片分辨率大小为1536,筛选框的置信度阈值为0.001,nms的iou阈值为0.65,计算其平均精度map进行评估。
[0071]
实施方式二:
[0072]
与实施方式一不同的是,针对于包含聚簇特性的无人机拍摄图像物体检测场景,本专利提出的多尺度数据增强有着较好的效果;但对于物体随机分布较为平均的物体检测场景,应跳过这一步骤,具体步骤如下:
[0073]
步骤1:获取无人机拍摄图像目标检测数据集visdrone。
[0074]
步骤2:对步骤1中的数据集格式进行转化,通过python脚本将检测标签转为yolo格式的txt标签文件,文件中每一行代表一个目标框,一行中包含参数为:object-class、x、y、width、height。
[0075]
步骤3:构建res-swin transformer stage(rsts)模块,在一个rsts中包含一个patch merging层,多组成对出现的swin transformer block以及一个用于维度匹配的卷积层;
[0076]
步骤3-1:通过patch merging分别在在输入特征图的行列两个方向每间隔2个像素选取1个元素,然后拼接在一起作为1个张量,最后展开。此时通道维度会变成原先的4倍(因为h,w各缩小2倍),此时再通过一个全连接层再调整通道维度为原来的两倍;
[0077]
步骤3-2:通过卷积操作将原始张量降采样至长宽大小为原张量的1/2,通道数保持不变;
[0078]
步骤3-3:通过layernorm将步骤3-1得到的张量沿通道维度进行归一化;
[0079]
步骤3-4:将步骤3-3得到的张量划分成为多个窗口,即将输入张量进行维度上的变化使其从x∈rh×w×c空间变为x∈rn×
ws
×
ws
×c,其中,n=h
×
w/(ws
×
ws);ws代表窗口数量,h,w,c分别代表原始的高度、宽度、通道数;
[0080]
步骤3-5:对每个窗口进行多头自注意力机制计算,得到相对位置信息编码后的特征图;
[0081]
步骤3-6:通过layernorm对步骤3-4输出进行归一化,接着通过全连接层将维度变化为输入的原始维度,并将输出的张量其与将步骤3-4的输出作为残差进行融合,得到一张新的特征图;
[0082]
步骤3-7:通过对特征图移位,并给注意力模块设置掩膜来间接实现的窗口迁移,然后重复步骤3-3到步骤3-7,最后恢复特征图原始位置;
[0083]
步骤3-8:将步骤3-2得到的残差与步骤3-7得到的输出进行融合。
[0084]
步骤4:基于步骤4构建的rsts模块搭建rsts-yolov5模型,具体步骤如下:
[0085]
步骤4-1:替换原始yolov5中backbone第10层的c3层为rsts模块,该模块具体参数为:3组成对的swin transformer block,窗口大小为4,多头注意力机制头数为12。
[0086]
步骤4-2:在第17层后,继续对特征图进行上采样等处理,使得特征图继续扩大,同时在第20层时,将获取到的特征图与骨干网络中第3层特征图进行融合,以此获取更大的特征图进行小目标检测。
[0087]
步骤4-3:在第23、27、31、35层分别添加1、3、2、1组成对的swin transformer block的rsts模块,其窗口大小为4,多头注意力机制头数为12。
[0088]
步骤5:对于数据集中所有的训练样本集,统一进行马赛克数据增强,设置迭代次数为150,batch-size为1,warm-up学习率为0.1,初始学习率为0.01,经过150次迭代训练,损失值与精度趋于稳定,保存此时的最佳参数模型。
[0089]
步骤6:对于数据集中所有的测试样本集,进行批量测试,输入图片分辨率大小为1536,筛选框的置信度阈值为0.001,nms的iou阈值为0.65,计算其平均精度map进行评估。

技术特征:


1.一种基于yolov5x改进模型的无人机拍摄图像物体检测方法,包括以下步骤:步骤1:获取无人机拍摄图像目标检测数据集;步骤2:对步骤1中的数据集格式进行转化,通过python脚本将检测标签转为yolo格式的txt标签文件,文件中每一行代表一个目标框,一行中包含参数为:物体类别object-class、目标框中心横坐标x、目标框中心纵坐标y、目标框宽度width、目标框高度height;步骤3:对步骤2中获取的格式转化后的数据集进行多尺度数据增强,首先将数据集图片长度统一设置为1024,并分别进行对应尺度大小为1120,1248,1344,1472的多尺度数据增强;步骤4:构建rsts模块,其具体步骤为;步骤4-1:通过patch merging分别在输入特征图的行列两个方向每间隔2个像素选取1个元素,然后拼接在一起作为1个张量,最后展开;此时通道维度会变成原先的4倍,因为h,w各缩小2倍,此时再通过一个全连接层再调整通道维度为原来的两倍;步骤4-2:通过卷积操作将原始张量降采样至长宽大小为原张量的1/2,通道数保持不变;步骤4-3:通过layernorm将步骤4-1得到的张量沿通道维度进行归一化;步骤4-4:将步骤4-3得到的张量划分成为多个窗口,即将输入张量进行维度上的变化使其从x∈r
h
×
w
×
c
空间变为x∈r
n
×
ws
×
ws
×
c
,其中,n=h
×
w/(ws
×
ws),h、w表示向量空间的高度、宽度,ws代表窗口数量,h,w,c分别代表原始的高度、宽度、通道数;步骤4-5:对每个窗口进行多头自注意力机制计算,得到相对位置信息编码后的特征图;步骤4-6:通过layernorm对步骤4-4输出进行归一化,然后通过全连接层将维度变化为输入的原始维度,并将输出的张量与步骤4-4的输出作为残差进行融合,得到一张新的特征图;步骤4-7:通过对步骤4-6输出的特征图移位,并给自注意力机制计算过程设置掩膜来实现的窗口迁移,然后重复步骤4-3到步骤4-7,最后恢复特征图原始位置;步骤4-8:将步骤4-2得到的残差与步骤4-7得到的输出进行融合;步骤5:基于步骤4构建的rsts模块搭建rsts-yolov5模型,具体步骤如下:步骤5-1:替换原始yolov5中backbone第10层的c3层为rsts模块,该模块具体参数为:3组成对的swin transformer block,窗口大小为4,多头注意力机制头数为12;步骤5-2:在第17层后,继续对特征图进行上采样,使得特征图继续扩大,同时在第20层时,将获取到的特征图与yolov5骨干网络的第3层特征图进行融合,以此获取更大的特征图进行小目标检测;步骤5-3:在yolov5骨干网络的第23、27、31、35层分别对应添加1、3、2、1组成对的swin transformer block的rsts模块,其窗口大小为4,多头注意力机制头数为12;步骤6:对于数据集中所有的训练样本集,统一进行马赛克数据增强,然后对步骤5得到模型进行训练,直到训练完成;步骤7:对于数据集中所有的测试样本集,进行批量测试,采用通过测试的模型进行实时物体检测。2.如权利要求1所述的一种基于yolov5x改进模型的无人机拍摄图像物体检测方法,其
特征在于,所述步骤3的具体步骤为:步骤3-1:计算一张图像中包含所有目标框的平均坐标位置(x
mean
,y
mean
):):其中,x
i
,y
i
分别代表每个目标框中心点的坐标位置,n表示目标框总个数;步骤3-2:计算每个尺度大小对应的截取尺度2:计算每个尺度大小对应的截取尺度2:计算每个尺度大小对应的截取尺度其中,l
xo
,l
yo
分别代表原始图像的长宽尺寸,其l
xo
取值为1120,1248,1344,1472,k代表放大系数,即放大后尺度/原始尺度;步骤3-3:以所有目标框的平均坐标位置为中心点,截取尺度为中心点延伸像素点长度,裁剪出图像区域,获取到新的图像,并将其放大至长度的统一值1024,得到新的静态图像;步骤3-4:计算目标框在图像进行裁剪放大后对应的像素坐标位置及其长宽,对于目标仍有50%以上面积位于新图像中的目标,保留其目标框并根据图像内容将其标签值更新,生成新的标签数据。

技术总结


本文发明一种基于YOLOv5x改进模型的无人机拍摄图像物体检测方法,通过构建RSTS-YOLOv5将YOLOv5结构中保留的部分提取单帧图像中的图像特征与彩信息与RSTS模块提取的隐式上下文信息相结合,弥补无人机拍摄图像中物体过小,特征极度不明显导致的难以检测的问题,利用无人机拍摄图像聚簇特点,进行多尺度数据增强,具有操作简便、检测效率高、精度高、漏检率和误检率低的效果。漏检率和误检率低的效果。漏检率和误检率低的效果。


技术研发人员:

刘娟秀 李嘉琛 张静 郝茹茜 王祥舟 杜晓辉 刘霖 刘永

受保护的技术使用者:

电子科技大学

技术研发日:

2022.08.29

技术公布日:

2022/12/16

本文发布于:2024-09-23 06:22:47,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/36334.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:步骤   张量   图像   特征
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议