基于深度可分离卷积的实时遥感目标检测算法

2022-08-11 06:09王成龙
电光与控制 2022年8期
关键词:锚框主干卷积

王成龙, 赵 倩, 赵 琰, 郭 彤

(上海电力大学电子与信息工程学院,上海 201000)

0 引言

遥感目标检测是计算机视觉领域的重点研究课题之一,其在军事战争、民用生活等方面的应用前景广阔[1],但遥感检测场景复杂,实际部署存在诸多局限,目前主流的目标检测算法难以直接应用,因此,兼顾准确性与实时性的遥感目标检测算法具有重要的研究意义。

为此国内外学者做出了许多努力,传统基于模板匹配的遥感目标检测算法多使用人工设计辅助特征提取,当面对复杂背景及环境干扰时,模型检测效果与泛化能力较差[2-3]。近年来,深度学习的快速发展为遥感目标检测算法提供了新的思路,目前主流的深度学习遥感目标检测算法主要分为两类:一类是基于锚框(Anchor)的目标检测算法,代表算法有YOLO[4],SSD[5],Faster R-CNN[6]等;另一类是不基于锚框(Anchor-free)的目标检测算法,代表算法有CenterNet[7],FCOS[8]等。两者的主要区别在于是否使用候选区域进行目标检测的分类与回归。蒋光峰等[9]针对Anchor-free算法,提出了基于定向遥感目标检测的旋转中心点估计网络,通过添加方向预测分支提升了算法在倾斜目标检测上的性能,但是宽高交换训练过程容易导致训练不稳定。与之不同,许多学者为了应对复杂的遥感检测场景,对基于Anchor的目标检测算法进行改进,文献[10]提出了改进YOLOv3的遥感目标检测算法,使用DenseNet替换主干网络,有效减少了模型的梯度消失问题,但是DenseNet作为主干网络进行特征提取无疑使网络参数更加冗余,实时检测效果较差;为避免上述问题,文献[11]对算法进行改进,对YOLOv3主干网络进行简化,设计并提出了FE-YOLO,有效提升了网络检测的实时性;随着YOLOv4算法的提出,文献[12]针对轨道检测场景对其进行改进,达到了94.4%的平均精度和78.7 帧/s的检测速度,实现了较高的检测性能,为遥感目标检测算法改进提供了新的思路。

为了同时保证模型的检测精度与速度,本文对YOLOv4算法[13]进行改进,采用K-means++算法对遥感数据集进行锚框聚类分析,提高检测的准确性。为了实现轻量化设计,使用轻量级网络MobileNetv3[14]作为主干提取网络,并设计深度可分离卷积PANet模块[15],有效减少模型的参数量,提高检测速度。分别在UCAS_AOD[16],RSOD[17],DIOR[18]等数据集上进行测试,验证了模型的检测性能与泛化能力。

1 改进YOLOv4算法结构

1.1 K-means++锚框聚类

遥感检测场景中物体尺度变化大,且小目标数量多,直接使用原始的锚框参数进行训练与检测可能会造成较大误差,使用K-means++算法[19]进行锚框(Anchor)聚类分析,加速网络对定位信息的检索,提高网络的训练速度与检测性能。相比于目前锚框聚类改进中常用的K-means聚类算法,使用K-means++聚类算法可以避免随机抽取聚类中心造成的误差,提升聚类的稳定性与准确性。

网络在定位目标的过程中,需要对特征网络的预测信息进行编码与解码,其对应的边界框如图1所示。

图1中:bw和bh分别为边界框的宽和高;pw和ph分别为锚框预测结果的宽和高;(tx,ty)为网络预测的目标中心坐标;tw,th为网络预测的宽和高;(cx,cy)为当前网格左上角坐标;σ是Sigmoid函数,使用Sigmoid函数的优点在于可以归一化最终的输入范围,同时加快网络的收敛速度[4]。

图1 边界框结构图Fig.1 Structure of boundary box

1.2 基于MobileNetv3的主干网络设计

通过对YOLOv4网络结构分析可知,使用CSPDarknet53作为主干提取网络,虽然能够实现较好的特征提取能力,但是网络参数量大,计算量也大[20]。为了实现网络轻量化,以MobileNetv3作为主干提取网络进行特征提取,并使用深度可分离卷积改进网络卷积层、减少网络参数量、提高检测速度,MobileNetv3设计结构如图2所示,基于MobileNetv3的网络结构如图3所示。

图2 MobileNetv3设计结构Fig.2 Structure of MobileNetv3 design

对于大目标和小目标,YOLO系列算法均能实现较好的检测效果,因此,网络改进后仍使用3个预测尺度。网络浅层特征图的感受野较小,深层特征图感受野大,使用不同深度的网络特征图对物体进行预测,可以解决遥感目标检测场景中因物体尺度变化大而造成检测不准确的问题。

网络的输入尺寸为416*416,主干网络设计5层MobileNetv3_block进行特征提取,输出的5个特征层维度分别是208*208*16,104*104*24,52*52*40,26*26*112,13*13*160。遥感目标检测场景复杂,精简预测层数会影响不同尺度目标的检测效果,因此选用52*52*40,26*26*112,13*13*160这3个特征层作为预测层的输入,为了进一步提升检测效果,网络对3个特征层进行了改进PANet的特征融合,通过网络空间信息的共享来提升网络的检测性能[15]。

实验测试原始YOLOv4网络参数量为63 954 000,改进后网络参数量为11 791 741,基于主干网络和深度可分离卷积的改进,使网络参数量大幅减少,能够在保证模型检测效果的同时大幅提高检测速度。MobileNetv3主干网络中嵌入的SENet注意力机制可以使网络更加关注遥感目标的相关特征,提升网络的检测性能,增强模型的回归能力,使网络在面对复杂的遥感目标检测场景时有更准确的特征关注,提升算法的鲁棒性。

1.3 深度可分离卷积的PANet结构

YOLOv4使用CSPDarknet53作为主干提取网络,通过牺牲模型的运算速度提高了模型精度,这样的设计方式使网络中存在大量冗余。与之相似,除主干网络部分外,PANet特征融合处也存在大量的特征冗余,为了进一步降低网络参数量,减小内存消耗,提高网络的检测效率,需要对网络特征融合处进行改进。

PANet通过保留空间信息来增强网络的检测能力,YOLOv4在嵌入PANet结构时,将原来相邻特征层的相加操作修改为特征堆叠操作,提高预测的准确性,但是直接对网络进行特征堆叠会引入许多不重要的特征,导致网络特征冗余。为了解决上述问题,使用深度可分离卷积代替原来的标准卷积,提出了基于深度可分离卷积的PANet结构,改进PANet网络结构如图4所示。

图4 改进PANet结构图Fig.4 Structure diagram of the improved PANet

2 实验环境及结果分析

2.1 数据集

为验证所提算法的检测性能,分别在UCAS_AOD,RSOD,DIOR这3个主流遥感目标检测数据集上进行实验与测试。

其中:UCAS_AOD[16]是遥感影像数据集,数据集中包含汽车与飞机两类目标,数据集中的目标经过仔细筛选,实例对象的方向在数据集中分布均匀;RSOD遥感目标检测数据集[17]中包含飞机、操场、立交桥和油桶4类遥感目标,共计976幅图像、6950个目标实例;DIOR数据集[18]是目前主流的大规模光学遥感图像目标检测基准数据集,包含飞机、机场、棒球场等20类目标,共计23 463幅图像和190 288个目标实例。实验在上述3个主流遥感目标检测数据集上进行对比,进一步验证所提算法的检测性能。

2.2 实验平台及参数设置

实验硬件环境配置为NVIDIA GeForce RTX 2080 super,Intel®CoreTMi7-10700k,16 GiB RAM,开发环境为Tensorflow1.13.2,Keras2.1.5,CUDA10.0,Opencv3.4.2.16,Python3.6。

考虑实际硬件性能与对比实验,将超参数进行如下设置:批量大小(Batch_size)设置为16、迭代次数(Epoch)设置为100、动量(Momentum)设置为0.9、权重衰减(Weight decay)设置为0.000 3,以Adam作为优化器更新网络参数,使用余弦退火学习率并设置初始学习率为1E-4。训练过程中损失(Loss)变化如图5所示。

图5 训练损失曲线图Fig.5 Training loss curve

由图5可知,随着网络训练的不断进行,Loss逐渐下降,网络正常收敛,网络设计中设置了提前截止(early_stop),当网络迭代80次时,由于Loss不再下降,网络训练提前截止。

2.3 实验评价标准

实验使用准确率P(Precision)、召回率R(Recall)、平均精度均值mAP(mean Average Precision)、参数量、检测速度作为评价标准,其中,准确率及召回率[21-22]算式如下

(1)

(2)

式中:TP(True Positive)为真正例数量;FP(False Positive)为假正例数量;FN(False Negative)为假反例数量。若只使用准确率和召回率作为评价标准存在一定的局限性,因此引入mAP进行评判,AP为P与R在[0,1]范围内绘制曲线围成的面积[22],mAP则为各类目标AP的均值,是评判目标检测网络整体性能的重要指标之一。

2.4 实验结果分析

为验证算法性能,在DIOR数据集上进行测试,与改进前算法进行对比,整体性能对比结果如表1所示。

表1 整体性能对比

从实验结果分析中可以看出,改进算法参数量仅为原来的18.4%,检测速度提升了2.19倍,虽然mAP相比于YOLOv4降低了1.45%,但是仍然能够满足检测的准确性。通过对比分析可以看出,改进算法在准确率与实时性上达到了较好的平衡,相比YOLOv4,YOLOv3,SSD,YOLOv4-tiny等算法有更好的检测性能。

为了直观展示改进后算法的检测效果,抽取DIOR测试数据集中的同幅图像,对比算法改进前后的检测效果,检测效果对比如图6所示。

图6 检测效果对比图Fig.6 Comparison of detection results

由图6可以看出,改进前后检测效果差别不大,仅存在部分目标置信度下降情况,但仍能够实现遥感目标的准确检测。综合模型性能以及检测结果分析可以看出,轻量化改进后模型仍然可以实现较为准确的检测效果,且参数量大幅减少,模型检测速度达到61.71 帧/s,符合实时检测的要求。

2.5 与主流算法对比

为了验证算法的鲁棒性,将文献[4]中的YOLOv3、文献[5]中的SSD300、文献[6]中的Faster R-CNN、文献[7]中的Centernet以及YOLOv4-tiny,MobileNet-SSD等主流目标检测算法与改进算法在RSOD,UCAS_AOD两个遥感数据集上分别进行对比分析,对比实验以mAP和检测速度为技术指标,实验对比结果如表2所示。

表2 与主流算法对比表

由表2可以看出,YOLOv3,SSD300,Faster R-CNN等基于锚框的目标检测算法均能够实现较好的检测效果,但是检测速度难以达到要求,其中,Faster R-CNN算法检测速度仅为13.52 帧/s,无法达到实时检测的效果,而基于Anchor-free的Centernet算法检测速度也仅为38.24 帧/s,同样难以实现实时检测,因此也证明了直接使用目前主流的目标检测算法难以满足实际检测场景。

YOLOv4-tiny是对YOLOv4轻量化改进中效果较好的算法,将本文改进算法与之对比,从对比结果中可以看出,改进算法在RSOD和UCAS_AOD两个数据集上mAP分别达到了79.02%和80.56%,相比于YOLOv4-tiny算法,改进算法虽然检测速度略低,但是在RSOD和UCAS_AOD两个数据集上的检测精度明显优于YOLOv4-tiny算法。通过上述实验对比不难看出,改进算法拥有较高的检测精度与速度,为了直观展示算法的检测效果,抽取YOLOv4-tiny算法与改进算法的检测效果进行对比,如图7所示。

图7 检测效果对比图Fig.7 Comparison of detection results

从图7中可以看出,改进算法的检测准确性明显高于YOLOv4-tiny算法,尤其是对于小目标。许多YOLOv4-tiny算法未检测出的小目标,本文改进算法都有较好的检测效果。

3 结束语

从降低模型参数量与计算量的角度,针对遥感目标检测场景,提出了基于深度可分离卷积改进YOLOv4的实时遥感目标检测算法,对数据集进行锚框聚类分析后使用MobileNetv3作为主干提取网络,并结合深度可分离卷积改进PANet网络结构,减少网络冗余参数,在检测效果与原算法相近的情况下,模型参数量仅为原来的18.4%,检测速度提升了2.19倍。在DIOR,RSOD,UCAS等主流遥感数据集上进行实验,验证改进算法可以满足实时检测需要,算法鲁棒性强。后续研究中可尝试进一步对网络结构进行特征融合,在不增加网络参数的情况下提高遥感目标检测的精度。

猜你喜欢
锚框主干卷积
锚框策略匹配的SSD飞机遥感图像目标检测
我国天然气东西主干管网和南北供应要道全面联通
基于GA-RoI Transformer的遥感图像任意方向目标检测
抓主干,简化简单句
基于3D-Winograd的快速卷积算法设计及FPGA实现
结合k-均值聚类缓解行人检测正负样本不平衡问题
基于深度学习的齿轮视觉微小缺陷检测①
卷积神经网络的分析与设计
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法