基于视频的装甲车和飞机检测跟踪及轨迹预测算法

2021-05-06 07:42张永梅赖裕平马健喆冯超束颉
兵工学报 2021年3期
关键词:准确率典型轨迹

张永梅, 赖裕平, 马健喆, 冯超, 束颉

(1.北方工业大学 信息学院, 北京 100144; 2.香港理工大学 电子与信息工程系, 香港 00852)

0 引言

装甲车是当代战争中的重要地面武装力量,拥有强大的破坏力以及超远射程,可对远程重要目标进行摧毁。飞机灵活性强、速度快,可以很好地进行空中支援以及对地面目标进行摧毁。

轨迹预测的目的是通过分析移动目标的历史轨迹数据来挖掘数据特征,从而得到轨迹数据模型,进一步实现轨迹的时空预测[1]。无论定位系统、社交平台或基于位置的服务软件等,都记录了移动目标的轨迹点信息。轨迹数据作为移动目标活动规律的历史依据,隐藏着大量的移动目标行为模式及潜在规律,如何从这些轨迹信息中提取有用信息,成为一个研究热点[2]。

当前轨迹预测常用的算法主要包括隐马尔可夫模型(HMM)[3]和混合高斯模型(GMM)[4-5]。HMM本质上是对时间序列的预测,但是对噪声没有较好的鲁棒性,并且随着数据集的增大,预测误差会不断累积。GMM则是一种广泛应用的基于概率统计的预测模型,它将轨迹数据视为由多个高斯过程线性组合产生,通过混合高斯建模,并利用最大似然估计算法求取模型参数,再通过高斯混合回归实现轨迹预测。但当数据复杂度提高时,GMM算法不再具有良好的适用性,而且随着数据集的增大,GMM算法的计算代价也会呈指数倍增加。

深度学习模型能够从像素级原始数据到抽象的语义概念逐层提取信息,学习高效的数据特征表示,并且模拟复杂的非线性问题,适用于多种类型的场景,具有很强的泛化能力,因此出现了基于深度学习的轨迹预测算法。

由Hochreiter等提出的长短时记忆(LSTM)网络可以更加有效地处理时间序列问题[6],现有大多数较好的轨迹预测算法都是基于LSTM的改进[7-8]。Xue等[9]设计了一种神经网络用来预测行人轨迹,着重考虑了待预测行人与其他人的位置关系,采用的网络包括基于多层感知机(MLP)的位置编码器、基于LSTM神经网络的运动编码器以及轨迹预测。

社交长短时记忆(Social-LSTM)网络是由Alahi等[10]于2016年提出的用于行人轨迹预测的网络,该算法利用了周围邻居信息,将个体周围的邻居信息引入当前轨迹预测,极大地提升了轨迹预测的效果。

目前大多数研究人员通过调整深度学习模型来实现典型目标的轨迹检测[11],利用深度学习模型的自学习特点可以很好地预测视频目标的轨迹,节省了大量的时间和人力。目前轨迹预测算法效果很好,但主要存在以下两个问题:

1)多目标跟踪是一个极具挑战的研究课题。目前视频典型目标轨迹检测算法在视频目标较少或视频目标之间不存在遮挡时,轨迹检测效果较好。但当视频目标较多时,存在漏检问题以及当视频目标之间相互遮挡或其他物体遮挡时,检测的轨迹片段不完整,影响后续视频典型目标轨迹预测。

2)目前轨迹预测算法在预测典型目标轨迹时,仅依赖其唯一的位置信息,没有考虑视频目标轨迹的上下文环境信息以及视频中多个目标轨迹间的相互影响,导致目标的轨迹预测准确率较低。

本文选取装甲车、飞机视频典型目标为移动对象,研究基于视频的多目标检测跟踪及轨迹预测算法。针对当前视频目标跟踪算法跟踪多目标时容易跟丢的问题,提出一种改进跟踪学习检测(TLD)的视频多目标检测跟踪算法,跟踪获取目标的运行行为轨迹,生成移动目标的轨迹时空图。针对目前轨迹预测算法没有考虑视频中多目标间运行轨迹影响而导致轨迹预测准确率较低的问题,提出一种基于Social-LSTM的视频典型目标轨迹预测算法,综合考虑典型目标自身运行方式以及其邻近目标运行方式对其的影响,预测视频典型目标的运行轨迹。

1 基于Social-LSTM的视频典型目标检测跟踪及轨迹预测算法

本文研究基于改进TLD的视频多目标检测跟踪算法,以获取移动目标的完整轨迹。对移动轨迹数据进行分析,提出一种基于Social-LSTM的视频典型目标预测算法,结合上下文特征信息进行预测,提高了预测的准确率。

1.1 基于改进TLD的视频多目标检测跟踪算法

视频目标轨迹获取主要包括视频目标检测和视频目标跟踪,检测视频目标的位置,再对视频目标进行跟踪,并标记视频目标在每一帧图像的位置,形成目标在视频中的运动轨迹。视频目标轨迹的获取方法主要可以分为基于深度学习结合相关滤波的跟踪方法、基于预测的跟踪方法和基于光流的跟踪方法[12]。3种方法对应的经典算法分别为用于跟踪的深度特征与相关滤波相结合的高效卷积运算符(ECO)算法[13]、Kalman滤波算法和Lucas-Kanade(LK)光流算法。虽然这3种算法能够很好地检测特定环境中的视频目标轨迹,但是在检测视频目标轨迹时仍然存在一些问题。

复杂场景中需要设计鲁棒的跟踪算法,以解决光照变化、障碍物遮挡等实际应用中不可避免的问题。深度学习方法得到的深度特征比传统手工特征更加精确,但跟踪实时性很低。相关滤波将计算转化到频域,大幅度提升了跟踪速度。将深度学习与相关滤波结合,可以充分发挥两种方法的优势[14]。

2016年提出的ECO算法旨在通过解决计算复杂度和过拟合问题来同时提高速度和跟踪效果,但是ECO模型庞大复杂,其高复杂度的代价并未带来跟踪准确率的大幅提升。本文采用较轻便的基于浅层特征的ECO算法作为跟踪对比算法。Kalman滤波算法是协方差误差最小准则下的最优估计方法,计算量小,实时性高,利用实际的运动参数不断修正未来运动状态的估计值,提高估计精度,兼顾实时性和稳健性。该算法对单一目标有很好的跟踪效果,但由于没有考虑多目标之间的相互影响,导致多目标的跟踪效果不好。基于LK的跟踪算法只能跟踪视频中运动变化较小的目标,当视频目标运动变化较大时,跟踪效果并不好。综上所述,这些算法在多目标复杂场景下,跟踪效果都不理想。

视频场景中存在多个目标时,对多个目标进行有效跟踪,单纯依靠目前某一种跟踪算法行不通[15]。需要从当前的主流跟踪算法中选择合理的跟踪算法,并将多种不同的跟踪算法结合,互补利弊,研究设计移动目标轨迹跟踪算法。

TLD算法是一种边检测边跟踪的算法,当视频中有遮挡物存在时,会导致检测不到目标而跟丢目标;当无遮挡物时,该算法是一种稳定且有效的算法。为了提高视频目标跟踪的准确率,本文提出一种改进TLD的视频多目标轨迹获取算法,在目标移动情况下跟踪并获取目标的运行行为轨迹。将TLD算法作为基本跟踪算法,以Kalman滤波算法作为辅助跟踪算法,利用Kalman滤波算法获得的轨迹补充TLD算法获取的轨迹缺失部分,得到视频目标的完整轨迹。该算法具体步骤如下:

步骤1输入视频。

步骤2初始化TLD算法和Kalman滤波算法。

步骤3利用TLD算法跟踪并检测视频目标,判断当前视频帧是否检测到目标轮廓,若是则执行步骤4,否则更新Kalman预测阶段的状态方程,并执行步骤6.

步骤4判断检测的目标轮廓是否完整,若是则执行步骤5,否则更新Kalman预测阶段的状态方程,并执行步骤6.

步骤5更新TLD学习模型中的训练参数。

步骤6记录视频目标所在位置,并判断视频是否结束。如果视频结束,则输出视频目标轨迹数据,否则转步骤1.

1.2 融合上下文特征的视频目标轨迹预测算法

视频典型目标的运动轨迹在相邻帧之间存在时序依赖关系,而不同运动目标在同一帧可能存在相互影响。如果不能合理解决这两个问题,则会影响视频典型目标运动轨迹预测的精度。

为了解决上述问题,本文提出一种基于Social-LSTM的视频目标轨迹预测算法。该算法利用LSTM处理同一个典型目标运动轨迹在不同视频帧间的时序关系。在处理多个典型目标时,分别采用LSTM预测每一个目标的轨迹,并在多个LSTM之间添加一个社交池(S-Pooling)层来处理多个目标之间的相互影响,以较准确地预测视频典型目标的轨迹。

1.2.1 Social-LSTM的构建方法

Social-LSTM是LSTM的改进,该网络模型是在LSTM结构基础上加入一个S-Pooling,考虑同帧图像中邻近目标对其运行轨迹的影响,预测目标的运行轨迹。该S-Pooling允许空间近端序列的LSTM彼此共享各个网络的隐藏状态。Social-LSTM模型有效考虑了视频典型目标运行规则和同一场景中其他目标的影响,并联合预测该场景所有典型目标的运动轨迹[10]。Social-LSTM网络结构如图1所示。图1中,hi(i=1,…,n)表示同一场景中第i个视频目标对应的LSTM的预测轨迹,n为同一场景中视频目标的个数,Hi为同一场景中第i个视频目标的隐藏状态。

图1 Social-LSTM网络结构Fig.1 Social-LSTM network structure

图1中的LSTM表示一个LSTM神经网络,每个LSTM神经网络用来预测视频中一个典型目标的轨迹。由于LSTM网络是无监督学习,每个LSTM神经网络都需要通过学习历史轨迹数据来获得其权重参数,并利用该网络预测视频目标在未来时刻的坐标轨迹。由于视频中一个目标的运行轨迹可能会受到其邻近目标运动的影响,本文通过一个S-Pooling层将待检测目标的LSTM网络与其邻近目标的LSTM网络进行连接,从而形成一个新的网络,即Social-LSTM,并利用该网络预测待检测目标的轨迹。

(1)

计算S-Pooling层的隐藏状态后,融合S-Pooling层计算得到的待检测目标隐藏状态以及其自身运动状态,从而计算待检测目标的运行轨迹,计算公式如(2)式所示。

(2)

基于Social-LSTM的视频目标轨迹预测算法利用LSTM来处理同一目标运动轨迹在不同帧间的时序关系。在处理多个目标时,分别采用LSTM预测每一个目标的轨迹,并在多个LSTM之间添加一个S-Pooling层来处理多个目标之间的相互影响,从而能够较准确地预测视频典型目标的轨迹。

Social-LSTM能够将相邻目标轨迹间的影响因素考虑在内,并将影响因素加入S-Pooling. 该网络模型能够综合考虑视频目标自身运行轨迹规律以及其他邻近目标对其运行轨迹的影响,并将二者进行融合预测视频目标的轨迹,有助于提高典型目标轨迹预测的精度。

1.2.2 上下文特征提取方法

视频与图像最大的不同在于其拥有时间维信息。上下文特征即视频运动目标在前后两帧视频图像中存在的依赖关系,以及在同一帧视频图像中其他运动目标对待检测目标运行轨迹的影响。为了准确预测典型目标的运行轨迹以及消除其他邻近目标对其运动轨迹的影响,本文在LSTM基础上添加一个S-Pooling,提取典型目标在同一帧图像中的上下文特征,该网络可以将同一帧图像中处于一个网格内的其他运动目标对其运行轨迹的影响关系考虑在内。

由于LSTM网络中的记忆单元可以存储典型目标在前几帧图像中的运行状态,通过LSTM网络中的自循环单元可以将典型目标在当前帧图像中的运行状态考虑在内。本文利用LSTM网络中的记忆单元来提取典型目标在前后两帧图像中存在的依赖关系。

1.2.3 基于Social-LSTM的视频典型目标轨迹预测算法

(3)

(4)

为了求出该网络中的权重参数,本文定义了负对数似然损失函数,通过求出负对数似然损失函数的最小值来得到该网络中未知的权重参数,负对数似然损失函数的定义见(5)式。

(5)

由于添加的S-Pooling没有引入额外的未知参数,该网络只需求出LSTM结构中的权重参数即可。根据视频目标的历史轨迹数据以及损失函数的最小值,可以求出LSTM结构中未知的We、Wl和Wp权重参数。

网络学习完成后,输入视频目标轨迹的测试数据,根据(4)式求出视频目标的预测轨迹;利用预测的轨迹,根据(3)式求出该视频目标的隐藏状态,得到视频场景中与其邻近目标的轨迹。

2 实验比较结果与分析

2.1 实验数据

本文使用的视频数据来自网上下载的视频数据,由于下载的视频数据格式不符合本文要求,本文在使用视频数据之前需要对视频数据格式进行转换,并对视频数据进行预处理。原始视频数据经过预处理之后,格式转换为.avi格式,并且处理后的每个视频数据约有2 min时长,包含200~300帧视频图像。经过预处理后每个视频数据至少包含有一个典型目标,而且每一个视频中典型目标所处的背景环境各不相同。

2.2 基于改进TLD的视频多目标检测跟踪算法实验结果与分析

基于LK的跟踪算法能够有效检测和跟踪视频目标,具有较高的准确率。基于浅层特征的ECO算法是一种模型较小、运行速度快但不太稳定的跟踪算法,虽然其能在遮挡后还能有效跟踪目标,但是一旦拍摄角度发生变化,就可能会造成检测错误,导致跟踪失败。为了验证本文基于改进TLD的视频多目标轨迹检测算法跟踪的准确率和获取轨迹的完整性,分别与LK和基于浅层特征的ECO跟踪算法进行对比。由于篇幅有限,本文采用简单环境和有遮挡物的视频数据验证了跟踪算法,如表1和表2所示。

表1的实验结果表明,在简单环境下,3种算法都能较好地跟踪视频目标。表2的实验结果表明,当有遮挡物出现时,LK跟踪算法在遮挡物消失后出现了跟丢情况,基于浅层特征的ECO算法在拍摄角度发生变化时也出现丢失目标情况。而本文算法在存在遮挡物或拍摄角度发生变化时,也能较为稳定地跟踪视频中的目标。因此,综合两种环境下3种算法的跟踪效果可知,本文算法跟踪效果优于其他两种算法。

为了验证本文算法的有效性,本文统计3种跟踪算法获取轨迹的完整度,并定量地进行比较。3种跟踪算法轨迹完整度的统计结果如表3所示。

由表3可以看到,本文算法的轨迹完整度高于基于浅层特征的ECO跟踪算法和LK算法。由于视频装甲车目标的面积较大,本文算法获取的装甲车目标轨迹完整度高于视频中飞机目标获取的轨迹完整度。

本文算法是一种边检测边跟踪的算法,当有遮挡物存在时会影响检测结果。Kalman滤波算法弥补了一部分缺失的轨迹,但仍然不能获取全部轨迹。基于浅层特征的ECO算法是一种不太稳定的跟踪算法,当拍摄角度发生变化时会严重影响该算法的跟踪效果;当有遮挡物存在时会影响LK算法的跟踪效果,容易跟丢目标。表1、表2的实验结果表明,本文算法跟踪的结果优于其他两种算法,且获取的轨迹完整度较高。

表1 简单环境下的跟踪结果

本文通过实验测试了本文算法对于多组目标的跟踪效果。由于篇幅有限,图2、图3分别给出了两个装甲车目标相遇以及两个装甲车目标接近并未接触两种视频中本文算法的跟踪结果,可以看到本文算法能够比较准确地跟踪多个目标。

2.3 融合上下文特征的视频目标轨迹预测算法实验结果与分析

本文利用各种视频数据验证了融合上下文特征的轨迹预测算法有效性。图4、图5分别给出了对于图2、图3的视频,本文轨迹预测算法的多目标轨迹预测结果。在图4和图5中,绿色线表示视频目标实际运动轨迹,红色线表示视频目标预测轨迹。

表2 有遮挡物的跟踪结果

通过图4、图5中4个装甲车目标的预测轨迹可以看到,预测的视频目标轨迹与视频目标的实际运动趋势相近,表明本文算法具有较高的预测精度。

HMM和GMM经常用来预测轨迹。1阶HMM只考虑当前轨迹点对未来轨迹点的影响,预测准确率低;而高阶HMM增加了模型计算复杂度,不适用于海量轨迹数据的训练学习。

本文采用1阶HMM进行预测,图6、图7分别给出了对于图2、图3的视频,采用HMM算法多目图8、图9分别给出了对于图2、图3的视频,利用GMM算法多目标轨迹的预测结果,其中绿色线表示视频目标实际运动轨迹,红色线表示视频目标预测轨迹。从图8、图9中可以看到,绿色线表示的视频目标实际运动轨迹与红色线表示的视频目标预测轨迹只有部分重合,准确率不高。

表3 3种跟踪算法轨迹完整度的统计结果Tab.3 Statistical trajectory integrity results of three tracking algorithms

图2 两个目标相遇时本文算法的跟踪结果Fig.2 Tracking result of the proposed algorithm when two targets encounter each other

图3 两个目标接近但并未接触时本文算法的跟踪结果Fig.3 Tracking result of the proposed algorithm when two targets are close together but not in contact with each other

图4 图2中两个目标本文算法预测结果Fig.4 Predicted results of the proposed algorithm for the two targets in Fig.2

图5 图3中两个目标本文算法预测结果Fig.5 Predicted results of the proposed algorithm for the two targets in Fig.3

图6 图2中两个目标HMM算法预测结果Fig.6 Predicted results of HMM method for the two targets in Fig.2

标轨迹的预测结果,其中绿色线表示视频目标实际运动轨迹,红色线表示视频目标预测轨迹。从图6和图7中可以看到,绿色线表示的视频目标实际运动轨迹与红色线表示的视频目标预测轨迹相差偏大,准确率低。

图7 图3中两个目标HMM算法预测结果Fig.7Predicted results of HMM method for the two targets in Fig.3

图8 图2中两个目标GMM算法预测结果Fig.8 Predicted results of GMM method for the two targets in Fig.2

图9 图3中两个目标GMM算法预测结果Fig.9 Predicted results of GMM method for the two targets in Fig.3

为了验证本文算法的有效性,将本文算法与LSTM算法、HMM算法以及GMM算法在轨迹预测的准确率方面进行定量比较,结果如表4所示。

表4 4种算法轨迹预测统计结果Tab.4 Statistical trajectory prediction results of four algorithms

从表4中可以看到,本文算法预测的准确率高于LSTM算法、HMM算法和GMM算法。这是因为:LSTM算法只考虑了单一目标前后帧的依赖关系,并没有考虑同一视频帧图像中其他目标对待预测目标的影响,导致预测准确率较低;HMM算法根据当前轨迹点数据预测未来轨迹点,没有充分利用历史轨迹点数据,预测结果与实际结果相差较大,预测准确率低;GMM算法可以根据不同历史数据自适应训练获取模型参数,但其计算量随着数据增加而变大。利用GMM算法进行轨迹预测,预测准确率比较低,无法解决不同时间点预测误差差别较大的问题。

本文视频目标轨迹预测算法以LSTM为基本算法,并在LSTM算法基础上加入S-Pooling层,考虑同一视频帧图像中相邻目标对待预测目标的影响,轨迹预测的准确率高于LSTM算法、HMM算法和GMM算法。由于装甲车目标较大,获取的轨迹精度较高,装甲车目标轨迹预测的准确率高于飞机目标。

3 结论

1) 本文研究了基于视频的装甲车和飞机检测跟踪及轨迹预测算法,采用改进的TLD算法检测视频中的多目标并进行跟踪,获取视频中多目标的运行轨迹,将视频多目标的运行轨迹输入到Social-LSTM,预测装甲车、飞机在未来时间段的轨迹。在改进TLD算法基础上融合Kalman算法预测功能,能够较为完整地获取视频多目标的运行轨迹,有利于解决TLD算法由于目标跟丢导致轨迹不完整的问题。仿真实验结果表明,新算法能够较为完整地获取视频典型目标的运动轨迹,而且获取的轨迹完整度高于LK和基于浅层特征的ECO跟踪算法。

2) 本文提出一种基于Social-LSTM的视频目标轨迹预测算法,预测运动目标轨迹时通过增加S-Pooling层,考虑同帧图像中邻近目标对其运行轨迹的影响,预测典型目标的运行轨迹。仿真实验结果表明,新算法能够较准确地预测典型目标的轨迹,而且轨迹预测的准确率优于LSTM算法、HMM算法和GMM算法。

猜你喜欢
准确率典型轨迹
解析几何中的轨迹方程的常用求法
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
轨迹
轨迹
《圆》典型易错题
40年,我们宣传推介的典型经验
几类典型题的解题技巧