基于注意力和上下文感知的海面渔桩检测

2023-08-15 02:02刘梦菲毛建华陆小锋
计算机技术与发展 2023年8期
关键词:注意力特征模块

刘梦菲,毛建华,陆小锋,2

(1.上海大学 通信与信息工程学院,上海 200444;2.上海大学 温州研究院,浙江 温州 325000)

0 引 言

中国拥有广阔的领海以及绵长的海岸线,这是天然财富。改革开放以来国内经济发展迅速,一些渔民为了利益铤而走险,使用违禁的工具非法捕捞,不但危及到捕鱼和食用者的人身安全,而且破坏了海洋生态平衡和渔业的可持续发展。除了“电、毒、炸”鱼,“绝户网”等非法捕捞行为之外,执法人员在巡航中还发现采用杆状物拦网围渔的行为,然而由于木桩体积小且在海面分布稀疏,其执法取证的效率低、难度大。

渔桩的绝对大小为5 pixel×20 pixel左右,相对原图尺寸占比约0.005%,目标分辨率低、特征少,主干网络能够提取到的特征有限,因此导致模型误检率高、检测效果差;其次渔桩在每幅图中占比少,样本稀缺,致使前景背景分布不均衡,模型漏检率高。现有的通用目标检测算法,无论是一阶段还是两阶段模型,小目标与中尺度和大尺度目标在检测性能上存在着十分显著的差距。

针对小目标检测存在的难点,国内外学者从多方面入手,在主流目标检测器的基础上进行改进,研究小目标检测算法的技巧与改进[1]。

SNIP[2]对Anchor进行筛选,只将落在给定的候选区域的真实框判定为有效框,同时引入多尺度图像金字塔,并且在训练过程中挑选大小合适的目标,以此提高小目标的检测效果。Stitcher[3]提出了一种拼接图像的方法,将四张图像以相同尺寸拼接为原图大小,并且使用损失指导拼接图在训练过程中的使用,使小目标得到充分的训练。TridentNet[4]同时结合了图像金字塔和特征金字塔结构的特点,通过改变空洞卷积的参数来控制感受野的大小,分别用以检测不同尺度的目标。

针对海面渔桩小目标检测中存在的难点,该文在YOLOv5模型的基础上进行改进,利用标签上下文信息辅助小目标的训练;设计了注意力增强的亚像素上采样结构,使得上采样过程可以获得更多的细节特征;采用高效解耦头,加快网络收敛速度,提高训练过程稳定性;同时,改进原先CIoU[5]损失函数的位置度量, 使预测结果更加贴近真实场景。实验证明,改进后的AECA-YOLO模型在准确率及召回率上都优于目前主流的目标检测算法。

1 YOLOv5算法模型

YOLOv5是一种典型的一阶段目标检测算法,与大多数经典的目标检测框架相比,它兼具检测精度高和识别速度快的优势。YOLOv5网络主要由三个部分组成:主干网络(Backbone)、颈部网络(Neck)和头部网络(Head)。

主干网络的主要作用为提取图像的特征,YOLOv5的主干网络采用CSPDarknet53,通过拼接和过渡等操作,实现更丰富的梯度组合信息。在CSPDarknet53结构的后面,YOLOv5还添加了SPPF模块,不仅解决了目标框和特征图的对齐问题,还增大了预测框的感受野。主干网络是模型检测精度高和推理速度快的保证。

颈部网络由特征金字塔(Feature Pyramid Networks,FPN)[6]和路径聚合网络(Path Aggregation Networks,PAN)[7]组成,其主要作用为增强网络模型对不同尺度对象的检测能力。FPN把深层的语义信息传递到浅层,在多个尺度上提高了语义表达,从而提升了目标检测的效果,尤其是小尺度目标的检测效果。而PAN则相反,将浅层的位置信息传递到深层,从而在多个尺度上提高了定位能力。

头部网络主要用于模型最终的推理与检测,采用多尺度检测的方法,通过下采样将特征图分为三种尺度,不同大小的感受野依次负责不同尺度物体的检测,即大输出特征图用以检测小物体[8],小输出特征图用以检测大物体,克服了单一特征图对于多尺度目标检测的局限性。

2 AECA-YOLO模型

由于海面渔桩目标分辨率低,且易受背景噪声干扰,面临着漏检率较高的情况。针对以上问题,基于YOLOv5模型进行改进,最终得到AECA-YOLO渔桩小目标检测模型,其网络结构如图1所示。

图1 AECA-YOLO网络结构

在骨干网络的SPPF模块前加入坐标注意力机制,使特征提取过程更加关注小目标的位置信息;为了保证在特征融合过程中获取更多的小目标信息,在颈部网络采用融合注意力机制和上下文信息的上采样结构(FAC-UpSample);头部网络采用解耦结构,分别利用纹理内容与边缘信息预测类别和定位目标,加快网络收敛速度;最后对模型的损失函数进行优化,减小位置偏移对小目标的剧烈影响。

2.1 坐标注意力机制

位置信息对于小目标至关重要[9],针对海面渔桩小目标像素分辨率低、缺乏通道信息等难点,加入坐标注意力机制,加强网络捕获通道间特征的能力,从而提高渔桩识别的准确率。坐标注意力(CoordAttention,CA)[10]是一种适用于移动网络的新型注意力机制,在通道注意力的基础上嵌入位置信息,使网络能够在避免引入过大开销的情况下获取更大的感受野,坐标注意力的结构如图2所示。

图2 坐标注意力模块

为了捕捉精确的位置信息,坐标注意力模块将通道注意力分解为水平和竖直两个方向,首先分别对这两个方向的特征采用平均池化,进行一维特征编码,计算过程如公式(1)和(2)。设输入特征图为x,高度为h的第c通道的输出可以表示为:

(1)

同样,宽度为w的第c通道的输出可以表示为:

(2)

接着在空间维度上采用拼接和卷积操作压缩通道,通过批归一化和非线性回归来编码水平和垂直方向的空间信息,得到同时具备空间和通道维度特征的注意力图f,其中δ是非线性激活函数,F表示1×1的卷积函数:

f=δ(F([zh,zw]))

(3)

然后再将fh,fw进行分离,各自通过1×1的卷积变换通道数,得到一组方向感知和位置敏感的注意力图gh,gw,最后把空间信息通过在通道上加权的方式融合,其中σ为sigmoid函数:

gh=σ(F(fh))

(4)

gw=σ(F(fw))

(5)

(6)

通过这种方式,坐标注意力机制沿一个空间方向捕获通道依赖关系,同时沿另一个空间方向保留位置信息,两者互补以用于增强目标特征的表达。在SPPF模块前加入坐标注意力机制,使得局部特征和全局特征融合的过程更加关注渔桩。

2.2 FAC-UpSample上采样模块

上下文信息对于检测小目标非常重要[11]。针对渔桩小目标信息有限的难点,该文提出一种聚合上下文信息和注意力的上采样模块,采用亚像素卷积对注意力增强的通道特征进行重组,从而得到细节更丰富的高分辨率特征图。

常用的上采样方法包括最近邻上采样和双线性上采样,它们仅仅利用像素的空间位置关系来生成新的像素,感受野通常非常小。亚像素上采样则是将原来低分辨的特征图均匀划分为N个小格,利用相对应的N个特征图按规则填充这些小格,在这一过程中模型可以通过调整通道的权重来不断优化生成的结果。为了提高颈部网络对于小目标的检测精度,该文在FPN中引入融合注意力机制和上下文信息的上采样结构(FAC-UpSample),如图3所示。

图3 FAC-UpSample模块结构

图4 解耦检测头结构

FAC-UpSample上采样模块由两部分组成,第一部分为注意力模块,对于形状为H×W×C的深层特征图x,经过坐标注意力模块融合空间信息,得到形状相同的特征图x'。

最后对原特征图x上以点l为中心的kup×kup大小的邻域,与预测得到的上采样核ωl'作点积,得到最终输出的高分辨率特征图x'',其中r=⎣kup」,同一位置l的不同通道共享同一个上采样核:

(7)

由此,输出特征图的每个像素点都充分利用了周围区域的信息,通过这样的特征重组并加入通道增强,相比网络原来采用的最邻近上采样,FAC-UpSample使得特征图具有更大的感受野,语义信息也更加丰富。

2.3 解耦检测头

渔桩小目标在图像中覆盖面积小,其边界框的定位相对更加困难,像素点的偏移对小目标的影响也远大于大尺度目标。并且大多数的目标检测器在训练过程中采用锚框来匹配目标,而小目标匹配到的锚框数量远低于其他尺度目标,导致模型对小目标的关注度低。

实际上目标检测网络分类和定位任务的关注点并不相同,分类更加关注所提取的纹理内容,而定位更加关注边缘信息。该文在头部网络(Head)采用解耦检测头(Decoupled Head)代替耦合头部(Coupled Head),提高小目标的定位准确度。

DecoupledHead会先通过1×1的CBL模块将颈部网络输出特征图的通道数降为256,以降低计算量,随后再使用两个并行的分支,每个分支分别经过2个CBL卷积层,形成分类检测头和回归检测头。解耦检测头将检测任务解耦合从而避免了两个任务之间的冲突,提高了网络定位小目标边界框的能力。

2.4 R-CIoU损失函数

除了学习目标本身可判别的特征外,训练过程中定位损失函数对小目标检测任务来说也很重要。然而位置准确度指标对于像素少的小目标十分敏感,轻微的位置偏移就会导致其预测框与标定框之间的误差急剧增大。因此提出R-CIoU损失函数,缓解位置偏移对小目标的剧烈影响。

CIoU[12]全称全局交并比(Complete Intersection over Union),是用来评价目标检测算法边界框准确度的标准,如图5,CIoU在IoU的基础上充分考虑了框的重叠面积、中心点之间的距离以及长宽比,加快了网络的收敛速度,提升了模型的精度。该文提出的R-CIoU在此基础上针对小目标的位置敏感性改进中心点间距的表示方式,其计算公式如下:

图5 CIoU示意图

(8)

其中,ρ(b,bgt)为预测框与真实框中心点之间的欧氏距离的开方,c为预测框与真实框的最小闭包区域的对角线距离。

(9)

(10)

(w,h)(wgt,hgt)分别为预测框和真实框的宽和高;v为衡量长宽比一致性的惩罚项,使得预测框快速接近目标框的同时,预测框的长宽比也快速接近目标框,提高模型预测位置的准确度。

3 实验结果与分析

3.1 数据预处理

该文主要针对海面违法渔桩进行无人机视频采集,对采集到的视频数据进行初步筛选和划分,等间隔抽取视频帧得到数据集,共计380张图像,分辨率为640×640,其中训练集和验证集的数量为8∶2。将数据集按照模型读取数据的要求,使用LabelImg软件进行标注,如图6(a)。渔桩目标像素少且长宽比跨度大,模型漏检率高,因此通过轮廓检测和调整长宽比,连接小目标的特征和上下文的特征增加小目标的信息,改善标签质量,使模型能够更好地检测目标,新的标签如图6(b),将其称为IFPS数据集。

图6 标签添加上下文信息

3.2 实验环境

实验操作系统为Windows 10,CPU为AMD Ryzen7 5800X,GPU为Nvidia GeForce GTX 3080,采用的集成开发环境是Anaconda3,深度学习框架为Windows 10系统下的PyTorch深度学习框架,开发环境为Python 3.8,PyTorch 1.8.0,CUDA 11.1。为了保证训练结果的有效性,算法的消融实验均在同一训练参数下进行,模型的具体参数值设置如表1所示。

表1 消融实验训练参数

3.3 模型性能评价指标

为了准确分析模型的性能,采用平均精度(Average Precision,AP)、平均召回率(Average Recall,AR)、平均精度均值(mean Average Precision,mAP)以及每秒识别的图像帧数(Frame Per Second,FPS)作为评价指标。计算公式分别如下:

(11)

(12)

(13)

(14)

其中,TP、FP、FN分别表示测试正样本被预测为正样本、负样本被预测为负样本以及正样本被预测为负样本的目标数量,APi表示单类别精确率,N表示类别的数量。

3.4 实验结果与分析

3.4.1 对比分析实验

该文将AECA-YOLO模型与现有的主流目标检测模型Faster-RCNN[13]、SSD[14]、Centernet[15]、YOLOv3[16]和YOLOv5在数据集IFPS上进行对比分析,对比不同模型的mAP、AR指标以及FPS,验证AECA-YOLO的高效性。对比实验结果如表2所示,其中为了对比YOLO系列模型性能,统一采用最浅的网络主干深度与宽度,名称后以s作为标记。Faster-RCNN是最重要的两阶段检测算法之一,包括深度全卷积和Fast-RCNN检测器两个模块,分别用以选择性搜索生成候选框和计算分类与回归,虽精度较高但算法最为复杂,检测速度较慢;SSD作为一阶段检测器,综合了Faster RCNN和YOLO的优缺点,加入特征金字塔,精度和速度都有明显的优势;Centernet是一种Anchor-free的目标检测算法,去除了锚框和后处理操作,然而对于下采样后中心点重叠的目标则无法区分,因此效果较差;YOLOv1是一种只用一个CNN网络实现的端到端目标检测算法,YOLOv2在YOLOv1的基础上提升了定位精度和召回率,YOLOv3是在YOLOv2的基础上对骨干网络和分类方法进行改进,YOLOv5则进一步通过数据增强、采用Focus和CSP结构、引入FPN+PAN等方法提升性能,虽然在精度和召回率上有不同提升,但仍然达不到应用需求。由表2可以看出,该文提出的算法在检测精度、召回率以及识别速度三个方面均优于主流的目标检测算法。

表2 主流目标检测模型在IFPS上的表现

3.4.2 消融实验

为了进一步证实AECA-YOLO算法中各个改进对检测模型的优化效果,在YOLOv5基础上逐步添加改进措施进行消融实验,实验结果的数据对比如表3,训练过程中精度和召回率的变化趋势如图7所示。

图7 消融实验过程中性能变化折线图

分析表3和图7得,在渔桩标签中添加上下文信息后,模型的漏检率有了明显的下降,召回率提升了16.22百分点,mAP也得到了27.64百分点的提升;在骨干网络末端添加坐标注意力机制加强了网络的提取通道特征的能力,有效减少背景噪声的干扰,使得精度和召回率都有小幅提升;采用新的解耦检测头后,网络的定位回归能力有了明显的提升,召回率提高了2.4%,并且网络收敛速度加快、训练过程更加稳定,但精度略有下降;在颈部网络的金字塔结构引入融合注意力的亚像素上采样模块后,精度提升至91.11%;最后对损失函数进行优化,改善渔桩目标的位置敏感性,模型的精度和召回率都达到了最高值。图8依次为消融实验得到的后六种模型的最后一次迭代检测框的分布,可以直观看出模型减轻了背景噪声的干扰,更加关注于渔桩目标,极大地降低了误检率和漏检率。综合上述五种改进后,相对于原始的YOLO模型,提出的优化模型AECA-YOLO在基本保持原有检测速度的基础上,有效地将平均检测精度提高了29.7百分点,召回率提高了18.9百分点,FPS为52.37,满足实时检测帧率大于25的要求,说明改进算法AECA-YOLO更具实用性。

图8 消融实验模型预测框分布

4 结束语

将目标检测技术应用于海面渔桩的识别与定位,是渔政执法智能化的迫切需求。为实现渔桩小目标的快速识别和准确定位,将坐标注意力和上下文信息融入YOLOv5目标检测算法中,提高模型对渔桩目标的关注度以及位置敏感性,增强模型的检测性能。改进的方法平均精度达到94.50%,召回率达到97.30%,速度为52.37 FPS,满足了实际应用场景中高效率和高精度的要求。但是该方法给网络增加了冗余,导致训练模型较大,推理速度较慢,在未来工作中,在增强算法鲁棒性的同时,优化网络结构,对网络进行轻量化改造,使其可以部署于移动终端。

猜你喜欢
注意力特征模块
28通道收发处理模块设计
“选修3—3”模块的复习备考
让注意力“飞”回来
如何表达“特征”
不忠诚的四个特征
抓住特征巧观察
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
线性代数的应用特征
集成水空中冷器的进气模块