APP下载

基于改进YOLO_v3-SPP的无人机图像目标检测系统与实现

2022-12-16刘永峰沈延安李从利

弹箭与制导学报 2022年5期
关键词:阈值样本特征

刘永峰,沈延安,韦 哲,李从利

(1 陆军炮兵防空兵学院兵器工程系,合肥 230031;2 陆军炮兵防空兵学院无人机应用系,合肥 230031)

0 引言

当前,军用无人机已成为现代战争中不可忽视的空中力量,世界各国都将其置于优先发展的地位。利用其携带的可见光/红外成像设备对战场目标进行检测与识别,是无人机的主要功能之一。但由于军用无人机飞行的特殊性和战场环境的复杂性,使得无人机图像具有以下特点:无人机飞行高度一般在3~5 km,导致在对地面特定目标(如装甲目标、民用车辆、人员等)进行搜索时,目标在视场中所占的像素比例较小、特征信息少;成像设备在拍摄时会受到低空的云层、烟雾的遮挡,同时成像平台处于抖动状态,造成成像质量较差;无人机飞行高度、角度实时变化,加之成像设备采用变焦技术,使得目标在图像中的尺度变化大;飞行次数有限,造成军事目标样本数据量少。以上特点给无人机图像目标检测带来了一定的挑战。

现阶段,基于深度学习的目标检测技术正蓬勃发展[1-2],可分为两类,一类是两阶段(two-stage)检测算法,此类算法在检测时首先进行区域生成(region proposal,RP),即首先确定一系列可能包含待检物体的候选建议框,再通过卷积神经网络分别对候选框进行分类和定位的回归操作,这类方法检测精度高但处理速度较慢,常见算法有R-CNN,SPP-Net,Fast R-CNN,Faster R-CNN[3-6]等;另一类是单阶段(one-stage)检测算法,这类算法不再使用区域生成,而是直接在网络中同时实现对目标的分类和定位任务,达到端对端的检测,因此检测速度快,但检测精度较低,常见算法有OverFeat,YOLO_v1,YOLO_v2,YOLO_v3,SSD[7-9]等。无人机实施空中侦察时,需快速检测在视场中是否存在军事目标,要求检测算法必须具备实时性,因此后者更适用于实时性较高的无人机图像目标检测问题[10-12]。

黄梓桐等[13]提出了改进SDD的无人机图像行人与车辆目标检测方法,通过减小网络通道与卷积量、提出感受野和上下文模块以提高目标检测的实时性和准确性。郭智超等[14]改进了SDD网络,增加了特征层数量并增强了各层间的关联,从而提高了目标检测精度。于博文等[15]提出了改进YOLO_v3的算法,引入可形变ResNet50-D网络、双注意力机制和特征重构模块以提升目标表征能力,同时改进了损失函数,以提高检测精度和速度,并在自建军事目标数据集上进行了验证。黄文斌等[16]提出类别均衡化和随机场景组合的数据增强训练方法,提升了训练效率和模型精度,并提出了模型压缩方案,在通道剪枝基础上对残差层修剪,提升了目标检测速度。但是,以上方法存在一定的误检率,这对军事目标检测而言影响较大,同时缺乏在嵌入式计算平台上的探索研究。

文中提出了一种基于改进的YOLO_v3-SPP目标检测算法,并在此基础上引入异常检测的思想,剔除误检目标,提高目标检测精度,并将算法移植到嵌入式计算平台。

1 YOLO_v3-SPP目标检测算法

YOLO_v3-SPP网络的具体结构如图1所示。网络使用DarkNet-53对输入图像的特征进行提取,整个结构里没有全连接层。图像在前向传播时,输出特征的尺寸压缩是通过改变卷积操作的步长(stride)来实现的。另外在DarkNet-53中由于引入了residual结构,训练深层网络难度大大减小,同时检测精度也有了明显的提升。DBL模块为检测模型的基本组件,其组成结构为Conv2d+BN+Leaky relu。

图1 YOLO_v3-SPP网络

图2 SPP模块

特征图经过局部特征与全局特征相融合后,丰富了特征图的表达能力,有利于待检测图像中目标大小差异较大的情况,尤其是对于复杂的多目标检测,对检测精度有很大的提升。

该网络结构中,损失函数定义为:

(1)

由于无人机图像的特点和战场环境的特殊性,运用该网络进行目标检测时,会存在一定的漏检和误判概率,对作战指挥、侦察等产生不良影响。

2 算法改进

为解决漏检及误判问题,在原网络结构上针对侦察无人机图像的特点进行了相应的改进。

2.1 基于多尺度特征融合的YOLO_v3-SPP网络

为提高目标多尺度检测的准确度,在网络结构上选择了更多特征尺度上的信息融合,使得网络在检测时可以提取到更多尺度信息。将DarkNet-53中的第3、第4卷积层的信息经下采样后,送入网络中进行融合,可更多提取到局部和全局特征,有利于对目标差异较大时的检测,如图3所示。

大数据最典型的特征是多源异构。原始数据中会包含一些“脏数据”,比如离群点,值缺失等状况。因此首先需要进行数据的预处理和集成,为将来的数据分析和挖掘提供方便处理的数据集。目前市面上常见的方法大体可分为4类:基于物化或ETL引擎方法、基于联邦数据库或中间件方法、基于数据流引擎方法以及基于搜索引擎方法。

图3 基于YOLO_v3-SPP改进的网络结构

另外,在损失函数部分修改了YOLO_v3-SPP中采用IoU计算边界框损失的方法,将其替换为CIoU的损失计算方法。CIoU的表达式为:

(2)

式中:b,bgt分别代表预测边界框和目标框的中心点;ρ代表计算预测框与真实框的中心点间的欧式距离;c代表能够同时覆盖两个框的最小矩形的对角线距离;参数α和v的表达式为:

(3)

(4)

式中:α用于平衡比例的参数;v用来衡量anchor框和目标框之间的比例一致性。

2.2 增加深度异常检测的目标检测网络

为解决检测过程中的误判问题,在检测网络输出前增加了异常检测网络模块,通过预先训练网络的模型,对检测网络输出的结果进行二次判定,判断其是否属于检测目标或背景,经过阈值筛选,降低网络的误判率。

深度单类分类通过学习神经网络映射输出空间中心c附近的标称样本来进行异常检测,从而导致异常被映射出去。这里使用超球面分类器(HSC)为损失函数[17]:

(5)

式中:yi为对应的标签,yi=0表示正常样本,yi=1为异常样本;Xi为第i个样本;c∈Rd为预先设定的中心,这里简单地置0;φ(·):Rc×h×w→Rd为单类分类网络,权值为ω;c,h,w分别为输入图像的通道数、高、宽;d为输出特征向量的维度。

(6)

当输入正常样本时,损失函数第二项为0,φ(·)倾向于将其映射到c附近,从而使第一项趋于0;当输入异常样本时,损失函数第一项为0,φ(·)倾向于将其映射到远离c,h(a)→∞,从而使第二项趋于0。

设计的异常检测网络φ(·)结构如图4(a)所示,输入图像经过一层7×7的卷积层,进入以ResNet-50为主干网的卷积层,得到特征。其中,ResBlock模块结构如图4(b)所示,C表示通道数。训练时,通过标签计算损失,并以梯度下降更新网络参数。

图4 异常检测网络结构

训练的正样本为数据集标注的军事目标子图,负样本包含两部分:数据集中人工选取的背景子图,以及在外部航拍数据集中随机采样的子图,保证正负样本数量均衡。使用SGD作为优化算法,批量为512,进行40轮训练。结束后,由于h(·)预测越大,表示负例的可能性越大,但判断的阈值并未确定,因此需对预测的正负样本阈值进行遍历,选取使判断正确率最大的阈值thresh。测试时,当对样本的预测大于thresh时则认为是误检,并在最终结果中去除。

图5即为改进后的目标检测网络结构。输入图像经过改进的YOLO_v3-SPP网络后,输出检测到的输入图片的目标信息及边界框信息,即中间结果,该信息送入异常检测网络后,网络根据标注的边界框信息,提取出目标区域,对该区域进行特征提取,并计算出异常得分,算出得分后与选定的阈值进行对比,如果得分大于阈值,就证明该边界框中包围的是背景而非目标,如果得分小于阈值,就证明该边界框内确为检测目标,经过全部判定以后,最终输出检测结果。

图5 文中方法框图

3 实验结果与分析

3.1 数据集与实验条件

由于军事侦察图像样本的特殊性,基本没有公开的含有大量军事目标的侦察图像数据集。因此,首先在公开的航拍图像数据集DOTA[18]上对网络进行预训练。在训练前首先对图像进行裁剪,从而提升读取和写入速度,便于模型快速迭代。为提升算法的鲁棒性和推广泛化能力,采用了镜像、缩放、旋转等数据增广策略。模型收敛后,在自建的小样本军事目标数据集上进行迁移学习,共搜集了约2 000张含装甲目标的航拍图像,主要取自侦察无人机、民用无人机及军事仿真软件平台上所获取的图像,并将标注好的图像按8∶2的比例划分为训练集和验证集。

对于异常检测网络训练集,应区分正负样本,正样本根据DOTA数据集中的标注信息,截取了约2万张目标实例样本做正样本,同时截取2万张背景做负样本。

实验用设备为超微工作站,GeForce RTX 2080Ti GPU,20核intel Xeon E5-2630v4 CPU。

3.2 模型训练

训练改进的YOLO_v3-SPP网络时,在预训练后,利用自建小样本数据集进行微调,设置学习率为0.000 1,最大迭代轮次(epoch)为100,学习率分别在25个epoch、50个epoch、75个epoch时衰减10倍。

训练异常检测网络时,经过40轮训练,获得了收敛网络模型。在验证集上对阈值thresh进行遍历,发现当thresh取0.81时,异常检测网络的判定准确度最高(90.833%),故选择该值为最终测试的阈值。当应用于其他场合时,需根据训练数据调整。

3.3 实验结果分析

由于文献[13-16]没有公开源码,这里仅与YOLO_v3-SPP网络进行对比实验。

在DOTA数据集上的检测结果对比如表1所示。可以看出,改进后的网络的平均精度(mean average precision, mAP)相对于原网络有了一定的提升。

表1 DOTA数据集上的检测结果对比 单位:%

在真实数据上的检测效果如图6所示。测试发现,当无人机上成像设备的焦距发生较大变化时,原网络存在漏检和误判行为,而文中方法改进了YOLO_v3-SPP网络,增加了更多尺度特征融合,降低了目标漏检率,同时增加了异常检测网络,一定程度剔除了误检样本,从而有效提高了目标检测率。

图6 真实数据实验结果

4 系统实现与测试

4.1 系统实现

选用华为Hi3559AV100作为硬件计算平台,该平台集成了两个神经网络推理机(neural network inference engine,NNIE),可实现并行计算。系统外形尺寸为185 mm×150 mm×30 mm,平均功耗6 W。将文中算法以caffe工具为模型框架,转为wk模型并运行在该平台上,实现目标检测功能。

为提高平台计算速度,当输入图像大小为1 920像素×1 080像素时,首先在Image Subsystem中被压缩为740像素×416像素,随后被分切为两幅416像素×416像素尺寸图像并交给两个NNIE开始并行计算,由此将每一帧数据处理耗时降低到40 ms以下,满足视频检测需求。

4.2 系统测试

为检验系统效果,自建了目标检测测试集。测试集由1 000幅图像组成,图像成像高度2 500~4 500 m,距离目标3~6 km,包含民用车辆、装甲车、人员3类目标,标注约4 500个目标样本,如图7所示。

图7 测试集示例

利用自建测试集对系统进行测试,对民用车辆、人和装甲车的检测准确率分别为92.7%、83.2%和96.3%,平均交并比为84.4%。对3类目标的平均漏检率和误检率分别为0.2%和1.3%,与YOLO_v3-SPP网络(硬件条件相同)相比,分别降低了1.1%和4.5%。

同时,系统对视频中的目标检测效果良好,移动目标检测框与实际位置像素偏移平均值为9.6行(列)。系统测试效果如图8所示。

图8 系统测试效果

5 结论

针对无人机图像的特点,在YOLO_v3-SPP网络的基础上进行了改进,主要包括多级特征融合、损失函数,在检测网络后增加异常检测网络进行二次筛查等。经过改进后,在公开DOTA数据集上进行验证,对比结果发现,检测算法的mAP较原有算法有了一定提高。最后,对所设计的算法进行了移植,取得了较好的效果。

大量的图像数据是基于深度学习的目标检测的基础,目前的数据样本较少,同时还应该考虑背景、光线、气候、遮挡、伪装、目标大小、姿态等因素。因此,需要有针对性的实验测试数据集,进行模型的训练和完善,以进一步提高检测效果。

猜你喜欢

阈值样本特征
根据方程特征选解法
用样本估计总体复习点拨
小波阈值去噪在深小孔钻削声发射信号处理中的应用
不忠诚的四个特征
基于自适应阈值和连通域的隧道裂缝提取
推动医改的“直销样本”
抓住特征巧观察
比值遥感蚀变信息提取及阈值确定(插图)
随机微分方程的样本Lyapunov二次型估计
室内表面平均氡析出率阈值探讨