基于改进YOLOv3的机场盲区遥感图像目标检测方法

2023-03-27 13:16郝宽公耿文博
科技和产业 2023年4期
关键词:特征提取卷积聚类

杨 轲, 董 兵, 吴 悦, 郝宽公, 耿文博

(中国民用航空飞行学院 空中交通管理学院, 四川 广汉 618307)

遥感目标检测旨在遥感图像中获取重要目标的位置、种类等语义信息,在交通流量监测、交通疏导等领域中扮演了重要的角色。航空遥感数据包含了丰富的语义信息,通过识别遥感图像获取客机位置、态势等信息,将在很大程度上提升民航运行的安全性。在实际运行中,过远台的进近航空器会在雷达屏幕上消失25~30 s,这一段视野盲区将对民航安全运行带来隐患。过去由于卫星技术的限制,针对遥感图像的目标检测技术难以发展。随着北斗全球卫星导航系统正式运营,对地高分辨率观测系统相继建成,相关民用空间基础设施不断完善,利用遥感数据实时进行数据分析成为可能。为解决上述雷达进近盲区的问题,甚至实现智慧高效监测的目标,亟须将人工智能技术应用到民航监视系统的实际运行中。

随着AlexNet[1]和Resnet[2]的提出,推动了深层神经网络和计算机视觉的发展。目前发展较为成熟的深度学习目标检测方法主要有两类:一类是RCNN[3]、Fast-RCNN[4]、Faster-RCNN[5]等两阶段方法,检测需要先提取检测区域再分类回归,具有速度较慢但精度较高的特点;另一类是YOLOv1[6]、YOLOv2[7]、YOLOv3[8]等一阶段方法,通过直接回归的方式进行目标检测,精度相对低但速度快很多。李靓等[9]在遥感图像中采用FPN处理小目标检测。文献[10]针对遥感影像构建多特征融合NIN网络,实现不同特征遥感图像的目标检测。文献[11]提出支持向量机融合的检测方法。不难看出,随着残差网络、密集网络的提出与计算机硬件设施不断地完善,遥感图像利用深度卷积神经网络识别与检测越来越准确。文献[12]针对电力场景小目标漏检错检问题,在采用多尺度变换方法的基础上结合拉普拉斯算法进行锐化处理,提高了模型在监控视频下的检测精度。文献[13]在传统YOLOv算法上提出使用动态目标的坐标偏移量进行先验框回归运算的方法,对常规目标检测算法多目标锚框难区分的情形作出了改进,提高了机场场面目标的检测精度和检测效率。文献[14]提出将轻量级网络与金字塔层级网络进行特征融合。文献[15]将Tiny-YOLOv3中的特征提取网络替换为MobileNet以减少网络参数量。

解决终端区盲区航空器检测的问题对检测速度提出了更高要求,因此选用一阶段法YOLOv3对航空器目标进行检测。主要工作有:利用kmeans++算法结合线性放缩的方式筛选先验框,针对小目标数据集加入SPP特征提取结构,以深度可分离卷积替代普通卷积并构建4层金字塔加强特征提取网络等方式提高模型对小尺度目标的识别能力。

1 YOLOv3算法简介

1.1 网络结构

YOLOv3的网络结构包括主干特征提取网络和加强特征提取网络两个部分,如图1所示。

图1 YOLOv3网络结构

主干特征提取网络以Darknet-53为主,有1层卷积层和5层残差层。原始输入416×416×3,经过1层输出通道为32、卷积核大小为3×3、padding为1、stride为1的卷积,将得到的416×416×32图片放入残差层。每层残差层包含卷积下采样与堆叠残差块两个步骤。残差块是依次进行1×1、3×3两次卷积、BatchNorm正则与ReLU激活的结构,堆叠是指残差块数量按照1、2、8、8、4进行逐层堆叠。

加强特征提取网络以主特征提取网络底3层的输出作为输入,shape分别是52×52×256、26×26×512、13×13×1024,对位于最底层的13×13×1024输入,通过5次1×1、3×3调整通道数的交替卷积,可减少参数并得到13×13×512的图像,一个方向传播是进行两次卷积便得到最底层的预测输出,其shape为13×13×75,另一个是进行两倍上采样得到shape为26×26×256的图像,目的是为了在保留对大目标检测特征的基础上与输入的26×26×512图像进行多尺度特征融合,其余各层同理按步骤进行特征提取和融合,进而得到3层金字塔多尺度特征融合的结果,分别为13×13×75、26×26×75、52×52×75(感受野由大到小),75代表3×(4+1+20),即坐标、置信度与种类数。

1.2 数据处理流程

首先在数据传入网络前进行RGB转换以便输入图像的数据处理,再进行维度转置并添加batchsize维度实现归一化以满足网络尺度要求。其次筛选出某一区域内同类值最大的锚框并进行预测结果的堆叠。最后为得到最终的边界框,需要对预测框的位置进行调整,得出13×13、26×26、52×52这3个尺度分别对应在图像的位置,通过非极大抑制,即从种类置信度和物体置信度两方面判断是否大于阈值需求。

2 YOLOv3算法改进

2.1 先验框筛选改进

关于先验框的选择,原模型通过kmeans聚类算法进行筛选,可以聚类出9个效果不错的锚框,但kmeans聚类存在下述局限性:初始聚类中心的个数k难以确定,必须通过人工给定,导致聚类结果比较分散,且容易陷入局部最优。为减少确定初始聚类中心的主观性、增加筛选先验框的随机性,提出改进kmeans++对数据集进行初筛,算法:①随机选取数据集中的一个样本为质心,即初始聚类中心;②计算其余样本到已知聚类中心的欧氏距离,通过轮盘赌算法计算欧氏距离平方占比并推导下一个聚类中心的概率;③通过对上述步骤进行迭代,直到获取k个聚类中心;④将得到的k个聚类中心执行标准kmeans算法。

2.2 模型改进

YOLOv3目标检测采用的VOC数据集尺度较大,而航空遥感图像大多是小目标。为解决这一问题,首先本文在原3层加强特征提取网络的基础上增加第4层特征提取尺度,通过对原52×52×128的输出继续进行2倍上采样,与主特征提取网络的输出进行特征融合,构建4层金字塔特征网络结构,提高网络对小目标的检测能力。其次,基于Darknet53网络加入SPP特征提取结构,通过混合池化加强对图像特征的提取能力。最后在SPP结构后引入深度可分离卷积替代普通卷积,目的是在提升网络检测精度的基础上尽可能减少网络参数、提升网络运算速度,如图2所示。

ReLU激活函数会压缩卷积权值海量的特征信息,导致模型的表达水平急剧下降。ReLU6通过限制权值范围,可以更均匀地映射权值信息,使得权值特征更大可能被保留,因此ReLU6有效改善了ReLU权值范围相差过大的问题,很大程度上减少了量化误差。

图2 改进YOLOv3网络结构

2.3 模型训练

采用初始学习率为0.01、批次数为16、epoch数为300、衰减系数为0.000 5,以及动量为0.9的异步梯度随机下降进行训练。深度神经网络模型的训练通常都会使用原始的预训练权重,是因为原模型采用的数据集样本数远大于个人数据集,从零开始训练可能造成权重过于随机而导致特征提取效果变差。因此对算法的网络结构进行了重写,不直接迁移学习网络的预训练权值,通过主干网络的预训练权重进行训练,通过充足的训练来避免陷入局部最优。考虑到计算机GPU运算性能及显存容量的限制,将训练拆分为冻结与解冻两个过程。冻结的epoch轮数设置为50,冻结是指网络训练时不更新指定层中的权值,目的在于减少模型网络的训练和收敛的所需时间、避免梯度爆炸的可能,解冻的操作就是激活所有被冻结的进程,重启原先执行的任务,通常在fine-tune时使用。

3 实验及结果

3.1 运行环境与数据集

算法的运行环境为R7-5800 CPU,16G RAM,RTX3070 Laptop显卡,系统版本win10,数据集为武汉大学标注的公开遥感数据集RSOD-Dataset[16-17],航空遥感数据集包含446张图共4993架飞机,其中图像复杂背景、高曝光、低能见度和小目标等情况如图3所示。

图3 航空数据集实例

从数据集角度看,直接使用目标检测模型的识别精度较低,是因为遥感数据集具有以下3个层面的特殊性:背景复杂性,遥感图像通常具有相对大的视野,易混入部分干扰物体导致漏检误检的发生;视角特殊性,传统网络模型的数据集的采样视角基本都是平视拍摄,遥感图像的采样视角通常是在高空进行俯视;小目标问题,如图4所示,利用对航空遥感数据集进行聚类发现图像的目标通常都是小目标,通常只有几到几十像素且集中,与常规数据集分散的多尺度图像相比特征提取不显著。

图4 RSOD-Dataset聚类结果

3.2 评估参数

判断目标检测的好坏主要取决于精确率、召回率、AP值和F1值。精确率,又名查准率,即在全部预测正确集合中正确预测为正所占比例,反映检测准度;召回率,也称查全率,是在全部实际正确集合中正确预测为正的比例;AP值是Precision-Recall曲线下的面积,用以衡量模型的表现;平均正确率F1是一个直观体现检测性能的数值, 是精确度和召回率的调和平均值。

(1)

(2)

(3)

(4)

式中:TP表示正类被选中;FP代表负类被选中;FN表示正类未选中;P为精确率;R为召回率。用MAP代表平均精度。

3.3 消融实验

设计表 1所示的消融实验,目的在于分析不同种类trick对目标检测精度的影响。

表1 YOLOv3算法对比

表1中,模型1代表原YOLOv3的复现算法,向下依次表示在YOLOv3算法基础上采用不同trick后的模型,按列依次为4层加强特征提取网络、kmeans++线性放缩、SPP-DW结构。

表2显示,采用4层网络结构后模型的识别能力反而出现下降,这是因为航空遥感数据集目标尺度相对较小,而常规采用聚类得到的先验框类别单一,尺寸比例的分布相对集中,导致直接聚类生成的预测锚框存在精确率低、多漏检等训练效果较差的情况。针对小目标数据集不同的特征层应分配相应不同尺寸的先验框,例如shape越小的特征层适合越大的先验框,提出面向小目标数据集的线性放缩算法。

表2 消融实验结果

如图5所示,提出一种对真值锚框的宽高同步进行拉伸,保持真值框中心点的坐标不改变的线性缩放的缩放方式,使锚框离散在更多不同且有间隔的尺度上。

图5 线性放缩结果

将改进后的算法称为YOLOv3-4E,公式为

(5)

(6)

(7)

(8)

3.4 算法对比

为进一步验证本文提出算法的有效性,在ROSD航空遥感数据集上对比Faster-rcnn、SSD、YOLOv3和本文提出的YOLOv3-4E算法的性能表现(表3)。

表3 算法评估结果

表3显示,第1列表示对比采用的不同算法,依次为Faster-rcnn、SSD、YOLOv3和本文算法,它们的MAP依次为80.20%、64.97%、83.23%和88.58%,其中Faster-rcnn的检测精度较高,但归因于其两阶段算法本身的限制,导致FPS仅有10.72,未能达到实时检测的标准(FPS>30)。SSD算法的识别效果较差,MAP只有64.97%,原因在于该算法为应对不同尺度的检测任务,设计了6个不同大小的特征层进行目标识别,但原SSD模型缺乏多尺度特征融合的网络结构,造成深层网络语义信息丰富而浅层匮乏的问题,进而使得算法对小目标检测能力差。YOLOv3目标检测算法在检测精度和检测速度上都有不错的表现,但针对小尺度目标检测能力不足,在此基础上,本文提出的YOLOv3-4E算法通过线性放缩等多种trick改善了模型对小目标的识别精度,使MAP达到了88.58%,较原算法提高了5.66%,虽然网络加深等原因造成FPS值下降了3.55,仍达到实时检测标准,可以满足机场盲区航空器目标检测需求。

在上述实验条件下,绘制了原YOLOv3与本文算法YOLOv3-4E的平均损失函数曲线(图6)。本文提出的检测模型的训练损失在前 100 次呈现指数下降趋势,100~200轮下降趋势趋于平缓,200轮后损失函数的值稳定在0.048左右,YOLOv3算法在0.083左右,模型收敛速度显著超过原算法。该实验结果表明,本文所提的改进YOLOv3目标检测算法具有较好的效果。

图6 损失函数曲线

如图7所示,为了更加直观地体现检测效果,将原始YOLOv3和本文算法YOLOv3-4E的识别结果进行对比。本文算法在低能见度、复杂背景、高曝光及小目标等场景下的识别效果均优于原算法,显著改善原算法出现的误检、漏检状况,且在置信度上也有相当程度的提升,可知本文算法改进的有效性,且提高了对复杂场景下目标的检测能力。

图7 遥感图像检测对比

3.5 数据增广评估

基于RSOD-Dataset数据集,进行Mixup数据增广,构造最后进近定位点之后进场飞机的虚拟数据集。利用YOLOv3-4E算法进行目标检测,识别效果如图8所示。在航班实际运行中,利用YOLOv3-4E算法检测实时性的优势,帮助管制员看到进场飞机的实时动态,避免因管制工作负荷大、空中交通流量大的情况下的人为遗漏引起的航空器冲突。

图8 增广数据测试

4 结语

针对机场进近盲区的航空器,提出一种基于遥感图像的小目标检测方法,通过kmeans++与线性放缩相结合的方式筛选先验框,改善了小尺度数据集锚框过于集中引起的识别精度低的问题,在原网络结构基础上加入SPP混合池化提取网络结构,以深度可分离卷积替代普通卷积,同时面向小目标数据集提出4层金字塔的加强特征提取网络。设计了消融实验以对比不同trick所产生的影响。模型训练以RSOD-Dataset为数据集,并通过在相同环境下与Faster-rcnn、SSD、YOLOv3的对比,通过实例验证了本文算法具有更优的检测效果,依托于构建的虚拟进近数据集,通过对遥感图像的目标检测与数据分析,迅速确定进近航空器的位置,提供目标周边环境信息,向相关监视部门提供了一种新的实时、可视化的判断方法。

猜你喜欢
特征提取卷积聚类
基于3D-Winograd的快速卷积算法设计及FPGA实现
从滤波器理解卷积
基于Daubechies(dbN)的飞行器音频特征提取
基于傅里叶域卷积表示的目标跟踪算法
基于DBSACN聚类算法的XML文档聚类
Bagging RCSP脑电特征提取算法
基于高斯混合聚类的阵列干涉SAR三维成像
一种层次初始的聚类个数自适应的聚类方法研究
基于MED和循环域解调的多故障特征提取
一种基于卷积神经网络的性别识别方法