APP下载

低空无人机实时探测的GCB-YOLOv5s算法

2023-08-02杨辉跃容易圣简钰洪贾轶钧

兵器装备工程学报 2023年7期
关键词:网络结构注意力卷积

杨辉跃,容易圣,简钰洪,贾轶钧

(陆军勤务学院, 重庆 401331)

0 引言

近年来,随着相关技术不断进步,无人机体积小、价格低、灵活度高、操作简便等特点越来越显著,在航拍、植保、救援、物流各领域都有了广泛的应用。但是,也正由于这些特点,导致无人机在“黑飞”“滥飞”,以及他国非法军事行动等方面问题较为普遍,对国家安全、人身安全、个人隐私等造成了巨大隐患。因此,对无人机进行快速而高效的实时检测至关重要。

反无人机监测主要有雷达探测、射频探测、声波探测及视觉探测等方式[1-2]。雷达探测方法主要利用回波的多普勒频移信息,但由于电磁波传播特性、微小型无人机回波信号微弱等原因,雷达探测一般存在低空盲区、近距盲区等。在低空/超低空域,环境噪声对声波探测影响较大。射频探测主要利用无人机与控制中心之间的通信信号,然而通信协议的不明确限制了射频探测准确性。视觉探测利用摄像机获取监控区域的视频,通过图像特征进行实时处理实现对无人机的监测。相较而言,视觉探测虽然难以实现精准定位,受光线及环境遮挡影响大,但其系统成本低、探测速度快、探测精度高、监控区域大、适用场景广,通过合理布设,能够满足日间复杂环境下低空域无人机实时监控[3-4]。

实现视觉目标检测主要有传统目标检测和深度学习目标检测等2类算法。传统目标检测方法根据需求提取识别特征,而后通过训练浅层分类器对目标进行检测识别,此类方法在形态多样、姿态多变的目标检测中效果不佳。深度学习的目标检测算法主要分为2类:一类是基于候选区的二阶目标检测算法(Two-Stage),二阶段深度学习算法将目标检测划分为候选区域生成、候选区域分类与边界框调整2个阶段,代表有RCNN,Fast-RCNN,Faster-RCNN,以及Mask RCNN算法等[5-9],二阶算法的检测精度较高,但是检测速度较慢,难以做到实时检测;另一类是基于回归的一阶目标检测算法(one-stage),该算法不需要先产生目标候选区,而是将图像中的所有位置均视作潜在目标,通过神经网络直接产生目标的类别与位置,主要代表有Anguelov等[10]提出的SSD,Redomn等[11-12]提出的YOLO算法,这类算法检测速度快,但检测的精度相较于Two-Stage算法稍有缺陷。其中Glen Jocher基于YOLOv3算法进行了优化,提出了YOLOv5算法,引入近年来新的优秀算法对网络结构各部分进行了优化,进一步提高了预测的精确度和速度。因YOLO算法在目标检测方面的优势,已在低空无人机探测中得到初步应用和关注[13-18]。

然而,在实际应用中,不仅要考虑算法的精测精度,还需要考虑计算的实时性,以及嵌入式平台的储存空间等问题。为此,本文中针对上述问题,提出了一种低空无人机实时探测的GCB-YOLOv5s算法。

1 算法设计

1.1 BCB-YOLOv5s算法总体结构

YOLOv5算法有YOLOv5n、YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x等5种网络结构,大小依次递增。本文根据实时性和精确性需求,选择对YOLOv5s的Bacnkbone及Neck部分进行改进,即使用Ghostnet[9]轻量级网络代替YOLOv5backbone部分原有的CBL结构,以减少卷积层数,提高运算速度;在YOLO算法backbone部分引入了CA注意力机制,提升模型无人机检测准确性;使用加权双向金字塔网络BiFPN,代替neck部分的PANet结构,更加合理应用不同分辨率特征,提升不同距离无人机检测效果。改进后形成GCB-YOLOv5s算法(G表示Ghostnet、C表示CA注意力机制、B表示BiFPN),网络结构仍然分为输入端、backbone、Neck和Prediction等4个部分,如图1所示。

图1 GCB-YOLOv5s网络结构

GCB-YOLOv5s算法用Ghost Conv替换了原网络的组件CBL(Conv为卷积层,BN为批归一化层,Leaky relu为激活函数),并使用以此改进原网络的CSP网络结构,得到的C3Ghost_X组件。较大地减少了网络的参数量和计算量。

Backbone部分使用了改进的C3Ghost_X组件,并在尾部引入了CA注意力机制。网络结构由Conv卷积、GCSP组件、CA注意力机制模块及SPP模块构成。第一个Conv卷积用于下采样,将输入的608*608*3原始图像先变为304*304*32的特征图,能够减少加算量以加快网络速度。C3Ghost_X在backbone中共有4个,其中X代表GB组件个数,作用是防止在卷积过程中产生梯度爆炸和网络退化等问题。CA注意力机制模块对前期所得特征张量进行转化。SPP模块采用1×1、5×5、9×9、13×13最大池化的方式,对所得特征图像进行多尺度融合。CA注意力机制及SPP均主要旨在增强网络的特征表达能力。

Neck部分用BiFPN替换YOLOv5的PANet特征图像金字塔,进一步加强了不同层次的特征信息融合。BiFPN中不同分辨率的特征信息融合前会先进行加权处理。使用C3Ghost_X组件进行特征信息融合。C3Ghost_X组件前面的Ghost Conv2组件步长为2,相当于下采样操作。图像经过YOLOv5网络处理后,得到3种不同尺寸的输出,分别预测不同尺寸的目标。

1.2 轻量级GhostNet网络

在深度学习卷积神经网络中,有许多特征层之间是相似的,这些相似特征层能够全面表达输入数据,但正因为相似,所以没必要用过多的FLOPs和参数去生成,不用全部都去卷积,直接拿出一部分作为相似特征层。其原理如图2所示。使用Ghost结构不影响结果的通道数,运算分3步:第1步,进行少量卷积(卷积核数量为原先的1/s);第2步,将少量卷积结果再进行一次卷积;第3步,将前2步所得进行Concat。

图2 GhostNet原理图

比较两者性能,使用普通卷积:

param=k2×c×n

(1)

cost=h′×w′×n×k2×c

(2)

而使用GhostNet:

式(1)—(4)中:param为参数量;cost为计算量;k为卷积核尺寸;c为输入特征层通道数;h′、w′、n分别为输出特征层高、宽和通道数。可得出,GhostNet的参数量和计算量均为普通卷积的1/s。利用Ghost模块优势设计的Ghost bottleneck网络结构如图3所示。

图3 Ghost bottleneck网络结构

本文结合实际需求将Ghost网络参数s设置为2,设计了Ghost Conv和C3Ghost组件,大幅减少了参数量,加快了运算速度。

1.3 CA注意力机制

CA(coordinate attention)机制是一种高效注意力机制,它将神经网络中任意特征张量X=[x1,x2,…,x3]∈RH×W×C进行转换后输出同样尺寸的特征张量,其过程在对张量不同卷积通道的特征信息加权时,沿着另一个空间方向精确保留了位置信息,实现了通道和空间的融合,并且计算开销较小,能够用于轻量级网络中。其实现过程如图4所示。

图4 CA机制实现流程

输入特征张量通道数为C,宽度为W,高度为H。将输入特征图分为宽度和高度2个方向分别进行全局平均池化,分别获得在宽度和高度2个方向的特征图,计算公式为:

接着将获得的宽度和高度2个方向的特征图拼接在一起,将所有通道拼接所得特征图进行卷积,卷积核参数为[C/r,1,1],然后将经过批量归一化处理的特征图F1送入Sigmoid激活函数得到形如1×(W+H)×C/r的特征图f,计算公式为:

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

(7)

接着将特征图f按照原高度和宽度进行切割,而后进行卷积运算,卷积核参数为[C/r,1,1],分别得到通道数与原来一样的特征图Fh和Fw,经过Sigmoid激活函数后分别得到特征图在高度和宽度上的注意力权重gh和gw,计算公式为:

gh=σ(Fh(fh))

(8)

gw=σ(Fw(fw))

(9)

最后将原始图像进行乘法加权计算,得到在高度和宽度上带有注意力权重的特征图。

在backbone末端引入CA机制对特征图进行处理,以提高检测准确率。输入特征张量的通道数为1 024,宽度为19,高度为19,通过试验,参数r取32。

1.4 加权双向特征金字塔BiFPN

用FPN特征金字塔进行特征融合时,平等地对待每个输入特征图,忽视了不同分辨率输入特征对特征融合贡献的不平等性。BiFPN特征金字塔网络引入了可学习的权重参数,能够学习不同输入特征的重要性,同时还在同一尺度输入和输出节点间增加了跳跃连接,形成了一种残差结构,进一步加强了特征融合效果。

BiFPN特征金字塔网络结构如图5所示。蓝色箭头为自顶向下的通路,传递的是高层特征的语义信息;红色部分表示自底向上的通路,传递的是低层特征的位置信息;紫色箭头是上述第2点提到的同一层在输入节点和输出节点间新加的一条边。

图5 BiFPN特征金字塔结构

本文将YOLOv5算法neck部分的PANet特征金子塔用BiFPN结构进行优化。步骤如图6所示,将只有一个输入边并且没有特征融合的节点删除;而后在同一级别的原始输入与输出节点添加一条额外的路径连接;最后对每条路径新增了权重参数w。加权融合方式采取快速归一化融合,即

图6 YOLOv5 PANet结构转换示意图

式中:wi为大于0的学习权重;ε=0.000 1为一个很小的值来避免数值不稳定。

1.5 网络结构对比

与经典YOLOv5算法相比,经过改进后GCB-YOLOv5s算法的网络结构在参数量、浮点计算量上均有较大减少,如表1所示,参数量减少了39%,浮点数计算量减少了44%。

表1 YOLOv5与GCB-YOLOv5s网络结构对比

2 实验结果及分析

2.1 数据集建立

数据集构建采用网络公开数据Drone Dataset (UAV)和现地采集的方式,数据集规模为3 361张,数据集中无人机以常见的多旋翼、固定翼无人机为主体,共3 058张,补充鸟类、飞行昆虫为相似干扰物,共303张。设置建筑、云层、树木、阴暗条件等4类复杂背景条件,以及弱小目标检测及相似物干扰2种常见情况,确保数据完备性。基础数据情况如图7所示。

图7 基础数据集片段

在实际检测中,大部分无人机在捕获图像中为弱小目标,而其相似物体开源图像中大多为特写,全部自主拍摄又难以满足数据丰富性要求,因此将部分特写图片中的目标进行缩小处理,以符合实际特征情况,增加数据集的丰富性。算法输入图像大小为640像素*640像素,图像缩小后空白区域以纯色填充,如图8所示。

图8 基础数据变换情况

利用Labelimg图像目标标注软件对图片进行人工标注。采用旋转的方法扩增样本数量,单次旋转角度为90°,扩增后,得到样本数量13 444张。而后按照8∶2的比例,随机划分为训练集和测试集。

2.2 实验环境

实验平台:操作系统linuxubuntu,处理器AMD EPYC 7543 32-Core Processor,内存30G,显卡RTX A5000,显存16G;实验软件为PyCharm 2020,Pytorch1.11,Python 3.9。

2.3 训练策略

实验数据采用无人机目标数据集,按8∶2比例随机划分训练集和验证集。在训练中使用Mosaic数据增强,即将4张训练图像进行随机缩放、裁剪,并进行随机排布拼接作为输入,如图9所示,以此丰富图片的背景,变相提高训练Batch Size,提升小目标检测的准确性和鲁棒性;学习率采用余弦退火方式调节,确保学习率两端低、中间高,兼顾学习效果与速度。

图9 数据增强图例

2.4 评价指标

采取消融实验的方式对比算法结构更改效果,对无人机检测模型使用精确率Pp(precision)、召回率Pr(recall)、F1进行评估,表示式为:

Pp=NTP/(NTP+NFP)

(12)

Pr=NTP/(NTP+NFN)

(13)

F1=2×Pr×Pp/(Pr+Pp)

(14)

式(12)—(14)中:NTP表示实例为正预测也为正的数量;NFP表示实例为负预测为正的数量;NFN表示实例为负预测也为负的数量。

2.5 实验结论

通过验证集对训练的网络模型检测效果进行验证。GCB-YOLOv5s迭代训练至曲线收敛,其准确率和召回率增长情况如图10所示。

图10 GCB-YOLOv5s训练过程

图11给出了GCB-YOLOv5s网络在复杂条件下目标检测结果(为便于观察,本文按照3∶1边长比例裁剪出图像的部分内容)。针对复杂背景远距离小目标无人机,算法检测的平均置信度在建筑物背景下为0.81,树木背景0.86,云层背景0.78,阴暗背景0.76,可见GCB-YOLOv5s能够准确实现无人机检测,并且在肉眼较难分辨的复杂条件下具有良好的鲁棒性。

图11 GCB-YOLOv5s检测结果例图

在消融实验中,对比的网络模型分别为:YOLOv5s、YOLOv5s+Ghostnet(G-YOLOv5s)、YOLOv5s+Ghostnet+CA(GC-YOLOv5s)、YOLOv5+Ghostnet+CA+BiFPN(GCB-YOLOv5s)。在迭代训练中,选取F1指标最优结果进行对比,其结果如表2所示。

表2 消融实验结果

消融实验对比结果表明,在无人机目标较小、背景环境复杂、飞鸟等物体干扰的条件下,用GhostNet替换普通卷积,引入CA注意力机制模块,BiFPN加权特征金子塔替换PANet,相较于Yolov5s算法,本文中提出的无人机检测GCB-YOLOv5s算法在保持较高精度的同时,在实时性上也有了较大的提升。在CPU(12th Gen Intel Core i5-12600KF)上,YOLOv5s算法的fps(Frame per second,画面每秒传输帧数)为4.4,GCB-YOLOv5s算法为4.6;在GPU(NVIDIA GeForce RTX 3070)上,YOLOv5s算法的fps为48.38,GCB-YOLOv5s算法为53.97。说明GCB- YOLOv5s是一种兼顾检测速率与精度的算法模型,适用于无人机的高清视频监控。

3 结论

本文中提出的低空无人机实时探测的GCB-YOLOv5s算法,能有效提高低空无人机探测的准确性和实时性。

1) 使用Ghostnet轻量级网络代替YOLOv5backbone部分原有的CBL结构以减少卷积层数,提高运算速度。

2) 在YOLO算法backbone部分引入了CA注意力机制,提升模型无人机检测准确性。

3) 使用加权双向金字塔网络BiFPN[11],代替neck部分的PANet结构,更加合理应用不同分辨率特征,提升不同距离无人机检测效果。

4) 通过现地拍摄和公开数据,构建了包括在建筑、云层、树木、阴暗等不同复杂背景下的无人机飞行姿态实验数据集,训练和测试结果表明:GCB-YOLOv5s在参数量和浮点数计算量上均减少了近40%,且可达96.7%的精确率、96.4%的召回率和97.5%的平均精度。

猜你喜欢

网络结构注意力卷积
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
基于互信息的贝叶斯网络结构学习
知识网络结构维对于创新绩效的作用机制——远程创新搜寻的中介作用
沪港通下A+ H股票网络结构演化的实证分析
复杂网络结构比对算法研究进展