摘 要:无人机的广泛应用在给生产生活带来便利的同时,也对公共安全构成了威胁,这就需要对非法飞行的无人机进行探测和识别。然而,微小无人机因体积小运动灵活,使得传统的雷达、光电等探测手段难以应对。为此,提出一种基于 YOLO(You only look once)v5 深度学习网络框架的微小无人机实时探测方法。通过拍摄无人机飞行姿态构建实验数据集,并进行标注。随后利用数据集对 YOLOv5 网络模型进行训练,并测试训练效果,通过数据集测试网络模型能达到 94.2%的精确率、82.8%的召回率和 93.5%的平均精度均值。最后,对模型在真实场景下进行了测试验证,视频流帧速率为 30 FPS(Frames Per Second)条件下,可在 30 米范围内准确识别出特征尺寸为 200 mm 以上的无人机,并具有较好的实时性。
关键词:目标检测;YOLOv5;微小型无人机;实时探测;深度学习
1 引言
随着无线通信、飞行控制、惯性器件、智能视频分析等技术的快速发展,当前微小型无人机技术逐步成熟,并展示出了强大的功能,使其在公共安全、能源电力、农业植保等多种行业领域都得到了广泛应用。随着小型商用无人机的成本不断下降,购买无人机的爱好者数量连年攀升[1],根据中国民航局的官方公布数据显示,截至 2020 年底,我国实名登记无人机 52.36 万架,年飞行量达到 159.4 万小时,同比增速达 27.5%[2]。然而,随着微小型无人机在民用领域爆炸式增长,监管难度越来越大, 其对公共安全构成了严重威胁,给城市安保带来了更大的挑战。例如,2021 年 4 月 3 日,杭州萧山机场发生了因无人机黑飞导致多架航班空中盘旋、备降其他机场的案件,严重影响航空秩序,威胁机场安全[3]。因此,通过技术手段构建无人机监测系统,对非法飞行的无人机进行精确探测与反制,对确保重要目标空域安全,保障社会安全稳定具有重要意义。
目前,国内外针对无人机探测的常用技术主要有雷达探测、声学探测、无线电探测、光电探测等[4]。由于微小型无人机具有体积小,运动灵活的特点,传统的手段难以探测如此小的飞行器,更不能识别此类无人机[5]。因此,微小型无人机的探测是一个亟待解决的难题。
近年来,随着深度学习技术的飞速发展,基于深度学习的目标检测算法是实现微小无人机探测个一种可行手段。基于深度学习的目标检测算法主要有一阶检测方法和二阶检测方法两类,一阶检测方法不需要单独寻找候选区域,因此速度较快,如 SSD(Single Shot MultiBox Detector) [6]、YOLO 等。二阶检测方法则将检测算法分两步进行,先要获取候选区域,再对其进行分类,精度上一 般 优 于 一 阶 方 法 , 如 R-CNN ( Region-based Convolutional Neural Network)、Fast R-CNN [7]等。在实际应用中需要对采集的无人机视频流进行实时探测,二阶算法难以满足实时性要求,而 YOLO 系列算法近年来更新迭代很快,在主流数据集的测试效果上要优于 SSD 算法[8]。李秋珍等人提出了两种基于 SSD 改进算法的实时无人机识别方法,但两种改进方法精度分别只有 79% 和 83.75%,作者认为该算法识别速度基本满足实时性要求[9]。马旗等人提出了基于优化 YOLOv3 的低空无人机检测识别方法,利用残差网络及多尺度融合的方式对原始的 YOLOv3 网络结构进行优化,在相同训练集下测试, mAP 提升了 8.29%,达到 82.15%,检测速度为 26s-1,满足实时性要求[10]。陶磊等人提出了基于 YOLOv3 的无人机识别与定位追踪方法,用 YOLOv3 输出视频中的无人机位置信息,再用 PID 算法调节摄像头角度实现无人机定位追踪,模型在测试集上能达到 83.24%的准确率和 88.15%的召回率,在配备有英伟达 1060 显卡的计算机上能达到 20 帧每秒的速度[11]。YOLO 算法无需对目标和背景进行复杂的人工建模,构建过程相对简单,泛化能力强,发展很快,且识别速度和识别准确性方面有一定的优势,已应用于多个场景,如疫情期间口罩佩戴检测[12]、初期火灾探测[13],已成为目标检测的研究热点。目前 YOLO 算法已经更新到第五版本 YOLOv5,其体积缩小到约原来的 1/9,检测速度得到大幅提升,精度方面也有不错的表现。因此,本文提出采用第五版本的 YOLO 算法实现对微小型无人机的实时探测。首先,根据自行拍摄的无人机飞行时的照片构建数据集;其次,搭建深度学习环境,使用 YOLOv5 轻量化模型对数据集进行训练;最后,用训练得到的模型对视频或图片中的微小型无人机进行探测。
2 YOLO v5 算法原理
YOLO 算法最初是由 Joseph Redmon 等人于 2016 年提出来的一种目标识别方法[14],其创新性在于把检测当作回归问题处理,只需一阶检测,用一个网络就可快速输出目标位置和种类,其最大的优势就是通过简洁的算法可以获得出色的识别效果。Redmon 对算法进行改进依次推出了 YOLOv2[15]、YOLOv3 两个版本。Alexey Bochkovskiy 等人推出了 YOLOv4 版本[16]。随着 YOLO 的不断更新迭代,其算法变得更快更精确,Glenn Jocher 在 2020 年推出了最新版本的 YOLOv5。YOLOv5 版本是基于 YOLOv4 版本改进的,采用了 PyTorch 框架代替了 YOLOv4 版本的 Darknet 框架,网络部分未作修改,仅对参数进行调整优化,使得检测速度大幅提升,最快的检测速度达到了 140FPS[17];同时,YOLOv5 把权重文件的体积进行了缩小优化,只有 YOLOv4 的 1/9 左右。
YOLO v5 算法检测可分为三步:首先统一调整图像的大小后进行分割,然后用卷积神经网络提取特征,最后通过非极大值抑制(Non-Maximum Suppression, NMS)筛选重复预测的边框,输出最终的预测结果。算法先对所有图像进行尺寸调整后,将输入图像划分为 S×S 个格子,不同格子只负责其对应区域的物体识别,减少了重叠识别,大大减少了计算量。每个格子会预测其内部是否存在目标的位置中心坐标,若某个目标的中心位置落入其中某一个格子,那么该物体的识别就会由这个格子来负责。每个小格子将预测 A 个假定类别的概率和 B 个边界框,每个边界框包含 5 个参数,分别为 x,y,w,h 和 Confidence,其中(x, y)为预测边框的中心点坐标;(w, h)为预测边框的宽度和高度。Confidence 反映边框中是否包含目标以及包含目标时预测目标位置的准确性,其由公式(1)计算得到。
YOLOv5 目标检测模型是基于卷积神经网络实现的,主要由输入端、Backbone、Neck、Prediction 四部分组成 [14],其构成如图 1 所示。输入端采用了 Mosaic 数据增强提升了小目标的检测效果,另外,采用自适应锚框计算的方法,不同的数据集都会有初始设定长宽的锚框,可以得到更大的交并比,提高大大提高了训练和预测的效率;Backbone 部分为在不同图像细粒度上聚合并形成图像特征的卷积神经网络,主要有 Focus 结构和 CSP 结构。 Neck 部分是在 Backbone 和 Prediction 之间,是一系列混合和组合图像特征的网络层,将图像特征传递到 Prediction 部分。Prediction 部分为最终检测部分,主要对图像特征进行预测,并生成边界框、预测目标种类。其采用了 GIoU_loss(Generalized Intersection over Union)计算预测框(predicted bounding box)回归损失函数均值, Box 值越小,预测框回归越准确;采用了 BCE Logits_loss 计算目标检测损失函数均值,objectness 值越小,目标检测越准确;采用二元交叉熵损失函数 BCE_loss 计算目标分类损失函数均值, classification 值越小,目标分类越准确。
3 探测实验
3.1 数据集的准备
目前,基于深度学习的微小型无人机探测方面研究较少,互联网上没有标准的数据集可供使用,因此需要自行采集数据构建所需数据集。
(1)数据采集。在不同天气、时间和背景对三款大疆无人机进行拍摄,其型号分别为 Inspire2(尺寸为 645mm×650mm×313mm ) 、 Mavic Air2 (尺寸为 183mm×253mm×77mm ) 、 Phantom4 pro (尺寸为 330mm×225mm×405mm),整理后得单台 Inspire2 图片 60 张、单台 Mavic Air2 图片 64 张、单台 Phantom4 pro 图片 62 张,2 台及以上无人机图片 24 张。
(2)数据标注。YOLOv5 模型训练前需对数据集进行标注,选用 LabelImg 标注软件对图片中的无人机进行人工逐一标注,完整框选出无人机边界并标注名称,标注过程如图 2(a)所示。每一张图片标注完之后,将会自动生成一个相应的注释文档,包含物体名称编号,边界框的位置和大小等信息,如图 2(b)所示。
(3)数据集构建。将图片和对应的标注文件上传到机器学习网站 roboflow.com 进行格式化,调整像素为 640px,并按照 7:2:1 的比例分别设置训练集、验证集和测试集。
3.2 网络训练
网络训练是在专用深度学习服务器平台上进行的,平台的硬件配置和开发环境如表 1 所示。
实验过程为对微小型无人机数据集进行迁移学习训练,训练使用 YOLOv5s 的轻量化预训练模型 yolo v5s.pt (通过 COCO val2017 数据库训练得到的轻量化检测模型)作为知识源进行迁移学习,修改目标种类参数 nc (number of classes)为 3,数据集配置文件 data.yaml 中设置好数据集路径,输入图像尺寸为 640px,前向传播批处理大小设置为 64,迭代次数设置为 600。经过训练,得到基于微小型无人机数据集的目标检测模型,该模型可用于检测视频中每一帧图像中的无人机,并预测无人机的边界框、型号及相应的置信度。
相关知识推荐:无人机领域论文如何发表
使用 Tensorboard 可视化工具查看模型训练结果。图3(a)、(b)、(c)分别为训练过程中预测框回归损失函数均值、目标检测损失函数均值、分类损失函数均值随迭代次数的变化情况。可以看出,三种损失函数均值随迭代次数的增加快速下降,训练后期迭代到 500 次左右趋于稳定,最后趋于收敛。图 4 表示训练过程中精确率、召回率随迭代次数的变化情况,随着迭代次数增加,精确率和召回率快速上升后趋向于稳定。图 5 为当交并比 IoU 阈值分别为 0.5 和 0.5:0.95 时平均精度均值(Mean Average Precision,简称 mAP)在逐步提升并趋于稳定。
3.3 模型测试
网络训练结束后,把测试集中的图片输入训练好的网络模型进行识别目标的位置回归。只有同时满足 IoU≥0.5,无人机的种类识别正确这两个条件时,判定检测识别正确;否则为错误。选取精确率(Precision)、召回率(Recall)、平均精度均值(mean Average Precision, mAP)作为评价指标,精确率表示在所有被检测为正的样本中实际为正样本的概率,其公式如(6)所示;召回率表示在实际为正的样本中被检测为正样本的概率,其公式如(7)所示;平均精度均值表示在所有检测类别上的平均精度的均值,比精确率和召回率更能反应模型的全局性能,其公式如(8)所示。
4 实验结果与分析
4.1 数据集测试结果分析
用测试集 21 张图片对训练模型进行测试,结果如表 2 所示,当交并比 IoU 值为 0.5 时,训练得到的模型能够达到 94.2%的精确率和 82.8%的召回率,三种无人机识别的精度分别为:Inspire2 为 95.4%,Mavic Air2 为 92.1%, Phantom4 pro 为 95.2%,达到了较高的识别精度结果。测试集中部分检测结果如图 8 所示,在多种背景下均能够正确的检测出目标无人机,并准确识别出其型号类别。在相同的服务器平台上,使用相同的数据集对 YOLOv3 和 YOLOv5 两种算法进行对比测试,结果如表 3 所示,使用 YOLOv5 模型进行测试时,mAP 达到 93.5%,识别速度能达到 141 FPS,精确率达到 94.3%,YOLOv3 模型的 mAP 为 81.5%,识别速度为 59 FPS,精确率为 83.2%。本实验的测试结果整体上也优于文献[10]、[11] 采用 YOLOv3 算法的测试结果,更优于文献[9]采用的改进的 SSD 算法。
4.2 真实场景探测
为进一步验证基于 YOLOv5 对无人机的实时探测能力,本实验通过拍摄一段无人机视频,使用训练得到的模型对其进行探测。该视频中同时存在最多 3 种无人机的画面,视频分辨率为 19201080,帧速率 30 FPS。识别结果如图 9 所示,当较大无人机 Inspire2 在约 45 米范围内,较小无人机 Mavic Air2 在约 30 米范围内,该模型基本能检测出视频中的无人机目标,型号识别准确,同时置信度较高。每一帧图像的识别时间约为 0.007 秒,识别速率远大于源视频帧速率,具有较好的实时性。通过本文的实验可以验证 YOLOv5 算法在无人机实时探测应用上的技术优势。
5 结论
(1)使用迁移学习训练完的 YOLOv5 模型在测试集上能够达到 94.2%的精确率、82.8%的召回率和 93.5%的平均精度均值,此模型不仅能识别到微小型无人机,还能识别出其具体型号,并标注其置信度。
(2)在真实场景下,该方法能对光学监控设备的视频流进行实时探测识别,在配备 NVIDIA GTX TITAN Xp 12 GB 显卡的计算机上能达到 142 FPS 的速度,达到较为流畅的识别效果。
虽然本文提出的方法性能较好,但对于距离较远的微小型无人机,识别效果不佳。因为 YOLO 模型会对图片压缩处理,即当画面中无人机目标较远(或尺寸较小)时,压缩后无人机像素过小,无法提取有效特征,故难以识别。下一步考虑用增加尺度、网络检测分支等方式对 YOLOv5 算法进行修改,或者采取先分割大图为小图,再检测小图的方式增强小目标的探测能力。——论文作者:包文歧,谢立强,徐才华,刘智荣,朱敏
参考文献:
[1] GUVENCE I, KOOHIFAR F, SINGH S , et al. "Detection, Tracking, and Interdiction for Amateur Drones," in IEEE Communications Magazine, vol. 56, no. 4, pp. 75-81, April 2018, doi: 10.1109/MCOM.2018.1700455.
[2] 张薇.民航局召开通用航空工作领导小组第六次全体会 议 [EB/OL]. http://www.caacnews.com.cn/1/1/202102/t20210226_1 320077.html, 2021-02-26.
[3] 许晖,张翟. 昨夜突发!杭州萧山机场进港飞机不断盘旋,疑因无人机侵入!部分航班备降宁波、上海 [EB/OL]. https://hznews.hangzhou.com.cn/shehui/content/2021- 04/04/content_7940611_2.html, 2021-04-04.
[4] 屈旭涛,庄东晔,谢海斌.“低慢小”无人机探测方法[J]. 指挥控制与仿真,2020,42(02):128-135. QU X T, ZHUANG D Y, XIE H B. Detection Methods for Low-Slow-Small(LSS) UAV[J]. Command Control & Simulation, 2020,42(02):128-135.
* 稍后学术顾问联系您