尉晨阳,杨大为,张宇堃
(沈阳理工大学信息科学与工程学院,沈阳110159)
多目标跟踪技术日渐成为计算机视觉领域的重点研究对象,特别是单目二维视频的多目标跟踪更是一个被广泛研究的问题,广泛应用于监控、行为、动作分析等与生活息息相关的领域。近年来,目标跟踪的方法大多基于深度学习[1-4],根据学习特征进行跟踪,如表观特征的深度学习、相似性度量的深度学习、高阶特征匹配的深度学习等。这些方法虽然可以准确跟踪目标,提高算法的准确性,但模型的过度复杂会导致跟踪算法无法满足实时性。
当前流行的多目标跟踪方法大多遵循检测跟踪框架。随着目标检测算法性能的不断提高,遵循检测跟踪框架的跟踪算法也得到了改进。通常,被跟踪对象的轨迹是在一个全局优化方法下进行批处理的,而批处理无法使目标身份在每个时间段里进行更新。更传统的数据关联技术如多假设跟踪(MHT)和联合概率数据关联(JPDA)在顶级的在线跟踪器或者批量跟踪器中虽然有突出地位,但当遇到对象分配具有较高的不确定性时,这些方法的计算量会随着跟踪对象的数量呈指数级增长,在计算的可处理性和可实现上遇到困难。最近,Rezatofighi等人重新研究了JPDA 公式,想通过高效近似于JPDA 方式解决复杂性问题。类似地,Kim 等人通过使用目标的外观模型来完善MHT 方法,以实现最先进性能。但是,这些方法仍然存在决策延迟问题,不适合在线跟踪。
针对这种现状,在此提出一种实时与准确平衡的跟踪算法,将MOT 问题视为一个简单的关联问题,旨在解决视频序列帧之间的数据如何进行关联。基于检测跟踪框架的算法,使用卡尔曼滤波在图像空间上对目标进行运动信息的建模,预测出跟踪目标的下一帧位置。研究打破了GIoU 仅作为损失函数应用于检测算法这一常规操作,首次尝试将GIoU方法应用于多目标跟踪算法中,让其作为距离度量去计算边界框之间重叠的相似性,从而生成关联度量矩阵。再应用匈牙利方法逐帧进行数据关联,在MOT 基准测试上进行评估。
在多目标跟踪技术的研究当中,基于整个视频的检测结果(批处理),已提出了多种方法。一种趋于普遍的做法是通过使用网络流[5]、图切[6]、MCMC[7]和最小分组[8]等方法,将检测结果建模为图形。而在逐帧输入的情况下,匈牙利匹配[9]、贪心匹配[10]和递归神经网络[11]是序列预测(在线处理)的常用模型,对于使用的关联度量函数包括了时空关联等方法。时空关联的可视化方法广受研究,被提出的基本方法包括检测之间使用交并比(IoU)或通过使用卡尔曼滤波器加入速度模型。速度模型也有通过递归神经网络学习[12],通过结合头/关节检测器[13]、分割[14]、活动识别[15]或关键点轨迹[16]等方法来实现,但这也进一步增加了分配成本的复杂性。最近出现的方法是利用物体检测[17]或单目标跟踪[18],依赖其外观特征的预训练边界框回归器,以在下一帧中使边界框进行回归。
早期工作在最小成本流数据关联框架中执行端到端学习。最近,文献[19]和[20]中所用的方法分别通过引入匈牙利匹配和聚类公式的可微形式来实现端到端优化。并行工程试图在单一网络中同时执行目标检测、数据关联和重新识别。特别是,Center Track 能够只使用静止图像的增强来训练检测器。这些涉及联合检测和跟踪的方法在实时速度上提供了高性能,但需要较高的注释成本。
许多在线跟踪方法是通过建立目标的外观、运动等模型或通过在线学习建立一个全局模型,以帮助检测与轨迹之间进行关联。当只考虑一对一建模进行匹配时,可以使用全局最优解,如Geiger 等人采用的匈牙利算法[21]。该算法分两步进行,先通过关联相邻帧上的检测形成轨迹,其中的关联矩阵是通过几何和外观线索结合所形成;然后再次使用几何和外观线索进行轨迹之间的关联。受此两步关联方法的启发,在此将基本模型关联简化为单个阶段。
以现有检测结果为基础,提取其检测对象的数据。随后通过卡尔曼滤波对目标的下一帧位置、运动等信息进行预测。将得到的预测框与检测框之间通过距离度量得到成本矩阵。最终利用匈牙利算法对成本矩阵进行全局最优选择。
卡尔曼滤波是一种以状态和观测方程为基础,结合递归方法来预测目标变化的方法。它由预测和校正两部分组成。预测阶段滤波器通过使用上一状态信息,做出对当前状态的预测;校正阶段滤波器通过对预测阶段获得的预测值进行修正,从而获得更接近真实值的新预测值。卡尔曼滤波通过以下公式进行预测,计算过程如下:
预测:
校正:
更新协方差估计:
其中,xk 为真实值, 为卡尔曼估计值,Pk 为卡尔曼估计误差协方差矩阵,为预测值,Pk'为预测误差协方差矩阵,Kk 为卡尔曼增益, 为测量余量。为预测出目标下一帧的位置、速度等跟踪信息,此处为卡尔曼滤波创建一个运动模型。设每个目标模型的状态如下式所示:
其中y、w分别代表检测目标的中心横坐标、纵坐标,s、r 分别代表目标框尺寸的大小和比例为卡尔曼滤波器预测轨迹下一帧观测状态的表示。
相似度矩阵选用广义交并比GIoU(Generalized Intersection over Union)作为度量指标进行构建,用于表达预测框和检测框之间的重叠程度。在SORT 算法中使用交并比IoU 作为两框之间的距离度量指标。然而,该方法无法很好地表达出两框之间的相邻程度以及不相交程度,特别地,当IoU=0 时,无法反映出两框之间的重合度。检测框与预测框重叠情况如图1 所示。
图1 检测框与预测框重叠情况示意图
对于两框而言,若使用IoU 作为距离度量的评价指标,上图三种情况得到的数值结果是一样的。但对于人直观的感觉和后续相似度矩阵的产生而言,需要表达的效果应有不同。亦即:选取IoU 作为距离度量指标,会因其无法精确反映出检测框和跟踪框之间的重合度大小而影响目标跟踪效果。
为克服IoU 的缺点,在此使用GIoU 作为两框之间的距离度量指标。在以往的研究中,GIoU 作为回归损失函数应用于先进的目标检测算法中(例如mask R-CNN、yolo v3 等),并在一定程度上改进了检测器的性能。作为距离度量,GIoU 方法保留IoU方法优势的同时还对IoU 算法进行了扩展,使得当两框之间完全重合的情况下,IoU 值与GIoU 值相等。但在GIoU 方法中,将对称区间范围由[0,1]改为[-1,1],区间范围的改动会让两框无任何交集且距离无限远的时候取最小值。亦即:为了能够更准确表达出两框之间的重合度,应选取GIoU 方法。该方法关注两框重叠区域的同时,对非重合区域也进行了最大程度的关注。GIoU 作为距离度量设计如下:
其中,A、B 表示为检测框与跟踪框,C 为两框间的最小闭包区域面积。
对于分配指派问题,此处采用匈牙利算法对相似度矩阵求解最优分配。另外,对于目标重叠小于阈值δGIoU的情况下,直接拒绝分配。
为充分体现本算法的实用性,在视频数据集选择上,选取了几个具有挑战性的行人跟踪序列进行试验,如频繁的遮挡、拥挤的场景、序列在不同的视角、摄像机运动等。首先,对2DMOT2015 中具有代表性数据集进行跟踪测试,如TUD-Stadtmitte 数据集视角低,相互遮挡严重,有完全遮挡的情况;TUDCampus 是侧视行人的数据集;PETS09-S2L1 数据集主要挑战在于目标移动在高速非线性模式下,目标遮挡较为频繁;ETH-Sunnyday 是在一个移动的平台上拍摄的数据集。
在评估方面,由于多目标跟踪性能仅通过一个分数来判定好坏是不准确的,故此采用了文献[22]中定义的评估度量,以及标准的MOT 度量[23]。特别地,对于MOT17 数据集,新增一个度量标准Recall,用来表示正确匹配的检测目标数ground truth 给出的目标数。
MOT15 阈值设置为:当δGIoU与 IoU 取值同为 0.3时效果最好。实验结果如表1 所示。
表1 基于MOT15 数据集序列的跟踪结果
实验选用的视频数据测试也包含了另外两个具有挑战性的跟踪基准,即MOT16 和MOT17。其中MOT16 使用的检测器是DPM,视频环境比MOT15中视频环境更为复杂多变,人数增多、遮挡以及摄像机运动等问题更为全面。而MOT17 视频环境虽然同样复杂,但它是在两套公开流行的检测器(即FRCNN 和SDP)下进行检测,相对于MOT16 中的检测水平更加精确。
按照常规,MOT16/MOT17 中包括MOT16/17-02、MOT16/17-04 等一系列序列,以下的评估度量值取值皆为MOT16/MOT17 所包含的序列度量值的平均值。
MOT16 的阈值设置为:当 δGIoU取值为 0.3,IoU取值为0.2 时,两者的跟踪效果最为明显。实验结果如表2 所示。
MOT17 的阈值设置为:对于SDP 检测器,当δGIoU取值为0.1,IoU 取值为0.3 时,两者的跟踪效果最为明显。对于FRCNN 检测器,当δGIoU与IoU 取值均为0.2 时效果最好。实验结果如表3 所示。
由上述实验结果可知,环境复杂性和检测水平一般,如MOT15,结果会出现显著提升,且跟踪效果良好;环境复杂但检测性能一般,如MOT16,结果也有所提升;当环境复杂但检测精度较高时,如MOT17,跟踪效果良好,无论FRCNN 还是SDP 检测器,检测出的MOTA 值均达到80%以上,在Recall 方面的表现也有明显改善。
表2 基于MOT16 数据集序列的跟踪结果
表3 基于MOT17 数据集序列的跟踪结果
提出一种基于检测的多目标跟踪算法,目的在于达到跟踪准确率和速率之间的平衡。利用最近检测算法质量的提高,检测目标的结果通过卡尔曼滤波进行预测,大致得到目标下一帧的位置等信息。对于两框之间关联问题,尝试了以GIoU 作为距离度量应用于MOT 算法中,用其进行相似度矩阵的构建,结合实验结果可知,作为距离度量的GIoU,在跟踪问题上产生了不错的效果。