一种基于RCIoU损失的SAR图像旋转舰船检测的实现方法【掌桥专利】

您所在的位置:网站首页 图像旋转的方式包括 一种基于RCIoU损失的SAR图像旋转舰船检测的实现方法【掌桥专利】

一种基于RCIoU损失的SAR图像旋转舰船检测的实现方法【掌桥专利】

#一种基于RCIoU损失的SAR图像旋转舰船检测的实现方法【掌桥专利】| 来源: 网络整理| 查看: 265

技术领域

本发明涉及一种基于RCIoU损失的SAR图像旋转舰船检测方法,属于深度学习,计算机视觉中的遥感图像旋转目标检测领域,本发明具有较强的创新性和可行性,可用于实现SAR图像中的旋转舰船检测。

背景技术

合成孔径雷达(SyntheticAperture Radar,SAR)是一种高分辨率成像雷达,可以在能见度极低的气象条件下获得,现广泛应用于军事、民用领域。使用SAR图像进行舰船目标检测,不仅是国家海上贸易事业的繁荣和海洋安全的维护的重要支撑,而且为其他类型图像旋转目标检测提供技术支持。

在深度学习之前,已经有很多学者对SAR图像舰船检测领域进行了深入研究,提出了许多经典的SAR舰船检测算法,如恒虚警率(ConstantFalseAlarm Rate,CFAR)方法、最佳熵自动门限法(由Kapur等人提出,简称KSW)、基于K分布的恒虚警率方法等。这些传统方法一般包含有检测、鉴别和识别3个阶段,首先通过检测算法将包含目标和虚警的可疑目标检测出来,其次在鉴别阶段进一步通过具体特征来区分目标和虚警,最后通过模板匹配或机器学习等方法进行最后的识别。它们的性能主要依赖于人工设计的特征分类器,人工设计的分类器往往不能很好的区分复杂场景下的舰船与噪声。

最近几年,随着深度学习的流行,计算机视觉领域涌现出了许多优秀的舰船目标检测算法。这些算法无需人工设计特征,而是使用深度神经网络自动提取舰船特征,很大程度上提高了舰船检测效率和精度。目前,基于深度学习的目标检测算法主要有两大类:双阶段目标检测算法和单阶段目标检测算法。双阶段目标检测算法具有良好的检测精度,代表性的检测算法是RCNN系列;单阶段目标检测算法具有良好的检测速度,代表性的算法有SSD,YOLO系列。以上基于深度学习的目标检测算法,尽管或者取得了不错的检测精度,或者取得了不错的检测速度,然而,这些算法都是基于检测目标是水平位置来检测的,即,检测目标没有旋转角度,而当检测目标有旋转角度时,虽然该类算法能够一定程度上检测出目标,但是检测结果不够准确。

本发明基于优秀的单阶段目标检测网络YOLOv4进行改进,提出一种可以用于旋转框检测的损失函数RCIoU,并将其应用于SAR图像旋转舰船检测。用旋转框进行SAR图像中的舰船目标检测具有以下优势:第一,旋转框可以完全分开舰船与背景像素。通常,垂直边框中的很多像素不属于船的像素,不利于区分背景和舰船区域,尤其是密集排列的交叠非常大的舰船目标,因此使用旋转框可以精确定位舰船目标;第二,旋转框的宽度和高度可以显示船的真实形状而垂直边框的长宽比和尺寸与船的真实形状不一致;第三,旋转框可在完成检测任务的同时实现对船身所在方向的估计。

发明内容

本发明的目的在于克服了基于水平框进行的SAR图像舰船检测领域的局限性,设计了一种适用于旋转框场景下的目标检测的损失函数,并将用于检测水平框的YOLOv4网络改进为可以检测旋转框。

为实现上述目的,本发明采用如下的技术方案:

一种基于RCIoU损失的SAR图像旋转舰船检测的实现方法,其特征在于,包括以下步骤:

步骤1:划分数据集,对于包含N个样本的SAR图像舰船数据集,按照比例划分为训练集D

步骤2:定义矩形旋转框的表示方式,将矩形旋转框表示为(x,y,w,h,θ),其中,表示矩形框中心点的横坐标,y表示矩形框中心点的纵坐标,矩形框与x轴所成锐角的边记为w,另一条边记为h,矩形框与x轴所成锐角的相反数记为θ;

步骤3:搭建YOLOv4作为预测网络,并改进YOLOv4的输出层,将输出层输出的特征向量的表示形式从bs×(na×(5+nc))×fw×fh改进为bs×(na×(6+nc))×fw×fh,以满足旋转框检测场景,其中bs表示迷你块的大小,na表示预测框的数量,nc为类别数,6表示旋转框的参数个数和旋转框的置信度,共6个参数,fw为特征图的宽,fh为特征图的高;

步骤4:设计先验框,使其满足旋转舰船检测,具体步骤如下:

①步骤4.1:构建训练集中标签的长宽集合,首先使用K-Means算法聚类得到9个先验框,然后按照小的特征图分配大的先验框的原则为YOLOv4的三个头部网络各分配3个先验框,按照每个头部网络对应的特征图的大小,从小到大依次分配先验框;

步骤4.2:将旋转框角度的范围定为[-90°,0°),按照间距15°将其等距划分为-90°、-75°、-60°、-45°、-30°和-15°六种角度,并为步骤4.1中的每个先验框分配得到的6种角度,此时每个头部网络有18个先验框,三个头部网络共54个先验框,按照每个头部网络对应的特征图的大小,从小到大依次分配

步骤5:对先验框进行数据增强,增加先验框的类型,具体步骤如下:

步骤5.1:对图像进行上下翻转,此时旋转框参数(x,y,w,h,θ)做如下变换:

y'=img_h-y (1)

w'=h (2)

h'=w (3)

θ'=-(90°+θ) (4)

其中,y'表示翻转后矩形中心点的纵坐标,w'表示翻转后的矩形的宽,h'表示翻转后的矩形的高,θ'表示翻转后的矩形框与x轴所成锐角的相反数,img_h表示图像的高;

步骤5.2:对图像进行镜像翻转,此时旋转框参数(x,y,w,h,θ)做如下变换:

x”=img_w-x (5)

w”=h (6)

h”=w (7)

θ"=-(90°+θ) (8)

其中,x”表示翻转后矩形中心点的横坐标,w”表示翻转后的图像的宽,h”表示翻转后的矩形的高,θ”表示翻转后的矩形框与x轴所成锐角的相反数,img_w表示图像的宽;

步骤6:设置迭代次数、学习率、置信度阈值、IoU阈值、各项损失权重等超参数;

步骤7:设计适用于旋转舰船检测场景的损失函数:

步骤7.1:设真实框的中心点坐标为C

L

L

步骤7.2:将步骤7.1中的两个距离公式与圆心直径和半径结合,并加上角度损失,最终得到边界框回归损失RCIoU的具体计算公式如下:

RCIoU=IoU-(a×(L

IoU=(area1∩area2)/(area1∪area2) (12)

area1=gw×gh (13)

area2=pw×ph (14)

其中,a,b是权重,area1是真实框的面积,area2是预测框的面积,gw、gh分别为真实框的宽和高,pw、ph分别为预测框的宽和高;

步骤7.3:综合边界框回归损失、置信度损失和类别损失三项损失,得到损失函数的整体表达式如下:

L=hr×RCIoU+ho×lobj+hc×lcls (15)

其中,RCIoU为边界框回归损失,lobj为置信度损失,lcls为类别损失,hr、ho、hc分别表示各类损失的权重,po

步骤8:将训练集输入网络进行训练,训练结束后保存网络权值;

步骤9:加载网络权值,使用测试集进行测试,计算平均准确率。

附图说明

图1为实例中旋转框参数表示的示意图;

图2为YOLOV4模型示意图。

图3为本发明提出的RCIoU损失计算公式中的各个参数的示意图。

图4-图5为模型最终检测得到的部分结果示意图。

图6为本发明方法的实施流程图。

具体实施方式

本发明涉及一种基于RCIoU损失的SAR图像旋转舰船检测方法,下面结合相关附图对本发明进行解释和阐述:

本发明实例使用SAR图像舰船数据集,包括远海影像和近海影像,选择YOLOV4为基础网络,对其改进,实现旋转舰船目标检测。本发明实例的具体实施方案为:

步骤1:划分数据集,对于包含1160个样本的SAR图像舰船数据集,按照8:2的比例划分为训练集D

步骤2:定义矩形旋转框的表示方式,将矩形旋转框表示为(x,y,w,h,θ),其中,x表示矩形框中心点的横坐标,y表示矩形框中心点的纵坐标,矩形框与x轴所成锐角的边记为w,另一条边记为h,矩形框与x轴所成锐角的相反数记为θ,旋转框参数具体表示如图1所示;

步骤3:搭建YOLOv4作为预测网络,YOLOV4示意图如图2所示,并改进YOLOv4的输出层,将输出层输出的特征向量的表示形式从bs×(na×(5+nc))×fw×fh改进为bs×(na×(6+nc))×fw×fh,以满足旋转框检测场景,其中bs表示迷你块的大小,na表示预测框的数量,nc为类别数,6表示旋转框的参数个数和旋转框的置信度,共6个参数,fw为特征图的宽,fh为特征图的高;

步骤4:设计先验框,使其满足旋转舰船检测,具体步骤如下:

步骤4.1:构建训练集中标签的长宽集合,首先使用K-Means算法聚类得到9个先验框,分别为:[[15,39],[40,14],[59,10],[43,113],[116,41],[169,28],[85,224],[230,83],[336,56]],然后按照小的特征图分配大的先验框的原则为YOLOv4的三个头部网络各分配3个先验框,按照每个头部网络对应的特征图的大小,从小到大依次分配如下先验框:

②[85,224],[230,83],[336,56];

③[43,113],[116,41],[169,28];

④[15,39],[40,14],[59,10];

步骤4.2:将旋转框角度的范围定为[-90°,0°),按照间距15°将其等距划分为-90°、-75°、-60°、-45°、-30°和-15°六种角度,并为步骤4.1中的每个先验框分配得到的6种角度,此时每个头部网络有18个先验框,三个头部网络共54个先验框,按照每个头部网络对应的特征图的大小,从小到大依次分配如下先验框:

①[[85,224,-90],[85,224,-75],[85,224,-60],[85,224,-45],[85,224,-30],[85,224,-15],[230,83,-90],[230,83,-75],[230,83,-60],[230,83,-45],[230,83,-30],[230,83,-15],[336,56,-90],[336,56,-75],[336,56,-60],[336,56,-45],[336,56,-30],[336,56,-15]]

②[[43,113,-90],[43,113,-75],[43,113,-60],[43,113,-45],[43,113,-30],[43,113,-15],[116,41,-90],[116,41,-75],[116,41,-60],[116,41,-45],[116,41,-30],[116,41,-15],[169,28,-90],[169,28,-75],[169,28,-60],[169,28,-45],[169,28,-30],[169,28,-15]]

③[[15,39,-90],[15,39,-75],[15,39,-60],[15,39,-45],[15,39,-30],[15,39,-15],[40,14,-90],[40,14,-75],[40,14,-60],[40,14,-45],[40,14,-30],[40,14,-15],[59,10,-90],[59,10,-75],[59,10,-60],[59,10,-45],[59,10,-30],[59,10,-15]]

步骤5:对先验框进行数据增强,增加先验框的类型,具体步骤如下:

步骤5.1:对图像进行上下翻转,此时旋转框参数(x,y,w,h,θ)做如下变换:

y'=416-y (1)

w'=h (2)

h'=w (3)

θ'=-(90°+θ) (4)

其中,y'表示翻转后矩形中心点的纵坐标,w'表示翻转后的矩形的宽,h'表示翻转后的矩形的高,θ'表示翻转后的矩形框与x轴所成锐角的相反数;

步骤5.2:对图像进行镜像翻转,此时旋转框参数(x,y,w,h,θ)做如下变换:

x”=416-x (5)

w”=h(6)

h”=w (7)

θ"=-(90°+θ) (8)

其中,x”表示翻转后矩形中心点的横坐标,w”表示翻转后的图像的宽,h”表示翻转后的矩形的高,θ”表示翻转后的矩形框与x轴所成锐角的相反数;

步骤6:设置迭代次数、学习率、置信度阈值、IoU阈值、各项损失权重等超参数;

步骤7:设计适用于旋转舰船检测场景的损失函数:

步骤7.1:设真实框的中心点坐标为C

L

L

步骤7.2:将步骤7.1中的两个距离公式与圆心直径和半径结合,并加上角度损失,最终得到边界框回归损失RCIoU的具体计算公式如下:

RCIoU=IoU-(1×(L

IoU=(area1∩area2)/(area1∪area2) (12)

area1=gw×gh (13)

area2=pw×ph (14)

其中,area1是真实框的面积,area2是预测框的面积,gw、gh分别为真实框的宽和高,pw、ph分别为预测框的宽和高;

步骤7.3:综合边界框回归损失、置信度损失和类别损失三项损失,得到损失函数的整体表达式如下:

L=hr×RCIoU+ho×lobj+hc×lcls (15)

其中,RCIoU为边界框回归损失,lobj为置信度损失,lcls为类别损失,hr、ho、hc分别表示各类损失的权重,po

步骤8:将训练集输入网络进行训练,训练结束后保存网络权值;

步骤9:加载网络权值,使用测试集进行测试,计算平均准确率,图4-图5为模型在测试集上最终检测得到的部分结果示意图,表1展示的是模型在测试集上综合所有检测结果得到的各项指标。

表1

(其中,P代表精度,R代表召回率,mAP代表平均精度均值)

以上实例仅用于描述本发明,而非限制本发明所描述的技术方案。因此,一切不脱离本发明精神和范围的技术方案及其改进,均应涵盖在本发明的权利要求范围中。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3