应用于低空防御的实时多无人机检测与跟踪算法

2023-07-29 16:24邓俊文
电视技术 2023年6期
关键词:航迹尺度神经网络

邓俊文

(中国电子科技集团公司第三研究所,北京 100015)

0 引 言

现代战争中,无人机的广泛运用极大地改变了战争形态。在战场环境下,有效防御无人机,成为越来越紧迫的需求。雷达作为无人机探测的主要手段,具有探测距离远、定位精度高、可对多个无人机目标持续跟踪的优点。然而,低空慢速飞行的无人机雷达反射面积小,并且往往处于雷达探测盲区,对雷达有效探测形成极大挑战。针对这个问题,研究一种基于计算机视觉的实时多无人机检测与跟踪算法,形成对雷达探测的有效补充,具有重大意义。

利用计算机视觉技术检测并跟踪低空环境下慢速飞行的多个小型无人机目标,是一项极具挑战性的任务。其技术难点主要有:一是无人机型号种类多样,外观差异较大,特征描述困难;二是目标距离不同,相机焦距变化导致无人机的成像尺度差异大,多尺度目标检测是目标检测领域的难题;三是低空飞行的无人机背景复杂,比如天空、山坡、树林、水面、农田、建筑以及庭院等,对目标检测造成干扰;四是无人机灵活机动,难以对其飞行轨迹建模,对其进行稳定跟踪比较困难。针对这些技术难点,本文结合YOLOv8 目标检测算法和SORT[1]多目标跟踪算法,能对低空环境下慢速飞行的多个小型无人机进行快速检测和稳定跟踪,对于及时发现并定位威胁目标、保障低空安全具有重要意义。

1 多无人机检测

多无人机检测的主要任务是确定单个或者多个无人机在图像中的位置和长宽,属于计算机视觉领域多目标检测任务的一个应用实例。本文采用YOLOv8 目标检测算法实现多无人机检测。YOLOv8 算法是卷积神经网络领域目前最先进算法之一,具有准确率高、检测速度快的优点。只要提供充足的不同场景下不同型号、不同成像尺寸无人机的训练样本,YOLOv8 算法就能克服因无人机种类多样、外观差异大、背景复杂导致检测困难的问题。此外,YOLOv8 是多尺度目标检测算法,对尺度变化的无人机具有较高的检测性能,对目标远近不同、相机焦距变化的场景具有较强的适应性。值得一提的是,YOLOv8 算法运行速度快、检测性能高,对灵活机动目标建模和生成稳定航迹具有积极作用。利用YOLOv8 算法实现多无人机检测,主要包括数据准备、网络训练和网络推理三个阶段。

1.1 数据准备

基于深度学习的目标检测算法对训练数据要求较高,训练数据的质量极大地决定算法的检测效果。本文收集了各种场景、各种型号、各种成像尺寸的无人机图片三万多张[2]。无人机的成像背景包括天空、山坡、树林、水面、农田、建筑以及庭院等场景。无人机的型号涵盖国内大疆公司精灵、御、晓系列旋翼无人机和国外Parrot 公司的Disco 固定翼无人机。各场景下不同型号的无人机如图1 所示。

图1 各种场景下不同型号的无人机图像

收集到的图像并不能直接用于YOLOv8 神经网络训练,还需对图像中的无人机目标进行标注。数据标注是将无人机在图片中所处位置和长宽用特定数据格式记录下来,并保存到与图片同名的文本文件中。这些标注的数据也叫标签,随后被用于神经网络训练。本文采用机器自动标注与人工校验相结合的方式完成全体图片数据的标注。对机器标注不准确的图片,由人工对其重新标注。所有标注的图像和对应标签构成一个数据集。在训练神经网络之前还需要对数据集进行划分。本文按照8 ∶1 ∶1的比例将无人机数据集划分成训练集、校验集和测试集。训练集用于训练神经网络参数,校验集主要用于网络超参数调整和训练过拟合判别,测试集用于评估神经网络的检测能力。

1.2 网络训练

网络训练是用训练数据计算网络框架中各卷积核参数的过程。本文采用YOLOv8 算法训练无人机数据,网络主体框架如图2 所示。具体训练过程如下。

图2 YOLOv8 网络架构图

(1)首先用PyTorch 机器学习库构建网络框架,然后用YOLOv8 在COCO 数据集上的预训练权重文件,初始化网络参数。

(2)将训练集中的所有图像按原长宽比填充缩放到640×640 大小后输入神经网络运算。经过P1 至P5 模块的卷积计算后,在P3,P4,P5 处分别输出80×80,40×40 和20×20 三个尺度的特征图。P5 和P4 尺度下的特征图经过上采样后分别与P4 和P3 尺度下的特征图拼接,P3 和P4 尺度下的特征图再分别与P4 和P5 尺度下的特征图拼接。这便是特征金字塔网络(Feature Pyramid Network,FPN)[3]和路径聚合网络(Path Aggregation Network,PAN)[4]神经网络的设计思想,其好处是在细粒度检测模块中融入更多的全局轮廓特征,在粗粒度检测模块中融合更多的局部细节特征,用以提升检测性能。神经网络输出三个尺度的检测结果,分别对应图像中的大、中、小三种目标。

(3)构造损失函数并利用检测结果与训练集标注的差异计算损失。根据损失,使用SGD[5]梯度下降算法调整网络参数。

(4)反复重复过程(2)、过程(3),直到损失低于某个阈值并且保持平稳即停止训练。保存训练过程中最优的一组网络参数,写入权重文件。

1.3 网络推理

网络推理是在特定计算平台上构建神经网络并用训练好的权重文件初始化网络参数,执行前向推理获取检测结果的过程。其主要步骤如下。

(1)在NVIDIA Jetson Orin 硬件平台上,利用NVIDIA JetPack SDK 构建软件开发环境。

(2)构建并初始化YOLOv8 神经网络。

(3)对待检测图像进行预处理,保持长宽比,缩放至640×640 大小,输入神经网络计算,得到检测结果。对检测结果进行后处理,将目标位置和长宽转换到缩放前的图片中去。

(4)使用非极大值抑制算法消除检测结果中的冗余,得到最终检测结果。

2 多无人机跟踪

多无人机跟踪的主要目的是关联前后帧图像中同一无人机目标,并为其分配航迹号。SORT 算法是当前多目标跟踪领域最高效的算法之一,处理能力高达每秒260 帧。SORT 是一种检测后跟踪算法,其跟踪性能极大依赖检测质量,检测结果的好坏对多目标跟踪效果有着决定性的影响。本文利用YOLOv8 算法检测每帧图像中的无人机目标,SORT 算法利用检测到的目标进行目标关联和航迹生成,可以实时、稳定跟踪多个无人机目标。只要检测和跟踪的时间间隔足够短,目标在前后帧之间的运动可以近似为线性匀速运动,这极大地简化了灵活机动目标的运动建模。SORT 多目标跟踪算法包含航迹创建、航迹匹配以及航迹删除三个核心步骤。

2.1 航迹创建

航迹创建是用检测结果新建航迹并分配航迹号的过程,主要步骤如下。

(1)对第一帧图像进行目标检测,得到检测结果。利用卡尔曼滤波对检测结果进行预测,得到预测结果。

(2)获取到第二张图像的检测结果后,将检测结果逐一与前一帧图像中的预测结果匹配。如果匹配上,则生成预备航迹,更新卡尔曼滤波器参数,利用卡尔曼滤波对预备航迹进行预测,得到预测航迹;如果匹配不上,该检测结果被剩下。

(3)获取到第三帧图像的检测结果后,将检测结果逐一与前一帧的预备航迹匹配。如果匹配上,生成正式航迹,为其分配航迹号,更新卡尔曼滤波器参数;如果匹配不上,再与前一帧剩下的检测结果匹配,如果匹配上,生成预备航迹,更新卡尔曼滤波器参数,反之,该检测结果被剩下。如此反复。

2.2 航迹匹配

航迹匹配是当前帧目标检测结果与上一帧预测结果配对的过程。本文用检测结果与预测结果边框的交并比来衡量目标的相似度,用当前帧的所有检测结果与上一帧所有预测结果计算目标边框交并比,得到代价矩阵,用匈牙利算法从该代价矩阵中选择出全局最优的匹配组合。将匹配组合中目标边框交并比低于阈值的配对从组合中剔除,剩余的匹配就被认为是正确的匹配。

2.3 航迹删除

为了保证算法的正确、高效和低开销,必须建立准则,及时删除病态航迹。航迹删除准则如下:

(1)正式航迹建立后,如果随后连续三帧关联不上目标,认为该航迹失效,从航迹列表中删除;

(2)对于预备航迹,如果在下一帧关联不上目标,认为该航迹是错误关联,立即从预备航迹列表中删除;

(3)对于上一帧剩下的检测点,如果在当前帧未能配对,在下一帧不参与计算。

3 实验结果

本文将YOLOv8 目标检测算法和SORT 多目标跟踪算法移植到NVIDIA Jetson Orin 硬件平台上。实验利用两段视频对算法性能进行测试,视频1 包含一个无人机,视频2 包含两个无人机。图3 是对单个无人机检测与跟踪的结果,图4 是对两个无人机同时检测与跟踪的结果。由图可见,无论是单目标场景还是多目标场景,本文算法均能检出、跟踪场景中的无人机并稳定生成航迹。本文算法在NVIDIA Jetson Orin 硬件平台上的处理能力在每秒30 帧以上,完全能满足实时检测与稳定跟踪的需求。

图3 单目标跟踪结果

图4 多目标跟踪结果

4 结 语

本文针对低空环境下慢速飞行小型无人机检测与跟踪困难的问题,采用计算机视觉的技术路线,结合YOLOv8 目标检测算法和SORT 多目标跟踪算法,在NVIDIA Jetson Orin 硬件平台上实现了对单个或者多个无人机的检测与跟踪。实验表明,本文所提算法实时性好,跟踪稳定,可以直接用于工程实践。

猜你喜欢
航迹尺度神经网络
财产的五大尺度和五重应对
梦的航迹
神经网络抑制无线通信干扰探究
自适应引导长度的无人机航迹跟踪方法
视觉导航下基于H2/H∞的航迹跟踪
宇宙的尺度
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于航迹差和航向差的航迹自动控制算法
基于支持向量机回归和RBF神经网络的PID整定