首页 / 基于深度学习的无人机警察系统

基于深度学习的无人机警察系统无效专利 发明

技术领域

[0001] 本发明公开了基于深度学习的无人机警察系统,用于无人机飞行管理,涉及无人机和图像识别的技术领域。

相关背景技术

[0002] 目前关于无人机的研究多集中在无人机运动控制方面以及利用无人机航拍获取图像数据方面,真正研究无人机监管和识别的还比较少。无人机因其灵活可控的优势被广泛引用于拍摄图像/采集视频,同时,无人机因其灵活可控对其飞行区域内的人身安全和隐私造成了困扰,因此需要对无人机监督/识别提出可行方案。国外已有无人机配合警察执法的方案,但考虑到公民隐私等问题,没有大量投入使用,且这些方案都局限于在军事禁区这样的特定区域内使用。
[0003] 根据视觉传感网(Visual Sensor Networks,VSNs)这一无线传感网的应用特例构建无人机监管系统可能会遇到存在监控盲区等问题。在无人机识别算法方面,因为飞行物模式存在多样性,许多传统的优秀特征(诸如:Haar,HOG,CSS,LBP)无法适用于无人机识别领域。深度学习算法通过其深度网络结构能够学习到物体的高层特征,同时,深度学习算法具有较好的可扩展性且训练速度存在较大的提升空间,因此,深度学习算法为实现无人机识别提供了一种可行思路。在此背景下,本发明旨在提出一种可行的无人机监督/识别方案。

具体实施方式

[0028] 下面结合附图对发明的技术方案进行详细说明。
[0029] 如图1所示,本发明采用摄像机阵列和若干无人机构成VSNs的一个节点,采用VSNs技术搭建无人机警察系统的框架。本申请在构成VSNs的每一个节点中加入获取了飞行许可的无人机作为辅助监控的手段,获取了飞行许可的无人机能够对摄像机阵列的监控死角进行巡逻监控或对摄像机阵列拍摄范围进行重点监控。无人机弥补了地面固定监测存在监控漏洞且监控方式不够灵活的缺陷,同时还可以在需要的情况下对局部区域进行重点监控,提高了整个系统的性能。
[0030] 另外,考虑到多节点提供的数据量庞大以及优化控制结构的需要,将如图1所示的视觉传感网设计成如图3所示的三层结构。位于最底层的第三层如图2所示由数量不等的节点构成的一系列簇(图3中仅表示了一个簇)组成,每个簇内的节点统一将数据发往一台次级处理服务器;位于中间层的第二层由次级处理服务器构成,每一个次级处理服务器处理一个簇发送来的数据,各次级处理服务器处理簇发送的数据后向顶层发送识别结果;位于顶层的第一层为主服务器,主服务器存储次级处理服务器发送的识别结果并对次级处理服务器的运算任务做出安排和调度。此外,中间层还包括对各节点运作进行控制的控制服务器,控制服务器一端接收来自主服务器的控制命令,控制服务器的另一端向对应的节点发送控制命令;为确保控制命令的准确下达,控制服务器与各节点之间的通信、控制服务器与主服务器之间的通信也都是双向的。
[0031] 主服务器下达的初始指令经控制服务器传达至底层各节点,各节点接收到初始指令后开始图像采集/视频拍摄,整个系统进入工作状态;簇内各节点获取的监测图像或者视频(简称簇内数据)需要先经过一个预处理芯片,预处理芯片对其接收簇内数据进行包括帧差提取在内的一些前期工作,这样的目的是减轻次级处理服务器同时处理多节点数据的负担;当中央高级处理器向簇内各节点下发识别指令时,经预处理的簇内数据被送往该簇对应的次级处理服务器,次级处理服务器运行识别算法处理簇内数据得到识别结果并将预判结果以及位置信息等消息传递给主服务器,在次级处理服务器处理簇内数据并上传识别结果的同时,控制服务器发送包含各节点运行状态的反馈信息给主服务器,主服务器再根据反馈信息修改或维持各节点的控制方式。
[0032] 次级处理服务器运行的无人机识别算法,通过训练一个基于卷积神经网络(Convolutional Neural Networks,CNNs)的深度学习网络得到一个高效的识别模型,进而实现无人机和非无人机的分类。卷积神经网络如图4所示,卷积层1滤波器数量为48个,卷积核大小为9;卷积层2滤波器数量为64个,卷积核大小为5;卷积层3滤波器数量为64个,卷积核大小为3。池化层的池化方法都设置为最大池化。网络中不添加Dropout层。
[0033] 1)激励函数的选择
[0034] 关于网络中神经元的激励,传统神经网络有Sigmoid函数和TanH函数这两个常用的激励函数。从图像上看,Sigmoid函数和TanH函数可以很好地将输入映射到一个局部区间,这比早期的线性激励函数又或是阶跃激励函数有所进步。实际上,深度网络对非线性的依赖性并没有那么强,同时,稀疏特征并不需要网络具有很强的处理线性不可分机制。考虑到以上两点,在深度学习模型中使用线性激励函数更为合适。
[0035] 因此我们选择反射线性单元(Reflected Linear Unit,ReLU)函数作为激励函数,其表达式如下:
[0036] f(x)=max(0,x),  (1)
[0037] 由于Grad=Error·Sigmoid'(x)·x,双端饱和的Sigmoid函数一旦进行递推会导致多层反向传播,梯度将会衰减,进而导致网络学习速率下降。选择了ReLU作为激励函数以后,梯度法训练深度网络时的梯度消失问题得以解决。因为ReLU函数是单端饱和的,不存在这种问题,最终目标函数可以收敛。
[0038] 2)损失层的选择
[0039] 损失层通过将输出与目标进行比较并配置参数使代价最小来驱动学习过程。损失本身通过正推法进行计算,而损失的梯度用逆推法进行计算。有以下常用类型:
[0040] Softmax损失层计算输入的softmax的多项罗杰斯特损失。概念上等同于一个softmax层紧接一个多项罗杰斯特损失层,但提供了数值更加稳定的梯度。
[0041] Euclidean损失层计算两个输入的平方差的和:
[0042]
[0043] 式(2)中,N为欧式空间的维数, 分别为两个输入量在第i维的坐标。
[0044] 由于期望本发明涉及的无人机警察系统在未来不仅仅能够区分出采集点图像的区域内是否有无人机,还能够进一步识别非无人机对象具体是鸟类或是其他物体。因此,本申请采用罗杰斯特回归扩展的一种多分类器-Softmax回归实现分类。其系统方程h及系统损失函数J分别为:
[0045]
[0046]
[0047] 式(3)中,θ为行数是k参数矩阵,参数矩阵每一行表征一个类别所对应的分类器,参数矩阵的每一列表征各分类器提取的一个特征,hθ(x(i))表示系统在参数矩阵θ下对输入量x归类的结果,y(i)表示输入量x被归为第i类的分类结果,p(y(i)=1|x(i);θ)、p(y(i)=2|x(i);θ)、p(y(i)=k|x(i);θ)分别表示根据第i个特征将输入量x归为第1类、第2类、第k类的概(i) (i) (i) (i)率,θ1x 、θ2x 、θjx 、θkx 分别为分别表示根据第i个特征将输入量x归为第1类、第2类、第k类的概率分布1{}是一个指示性函数,当后面括号中值为真,函数值为1,否则为0。
[0048] 因此,该深度学习网络损失层选择的类型为SoftmaxWithLoss。
[0049] 3)深度网络的解决方案
[0050] 网络的解决方案通过调整网络前向传播以及反向梯度修改能够改善损失的参数更新,最终实现模型的最优化。具体来讲,解决方案首先调用正推过程生成输出和损失,然后调用反向传播的方法产生模型的梯度,在这之后将梯度合并到权值更新中,从而使损失最小化。
[0051] 求得的梯度要用于参数更新,需要能够解决损失最小化统一优化问题的方案,对输入数据集D,优化目标就是整个数据集上全部|D|数据实例的平均损失函数:
[0052]
[0053] 这里,fW(X(i))是数据实例X(i)上的损失值,r(W)是一个带权值λ的正则化项。
[0054] 由于|D|可以非常之大,所以在实际中,每次解决方案的迭代使用该目标的随机估计,刻画一个大小为N的迷你批次,N<<|D|:
[0055]
[0056] 模型在前向过程中计算fW,在反向过程中计算梯度 参数更新ΔW根据解决方案从错误梯度 正则化梯度 以及其它方法的特定内容中形成。
[0057] 一种常用的方法是随机梯度下降法(Stochastic Gradient Descent,SGD)。公式如下:
[0058]
[0059] 其中,V表示权值更新量,下标表示迭代次数,α为学习率,μ为动量参数。参数α和μ的设定有一定的策略可循。
[0060] 本发明首先在传统的视觉传感网(Visual SensorNetworks,VSNs)的基础上进行拓展,设计了一套无人机警察系统的搭建方案,然后又针对该系统研究了一种基于深度学习的无人机识别算法,从而为无人机警察系统提供重要技术支撑。该无人机识别算法将通过训练一个基于卷积神经网络(Convolutional Neural Networks,CNNs)的深度学习网络,得出一个高效的识别模型,实现无人机和非无人机间的分类。
[0061] 本发明所采用深度学习模型训练的步骤如表1所示:
[0062]
[0063] 表1基于深度学习的无人机识别算法流程
[0064] 我们在caffe框架下进行实验,平台采用GTX980Ti,操作系统为Ubuntu 14.04。
[0065] 一、数据预处理
[0066] 实验用的数据来自ImageNet以及百度图片人工筛选,不需经过提取这一步。
[0067] 首先,执行find指令,将样本导入文本文件中,再通过sed指令生成对应的标签。
[0068] 然后,运行caffe提供的脚本文件create_somenet.sh将图片数据及其标签文本文件转成lmdb格式,再用脚本文件make_somenet_mean.sh生成对应的均值文件。
[0069] 二、网络训练
[0070] 将本申请设计的网络结构写成prototxt文件,按标签语言的格式将各层配置好,将data层链接到输入数据;同时设置训练配置文件solver.prototxt,学习策略设置为step,基础学习率设置为0.001,最大迭代次数为5000次。
[0071] 然后开始训练网络,运行train_somenet.sh,开始自主学习。模型训练过程中,根据损失函数值loss的收敛情况,可以提前手动终止训练。
[0072] 三、模型测试
[0073] 获得模型之后,在ipython_notebook平台上进行python代码开发,完成测试分析工作。程序中首先导入caffe的相关库,然后载入模型文件以及应用部署文件deploy.prototxt,再创建一个数组用来保存测试样本。
[0074] 接下来分别进行准确率计算以及AUC计算,AUC由以下公式计算得到(对i∈{1,…,a+b-1}):
[0075]
[0076] FPR为误报率,TPR为检出率。
[0077] 下面结合附图,对实验中训练好的模型进行性能分析。
[0078] 由图5可见,最高识别率达到了92.51%。该模型训练阶段使用了2800张图片,其中,鸟类图片1770张,无人机图片1030张。测试时输入614张图片,其中,鸟类图片356张,无人机图片258张。图5(a)表示模型正确分类的情形,共有568例,图5(b)表示模型错误分类的情形,共46例,总数为614例。错误分类即将鸟类误判为无人机,或是将无人机误判为鸟类。从统计的角度,可得:
[0079]
[0080] 从准确率来看,该模型的识别效果还是很好的。另外,图像的横轴表示鸟类的概率,纵轴表示无人机的概率,如果分析单次输入的情形,由于每个数据点满足:
[0081] probUAV+probbird=1,  (8)
[0082] probUAV、probbird分别为数据点为无人机、鸟类的概率。
[0083] 从正确分类的图中可以明显地看到,虽然式(8)表示的线上各个位置几乎都有数据点的存在,但绝大多数的点集中在两端,表明对于这部分点中的任一输入,无论是判断为鸟类还是无人机,模型分类正确的把握都可以达到90%以上。
[0084] 图6对比了三个训练好的模型的AUC。模型的测试结果表明,该方法具有较好的性能,性能最佳的模型的AUC值可达0.974,证明其灵敏度和特异度都比较出色。且通过对分类器进行简单的修改,可以实现分类数的增加,使模型具有一定的可扩展性。

当前第1页 第1页 第2页 第3页
相关技术
无人机警察相关技术
深度学习相关技术
成孝刚发明人的其他相关专利技术