一种基于改进yolox的sar图像舰船目标检测方法
技术领域
1.本发明涉及计算机视觉技术领域,尤其涉及一种基于改进yolox的sar图像舰船目标检测方法。
背景技术:2.合成孔径雷达(synthetic aperture radar,sar)是一种微波主动式传感器,具有一定地表穿透能力,能够获取地球表面的高分辨率图像。sar图像不同于传统的光学遥感图像,sar数据量巨大,信息提取较困难,数据处理时易发生几何畸变,且图像中存在大量散斑噪声,使得舰船目标差异过大,振幅信息深受噪声的影响。
3.现有的传统的sar图像舰船检测方法在特征提取和场景分割等环节均需要人工操作,且检测效率低、泛化能力弱,且大多依赖于具体特定的海洋环境。如基于恒虚警率(constant false alarm rate,cfar)的方法,需要通过人为设计特征,来检测海陆分割后的舰船目标,该方法不能够很好地排除岛屿、灯塔、浮标等虚警,因此对近海舰船目标识别效果较差;如基于加权信息熵的sar图像舰船检测方法虽然提高了复杂背景下的平均精度,但依然存在着工作量较大、稳健性较差等缺点。
4.近年来,随着深度学习的逐步兴起,卷积神经网络(convolutionalneural networks,cnn)被应用于计算机视觉领域,如图像分类、目标检测等,取得了良好的效果。然而,sar图像舰船目标视觉显著性差,部分sar图像分辨率较低且其中的舰船目标尺寸较小,属于典型的小目标检测,提取其特征时容易丢失特征信息,产生漏检与误报。除舰船尺度特性较小外,其分布特性较为密集,因此现有的深度神经网络模型也难以得到良好的检测效果。
5.此外,现有基于深度学习的sar图像舰船检测方法均是基于锚框机制的,需要先以铺设的锚框为检测起点,再对锚框的类别和位置进行校正,因此会占用大量计算资源、耗费时间成本。随着深度学习的发展,逐渐涌现出基于无锚机制的目标检测模型,但由于sar图像和舰船目标的固有特性,直接将其应用于sar图像舰船检测时,容易造成中小目标漏检率和误检率较高。
技术实现要素:6.针对现有目标检测方法对于sar图像中舰船目标检测效果较差的问题,本发明提出一种基于改进yolox的sar图像舰船目标检测方法,具有较好的变尺度识别能力,提高了舰船小目标的检测效果,在工程应用上具有一定的参考价值。
7.本发明提供一种基于改进yolox的sar图像舰船目标检测方法,包括:
8.步骤1:将获取的ssdd数据集按一定比例划分为训练集、测试集和验证集;
9.步骤2:利用训练集和验证集对改进的yolox检测网络模型进行训练,获取最优检测模型;
10.步骤3:利用训练得到的最优检测模型对测试集中的图片数据进行检测;
11.所述改进的yolox检测网络模型的构建过程包括:在原yolox网络模型的加强特征提取网络模块的三个特征提取分支的最后一层各自增加一个ecanet模块。
12.进一步地,所述改进的yolox检测网络模型的构建过程还包括:对原yolox网络模型的mosaic数据增强中的缩放比例参数进行调整,并引入高斯噪声和背景替换。
13.进一步地,所述改进的yolox检测网络模型的构建过程还包括:将原yolox网络模型的置信度损失函数替换为varifocalloss。
14.进一步地,所述对原yolox网络模型的mosaic数据增强中的缩放比例参数进行调整,具体包括:针对训练集中的图片数据,随机对当前输入的图片使用mosaic数据增强,并随机设定mosaic数据增强过程中的缩放比例;其中,设定缩放比例的下限为0.5,上限为1.8。
15.本发明的有益效果:
16.本发明针对现有的目标检测方法对于sar图像舰船目标检测中,数据集较少,精度较差,小尺寸密集舰船目标漏检多等问题,提出了一种基于改进yolox的sar图像舰船目标检测方法。首次将基于无锚的yolox深度学习模型应用于sar图像检测目标检测,为了解决sar图像数据稀少,本发明提出改进的mosaic数据增强在丰富了数据集的同时,解决了小目标过小,难以提取有效特征的问题。其次,通过在输出头前加入eac_net注意力机制,为每个通道赋予不同的权值,达到增强有用特征、抑制无用特征的目的,使得模型更能合理有效地利用特征信息。再次,改进yolox的置信度预测损失,采用varifocalloss,得以保证密集目标不容易被漏检,以此提高精度。
附图说明
17.图1为本发明实施例提供的一种基于改进yolox的sar图像舰船目标检测方法的流程示意图;
18.图2为本发明实施例提供的改进的yolox检测网络模型的结构示意图;
19.图3为本发明实施例提供的利用本发明方法对sar图像舰船目标检测的结果示例图。
具体实施方式
20.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
21.实施例1
22.如图1所示,本发明实施例提供一种基于改进yolox的sar图像舰船目标检测方法,包括:
23.s101:将获取的ssdd数据集按一定比例划分为训练集、测试集和验证集;
24.s102:利用训练集和验证集对改进的yolox检测网络模型进行训练,获取最优检测模型;
25.s103:利用训练得到的最优检测模型对测试集中的图片数据进行检测;
26.所述改进的yolox检测网络模型的构建过程包括:在原yolox网络模型的加强特征提取网络模块的三个特征提取分支的最后一层各自增加一个ecanet模块。
27.具体地,改进的yolox检测网络模型的结构如图2所示,包括主干特征提取网络cspdarknet模块、加强特征提取网络yolopafpn模块以及解耦头yolohead模块。在加强特征提取网络模块中,自上而下建立三层特征金字塔,三个特征层位于特征提取网络模块的不同输出位置。本发明实施例主要是对加强特征提取网络模块进行改进,特别设计了基于轻量注意力机制的特征融合结构,以基于通道注意力机制的特征融合方式衔接相邻特征层,将ecanet注意力模块添加于三个特征层的最后,即位于每个yoloxhead输出层之前,从而使得提取的特征图可以进一步突出有效信息区域,提高各通道间交流能力,抑制过拟合,并且该模块复杂度较小,提升效果显著。
28.原始的yolox网络模型中使用了mosaic数据增强,其重要思路是通过随机缩放、裁减及排布进行4张图像拼接,优点是增大了检测数据集特别是丰富了小目标,增强了模型的鲁棒性。但由于舰船目标检测本身就属于小目标检测,此时再通过原始的mosaic数据增强会导致较小的舰船目标变得更小,使得可能在图片中仅仅出现一个“亮斑”,从而降低了模型的泛化能力,对sar图像中舰船目标检测产生不利影响。因此,在上述实施例的基础上,改进的yolox检测网络模型的构建过程还包括:对原yolox网络模型的mosaic数据增强中的缩放比例参数进行调整,并引入高斯噪声和背景替换。
29.作为一种可实施方式,针对训练集中的图片数据,随机对当前输入的图片使用mosaic数据增强(例如以50%的概率随机对当前输入的图片进行使用mosaic数据增强),并随机设定mosaic数据增强过程中的缩放比例;其中,设定缩放比例的下限为0.5,上限为1.8。通过对原有的mosaic数据增强进行改进,可以使得整个检测网络模型在丰富数据集和缩小检测目标之间得到一个良好的平衡。
30.此外,由于舰船目标检测中存在大量密集目标,varifocal loss主要训练密集目标检测器使iou感知的分类得分(iasc)回归,来提高检测精度。因此,对yolox的置信度损失函数改进,将其原有的二元交叉熵损失替换为varifocalloss,缓解了密集目标容易遮挡而造成的漏检现象。varifocalloss能够有效降低负样本损失的权重,同时对iou高的正样本损失加大权重,定义如下述的公式所示。
[0031][0032]
本发明提出的一种基于改进yolox的sar图像舰船目标检测方法,首次将基于无锚的yolox深度学习模型应用于sar图像检测目标检测,并且实现了无锚机制对sar图像中舰船目标较好的检测效果。首先,对yolox中的mosaic数据增强进行改进,极大地丰富了训练所需图像背景;其次,使用了轻量级注意力机制ecanet模块,添加于三个yoloxhead输出层之前,提高各通道间交流能力,抑制过拟合,该模块复杂度较小,且提升效果显著;最后对损失函数改进,置信度预测损失更换为varifocalloss,解决了图像中密集目标前景类和背景类极度不平衡的问题。经过实验,使用本发明所提出的改进yolox的sar图像舰船目标检测方法,在ssdd数据集上有效提高了检测精度。
[0033]
实施例2
[0034]
在上述实施例1的基础上,本发明实施例对基于改进yolox的sar图像舰船目标检
测方法作进一步阐述。
[0035]
s201:对获取到的ssdd数据集(共1160张图片)进行划分,按9:1比例划分为训练验证集(共1044张图片)和测试集(共116张图片);训练验证集按9:1划分为训练集(共939张图片)和验证集(共105张图片)。
[0036]
s202:搭建改进的yolox检测网络模型。
[0037]
s2021:对mosaic数据增强中的缩放比例参数调整,引入高斯噪声和背景替换。
[0038]
s2022:yolohead前加入通道注意力机制ecanet模块。
[0039]
s2023:将原来的置信度损失函数替换为varifocalloss。
[0040]
s2024:输入步骤s201中划分好的训练集。
[0041]
s203:加载预训练权重yolox_s.pth。由于特征是通用的,模型的预训练权重对不同的数据集也是通用的。尤其是主干特征提取网络的权值部分,若不适用预训练权重,则初始的权值过于随机,特征提取效果不够明显。不加载预训练权重直接训练和加载预训练权重训练结果指标对比如表1所示。
[0042]
表1不加载预训练权重直接训练和加载预训练权重训练
[0043] recallprecisionmap直接训练91.60%93.75%93.38%预训练95.42%95.42%96.62%
[0044]
s204:配置训练参数(batch_size、num_workers、lr等),开始训练面向sar图像舰船目标检测的改进的yolox检测网络模型。
[0045]
s2041:训练输入整张图片,使用了focus网络结构,对图片中,每隔一个像素取一个值,获得四个独立特征层,将四个独立的特征层进行堆叠,把宽高信息集中到通道信息。
[0046]
s2042:通过一系列残差模块(resblock_body)进行特征提取,获得三个有效特征层。
[0047]
s2043:使用三个有效特征层在加强特征提取网络(fpn)中,进行一系列的上采样和下采样来实现特征融合。
[0048]
s2044:yolohead对特征点进行判断,obj用于判断是否包含目标;cls用于判断包含物体的种类;reg用于判断特征点的回归参数,并获得预测框。
[0049]
s2045:对预测结果解码以判别最终目标检测结果,获取目标中心点和预测框的宽高。同时,进行非极大抑制,以免多个预测框的堆积。
[0050]
s2046:计算loss,将模型的预测结果与真实结果对比,保存验证集损失较小的权重文件。
[0051]
s205:使用新训练好的sar图像舰船目标检测权重文件及改进的yolox检测网络模型进行目标检测。
[0052]
s2051:输入待检测图像,可以是单张图片,可以遍历文件夹检测,也可以测试fps。
[0053]
s2052:进行目标检测,并输出检测结果,检测结果如图3所示。此外,将基于原始yolox和改进后的yolox的检测网络模型的检测结果进行比较,比较结果如表2所示,本发明可以提高目标检测精度。
[0054]
表2原始yolox和改进后的yolox实验结果对比
[0055] recallprecisionmap
原始yolox92.75%92.40%94.47%改进后95.42%95.42%96.62%
[0056]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。