免锚检测的行人多目标跟踪算法

2022-05-19 13:28单兆晨黄丹丹耿振野
计算机工程与应用 2022年10期
关键词:中心点表观度量

单兆晨,黄丹丹,耿振野,刘 智,2

1.长春理工大学 电子信息工程学院,长春 130022 2.空间光电技术国家地方联合工程研究中心,长春 130022

多目标跟踪(multiple object tracking,MOT)是计算机视觉领域的重要研究课题之一。根据图像帧处理模式的不同,多目标跟踪分为在线和离线跟踪两种方式,其中在线跟踪方法具有更好的实时性和应用价值,成为目前研究的主要方向[1-2]。然而,由于在线跟踪无法参考后续图像帧信息来获得当前帧跟踪的最优解,跟踪目标被遮挡后重新识别会出现严重的目标丢失以及轨迹跟踪异常问题,导致跟踪准确性出现瓶颈。如何提升跟踪算法的抗遮挡能力同时兼顾在线跟踪的实时性,成为当前多目标跟踪研究的难题。

近年来,诸多学者在多目标跟踪问题上采用的是基于检测(tracking-by-detection)的策略。Bewley等[3]提出了一种简单且实时的多目标跟踪(simple online and realtime tracking,SORT)算法,引入线性速度模型对目标进行轨迹预测,度量检测框和跟踪框的交并比(intersectionover-union,IOU)距离,最后通过匈牙利算法完成数据关联,算法对多目标的跟踪速度较快,但是相似性度量方法单一,跟踪结果中目标ID的变换次数多,跟踪准确性差。Wojke等[4]针对SORT存在的缺陷提出了DeepSort算法,引入离线训练的行人重识别(person re-identification,ReID)模型[5]来提取深度表观特征,跟踪鲁棒性显著提升,但串联两个深度学习模型使得计算量急剧增加,算法的实时性较差。

当前一阶段和两阶段的检测器均采用基于锚框的方法,从预设锚点框回归目标检测框,在检测时针对遮挡目标会出现锚框铺设重叠的问题[6-7]。此外,当对象移速较快时,将ReID特征直接嵌入基于锚框的检测方法会产生锚框偏移,使得表观特征提取产生较大偏差,从而导致跟踪失败。

为了提升跟踪性能并解决锚框检测不适合ReID特征提取的问题,本文的主要工作有三方面:(1)设计免锚目标检测模型,并在模型中嵌入ReID表观特征输出,构建了特征共享的一段式网络,解决了使用深度表观特征需要额外串联网络从而导致实时性差的问题。(2)针对行人密集跟踪场景中因遮挡导致身份频繁切换的问题,提出通过加权多特征融合的方法构造相似性度量矩阵用于检测与跟踪的数据关联,采用更全面的度量函数提升算法跟踪鲁棒性。(3)提出轨迹状态更新算法,确保跟踪稳定的轨迹优先更新的前提下,同时提升存活期内消失轨迹的关联准确性。

1 跟踪算法整体框架

本文的多目标跟踪算法采用在线跟踪的图像帧处理方式,按照功能划分可将算法视为两阶段的结构。其一是负责目标检测定位以及对象ReID表观特征提取的检测模块,网络并行输出目标定位信息和对应的表观特征。定位的同时将行人目标进行编号,用以区分跟踪目标和辨识新出现对象。其二是负责目标轨迹预测与数据关联的模块,首先利用卡尔曼滤波建立线性运动模型预测目标轨迹,然后加权融合HSV颜色直方图、深度表观特征和运动特征建立代价函数用于度量检测与轨迹的相似性,最后在数据关联阶段对轨迹状态做迭代更新。具体框架如图1所示。

图1 算法框架结构Fig.1 Algorithm framework structure

2 免锚框模型

2.1 免锚网络架构设计

基于免锚的检测模型专注于物体关键点的出现位置,本文采用的是预测目标中心点的方法,通过回归原图像中心点在热力图上的高斯核映射来检测和定位行人目标。基于热力图形式提取目标中心点的方法需要网络输出的特征图具有较大空间分辨率,目的是为了映射时中心点不会出现较大尺度偏移,同时保证在特征图上进行逐像素的预测。通过对比分析,本文改进Stacked Hourglass Networks[8-10]中基于全卷积的架构搭建主干网络进行特征提取。改进的网络中利用多层特征聚合的方式融合浅层和深层特征。相较于特征金字塔网络(feature pyramid networks,FPN)增加了语义特征聚合能力。FPN中仅在分辨率和尺度方向进行特征融合,只能够聚合空间信息。本文网络统一了语义和空间的信息融合,模型能更好地捕获目标内容和位置。如图2所示,橙色方框内部采用密集树连接的方式在通道方向实现浅层和深层特征融合,以学习跨越更多特征层的丰富组合,此结构能提高模型的语义特征聚合能力。红色箭头代表邻近尺度特征层的连接,从浅到深逐步加强空间聚合上的表现。

图2 免锚检测模型整体结构Fig.2 Whole structure of anchor-free detection model

网络输入采用512×512分辨率图像。设I∈R512×512×3为输入图像,其中R代表网络下采样尺度,为了输出高分辨率的特征图设置R为4。图像经卷积和残差网络下采样预处理后输入主干网络。主干网络结构的实现是一个递归调用的过程,当R>1时递归调用本身,递归结构如图3所示。

图3 主干网络结构Fig.3 Backbone network structure

2.2 模型输出及损失函数设计

模型输出端有两个分支,如图4所示。检测端输出三个预测头,分别为中心点热力图(heatmap)、中心点偏移(center offset)和检测框宽高(box size),ReID端输出一个预测头,即对象的深度表观特征。

图4 模型输出端Fig.4 Model output terminal

2.2.1 Heatmap分支

预测中心点的热力图,即Y∈[0,1]128×128×C,C代表中心点类型数目,根据不同数据集类型适当调整。将标签转化为热力图形式以便计算损失,设中心点标注为P=(x1,x2),经下采样计算得低分辨率坐标P d=(x1/4,x2/4),通过高斯核函数(1)将标注的中心点分散至热力图Y∈[0,1]128×128×C上:

式中,σ是目标尺度自适应标准差。如果产生相同类别高斯分布重合的情况,则选取重叠分布最大值。

本文网络结构类似于一阶段的检测方法,存在正负样本和难易样本比例失衡的问题。因此在交叉熵损失函数基础上进行改进,增加参数用于平衡失衡样本,通过降低大量简单负样本在训练中所占权重,增强困难样本挖掘能力。损失函数定义为像素级逻辑回归焦点损失形式:

式中,参数β用于减少负样本权重占比,参数α用于控制易分类样本权重,N为图像中心点个数,是热图估计。

2.2.2 Center offset和Box size分支

为提高中心点定位精度,训练引入center offset,即对于目标检测框宽高的回归则引入box size,即损失函数采用L1损失:

式中,C、B分别为中心点坐标与框宽高的真实值为对应的网络预测值。

2.2.3 ReID分支

ReID端是为了提取出可以区分类内对象不同身份的表观特征。通过在主干网络尾部应用卷积提取128维的表观特征图R̂e∈R128×128×128,则对象在点(x,y)处对应的特征向量为R̂e∈R128。由于是基于预测中心点提取出的表观特征,相比于基于锚框检测提取表观特征的JDE[11]方法,一是降低了目标被多个锚框覆盖所导致的网络模糊性,二是减小了锚框与目标中心没有重合而导致的特征提取偏差。本文将其视为分类任务,在训练集中具有相同身份的目标看作同一类别,定义其损失函数为:

式中,L(k)为第k个目标身份的期望概率分布,p(k)为第k个目标身份的实际概率分布。

3 轨迹跟踪预测

对于当前帧中由免锚检测器输出的所有目标,需要估计下一帧的运动状态。多数情况下,行人的运动轨迹在2D视频图像中呈现线性状态,非线性程度较低,因此可以采用恒速模型对目标运动建模,无需进行非线性扩展。

本文基于卡尔曼滤波算法融合数学模型预测框和检测框找到最优估计,完成对检测目标的预测与更新。目标的状态变量矩阵定义为x=(x,y,w,h,v x,v y,v w,v h),其中x、y代表目标中心点坐标,v x、v y是与之相对应的在图像坐标系上运动速度分量,w、h代表目标检测框的宽度和高度,用vw、v h表示在图像中相应的变化率。设t时刻为目标的卡尔曼滤波初始状态,需要将其各个速度分量均初始化为0,即t时刻由检测模型定位出的目标a的状态变量为x(a)t=(xt,y t,wt,h t,0,0,0,0),t+1时刻的观测值表示为z(a)t+1=(xt+1,yt+1,wt+1,ht+1),则该目标的先验状态估计与观测方程可用如下两个公式表示:

式(5)为目标运动状态预测方程,式中F为状态转移矩阵,表示如何从t时刻状态x t推测出t+1时刻状态x t+1,v是系统过程噪声;式(6)中H为观测矩阵,z为观测值,w为观测噪声,u、w是独立噪声序列,服从正态分布。

在后验估计中需对状态进行更新,式(7)为预测不确定性传递方程:

最后更新误差协方差矩阵P用于下一次迭代。

4 关联特征度量与设计

多目标跟踪要保证检测对象与跟踪对象完成最佳匹配,需针对目标进行完整的特征描述。多目标跟踪场景下因目标受遮挡导致跟踪间断,进而产生目标身份切换率高的问题,鉴于单一的运动特征度量无法应对遮挡后重识别任务,有必要在此基础上融合其他相关特征用于关联度量。HSV颜色特征作为行人目标最直观的外观描述,具有稳定性好,对目标尺度、方向不敏感等特点,因此本文对目标提取256维的HSV颜色直方图特征用于表示色彩信息。对于一些相似目标很难用颜色度量差异性,考虑到经训练的ReID模型可以对目标的表观抽取出具有区分度的深度信息,相似目标能够在深度语义特征层面表现出差异,且特征受环境光影响较小,具有较高的鲁棒性,因此本文在检测模型中并行加入ReID分支,输出检测目标的128维特征向量用于表示深度表观信息。

综上分析,本文充分考虑目标的运动信息、色彩信息和ReID深度表观信息,融合多种特征用于检测与跟踪轨迹的相似度估计。

4.1 HSV颜色特征度量

HSV对应色调(H)、饱和度(S)、亮度(V),是根据图像颜色的直观特征所构建的一种颜色空间,相较于RGB颜色描述,更能反映目标的真实颜色信息。本文利用HSV颜色特征直方图来描述检测与跟踪轨迹的色彩信息。颜色特征用fcolor描述,代表的是256维的直方图特征向量,采用卡方距离度量颜色相似性:

式中,fcolor(i)、fcolor(j)分别代表目标i和轨迹j的颜色特征。

4.2 表观特征度量

ReID应用源自于跨摄像头跟踪领域,目的在于确认不同位置的摄像头在不同时刻拍摄到的目标是否为同一人。具体可描述为存在给定身份的目标图像序列Q={Q1,Q2,…,Qn},根据ReID模型提取的表观特征,度量在不同摄像头场景下检索出的图像帧G={G1,G2,…,G n}与Q的相似性,进行目标的重识别确认。

针对跟踪轨迹的每个特征,计算它们与当前帧N个检测对象表观特征之间的余弦距离,再取最小值作为该轨迹与检测结果之间的计算值,得出余弦代价矩阵:

4.3 加权多特征融合

对于M个跟踪轨迹与N个检测结果,多特征融合的相似性度量具体实现过程为:

首先基于表观特征计算出余弦代价矩阵costcos(M×N),进行运动信息约束,即位置度量,采用马氏距离评估卡尔曼滤波预测状态和检测状态的匹配程度:

再将余弦代价矩阵中不满足卡方距离、马氏距离以及余弦距离阈值条件的设置为无穷大,用于增大差异性;最后得出融合HSV、表观和运动特征的代价矩阵costmerge(M×N),采用KM二分图匹配算法进行轨迹与检测数据关联。

由于行人多目标跟踪应用场景复杂且目标各异,为了增强算法的多场景适应能力,多特征融合需根据具体场景分析特征重要性再做具体适配。因此本文采用加权距离代价函数评估特征相似性:

式中,λ为超参数,用于调整相应度量距离的权重配比(λ1+λ2+λ3=1),针对不同多目标跟踪场景做适当调整。

具体的加权思路为:针对公共区域监控场景,行人较多且人群中个体作为同类对象轨迹会交错穿插,遮挡又重现,增加度量矩阵中表观特征以及颜色特征的权重有利于分化目标,显著降低目标身份丢失概率;而对于自动驾驶以及无人机等相机存在多维度运动的场景,目标的运动轨迹不确定性较高,会造成观测目标马氏距离无法匹配的情况,此时需要降低运动特征度量权重,以免因相对运动造成相似度估计误差。

经多次实验对比分析,得出几种常见跟踪场景中最优权重配比如表1所示。

表1 特征权重最优配比Table 1 Optimal proportion of feature weights

5 跟踪状态更新

经KM二分图匹配算法计算后,轨迹会产生两种状态:未确认状态和确认状态。其中确认状态包括未匹配轨迹和匹配轨迹。对于检测只有两种状态:已匹配的检测和未匹配的检测。其中未匹配的检测目标会被初始化为未确认状态轨迹。

为了降低匹配偶然性,防止与检测器误检关联,本文设定匹配门限值Hi ts=2帧(帧数过大会影响实时性),即经过KM算法完成连续两帧匹配才允许转化为确认轨迹。

由于目标被遮挡或检测器漏检等原因,处于确认状态的轨迹会出现未匹配轨迹。针对这种情况,本文对确认状态轨迹设置存活期Age和连续丢失帧数计数Count。其中Age=100(值过大会缓存过多的垃圾轨迹)表示连续丢失帧数上限,当0≤Count≤Age时,轨迹有效。在匹配过程中,进行Count+1次迭代关联,优先对丢失帧数少的轨迹进行匹配,同时保证在存活期内丢失轨迹的有效性。经此处理后,本文算法可以重新找回被遮挡的目标,显著降低被遮挡后重新识别发生身份变换的次数。

更新算法的具体实现过程如下:

(1)设定连续丢失帧数变量Count=0,存活期常量Age=100。

(2)t时刻由免锚检测器输出n个检测目标并编号为d∈{0,1,…,n},d中包含未匹配的检测目标和前一帧已匹配的检测目标。

(3)t时刻由卡尔曼滤波预测m条轨迹并编号为k∈{0,1,…,m},每一条轨迹都有一个Count变量记录轨迹连续丢失帧数,k中包含Count小于Age次未匹配的轨迹和已匹配的轨迹。

(4)将d与k利用加权多特征融合算法进行相似性度量,输出的代价矩阵cost(M×N)利用KM算法进行Count+1次迭代匹配关联。此过程从Count=0的轨迹开始迭代至Count最大值,即优先对稳定跟踪的轨迹进行关联。

(5)经迭代关联后未匹配的轨迹Count值加1,匹配的轨迹Count置为0,未匹配的检测目标初始化为未确认轨迹,Count大于Age的轨迹删除。

至此完成一帧中所有轨迹的状态更新,算法迭代过程如图5所示。

图5 跟踪状态的迭代更新过程Fig.5 Iterative update process of tracking status

6 实验结果与分析

6.1 实验细节

实验所使用的硬件平台为配置Intel i7-9700k处理器,16 GB内存,搭载GTX 2080ti GPU的深度学习工作站,操作系统为Ubuntu 18.04.1,采用TensorFlow2.0实现深度学习模型训练与测试。

本文算法为联合检测与跟踪的深度神经网络模型,不仅要输出检测目标的定位信息,还要提取出相应对象的ReID表观特征,属于多任务网络模型架构,因此实验中采用阶段式训练方法,组合多个数据集针对两种不同的任务需求训练模型。首先,在COCO2017数据集上进行检测任务的预训练,用于初始化主干网络模型参数;然后,将预训练模型在INRIA[12]行人检测数据集上进行微调,数据集提供静态行人标注信息;最后,利用PKU-Reid[13]、PRW[14]和CUHK03[15]数据集的行人身份标注训练模型的ReID特征提取分支,三个数据集提供了涵盖各种复杂场景下的多摄像头行人监控数据。模型采用Adam优化器训练50个epoch,batch size设置为8,初始学习率设置为1E-4,在第40个epoch更改学习率为1E-6。

6.2 模型检测性能评估

在目标检测领域,国际上通常采用平均精确率(average precision,AP)作为评价指标评估模型的检测性能。本文在COCO测试集上进行检测性能的评估,具体评价指标含义由表2给出。选取当前目标检测主流算法进行对比实验,结果如表3所示,最优结果由粗体标出。

表2 检测评价指标及其含义Table 2 Test evaluation index and its meaning

表3 不同检测算法在COCO测试集上的测试结果Table 3 Test results of different detection algorithms on COCO dataset

从表3结果可以看出,本文算法在检测速度和精度方面明显优于其他算法。主要是因为采用免锚机制的网络结构在大尺度特征图上进行中心点预测,无需锚点框和非极大值抑制等复杂操作。而基于锚框的两阶段检测算法Faster RCNN由于网络中存在阶段性的筛选结构,区域候选网络(region proposal network,RPN),导致推断耗时较长,检测速度只有9 frame/s,不能满足实时检测需求。相较于两阶段的检测方法,基于锚框单阶段的YOLO3和RetinaNet设计更加注重实时性。特别是RetinaNet利用Focal Loss有效控制了正负样本差距,使得检测精度显著提升。但单阶段和两阶段的检测算法由于锚框的限制,无法进行像素级预测,基于锚框检测器针对小目标漏检率较高,导致APS较低。总的来说,本文算法采用全卷积方式输出的特征图分辨率高,可以兼顾大小目标,对不同像素面积的目标均有较高的检测精度。

6.3 多目标跟踪测试

本文采用MOT Challenge[19]标准对多目标跟踪性能进行评估,在MOT17多目标跟踪数据集上对算法性能进行综合测试。

MOT17测试集中共有7个标注序列,如图6所示,序列2、4、9为相机固定的街道行人场景,其中序列2环境光较阴暗,序列5、10、11、13为相机移动场景,视场内的对象与相机存在相对运动。

图6 MOT17场景示例Fig.6 Sample scenario for MOT17

为了充分评估本文算法的有效性,分别对7个序列进行跟踪测试,跟踪评价指标及含义由表4给出,跟踪结果如表5所示。

表4 多目标跟踪评价指标及含义Table 4 Multi-object tracking evaluation index and its meaning

表5 本文算法在MOT17数据集上的跟踪结果Table 5 Tracking results of algorithm in this paper on MOT17 dataset

从表5结果中可以看出,本文算法的综合性能较高,具有较高的准确率。视频序列场景复杂度不同,跟踪性能也会有所差异。由于序列2场景光线较弱,检测器存在漏检,MOTA指标最低(MOTA=50.9%)且有最高的身份切换次数(IDS=124)。而序列4相机固定且场景内目标运动稳定,MOTA值最高达到78.2%。特别是在序列13中存在远景目标,目标较小,使得表观特征描述有限,当远景目标出现遮挡时跟踪效果会降低,造成跟踪准确率降低。

为了进一步衡量本文算法的有效性,将本文提出的算法与近年比较优秀的多目标跟踪算法在MOT17上进行性能对比测试,结果如表6所示。

表6 不同跟踪算法在MOT17数据集上的跟踪结果Table 6 Tracking results of different tracking algorithms on MOT17 dataset

从表6中可知,SORT算法跟踪速度最快,但该算法仅采用IOU距离作为数据关联阶段的度量标准,没有对遮挡问题进行针对性处理,使得跟踪准确性极差。Deep-Sort算法串联了ReID表观特征提取模型,使用了更可靠的度量标准,MOTA值得到明显提升,但检测和ReID两个深度学习模型严重拖慢了跟踪速率,FPS仅为8.1 frame/s。JDE算法合并了YOLOv3检测模型和表观模型,跟踪速度相对于DeepSort提升了约10 frame/s,但受到锚框限制,对快速移动目标提取的表观特征无法对齐造成错误匹配,跟踪准确性不如DeepSort。综合对比来看,本文基于免锚中心点检测的多目标跟踪算法充分考虑了运动特征、颜色特征和表观特征,对不同跟踪场景采用合适的特征融合配比,在MOT17上的综合性能评价指标超过近年来经典算法,并且兼顾了跟踪的实时性与准确性。

对本文算法在不同场景的鲁棒性进行验证,将跟踪结果可视化分析。图7、图8所示分别为本文算法和SORT算法在MOT2015-AVG-TownCentre序列上的部分跟踪结果,该视频数据为行人监控视角,行人交叉遮挡严重,本文在此场景采用式(14)的融合特征配比为3∶3∶4。

如图7、图8对比所示,在第57帧存在两个相向而行的目标(图7(a)中编号14和12,图8(a)中编号6和25),在第73帧发生重叠遮挡,在经过17帧的遮挡后两对象分离。在第90帧可以看出,SORT算法未能在跟踪对象丢失后完成重识别,造成25号关联错误,并将原跟踪对象6号错误设为新轨迹58号。而本文算法针对此遮挡场景有较好的处理效果,对象被遮挡后重现能够正确关联并更新轨迹,具有可靠的跟踪效果。

图7 本文算法在AVG-TownCentre上的跟踪结果Fig.7 Tracking results of algorithm in this paper on AVG-TownCentre

图8 SORT算法在AVG-TownCentre上的跟踪结果Fig.8 Tracking results of SORT algorithm on AVG-TownCentre

进一步在MOT17-10序列存在相机移动场景上测试跟踪性能,本文算法和JDE算法测试结果分别由图9和图10给出,本文在此场景采用式(14)的融合特征配比为4∶4∶2。

图9 本文算法在MOT17-10上的跟踪结果Fig.9 Tracking results of algorithm in this paper on MOT17-10

通过图9和图10的对比可以看出,此场景下JDE算法无法对频繁遮挡的目标连续跟踪。图10(a)第1帧对象2,在跟踪过程中经历了3次身份切换,跟踪鲁棒性较差。而本文的加权特征融合的处理方法能够较好地应对相机和对象存在相对移动的情形,图9(a)第1帧对象2在639帧的跟踪过程中同样经历3次遮挡,依然能够稳定维持其身份编号,实现长时间稳定跟踪。

图10 JDE算法在MOT17-10上的跟踪结果Fig.10 Tracking results of JDE algorithm on MOT17-10

7 结束语

本文采用免锚框的方法设计了基于中心点热图的检测模型,并行输出行人目标定位信息与ReID特征,构建了联合检测与跟踪的一段式网络,较好地解决了锚框导致的ReID特征偏移的问题。针对遮挡问题提出了多特征融合的关联度量方法和轨迹更新算法,有效解决了行人目标被长时间遮挡出现轨迹丢失的情况。同时为了应对不同跟踪场景对特征进行加权处理,提升了算法的鲁棒性和多场景适应能力。实验结果表明,本文的多目标跟踪算法在不同测试集上跟踪精度较高,且具有实时推断能力。

猜你喜欢
中心点表观度量
鲍文慧《度量空间之一》
绿盲蝽为害与赤霞珠葡萄防御互作中的表观响应
一种基于标准差的K-medoids聚类算法
Scratch 3.9更新了什么?
如何设置造型中心点?
代数群上由模糊(拟)伪度量诱导的拓扑
例析对高中表观遗传学的认识
突出知识本质 关注知识结构提升思维能力
度 量
寻找视觉中心点