掌桥专利:专业的专利平台
掌桥专利
首页

一种基于YOLOv5的旋转目标检测方法

文献发布时间:2023-06-19 12:24:27


一种基于YOLOv5的旋转目标检测方法

技术领域

本发明涉及一种基于深度神经检测网络YOLOv5的旋转目标检测方法,本发明属于计算机应用领域。

背景技术

随着时代的发展、社会的进步遥感影像、无人机图像将会开拓很多新的应用市场,比如:城市规划、环境资源动态监测、指导业内更新工作等方向。随着遥感卫星、无人机等技术的升级,高空拍摄图像的分辨率越来越高,数量也越来越多,很难依靠人工去判定,因此运用深度学习目标检测去处理高空拍摄图像十分有必要,这样可以大大减少人力成本。但是常规的目标检测方法很难在目前高空拍摄的图像上面发挥作用,因为高空拍摄图像的目标有着像素区域小、极端长宽比且目标具有旋转角等特点。

为了适应这些特征,有很多学者提出了旋转目标检测方法。目前来说主流的检测方法都是在FasterRCNN的基础上改进的,例如R2CNN,在经过RPN之后,做ROIPooling的时候并不是像FasterRCNN一样只选择一种7*7的kernel大小,而是采取了三种尺寸的Pooling层:7*7、3*11、11*7,后续全卷积层阶段的输出除了包括检测框的中心坐标点、宽高之外,还包括了描述这个框的角度大小,正负代表方向。其他的工作包括杨学博士提出的SCRDet,这个算法在FasterRCNN的基础上增加了SF-Net,MDA-Net等结构,其中SF-Net通过上下采样来控制特征图的大小,达到控制anchor步长的目的,并且通过实验证明了步长越小,实验效果越好。MAD-Net结构是为了提取效果更好的特征图,因为RPN直接提取的特征图会有大量的噪声,使得背景与前景、前景与前景之间的边界模糊。因此提出了具有注意力机制的MAD-Net结构,它分为三个分支,第一个分支是像素级别的注意力机制,第二个分支是原特征图,第三个分支是通道方向的注意力机制。最后将三个分支的特征图相乘得到更加清晰的特征图,用于后续网络的检测。

基于FasterRCNN改进的旋转目标检测大都是属于两阶段的网络,两阶段的网络有一个比较大的缺点就是速度比较慢,因为它首先会经过RPN网络进行候选框的初步挑选,然后在经过全连接层的二次筛选,导致速度变慢。而目前基于YOLO系列一阶段目标检测算法改进为进行旋转目标检测的工作尚未出现,本发明主要基于YOLO系列的目标检测框架,提出一种基于YOLOv5的旋转目标检测算法。

发明内容

发明目的:针对上述方法存在的问题,本发明提出了一种基于YOLOv5的旋转目标检测方法,并且实现了两种类型的旋转目标检测方式,可根据数据集的不同而尝试不同的检测方式,选择其中效果最好的。

技术方案:本发明包括如下步骤:

(1)、接收输入图像,数据加载模块对所述输入图像进行数据增强;

(2)、选择不同的旋转目标检测算法;

(3)、在步骤(2)中选择坐标偏移量回归算法,在YOLOv5的backbone后面添加Attention-Net模块,进行特征的提取;

(4)、在提取到的特征图上进行坐标偏移量旋转目标预测;

(5)、训练时结合YOLOv5的损失函数,并加入偏移量损失函数以及Attention-Net模块的损失函数;

(6)、将预测得到的目标框进行旋转目标后处理,最后得到检测结果;

(7)、在步骤(2)中选择旋转Anchor检测算法,数据直接YOLOv5的backbone进行特征提取;

(8)、在提取到的特征图上做旋转Anchor目标预测;

(9)、训练时改进YOLOv5的水平框损失函数,将其改为旋转框的损失函数;

(10)、将预测得到的目标框进行旋转目标后处理,最后得到检测结果。

有益效果:后处理模块采取了旋转交并比的计算方式,添加到了非极大值抑制算法中。最终模型对于高空拍摄图像中的旋转目标检测取得了良好的检测,发明算法可有效处理旋转小目标检测的问题。

附图说明

图1是本发明流程图。

图2是坐标偏移量算法label示意图。

图3是网络结构图。

图4是Attention-Net结构图。

图5是旋转Anchor示意图。

具体实施方式

本算法基于四个模块实现,数据加载模块,特征提取模块、旋转目标预测模块、后处理模块,下面详细介绍各个模块的细节:

数据加载模块:旋转目标标注形式是顺时针标注四边形的四个点的坐标,该模块会对数据进行上下、左右翻转、高斯模糊,拼接、旋转、label扰动等数据增强。

特征提取模块:(1)选择坐标偏移量回归算法:模块1将图片送入YOLOv5的backbone后,再经过Attention-Net模块进行特征图的去噪,最后依次经过YOLOv5的原有模块Focus、BottleneckCSP、SPP、PAN,得到尺寸大小为原图的1/8、1/16,1/32三种尺寸的特征图,输送到后续网络用来预测。(2)选择旋转anchor检测算法:模块1将图片处理好之后直接送入YOLOv5的backbone进行特征图的提取,最后经过YOLOv5的原有模块Focus、BottleneckCSP、SPP、PAN,得到尺寸大小为原图的1/8、1/16,1/32三种尺寸的特征图,输送到后续网络用来预测。

旋转目标预测模块:用模块2输出的特征图来检测旋转目标框,并且分为两种检测方式:

(1)坐标偏移量回归检测,得到一系列旋转目标框,在训练模式下,利用这个算法对应的损失函数进行训练;

(2)旋转Anchor检测,得到一系列旋转目标框,在训练模式下,利用这个算法对用的损失函数进行训练;

后处理模块:模块3得到的旋转框要进行NMS操作,水平框的NMS算法已经不再适用,此模块使用了旋转框的NMS算法,使得旋转框的后处理效果更好。

步骤一:输入一张图片,数据加载模块会将图片转为RGB通道,resize成672*672大小,将原来的维度[H,W,C]变为[C,H,W],还会对图片进行均值为0,方差为0.5的高斯模糊、对图片进行一般的上下左右翻转,还可以对图片进行随机选择旋转,对标签进行label的扰动等操作,最后将增强后的图片进行归一化。

步骤二:图片处理好之后,输入到特征提取模块。根据不同的检测算法,选择不同的特征提取模块:

(1)坐标偏移量回归算法:网络结构如图3所示,在YOLOv5的backbone之后还要接一个如图4所示的Attention-Net结构,形成一个完整的特征提取模块然后输出三个尺寸大小的特征图。假设输入图片的宽高都是672,则三个尺寸分别是84,42,21。下面介绍Attention-Net有三条分支:

第一个分支:输入的特征图的形状为(C*W*H),经过卷积操作得到如图4所示的绿色的特征图,形状为(2*W*H),然后在通道方向采取softmax操作,取得每个通道上两个像素值中最大的一个,这个就是像素级别的attention,形状为(1*W*H)。

第二个分支:输入时候的特征图。

第三个分支:输入的特征图经过卷积操作之后得到形状为(C*1*1)的特征图,再经过sigmoid激活函数。

最后将第一个分支得到的(1*W*H)的特征图、第二个分支得到的形状为(C*W*H)的特征图以及第三个分支得到的形状为(C*1*1)的特征图进行相乘,最后得到形状为(C*W*H)的特征图,与Attention-Net输入的形状相同,这时候后续网络就可以在此特征图上进行后续操作了。

(2)旋转Anchor检测算法:网络结构如图3所示,直接用YOLOv5的backbone进行特征提取然后输出三个尺寸大小的特征图。假设输入图片的宽高都是672,则三个尺寸分别是84,42,21。

步骤三:此模块将在步骤二之后得到的三个特征图上做预测。同样是根据不同的检测算法,分为两种情况:

(1)坐标偏移量回归算法:每个grid会输出3*(9+num_class)个通道,3表示每个grid有三种大小的Anchor,9代表8个表示的label的参数还有一个obj参数。8个表示label的参数如图2所示,表示形式为

在训练阶段的损失函数如下:

loss=lobj+lbox+loff+latt+lcls

其中lbox表示水平框的损失,loff表示4个偏移量的损失,lobj表示是否存在目标的损失,latt表示Attention-Net网络的损失,lcls表示类别的损失。λ

(2)旋转Anchor检测算法,每个grid会输出6*(5+num_class)个通道,6表示每个grid输出18种类型的Anchor,YOLOv5原本有三种尺寸的Anchor,这种算法又提出了6种具有旋转角度的Anchor,如图5所示,角度分别为90°,60°,30°,0°,-30°,-60°,因此3*6共有18个种类的Anchor,5代表表示label的5个参数:x,y,w,h,θ,num_calss表示类别数量。

在训练阶段的损失函数如下:

loss=lobj+lobx+lcls

其中lbox表示旋转框的损失,lobj表示是否存在目标的损失,lcls表示类别的损失。λ

步骤四:步骤三会得到大量的检测框,需要运用NMS算法将重复的框去掉。该模块用的是旋转NMS算法,具体步骤是:

1.将所有框按照置信度大小从大到小进行排序。

2.每次选取一个置信度最高的框,如果这个框打了标记,跳过此框,重复步骤2,直到所有的框都挑选完。

3.将选取的这个框与剩余的所有框做旋转IoU计算,实际做法是先按照水平框做常规的IoU计算,再计算两个旋转框角度相似度,两者相乘,就可以得到旋转框的IoU。

4.将IoU小于一定阈值的框保留,并打上标记。再重复步骤2。

相关技术
  • 一种基于YOLOv5的旋转目标检测方法
  • 一种基于改进YOLOv5的密集小目标检测方法
技术分类

06120113283656