基于区域卷积神经网络的空中飞行物识别算法*

2021-12-30 05:36刘聪聪杨海马
传感器与微系统 2021年1期
关键词:候选框飞行物卷积

刘聪聪, 应 捷, 杨海马, 刘 瑾, 李 筠

(1.上海理工大学 光电信息与计算机工程学院, 上海 200093; 2.上海工程技术大学 电子电气工程学院, 上海 201620)

0 引 言

空中飞行物识别在禁飞区动态监视、空域交通安全管理等实际问题中有重要应用。空中飞行物主要包括无人机(UAV)、飞机(plane)、飞鸟(bird)三种类型。随着无人机日益增多,无序飞行严重影响了空域交通秩序。通过准确识别空中飞鸟,能够为后续驱赶飞鸟提供准确的信息,保障飞机飞行安全。如何提高空中飞行物的识别效率,是空管部门亟待解决的问题。

国内外众多学者对目标识别方法做了深入研究,这些方法大致可分为传统的目标识别方法[1,2]和基于深度学习的目标识别方法[3,4]。文献[1]利用正则化成对约束组件对无人机目标进行识别,并利用扩频通信传输重要数据,提高系统鲁棒性。文献[2]使用Hebbian规则训练的自组织神经网络来提取主成分特征,然后采用基于有向无环图支持向量机(directed acyclic graph support vector machine,DAGSVM)的分类器来识别飞行目标。文献[3]提出用双通道卷积神经网络离线训练,对目标进行检测和实时跟踪。文献[4]采用改进的LeNet-5模型构建无人机特征学习网络。

针对飞行目标识别的准确率低、效率低等问题,本文提出改进的基于区域卷积神经网络的空中飞行物识别方法,采集空中飞行物图片并构建数据集,利用卷积神经网络结构对数据集进行训练和测试,利用ETX80摄像头和PC搭建空中飞行物识别系统,能够实现空中飞行物的准确快速分类、识别和定位,有效保障空域安全。

1 深度学习简介

在过去几年中,深度学习已经在各种问题上取得了很好的表现,其中在图像和视频处理领域,有大量学者对卷积神经网络进行了研究。卷积神经网络利用注释数据量的快速增长和图形处理器单元强度的巨大改进,在目标识别的任务上取得了先进的结果[5]。

针对目标检测提出了许多深度学习模型,例如VGGNet[6],GoogleNet[7],ResNet[8],Faster R-CNN[11],YOLO,SSD[12]等。VGGNet[6]将网络深度推至19个重叠层,并在每个卷积层中使用非常小的3×3滤波器。GoogleNet[7]增加了网络的深度和宽度。ResNet[8]提出深度残差网络的概念,在一定程度上解决了网络层加深时梯度爆炸的问题。目标检测的最新进展是由区域建议网络RPN和基于区域的卷积神经网络R-CNN成功驱动的[9],Fast R-CNN[10]和Faster R-CNN[11]表明,使用RPN能够提高区域建议的质量,从而提高整体的目标检测精度。YOLO可以通过直接预测边界框的方法提高目标检测系统的速度,但目标位置过于粗糙。为此,SSD[12]进行了改进,将不同规模的滑动窗口用于不同深度的网络层回归,但其对小目标的检测效果仍然次于Faster R-CNN。本文在经典的Faster R-CNN算法基础上进行改进,构建空中飞行物识别系统,对无人机、飞机、飞鸟三种飞行物进行识别、分类和定位。

2 系统构成

本文构建的空中飞行物识别系统的主要流程如图1所示,首先采集图片构建数据集,并按照一定比例划分为训练集和测试集,然后在Faster R-CNN模型的基础上构建深度学习模型,初始化模型参数并利用训练集对构建好的模型进行训练,在训练的过程中采用反向传播的方式对各层的权重参数进行调整。

图1 空中飞行物识别流程图

2.1 构建、划分数据集

实验数据有无人机、飞机、飞鸟三类图像,均通过网络进行采集,并通过镜像翻转方式进行扩充,最终每类图像采集数量为600张,数据集一共1 800张图像,在完成数据采集的基础上,对数据集进行以下预处理:

1)尺度规整与重命名:由于数据来源均从网络得到,图片分辨率不同,因此对图片尺度进行规整,设定图片尺度最大为1 000×1 000,如果图片小于该尺寸,进行边缘补0操作。除此之外,为了方便数据集的划分和模型的训练,本实验将所有图片按照“000***”的方式进行命名,图片名称为“000001”~“001800”。

2)保存图像标注信息:在模型训练时,需要训练图像的边界框信息作为监督,所以要将数据集的图片中所有物体使用框进行标注,并生成XML格式的文件,保存图像的地址、尺寸、目标物体所在矩形框坐标信息,以及目标物体种类等信息。

3)数据集划分:对数据集类别标签进行划分,分为4个.txt文件,其中train.txt存放训练数据,比例为64 %;val.txt中存放验证数据,比例为16 %;trainval.txt将上面两个进行合并,所占比例为80 %;test.txt中存放测试数据,比例为20 %。

2.2 构建深度学习模型

Fatser R-CNN[11]是继R-CNN[9],Fast R-CNN[10]之后,由Ross Girshick团队提出的经典模型,在目标检测方面具有检测速度快、精度高的特点。

本文针对研究目标的特点,在此模型基础上进行以下改动:将特征提取网络VGG-16转换成深度残差网络ResNet;针对数据集特点,更改网络批次数据量、迭代次数等参数;飞行物识别网络输出的类别数为3类,因此将输出层神经元个数改为3。模型结构如图2所示,主要包括特征提取层、区域建议网络(region proposal network,RPN)、感兴趣区域池化(ROI pooling)层、分类层。

图2 模型结构

1)特征提取首先利用全卷积网络对图像进行处理,提取特征作为RPN模块的输入。本文使用深度残差网络ResNet101来代替VGG16。残差网络通过增加残差块解决了深度增加带来的退化问题,因此更容易优化,通过增加网络深度来提高准确率,比VGG16能达到更好的效果[8]。ResNet101和VGG16的卷积网络结构对比如表1所示。

表1 VGG16与ResNet卷积网络结构对比

2)区域建议网络

传统的区域建议(region proposal)生成方法都是比较费时的,在Fater R-CNN中,RPN被用来生成区域建议,极大地缩短了运行时间。首先在特征图上滑动一个3×3大小的窗口,将当前3×3区域的中心点映射回原图,然后将锚点(anchor)面积为{1282,2562,5122},面积为{1:1,1:2,2:1}的候选框放置在原始图上,因此每个像素对应9个锚点。接着将这些候选框输入2个同级的边框回归层和分类层,边框回归层用于调整候选框的位置,分类层用于判断框中物体是否是目标(目标还是背景)。最后,保存候选框信息,输入感兴趣区域池化层做进一步的处理。

3)感兴趣区域池化层和分类层

通过区域建议网络提取的候选框存在大小不一的问题,感兴趣区域池化层就是为了解决这一问题。感兴趣区域池化层收集ResNet101卷积网络得到的特征图和区域建议网络得到的候选框信息,如果候选框坐标为(x0,y0,x1,y1),那么尺寸为(y1-y0)×(x1-x0),如果要求输出尺寸为heightpool×widthpool,那么候选框中滑动核的大小应为

(1)

在感兴趣区域池化层之后,提取候选框特征图作为分类的输入。利用边框回归使检测到的目标更加准确。边框回归输出为

(2)

(3)

(4)

(5)

式中x,xa和x*分别为预测框、候选框和真实框的中心x坐标;y,ya和y*表示中心y坐标;w,wa和w*表示宽;h,ha和h*表示高。图像的损失函数定义为

(6)

2.3 模型测试

1)图像获取装置

本文采用的图像获取装置为ETX80消色差折射式望远镜,包含一个两片式消色差物镜,可以减少光线通过透镜后行程的色差,采用双光路设计,能够在不同目标间轻松切换,配置9.7 mm和6 mm目镜,满足观测所需的高低倍率,配置红点寻星镜能够快速锁定观察的目标。

2)SoftMax分类器

将ETX80摄像头采集到的图像输入训练好的改进Faster R-CNN模型中,对图像类别UAV,plane,bird进行判断,对目标进行边界回归计算,如式(2)~式(5)所示,同时利用SoftMax算法计算目标所属类别的概率值为

(7)

3 实验结果与分析

1)实验环境与参数设置

Intel®Xeon®CPU,运行环境为8 GB的Win10 64位系统,编程环境为PyCharm2017,编程语言为Python3.5.2,深度学习框架为Tensorflow1.4.0。

实验过程中的参数设置如下:训练图片和测试图片的最长边像素最大值为1 000;迭代次数为40 000次;权重衰减值设置为0.000 5;学习率设置为0.001;网络每批次输入数据量设置为16。

2)实验结果与分析

实验一共进行了40 000次迭代,每经过10次迭代,记录一次Loss值,如图3所示,为了直观地显示训练过程中的损失值的变化情况,采用Polyfit函数对曲线进行拟合,可以清楚地看到随着迭代次数的增加,损失值不断减少直至趋于平缓。

图3 Loss曲线图

测试过程中的检测结果如图4所示,飞行物位置用矩形框表示,飞行物类别和所属类别的概率值用白字表示,从实验结果可以看到,本文提出的算法对UAV、plane、bird在不同的复杂背景下都能够达到很好的识别效果,输出概率值在98 %以上,除此之外,考虑到鸟类经常以群体姿态活动,当采集到的图片中出现多个目标或者图像不完整时,本文算法也能够很好地进行识别。

图4 实验效果

对分类算法进行评价的常用指标有混淆矩阵(confusion matrix)、ROC曲线和AUC面积,本文采用可视化程度高的混淆矩阵对算法进行评价。在如图5所示的混淆矩阵中,行表示图片实际所属的类别Actual class,列表示通过算法预测出来的类别Predicted class,对角线值表示正确识别的飞行物的数量,而非对角线值表示误识别的飞行物的数量。

图5 混淆矩阵

本文使用的测试图片数量一共是360张,每类图片120张,由混淆矩阵可以直观地看出以下信息:对于AUV类,120张图片中有117张识别正确,3张被误识别为plane类,准确率为97.5 %;对于plane类,120张图片中有115张识别正确,4张被误识别为AUV类,1张被误识别为bird类,准确率为95.8 %;对于bird类,120张图片中有116张识别正确,3张被误识别为AUV,3张被误识别为plane类,准确率为96.7 %。本文方法的平均准确率为96.7 %。使用FasterR-CNN方法对UAV,plane,bird识别的准确率分别为93.3 %,95 %,92.5 %,平均准确率为93.6 %。将本文改进的方法与FasterR-CNN方法得到的实验结果进行对比,准确率提高了3.1 %。

4 结 论

为了有效管理空域交通,本文针对空中飞行物识别准确率低的问题,使用改进的Faster R-CNN算法对不同背景下多种姿态的UAV、plane、bird三种飞行目标进行识别,实验平均准确率达到96.7 %,具有良好的识别效果。由于网络结构的复杂性,在达到高识别率的同时使识别效率降低,后期将继续对网络结构进行研究,目的在于提高网络模型的工作效率。另外,在实际运用中,后期将不断对图像采集系统结构进行改进。

猜你喜欢
候选框飞行物卷积
重定位非极大值抑制算法
面向自然场景文本检测的改进NMS算法
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于深度学习的重叠人脸检测
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
一种针对特定目标的提议算法
不明“飞行物”
一种基于卷积神经网络的性别识别方法