基于改进SSD和ISESAM融合的无人机弱小目标检测方法*

2023-12-11 12:10张银环薛静云王宁宁韩泽佳
舰船电子工程 2023年9期
关键词:精度函数特征

张银环 薛静云 王宁宁 韩泽佳

(1.渭南职业技术学院建筑工程学院 渭南 714000)(2.西安工业大学机电工程学院 西安 710021)

1 引言

目标检测在人脸识别、门禁考勤、过闸乘车等方面具有重要的应用价值,被国内外学者和研究人员密切关注[1]。目标检测实质是找到一种将图像转换为特征空间的方法,即特征提取方法[2]。常见目标检测方法分两类:一类是通过传统机器学习算法提取;另一类是通过深度神经网络方法提取。在计算机视觉领域,利用卷积神经网络在目标检测领域取得了巨大的成就[3]。

基于深度学习的无人机目标检测算法分两类:基于R-CNN 系列的二阶段目标检测架构和基于回归的单阶段目标检测架构[4]。2014年,Grishick等[5]提出区域CNN 算法,通过使用选择性搜索(Selective Search,SS)的R-CNN 消除了对几个区域的选择,在PASCAL VOC-2007 数据集上的准确率达到67%。尽管R-CNN 方法提升了检测精度,但在无人机图像输入CNN 网络之前,需将候选框区域中的无人机图像转换为固定大小,造成图像部分特征丢失。2015年,Grishick[6]提出Faster R-CNN,使用区域建议RPN 网络替代了选择搜索算法,在PASCAL VOC2007 数据集上的准确率提升到70%。2018年Joseph Redmon[7]提出YOLOV3 算法,在TITAN GPU 上运行检测速度能超过40fps,而一般视频播放速度为26fps,因此可实现实时检测,但在PASCAL VOC-2007 准确率仅为63.4%,检测精度偏低。由于减少anchor的产生直接输出检测结果,造成检测精度不高,特别是对于一些低空无人机小目标。2016年Liu 等[8]提出SSD 算法,检测精度与Faster R-CNN相近或者更高,能对低空无人机视频实现实时检测。2022年,Jia等[9]提出轻量SSD算法对弱小目标进行检测,能够在压缩参数的同时,保证算法检测速度和检测精度,可有效实现对弱小目标的检测。然而该模型将注意力集中于较低特征层,忽略上下文的语义信息,从而对图像中部分重叠目标的检测效果有一定影响。2022年,文献[10]提出改进的YOLO 模型,在检测精度上有较大提升,然而针对弱小目标的检测,由于缺乏理论指导,检测精度仍有较大的提升空间。综之,现有方法存在较少模型参数与较高检测精度之间的矛盾,弱小目标及在遮挡环境下检测精度不高的问题。

针对以上问题,本文提出一种改进的SSD和ISESAM融合算法,以较低的计算成本换取更高的检测精度。采用轻量化MobileNetV3网络模型作为主干取代SSD 算法中的VGG 网络,以降低算法复杂性。同时突出了一个新的时空注意力(Improved Squeeze Excitation and Spatial Attention Module,ISESAM)模块代替MobileNetV3中SE 模块,从时空方面提高检测精度。最后通过实验验证本文提出改进SSD算法先进性。

2 改进SSD目标检测网络模块

改进SSD 算法由改进的MobileNetV3与额外功能层组成。研究发现低空飞行的无人机属于小目标,在检测过程中存在背景相似及飞行模糊的问题,采用轻量级MobileNetV3 网络模型作为主干取代了SSD 算法中的VGG 网络,如图1中红色标记部分,以降低算法复杂性。针对检测精度不高的问题,本文提出了一个新的时空注意力(Improved Squeeze Excitation and Spatial Attention Module,ISESAM)模块。采用通道和空间注意力机制,可以精确检测弱小目标。同时改进SSD 算法中的激活函数解决神经元“失活”的问题,从而能够在低层网络中更有效地提取图像特征。

图1 改进SSD算法框架

3 改进SSD目标检测模块

ISESAM 模块是改进的SSD 目标检测模算法核心,它是由ISE 和SAM 两模块组成,如图2所示。为避免参数爆增而导致计算消耗过负荷问题,并能充分提取图像空间特征,分别提出ISE 和SAM 模块。ISESAM模块为通道和空间包含重要信息的像素赋予较大权重,旨在提高目标检测精度。

图2 ISESAM模块结构

3.1 ISESAM模块

MobileNetV3 网络模型中的SE[11]模块仅学习了通道间特征相关性,忽略了特征空间相关性。研究表明,使用空间注意力模块可以在空间上持续检测,提升小目标检测准确率。这种方法有效的主要原因是特征图的每个元素对应原图的一个区域,对输出特征图的每个位置赋予不同的权重相当于对原图的不同区域赋予不同的影响因子。因此,本文提出改进时空注意力模块ISESAM 代替Mobile-NetV3 网络模型中的SE 模块。ISESAM 由和组成,其中,ISE 借鉴SE-block 设计思想[13~14]并对其进行改进,可为重要行为特征在通道方面赋予较大权重,检测关键特征。SAM是从空间维度关注检测重要特征的模块,ISESAM模块结构如图2所示。

Wang[12]通过实验证明attention block 中保持channel 数不变的重要性,证明了避免降维和适当的跨通道交互对于通道注意学习的重要性。同时为了避免SE 模块中存在神经元“失活”的问题,本文对SE 模块进行优化,提出改进的注意力网络结构(improved SE block,ISE block)。

3.2 ISE-block设计

ISE-block 结构,如图3所示,包括一个全局平局池化层(Global Average Pooling,GAP),2个1*1的自适应卷积层adaptive conv,一个池化层Leaky Relu,一个标准化BN 层和一个Sigmoid 激活层,共六层。其中:1)GAP 层丢弃dropout 可解决全连接层容易导致模型过拟合问题。其思想是将最后一层多层感知机(Muti Layer Perceptron,MLP)输出的每一张feature map相加求平均,如下式:

图3 SE and ISE-block对比

其中,i,j 表示每张feature map 像素点的坐标,H,W代表图像的宽、高,uc为局部描述符的集合,共c个,Zc为视频中第c帧图像像素均值的权重。因此输出的每张feature map 都形成1*1*C 向量输入至softmax 中进行分类。2)标准化(Batch Normalization,BN)层数据分布在神经网络训练阶段会产生重要影响。使用Sigmoid 激活函数,输入接近于5时已经处在激励函数的饱和阶段,而上层的Leaky Relu 输出值y'多半超过5 这一范围,因此,在Sigmoid 激活函数之前应添加BN 层。将3)ISE 模块产生的特征图H×W×C 输入到SAM 模块,设置跨通道数最佳为k=5,对输入的特征图使用空间特征关联操作,进一步提取图像空间特征[11]。最后通过Sigmoid 激活函数输出,为通道上包含重要信息的特征赋予较大权重,从而提高目标检测精度。

3.3 改进激活函数

MobileNetV3 在它的深层网络中采用了新设计的Hard-Swish激活函数,但在其浅层网络中ReLU6激活函数,当在x <0 时,ReLU6 激活函数不仅失去活性,而且可能导致梯度消失,使网络无法训练,对图像特征提取不准确。在非线性激活函数中Sigmoid函数公式如式(2)所示,Tanh函数公式如式(3)所示,ELU 函数公式如式(4)所示,Leaky-ReLU[15]函数公式如式(5)所示。

几个激活函数公式的曲线图像,如图4所示,从图中可以看出Leaky-ReLU 具有所有ReLU 的优点,并且不存在神经元“失活”问题。

图4 不同激活函数曲线

本文将Leaky-ReLU 激活函数思想与ReLU6激活函数思想结合,形成了一个新的公式Leaky-ReLU6,如下式:

由式(6)可得,组合激活函数分为三个部分,当x<0 时,函数值为αx,其中参数α是一个非常小的值,可以在模型训练过程中手动调整,找出模型效果最优的参数值,并在后续的测试过程中继续;当0 <x<6 时,函数为线性增长,当函数值上升到6时,就保持在6 不再上升,改进的Leaky-ReLU6 激活函数的图像,如图5所示。

图5 Leaky-ReLU6激活函数图像

3.4 改进后SSD模型

改进后SSD 模型详细构造见表1,表中Input代表输入层网络中图片大小;poera 代表对特征层进行的block 操作;瓶颈层Bneck 代表bottleneck layers;扩张因子为Exp;#out 表示为特征层的通道数;√表示添加了ISESAM。NL 为非线性激活函数Non-Linearity,其中HS、L-RE 分别代表Mobile-NetV3中的H-Swish和Leaky-ReLU6激活函数。

表1 改进的SSD模型具体参数

4 实验与分析

4.1 数据库

本文所建立的无人机目标检测数据库是根据检测过程中可能出现的不同飞行情况进行构建。本数据库既包括训练无人机的正样本,也包括关于鸟类和大型客机的负样本,由于没有公开的无人机数据库,本文获取的检测数据库主要是通过在公开数据集PASCAL VOC 和COCO 数据集中的无人机、鸟类和大型客机样本以及自行拍摄样本构建。

4.2 实验环境配置

实验训练以及测试显卡为Nvidia GeForce RTX1660,处理器为Intel(R)Core(TM)i5 10400F,实验操作系统为Ubuntu20.04,程序运行环境为Python3.7,计算框架版本为Cuda11.0,深度神经网络加速库为Cudnn8.0,深度学习框架为Pytorch1.6,训练中的部分超参数设置,见表2。

表2 训练超参数设置

4.3 实验结果及分析

将SSD-MobileNetV3 算法和本文算法均采用8进程数训练,初始学习率为0.0001,每隔5 步降低一次学习率,在经过256 轮的迭代后训练模型学习率稳定在0,同时训练损失达到最小,网络达到拟合状态。训练损失和学习率对比,如图6所示。

图6 训练损失和学习率对比图

其中图6(a)为SSD 算法经过迭代后的训练损失Loss 和学习率lr,图6(b)为本文算法使用Leaky-ReLU6 损失函数后的训练损失Loss 和学习率lr。通过对比发现本文算法在改进损失函数后,训练的损失能更快的降到最低,同时损失也更趋向于平稳。训练结果所产生的P-R 对比曲线,如图7所示,曲线纵坐标为精度Precision,横坐标为召回Recall,平均精度为P-R 曲线的下面积,其中图7(a)中为SSD 算法产生的P-R 曲线图,图7(b)是本文算法产生的P-R曲线图。

图7 P-R曲线对比图

通过图7 可得,改进后的SSD 算法比原SSD 算法目标检测平均精度提高了4%。通过加载训练数据集产生的权重文件对SSD 算法和本文算法进行对比检测实验。如图8所示,其中图8(a)为SSD 算法对无人机小目标检测结果,图8(b)为本文算法对无人机小目标检测结果。

图8 SSD算法与本文算法检测结果对比

通过对无人机目标飞行过程中遇到的复杂背景问题检测实验对比如图8所示,易得在遇到相似背景图(a)和图(b)左图所示时,SSD 算法与本文检测算法的检测准确率分别65%和95%。针对简单的单一背景,两种算法的检测精度分别为72%和98%,如图(a)、(b)中间图像。在最右侧图中,均为光照昏暗条件下,两种算法的检测为分别为58%和81%,说明光线对检测结果存在较大影响。经过检测精度对比结果可得,SSD 算法存在误检以及检测精度不高的问题,而改进后的SSD算法对无人机目标飞行过程中遇到的背景相似及光照不足等问题具有更好的检测结果。

为进一步证明本文算法的先进性,将本文算法与经典Faster-Rcnn、Yolov3、SSD、SSD-Mobile-NetV3 算法对比,在本文构建的无人机数据集进行训练和测试,评价指标包括检测精确度、检测速度以及模型大小三个方面,实验对比结果,见表3。

表3 与其他算法的实验结果对比

由表3 可得尽管Faster-Rcnn 和Yolov3 检测算法精确度不低,但是算法模型都较大,不适合在微型边缘计算平台上进行部署,同时Faster-Rcnn 检测算法检测速度只有9fps,达不到实时的检测要求,不符合本文对无人机实施目标检测的要求。SSD-MobileNetV3 模型参数量最少为17M,但是它的检测精确度不如本文算法。本文通过对SSDMobileNetV3 进行改进,在检测速度以及模型大小不损失太多的情况下,有效地提高了对无人机目标的检测精确度。相对于原SSD算法,虽然在检测精确度相差不大,但是在检测速度上提高了5.26%,同时模型大小减少到20M,更适合在微型边缘计算平台上执行,具有实践意义。

5 结语

本文提出一种改进的SSD 算法用于低空无人机小目标检测。针对标准的SSD 目标检测算法参数量较大、对设备计算能力需求较高等特点,在保证一定的检测精度的情况下,以SSD-MobileNetV3网络作为特征提取模块,对SSD算法进行轻量化优化。同时对低空无人机目标检测过程中出现的小目标、飞行遮挡以及背景相似问题,提出ISESAM模块和改进激活函数对SSD-MobileNetV3 算法进行改进,形成本文提出改进SSD算法。通过在大型数据集上实验,可得本文算法提高了低空无人机小目标的检测效果,同时也更适合在微型边缘计算平台上进行部署。然而小样本的目标检测尚未深入讨论,今后将继续研究,进一步提高算法的鲁棒性。

猜你喜欢
精度函数特征
二次函数
第3讲 “函数”复习精讲
二次函数
函数备考精讲
如何表达“特征”
不忠诚的四个特征
基于DSPIC33F微处理器的采集精度的提高
抓住特征巧观察
GPS/GLONASS/BDS组合PPP精度分析
改进的Goldschmidt双精度浮点除法器