摘要:无人机的无序“黑飞”带来一系列安全及社会问题,如何有效地对无人机进行探测、识别甚至打击是当今研究的热点与难点。为此,本文首先搭建了基于转台与高清可见光相机的无人机目标实时光电探测系统,并构建了一个由40 000帧无人机图像组成的样本库;其次,为了更远、更早地发现目标,在YOLOv3模型基础上增加更小的特征尺度,使得模型对小目标检测效果提升;最后,为了实现无人值守、全自动式无人机目标的探测与跟踪,提出一种基于更小特征尺度的YOLOv3与KCF相结合的模型,并通过外场试验确定了无人机目标跟踪过程中,目标丢失时所对应的阈值参数的选取。结果表明,通过在包含大疆御Pro、精灵3等无人机在内的8 000帧无人机图像组成的静态测试集上进行实验,增加更小特征尺度后的模型对小目标的识别率较之原始YOLOv3模型提高约5%;对于1 280×720分辨率的动态视频,每帧检测时间为0.025~0.030 s(33 fps),且根据选定的阈值,当无人机目标丢失后可重新进行检测,每帧跟踪时间为0.010~0.012 s(85 fps),验证了所提方法的有效性,并可满足工程应用中对实时处理的需求。
关 键 词:无人机防范;光电探测;深度学习;YOLOv3模型;KCF模型

1 引 言
近年来,随着无人机产业的迅猛发展和广泛应用,对全球低空安全管理造成了前所未有的严峻压力,非法放飞无人机所带来的安全隐患给机场、边境、监狱、重要敏感区域的低空防范敲响了警钟,引发公众高度关注。无人机的无序飞行时有发生,不仅严重扰乱空域交通秩序,还会引发很多安全问题。如在2018年底,英国西斯罗机场由于无人机的“黑飞”,使得机场关闭数天,滞留旅客上万人,造成巨大经济损失。目前,绝大部分无人机为受控状态,即无人机的购买需要实名制,且每次飞行的航迹、时间、地点等信息通过GPS信号都可在监管部门的后台查询到。在这种情况下,可以较为容易地锁定每台飞机以及飞机拥有者。上述受控监管模式目前已能覆盖大约90%以上的消费级无人机,剩余10%的无人机包括自行研发的、私自拆掉GPS模块的等,则处于非受控状态,是低空防范的重点和难点。如何对非受控的无人机目标进行检测、识别与跟踪,是当前全世界各国普遍存在的难题[1-2]。
当前,无人机防范常用手段主要包括:光电探测、无线电探测、声学探测、雷达探测等[3]。光电探测主要利用光学设备通过成像的方式判断目标是否存在,具有直观、易读等优点,但通常作用距离较小,且探测效率较低,距离实际工程应用尚有差距[4-9]。无线电干扰主要通过特定频段的无线电波阻断无人机和飞行控制器之间的无线链路,使飞行控制器无法向无人机发送信号。但此方法并不是对于所有型号的无人机都适用(如大疆的云哨系统,该系统只对大疆旗下的无人机有效),同时,可视化程度差。声学探测通常用于大型无人机等的探测,在城市环境下使用时易受到背景噪声干扰。雷达探测可同时获得目标的位置、速度等信息,但是对于民用无人机而言,其雷达散射面积较小,同时无人机飞行高度较低、飞行速度较慢、体积较小,即“低慢小”,对于此类目标,雷达探测存在效能不足等问题。
针对现有光电探测手段存在的不足,本文搭建了一套由转台、高清可见光相机、图像采集与处理设备组成的地面式无人机探测与跟踪系统,在YOLOv3模型基础上增加了更小尺度特征,并提出一种基于更小尺度的YOLOv3与KCF相结合的模型。实验结果表明,所提方法可以对无人机目标实现全自动式检测与跟踪,且远距离小目标识别率比原始YOLOv3模型高5%。对于1 280×720分辨率的动态视频,每帧检测时间为0.025~0.030 s,且根据选定的阈值,当无人机目标丢失后可重新进行检测,每帧跟踪时间为0.010~0.012 s,验证了所提方法的有效性,并可满足工程应用中对实时处理的需求。
2 深度学习简介
深度学习的概念是Hinton等人于2006年首次提出的[10],其从一问世就备受学术界关注,原因在于相比于其他方法与结构,多隐层的人工神经网络能够更好地模拟人脑的思考过程,具有更加优异的学习及泛化能力,能够更有效、更本质地对目标的特征进行提取与描述,从而提升对各类目标的分类与识别能力。
卷积神经网络是深度学习中第一个真正多层结构学习算法,其在图像识别领域优势明显。它利用感受野局部连接等概念极大地减少了参数量,降低了网络模型的复杂度,提高了训练效率,且网络对于平移、缩放的各种变形都具备较高的不变性[11-12]。一个卷积神经网络通常包括卷积、降采样、激活、池化以及全连接等操作,卷积层和降采样层实现对目标低层特征的提取,通过多个卷积层来模拟人脑感知视觉信号的逐层处理机制;激活主要实现非线性变换,常用Sigmoid、ReLU等非线性函数实现;池化操作主要实现高层特征的提取,全连接实现对目标最终的分类[13]。
3 基于深度学习的无人机目标识别与跟踪
3.1 图像获取
目前,各类开源的深度学习数据集中客机、直升机等类图像较多,无人机类图像较少。此外,在进行地面式无人机防范时,地面探测系统对于空中无人机的观测视角应为仰视,现有数据集中包含的无人机类图像多为平视,直接使用开源数据集中的图像可能会导致漏检情况发生。因此,无人机类目标图像需要通过自行拍摄获得。
本文利用转台、高清可见光相机及无人机进行图像数据获取,如图1所示。

图1 转台及高清可见光相机实物图
Fig.1 Picture of turntable and HD camera
其中,转台可以水平360°旋转,俯仰方向为0°~+90°。高清可见光相机分辨率为1 280×720(720 P),变焦镜头焦距为20~700 mm,视场角为1.02°~34.68°。采用的无人机包括大疆御Pro、大疆精灵3、诺巴曼X18W等在内的4个品牌共计6种机型,分别在不同尺度、光照、背景、仰角、姿态下进行拍摄,通过预处理之后共获得无人机目标图像40 000张。
图2为大疆御Pro无人机实物,由机身和4个旋翼组成,其中,机身尺寸为190 mm(长) ×85 mm(宽) ×55 mm(高),相邻旋翼长度为240 mm,对角旋翼长度约为350 mm,参考方砖尺寸为600 mm×600 mm。

图2 大疆御Pro无人机实物图
Fig.2 Picture of DJI Mavic Pro
将大疆御Pro无人机看作边长为240 mm的正方形,且无人机识别时按30个像素计算,通过几何光学可得最远探测距离为1.6 km。但在镜头最长焦距时,视场角仅为0.51°,在此视场下进行目标跟踪是不现实的。为了兼顾探测视场和目标大小,实际最远可用的作用距离在1 km左右。
将采集到的总样本数40 000帧中包含无人机目标图像的80%(32 000帧)作为训练集,剩余20%(8 000帧)作为测试集。
3.2 模型构建
3.2.1 目标识别
综合考虑识别精度与识别效率,本文选用YOLOv3模型进行无人机目标实时检测与识别。基于YOLO模型的深度学习目标识别技术,可同时预测多个边界框的位置和类别,实现端到端(end to end)的目标检测和识别,即在输入图像运行一次后即可获得图像中所有目标的位置、其所属类别以及相应的置信概率,速度明显优于其他同类型算法模型[14]。
YOLOv3在原有的YOLO模型架构中进行了一些改进,通过调整模型结构的大小来权衡速度与精度间的关系,如使用锚点框来预测边界框、进行多尺度预测、使用含有更多卷积层的Darknet-53基础网络、利用二元交叉熵损失函数(Binary Cross-entropy Loss)来进行类别预测等[15-16]。YOLOv3对输入图像进行了5次降采样,并分别在最后3次降采样中对目标进行预测。最后3次降采样包含了3个尺度目标检测的特征图,其中13×13的特征图负责预测较大目标,26×26的特征图负责预测中等大小的目标,52×52的特征图负责预测较小目标[17-18]。
为了更远、更早地发现目标,增强模型对小目标的识别能力,本文在YOLOv3模型基础上,增加了更小的尺度特征104×104。具体做法为将YOLOv3网络中的第109层与第11层进行张量拼接,将拼接后的处理结果作为新的特征图。
3.2.2 目标跟踪
跟踪模型选用核相关滤波(Kernelized Correlation Filter, KCF)。相关滤波(Correlation Filter)是根据MOSSE、CSK等算法改进而来的,最初起源于信号处理领域,后被运用于图像分类等领域。相关滤波在目标跟踪方面最朴素的想法是:相关是用来衡量两个信号的相似程度,如果两个信号越相似,那么其相关值就越高。具体来说,即利用一个目标检测器,使得当它作用在跟踪目标上时,得到的响应最大,最大响应值的位置就是目标的位置。在KCF中,利用脊回归函数来训练目标检测器。引入核函数的目的主要是将高维特征映射到低维空间,提高算法计算效率。
由于KCF中脊回归函数的返回值表明的是当前位置与初始位置的相关程度,因此可以通过实时计算该返回值来判断目标是否丢失。本文提出的无人机目标识别与跟踪算法总体流程如图3所示。
图3 算法总体流程图
Fig.3 Scheme of the proposed algorithm
这里,60%概率为经验值,主要考虑到在实际应用中,本着“宁虚勿漏”的原则以及小目标与变形的情况,略大于50%概率即可认为是“目标”。在实际跟踪过程中,不同背景、光照等条件下,脊回归函数的返回值范围一般不同,因此只能通过大量的试验来确定该值的范围。本文通过大量室外试验得出,针对选择的无人机目标样本,脊回归函数的取值范围在(0,0.85]之间。当目标丢失时,其最大值小于0.2,所以将阈值T1设定为0.2。即当某一时刻的脊回归函数最大值小于0.2时,重新进行目标检测,如此循环,直至结束。
4 实验结果与分析
为了验证所提方法的有效性,利用测试集数据与视频进行了实验。开发环境为Ubuntu16.04,开发工具为QT5.9.2,程序用C++语言编写,计算机CPU为Intel i7-7700K,内存32 G,GPU为1块Titan XP。计算机与转台、高清可见光相机之间的通讯通过RS232串口进行。YOLOv3网络的输入大小共有320,416,608三种,考虑到无人机目标本身较小以及训练图像的大小,本文选用的网络输入大小为608。