基于优化CenterNet的低空无人机检测方法
2022-11-30张瑞鑫黎宁张夏夏ZHOUHuiyu
张瑞鑫,黎宁,2,*,张夏夏,ZHOU Huiyu
(1.南京航空航天大学 电子信息与工程学院,南京 211106;2.光电控制技术重点实验室,洛阳 471000; 3.莱斯特大学,莱斯特 LE17RH)
随着无人机技术的快速发展,低空小型无人机(unmanned aerial vehicle,UAV)在航拍、农业、军事等领域得到广泛应用,但同时也为空中航路安全、公共安全及军事安全带来威胁。民用领域,近年来消费型无人机在中国快速普及,全国多个机场出现了民用无人机扰航事件[1],无人机的合规合法化使用成为了新的焦点问题。军用领域,利用蜂群无人机进行战场侦察、信息干扰甚至发动攻击逐渐成为了一种有效的战争手段。因此,作为无人机反制与管控的重要环节,对“低慢小”无人机的有效探测成为亟待解决的问题。
目前对无人机的探测手段按信号形式主要分为3类:雷达探测、无线电探测、光电探测。雷达探测作用距离远,几乎不受天气影响,但无法识别悬停的无人机,无法区分慢速移动的无人机与树木等其他物体;无线电探测通过对无人机与操控者的通信信号进行分析,来对无人机进行识别,这种方式可以实现对无人机详细特征的精准识别,但无法识别频谱特征不存在于频谱库或处于电磁静默状态的无人机;光电探测使用可见光和红外探测器对无人机进行识别与跟踪,精度高且成本较低,相比其他2种具有更广阔的应用场景和更高的实用性。
随着卷积神经网络在图像处理领域的广泛应用,目标检测算法已经从传统的人工设计特征算子转变为利用卷积神经网络自动提取特征。目前基于深度学习的目标检测算法主要分为一阶段和二阶段网络。二阶段网络首先产生候选区域,包含目标大概的位置信息,然后对候选区域进行分类和目标位置回归。Girshick等[2]将深度学习技术应用于目标检测领域,提出基于区域提取的RCNN算法,利用选择性搜索算法生成1000~2000个候选区域,并将这些区域送入卷积神经网络中进行特征提取,利用支持向量机进行分类并进行位置精修。RCNN相比传统算法精度大大提升,但候选区域生成阶段包含过多冗余计算,运行速度较低。为提高二阶段网络的速度和精度,学者们陆续提出了一系列RCNN的变体:Fast RCNN[3]、Faster RCNN[4]、Cascade RCNN[5]、Mask RCNN[6]等。虽然二阶段网络在精度上有优异的表现,但其缓慢的速度限制了在实时性任务中的应用。一阶段网络直接生成目标的类别概率和位置坐标,准确度一般低于二阶段网络,但在速度上有较大优势,代表算法有YOLOV3[7]、RetinaNet[8]、CornerNet[9]等。
无人机检测任务的首要难点为机体在光学图像中所占像素尺寸较小。一般认为所占像素尺寸小于整张图像1%的目标为小目标,目标检测通用数据集COCO将小目标定义为像素尺寸小于32×32的目标。小型无人机成像后所占像素往往更小,在像素尺寸为1960×1080的光学图像数据集中,大部分无人机所占像素尺寸在15×15~35×35之间,包含特征信息较少,因此,针对低空无人机小目标检测任务需要设计专用算法。现有的目标检测算法在特征提取阶段普遍包含过多下采样,小目标的特征信息随着下采样的次数增多逐渐丢失,检测器在小目标检测任务中普遍存在漏检率高、定位质量低的问题。故而本文对目标检测算法的特征提取模块进行重新设计,采用先下采样再上采样的沙漏结构,获得深层语义特征的同时维持较大的特征图分辨率,并使用旁路连接融合小目标及定位信息清晰的浅层特征与深层语义特征。此外,现有的目标检测算法主要依据图像局部范围内的特征信息判定该区域是否存在目标,孤立于其他局部区域的检测。而蜂群无人机个体之间相似度较高,可以利用特征的相似性对群体中的个体进行特征增强。因此采用改进的非局部算子捕捉空间长距离特征之间的关联性,增强无人机特征信息,减少漏检情况的发生。最后引入定位质量监督,优化标签编码策略和边界框回归方式以提升定位质量,实现了对低空无人机的有效检测和精准定位,为后续无人机跟踪、轨迹预测任务奠定基础。
1 CenterNet目标检测算法
CenterNet[10]是一种端到端可微的无锚框(anchor free)单阶段目标检测算法。大多数成功的目标检测器列举所有潜在目标的位置,并对这些区域进行交并比(intersection over union,IOU)计算、分类,这样的做法是低效的,并且需要非极大值抑制(non maximum suppression,NMS)等额外的后处理。CenterNet将目标检测问题转换为关键点估计问题,输入图片经过全卷积网络产生热图,热图的局部峰值对应物体中心,并对物体中心回归边界框的高度和宽度。相比基于锚框(anchor based)的算法更加简洁、快速和精确。
1.1 检测原理
输入图像为宽度W和高度H的RGB图像,经过编解码网络(encoder-decoder)输出到3个分支,分别为物体中心概率的关键点热图、物体尺寸、下采样取整带来的中心点偏移。在中心点与分类分支,对关键点热图执行简单的3×3最大池化获得局部峰值点,取代NMS后处理。用中心点偏移补偿目标中心后,结合物体尺寸即可获得检测框,网络结构如图1所示。
图1 CenterNet结构简图Fig.1 CenterNet structural sketch
1.2 标签编码
基于锚框的目标检测器使用标签的方式为在训练过程中将真值框(ground truth box,GT)与大量的锚框进行交并比计算,大于某一阈值则认为锚框内存在目标,这一方法包含大量冗余计算,减慢了算法运行速度。
CenterNet将真值框编码为目标中心坐标和目标尺寸,并用高斯散射核将下采样后的目标中心投射到热图上:
1.3 损失函数
CenterNet的损失函数由三部分组成,中心点损失、中心点偏移损失、物体尺寸损失。中心点损失选择连续标签的Focal Loss[8]:
式中:N为关键点个数,下标k为第k张图像,超参数α和β遵循文献[9]选用2和4。物体尺寸和中心点偏移均采用均绝对误差(MAE)损失:
完整损失函数即为三者相加:
2 联合注意力的CenterNet优化
无人机反制系统中无人机探测的准确性、实时性至关重要。主流目标检测器针对无人机小目标的检测普遍存在漏检率偏高、检测框质量较差的问题,对后续的跟踪和预测有较大影响。为此,对CenterNet进行算法优化,引入联合注意力及检测框质量估计机制,以提高平均准确率。
2.1 非局部信息统计
蜂群无人机是近些年备受关注的新型作战概念之一,未来空域中无人机很可能以集群的方式出现。目前大多数目标检测器利用小卷积核提取局部信息,并通过不断堆叠卷积层和下采样层来扩大感受野判断某一区域内是否存在目标,浅层特征信息在下采样过程中不断损失,最终也无法获得表征2个目标之间关系的全局信息。因此引入一种非局部信息统计机制,以捕捉长距离特征之间的依赖关系,使得多个无人机小目标之间相互关联、相互激活,减少漏检现象。
Non-local于2018年由Wang等[11]提出,其思想来源于数字图像滤波领域的非局部均值(nonlocal mean)操作及自然语言处理领域中的自注意力(self-attention)机制,最初用于行为识别领域,捕捉视频序列的长范围依赖。Non-local的一般表达为
式中:x为输入特征图矩阵;i为输出位置,输出yi与任意位置j均相关,使用函数f(xi,xj)度量位置i和位置j的相似度;函数g为输入特征在位置j的响应函数;最后通过响应因子C(x)进行标准化处理。式(7)中,qi=Wqxi,kj=Wkxj为自注意力机制KQV模型中的查询向量和键向量。
Non-local算子度量特征图任意2个位置的关联程度,并利用2个位置之间的相似性对特征进行加权处理,自适应增强神经网络需要关注的位置,抑制无关信息。为了让Non-local操作适应神经网络结构,将整个Non-local操作转换为矩阵乘法运算和矩阵加法运算,如图2所示。
图2 Non-local结构Fig.2 Non-local structure
然而,文献[12]对Non-local提取的注意力图进行可视化,发现Non-local操作确实能够关注具有目标附近的区域,但对于不同查询位置的注意力图几乎是一致的。文献[12]认为Non-local操作学习到的注意力图是不依赖于位置的,换而言之,Non-local操作不能表征任意两特征之间的关系,只能在空间域上关注某些重要特征。文献[13]对Non-local进行了进一步研究,认为Non-local将两项独立的任务联合学习,导致了文献[12]中的问题,文献[13]将Non-local公式中的相似度计算函数f(xi,xj)解耦为
式中:μq为q的均值;μk为k的均值。
经过白化(whiten)的成对项解释了2个特征之间的关系,一元项代表了每个特征的显著性。经实验发现,成对项倾向于学习相同类别区域内关系,一元项学习显著边界,但当两者在Non-local中联合学习时,两者的作用相互影响,这可能对学习两类视觉线索有害。基于此项研究,将Non-local拆分为PNL(pairwise NL)和UNL(unary NL)。图3为PNL结构。为了保持PNL学习到的区域之间关系,将PNL放置于浅层支路连接,与编解码网络输出的特征进行通道拼接。
图3 PNL结构Fig.3 PNL structure
然而,Non-local仅关注空间域特征间关系,而不同特征通道内的信息对最终目标正确检测的重要程度也有所不同。所以,在UNL模块的基础中添加通道注意力机制,组成CNL(channel NL),同时捕获空间与通道的显著性,突出有效信息,抑制冗余信息,如图4所示。大多数通道注意力在计算各通道重要性时采用先降维再升维的方式来降低计算量,并捕获所有通道间的关系。文献[14]的实验表明降维对通道注意预测带来副作用,捕获所有通道之间的依赖也是低效且不必要的。因此在CNL中使用不降维的局部跨通道交互策略,使用一个自适应的1(1卷积代替进行降维的2个全连接层,卷积核大小k代表参与局部跨通道交互的通道数,k与通道维数成正比,通过这样的方式降低计算量。
图4 CNL结构Fig.4 CNL structure
2.2 网络结构设计
基于ResNet、DLA、Hourglass,CetnerNet被设计了4种编解码网络[15-17]。输入图像经过下采样获得原图的1/32或者1/128大小的特征图后,经转置卷积上采样到原图的1/4大小的输出特征图。经初步实验表明,DLA获得最佳精度和速度权衡,因此选择DLA为基准编解码网络。考虑到过多的下采样对浅层定位信息的破坏性及浅层特征对小目标检测的重要性,减少下采样模块,移除32倍下采样模块,特征图大小到达原图的1/16时进行上采样。Non-local文章中建议在浅层使用Non-local模块,因为深层特征在不断的下采样过程中逐渐损失空间信息及特征点之间的关联性,所以在DLA中2倍下采样处额外添加浅层分支,并使用PNL模块捕捉特征图空间关联性,与输出特征图聚合,最后在编解码网络中使用CNL模块捕获通道间依赖关系,突出重要信息,抑制冗余信息。综上,设计DLAX28作为最终的编解码网络。
编解码网络输出的特征图送入目标中心点分支和目标尺寸分支。相比CenterNet移除了中心点偏移分支,目标尺寸分支改为回归中心点到4条边的距离,让中心点偏移包含在尺寸回归中,计算复杂度不变但并行度提高。再者,边界框中心点可能落在背景上,可能导致较大中心点回归误差,回归中心点到4条边距离的边界框编码方式更加灵活,适应复杂情况的能力更强。原始CenterNet和S-CenterNet-DLAX28网络整体架构如图5所示。
图5 CenterNet与S-CenterNet-DLAX28结构Fig.5 CenterNet and S-CenterNet-DLAX28structure
为了提升计算资源受限平台下的性能表现,同时设计轻量化版本DLAS28。用深度可分离卷积代替普通的卷积操作,降低参数量和浮点运算次数。受CSPNet[18]启发,将2倍下采样浅层分支处的通道进行分流,一半的通道信息通过完整的编解码网络进行特征提取,一半的通道信息直接通过分支进行全局信息提取,并与输出特征图进行通道拼接。CSPNet认为这样可以不同的累积层重复学习复制的梯度信息,并减少计算量。经实验发现,通道分流再聚合在获得可忍受的精度损失的同时,推理时间减少约30%。
2.3 标签编码策略优化
CenterNet与CornerNet都使用圆形高斯散射核将真值框目标中心投射到标签热图上,高斯散射核如图6所示。但物体的长和宽往往是不一致的,对于长宽比较大的物体,预测中心点在x轴方向和y轴方向偏移同样的距离应当获得不同的误差。因此使用椭圆高斯散射核进行标签编码,以获得更精准的目标中心点定位:
图6 高斯散射核示意图Fig.6 Schematic diagram of Gaussian scattering kernel
2.4 损失函数设计
S-CenterNet的损失函数由3项组成:中心点损失、物体尺寸损失、定位质量损失。
CenterNet只将Yxyc=1的点作为正样本点,其余所有点视为负样本点,造成严重的正负样本不平衡问题,导致训练过程的损失由负样本的损失主导。因此,设置比例因子,增强正样本的损失,削弱负样本的损失。此外,Yxyc=1附近的高质量样本同样能对训练起到监督作用,所以,将Yxyc≥0.95的样本视为正样本点。中心点损失:
式中:λ为超参数,实验中取0.75;N为正样本点数量。
物体尺寸损失沿用MSE损失,计算公式同式(3),其中S^为中心点到上下或两侧距离之和,仍然为物体的长或宽。
CenterNet对物体的中心点及尺寸的训练是独立的,这是检测框定位质量不佳的重要原因。为了解决小目标定位质量普遍较差的问题,提出马氏交并比(MIOU)损失对定位质量进行度量,在计算损失的过程中将预测的中心点位置及目标尺寸解码为预测框,将预测框和真值框的重合程度作为训练的监督项,使得S-CenterNet可以获得更加精准的检测框。
式中:m1~m4分别为预测框和真值框4条边界中心点之间的曼哈顿距离;d为能够同时包含预测框和真值框的最小闭包区域的对角线的欧式距离,具体计算方式如图7所示。
图7 MIOU计算方法Fig.7 MIOU calculation method
3 实 验
为验证S-CenterNet模型在低空无人机检测任务中的有效性,在相同运行环境及无人机数据集的前提下,将S-CenterNet和CenterNet进行对比实验。
3.1 数据集构建
由于目前没有公开的通用无人机数据集,首先进行数据集构建。为保证数据的多样性,数据采集在不同光照、不同天气的条件下进行,总共采用4种型号的无人机:大疆精灵4、大疆M200 V2、大疆M600、自制无人机。拍摄距离由20~3000m,近程使用无人机载光学摄像头,远程拍摄使用雷达扫描到可疑目标后引导光电设备对准无人机。
数据采集总共获得6682张图像,经过翻转、旋转、裁剪、亮度调整扩充为40092张图像。经人工标注后,按照6∶2∶2的比例划分训练集、验证集和测试集,标签中的目标尺寸经kmeans算法聚类后获得的聚类中心为(14,16)、(22,25)、(30,35)。图8为数据集部分图像。
图8 数据集部分图像Fig.8 Part of dataset image
3.2 训练细节
实验算法的运行环境为:深度学习框架Pytorch1.2;编程语言Python3.6;操作系统Ubuntu 16.04;处理器Intel(R)Xeon(R)Silver4114;内存128GB;GPU为2张Nvidia GeForce RTX 2080Ti12GB;CUDA10.0。
训练使用Adam优化器,初始学习率为1.5×10-4,训练100轮,在第60轮和第80轮学习率衰减为原来的0.1倍。
3.3 实验结果与分析
3.3.1 评估标准
目标检测算法的一般评估标准为平均准确率(mAP),mAP由查准率(Precision)和召回率(Recall)计算而来,查准率计算式为
式中:TP为与真值框的交并比大于某一阈值的检测框数量;FP为与真值框的交并比小于某一阈值的检测框数量,或检测到同一个真值框的多余检测框的数量。召回率计算式为
式中:FN为没有被检测到的真值框的数量。以查准率为纵坐标,召回率为横坐标绘制P-R(Precision-Recall)曲线,曲线下的面积即为某一类平均准确率AP,mAP为所有类别AP值的平均。AP50表示IOU阈值为0.5,AP75表示IOU阈值为0.75,COCO中的AP一般表示IOU阈值为[0.5∶0.05∶0.95]共10个值下的平均结果,综合反映了检测准确率和定位质量。
实验还使用前向推理时间衡量图片经过网络的GPU耗时;使用网络参数量衡量模型的复杂度。
3.3.2 消融实验
首先对主干网络结构进行调整,移除DLA34的32倍下采样模块,并在2倍下采样处添加支路连接,支路下采样后与编解码网络输出特征图通道拼接。表1~表6为消融实验结果,黑体代表该组实验中表现最好结果。表1为对网络结构调整前后性能对比,准确率略微上升,前向推理时间减少1ms。表2展示了成对项非局部算子对无人机检测的效果提升。由于PNL计算复杂度较高,在支路增加一个PNL模块推理时间上升4ms,不考虑嵌入多个PNL模块。表3展示了在不同阶段集成CNL模块的结果。实验结果表明,在编解n码网络中添加CNL模块能普遍提升平均准确率,综合考虑速度与准确率,最终选定在L2、L3和L4层添加CNL,并在支路添加一个PNL。
表1 网络结构调整Table1 Network structure adjustment
表2 PNL性能对比Table2 PNL performance compariso
表3 CNL性能对比Table3 CNL performance comparison
表6 消融实验结果Table6 Results of ablation experiments
表4对比了使用圆形高斯散射核与椭圆高斯散射核进行标签编码对检测性能的影响。实验表明,区分长和宽的标签编码方式可以更好地引导中心点分支的训练,能够提升中心点预测和边界框回归的准确率。
表4 标签编码方式Table4 Label encoding method
对于损失函数,增加定位质量损失和比例因子的结果在表5中展示。定位质量损失引导预测框与真值框尽可能重合,比例因子缓解正负样本不平衡问题,避免训练被负样本损失主导,并且在预测时不增加额外的计算开销,大幅提升定位准确率。
表5 定位质量损失和比例因子Table5 Positioning quality loss and scale factor
最后,对各模块的改进进行消融实验。表6展示了包含引入浅层信息、加入解耦的非局部算子和通道注意力在内的网络结构设计、标签编码方式及损失函数的改进对算法性能提升的贡献。结果显示,在可容忍的时间开销增加下,算法平均准确率和平均召回率(mAR)均有较大提升。
3.3.3 算法性能评估
为验证优化算法的有效性,采用相同超参数,选用多个主干网络对CenterNet和S-Centernet进行评估,性能对比如图9所示。更加详细的实验结果如表7和表8所示,DCN(deformable Conv-Nets)表示在上采样过程中使用可变形卷积[19]。
表7 算法准确率对比Table7 Algorithm accuracy comparison
表8 算法速度及模型复杂度对比Table8 Algorithm speed and model complexity comparison
图9 改进前后算法性能对比Fig.9 Algorithm performance comparison before and after improvement
实验表明,使用DLA34和Hourglass的CenterNet网络在无人机数据集有不错的准确率表现,但是Hourglass网络参数量大、推理速度慢,不适合实时性要求强的低空无人机检测任务,使用DLA34和DLA34-DCN可以达到较好的准确率-速度权衡,AP50达到90%左右,但AP75较低,表明存在回归框定位质量不高的问题。
S-CenterNet相比CenterNet有普遍的性能提升,如表7所示。AP50有5%~6%的提升,漏检率降低,检测出更多难样本。AP75提升较大,普遍在15%以上,表明检测框定位质量大幅提升,为后续的稳定跟踪、预测等任务奠定良好的基础。
DLAX28由DLA34改进而来,联合注意力机制与网络结构调整带来的额外时间开销使得推理时间增加了6ms,但mAP获得8.9%的提升。轻量版主干网络DLAS28采用类似CSPNet的通道分流,mAP损失约2%,但仍超过使用Hourglass的CenterNet网络,推理时间降为12ms,获得与DLA34相近的时间开销,但准确率优于DLA34约7%。值得一提的是,通道分流后网络宽度变小,整体网络参数量仅8.3MB,是原始DLA34的1/8左右,适用于计算资源和存储资源受限的平台。
3.4 可视化结果
图10为算法改进前后不同场景的低空无人机检测结果对比。图10(a)中所有无人机被检测出来,但检测框中包含过多背景,为后续的跟踪等任务带来更多的噪声;得益于S-CenterNet的定位质量损失及更好地利用边界信息的边界框编码机制,图10(b)中的检测框更加准确、紧凑。在远距离光电设备拍摄的场景2,图10(c)漏检现象较为严重,图10(d)则能够将所有无人机检测出来,漏检现象得到缓解。
图10 可视化结果Fig.10 Visualized results
4 结 论
本文提出了一个基于CenterNet与联合注意力的目标检测算法,使用非局部算子提取全局特征,突出需要关注的区域,并优化标签编码与边界框回归方式。
1)融合非局部特征能够提升编解码网络性能、降低网络对深度的依赖,用更少的层数达到相同的效果,并降低群目标检测的漏检率。
2)定位质量损失可以大幅提升边界框定位质量,获得更加紧凑的边界框。
3)通道分流策略通过减少网络宽度与重复梯度信息的学习,降低计算复杂度和内存成本,在可接受的准确率损失下带来速度提升。