基于改进PP-YOLO和Deep-SORT的多无人机实时跟踪算法
2022-09-25姚震徐翠锋陈寿宏
马 峻,姚震,徐翠锋,2,陈寿宏,2
(1.桂林电子科技大学电子工程与自动化学院,广西桂林 541004;2.广西自动检测技术与仪器重点实验室(桂林电子科技大学),广西桂林 541004)
0 引言
随着民用无人机(Unmanned Aerial Vehicle,UAV)市场的快速发展,给人们带来便利和乐趣的同时,也引发了诸多安全问题,如干扰航班运行、携带危险品、侵犯他人隐私等[1],因此有效检测和跟踪无人机是十分必要的。
在目标检测领域,传统目标检测依赖于颜色、纹理,外形等特征,是早期目标检测的主要方法。大致包括以滑动窗口为代表的区域选择方法,以尺度不变特征变换(Scale Invariant Feature Transform,SIFT)和方向梯度直方图(Histogram of Oriented Gradient,HOG)为代表的特征提取方法,以支持向量机(Support Vector Machines,SVM)和自适应增强(Adaptive Boosting,AdaBoost)为代表的分类器方法等。由于传统方法存在滑窗选择策略缺乏针对性、时间复杂度高、窗口冗余以及手工设计的特征鲁棒性较差等问题,导致检测效果不够理想。近年来,随着卷积神经网络(Convolutional Neural Network,CNN)在图像处理方面的应用,目标检测取得了巨大的突破,涌现出大量基于深度学习的目标检测算法,应用最为广泛的两个方向是:以基于区域的卷积神经网络(Region-based CNN,R-CNN)为代表的区域建议(Region Proposal)型目标检测算法和以YOLO(You Only Look Once)及其改进版本为代表的回归型目标检测算法。前者属于两级检测算法,先通过算法产生目标候选框,然后再对候选框做分类与回归,能在一定程度上适应不同场景、不同尺度、不同外观等复杂情况,具有较高的定位和目标识别精度。后者属于单级检测算法,通过对网络模型进行裁剪,减少网络模型的参数量,仅使用一个卷积神经网络直接预测不同目标的类别与位置,因而具有较高的推理速度。
运动目标跟踪可分为单目标跟踪(Single Object Tracking,SOT)和多目标跟踪(Multiple Object Tracking or Multiple Target Tracking,MOT or MTT)[2]。前者是指在视频首帧初始化目标位置,并根据前一帧的信息在后续帧中跟踪目标[3],相关滤波在单目标跟踪中应用广泛,如CSK(exploiting the Circulant Structure of tracking-by-detection with Kernels)[4]、核相关滤波算法(Kernel Correlation Filter,KCF)[5]、判别尺度空间跟踪器(Discriminative Scale Space Tracker,DSST)[6]等,在跟踪速度上有出色的表现。后者在每一帧进行目标检测,再利用目标检测的结果来进行目标跟踪,不需要预先知道目标的外观和数量。SORT(Simple Online and Realtime Tracking)算法[7]将多目标跟踪看作视频帧的数据关联问题,将重点聚集在效率上,可以达到实时的效果;Deep-SORT(Simple Online and Realtime Tracking with a Deep association metric)[8]在SORT 的基础上集成了跟踪目标的外观信息,进一步提高了跟踪性能。
Liu 等[9]利用无人机运行轨迹特征与图像特征结合,先提取轨迹特征,再利用残差神经网络分类识别。首先使用PTZ(Pan,Tilt,and Zoom)相机平台对大目标和小目标分别处理;然后使用残差网络(Residual Network,ResNet)[10]将图像分为鸟类、无人机和杂波三类,从而实现对较远距离的小目标的准确检测。Demir 等[11]使用16 台摄像机搭建成环形的实时无人机检测和跟踪系统,该系统能够在700 m 以内实现360°全方位检测。Craye 等[12]提出了一种基于卷积神经网络的时空语义分割方法,使用一个U-Net 模型[13]来检测小目标,然后使用图像分类网络ResNet 对无人机和鸟类加以区分,同时利用时空的语义特征提高了检测性能,该研究是在无人机与鸟类(Drone-vs-Bird)挑战赛[14]的背景下展开的。Hu 等[15]通过改进YOLOv3[16]来检测无人机目标,在预测过程中采用4 种尺度的特征图进行多尺度预测,获得更多的纹理和轮廓信息来检测小目标;同时,为了减少计算量,根据输入的数据计算无人机在特征图中的尺寸,然后调整锚框的数量,检测精度可达89%。Pham 等[17]提出采用哈尔特征(Haar-like features,Haar)的级联分类器来检测无人机,平均精度可达到91.9%。
无人机作为“低小慢”目标的代表,无论是传统的检测和跟踪方法,还是基于深度学习的检测和跟踪方法,都有着各自的局限。Torvik 等[18]指出,雷达会因为无人机和鸟类目标的雷达散射截面小,导致检测混乱。视觉的方法主要依赖于对特征的提取,关键在于小目标无人机的检测。当无人机在整幅图像中占据1%甚至更小的比例时,特征就会消失,导致提取失败,影响检测效果。
大多数目标检测模型都是为中等大小的对象而设计的[19],但随着检测距离的增加,无人机目标仅只有几个像素,再加上复杂多变的环境以及边缘计算设备有限的资源,无人机检测仍然是一项具有挑战性的任务[20]。目前主流的跟踪算法大多依赖于检测结果,也有研究人员将检测任务和跟踪任务放在同一个网络中进行处理,但这两种策略的跟踪对象都是类似行人、车辆等较大,特征较明显的目标,并且多个目标之间有着明显的区别。无人机目标尺寸小,多架无人机之间特征也不明显,这就导致现有检测算法容易漏检,跟踪过程也容易出现“丢帧”。
本文针对跟踪多架无人机时容易出现目标丢失,跟踪“丢帧”等问题,提出了一种用于多无人机实时检测和跟踪的方 法,采用 PP-YOLO(PaddlePaddle-YOLO)[21]结合Deep-SORT 的两阶段跟踪方法,采用Mish 激活函数提升检测性能,通过对Deep-SORT 的外观信息提取部分进行主干网络替换,选取更合适的Loss 函数的方法来改善跟踪效果。
本文的主要工作有:
1)提出了基于改进PP-YOLO 和Deep-SORT 的多无人机实时跟踪算法,通过引入通道注意力机制和Mish 激活函数提高检测性能。
2)为了更好利用跟踪目标的外观信息,采用ResNet 为主干网络提取外观信息,同时选用更加符合跟踪策略的损失函数Margin Loss,提高了跟踪器对相同目标的辨别能力。
3)在真实环境中收集了大量的无人机图像,构建了一个用于检测的无人机数据集和一个由10 种无人机组成的无人机重识别数据集,为不同种类的无人机的稳定跟踪提供了样本支持。
1 无人机跟踪
目前,多目标跟踪主要分为两大类:一类是将检测和跟踪作为两个独立的任务来完成,例如Deep-SORT 算法;另一类则只需利用单个网络便可同时完成检测和跟踪任务,例如FairMOT(Fair Multi-Object Tracking)算法[22]。前者需要分别训练检测和跟踪两个网络,因此通过单独改进其中一个网络即可达到改善跟踪效果的目的;而后者虽然仅用单个网络就能完成检测和跟踪,但对于一些特定的目标容易误检,所以在跟踪精度上难以保证。
1.1 网络整体结构
无人机目标占据整个画面的比例很小,并且在不同光线下其外观特征会发生变化,采用单一网络进行检测极易出现漏检情况,这就导致仅依靠其外观特征匹配到的跟踪效果欠佳。因此,将检测和跟踪任务分开处理,融合目标的外观特征和运动信息,从而改善跟踪效果。
如图1 所示,本文算法结构主要分为检测和跟踪两个部分:检测部分由注意力模块、特征金字塔和Loss 模块三部分组成,在PP-YOLO 的基础上,将通道注意力机制融入特征提取的主干网络ResNet50-vd 中来增加对无人机小目标的感知能力;跟踪部分由卡尔曼滤波器和外观匹配模块组成,在Deep-SORT 算法的基础上,保留其描述运动信息的级联匹配部分,同时对外观信息的匹配作出改进,引入Margin Loss 函数增加同类别目标之间的关联度。
图1 整体网络结构Fig.1 Overall network structure
1.2 融合通道注意力机制
在计算机视觉任务中融入注意力机制可以帮助网络关注输入的重要信息,排除其他信息干扰。注意力机制可以分为通道注意力和空间注意力,用于捕捉通道间和像素间的依赖关系[23]。虽然近年来有研究表明,在图像分类任务中将两者结合起来的效果要比使用单个注意力模块的效果更好,但是会增加额外的运算量,影响实时性。此外,神经网络利用卷积操作来提高感受野,很大程度上融合了更多的空间信息。基于这两点考虑,本文提出融合通道注意力的PP-YOLO检测网络。
注意力机制的核心是通过权重分配达到凸显目标特征的目的,在此引入SENet(Squeeze and Excitation Networks)[24]中的压缩-激励模块,通过建立特征通道之间的相互依赖关系,获取各个特征通道的权重,根据该权重提升当前任务关注的特征,并抑制对当前任务无贡献的特征。
压缩-激励模块的结构如图2 所示。假设输入X为所得到的特征图,首先经过卷积和变换后,得到特征通道数为c的特征图,然后在空间维度上将二维的特征通道压缩到一维,使其具备全局的感受野,同时,保证了输入附近的特征提取层也可以获得全局感受野,提升对目标的感知能力;紧接着是激励操作,利用参数w生成每个通道的权重并通过特征映射的方式传递给后续特征层;最后将激励产生的权重逐一加权到先前的特征通道上,至此,就完成了通道维度上的注意力模块的构建。
图2 压缩-激励模块结构Fig.2 Squeeze-excitation module structure
如图2 所示,压缩操作采用了全局平均池化来压缩输入通道的特征层,对特征图u压缩空间维度后的结果如式(1)所示:其中:zc表示第c个特征的一维向量值;h和w分别表示特征图的两个维度。
激励操作将会学习通道间的非线性相互作用。首先通过全连接层将特征维度降低到输入的1/16,然后通过ReLU(Rectified Linear Units)激活函数增加非线性,再通过一个全连接层恢复到原来的维度,这两个全连接层共同组成一个瓶颈结构,用来评估通道间的相关性,最后通过Sigmoid 函数获得归一化权重。激励操作的表达式如式(2)所示:
其中:σ指Sigmoid 函数,δ为ReLU 函数,g(z,w)表示两个全连接层构成的瓶颈结构,w1的维度为×c,w2的维度为c×r是一个缩放参数。
在压缩和激励操作完成后,通过式(3)所示将乘法逐通道加权到原来的特征上。
至此,就将通道注意力模块融入了检测网络中,在一定程度上提高了无人机的检测精度。
1.3 优化激活函数
激活函数是将神经元的输入映射到输出的重要参数,能够增加网络模型的非线性变化,对网络的训练有重要意义。神经网络中常用的激活函数有Sigmoid、Tanh、ReLU、Leaky ReLU 等[25],但它们都存在一定的局限性。以ReLU 为例,当其输入为负时,梯度变为零,从而导致梯度消失,而Mish 激活函数是一种自正则的非单调神经激活函数,保留了少量的负向信息,可以允许较小的负梯度流入,保证信息流动,消除了ReLU 函数在反向传播过程中的梯度消失问题,从而使前后层之间的信息传递更有效,最终获得更好的准确性和泛化能力。其函数表达式如(4)所示:
在检测无人机目标的任务中,无人机通常占据图片极小的比例,因此在使用卷积操作提取特征时,很容易使输入为零或负值,导致梯度下降很慢甚至消失,只有保证负值区域的梯度流动,才能更好提取小目标无人机的特征,使检测更加精准。鉴于此,本文将Mish 激活函数引入到ResNet50-vd主干网络中,具体结构如图3 所示。
图3 引入Mish激活函数的ResNet50-vd结构Fig.3 ResNet50-vd structure with Mish activation function introduced
1.4 无人机跨境追踪
跨境追踪技术ReID(Person Re-Identification)是指利用计算机视觉判断图像或视频序列中是否存在特定目标的技术[26],主要解决跨摄像头跨场景下特定目标的识别与检索。通过度量学习的方式让同一个类别的样本具有较小的特征距离,不同类别的样本具有较大的特征距离,寻找特征之间的最佳相似度。
受此方法的启发,本文对Deep-SORT 算法的深度外观描述部分进行改进,采用深度度量学习的方式评估前后两帧的相似度,以此来完成匹配任务。首先,采用ResNet50 替代原有的网络架构,其次,引入损失函数Margin Loss[27],计算公式如(5)所示:
其中:N为批次大小(Batch Size),n为类别数量(Class Number),是权重和特征xi之间的夹角,m是附加角惩罚偏置项,s为特征xi经过l2正则化后缩放的特征尺度。Margin Loss 通过分析特征和权重之间的角度统计来构造损失函数,在几乎不增加额外计算开销的情况下达到提高模型鉴别能力和稳定训练过程的效果。
2 实验分析
2.1 数据集
目前公开的无人机数据有Drone-vs-Bird 和TIB-Net[20]:Drone-vs-Bird 挑战赛数据集包含77 段无人机视频,对其进行分帧操作后再逐一手工标注,共计4 336 幅图像,部分图片中包含鸟类;TIB-Net 的提出者公布了在不同环境、不同背景下采集的2 860 幅无人机图片,拓展了应用场景。由于现阶段权威且公开的无人机数据集较少,因此,对现有公开的无人机视频图片数据进行筛选,作为实验数据的一部分。
考虑到公开的数据场景固定、大部分数据中只有一架无人机的问题,为了更好地训练网络对多架无人机的感知能力,在真实环境下也采集了大量无人机样本,共采集了5 174幅无人机图像,其中包含2 193 幅单无人机图像和2 981 幅至少含有两架无人机的图像,部分数据集图像如图4 所示。所有图像的分辨率均为1 920×1 080,采集设备为GoPro Hero 7 Black,速度为每秒30帧,无人机距离采集设备距离为100~600 m。
图4 自制无人机数据集Fig.4 Self-built UAV dataset
本文使用的数据集由Drone-vs-Bird、TIB-Net 和采集的自制数据共同组成,共计12 370 幅,所有数据都采用PASCAL VOC 格式标注。数据集中80%用于训练,20%用于测试。
除此之外,还构建了无人机跨境识别的数据集,通过关联无人机的外观信息来稳定跟踪。该数据集是从上述公开数据集中截取无人机部分得到的,包含10 个类别(共4 840幅)的无人机图像,图像像素为64×64,涵盖目前常见的消费级旋翼无人机,如图5 所示,展示了10 种不同类型无人机的部分数据集。
图5 无人机跨境识别的数据集Fig.5 Dataset of UAV cross-border identification
2.2 数据增强
训练深度学习网络模型需要海量的数据集,无人机在飞行过程中,会因姿态变化、光照变化、相机抖动等因素导致形态各异,出现模糊等情况,因此训练前对数据进行增强处理是非常必要的。本文通过旋转、裁剪、增加高斯模糊的方法来扩充数据集,以提高检测网络在不同的场景下的适应性和鲁棒性。
2.3 实验环境
本实验的训练环境为Ubuntu 18.04.5 LTS 系统,GPU 采用NVIDIA Quadro RTX 4000(8 GB),处理器是Intel Core i7-9700 CPU @3.00 GHz×8,内存32 GB,在Paddle 框架下采用CUDA 10.1 进行加速训练。
2.4 评价指标
为了合理评估系统的性能,对检测和跟踪性能分别进行评估。本文使用平均精度均值(mean Average Precision,mAP)和每秒传输帧数(Frames Per Second,FPS)两项指标来衡量检测性能。首先计算查准率(Precision,p)和查全率(Recall,r),如式(6)、(7)所示。查准率是识别正确的结果在所识别出的结果中所占的比率,查全率是识别正确的结果占数据集中所有要识别出的总数的比率。
其中:TP(True Positives)表示实际为正例且被分类器划分为正例的样本数量;FP(False Positives)表示实际为负例但被分类器划分为正例的样本数量;FN(False Negatives)表示实际为正例但被分类器划分为负例的样本数量。
平均精度(Average Precision,AP)就是对数据集中的一个类别的精度进行平均,如式(8)所示,p和r分别表示查准率和查全率,AP为曲线下的面积。平均精度均值(mAP)是指不同类别的AP的平均值,其计算公式如式(9):
在多目标跟踪领域常用多目标跟踪准确度(Multiple Object Tracking Accuracy,MOTA)和多目标跟踪精确度(Multiple Object Tracking Precision,MOTP)共同衡量算法连续跟踪目标的能力,即在连续帧中能准确判断目标的个数,并精确划定其位置,从而实现不间断的连续跟踪。如式(10)、(11)所示,MOTA可以反映跟踪过程中误报、漏报和ID切换的准确度;MOTP可以反映跟踪的目标预测框与真实标注的不匹配度。
其中:FN表示整个视频中错误判别的帧数;FP表示整个视频中遗漏检测的帧数;IDSW表示整个视频中错误的ID 切换帧数;GT表示真实标注的数据。
其中:ct表示第t帧目标位置和假设位置相匹配的个数;dt,i表示第t帧目标与其配对假设位置之间的距离,即匹配误差。
2.5 训练细节
训练无人机检测模型时,将指数滑动平均(Exponential Moving Average,EMA)设置为0.999 8。在标准反向传播更新过程中,将初始学习率设置为0.003 33,批量大小(Batch Size)设置为8,动量(Momentum)设置为0.9。如图6、7 所示,经过32 000 次迭代后,Loss 降至0.122,mAP升至94.62%。
图6 平均精度曲线Fig.6 Average precision curve
图7 损失函数曲线Fig.7 Loss function curve
跨境追踪采用度量学习训练,输入图片的像素统一为64×64,初始学习率设置为0.000 01,采取分段衰减策略。如图8 所示,经过40 000 次迭代后,在验证集上的召回率(Recall)可达93.81%,已经可以较好地区分不同种类的无人机目标。
图8 度量学习准确率与召回率Fig.8 Measure learning precision and recall
2.6 实验结果及分析
为了合理评估算法的性能,本实验分别在3 个无人机数据集上进行测试。表1 实验结果表明,引入Mish 激活函数后,mAP 平均提升了0.72 个百分点,说明本文算法对无人机特征的提取更加充分;融入压缩-激励模块后,相比原始PP-YOLO 算法,mAP 平均提升了2.27 个百分点,通过对通道间的权重进行重新学习,使得网络更加关注小目标。该算法在检测精度和检测速度方面均优于大部分同类算法,平均处理速度可达44.6 FPS,可以达到实时检测的要求。
表1 常用目标检测算法在三种数据集上的表现Tab.1 Performance of common target detection algorithms on three datasets
为了合理评估最终的跟踪效果,选取了15 段包含不同种类、不同数量的无人机视频,每段视频平均时长66 s,分别统计其FN、FP、IDSW,并与人工标注的真实数据对比,五种主流的多目标跟踪算法的结果如表2。
从表2 中可以看出,这五种算法中CenterTrack[28]在整个视频中遗漏检测的数量最低,这很大程度上可以归因于其将目标看作一个热点图,通过点的关联实现跟踪,这样就会比其他跟踪算法发现更多的小目标,所以漏检也较少。在跟踪速度上,Deep-SORT 将大部分复杂的计算放在离线训练阶段,因此在实时性方面表现突出,平均每秒可检测46.3 帧图片。得益于出色的检测性能和对Deep-SORT 外观部分的重新调整,使得本文算法对于无人机这样的小目标也能稳定跟踪,整体跟踪的准确性MOTA在几种跟踪算法中表现最优,达到了91.6%,主要原因是目前主流的跟踪算法是为较大目标而设计的。从表2 中可以看出,本文提出的无人机跟踪算法平均FPS为35.5,虽然不及Deep-SORT,但是在跟踪准确度和速度方面达到了较好的平衡,能够满足跟踪任务需要。
表2 本文算法在无人机视频中的跟踪结果Tab.2 Tracking results of the proposed algorithm in UAV videos
2.7 跟踪效果可视化
为了更好地展示跟踪效果,选择了两段视频进行展示,分别包含单架无人机和两架无人机。从图9(a)中可以看到,仅采用PP-YOLO 算法时,在第一段视频的第103 帧前后两帧都没有检测到无人机目标;在第二段视频中,第131 帧有两架无人机,但是由于目标较小,原始算法也无法准确检测。为了更好展示不同跟踪算法的区别,选取了跟踪准确性较高的FairMOT 算法进行对比,图9 中虚线框代表PP-YOLO算法检测结果,点线框代表FairMOT 的跟踪结果,实线框代表本文算法的结果,可以看出FairMOT 跟踪框大多为正方形,在跟踪单架无人机时表现很好,但是同时跟踪两架无人机时,其中一架无人机相对较小,在131 帧中丢失了跟踪目标,如图9(b)所示;而本文算法则利用前后的关联,成功匹配到更小的无人机。本文算法能够胜任连续性的跟踪任务,有效解决了跟踪过程中的丢帧问题,这主要是因为加入的外观特征在关联前后帧时发挥了关键作用。
图9 跟踪效果对比Fig.9 Tracking results comparison
3 结语
本文提出了一种跟踪多架无人机的方法,可以及时发现非法入侵的无人机,应用于反无人机领域,保证个人隐私和人身安全。首先在PP-YOLO 的基础上,融入通道注意力机制,增加对小目标的感知能力;然后利用Mish 激活函数解决梯度消失的问题,稳定训练过程,进一步提升了无人机的检测精度。经过在3 个无人机数据集上测试表明,所提算法在检测精度上平均提升了2.27 个百分点,在自制数据集上可达到94.62%。跟踪阶段在Deep-SORT 算法的基础上,融入无人机外观信息,在主干网络ResNet50 和损失函数Margin Loss 的共同作用下,整体跟踪准确性相比原始Deep-SORT 算法提升了4.5 个百分点,达到91.6%,跟踪的速度在35 FPS左右,满足实时性要求,极大优化了匹配性能,改善了跟踪效果。实验结果表明,本文算法能够较好地平衡检测的速度和精度,通过引入外观信息进一步解决了跟踪过程中的丢帧问题。除此之外,这项工作是持续性的,未来可以通过单独提升检测性能或者改变匹配方式来提升总体性能。