智能光电检测技术专栏
专栏主编:刘勇(电子科技大学 研究员级高级工程师、西南科技大学 博导)
导语:智能光电检测技术在国防科技、工业检测等领域发挥着重要的作用,本期发表的智能光电检测专栏文章,涵盖自适应数字伪装、空域飞机尾流快速识别、微观芯片字符识别、复杂环境多猫眼目标识别等研究内容,文章不仅对检测算法的模型效果进行了创新提高,同时针对硬件上的算法部署进行了优化、为今后系统化应用奠定基础。本专栏的内容也为后续智能光电检测相关研究及拓展应用提供很好的思路及方法。
近年来,随着相关技术不断进步,无人机体积小、价格低、灵活度高、操作简便等特点越来越显著,在航拍、植保、救援、物流各领域都有了广泛的应用。但是,也正由于这些特点,导致无人机在“黑飞”“滥飞”,以及他国非法军事行动等方面问题较为普遍,对国家安全、人身安全、个人隐私等造成了巨大隐患。因此,对无人机进行快速而高效的实时检测至关重要。
反无人机监测主要有雷达探测、射频探测、声波探测及视觉探测等方式[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算法。
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网络结构
Fig.1 GCB-YOLOv5s network structure
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种不同尺寸的输出,分别预测不同尺寸的目标。
在深度学习卷积神经网络中,有许多特征层之间是相似的,这些相似特征层能够全面表达输入数据,但正因为相似,所以没必要用过多的FLOPs和参数去生成,不用全部都去卷积,直接拿出一部分作为相似特征层。其原理如图2所示。使用Ghost结构不影响结果的通道数,运算分3步:第1步,进行少量卷积(卷积核数量为原先的1/s);第2步,将少量卷积结果再进行一次卷积;第3步,将前2步所得进行Concat。
图2 GhostNet原理图
Fig.2 GhostNet schematic
比较两者性能,使用普通卷积:
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网络结构
Fig.3 Ghost bottleneck network structure
本文结合实际需求将Ghost网络参数s设置为2,设计了Ghost Conv和C3Ghost组件,大幅减少了参数量,加快了运算速度。
CA(coordinate attention)机制是一种高效注意力机制,它将神经网络中任意特征张量X=[x1,x2,…,x3]∈RH×W×C进行转换后输出同样尺寸的特征张量,其过程在对张量不同卷积通道的特征信息加权时,沿着另一个空间方向精确保留了位置信息,实现了通道和空间的融合,并且计算开销较小,能够用于轻量级网络中。其实现过程如图4所示。
图4 CA机制实现流程
Fig.4 Implementation process of CA mechanism
输入特征张量通道数为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。
用FPN特征金字塔进行特征融合时,平等地对待每个输入特征图,忽视了不同分辨率输入特征对特征融合贡献的不平等性。BiFPN特征金字塔网络引入了可学习的权重参数,能够学习不同输入特征的重要性,同时还在同一尺度输入和输出节点间增加了跳跃连接,形成了一种残差结构,进一步加强了特征融合效果。
BiFPN特征金字塔网络结构如图5所示。蓝色箭头为自顶向下的通路,传递的是高层特征的语义信息;红色部分表示自底向上的通路,传递的是低层特征的位置信息;紫色箭头是上述第2点提到的同一层在输入节点和输出节点间新加的一条边。
图5 BiFPN特征金字塔结构
Fig.5 BiFPN feature pyramid structure
本文将YOLOv5算法neck部分的PANet特征金子塔用BiFPN结构进行优化。步骤如图6所示,将只有一个输入边并且没有特征融合的节点删除;而后在同一级别的原始输入与输出节点添加一条额外的路径连接;最后对每条路径新增了权重参数w。加权融合方式采取快速归一化融合,即
图6 YOLOv5 PANet结构转换示意图
Fig.6 Diagram of YOLOv5 PANet structure conversion
式中:wi为大于0的学习权重;ε=0.000 1为一个很小的值来避免数值不稳定。
与经典YOLOv5算法相比,经过改进后GCB-YOLOv5s算法的网络结构在参数量、浮点计算量上均有较大减少,如表1所示,参数量减少了39%,浮点数计算量减少了44%。
表1 YOLOv5与GCB-YOLOv5s网络结构对比
Table 1 Comparison of network structures between YOLOv5 and GCB-YOLOv5s
算法网络层数网络参数量浮点数计算量YOLOv5s2707 235 38916.2GGCB-YOLOv5s4814 464 60511.6G
数据集构建采用网络公开数据Drone Dataset (UAV)和现地采集的方式,数据集规模为3 361张,数据集中无人机以常见的多旋翼、固定翼无人机为主体,共3 058张,补充鸟类、飞行昆虫为相似干扰物,共303张。设置建筑、云层、树木、阴暗条件等4类复杂背景条件,以及弱小目标检测及相似物干扰2种常见情况,确保数据完备性。基础数据情况如图7所示。
图7 基础数据集片段
Fig.7 Examples of basic data set
在实际检测中,大部分无人机在捕获图像中为弱小目标,而其相似物体开源图像中大多为特写,全部自主拍摄又难以满足数据丰富性要求,因此将部分特写图片中的目标进行缩小处理,以符合实际特征情况,增加数据集的丰富性。算法输入图像大小为640像素*640像素,图像缩小后空白区域以纯色填充,如图8所示。
图8 基础数据变换情况
Fig.8 Transformation of basic data set
利用Labelimg图像目标标注软件对图片进行人工标注。采用旋转的方法扩增样本数量,单次旋转角度为90°,扩增后,得到样本数量13 444张。而后按照8∶2的比例,随机划分为训练集和测试集。
实验平台:操作系统linuxubuntu,处理器AMD EPYC 7543 32-Core Processor,内存30G,显卡RTX A5000,显存16G;实验软件为PyCharm 2020,Pytorch1.11,Python 3.9。
实验数据采用无人机目标数据集,按8∶2比例随机划分训练集和验证集。在训练中使用Mosaic数据增强,即将4张训练图像进行随机缩放、裁剪,并进行随机排布拼接作为输入,如图9所示,以此丰富图片的背景,变相提高训练Batch Size,提升小目标检测的准确性和鲁棒性;学习率采用余弦退火方式调节,确保学习率两端低、中间高,兼顾学习效果与速度。
图9 数据增强图例
Fig.9 Image data enhancement
采取消融实验的方式对比算法结构更改效果,对无人机检测模型使用精确率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表示实例为负预测也为负的数量。
通过验证集对训练的网络模型检测效果进行验证。GCB-YOLOv5s迭代训练至曲线收敛,其准确率和召回率增长情况如图10所示。
图10 GCB-YOLOv5s训练过程
Fig.10 Training of the GCB-YOLOv5s
图11给出了GCB-YOLOv5s网络在复杂条件下目标检测结果(为便于观察,本文按照3∶1边长比例裁剪出图像的部分内容)。针对复杂背景远距离小目标无人机,算法检测的平均置信度在建筑物背景下为0.81,树木背景0.86,云层背景0.78,阴暗背景0.76,可见GCB-YOLOv5s能够准确实现无人机检测,并且在肉眼较难分辨的复杂条件下具有良好的鲁棒性。
图11 GCB-YOLOv5s检测结果例图
Fig.11 Detection result of GCB-YOLOv5s
在消融实验中,对比的网络模型分别为:YOLOv5s、YOLOv5s+Ghostnet(G-YOLOv5s)、YOLOv5s+Ghostnet+CA(GC-YOLOv5s)、YOLOv5+Ghostnet+CA+BiFPN(GCB-YOLOv5s)。在迭代训练中,选取F1指标最优结果进行对比,其结果如表2所示。
表2 消融实验结果
Table 2 Results of ablation experiment
算法Pp/%Pr/%F1/%FlopsYOLOv5s97.497.698.316.2GG-YOLOv5s96.294.296.78.3GGC-YOLOv5s95.495.396.98.4GGCB-YOLOv5s96.796.497.511.6G
消融实验对比结果表明,在无人机目标较小、背景环境复杂、飞鸟等物体干扰的条件下,用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是一种兼顾检测速率与精度的算法模型,适用于无人机的高清视频监控。
本文中提出的低空无人机实时探测的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%的平均精度。
[1] 任媛媛,高一栋,焦幕卿.无人机发展应用及反无手段研究[J].火控雷达技术,2022,51(1):27-39.
REN Yuanyuan,GAO Yidong,JIAO Muqing.Research on development and application of UAVs and counter-UAV means[J].Fire Control Radar Technology,2022,51(1):27-39.
[2] 魏瑞歌.基于深度学习的无人机小目标检测算法研究[D].成都:电子科技大学,2022.
WEI Ruige.Small target detection algorithm of UAV based on deep learning[D].Chengdu:Master Thesis,University of Electronic Science and Technology of China,2022.
[3] 谢家阳,王行健,史治国,等.动态云台摄像机无人机检测与跟踪算法[J].智能系统学报,2021,16(5):858-869.
XIE Jiayang,WANG Xingjian,SHIZhiguo,et al.Drone detection and tracking in dynamic pan-tilt-zoom cameras[J].CAAI Transactions on Intelligent Systems,2021,16(5):858-869.
[4] PAYAL M,RAMAN S,AKASHDEEP S.Deep learning-based object detection in low-altitude UAV datasets:A survey[J].Image and Vision Computing,2020 (104):104046.
[5] REN S,HE K,GIRSHICK R,et al.Faster R-CNN:Towards real-time object detection with region proposal networks[J].IEEE Transactions on Pattern Analysis &Machine Intelligence,2017,39(6):1137-1149.
[6] PAYAL M,AKASHDEEP S,RAMAN S,et al.Dilated convolution based RCNN using feature fusion for low-altitude aerial objects[J].Expert Systems With Applications,2022 (199):117106.
[7] REN X,SUN M,ZANG X F,et al.An improved mask-RCNN algorithm for UAV TIR video stream target detection[J].International Journal of Applied Earth Observations and Geoinformation,2022 (106):102660.
[8] YHU,XU T K,PENG L,et al.Faster-RCNN based intelligent detection and localization of dental caries[J].Displays,2022 (72):102201.
[9] 王君,张德育,康鑫英.改进Faster-RCNN的低空小型无人机检测方法[J].沈阳理工大学学报,2021,40(4):23-28.
WANG Jun,ZHANG Deyu,KANG Xinying.Improved detection method of low altitude small UAV by faster-RCNN[J].Journal of Shenyang Ligong University,2021,40(4):23-28.
[10] LIU W,ANGUELOV D,ERHAN D,et al.SSD:Single shot multi box detector[C]//Proc.of the European Conference on Computer Vision,2016:21-37.
[11] REDMON J,DIVVALA S,GIRSHICK R,et al.You Only Look Once:Unified,Real-Time Object Detection[C]//Proc.of the IEEE Conference on Computer Vision and Pattern Recognition,IEEE,2016.
[12] REDMON J,FARHADI A.YOLOv3:An incremental improvement[EB/OL].(2018-04-08)[2022-10-12].https://arxiv.org/abs/1804.02767.
[13] 耿创,宋品德,曹立佳.YOLO 算法在目标检测中的研究进展[J].兵器装备工程学报,2022,43(9):162-173.
GENG Chuang,SONGPinde,CAOLijia.Research progress of YOLO algorithm in target detection[J].Journal of Ordnance Equipment Engineering,2022,43(9):162-173.
[14] 马旗,朱斌,张宏伟,等.基于优化YOLOv3的低空无人机检测识别方法[J].激光与光电子学进展,2019,56(20):1-7.
MA Qi,ZHU Bin,ZHANG Hongwei,et al.Low-altitude UAV detection and recognition method based on optimized YOLOv3[J].Laser &Optoelectronics Progress,2019,56(20):1-7.
[15] 祁江鑫,吴玲,卢发兴,等.基于改进YOLOv4算法的无人机目标检测[J].兵器装备工程学报,2022,43(6):210-217.
QI JiangXin,WU Ling,LU Faxing,et al.UAV cluster detection based on improved YOLOv4 algorithm[J].Journal of Ordnance Equipment Engineering,2022,43(6):210-217.
[16] 赵玥萌,刘会刚.基于优化 YOLOv4 算法的低空无人机检测与跟踪[J].激光与光电子学进展,2022,59(12):1-10.
ZHAO Yuemeng,LIU Huigang.Detection and tracking of low-altitude unmanned aerial vehicles based on optimized YOLOv4 algorithm[J].Laser &Optoelectronics Progress,2022,59(12),1215017:1-10.
[17] 包文岐,谢立强,徐才华,等.基于YOLOv5的微小型无人机实时探测方法[J].兵器装备工程学报,2022,43(5):232-237.
BAO Wenqi,XIE Liqiang,XU Caihua,et al.A Real-time detection method of micro UAV based on YOLOv5[J].Journal of Ordnance Equipment Engineering,2022,43(5):232-237.
[18] 奉志强,谢志军,包正伟,等.基于改进YOLOv5 的无人机实时密集小目标检测算法[J].航空学报,2023,44(3):327106.
FENG Zhiqiang,XIE Zhijun,BAO Zhengwei,et al.Real-time dense small object detection algorithm for UAV based on improved YOLOv5[J].ActaAeronautica et AstronauticaSinica,2023,44(3):327106.