基于改进YOLOv3-Tiny的遥感舰船小目标检测方法*

2023-03-21 02:22魏玉梅
计算机时代 2023年3期
关键词:舰船特征提取注意力

王 欣,江 涛,马 珍,魏玉梅

(云南民族大学数学与计算机科学学院,云南 昆明 650500)

0 引言

随着遥感技术的飞速发展,遥感图像在海洋、气象、天文、军事等领域得到了广泛的应用[1]。舰船目标检测无论是在军用领域还是民用领域均具有广泛的应用,已经成为遥感图像目标检测中一个极其重要的研究方向,引起了国内外学者的广泛关注。遥感图像舰船检测是精确识别图像中特定舰船目标的位置,并标注出目标的类别。

随着卷积神经网络的发展,基于深度学习的目标检测方法克服了传统检测方法中目标难选取、检测精度低、检测速度慢、算法泛化能力低等问题。目前,较流行的基于深度学习的目标检测[2]算法大致可以分为两种:一种是两阶段方法,首先进行目标区域候选框的生成,再通过卷积神经网络对候选框进行回归与分类,如R-CNN[3]、FastR-CNN、FasterR-CNN等,这些算法虽然提高了检测的精度,但计算量较大,导致检测的速度变慢;另一种是单阶段方法,采用单一回归问题思想,如YOLO[4]、SSD[5]等算法,直接在原始图像上完成输入和输出,经过卷积神经网络,就能得到目标位置和所属类别。单阶段算法具有端到端的结构特点,较于两阶段算法,检测速度明显提高。

遥感图像中舰船目标通常不超过几十个像素,在图片中的占比极小,难以精确地检测。Li[6]等提出了一种改进的FasterR-CNN 方法,用于检测不同尺度的舰船目标。Zhang[7]等提出了一种基于特征金字塔网络的多尺度检测,增强了密集目标的检测能力。徐[8]等提出一种基于YOLOv4 的目标检测算法,通过场景增强的扩充了训练样本,提高了检测精度。以上基于深度学习的目标检测算法虽然检测的性能都有不同程度的提高,但是也有一些共同的问题:这些单阶段方法的泛化能力较弱,不能适用于复杂的密集场景。两阶段方法网络较大、训练时间较长,难以实现实时检测。因此,遥感图像舰船小目标检测的任务仍有进步空间。

为了更精确地检测到遥感图像舰船小目标,本文将选择单阶段算法YOLOv3-Tiny,在该算法的基础上进行改进,在保证单阶段算法检测速度优势的条件下,提出一些改进的方法。

1 YOLOv3-Tiny算法

YOLO系列算法在单阶段检测算法中具有较强的代表性,且存在较大的改进潜力,其中YOLOv3 和YOLOv3-Tiny 在检测精度上均有很好的表现,但YOLOv3 的主干网络使用了Darknet53,并引入了残差网络与特征金字塔,使得网络过于复杂导致检测速度缓慢,而YOLOv3-Tiny 是YOLO 系列中轻量级网络,在YOLOv3 的基础上减少了部分卷积层,提高了检测速度。如图1 所示,YOLOv3-Tiny 网络由卷积层、池化层、上采样层、连接层和YOLO层组成。

图1 YOLOv3-Tiny网络结构图

2 YOLOv3-Tiny算法的改进

2.1 Mosaic数据增强

Mosaic 数据增强[9]借鉴了CutMix 数据增强方式,从训练数据集中取出一个batch数据,随机选取出四张图片,分别对其进行翻转、缩放、裁剪、色域变化等,然后按着方向拼接,组成一张新的图片如图2 所示。这种方法可有效防止训练集背景相似,提高网络泛化能力。同时,Mosaic 数据增强方法的应用,也能有效解决遥感图像检测样本中小目标物体不足的问题,使得小尺度的大目标对象也能被精准的检测到。

图2 Mosaic数据增强

2.2 混合域注意力机制

注意力机制[10]来模仿人类视觉观察模式。人类在观察时,当对某个目标感兴趣,其注意力就会集中到这个感兴趣的目标上。而在深度学习中,这就相当于给整幅图像加上了一个可视化权重,将注意力集中到检测的目标上,以获取目标更重要的特征信息,并抑制无效特征信息。注意力机制就是给每个特征图乘以一个权重,表示特征的重要性。混合域注意力机制(CBAM)是一个轻量级的通用模块,它可以无缝地插入任何CNN 网络中,用于增强CNN 的表现能力。CBAM[11]结合了通道注意力和空间注意力两个模块,在保持较小的运算情况下实现可观的性能提升。如图3 所示,(a)CBAM 包含两个部分:(b)Channel Attention Module 和(c)Spatial Attention Module。CBAM 可以用以下公式表示:给定一个输入特征图F∈RH*W*1。CBAM 依次得到一维通道注意矩阵MC∈R1*1*C和二维的空间注意矩阵MS∈RH*W*1。

图3 CBAM结构图

其中,F是特征图,⊗表示逐元素相乘,F′和F′′分别表示进行了通道注意力和空间注意力后的输出特征图,MC(F)和MC(F′)分别表示通道注意力和空间注意力的权重系数矩阵。

为了缓解卷积神经网络中特征提取的不足,本文对特征提取层进行改进,在主干网络的conv5和conv8后分别加上CBAM 注意力机制,作为独立的输出层与之后的卷积层相连,以提升遥感舰船小目标的检测能力。

2.3 改进的YOLOv3-Tiny网络

本文以YOLOv3-Tiny 的特征提取网络为主干网络,提出了一些改进方法。①从输入角度,改变输入图像尺度,通过输入更大尺度图像的进行训练,减少小目标信息特征的丢失。②从数据集角度,通过Mosaic 数据增强,丰富遥感图像小目标数据集,使网络具有更好的泛化能力。③从特征提取角度,在特征提出网络中引入混合域注意力机制CBAM,提高卷积网络中特征提取的能力,使有效特征权重更大,无效特征权重更小,最终有效提高模型的小目标检测能力。改进后的YOLOv3-Tiny 网络结构,如图4 所示,在特征提取中下采样层后加入注意力机制模块,并从第12层开始将低层的特征连接到高层,增加了高层特征图的信息。从图4 可以看出,输入640×640 的遥感图像后,经过特征提取得到了13×13 和26×26 两种不同尺度的特征图。

图4 改进后的YOLOv3-Tiny网络结构

3 实验与结果分析

3.1 实验数据及实验环境

本实验使用DSTD数据集[12],该数据集是从DIOR、DOTA、NWPU-VHR dataset和TGRS-HRRSD-Datasetmaster几个数据集中采集的遥感舰船图像,进行剪切、修改和筛选,并通过标注工具LabelImg 进行手动标注,得到由4854 张舰船遥感图像和87076 个舰船目标实例组成的DSTD数据集。

本实验采用16G内存的64位Windows10操作系统,CPU 为Intel(R)Core(TM)i5-10400FCPU@2.90GHz,显卡为NVIDIA GeForce RTX 2080,显存为8G。使用PyTorch深度学习框架,开发环境为torch1.7.1,cuda11.0,Python3.7。将数据集按6:2:2 的比例随机划分为训练集、测试集和验证集。实验参数如表1所示。

表1 实验参数

3.2 评价指标

本实验采用召回率(Recall)、精确率(Precision)、平均精确率(mAP,meanAveragePrecision)和帧率(FPS)作为评价的相关指标。具体公式如下:

其中,TP表示预测正确的正样本数量;FN表示预测错误的正样本数量,FP表示预测错误的负样本数量;TN表示预测正确的负样本数量。帧率(FPS)表示每秒钟能够检测的图片数量。

3.3 实验结果与分析

3.3.1 目标检测算法对比实验

为了验证算法对遥感舰船小目标检测的性能,将本文改进后的YOLOv3-Tiny 算法命名为Improved-YOLOv3-Tiny,与原始YOLOv3-Tiny 以及目前流行的单阶段两阶段测算法YOLOv3、RetinaNet、SSD 等在相同的环境下分别进行训练。实验结果对比见表2,YOLOv3-Tiny 在对遥感舰船目标检测时,效果明显优于YOLOv3、RetinaNet、SSD,Improved-YOLOv3-Tiny精确率达到了91.4%,较改进前提升了5%;召回率达到了87%,较改进前提升了5%;平均精确率达到了85.1%,较改进前提升了3.9%,检测速度比原始YOLOv3-Tiny每秒少传输2帧,但仍然快于YOLOv3、RetinaNet、SSD 等算法,因此,Improved-YOLOv3-Tiny 算法在各方面均明显优于其他算法,验证了本文改进方法的可行性。

表2 目标检测算法实验结果

3.3.2 训练结果

本文基于DSTD 遥感数据集进行训练,训练300轮后,Improved-YOLOv3-Tiny 训练过程中的总损失、mAP 和F1的变换曲线如图5所示。横轴为训练轮数,纵轴为数值。前50 轮网络迅速收敛,在150 轮之后趋于稳定,网络的收敛过程非常稳定,没有出现过拟合和欠拟合现象,因此Improved-YOLOv3-Tiny 网络的训练结果比较理想。

图5 Improved-YOLOv3-Tiny的Losscure、mAP、F1变化曲线

3.3.3 消融实验

我们来进行消融实验以验证本文加入的模块对遥感舰船目标检测性能的影响。如表3 所示以原始YOLOv3-Tiny 为基准。观察可知,输入图像大小为640×640 的YOLOv3-Tiny 更适合检测遥感图像舰船目标,基本上每一处改进都会使检测性能有一定的提升,当三处改进融合在一起时,改进的效果最佳,虽然精确率稍低于其他的改进方案,但综合来看,改进后的算法(Improved-YOLOv3-Tiny)达到了所有方案中的最优,也验证了本文提出的基于Improved-YOLOv3-Tiny对遥感舰船小目标检测效果很好。

表3 消融实验对比

4 结束语

本文面向遥感场景下的大规模水面舰船目标的检测,针对在检测过程中遥感图像中的各类舰船小目标,检测难度大的问题进行研究,提出了基于YOLOv3-Tiny 的改进算法。首先对训练数据进行Mosaic 数据增强,丰富了遥感数据集,增加了背景的复杂度,提高了模型的泛化能力。其次在特征提取网络中加上混合域注意力机制CBAM,引导模型聚焦于局部区域,加强对小目标的检测能力。最后将输入图像的尺度由416×416调整到640×640,得到了更适合遥感图像舰船小目标检测的算法。实验结果表明,Improved-YOLOv3-Tiny 算法在保证速度的条件下,检测精确率、召回率、平均精确率和F1 值均较于原有YOLOv3-Tiny算法均有显著提升,有效地改善了遥感图像中舰船小目标检测的效果。目前对遥感图像中受云雾等气象条件影响的目标不能精准地检测,后续将优化遥感图像中云雾覆盖、遮挡舰船目标的检测。

猜你喜欢
舰船特征提取注意力
舰船通信中的噪声消除研究
让注意力“飞”回来
舰船测风传感器安装位置数值仿真
基于Daubechies(dbN)的飞行器音频特征提取
“扬眼”APP:让注意力“变现”
Bagging RCSP脑电特征提取算法
A Beautiful Way Of Looking At Things
舰船腐蚀预防与控制系统工程
基于MED和循环域解调的多故障特征提取
Walsh变换在滚动轴承早期故障特征提取中的应用