复杂海况下的海上船舶目标检测算法

B站影视 2025-01-15 09:35 2

摘要:注:本文由“人工智能技术与咨询”发布,若有无法显示完全的情况,请搜索“人工智能技术与咨询”查看完整文章相关学习:人工智能、大数据、多模态大模型、计算机视觉、自然语言处理、数字孪生、深度强化学习······

源自:现代防御技术

作者:邢汇源 崔亚奇 王子玲 熊伟 蒋丙栋

注:本文由“人工智能技术与咨询”发布,若有无法显示完全的情况,请搜索“人工智能技术与咨询”查看完整文章
相关学习:人工智能、大数据、多模态大模型、计算机视觉、自然语言处理、数字孪生、深度强化学习······

针对海洋环境下无人艇载光学图像背景信息复杂、小目标,当前目标检测算法特征提取能力不足、定位能力弱、检测精度差等问题,提出了一种基于YOLOv7-Tiny的改进的海上目标检测算法。利用RepVGG在推理时的“无损耗”特性设计了特征提取模块RepELAN,在不影响推理速度的同时提升网络特征提取能力;改进特征共享融合网络,融合高分辨率特征图提升对小目标特征提取能力,裁剪低分辨率特征图减少网络推理计算量;针对网络在复杂环境下定位检测能力弱的问题,设计检测头模块,区分定位与分类2种解耦头,提升网络定位检测能力。在建立的船舶目标检测数据集进行实验,检测精度提升了6.2%,设计了模块消融实验与对比实验,论证了所提算法的有效性。

目标检测 ; YOLOv7-Tiny ; 解耦头 ; 特征融合 ; 小目标 ; 海上船舶

引言

随着高新技术不断发展以及无人艇制造工艺的不断提高,越来越多的无人艇被用于海上无人作战。无人艇具有成本低、隐蔽性强、杀伤力大等特点。光学传感器是当前无人艇主要的信息来源,然而,无人艇在海面航行时,特殊的海洋状况和天气情况会导致其拍摄的画面存在诸多问题,如尺度多样、小群目标、背景复杂等。如何在无人艇获取的图像中快速准确地对目标进行识别,是无人艇对海面态势捕捉感知的重要问题。传统的目标检测方法使用滑动窗口来提取区域框,例如SIFT(scale invariant feature transform),HOG(histogram of oriented gradient)[1]等方法,但这种方法需要人工建模和设计检测特征,容易造成漏检、错检问题,鲁棒性较差。随着卷积神经网络的迅速崛起,在深度学习基础上,目标检测算法得到了极大发展,为舰船目标检测[2]等任务的实现提供了有力支持。基于卷积神经网络的目标检测算法可以根据算法实现划分为两阶段算法[3]和单阶段算法[4]。两阶段检测方法如区域卷积神经网络(region convolutional neural network,R-CNN)[5],Fast R-CNN[6]等,首先要提取候选区域,然后对候选区域进行回归和分类,此类算法准确度高,但推理速度较慢。单阶段检测算法如SSD(single shot multi-box detector)[7-9],YOLO(you only look once)[10-15]系列算法不需要生成候选区域,直接回归目标的位置与类别,大大提升了检测效率,但牺牲了部分检测精度。

针对单阶段检测与两阶段检测算法的缺点,学者们不断改进优化。如顾佼佼等[16]通过调整锚框尺寸与数量,替换VGG16(visual geometry group16)主干网络来提升检测精度。马啸等[17]增加了语义分割分支以及判别模块。这些基于两阶段算法的改进虽然减小了网络的结构并提升了一定的检测精度,但仍然保留了区域推荐模块,网络结构复杂,实时性差。在单阶段检测方面,唐崇武等[18]通过增加训练尺度、微调分类网络、将目标边框维度聚类等方式对YOLOv3检测算法进行优化。胡欣等[19]在YOLOv5的基础上增加了多分支注意力机制。钱坤等[20]优化了YOLOv5网络的特征融合结构和激活函数。以上改进虽然提高了单阶段算法的检测精度,但增加了较高的计算量。

由于无人艇的硬件设施、算力和功耗等方面存在限制,大型复杂的目标识别检测算法的部署受到了制约。因此,如何同时兼顾网络规模与目标检测精度之间的平衡,成为当前舰船目标检测面临的一个重要难题。本文通过对比实验选择了一种轻量化的目标检测模型YOLOv7-Tiny,并以此为基础针对本文应用场景做出改进。

1 本文算法

针对YOLOv7-Tiny对小型船舶检测准确度不高、特征提取能力不足、定位精度偏低进行改进,改进的网络结构如图1所示,模型包含了4个主要部分:输入、主干网络(backbone)、颈部网络(neck)、检测头(head)。图像首先经过数据增强等预处理操作,被输入到主干网络中提取特征;接着,在颈部模块中,这些特征被整合为3种不同尺寸的特征;最后,这些融合后的特征被输入到检测头中,得到目标检测的结果。

图1 改进后的算法模型结构

文中1.1节介绍了一种高效的特征提取模块RepVGG;1.2节利用RepVGG设计了一种新的特征提取模块RepELAN,有效提升了网络特征提取能力;1.3节针对小目标问题,设计了一种特征共享融合颈部网络(feature sharing fusion network,FSFN),提升网络对小目标检测能力;1.4节提出了一种改进的基于解耦方式的检测头(decoupled ensemble head,DEHead),提升了网络的定位检测能力。

1.1 RepVGG模块

RepVGG[21]模块是一种由3×3卷积和ReLU激活函数构成的简单体系结构,在GPU和专用硬件上以极快的速度进行。该模块受ResNet的启发,应用了结构重参数化方法,具体过程如图2所示。在训练期间,RepVGG模块将一个模块拆分为多个相同或不同的模块分支,并在推理期间将多个分支模块集成为完全等效的模块。类似于ResNet,该模块通过残差方式学习f,将信息流建模为y=x+f(x)。当x与f(x)的通道数不匹配时,使用一个1×1卷积来调整通道数,得到y=g(x)+f(x),其中g(x)为1×1卷积。在训练阶段,RepVGG简单地堆叠这些卷积块来构建训练模块。而在推理阶段,通过重参数化方法,RepVGG将训练好的卷积块转换为单个3×3卷积进行推理。该模块能够在硬件上实现高效的推理,并保持较好的多尺度特征融合能力。

图2 RepVGG模块示意图

1.2 特征提取模块RepELAN

YOLOV7-Tiny目标检测算法的主干网络决定了从原始图像中提取出的特征的质量和数量,直接影响到目标检测的精度和速度。

本文提出了RepELAN架构,重新设计了YOLOv7-Tiny的主干网络部分中的ELAN结构,具体结构如图3所示。RepELAN采用最大值池化进行下采样,使用RepVGG卷积进行进一步的特征学习。通过将RepVGG的输出分别输入到1×1卷积和3×3卷积中,并进行拼接,获得不同程度感受野(在输入图像上,一个神经元可以看到或响应的区域大小)和不同层次的特征信息,以提高检测精度。在最后的输出中添加原始输入,并通过1×1卷积进行通道信息的学习和提取更高级的特征和语义信息,以提升网络精度并避免梯度消失现象。

图3 主干网络中的RepELAN

本文提出的RepELAN结构在保证提升训练精度的同时,也兼顾了结构上的简单高效,保持了模型在推理时的速度。

在颈部网络部分,本文对RepELAN架构进行了一定调整,如图4所示。由于颈部网络部分的RepELAN架构的输入输出通道不同,如果使用大跨越度的残差结构, RepELAN的输出将直接传递给检测头进行预测,如果此时1×1卷积无法进行良好学习,将直接影响到网络的整体检测效果。故在颈部网络部分本文使用局部的小跨越度的残差结构,帮助原本的1×1卷积进行学习,同时可进行梯度的局部传递,有利于网络的权重迭代更新及网络精度的提升。

图4 颈部网络中的RepELAN

1.3 基于小目标的特征共享融合颈部网络

本文利用了不同分辨率的特征图来检测不同大小的目标,同时采用特征融合的方法弥补了信息丢失的问题,提高了模型的检测能力。针对小目标,提出了一种新的特征共享融合方式,以提升网络对小目标的检测能力。

在YOLOv7-Tiny中,通过特征金字塔(feature pyramid network,FPN)[22]和像素聚合网络(path aggregation network,PAN)[23]融合P3,P4层的特征,并以不同的倍数对P3,P4,P5层进行多尺度检测。该方式能够在不同尺度的特征图中融合不同的目标信息,从而提高检测性能。

在基于特征图金字塔网络的目标检测器中,小目标主要通过高分辨率的特征图检测,但是船只在宽阔的海洋背景下所占的像素很小,因此传统的基于特征图金字塔网络的目标检测器无法精确地检测到更小的船只目标。针对小目标问题,本文对多尺度检测层进行了改进,如图5所示。通过使用上采样与拼接操作融合P2层的特征,并且为了提升更小尺寸目标的检测精度,添加160×160分辨率特征图的检测头,更高分辨率的特征图可以使小目标在检测过程中占据更多像素,从而使检测器更容易发现小目标。由于20×20分辨率的特征图主要是用来检测大型目标,而船只大多为中小尺寸,因此本文将其裁掉,弥补了由于添加160×160分辨率特征图的检测头带来的速度损失。

图5 颈部网络的多尺度融合图示

本文提出的基于小目标的特征共享融合网络,通过使80×80分辨率的特征层的特征图通过上采样和下采样,直接分别传递给下级网络进行预测,使颈部网络的160×160分辨率的特征层和40×40分辨率的特征层部分能够直接获取上级网络的纹理特征,避免了特征图在逐层传递中可能发生的信息丢失,提高了网络的预测效果。由于共享学习特征,会使得80×80分辨率的特征层具有更为丰富的特征信息,可进一步提升网络的检测性能。

1.4 基于解耦方式的检测头

在目标检测的定位和分类任务中,存在空间错位的问题[24],分类任务主要关注物体的类别,而定位任务则除了分类外还需要确定物体的位置和大小,即确定物体在图像中的边界框。因此,在定位任务中,除了特征提取之外,还需要对边界框的位置和大小进行回归修正。与此不同,分类任务只需要提取能够最好区分不同类别的特征即可。因此,分类和定位2个任务所关注和感兴趣的地方是不同的。如果采取用同一个特征图进行分类和定位,效果会不好。本文受YOLOX[25]解耦头启发,提出了一种新的解耦头结构DEHead,具体结构如图6所示。

图6 DEHead检测头图示

图6中,Obj表示置信度,Cls表示分类信息,Reg表示定位信息。本文将定位与分类任务区分,将分类与置信度共用于一个卷积分支,定位信息单独一个卷积分支。提升了网络的定位与分类效率,提升检测精度。

2 实验结果

2.1 数据集介绍

本文采用的数据集(表1)是基于无人艇上高清摄像机和光电跟踪仪采集的海面数据。数据集共包含39 776张图片,图像尺寸类型共5种,分别为1 920×1 080,1 920×960,1 920×720,1 920×680和1 920×640。考虑到海面目标的种类和运动特性,将海面目标分为帆船类(sailing_boat)、渔船类(fishing_boat)、漂浮目标类(floater)、客船类(passenger_ship)、快艇类(speedboat)、货船类(cargo)和其他特殊船舶(special_ship)7类。图7为部分样本图及标注样例。其中训练集、测试集、验证集的比例为8∶1∶1。

表1 数据集信息

图7 部分样本图及标注样例

图8中左上角的图表表示了数据集中每个类别的样本数量分布情况。右上角的图显示了真实框的形状分布情况,也就是真实框的宽高比例。左下角的图展示了真实框中心点的位置分布情况。右下角的图表则表示了真实框大小的分布情况。通过这些可视化的数据集图表,可以看出数据集的绝大多数目标为中小尺寸的目标,且主要集中在某一水平线上,符合海洋中船舶目标的特性。

图8 数据集信息可视化结果

本文实验环境基于Ubuntu 20.04操作系统平台,显卡为RTX A5000,CUDA版本为11.3,编程语言为Python3.7,使用的深度学习框架为Pytorch1.9.0。使用 SGD优化器迭代训练,输入图像统一缩放为 640x640 分辨率。训练过程学习率逐步下降,初始学习率为1.00×10-2,在训练第100次与第 200 次下降为先前的 1/10,设置初始迭代次数为 300,批训练规模 (batch size) 设置为 16。

2.2 评价指标

本文使用每秒处理帧数(frame per second,FPS)评价检测速度,以及平均准确率的均值(mean average precision,mAP)评价算法检测性能。其中,mAP指标可以更全面地衡量算法在多个召回率下的检测精度,计算公式如式(1)所示。同时,本文采用交并比(intersection over union,IoU)阈值为0.5来判断检测是否成功,即当检测目标与真实目标的IoU>0.5时,认为该目标被正确检测。更高的FPS和mAP值都表明算法的检测性能更优秀。

(1)

式中:P为准确率;R为召回率。

2.3 消融实验

为了更进一步地评估不同模块对检测结果的影响,本文设计了消融实验,并在本文制作数据集上测试了算法的性能。实验参数见2.1节,实验结果总结在表2中。通过这些消融实验,本文深入探究了算法各个模块的作用和贡献,为算法的进一步优化提供了重要的参考。具体结果如表2所示。

表2 消融试验结果

从表2可以看出,YOLOv7-Tiny的mAP值仅有70.6%,虽然它在多层特征上进行检测,但是仍受背景影响,导致检测效果不佳。在主干网络融入RepC5后,使mAP提高了1.9%,说明在特征提取阶段增加网络在通道维度上的信息交流和特征加权能力有利于规避背景的影响,提高网络对目标特征的表达能力。通过改进颈部网络,本文提出了一种基于小目标的特征共享融合网络,使mAP提高了3.4%,说明其对船舶的描述能力增强,提高了网络的小目标检测能力。同时解耦头有助于模型放大目标信息的占比并缩小无关信息的占比,使mAP提高了2.5%。且同时嵌入RepELAN、特征共享融合网络(FSFN)和解耦头模块(DEHead)比增加单一模块的mAP增量大,说明3个模块不会相互影响,能够较好地融合。将所有改进融合后检测的mAP值最高,达到了76.8%,大幅提高了YOLOv7-Tiny网络对船舶的检测能力。

图9为YOLOv7-Tiny、3种模块分别独立嵌入YOLOv7-Tiny及一同嵌入YOLOv7-Tiny时的mAP曲线图,从图中能很好地看出,3种模块一起嵌入时,其收敛速度及精度都远超于YOLOv7-Tiny,证明改进的有效性。

图9 损失函数曲线

2.4 特征提取阶段分析

为了清晰地展示本文所提出的RepELAN模型主干网络在进行特征提取时的工作原理,如图10所示,将整个特征提取过程划分为4个阶段,并且对各阶段生成的特征图进行可视化操作,便于分析神经网络所提取到的特征性质。根据图10所示的可视化结果,可以得出以下结论:在RepELAN模型主干网络的特征提取过程中,卷积层在第1阶段提取了浅层特征信息,这些特征信息能够帮助模型有效地分割出海上目标船舶所在的前景区域和背景区域。在第2阶段,经过卷积操作后的特征图的下采样效果明显增强,这意味着特征图中的细节信息被进一步压缩,但是仍然能够保留有用的特征信息。在后2个阶段特征图则获得了更加抽象的全局空间信息,但高层语义信息已经变得模糊,这表明特征图中的特征已经变得更加抽象化,但是仍然具有区分不同物体的能力。同时,由于下采样操作,海上目标船舶的形状也开始变得抽象。总的来说,这些结果表明RepELAN主干网络模型能够有效地提取海洋背景下目标船舶图像中的纹理、形状和边缘等特征信息,从而为海上目标船舶的检测提供了有力的支持。

图10 图像特征提取可视化

2.5 对比实验

将所提出的方法与最先进的物体检测器进行比较,结果如表3所示。从表3中的结果中可以看出,本文所提出的方法(Ours)在速度和准确度的平衡方面综合表现最佳。具体来说,如果将所提出的方法与YOLOv7-Tiny进行比较,本文方法在FPS方面虽然低66帧,但仍然可以远超其他算法,而准确度相比于YOLOv7-Tiny(mAP@0.5)高6.2%。此外,YOLOv7在161 fps的帧速率下具有76.0%的mAP@0.5,而本文算法在具有相似准确率的同时速率方面大大超越YOLOv7达到了220 fps,且所用参数量比YOLOv7少了83.19%。如果将具有220 fps推理速度的本文方法与具有159 fps推理速度的YOLOv5-S进行比较,本文所提出的方法可以提高4.9%的mAP@0.5。如果将所提出的方法与相似参数规模的YOLOX-S进行比较,则所提出的方法的推断速度比YOLOX-S快118帧,同时mAP@0.5比YOLO-S高4.9%。此外,就参数和计算量而言,与YOLOv5-M相比,所提出的方法减少了75.49%的参数量和25.5(FLOPs)的计算量,但mAP@0.5提高了1.6%。总体而言,本文所提出的方法在速度、准确度以及参数和计算量的平衡方面表现出色,优于其他列举的目标检测算法。

表3 对比实验结果

2.6 检测结果可视化分析

为更直观展示算法的改进效果,本文进行了检测结果可视化对比,具体如图11所示,a),b),c)中上图为YOLOv7-Tiny的检测结果,下图为改进后的检测结果。

图11 前后检测结果对比图

(1) 图11a)为存在大量小群目标场景下的图像,YOLOv7-Tiny产生了明显的漏检以及误检现象。而本文改进后的模型则能有效地检测出各类相互遮挡的小群目标,证明本文模型有较强的学习与辨别能力。

(2) 图11b)为高曝光条件下检测,可以看到YOLOv7-Tiny的检测结果存在漏检现象,说明其对高曝光条件下的检测条件难以适应。而本文所提出的模型则能够在高曝光条件下完整检测出所有目标,证明本文模型对于极端条件下的检测环境也可良好适应。

(3) 图11c)为大雾场景下的检测结果,可发现YOLOv7-Tiny产生了大量的漏检情况。而本文所提出的模型则能够检测出绝大部分小目标船舶,证明本文所针对复杂环境下的改进是十分有效的。

3 结束语

本文致力于对海上目标船舶的轻量化检测网络进行深入研究,以YOLOv7-Tiny为基准提出了一种基于RepELAN模块新型特征提取网络,该方法在保证精度提升的同时,也兼顾了结构上的简单高效。为提高网络对小目标的检测能力,提出了一种新的基于小目标特征共享融合颈部网络,实现特征的新型复用。通过一种新的解耦头结构DEHead,配合基于小目标特征共享融合颈部网络,实现了精度的大幅提升。最后,构建了无人艇拍摄的可见光海上目标船舶数据集进行实验,结果表明,所提方法在检测的速度和精度上表现优异,进一步验证了本文方法的有效性。

声明:公众号转载的文章及图片出于非商业性的教育和科研目的供大家参考和探讨,并不意味着支持其观点或证实其内容的真实性。版权归原作者所有,如转载稿涉及版权等问题,请立即联系我们删除。

注:本文由“人工智能技术与咨询”发布,若有无法显示完全的情况,请搜索“人工智能技术与咨询”查看完整文章
相关学习:人工智能、大数据、多模态大模型、计算机视觉、自然语言处理、数字孪生、深度强化学习······

来源:宁静则致远

相关推荐