舰船科学技术  2023, Vol. 45 Issue (16): 120-124    DOI: 10.3404/j.issn.1672-7649.2023.16.024   PDF    
基于注意力融合的海上目标检测算法
张鹏1,2, 黄亮1, 杨露菁1, 阚钦高2     
1. 海军工程大学 电子工程学院,湖北 武汉 430033;
2. 中国人民解放军91431部队,海南 海口 570100
摘要: 准确识别海上目标对提高舰船航行安全、维护海上权益意义重大。YOLOv7作为YOLO系列算法的最新成果,在目标检测任务中拥有良好的速度和精度。但通用化的网络应用于特定场景时,由于权重过大可移植性差,优势并不明显。本文根据海上目标分布及背景特点,利用注意力机制提升网络的特征提取与特征融合能力,提出一种基于注意力融合的海上目标检测算法CS-YOLOv7s。在新加坡海上数据集中的实验结果表明,本文所提网络在少量降低准确率的同时,大幅度降低网络权重,提高检测速度,可满足海上目标实时检测任务需要。
关键词: 海上目标     YOLOv7     注意力机制     目标检测    
A maritime target detection algorithm based on attention fusion
ZHANG Peng1,2, HUANG Liang1, YANG Lu-jing1, KAN Qin-gao2     
1. College of Electronics Engineering, Naval University of Engineering, Wuhan 430033, China;
2. No.91431 Unit of PLA, Haikou 125004, China
Abstract: Accurate identification of maritime targets is of great significance to improving the navigation safety of ships and safeguarding my country’s maritime rights and interests. As the latest achievement of YOLO series algorithms, YOLOv7 has good speed and accuracy in target detection tasks. However, when the generalized network is applied in a specific scenario, the advantage is not obvious due to the large weight and poor portability. According to the distribution and background characteristics of marine targets, the attention mechanism is used to improve the feature extraction and feature fusion capabilities of the network, and a marine target detection algorithm CS-YOLOv7s based on attention fusion is proposed. The experimental results in the Singapore maritime data set show that the proposed network can greatly reduce the network weight and improve the detection speed while reducing the accuracy slightly, which can meet the needs of real-time detection tasks of maritime targets.
Key words: maritime target     YOLOv7     attention mechanism     target detection    
0 引 言

在海上国防军事技术中,海洋目标探测技术对于加强海上领土的监管有非常重要的意义[1]

不同于雷达等主动探测设备,光电探测设备被动接受外界信息,不对外发射电磁信号,具有隐蔽性好、抗干扰能力强等优点。

近年来,基于深度学习的图像特征提取技术在目标检测领域得到广泛应用。深度卷积神经网络能够通过学习获得表示图像高级特征的能力,从而实现对图像中目标的检测。现行的深度学习目标检测算法主要分为基于回归思想的单阶段目标算法和基于候选区域思想的两阶段目标检测算法。其中单阶段检测算法相对速度更快,更能够满足海上目标检测时效性的要求。YOLO系列检测算法是单阶段目标检测算法中应用最为广泛的[2]。赵文思[3]基于YOLOv3模型,引入GIOU loss并加入SPP结构,提出了YOLOv3SPP卷积神经网络模型,实现对船舶的检测;王文亮等[4]在YOLOv5算法中加入SimAM注意力模块和Transformer结构增强高阶特征语义信息,提高海面小目标检测能力;张晓鹏等[5] 在YOLOv5算法的基础上,融合SE注意力模块和改进的非极大值抑制模型,实现提高海上船舶识别整体效果;姬嗣愚等[6]在YOLOv5算法中引入了坐标注意力机制,将位置信息嵌入通道注意力中,增强模型的特征提取能力,在满足实时性要求下更好地完成水柱信号的检测要求。

本文采用最新的目标检测模型YOLOv7[7]作为基础模型,结合海面上目标成像特点,采用自注意力模块加强特征提取,利用通道与空间注意力模块,引导高层特征与低层特征融合,对特征融合网络进行轻量化改造,实现对海上目标的实时准确检测。

1 YOLOv7算法原理

YOLO系列发展至今已有诸多版本,在目标检测领域发挥重要作用。YOLOv7是YOLOv4官方团队在前代网络的基础上进一步改进而来,相同体量下,拥有比现在最流行的YOLOv5更高的检测精度。与YOLOv5一样,为了满足不同检测场景的需求,YOLOv7共发布7个基础模型。本文主要针对海上目标进行检测,为满足模型轻量化和检测实时性要求,以YOLOv7-tiny-SiLU作为基准模型,并针对海上目标检测任务进行优化。

YOLOv7-tiny-SiLU的总体结构如图1所示。

图 1 YOLOv7-tiny-SiLU模型结构 Fig. 1 YOLOv7-tiny-SiLU model structure

输入端(Input)继续采用Mosaic数据增强、自适应锚框计算和自适应图片缩放方式对输入图像进行预处理,以提高输入模型的数据质量。

主干网络(Backbone)相对前代YOLO模型进行较大改进。Focus下采样结构恢复为步长为2的卷积层,在下采样的同时保留部分语义信息;参考ELAN结构设计扩展高效聚合网络E-ELAN,在不破坏原始梯度路径的情况下,提高网络的学习能力;在P3至P4与P4至P5两次下采样过程中,由E-ELAN负责特征提取,降采样操作由最大池化完成,保证特征提取的同时,进一步减少计算参数与计算量。

颈部(Neck)继续沿用FPN+PAN结构的路径聚合网络结构,但将其中的CSP模块替换E-ELAN层。

输出端(Prediction)针对检测目标的大小不同,设定输入图像的1/8、1/16、1/32 三种大小网格。每个网格包含3个预测框,每个预测框包含目标分类、位置、置信度信息,最后通过非极大值抑制 NMS(Non-Maximum Suppression)对重复冗余的预测框进行剔除,保留置信度最高的预测框信息[8],从而完成目标检测过程。

除此之外,YOLOv7-tiny-SiLU在模型的训练上也进行优化。一是参照RepConv进行模型重参化设计[9],用没有identity连接的RepConv来设计重参数化卷积的体系结构,实现用复杂的模型训练、用简单的模型推理,在保证模型精度的前提下进一步压缩模型的大小。二是利用深度监督的思想,在网络的中间层增加额外的辅助头,利用辅助检测头学习住检测头已学习的信息,使得主检测头能够进一步学习更多信息[10],并通过一种新的软标签生成方法来训练模型,以增强网络的检测能力。

现有的YOLOv7-tiny-SiLU算法是针对全场景下目标检测任务设计的,为使网络更加符合海上目标检测需求,对网络进行海上目标检测的针对性改进。

2 模型改进

与其他场景相比,海上场景背景相对简单。海面目标沿海天线向画面边缘由远及近分布且与背景有密切关系,如同样的白色像素区域在天空背景下通常为云朵,在海面背景下通常为海浪,故在进行海上目标检测时,需充分考虑图像中的上下文信息。本文利用注意力机制增强骨干网络的特征提取能力,对颈部的特征融合网络进行设计,增加特征融合的针对性。

2.1 自注意力机制

卷积神经网络(CNN)利用天然的归纳偏置优势来学习视觉表征,在空间信息域上建立局部依赖关系,但也由此缺乏学习全局表征的能力。基于自注意力机制的视觉Transformer(ViT)具备捕捉输入特征图全局感受野的能力,能在空间维度上建立全局依赖关系从而学习到全局视觉表征信息。但由于缺乏空间归纳偏差,ViT架构通常计算量较大且难以训练。在此基础上,Mehta S等[11]结合CNN与Transformer的优点,构建出轻量级网络架构MobileViT,如图2所示。

图 2 Mobile ViT架构 Fig. 2 Mobile ViT architecture

在MobileViT架构中,MobileViT Block是融入Transformer的核心部分。具体流程为:

步骤1 利用一次普通卷积学习输入的张量 $X \in {R^{H \times W \times C}}$ 局部空间信息;

步骤2 通过点卷积将步骤1的输出特征投影到高维空间,将得到的张量 ${X_{{L}}} \in {R^{H \times W \times d}}$ 展开后通过Transformer建模得到张量 ${X_{{G}}} \in {R^{H \times W \times d}}$

步骤3 重新折叠张量 ${X_{{G}}} \in {R^{H \times W \times d}}$ ,并通过点卷积进行降维得到张量 ${X_{{F}}} \in {R^{H \times W \times C}}$

步骤4 将步骤1的结果与张量 ${X_{{F}}} \in {R^{H \times W \times C}}$ 拼接后,利用卷积融合其中的局部特征与全局特征。

MobileViT Block能够同时感知特征图的全局信息与局部信息,在骨干网络中插入该模块能够提高网络的特征提取能力。

2.2 通道注意力机制与空间注意力机制

骨干网络提取的特征层包含丰富的语义信息,但不同层级的特征图所包含的语义信息有所差别,对不同目标检测的贡献度也不同。YOLOv7-tiny-SiLU的颈部结构对各层级进行融合,能够提高目标检测能力,但并非所有层的信息对目标检测的贡献度都相同,冗余的信息甚至会误导网络对有效信息的利用。

注意力机制能够动态调整所融合信息的权重,提升神经网络对有用信息的注意,并抑制对无效信息的关注。为了让检测器能够在检测不同目标时能合理分配注意力,进而提高对有用信息的感知。

CBAM[12]注意力机制能够同时感知通道注意力(Channel Attention,CA)与空间注意力(Spatial Attention,SA)。其中,CA模块与SENet类似,在SENet的基础上增加了maxpool的特征提取方式,利用特征间的通道关系来生成通道注意力图;SA模块利用的是特征间空间关系,沿着通道轴并行平均池化和最大池化操作,连接后经过一个卷积层得到注意力图,如图3所示。通道注意力图与空间注意力图的计算过程为:

图 3 CBAM结构 Fig. 3 CBAM structure
$ {M_c}({{{\boldsymbol{F}}}}) = \sigma (MLP(AvgPool({{{\boldsymbol{F}}}})) + MLP({\rm{Max}}Pool({{{\boldsymbol{F}}}}))) ,$ (1)
$ {M_{\text{s}}}({{{\boldsymbol{F}}}}) = \sigma ({k^{7 \times 7}}([AvgPool({{{\boldsymbol{F}}}});{\rm{Max}}Pool({{{\boldsymbol{F}}}})])) 。$ (2)

将CBAM注意力机制应用于多尺度特征融合结合使用,对融合的特征图进行自适应的加权调整。

2.3 改进的特征融合网络

将CA模块与SA模块根据需分别嵌入颈部的特征融合网络中,并对颈部进行轻量化改造,使其更加专注于特征融合。在大量减少计算开销的情况下,保留颈部特征融合能力,将获得的特征提取网络命名为CS-FPN,如图4所示。

图 4 CS-FPN结构图 Fig. 4 CS-FPN structure

CS-FPN网络中特征融合的过程为:

步骤1 由骨干网络提取到的P5特征层经过一次卷积下采样,获得拥有更高一级的语义信息特征层P6。

步骤2 由具有更高语义信息特征层借助注意力机制引导下一级特征层的信息融合。具体做法为:将P6、P5、P4特征层经过1次SA模块获得空间注意力权重,经上采样后分别与P5、P4、P3层进行拼接,将拼接后的特征层经过1次CA模块感知通道注意力权重,再利用卷积对特征通道进行融合,得到初步融合的特征图P'5、P'4、P'3。

步骤3 将底层特征图向高层融合。具体为:底层特征图P'3 、P'4经过一次下采样分别与更高层的P'4、P'5进行拼接,而后经过1次CA模块获得通道注意力权重,再通过卷积对特征通道进行融合,得到进一步融合的特征层P"5、P"4、P"3。

步骤4 根据检测任务需要,重复步骤2和步骤3得到最终融合的特征层C5、C4、C3。

2.4 CS-YOLOv7s网络模型

针对海上目标检测,在YOLOv7-tiny-SiLU算法的基础上,将MobileViT Block加入骨干网络中,再结合2.3所提的特征融合网络,得到改进后的CS-YOLOv7s网络。其整体结构如图5所示。

图 5 CS-YOLOv7s整体结构 Fig. 5 CS-YOLOv7s overall structure
3 实验结果与对比分析 3.1 实验环境与实验数据

本文实验环境为Ubuntu20.04操作系统,CPU 为 Intel i9-10920X,内存32 G,显卡为 NVIDIA GeForce RTX3070,Python3.8编程语言,Pytorch1.8.0深度学习框架。

数据集为互联网上公开的新加坡海事数据集,包括在2015年7月−2016年5月之间的各种环境条件下采集的视频数据,经分帧标注而得3605张分辨率为1920×1080的图片及相应标注文件。按照9∶1的比例将所有数据划分训练数据与验证数据,再将验证数据按照9∶1比例划分为训练集与测试集,即训练集2920张图片,测试集324张图片,验证集361张图片。

3.2 评估指标

目标检测中通常用平均精准度(Average precision,AP)和平均精准度的均值mAP来评价模型的检测效果和性能,AP为召回率(Recall)和精确率(Precision)曲线下的面积。计算公式为:

$ Pr = \frac{{TP}}{{TP + FP}} ,$ (3)
$ Re = \frac{{TP}}{{TP + FN}} ,$ (4)
$ AP = \frac{1}{{101}}\sum\limits_{i = 0}^{100} {Pr\Bigg(Re = \frac{i}{{100}}\Bigg)} ,$ (5)
$ mAP = \sum\limits_{i = 1}^N {\frac{{A{P_i}}}{N}} 。$ (6)

式中: $ Pr $ 为检测的准确率; $ Re $ 为模型的召回率; $ TP $ 为准确预测的个数; $ FP $ 为误检数; $ FN $ 为漏检数;N为检测的类别数。

3.3 实验对比

训练阶段的超参数设置:初始学习率为0.0032;衰减系数为0.12;动量为0.843;批大小(batch size)为16;训练次数(Epoch)为 500 次。

YOLOv7-tiny-SiLU与CS-YOLOv7s的损失函数曲线如图6所示。可看出2 种模型在训练初期损失函数下降速度更快,整体波动较小,且训练到第100轮左右时均损失值达到了0.04,收敛情况均良好,模型轻量化改进后最终损失比原始模型稍高。

图 6 训练损失情况 Fig. 6 Training loss

从训练结果上看,CS-YOLOv7s的准确率最高为0.9668;召回率最高为0.8554;在置信度为0.5时mAP最高为0.8733。当置信度为0.5时,模型改进前后其平均精准度的均值mAP曲线如图7所示。从图中可看出,CS-YOLOv7s的平均精准度与YOLOv7-tiny-SiLU基本持平,稍有下降。

图 7 mAP@0.5曲线对比 Fig. 7 mAP@0.5 curve comparison

使用YOLOv5s、YOLOv7-tiny-SiLU、CS-YOLOv7s对验证数据进行检测,完成消融实验,检测结果如图8所示。从检测结果来看,CS-YOLOv7s对海上目标检测的准确性明显优于YOLOv5s,略差于YOLOv7-tiny-SiLU。

图 8 检测结果示例。 Fig. 8 Example of test results

网络参数对比如表1所示。

表 1 算法模型性能对比 Tab.1 Algorithmic model performance comparison

可以看出,相比于YOLOv5s与YOLOv7-tiny-SiLU,CS-YOLOv7s算法网络模型层数虽然有所增加但模型权重大大下降,参数量相对较少,检测速度有所提高,且经过模型重参化后权重仅为9.3 M。对于算法移植于其他平台更加友好,即使在高清图像中也能基本满足实时检测的需要。改进后的CS-YOLOv7s算法能够满足海上目标检测场景中的实时检测任务。

4 结 语

针对海上目标检测任务,本文提出一种改进的 YOLOv7 算法,运用 MobileViT模块提高骨干网络的特征提取能力,参照CBAM特征注意力机制,利用通道注意力模块与空间注意力模块设计更为轻量化的特征融合网络。结合注意力机制改进后的模型在准确率少量下降的情况下,速度达到22.64 帧/秒,权重为9.3 M。结果表明,CS-YOLOv7s模型能够满足检测准确性与实时性要求,可以更好地完成海上目标检测任务。

参考文献
[1]
薛董敏. 基于视觉显著性的海上远景目标检测系统[J]. 舰船科学技术, 2021, 43(24): 184-186.
[2]
包晓敏, 王思琪. 基于深度学习的目标检测算法综述[J]. 传感器与微系统, 2022, 41(4): 5-9. DOI:10.13873/J.1000-9787(2022)04-0005-05
[3]
赵文思. YOLOv3在船舶图像目标检测应用研究[D].大连: 大连理工大学, 2021.
[4]
王文亮, 李延祥, 张一帆, 等. MPANet-YOLOv5: 多路径聚合网络复杂海域目标检测[J]. 湖南大学学报(自然科学版), 2022, 49(10): 69−76.
[5]
张晓鹏, 许志远, 曲胜, 等. 基于改进YOLOv5深度学习的海上船舶识别算法[J]. 大连海洋大学学报, 2022, 37(5): 866−872.
[6]
姬嗣愚, 王永生. 基于改进YOLOV5的海上弹着点水柱信号检测算法[J]. 电光与控制, 2022, 29(8): 50−56.
[7]
WANG C Y, BOCHKOVSKIY A, LIAO H Y M. YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors[J]. arXiv preprint arXiv, 2022.
[8]
NEUBECK A, GOOL L. Efficient non-maximum suppression[C]//International Conference on Pattern Recognition. IEEE Computer Society, 2006.
[9]
SOUDY M, AFIFY Y, BADR N. RepConv: a novel architecture for image scene classification on Intel scenes dataset[J]. International Journal of Intelligent Computing and Information Sciences, 2022, 22(2): 63-73.
[10]
LEE Chen-Yu, XIE Saining, GALLAGHER Patrick, et al. Deeply-supervised nets[J]. In Artificial Intelligence and Statistics, 2015(5): 562−570.
[11]
MEHTA S, RASTEGARI M. Mobilevit: light-weight, general-purpose, and mobile-friendly vision transformer[J]. arXiv preprint arXiv: 2110.02178, 2021.
[12]
WOO S, PARK J, LEE J Y, et al. Cbam: convolutional block attention module[C]//Proceedings of the European conference on computer vision (ECCV), 2018: 3–19.