一种基于深度学习的禁飞区无人机目标识别方法
2018-06-21虞晓霞刘智耿振野陈思锐
虞晓霞,刘智,耿振野,陈思锐
(长春理工大学 电子信息工程学院,长春 130022)
近年来,随着科学技术和人工智能技术的发展,各类小型无人机日益增多,其性能不断提升,应用领域不断扩大,在方便人们生活的同时也引发了不良影响。无人机的无序飞行时有发生,不仅严重扰乱了空域交通秩序,也引发了很多安全事故,如干扰民航机场的客机正常起飞与降落等[1-3]。为此,空管部门通过设定禁飞区域、无线探测干扰、电磁探测、声音探测、视频监控、轨迹预测等几种主要技术手段对无人机进行管控[4-6]。但随着无人机技术的发展,低空小型无人机越来越具有体积小、隐身化、飞行噪声低、防电磁干扰等特点,以上几种方法在探测无人机的过程中不仅体现出成本高的缺点,还具有一定程度的局限性。所以,如何提高禁飞区域周边无人机识别效率成为空管部门亟待解决的问题。
深度学习作为目标识别领域较为有效的手段之一,在物体分类、图像识别等问题中都有非常广泛地应用,但目前,深度学习在无人机目标识别方面还没有成熟的应用方案。针对上述无人机探测方法高成本、低效率及应用局限等问题,提出了一种基于深度学习的禁飞区无人机目标识别的方法,利用深度学习网络对多种类型的无人机进行特征提取和特征训练,通过多次训练确定网络结构层数及权值的最佳值,实现快速自主识别是否有无人机非法靠近禁飞区域,为无人机禁飞区的监控预警系统提供重要信息,从而更高效地保障机场等重要空域的交通安全。
1 深度学习简介
深度学习是实现人工智能过程中的一项重要技术。2006年,加拿大多伦多大学教授Geoffrey Hinton在《科学》上提出多层人工神经网络模型能够更好的模拟人脑进行特征学习,进而提高数据分类能力[7]。Hinton的观点是机器学习领域中一次大的突破,也开启了机器学习新的大门—深度学习。
深度学习源于人工神经网络的研究,根据构建具有多隐层的机器学习模型,通过大量训练数据,学习重要目标特征,最后实现高效分类或预测。在此过程中,“深度模型”是手段,“特征学习”是目的[8]。如图1所示,不同于浅层神经网络,深度学习通常含有2层以上的隐含节点,且侧重于特征学习,在训练时通过采用逐层训练机制,有效克服了多层结构中常见的“梯度扩散”现象。
图1 神经网络和深度学习
2 基于深度学习的禁飞区无人机目标识别方法
禁飞区无人机目标识别的主要任务是从监控系统的图像中自主识别出无人机,实现对禁飞区周界无人机的自主监控,进一步保障重要空域交通安全,其实质属于目标识别领域。目前,该领域的典型成果是LeNet-5识别算法[9],该算法是一种用于识别手写数字的卷积神经网络,通过对0到9十个数字的各种形态图像进行训练,实现将任意数字的手写体进行准确分类的目的,且准确率为98%以上。该方案是深度学习应用于目标识别领域的成功案例,为无人机目标识别的研究提供了重要参考价值。
由于禁飞区周界监控系统中图像信息量较丰富,且无人机的种类和飞行姿态也越来越具有多样性,传统识别方法识别难度较大。因此,引入深度学习方法提高目标识别效率,其总体框图如图2所示。首先将获取的图像数据进行预处理并划分为训练集和测试集,然后将训练集和测试集共同输入到深度学习网络进行处理,训练集用于网络的特征学习及训练,测试集用于识别效率的检验。
图2 无人机识别总体框图
2.1 图像获取
用于图2无人机识别的数据有无人机和非无人机两类图像,其获取方式及数量如表1。
表1 数据获取方法
表1中Caltech101数据库[10]由加利福尼亚州理工学院Li等人创建,包括平均分辨率为300×200的102类,9146幅图像。
目前,开源的深度学习数据集中多为战机和客机类,无人机类图像较少,而现在的重要空域(如机场)周界均设有全方位监控系统,因此,无人机类图像通过模拟机场监控网络进行采集。如图3所示,整个监控网络包括多个监测区[11],每个监测区由多个摄像机构成,通过多台摄像机交叉覆盖监控,对目标区域进行全方位监控。在实际应用时,可根据禁飞区域范围改变摄像机的数量、放置地点以及拍摄焦距,调整监控范围。
图3 图像采集网络
2.2 输入数据预处理
输入数据的尺寸规格与深度学习网络中卷积核的选取密切相关,输入图像太大,训练参数就会大幅增多,输入图像太小,又会引起图像细节特征的丢失。因此,对于输入数据的预处理操作主要有以下两点:
(1)样本大小
由表1知,由于两类实验数据来源不同,所以图像大小也不同。深度学习网络的输入数据需统一大小,因此在完成数据采集的基础上,统一将输入数据大小转换为256×256像素,以便完成无人机目标识别的后续步骤。
(2)样本数量
通过深度学习网络进行无人机目标识别时需要大量样本数据,若全部采用图像采集网络获取无人机图像,工作量将会非常大。因此,通过对部分无人机图像进行翻转、调整对比度等数据增强方式,可以使无人机类样本集扩大至1100张。
2.3 模型构建
卷积神经网络是深度学习中用于识别二维图形的一种特殊的图像识别方法,属于效率较高的多层前向反馈网络。该网络结构对平移、比例缩放、倾斜等变形具有高度不变性,且通过局部连接、参数共享、下采样和多卷积层的计算减少了网络模型的训练参数,降低了其复杂度,提高了训练速度[12]。卷积神经网络中每层均由多个二维平面组成,每个平面由多个独立神经元组成,通过多个卷积层和下采样层构建多层网络,模拟人脑视觉的逐层处理机制,对图像进行不同层次特征的提取。
卷积神经网络的经典模型LeNet-5最早应用于手写数字识别,输入为32×32的图像,输出分类量为10。对比于手写数字识别,无人机类特征较复杂,输出分类量较少。如果用LeNet-5直接进行无人机图像样本训练,并不能达到很好的效果。因此,针对禁飞区无人机目标识别的特点,对经典模型LeNet-5的改进操作有以下三点:
(1)由于输入的无人机样本特征类型比手写数字复杂,且特征提取与目标识别效果密切相关,因此,第一次卷积过程中的卷积核大小由5×5改为9×9,且滑动步长由1改为2,由此提高无人机图像特征的提取质量。
(2)无人机识别网络输出的类别数为2类,因此,输出层神经元的个数由10改为2。
(3)将激活函数Sigmoid改为ReLu函数,ReLu函数在深层网络中的收敛速度和工作效率均高于Sigmoid函数。
改进后的卷积神经网络如图4,图中x为输入图像,当x的尺寸大小为m×n,随机采样大小为x×y,隐层节点个数为t时,则经过学习得到的特征数目
输入层x是输入的图像,本实验的输入是256×256的样本图片。H1层(卷积层)通过9×9卷积核和大小为2的滑动步长提取6组大小为124×124的特征图,H2层(下采样层)按1:2进行下采样得到6组大小为62×62的特征图,H3层(卷积层)通过5×5卷积核和大小为1的滑动步长提取12组大小为58×58的特征图,H4(下采样层)同样按1:2进行下采样得到12组大小为29×29的特征图,H5层(全连接)共有10092个单元,分别与H4的对应单元相连,H6层(全连接)包括两个分类单元,输出层连接上层的分类单元,输出分类结果。
2.3.1 卷积层的构造
图4 改进卷积神经网络整体结构图
图4中H1和H3层是通过卷积进行特征提取的滤波过程,称为卷积层。输入层到卷积层的连接和计算过程如图5(a),下采样层到卷积层的构造过程如图5(b)所示。
图5 卷积层构造示意图
卷积层H1的输出特征信号为:
卷积层H3通过从H2选择多个下采样特征图和多个卷积核进行计算。设每次从H2选择r个下采样特征图,分别用h2,αi(1≤i≤r)表示,则卷积层H3的输出特征信号为:
在式(1)~(2)中,h表示的对应层的单个卷积特征图,W表示卷积核,f表示激活函数。
2.3.2 下采样层的构造
图4中H2和H4层是对卷积层输出的特征信号进行下采样计算,因此叫做下采样层。卷积层到下采样层的工作过程如图6所示。
该层以对应的采样窗口为步长进行扫描采样,进一步减少卷积层的特征维数,缩减输入数据的规模,抑制过拟合现象,提升特征对微小畸变、旋转的容忍度,增强算法的性能。下采样过程为:
其中,g为激活函数,权值β2一般取值为1,dowm(⋅)为下采样函数,偏置γ2一般取值为0矩阵。H4层同理,此处不再赘述。
图6 下采样层构造示意图
2.3.3 全连接层的构造
全连接层是对原始信号的高级抽象,该层输出作为最终信号传输到输出层,进行分类。如图4所示,H5和H6为全连接层。全连接层后为输出层,输出层使用Softmax分类器进行数据分类,其数学表达如式(4):
2.3.4 激活函数的选择
在图4中的H1-H5层中均选择Relu函数作为激活函数,其函数表达为[13]:
深度学习中常见的三种激活函数图像如图7,图中实线部分为ReLu函数,即当x<0,f(x)=0,当x≥0,f(x)=x。
图7 三种激活函数
与Sigmoid、Tanh函数相比,ReLu函数具有单侧抑制、兴奋边界宽和稀疏激活性的特点[13],更接近生物大脑处理机制。在深度网络中Relu函数可以有效缩减训练时间,提高收敛速度。
2.4 基于深度学习的禁飞区无人机目标识别过程
基于深度学习的禁飞区无人机目标识别流程如图8所示。在完成数据获取、预处理和网络构建后,通过深度学习网络进行训练,训练过程采用反向传播方式进行参数调整。训练部分分两步进行:
①正向传递:由输入样本数据得到输出样本数据;
②反向调整:计算输出数据与标签数据的误差,通过BP算法逐层调整各项权值参数,使误差减小。
图8 无人机目标识别流程图
根据图4和图8,从输入到输出的算法计算过程为:
卷积神经网络在本质上属于多层前馈网络,因此权值和偏置采用反向传播算法进行学习和训练。对于第l个输入样本,卷积层和下采样层的计算过程为:
相应的反向传播误差信号(或灵敏度)为:
由以上各式可得各权值和偏置的更新过程为:
在式(7)~(9)中,表示第k层的第i个输入特征图到第j个输出特征图的权值矩阵,表示第k层的第j个输出特征图的偏置分别表示第k+1层的乘性偏置和加性偏置。
3 实验结果与分析
(1)实验环境:Intel(R)Xeon(R)CPU,运行内存为32GB的Win7 64位工作站,编程环境为MATLAB R2014b。
(2)实验数据:按照2.1节中表1所示的获取方式及数量获得实验数据,即2200张256×256像素的图像数据,数据集中部分图像如图9所示。
(3)程序架构:Caffe架构。目前已有多种程序架构用于深度学习的实现,但Caffe架构在识别分类方向应用较为成熟。Caffe[12,13]是一个集表达、速度和模块化于一体的清晰而高效的深度学习架构,同时其GPU接口加快了程序运行,可以有效缩减算法训练时间。
(4)实验过程
根据图8所示的无人机目标识别流程图进行实验,其程序代码的主要结构如下:
Cnn_UAV.m:基于卷积神经网络进行无人机目标识别的主函数。
Cnnsetup.m:构建卷积神经网络的函数,初始化卷积核、偏置等参数。
Cnntrain.m:使用训练样本对卷积神经网络进行训练的函数。
Cnnff.m:完成前向训练过程。
Cnnbp.m:计算目标函数,完成网络误差(error)的反向传递及梯度的计算。
Cnnapplygrads.m:更新网络的权值及偏置等参数。
图9 数据集部分图像
Cnntest.m:使用测试样本测试当前模型的目标识别准确率。
UAV data.mat:实验数据集。
实验程序运行过程如图10。
图10 实验程序运行流程图
训练过程的主函数在Cnn_UAV.m中运行,导入数据集UAV data.mat后,首先通过调用Cnnsetup.m函数定义实验所用的卷积神经网络结构,并进行数据初始化;然后调用Cnntrain.m函数进行训练,训练中调用Cnnff.m函数完成卷积神经网络的前向计算过程,调用Cnnbp.m计算目标函数值,以及目标函数对权值和偏置的调整值,通过调用Cnnapplygrads.m将计算出来的梯度调整值加到原始模型中,完成网络更新;最后调用Cnntest.m函数,用测试样本对当前模型进行识别率测试。实验中识别误差率的计算方法为:
(5)实验结果及分析
根据以上代码结构,首先利用经典卷积神经网络模型进行实验,通过“struct('type','c','outputmaps',6,'kernelsize',5)”将第一层卷积层(H1)中的卷积核大小初始化为5×5,且滑动步长初始化为1,依次设置学习率(参数opta.alpha)为0.1和0.05,分别进行10、50、100次迭代实验,并得到不同的识别误差率,如表2所示的实验数据即为经典模型的实验结果。
表2 经典模型实验结果
由表2知,当学习率为0.1,迭代100次时,误差率为2.77%,小于10次及50次迭代时的误差率;当学习率为0.05,迭代100次时,误差率为4.22%,同样小于10次及50次迭代的误差率。当迭代次数一定时,经过对表2数据的横向比较,可知学习率为0.1时,实验误差率较低;当学习率一定时,经过对表2数据的纵向比较,可知当迭代次数为100时,实验误差率较低。因此,利用经典模型进行实验时,当学习率为0.1时,迭代100次的识别误差率较小。
通过“struct('type','c','outputmaps',6,'kernelsize',9)”将第一层卷积层(H1)中的卷积核大小初始化为9×9,且滑动步长初始化为2,依次设置学习率(参数opta.alpha)为0.1和0.05,同样分别进行10、50、100次迭代实验,得到不同的识别误差率,如表3所示的实验数据即为改进模型的实验结果。
表3 改进模型的实验结果
由表3知,当学习率为0.1时,迭代100次时,误差率为2.41%,低于10次及50次迭代时的误差率;当学习率为0.05时,迭代100次时,误差率为3.86%,仍低于10次及50次迭代时的误差率。当迭代次数一定,经过对表3数据的横向比较,可知学习率为0.1时,实验误差率较低;当学习率一定,经过对表3数据的纵向比较,可知迭代100次时,实验误差率较低。即利用改进模型进行实验时,当学习率为0.1时,迭代100次的实验误差率较低,此时误差率为2.41%,识别误差率变化曲线如图11。
图11 识别误差率变化图
根据表2及表3中实验数据的分析结果,将两种模型在学习率为0.1,迭代100次时的实验数据进行综合对比,如表4。
表4 综合对比
通过表4数据对比可以发现,在样本集、学习率、迭代次数等条件相同的情况下,对于无人机目标识别,相比于经典模型,改进后的模型降低了图像的错误识别数量,同时提高了目标识别率,经过对二者识别误差率进行做差运算,得出改进后模型比经典模型提高了0.36%的目标识别率。
4 结论
为了有效遏制无人机乱飞现象,将深度学习技术应用于禁飞区无人机目标识别方法中,构建了适用于禁飞区无人机特征的深度学习网络,实现了无人机目标的自主识别。经过实验验证,当学习率为0.1,迭代100次时,改进后模型的识别错误率是2.41%,比直接应用经典卷积神经网络模型高出0.36%的识别率。在网络结构的设计上,还是存在一些冗余现象,导致收敛速度慢,后期将继续对网络结构进行研究,目的在于进一步提高模型的工作效率。另外,目前的研究工作仅针对无人机识别,在此基础上,后期将进行禁飞区预警方法研究,希望在禁飞区安全管理领域具有更加广泛的应用。
[1]吴沁怡.我国无人机的发展现状与展望[J].科技展望,2016,26(12):285-285.
[2]邴丽媛,刘智,蒋余成.基于模糊神经网络的电力巡线无人机避障技术研究[J].长春理工大学学报:自然科学版,2017,40(3):98-102.
[3]马岩,曹金成,黄勇,李斌.基于BP神经网络的无人机故障诊断专家系统研究[J].长春理工大学学报:自然科学版,2011,34(04):137-139.
[4]冬月.加强无人机监管的若干思考[J].呼伦贝尔学院学报,2017,25(03):42-45.
[5]程家晖.基于深度卷积神经网络的飞行器图像识别算法研究[D].杭州:浙江大学,2017.
[6]何煦.对低空小型无人机的对抗方法研究[J].中国新通信,2016,18(15):147-149.
[7]Krizhevsky A,Sutskever I,Hinton G E.ImageNet classification with deep convolutional neural networks[C].International Conference on Neural Information Processing Systems.Curran Associates Inc.2012:1097-1105.
[8]吴岸城.神经网络与深度学习[M].北京:电子工业出版社,2016:66-80.
[9]李斯凡,高法钦.基于卷积神经网络的手写数字识别[J].浙江理工大学学报,2017,37(03):438-443.
[10]傅瑞罡.基于深度学习的图像目标识别研究[D].长沙:国防科学技术大学,2014.
[11]蒋兆军,成孝刚,彭雅琴等.基于深度学习的无人机识别算法研究[J].电子技术应用,2017,43(07):84-87.
[12]赵永科.深度学习:21天实战Caffe[M].北京:电子工业出版社,2016:15-18.
[13]乐毅,王斌.深度学习:Caffe之经典模型详解与实战[M].北京:电子工业出版社,2016:15-17.