基于航拍视频的车辆目标跟踪方法*

2024-01-18 10:23吕艳辉贾旭东
火力与指挥控制 2023年12期
关键词:跟踪目标图像匹配中心点

吕艳辉,贾旭东,李 彬

(沈阳理工大学信息科学与工程学院,沈阳 110159)

0 引言

近年来,随着无人机技术的逐渐成熟,无人机已被广泛地应用于各个领域。利用无人机航拍的视频对目标进行跟踪,无论是在军事领域还是在民用领域,都发挥着巨大作用。目标跟踪任务可以分为两类:一类是多目标跟踪[1],另一类是单目标跟踪[2]。与多目标跟踪相比,更倾向于单目标跟踪,因为在视频序列中,往往更专注于出现的某一个体的运动情况。目前,目标跟踪的研究方法主要分为两类,一类是基于目标检测结果的目标跟踪方法[3-4],另一类是基于孪生网络[5]和相关滤波的目标跟踪方法,两者各有优点,前者精度更高,后者速度更快。

目标检测算法以2012 年的AlexNet 网络为分界线[6],之前的称为传统的目标检测算法,之后的称为基于深度学习的目标检测算法。基于深度学习的目标检测算法主要分为两类,即单阶段和双阶段。其中,YOLO 和SSD 属于单阶段的目标检测算法[7-8],R-CNN、Fast R-CNN 以及Faster R-CNN 均属于双阶段的目标检测算法[9-11]。在双阶段目标检测算法中,以Faster R-CNN 最具代表性,但由于网络模型本身的设计问题,对小目标的检测以及实时性方面都存在一定的不足。

在单阶段的目标检测算法中,以YOLO 系列的算法最为成功。轻量化的网络模型以及单阶段天生优秀的设计结构使算法不断刷新检测速度和精度。以VOC07 数据集为例,YOLOv1 的mAP 仅为66.4,远低于双阶段检测算法。而随着YOLOv2 的提出,mAP 就达到了78.6,此时该精度已经超过了双阶段的目标检测算法。YOLOv3 不但保持了精度,而且在检测速度上比双阶段检测算法R-CNN 快1 000 倍,比Fast R-CNN 快100 倍,既达到了双阶段的检测精度,又使检测速度得到大幅度提升[12]。

此外,在基于深度学习的单目标跟踪算法中,基于孪生网络的SiamFC 是单目标跟踪中又一研究方向[5],后续很多基于深度学习的单目标跟踪算法的提出都是以该算法为基础。例如SiamMask,SiamRPN,Dimp 等[13-15]。虽然目前基于孪生网络的单目标跟踪算法有着比较好的跟踪效果,但是由于网络得到的信息全部由第1 帧提供,得到的信息量实在太少。因当前目标跟踪领域样本不足导致精度不高,跟踪速度难以满足实时性要求。

单目标跟踪方法中,还有核相关滤波方法以及在此基础上与深度学习相结合的算法。这类算法因为运算量大,要求设备算力高,很多都需要在线微调网络参数,所以速度不是很理想,实际应用中还有些局限性。

鉴于此,本文基于深度学习的目标检测网络YOLOv4[16],针对无人机航拍视频中的某一车辆目标,研究其目标跟踪方法。对于单目标跟踪,首先要检测到该目标并且知道该目标的种类,然后通过将帧与帧之间同一个目标关联起来,并在它所属的目标类别中找到并标注,来实现目标跟踪。所以,本文主要研究目标预测算法、抗遮挡算法以及图像匹配算法。

1 K 邻域目标预测算法的提出

K 邻域搜索算法的不足是只能对当前帧中目标可能出现的位置区域进行简单估计,而不会将视频前后帧该区域中出现的目标检测结果进行关联。这样,如果有与跟踪目标外观相同的目标存在,就会产生干扰。

基于K 邻域搜索算法,本文结合IoU 和中心点偏移思想,提出K 邻域目标预测算法,对跟踪目标进行区域搜索及预测,该算法可以有效弥补K 邻域搜索算法的不足。基于K 邻域的目标预测算法的具体执行过程如下。

Step 1 根据前一帧跟踪框的大小,计算出k=2时该跟踪框所对应的K 邻域范围,并将当前帧检测范围缩小至该K 邻域内。

Step 2 如果当前帧在该K 邻域内只有一个目标被检测出来(目标的检测框至少有2/3 区域在K邻域范围内),那么该目标就是前一帧的目标,绘制跟踪框,继续执行Step 1;如果当前帧在该K 邻域内出现两个以上目标,则执行Step 3。

Step 3 将K 邻域内的目标分别与跟踪(模板)目标进行相似度计算,得到相似度得分,并进行排序。

Step 4 将排好序的相似度得分所对应的目标检测框与前一帧的跟踪框做IoU 和中心点的欧氏距离;取欧氏距离最小的中心点对应的检测框,并和前面的图像匹配所计算出的相似度以及最大的IoU 相结合,来判断哪一个检测框检测的是跟踪目标,判断顺序为:先比较图像的相似度,然后根据IoU 排除相似车辆,最后用中心点的欧氏距离选择跟踪目标。

Step 5 接收下一帧并继续执行Step 1~Step 4,直到视频结束。

IoU 的计算如式(1)所示。

其中,gt 是前一帧的跟踪框;bb 是当前帧在K 邻域范围内出现的检测框;用gt 和K 邻域内的检测框分别进行IoU 的计算,并选择IoU 值最大的检测框进行保留,满足式(2):

其中,IoU()为检测框与前一帧跟踪框的交并比;gt为前一帧的跟踪框;bbn为当前帧在K 邻域内出现的第n 个检测框;n 为K 邻域内的检测框总个数。

除了计算检测框与跟踪框的交并比之外,还应该考虑前一帧的跟踪框的中心点坐标和当前帧中K邻域范围内的各个检测框的中心点坐标的欧氏距离。运动中的车辆无论是按照当前的运动状态保持直行,还是突然改变运动方向,跟踪框与检测框的中心点在图像上的x,y 坐标不会发生很大变化,则二者之间最近的欧氏距离所对应的当前帧检测框检测的就是上一帧目标车辆。计算公式如式(3)所示。

其中,d 为两点的欧氏距离;cgt为前一帧跟踪框的中心点;cbb为当前帧检测框的中心点。取距离最小的中心点对应的检测框,并和前面的图像匹配所计算出的相似度以及最大的IoU 相结合,来判断哪一个检测框检测的是前一帧的跟踪目标。

在K 邻域搜索算法中,如果在K 邻域内出现与模板车辆类型相同的车,若该车和模板的相似度更大,那么使用K 邻域进行筛选,就会导致跟踪错误,如图1 所示。

图1 中,gt 为上一帧中的跟踪框,绿色虚线矩形框为gt 的K 邻域,当前帧中的两个检测框bb1 和bb2 是两辆相同的车,经过筛选后,仍会产生干扰目标。因为如果假设bb1 中的目标是真正的跟踪目标,那么bb2 就是干扰目标,若bb2 与gt 中的目标相似度更大,那么就会误认为bb2 是跟踪目标,导致最终失去真正的目标。

基于K 邻域的目标预测算法结合了IoU 以及跟踪框与检测框中心点偏移的思想,因此,该算法不仅缩小了检测范围,还将前一帧跟踪框与当前帧的检测框关联起来,通过比较它们之间的IoU 大小以及与中心点的欧氏距离,加强了限制条件,进而提高了预测算法的准确度,如图2 所示。

图2 基于K 邻域的目标预测算法示意图Fig.2 Schematic diagram of target prediction algorithm based on K neighborhood

2 基于车辆运动状态估计的抗遮挡算法的提出

在目标跟踪领域,对于跟踪目标被遮挡的情况一直都是该领域的一个难点。目标一旦被遮挡,在其重新出现的时候能否准确地找到该目标是抗遮挡算法的关键,本文提出一种基于车辆运动状态估计的抗遮挡算法。

本文研究的目标跟踪算法是基于YOLOv4 目标检测算法实现的,目标跟踪的前提是能检测到该目标,然后经过预测算法及图像匹配完成目标跟踪。当目标消失时,根据目标消失之前的坐标及前n 帧的运动状态估计在遮挡期间目标的运动状态及坐标,直到目标出现。该算法的执行步骤如下:

Step 1 基于YOLOv4 进行目标检测,框选出要跟踪的目标车辆。

Step 2 跟踪目标是否发生遮挡,如果是,执行Step 3;否则,在跟踪开始后,每20 帧记录一次车辆在视频中移动的平均速度。

Step 3 跟踪目标被遮挡是否超过50 帧,如果是,执行Step 4;否则,估计目标在遮挡期间的移动轨迹及坐标,同时获取当前估计位置的K 邻域。如果车辆被重新检测并且被K 邻域捕获到,则进行目标匹配,若匹配成功则继续进行跟踪;否则,执行Step 4。

Step 4 开启全图搜索和匹配。

Step 5 接收下一帧并继续执行Step 1~Step 4,直到视频结束。

基于车辆运动状态估计的抗遮挡算法在跟踪开始超过20 帧之后,进行每20 帧记录一次车辆在视频中移动的平均速度,依据此方式,当目标在视野中消失时,保存消失时的坐标以及前20 帧的移动速度。如果目标消失在50 帧以内(大约3 s),根据消失前的跟踪框生成一个估计框,估计在消失期间的移动轨迹及坐标,让这个估计框根据遮挡之前的车辆运动状态而移动,同时根据估计框获得一个K=2 的搜索范围,保持监听,直到检测到出现在该搜索范围内的目标,再进行匹配,若未匹配成功,则开启全图匹配,解除坐标和运动速度的记录,由图像匹配算法自行寻找,继续重复上述跟踪方式。

3 多特征融合的图像匹配算法的提出

在目标跟踪过程中,如果在K 邻域内有多个目标被检测出来,则需要找到与选定的跟踪模板目标最相似的目标以更新当前帧的跟踪框。本文提出一种多特征融合的图像匹配算法,该算法采用颜色直方图特征和HOG 特征融合的方式,进行模板与检测目标的相似度计算。多特征融合的图像匹配算法的执行步骤如下。

Step 1 框选完要跟踪的目标(模板)之后,对该模板进行颜色直方图特征和HOG 特征的提取,并将这两种特征转换为特征向量。

Step 2 在后续帧中,将检测出的同类别目标截取为图片,同样提取各个目标的颜色直方图特征和HOG 特征,并得到特征向量。

Step 3 分别计算跟踪目标和Step 2 中得到的所有目标之间的颜色直方图特征相似度与HOG 特征相似度,并进行加权得分。

Step 4 将Step 3 中得分最多的目标作为当前帧匹配到的跟踪目标。

Step 5 进行到下一帧并继续执行Step 1~Step 4,直到视频结束。

其中,颜色直方图特征的提取及相似度的计算方法如下。先对图像尺寸进行统一,然后统计每个R、G、B 原色在两幅图片中出现的次数,这样就构成了3 种原色在图片中出现频率的直方图,这3 种颜色直方图即为该幅图像的直方图特征,然后计算直方图的余弦相似度。首先获取直方图的“指纹”信息,每种原色像素值的取值范围是0~255,将这个范围分成4 个范围相等的区,即[0,63](0 区),[64,127](1 区),[128,191](2 区),[192,255](3区)。对于图像中出现的任何一种颜色,一定属于这4 个区中其中的一个,然后统计每个区出现的像素数,最后得到一个64 维的向量,即为该直方图的指纹。得到待比较的两幅图像的指纹后,通过计算两个向量之间的相似度,就可以得到两幅图像的相似度。假设P[P1,P2,…,Pn]和Q[Q1,Q2,…,Qn]是两个n 维向量,则P 与Q 夹角θ 的余弦如式(4)所示。

HOG 特征的提取及相似度的计算方法如下。在得到HOG 特征描述子后,计算特征描述子之间的欧氏距离,距离越小,则两幅图片越相似。两个HOG特征向量的欧氏距离公式如式(5)所示。

其中,xi、yi为HOG 特征向量的两个坐标值。

对每个筛选完毕参与计算的候选框,提取其特征与模板进行颜色直方图特征的余弦相似度计算和HOG 特征的欧式距离相似度计算后,分别乘以其对应的权重,相加得到最后的相似度得分。如式(6)所示。

式中,Si为第i 个候选框中的图像和跟踪目标的总相似度得分;W1为颜色直方图特征相似度权重系数,值为1;W2为HOG 特征相似度权重系数,值为2;S 为括号内参数的相似度计算函数;S(ci,ct)为第i 个候选框和跟踪目标t 的颜色直方图特征相似度函数;ci为当前帧检测框的中心点;ct为前一帧跟踪框的中心点;S(hi,ht)为第i 个候选框和跟踪目标t的HOG 特征相似度函数;hi为第i 个候选框的HOG特征;ht为跟踪目标的HOG 特征。最后,选择相似度总得分最多的候选框更新为当前帧的跟踪框。

4 实验结果与分析

本文实现目标跟踪方法的平台是R740 服务器,该服务器的配置如下页表1 所示。

表1 R740 服务器配置表Table 1 Configuration table of R740 server

本文使用的目标检测算法是AlexeyAB 发布的darknet-Yolov4 的C 语言版本,其权重yolov4.weights 由官方提供且已经过训练。该模型的准确度可以达到65.7% mAP@0.5 (43.5% AP@0.5:0.95),其检测效果可以满足本文的检测要求。实验选用无人机拍摄的几个不同场景进行测试。图3~图5 分别给出了城市公路场景、城市公路交通拥堵场景以及高速公路车辆全遮挡情况,其中,图3 和图5 来源于单目标跟踪测试集中的OTB 系列。在上述场景对跟踪速度进行测试,程序处理速度约为24.4 帧/s,能够满足实时性的要求。

图3 城市公路场景Fig.3 Scenarios of urban roads

图3 中第370 帧是无遮挡情况下的跟踪效果,第400 帧和420 帧是交通灯对车辆有部分遮挡情况下的跟踪效果。

由图4 可以看出,利用多特征融合的图像匹配算法结合K 邻域目标预测算法,即使在目标车辆附近出现颜色相同外形相似的车辆,依然能够很好地进行跟踪。

图4 城市公路交通拥堵场景Fig.4 Traffic congestion scenarios of urban roads

如图5 所示,第134 帧中车辆即将消失,第140 帧是车辆被完全遮挡时,抗遮挡算法对车辆的运动估计,第144 帧是当车辆从遮挡物中驶出时,由估计框生成的K 邻域将再次检测到的目标捕获,并与模板目标进行匹配。可以看出,抗遮挡算法在一定程度上可以解决目标的全遮挡问题。

图5 高速公路车辆全遮挡情况Fig.5 Full occlusion of expressway vehicles

表2 给出了本文跟踪算法在各场景中的跟踪准确率。

表2 各场景的跟踪准确率Table 2 Tracking accuracy of each scenario

由表2 可知,本文提出的目标跟踪算法对车辆跟踪的平均准确率为91.1%。表3 给出了本文算法与其他算法跟踪准确率对比。

表3 各算法的跟踪准确率对比Table 3 Comparison of tracking accuracy of each algorithm

由表3 可以看出,与传统的TLD 算法和基于孪生网络的单目标跟踪算法相比,本文跟踪算法跟踪精度平均提高了6.35%。

5 结论

本文从深度学习的目标检测网络YOLOv4 出发,针对无人机航拍视频中的某一车辆目标研究其目标跟踪方法。分别提出K 邻域目标预测算法、基于车辆运动状态估计的抗遮挡算法以及多特征融合的图像匹配算法。通过将上述算法进行结合,实现了基于检测结果的单目标跟踪算法。通过在不同的拍摄场景下运行该算法,效果良好,平均准确率达到91.1%,处理速度约为24.4 帧/s,准确率较其他跟踪算法提升了6.35%,且满足实时性的要求。

本文提出的目标跟踪方法,能够快速、准确地在无人机拍摄的视频中对某一车辆目标进行跟踪,具有很好的通用性和可扩展性。但是本算法仍具有一定的局限性,本文仅在几种相对简单场景中进行了测试,未来还需要对更复杂的车辆运动行为进行深入研究。

猜你喜欢
跟踪目标图像匹配中心点
核相关滤波与孪生网络相结合的目标跟踪算法
Scratch 3.9更新了什么?
如何设置造型中心点?
一种用于光照变化图像匹配的改进KAZE算法
基于图割理论的尺度自适应人脸跟踪算法
连续同色调背景下运动目标自适应跟踪
汉字艺术结构解析(二)中心点处笔画应紧奏
寻找视觉中心点
基于卡尔曼和图像信息量的Mean Shift改进跟踪算法
挖掘机器人图像匹配算法研究