基于深度学习的无人机航拍目标检测与跟踪方法综述

2024-03-20 08:43欧阳权薛雅丽王志胜
电光与控制 2024年3期
关键词:深度目标算法

欧阳权, 张 怡, 马 延, 薛雅丽, 王志胜

(1.南京航空航天大学自动化学院,南京 211000; 2.西北工业大学软件学院,西安 710000)

1 研究背景

近年来,无人机(UAV)因体型小巧、成本低廉、动作灵活性高、易于操控等优势,在各种多元化航拍场景中都得到了应用,例如检测、追踪野生动物的数量和生活轨迹,特定场合对人群、车辆进行安全监控、跟踪和定位,实时监测空气、水质并追踪查找污染源等。在无人机的诸多应用中,目标检测与跟踪技术发挥着不可替代的作用。

一直以来,目标检测与跟踪技术总体上是由检测和跟踪两个部分组成。其中:目标检测是通过检测算法对输入图像中可能存在目标的区域(即感兴趣区域)[1]进行特征提取,利用预训练的分类器输出检测结果;目标跟踪是利用跟踪算法对视频初始帧目标进行特征提取,通过模型训练来预测目标的未来位置和大小。目标检测与跟踪技术都经历了从传统方法阶段到基于深度学习方法阶段的演变,传统方法需要手动提取特征,存在过程繁琐、计算量冗余且准确率低等缺点。随着科学技术的飞速发展,基于深度学习的深度神经网络已经成为无人机目标检测与跟踪技术的首选框架[2]。如图1[3]所示,通过无人机群对人体进行检测和追踪。目前,计算机领域中应用最广泛的深度目标检测算法以两阶段(Two-stage)和单阶段(One-stage)为主。其中,Two-stage目标检测算法以R-CNN[4-5]系列最为常见;One-stage目标检测算法以YOLO算法系列[6-11]和SSD[12-15]算法为代表。目标跟踪算法大致划分成生成式和判别式两种,判别式目标跟踪算法又可分为以相关滤波[16-21]为基础和以深度学习[22-27]为基础的跟踪算法。目前将目标检测与追踪技术应用于无人机领域的综述有文献[28-30]。文献[28]系统地介绍了基于深度学习的无人机航拍目标检测的研究现状;文献[29]总结了在YOLO系列算法的基础上,无人机在场景复杂的情况下进行目标检测的研究现状,并指出YOLO算法更适用于无人机的应用;文献[30]综述了基于无人机的常用跟踪框架和代表性跟踪算法,并讨论了良好跟踪系统的要求和现有技术的不足。

图1 无人机人体检测与追踪

本文首先对无人机目标检测与跟踪任务及难点进行论述梳理,接着对基于深度学习的目标检测与跟踪算法分别进行阐述,最后对全文进行总结,并对无人机目标检测和跟踪技术的未来进行展望。

2 无人机航拍目标检测与跟踪任务及难点

当前无人机目标检测与跟踪任务大多是以基于视觉的方式来实现,其主要流程为:通过目标检测算法,无人机对视觉初始帧中的目标进行定位和分类,接着对视觉中运动的目标进行特征提取、外观建模,再根据观测模型对运动目标的位置和大小进行预测,最终实现目标跟踪任务。近年来,基于视觉的无人机目标检测与跟踪任务的主要难点在于背景复杂造成的目标遮挡、目标尺度变化及运动复杂、光照变化和实时性差等,目标检测与跟踪任务难点如图2所示。具体描述如下。

图2 目标检测与跟踪任务难点

1) 背景复杂,目标遮挡。无人机高空飞行视野广阔,目标检测干扰物较多。如图2(a)所示,在人脸识别中,戴口罩的人群很有可能被漏检。因此,辨识度和低排他性都会降低目标模型的精度。

2) 目标尺度及运动复杂。如图2(b)、2(c)所示,例如人的奔跑或跳跃等动作会导致无人机拍摄图像模糊;同时,随着无人机高度增高,视野变广,目标变小导致检测难度增加。

3) 光照变化。无人机大多应用于室外场景,与其他任务相比更容易存在受到光源影响的情况。如图2(d)所示,光照强弱程度改变,同一视角目标显示的颜色和亮度会变化,这会提高检测难度从而降低模型性能。

4) 实时性差。实时性是衡量无人机能否进行实时准确跟踪的重要因素,因此,减少网络参数量和降低计算复杂程度是十分必要的。

3 无人机航拍目标检测算法

在2012年,HINTON和他的学生KRIZHEVSKY带着AlexNet[31]模型在ILSVRC2012比赛中夺得冠军,迎来了以卷积神经网络为核心的时代,目标检测技术也开始从传统的机器学习技术逐渐向深度学习转变。以深度学习为基础的目标检测算法分为单阶段和两阶段两类。Two-stage目标检测算法经区域建议产生感兴趣区域,然后进行候选区域的特征提取、分类回归等操作。One-stage目标检测算法是一种基于回归的检测算法,因此不需要历经候选区域的生成这一步骤。目标检测算法发展历程如图3所示。

图3 目标检测算法发展历程

在目标检测任务中,通常利用平均精确率(Average Precision,AP)来对算法性能进行评价,其算式为

(1)

当交并比阈值设定为t时,P(t)可以反映出模型的准确性。在处理复杂的目标检测任务时,通常用平均精确率均值(mean Average Precision,mAP)作为衡量准确性的指标,其算式为

(2)

3.1 两阶段目标检测算法

R-CNN算法最早由GIRSHICK等[4]提出,该算法在区域选择阶段利用选择性搜索[32](Selective Search),解决了滑动窗口生成大量冗余候选框,最终导致计算量过大的问题;同时,在特征提取阶段利用CNN网络,解决了手工提取因环境复杂而导致的鲁棒性差的问题;在最后阶段,将边界回归和利用分类器SVM分类同时进行,这极大地提升了检测效果。但R-CNN算法也存在一些局限性:每一个候选区域的生成都需要通过CNN提取特征,会产生大量重复计算,导致检测速度较慢;此外,R-CNN目标检测各阶段以及各自独立,依旧无法找到全局最优解。

针对前者的不足,GIRSHICK[5]提出了Fast R-CNN算法。该算法通过合并分类和边框回归问题,初步实现了端到端的检测,同时将SVM替换成Softmax,将全部特征存在显卡中,进一步减少了存储空间的消耗,也极大地加快了检测速度。在VOC2007数据集测试中,Fast R-CNN算法在准确率方面达到了70.0%,训练速度是R-CNN算法的10倍。Fast R-CNN算法的缺点在于候选区域生成上仍是选择基于选择性搜索的方法,因此该算法实时性效果较差。

接着,在经典的检测算法打下坚实的基础后,一些具有创新性的算法也陆续被提出,ZHANG等[33]提出了Dynamic R-CNN 算法,该算法利用基于统计量的方法自动对标签分配标准和回归损失函数进行调整,从而减小训练计算的复杂程度和测试的额外开销;SHI等[34]提出了PV-RCNN算法,该算法将三维体素卷积神经网络和基于Pointnet的集合抽象深度融合,根据学习点云的判别性特征从而在点云中精确检测到目标的三维坐标,使得该算法具有较好的精度;不久,YIN等[35]提出CenterPoint CVP21算法,该算法利用点来表示、检测和跟踪3D物体,其框架CenterPoint 利用关键点检测器检测目标中心,然后回归到3D大小、方向和速度等属性,这样的检测算法更简单、高效,但在边缘计算设备上的实时性效果较差。

两阶段目标检测算法主要是向着简化网络结构、提高检测精度、实时参数共享的方向演变,尤其是高质量的检测精度,但也依旧存在着一些不可忽视的缺陷:如目标检测速度较慢,难以满足实际应用中实时性的要求,模型不够轻量化,限制其在一些硬件平台的实际应用等。

3.2 单阶段目标检测算法

YOLO算法最早由 REDMON等[6]提出,也是最早出现的单阶段目标检测算法。YOLO算法利用数学模型,把一张图像分割成S×S个小区域,每个区域仅检测物体中心落入其中的目标,再利用数学模型来估算出每个区域内物体的类别和属于该类别的概率以及边框的位置、尺寸和置信度。VOC2007数据集检测结果显示,YOLO算法检测效率提升至45 帧/s,具有极强的实时性。但YOLO算法对于小目标或者是密集程度较高的目标检测具有较大的局限性。

不久后,YOLOv2[7]借鉴了DarkNet19的基础架构,并采用了大规模正则化、聚类边界框预测和联合训练方法等先进技术,以提高模型性能。YOLOv3[8]引入了多尺度特征融合、新的残差网络模型DarkNet53等策略,既提高了对小目标信息获取的能力,又能实现对高覆盖率图像的检测效果。不久后,由于YOLOv4在检测速度和精度上的良好表现,WANG等[9]对YOLOv4进行改进,该方法可以对网格的深度、宽度和分辨率进行缩放,因此不同性能的硬件平台可以选择适合的网络模型。接着,YOLOv6[10]将空间金字塔优化为SimSPPF,并搭建了Rep-PAN结构,这使得模型在高速推理的同时进行多尺度融合,此外,YOLOv6引入了新的损失函数SIoU,提高了模型的训练速度以及回归精度。YOLOv7[11]在网络整体框架上加入了重参数卷积、高效聚合网络和模型缩放等新技术,YOLOv7的检测精度和速度都大大超越了之前的检测器。YOLO系列算法一直在向网络轻量化、提高检测速度和检测精度的方向发展,但依旧有一些共性的缺陷:如对于小目标检测或者复杂背景下的多目标检测的效果依旧较差,大多数模型的计算量较大。

因此,LIU等[12]提出了SSD算法,该算法使用全卷积网络,以多尺度特征检测,既保证精度又兼顾了速度,但该算法对小目标检测效果仍然比不上两阶段检测算法。YE等[13]提出了HVNet网络,可以通过融合不同尺度的体素特征编码器再投影到多个伪图像特征映射中从而解决体素大小参数难以平衡的问题,这对于大小目标的检测都能有更强的检测效果。YANG等[14]提出了一种轻量级的基于点的三维目标检测器3DSSD,该模型对较少的具有代表性的点进行融合采样,同时,该模型还增加了一种包含候选生成层和三维中心度分配策略的精细盒状预测网路,从而满足高速度高精度的要求。ZHENG等[15]针对室外点云中的3D目标检测提出了SE-SSD,该模型能够根据制定的一致性约束优化,从而能将预测和目标保持一致,同时设计了新的数据增强方案来产生形状感知的增强样本,这使算法能够准确、高效地进行户外检测。

单阶段目标检测算法总体上呈现出在检测速度快的情况下往高精度方向发展的态势,但同时存在着一些缺点,如随着神经网络的加深,在特征提取阶段容易出现细节丢失;对于小目标检测有着不同程度的限制,模型大多较为复杂,不利于在移动设备上部署,限制实际应用等。

表1是对各类目标检测算法的性能比较。

表1 以深度学习为基础的目标检测算法性能对比

4 无人机航拍目标跟踪算法

从跟踪算法的发展历程来看,可以将其主要分为两大类:1) 生成式目标跟踪算法,主要存在于传统目标检测算法中;2) 判别式目标跟踪算法,这类算法相比于前者加入了检测的过程,跟踪效果取得了极大提升。本文主要讲述的是判别式目标跟踪算法,主要分为两类:一类采用相关滤波技术;另一类采用深度学习技术。

图4为目标跟踪算法的分类图。判别式目标跟踪算法能够同时分析目标信息和背景信息,再经过训练器训练来对目标和背景进行分辨,最后选择候选样本中置信度最高的作为预测结果。目前,判别式目标跟踪算法大多数都是通过使用相关滤波或者深度神经网络来实现的。两者都是以一般目标函数为基础。

图4 目标跟踪算法分类图

判别式目标跟踪算法旨在通过优化均方误差来提高检测准确性,其目标函数的基本定义为

(3)

式中:xk为输入的图片数据;k为采样xk的通道数;K为总通道数;ωk*xk为滤波器与采样的相关操作;y为高斯矩阵;λ是正则参数减少模型的过拟合。目标函数在频域内求解模型ω的增量为

(4)

式中:ωpre为当前模型;ωmodel为滤波器模型;α为更新速率。

4.1 基于相关滤波的跟踪算法

以相关滤波为基础的跟踪算法大多是以在线学习的方式跟踪目标,该过程对初始帧图片训练,通过训练出的滤波器对后面图像中的目标和背景进行区分,同时对模型进行更新以便适应目标的变化。本文将介绍几种经典滤波算法并加以分析。

最早BOLME等[16]提出MOSSE算法,其平均检测速度达到600 帧/s,而且在光照变化以及目标尺寸变化时依旧具有很强的稳定性。但MOSSE算法也有一些局限性:利用线性滤波器进行采样,总体分类性能一般;采用单通道的灰度特征,因此对跟踪目标的表征能力有限。接着,HENRIQUES等[17]提出CSK算法,该算法利用循环矩阵的特点,用基于核映射的采样方法来代替粒子采样,但这也给CSK算法带来了两方面的缺陷:1) 对目标尺度变化适应性较差,当目标的大小发生变化时,跟踪框无法及时进行调整;2) 由于搜索框范围的局限性,当目标快速移动时,容易目标丢失。随后,HENRIQUES等[18]基于CSK算法,提出了KCF和DCF算法,该算法通过核函数将低维线性空间向高维空间进行映射,从而提升滤波算法的稳定性,但当目标被遮挡或者快速移动时,跟踪效果较差。

通常无人机跟踪的场景都很复杂,跟踪过程很容易受到一些噪声的影响,因此,HUANG等[19]提出了ARCF算法,该算法对检测阶段的响应图变化率进行限制,从而可以减少目标因为光照、遮挡等导致的检测畸变,提高对目标跟踪的鲁棒性和准确性。接着,FU等[20]提出DRCF算法,该算法提出了一种双正则化策略,在直接正则化的同时对相关的滤波器进行正则化,从而抑制边界效应,因此,该算法用于无人机目标跟踪时整体性能优越。不久后,LI等[21]提出AutoTrack算法,该算法引入了空间局部响应图变化作为空间正则化,使DCF专注于学习对象的可信部分,全局响应图变化决定滤波器的更新速度,这种在线自适应学习算法极大地加快了目标跟踪的速度,同时,该算法在无人机上已经得到了广泛的实验和应用。

以相关滤波为基础的算法最为显著的优点是能够在线学习,根据跟踪目标变化对模型进行更新,从而提高了目标跟踪的实时性,但这类跟踪算法也有一些尚未解决的局限性,如对跟踪目标的尺度变化适应性不强,对被遮挡目标跟踪能力不强,对跟踪视频帧率要求较高等。

表2为各种基于相关滤波的目标跟踪算法的分析对比。

表2 以相关滤波为基础的目标跟踪算法优缺点对比

4.2 基于深度学习的跟踪算法

如今,目标跟踪领域也开始利用深度学习技术,从而实现对目标端到端的跟踪,主要以CNN-SVM[22]算法及其衍生算法和孪生网络系列算法为主。

CNN-SVM是实际应用最广泛的深度学习算法之一,该算法先使用卷积神经网络学习目标的特征,然后利用SVM学习判别目标的外观模型,同时CNN构建目标显著性图生成跟踪结果。NAM等[23]提出了新型的多域卷积网络MDNet,其结构由三层卷积以及两层全连接组成,可以有效捕获多个目标的信息特征,但对目标和相似的背景重叠的场景,难以进行有效的分割。在此问题上,QI等[24]提出了一种全新的SSAT算法,该算法利用特殊的CNN来有效划分目标是否被遮挡,未被遮挡的目标直接用于跟踪器更新,但当目标受到背景信息的影响导致整体图像不完全时,该图像将直接输出。SSAT算法结构如图5[36]所示。

图5 SSAT算法结构图

TAO等[25]提出的SINT算法主要分为离线跟踪和在线跟踪两个过程:离线使用ALOV算法,利用最小化损失函数计算;在线跟踪利用两个分支网络分别输入当前帧图像和初始帧图像,最终返回的最大响应区域为目标位置。BERTINETTO等[26]在此基础上提出SiamFC目标跟踪算法,跟SINT算法一样将跟踪过程分为离线跟踪和在线跟踪两个过程,并且训练效果佳、速度快。SiamFC的出现彻底改变了传统的目标跟踪算法的格局,它的结构简单、实时性强,但是由于目标尺度的影响,其跟踪过程中鲁棒性仍然不够理想。

于是,LI等[27]在SiamFC网络中融入了 RPN,从而生成一种新的算法SiamRPN,该算法由孪生子网络以及候选区域子网络构成,前者利用全卷积网络对样本进行特征提取,后者同时负责目标背景分类和边界框回归,最终将两者进行融合,则可以更好地得到目标的位置和大小。SiamRPN的性能显著优于其他算法,它能够快速、准确地进行目标跟踪,但在数据集种类分类中还相对较少,因此还有很大的提升空间,该算法结构如图6[37]所示。

图6 SiamRPN算法结构图

当前大多数孪生网络都是采用AlexNet网络作为主要的网络,较为简单,因此,ZHANG等[38]在对孪生网络的不断探索中提出了SiamDW算法,利用CIR有效控制目标接收域的大小,从而显著降低目标跟踪偏差。接着,LI等[39]提出了SiamRPN+ +算法,该算法在SiamRPN的网络框架中融入了深层孪生网络块,这有利于特征的逐层聚合,提高了算法的跟踪性能。

综上所述,以深度学习为基础的跟踪算法在骨干网络升级、简化网络架构、转变目标搜索策略等方面不断深入研究,对于目标跟踪的准确度有很大的提升。但这类算法依旧有一定的局限性:采用离线训练的方式无法适应实际应用中的突发状况;算法的实际通用性较低,很少能同时在速度、精度和稳定性上有较好的效果。

5 总结与展望

本文梳理了无人机目标检测与跟踪任务和难点,对近年来目标检测算法和目标跟踪算法进行总结和对比分析,展望了无人机目标检测与跟踪任务未来的发展方向。

目前面向无人机的目标检测与跟踪技术虽然有了很大的进步,但由于实际场景中存在对小目标检测、目标有遮挡、分辨率低等各种情况,这一领域依旧有很大的发展空间,针对以上问题,本文对未来的研究方向做以下几点归纳:

1) 在目标检测追踪过程中,深度神经网络对于小目标、被遮挡的目标特征提取能力较弱,可以引入一些如迁移学习之类的方法来提高特征提取能力;

2) 目前的目标检测、跟踪算法对于无人机实际应用来说,大多只会对尺度变化、小目标检测或者快速移动一类问题的解决效果较好,很少有算法能同时解决全部问题,因此,开发出对多种因素干扰都能保持良好鲁棒性的算法也是很值得研究的方向之一;

3) 当前无论是目标检测算法还是目标跟踪算法,大都需要极强的算力要求,但无人机实际应用算力是有限的,因此,如何减少模型参数使其更好地应用于无人机平台也是值得深入研究的方向之一。

猜你喜欢
深度目标算法
深度理解一元一次方程
基于MapReduce的改进Eclat算法
Travellng thg World Full—time for Rree
深度观察
深度观察
进位加法的两种算法
深度观察
一种改进的整周模糊度去相关算法
我们的目标
新目标七年级(下)Unit 3练习(一)