Detection of Small Infrared Moving Targets Under Ground-sky Background
-
摘要: 受到云层飘移、树木晃动、背景噪声杂波等因素的影响,红外弱小目标在地空背景下无法被精确检测.针对这个问题,本文提出了一种融合时空结构张量的背景差分检测算法.首先,通过当前图像与背景模型的比对确定出运动变化的全部像素,再用前景点计数的方法消除噪声等因素造成的孤立点错误检测;然后,时空结构张量模块利用连续帧图像的时间空间信息检测出运动块;最后,对前景目标像素和前景目标块进行融合操作,并将目标区别于背景二值化显示.与其它算法对比的实验结果表明,本文提出的算法具有稳定的检测率,且虚警率有明显降低,是地空背景下红外弱小运动目标检测的有效方法.
-
0. 引言
近年来由于海洋经济和水产养殖的不断发展,水下目标检测方法在海洋领域得到广泛应用。水下图像目标检测对于探索和保护脆弱的生态系统至关重要。随着传感器和图像处理技术的发展,人们对于水下计算机视觉的兴趣也在逐渐激增[1]。水下图像处理在探索水下环境方面具有巨大的潜力,它已被广泛应用于各种水下场合中,例如水下机器人视觉、海洋生物监测等[2]。
水下生物环境存在光线不足、物体体积小和生物分布密集等问题[3-4],这些问题导致水下图像质量较差,给目标检测带来了难度。水下目标检测不同于地面目标检测,首先由于水下环境比地面环境更复杂,使水下图像获取困难,水下目标数据集相对于地面目标数据集少。其次是图像的拍摄距离不同,水下拍摄距离达到百米甚至千米,相比于地面拍摄距离远百倍甚至千倍,导致水下图像中小目标占比更多,因此对水下小目标检测的性能要求会更加严格。除了以上问题导致现有的一些目标检测算法性能较差以外,目标检测算法本身存在的检测精度低和模型结构复杂的问题使目标检测难以应用到移动设备中,这也是水下目标检测算法的难点之一。因此开发针对水下生物场景的检测算法,正逐渐成为当前研究的热门话题[5]。
随着基于深度学习的目标检测方法的发展,两阶段[6]和单阶段方法[7-8]在水下目标检测中的应用越来越多[9-11]。各种特征提取[12]、融合策略[13]和损失定义已经集成到检测模型中。
传统的两阶段方法采用区域建议模块生成候选对象,然后对候选对象进行分类和定位回归。Zeng L.[9]等将标准Faster-RCNN[6]与对抗遮挡网络相结合,以增强对遮挡目标的鲁棒性。Song P.[10]等运用RCNN(Region-CNN)在低对比度和物体模糊的水下环境中解决了目标检测的不确定性建模问题。虽然基于两阶段算法的水下检测方法具有较高的精度,但采用的两阶段方法导致检测速度慢且模型尺寸较大。
与两阶段检测模型相比,单阶段检测模型将目标检测任务视为单个回归问题,以减轻计算复杂度并提高检测速度。代表算法包括SSD(Single Shot MultiBox Detector)[7]和YOLO(You Only Look Once)家族[14]。YOLO系列算法作为一种具有代表性的单阶段检测算法网络,以其精度高、检测速度快、结构灵活等优点在计算机视觉应用中得到了广泛的研究和应用。
Abdullah Al Muksit等[15]基于YOLOv3提出了水下鱼类检测模型YOLO-Fish。通过改进网络结构,解决了上采样步长问题,减少对小目标生物的误检。又通过增加空间金字塔池,增加了在动态环境中检测鱼类外观的能力。Chen L Y等[16]对YOLOv4检测网络进行改进,将上采样模块替换为反卷积模块,并将深度可分离卷积纳入网络中。不仅提升了模型的精度和检测速度,同时降低了对硬件性能的要求,提高了水下目标检测性能。Pingzhu Liu等[17]以YOLOv5为基础进行网络改进,通过设计SRC3高效的特征提取块和CRFPN特征融合模块,使模型能够提取更丰富的水下目标信息,融合不同尺度的有效信息。并且引入了EIoU损失函数,使它们能够专注于准确探测和分类水下物体,从而解决探测过程中目标重叠和遮挡的问题。Guoyan Yu等[18]建立了一个结合交叉转换和高效挤压激励模块的网络,提出了水下生物检测方法U-YOLOv7,解决了水下检测中背景信息干扰多、检测速度慢的问题,实现了水下生物的自主监测和准确识别。
虽然以上工作都取得了不错的效果,但是仍然存在目标检测精度低、模型不够轻量化,应用于移动设备困难等问题,需要改进的地方仍然很多。因此本文提出了一种基于YOLOv8改进的轻量化水下目标检测算法,解决以上在复杂水下海洋生物检测任务中存在的诸多问题。具体改进工作有以下几点:
1)为了实现更高水平的多尺度特征融合,加强小目标特征信息的传递,颈部网络融入加权双向特征金字塔结构(BiFPN)改进原来的特征融合网络。
2)针对YOLOv8主干网络中的卷积模块参数量大、计算复杂度高的问题,设计了一个轻量化模块AADS,将主干网络中的卷积模块替换为AADS使整体网络轻量化,并且使检测精度和速度之间达到平衡。
3)在检测大目标的颈部引入大可分离核注意力机制(LSKA)提高检测精度,模型能够更精确地关注重要信息,提高模型对于复杂数据的处理能力。
1. YOLOv8算法改进
1.1 YOLOv8算法简介
YOLOv8作为一种快速的单阶段目标检测方法,可以用于对象识别,图像分类和分割,目前在水下航行器探测[19]和其他应用[20]中得到了广泛的采用。YOLOv8既能在CPU上运行,也能在GPU上运行。根据不同的使用场景将模型分为n、s、l、m、x共5种类型,其中YOLOv8n参数量最小且检测速度最快。
YOLOv8由主干网络、颈部网络和头部网络组成。主干网络使用与YOLOv5类似的结构,保留了CBS卷积模块,将YOLOv5原始的CSPLayer模块修改为C2f模块,C2f模块具有两个卷积的跨阶段瓶颈部分组成,这样可以更好地集成高级功能和上下文信息。主干网络的最后一层采用空间金字塔结构SPPF(Spatial Pyramid Pooling and Feature Fusion)结构和多个大小池化窗口来丰富网络的特征提取。颈部网络采用FPN(Feature Pyramid Network)+PAN(Path Aggregation Network)实现多特征提取,丰富对小目标的检测。其中,Upsample为上采样操作,用于增加特征图的分辨率。Concat模块通过合并不同层的特征对特征图进行拼接。头部网络使用头部解耦的无锚模型来处理回归和分类任务,CIou[21]和DFL[22]损失函数用于封闭框架预测。与基于锚点的方法相比,无锚点方法减少了参数的数量,对于检测形状差异较大的小目标效果更好。
1.2 改进算法总体框架
针对水下目标检测特征不足导致漏检和误检的问题,采用YOLOv8n作为基线网络,以实现高精度和小模型尺寸。首先在颈部融入BiFPN金字塔结构,进行多尺度和跨尺度连接,从而得到更丰富的特征融合;其次,在主干网络中将CBS卷积模块替换为AADS下采样模块,减少参数量的同时提高检测精度;最后,在检测大目标特征的颈部与头部网络之间引入LSKA注意力模块,提高对水下关键特征信息的提取,进一步提高检测效果,改进的YOLOv8网络结构如图 1所示。
1.3 双向特征金字塔
多尺度特征融合的目的是聚合不同分辨率的特征,从而提高对不同尺度目标的检测精度。在复杂的水下场景进行生物检测,从被遮挡的海洋生物中提取的特征信息有限,因此会导致检测精度的降低,为了解决这一问题,改进的颈部网络结构在原始YOLOv8的Neck层引入双向特征金字塔网络(BiFPN)。
传统的颈部融合结构是采用自顶向下的FPN[23]结构(如图 2(a)所示),它将自顶向下上采样纵向得到的特征与横向连接后的特征进行多尺度融合,把高层的特征传下来,补充低层的语义,进而获得高分辨率、强语义的特征。然而传统FPN结构在特征融合时仅考虑当前层和相邻某一层的特征,对于高层和浅层特征的融合并不充分。PANet[24](如图 2(b)所示)在FPN结构上进行改进,在FPN基础上添加一个自下而上的路径聚合网络,同时考虑了顶层的语义信息和底层的位置信息。
YOLOv8n模型采用FPN+PAN的结构,但由于输入特性的分辨率不同,FPN+PAN结构对融合输出特性的贡献往往是不均匀的,不同尺度之间的特性不能得到充分利用。因此,将颈部网络融合加权双向特征金字塔结构(图 2(c)所示)以此来加强不同尺度特征之间的融合和不同特征信息之间的传递。改进后的网络能够挖掘更深层的水下目标信息,将深层特征信息与浅层特征信息进行信息共享,提高模型的检测精度。
BiFPN去除那些只有一个输入边的节点,从而简化了双向网络结构;为了实现低成本操作情况下融合更多尺度特征,在原始输入节点和输出节点之间增加一条额外的边;与PANet只有一条自顶向下和一条自底向上的路径不同,BiFPN将每条双向(自顶向下和自底向上)路径视为一个特征网络层,对同一层进行多次重复,使不同特征融合变得更高级。此外,由于输入特征的分辨率不同,BiFPN还引入了训练权重,通过将额外的权重添加到每个输入,并且对每个输入分配权值,用权值来调整不同输入对输出特征的贡献程度从而对特征层进行深度融合。采用快速归一化融合来进行权重分配,其公式如下:
$$ O = \sum\limits_i {\frac{{{\omega _i}}}{{\varepsilon + \sum\limits_j {{\omega _j}} }}} \cdot {I_i} $$ (1) 通过在每个ωi使用Relu激活函数来保证ωi≥0,并且为避免数值不稳定,将ε设为极小值0.0001,每个归一化权重的值都在0~1之间。
如图 2(d)为BiFPN在改进模型中的应用,考虑到水下环境中存在小目标且难以检测的问题,在此基础上补充低层语义信息,即将尺寸为160×160的特征图输出节点与80×80的输出节点进行融合补充。在中间两层连接中各增加一个跳跃连接,结合了本层及上下两层不同尺度的特征,采用双向跨尺度和加权特征融合的方式实现更高层次的特征融合。有助于模型更全面地了解遮挡目标的上下文信息,从而提高水下目标检测的准确性。
1.4 自适应注意力下采样
原始YOLOv8采用普通卷积对主干网络卷积进行特征提取,由于卷积模块计算参数多,复杂的结构使得存在计算冗余,因此设计了一种自适应注意力下采样模块。AADS模块借鉴了RFA卷积[25]的思想,RFA卷积使用动态接受场注意力和分组卷积结构,将学习到的注意力特征图与分组卷积提取的接受场特征信息进行交互汇总,强调了感受野内不同特征的重要性。AADS模块将RFA卷积进行改进,进一步减少卷积的参数量和计算复杂度。
该下采样分为两个部分,第一部分通过加权特征得到注意力特征层,第二部分通过分组卷积对特征进行下采样,最后将两者得到的特征在最后一维度上进行加权求和。如图 3为AADS结构图。
在注意力特征层提取部分首先对输入特征图进行3×3的平均池化,池化层的作用是对特征图进行降维和局部平均,以提取局部平均特征。然后对平均池化过的特征图进行1×1的点卷积操作,输入输出通道不变,1×1点卷积层的作用使对每个像素点进行通道间的线性组合,调整和整合特征图的信息,重新分配特征的通道权重,进一步提取有效特征。最后将特征图进行重新排列,将2×2的特征块重新排列在最后一个维度上,得到4个权重,再经过Softmax操作,使得每个2×2的特征块的权重和为1,从而得到注意力权重。
在下采样特征提取部分使用3×3,步幅为2的分组卷积,每个组内独立进行卷积操作,分组卷积可以减少参数量和计算量,同时保留卷积操作的特征提取能力。接下来对分组卷积下采样的特征重新排列卷积输出的形状,将输出通道拆分为4个通道块并进行整合,与第一部分得到的注意力权重对应。
如图 4为普通卷积和分组卷积[26]的对比图,此时输入特征图尺寸为H×W×C1,普通卷积核的尺寸为h1×w1×c1,共有c2个卷积核,此时输出特征尺寸为H×W×C2。在分组卷积运算中,将输入特征在深度上分成g组,输入高度和宽度保持不变,即将c1个通道分成g组,将c2个卷积核也分为g组,最终的输出特征尺寸和普通卷积运算输出相同,即H×W×C2。因为将普通卷积过程拆分成了g组子运算共同运行,参数量得到了降低。在普通卷积中,参数量为h1×w1×c1×c2,使用分组卷积后,参数量变为:
$$ {h_1} \times {w_1} \times \frac{{{c_1}}}{g} \times \frac{{{c_2}}}{g} \times g = {h_1} \times {w_1} \times {c_1} \times {c_2} \times \frac{1}{g} $$ (2) 由此可以看出,分组卷积在分组的过程中不仅减少了网络参数量,而且通过分组可以减少卷积的操作数量从而减少整个网络的计算复杂度。
AADS下采样模块通过在注意力特征提取阶段计算每个2×2特征块的注意力权重,自适应地关注重要特征信息,并使用这些权重对下采样的特征图进行加权求和,实现了自适应权重的下采样操作。引用分组卷积作为下采样卷积使得网络计算量和参数量减少。因此将AADS模块替换主干网络中的卷积模块,在减少参数量和计算复杂度的同时,使得检测精度也得到提高。
1.5 大可分离核注意力机制
LSKA注意力机制是通过LKA[27]注意力机制改进而来,与LKA不同的,LSKA具有可以有效地捕获图像中的远程依赖关系的特性,对于更深层网络有着更好的空间和信道适应性,降低了计算成本。
LKA结构图如图 5(a)所示,它由深度卷积、深度扩展卷积和点卷积组成,LSKA将LKA进行了改进,将深度卷积和深度扩展卷积的二维权核拆分为两个级联的一维可分离权核,如图 5(b)所示为LSKA结构图。给定一个输入特征F∈RC×H×W,其中C, H, W分别为通道数,特征图高度和宽度,LSKA的输出如下所示:
$$ {\bar Z^C} = \sum\limits_{H,W} {W_{\left( {2d - 1} \right)}^C*\left( {\sum\limits_{H,W} {_{1 \times \left( {2d - 1} \right)}^C*{F^C}} } \right)} $$ (3) $$ {Z^C} = \sum\limits_{H,W} {W_{\left\lfloor {\frac{k}{d}} \right\rfloor \times 1}^C} *\left( {\sum\limits_{H,W} {_{1 \times \left\lfloor {\frac{k}{d}} \right\rfloor }^C*{{\bar Z}^C}} } \right) $$ (4) $$A^C=W_{1 \times 1} * Z^C $$ (5) $$ {\bar F^C} = {A^C} \otimes {F^C} $$ (6) 式中:d是膨胀率;*和⊗分别表示卷积和Hadamard积;$ {\bar Z^C} $表示拆分为两个级联内核大小和为(2d-1)×(2d-1)的深度卷积的输出,它捕获了局部空间信息,并补偿了后续两个级联内核大小和为$ \left\lfloor {\frac{k}{d}} \right\rfloor \times \left\lfloor {\frac{k}{d}} \right\rfloor $的深度扩展卷积。$ \left\lfloor \cdot \right\rfloor $表示地板操作,深度扩展卷积负责捕获深度卷积输出$ {\bar Z^C} $的全局空间信息得到ZC。AC注意图表示将深度卷积的输出进行1×1核卷积,最终LSKA的输出$ {\bar F^C} $由注意图AC与输入特征图FC进行Hadamard积得到。
原LKA的参数和FLOPs计算方法如下:
$$ {\text{Param}} = {\left( {2d - 1} \right)^2} \times C + {\left\lfloor {\frac{k}{d}} \right\rfloor ^2} \times C + C \times C $$ (7) $$ {\text{FLOPs}} = \left( {{{\left( {2d - 1} \right)}^2} \times C + {{\left\lfloor {\frac{k}{d}} \right\rfloor }^2} \times C + C \times C} \right) \times H \times W $$ (8) 式中:k是核大小;d是膨胀率。LSKA模块的FLOPs总数和参数计算方法如下:
$$ {\text{Param}} = \left( {2d - 1} \right) \times C \times 2 + \left\lfloor {\frac{k}{d}} \right\rfloor \times C \times 2 + C \times C $$ (9) $$ {\text{FLOPs}} = \left( {\left( {2d - 1} \right) \times C \times 2 + \left\lfloor {\frac{k}{d}} \right\rfloor \times C \times 2 + C \times C} \right) \times H \times W $$ (10) 通过计算公式可以看出LSKA比原始LKA设计的深度卷积层中节省一半的2d-1个参数。同样,LSKA比原始LKA设计的深度扩展卷积层中节省一半的$ \left\lfloor {\frac{k}{d}} \right\rfloor $个参数。在FLOPs数量方面的节省与参数相同。
本文在检测大目标的颈部加入大可分离核注意力机制(LSKA),通过捕获图像中的远程依赖关系使模型能够更精确地关注重要信息,提高了模型对于复杂数据的处理能力。LSKA注意力机制模块加入改进网络的位置如图 1所示。
2. 实验结果与分析
2.1 实验环境与数据
本次实验在GPU为Nvidia Geforce RTX 3090,显存为24 GB的服务器上进行,采用Pytorch框架进行测试与实验,环境配置为Python3.9+Pytorch 1.7.0+CUDA 11.0。训练300批次,使用随机梯度下降SGD(Stochastic Gradient Descent)优化器进行训练,batchsize设为16,初始学习率为0.01。
本次实验使用的数据集为自建数据集,图像数据来源于网络爬虫,通过LabelImg对图像进行标签标注。数据集一共有5455张图像,数据集分为4类,分别是海星、海参、海胆和扇贝。数据集样图如图 6所示。将数据集按8:1:1的比例分成训练集、测试集和验证集,从数据集中随机选取4365张图像作为训练集,545张图像作为测试集,545张图像作为验证集。
2.2 评价指标
用精密度(Precision)、召回率(recall)和平均精密度(mAP)来衡量检测的准确性。帧率(FPS)用于测量模型的速度,以时间的倒数计算。Giga浮点运算(GFLOPs),即10亿次浮点运算,被用作衡量GPU性能的指标。各指标的计算公式如下所示:
$$ P = \frac{{{\text{TP}}}}{{{\text{TP + FP}}}} $$ (11) $$ R = \frac{{{\text{TP}}}}{{{\text{TP + FN}}}} $$ (12) $$ {\text{mAP}} = \frac{1}{n}\sum\limits_{i = 1}^n {{\text{AP}}\left( i \right)} $$ (13) $$ {\text{AP}} = \int_0^1 {P\left( R \right)} {\text{d}}R $$ (14) $$ \text { FPS }=\text { Number/time } $$ (15) 式中:TP是正样本被正确预测为正类的数量;FP是负样本被错误预测成正类的数量;FN为原本为正样本但被检测为负类的数量;mAP为平均精度均值;n为检测的类别数量;AP为P(R)曲线下的面积。
2.3 注意力机制对比实验
为了更好地验证本次改进加入的LSKA注意力机制对改进网络性能的影响,设计了以YOLOv8n为基线,将基线网络分别加入SE、MLCA、EMA、simAM注意力机制的对比试验,对比实验结果如表 1所示。
表 1 不同注意力机制对比实验Table 1. Comparison experiment of different attention mechanismsAlgorithms mAP50/% mAP50-95/% Params/MB GFLOPs/G YOLOv8n 81.7 47.4 3.0 8.2 YOLOv8n+SE 82.7 48.9 3.0 8.2 YOLOv8n+MLCA 82.5 48.3 3.0 8.2 YOLOv8n+EMA 82.4 48.7 3.0 8.2 YOLOv8n+simAM 82.1 48.4 3.0 8.2 YOLOv8n+LSKA 83.3 49.2 3.1 8.2 从表 1中可以看出,与YOLOv8n基线相比,所有加入了注意力机制的网络mAP指标都上升了,且计算复杂度都保持与基线相同。相比于加入其他注意力机制,加入LSKA注意力机制的YOLOv8网络检测精度提高明显,比加入SE、MLCA、EMA和simAM注意力机制的网络mAP50检测精度分别提升0.6%、0.8%、0.9%和1.2%,mAP50-95检测精度分别提升了0.3%、0.9%、0.5%和0.8%。虽然加入LSKA注意力机制的网络参数量略微上涨,但是网络整体精度上涨显著。因此考虑到网络的检测精度与检测速度的平衡性,加入LSKA注意力机制的改进方法使YOLOv8网络模型更适用于水下目标检测场景
2.4 AADS模块在不同位置的对比实验
为了验证AADS轻量级下采样模块在网络中的不同位置产生的不同网络影响,设计了如表 2所示的消融实验。
表 2 AADS不同位置对比结果Table 2. Comparison results of AADS at different positionsAlgorithms mAP50/% mAP50-95/% Params/MB GFLOPs/G YOLOv8n 81.7 47.4 3.0 8.2 AADS-all 82.7 48.5 2.7 7.9 AADS-
backbone82.7 48.9 2.7 7.9 AADS-neck 82.2 48.4 3.0 8.1 AADS-all表示将主干网络和颈部网络中的卷积模块替换为AADS下采样模块;AADS-backbone表示将主干网络中的卷积模块替换为AADS下采样模块,颈部网络卷积模块部分不替换;AADS-neck表示将颈部网络中的卷积模块替换为AADS下采样模块,主干网络中的卷积模块部分不替换。根据实验结果来看,将颈部网络中卷积模块替换为AADS下采样模块,平均精度提高不显著且计算复杂度下降也不明显。将主干网络以及颈部网络的卷积模块替换为AADS下采样模块和将主干网络中的卷积模块替换为AADS下采样模块这两个实验中,mAP50平均精度都显著提高,且参数量和计算复杂度相同,相比原网络来说参数量和计算复杂度都得到进一步降低。但是将主干网络中的卷积模块替换为AADS下采样模块使网络中的mAP50-95平均精度提升更多,因此,将主干网络中的卷积模块替换为AADS下采样模块能使网络获得更好的性能。
2.5 消融实验
验证改进方法的有效性是非常重要的,因此在数据集上进行了消融实验。表 3为改进算法在同一实验环境下的消融实验结果。
表 3 消融实验结果Table 3. Results of ablation experimentModels BiFPN AADS LSKA mAP50/% mAP50-95/% Params/MB GFLOPs/G FPS/(f/s) 1 81.7 47.4 3.0 8.2 108 2 √ 83.0 49.0 2.0 7.1 112 3 √ 82.7 48.9 2.7 7.9 110 4 √ 83.3 49.2 3.1 8.2 104 5 √ √ 82.8 48.1 1.7 6.9 117 6 √ √ 82.9 48.7 2.0 7.1 112 7 √ √ 82.3 48.6 2.7 8.0 109 8 √ √ √ 83.1 48.8 1.7 6.9 114 由表 3实验结果可知,实验1为YOLOv8n基线模型实验结果,实验2将BiFPN双向特征金字塔结构加入到YOLOv8n的颈部中,可以看出mAP50平均精度比基线模型提升了1.3%,参数量减少了33.3%,GPLOPs从8.2下降到7.1,各方面提升效果显著。实验3将YOLOv8n主干网络中的卷积模块替换为轻量级AADS下采样模块,从实验结果上可以看出,mAP50平均精度提升了1%,参数量和计算复杂度都明显降低,进一步减少网络的参数量和计算复杂度。实验4在YOLOv8n基线模型预测大尺寸目标的颈部网络与头部网络之间加入LSKA注意力机制,虽然参数量略微上升,但是在同等网络计算复杂度的情况下,mAP50平均精度从81.7%提升到83.3%,提升了1.6%,精度提升效果最好,且使模型参数量上涨不高,证明了在YOLOv8n网络中加入LSKA注意力机制是有效的。实验5、6、7分别为将3个改进点随机两两结合得到的实验结果,由实验结果可知,3个改进实验均使YOLOv8基线模型的平均检测精度和FPS提升,模型参数量和计算量都有一定程度的下降,但是没有使各指标达到最优的平衡效果。实验8为在基线模型基础上加入所有改进方法,mAP50平均精度虽然没有达到最优,但是相比于基线模型的平均精度提升了1.4%,达到了次优,精度提升明显,参数量和GPLOPs都降到最低,相比基线模型分别降低了43.3%和15.9%,FPS检测速度从108f/s提升至114f/s。总的来说,提出的改进方法有效地提升了YOLOv8网络性能,在水下目标检测中实现了检测精度与速度的平衡。
2.6 对比实验
为了验证改进算法相比于其他算法的优越性,在同一数据集的情况下对改进算法和当前主流目标检测算法进行了对比实验,实验结果如表 4所示。
表 4 不同算法对比结果Table 4. Comparison results of different algorithmsAlgorithms mAP50/% Params/MB GFLOPs/G FPS/(f/s) SSD 74.4 26.3 62.8 26 Faster-RCNN 71.2 137 370 12 RetinaNet 58.4 38 170.1 23 YOLOv3 73.0 61.9 66.2 25 YOLOv4-tiny 63.6 6.1 7.0 56 YOLOv5s 82.7 7.1 16.1 63 Ref. [28] 80.9 4.5 8.5 68 YOLOv7-tiny 81.6 6.0 13.2 70 Ours 83.1 1.7 6.9 114 其中对比的单阶段目标检测算法包括SSD,RetinaNet和YOLO系列算法;两阶段目标检测算法为Faster-RCNN。
通过表 4的对比实验可以看出,改进的目标检测算法在各性能方面都优于其他主流目标检测算法。与单阶段目标检测检测算法SSD和RetinaNet相比,改进的算法在各个性能表现上都提高明显,尤其对于RetinaNet网络来说,mAP50平均精度提高了24.7%,计算复杂度下降了163.2 G。与传统两阶段目标检测算法Faster-RCNN相比,改进的算法检测精度和检测速度方面都提升显著,参数量和计算复杂度更是下降明显。与YOLOv3网络相比,参数量降低了近36倍,计算复杂度降低了近10倍,mAP50提升了10.1%。与轻量级YOLOv4-tiny和YOLOv7-tiny网络相比,mAP50分别提升19.5%和1.5%,参数量都降低约72%,计算复杂度分别降低了0.1 G和6.3 G,推理速度分别提升58 f/s和44 f/s。对于YOLOv5s网络来说,虽然mAP50平均精度提升不明显,但是参数量降低了76%,计算复杂度下降了57%,推理速度提高了51 f/s。与文献[28]中的算法相比,mAP50平均精度提升2.2%,模型参数量和计算复杂度分别降低62.2%和18.8%,FPS提高近两倍,改进网络在的各个方面都占优。
2.7 改进算法检测效果实验
为了进一步直观地展现改进算法的检测效果,使用改进的网络和YOLOv8n网络分别在数据集上进行检测实验,实验效果图如图 7所示。
图 7第一列图片为水下数据集中的原图照片,第二列图片为在YOLOv8n基线模型上的检测效果图,第三列图片为在改进算法上的检测效果图。从图 7效果对比图中可以看出YOLOv8n网络模型存在误检和漏检行为,并且检测精度不高。从第一行和第二行检测对比图片中可以看出,原基线模型存在漏检行为,改进的算法不仅提高了检测精度,并且减少了漏检行为。从第三行对比图片中,YOLOv8n模型误检出左下角海胆信息,改进的算法不仅消除误检行为并且检测出漏检的远处小目标海胆信息。第四行效果对比图中,改进算法相对于YOLOv8n基线模型对密集小目标预测框的选择范围更精确,且正确预测率较高。综上所述,改进的算法网络不仅使检测精度提高,而且原模型中漏检的目标也能检测出来,在重叠目标和小目标的图片检测中表现更好,大大提高了检测性能。因此,改进的网络算法能更好地检测水下目标。
3. 结论
针对水下图像检测效率低、应用于移动设备困难等问题,本文提出了一种改进YOLOv8网络的轻量化水下目标检测算法。在颈部网络融合BiFPN特征金字塔结构提高小目标检测精度,设计轻量化下采样模块AADS使整体网络轻量化,并且引入LSKA注意力机制捕获图像特征中的重要信息。将改进算法在数据集上进行消融实验,改进后的模型与原模型相比,参数量下降43.3%,计算复杂度降低15.9%,并且mAP50比原模型提高了1.4%,FPS达到114 f/s,实现了网络的轻量化,检测精度与检测速度之间达到了平衡。并与其他算法进行了对比实验,结果表明改进的算法平均检测精度更高,模型参数量与计算复杂度下降明显,在重叠目标和小目标的图片检测中效果突出,整体检测性能进一步提高,更加适合复杂的水下环境。下一步工作中将继续优化算法,进一步提高算法的鲁棒性和准确性,将改进算法部署到移动设备上。探索更多轻量化检测方法在水下目标检测方面的应用。
-
期刊类型引用(3)
1. 王曙光,石胜斌,胡春生. 一种对空红外弱小目标检测跟踪方法研究. 红外技术. 2020(04): 356-360 . 本站查看
2. 杨昳,徐长彬,马玉莹,黄成章. 低信噪比下的红外弱小目标检测算法研究综述. 激光与红外. 2019(06): 643-649 . 百度学术
3. 沈旭,程小辉,王新政. 结合视觉注意力机制基于尺度自适应局部对比度增强的红外弱小目标检测算法. 红外技术. 2019(08): 764-771 . 本站查看
其他类型引用(6)
计量
- 文章访问数: 351
- HTML全文浏览量: 30
- PDF下载量: 32
- 被引次数: 9