APP下载

基于相机模型投影的多目标三维人体跟踪算法

2022-01-28李柯江牛新征

计算机应用与软件 2022年1期
关键词:卡尔曼滤波朝向分支

李柯江 黄 林 牛新征

1(电子科技大学信息与软件工程学院 四川 成都 610054) 2(国网四川省电力公司信息通信公司 四川 成都 610041) 3(电子科技大学计算机科学与工程学院 四川 成都 611731)

0 引 言

在城市的高速数字化进程中,视频监控已经普及到了城市的各个角落,然而采集的海量视频数据受有限人工的制约无法得到及时和快速的处理。作为一种计算机替代人工处理图像的手段,计算机视觉在监控视频的处理上得到了广泛的应用。多目标跟踪是计算机视觉领域的一项中级任务,针对行人的多目标跟踪在监控安防和视频侦察等领域有重要的应用价值。

目前多目标跟踪算法可分为DBT(Detection-Based Tracking)和DFT(Detection-Free Tracking)两种[1]。由于DFT算法难以处理目标的出现和丢失,领域内研究一般以DBT跟踪算法为主,随着近年以来深度学习目标检测算法指标的快速提升,大量DBT跟踪算法刷新了多目标跟踪领域的benchmark。SORT(Simple online and realtime tracking)[2]结合了卡尔曼滤波[3]和匈牙利指派[4]算法,在算法的跟踪指标达到当时最优秀的同时有20倍的效率提升;DeepSORT[5]在SORT算法的基础上引入一个行人Re-ID深度网络提取行人外观特征,结合外观特征的最近邻匹配减少ID Switch;DeepMOT[6]提出了一个可微分的深度匈牙利网络(Deep Hungarian Network),使得一般数据关联中使用的匈牙利指派算法可以参与网络训练,直接优化MOTA和MOTP性能指标。

SORT算法作为一个高效而简单的算法被许多后续算法作为基础,如文献[7-9]。SORT算法使用卡尔曼滤波预测目标的状态,由于卡尔曼滤波算法的更新特性,滤波参数随机初始化造成的跟踪误差会逐步放大。在数据关联部分,二维包围框的朝向和尺度混淆使得SORT算法使用的匈牙利指派算法中的二部图权重计算存在较大偏差,即使引入外观特征,在目标频繁遮挡或外观相似的情况仍然存在大量的ID Switch。

针对上述存在的问题,本文在SORT算法的基础上引入了相机模型投影和三维目标检测,提出一种多任务深度卷积网络MTRCNN,在标注数据集和MOT17[10]数据集上进行对比实验来证明算法的有效性。

1 SORT多目标跟踪

1.1 卡尔曼滤波

卡尔曼滤波是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。卡尔曼滤波的核心思想如图1所示,在已知目标的预测分布a和观测分布b下,使用高斯概率密度函数乘积的形式计算出新的高斯分布c,该分布距离真实分布有最小均方误差,以分布c作为目标状态的最优估计。

图1 两个高斯分布的融合示意图

在SORT算法中,状态初始分布随机初始化,预测分布a由卡尔曼滤波预测阶段计算,基于上一帧卡尔曼滤波预测目标和当前帧检测目标间的数据关联生成观测分布b并融合预测分布a来更新目标的分布c。因此,目标状态预测的准确度取决于两帧间目标的数据关联准确度,而数据关联准确度又反过来依赖目标状态预测的准确度。在状态分布随机初始化的情况下,数据关联和目标状态预测产生的误差互相影响,使得算法初始跟踪性能较差。如图2所示,实线框为DeepSORT算法跟踪同一ID的结果,虚线框为卡尔曼滤波预测的状态,初始20帧内同一目标发生了两次ID Switch,随后跟踪性能逐渐稳定。此外,不同角度拍摄视频下目标的运动速度分量Δ在二维平面的投影也具有不同的形式,需要滤波器逐渐适应不同拍摄角度的运动模型,降低了跟踪算法的鲁棒性。

图2 随机初始化对跟踪性能的影响

1.2 数据关联

SORT算法使用匈牙利指派算法进行数据关联,由于两帧间各目标的相似程度不同,计算时需要考虑不同目标间匹配的权重大小。为了保证相似度权值计算的相对准确性,需要综合多个特征共同计算,如维包围框IOU、外观特征、运动特征、姿态特征等。通常同一行人在视频两帧间运动产生的尺度和坐标变化较小,二维包围框IOU在相似度权重计算中占有较大比例。如图3所示,二维图像损失了深度信息,三维空间中不相交或不同向的行人间可能具有中心坐标相近,尺度相似的二维包围框以及非0的IOU,这种混淆性会影响数据关联的准确性。

图3 二维目标检测中的朝向和尺度混淆

2 基于相机模型投影的多目标跟踪

2.1 算法流程

算法整体跟踪流程如图4所示,输入的第一帧由MTRCNN检测目标包围框和头部包围框,预测目标朝向以及提取目标外观特征;经过相机模型投影在世界坐标系重建三维包围框;为检测到的目标初始化跟踪器以及卡尔曼滤波器参数。输入的后续帧同样经过MTRCNN预测和相机模型投影后,由卡尔曼滤波预测上一帧目标的当前状态;计算当前帧的目标和上一帧中一定空间范围内目标的相似度得到二部图的权重;通过KM算法计算带权二部图的最优匹配,对于无匹配超过一定帧数的目标作为目标丢失注销ID,对于无合适匹配目标或相似度权重小于一定值域的目标作为新出现的目标分配ID;卡尔曼滤波更新目标状态,等待下一帧输入。

图4 算法流程

2.2 MTRCNN 网络

2.2.1网络结构

本文提出的MTRCNN基于two-stage的Faster RCNN[11]框架。在该框架的基础上进行特征复用和多任务分支构建以降低网络计算成本和整体复杂性,网络整体结构如图5所示。

图5 MTRCNN网络结构

MTRCNN的输入为原始视频帧,输出分为四个部分,包含外观特征提取、人体头部检测、人体检测和朝向预测。网络共有两个分支,一是删除分类输出的Faster RCNN检测分支:二是新增的朝向预测分支。输入视频帧经过裁剪的ResNeXt-50[12]网络提取特征图后分别送入两分支进行处理。在检测分支,通过RPN生成目标包围框建议,经过NMS后在特征图上做ROI Pooling,ROI Pooling的结果经过一组卷积层,分别对目标包围框进行精确化修正(图5中③)和回归目标头部相对于目标包围框的中心坐标以及尺度信息(图5中②)。提取这一组卷积层中的一层,经过Flatten处理后作为该目标的外观特征向量(图5中①)。在朝向预测分支,根据Part Affinity Fields[13]和沙漏结构[14]的思想生成朝向特征图,在该特征图上做全局ROI Pooling预测目标朝向信息(图5中④)。

2.2.2网络参数

MTRCNN理论上支持任意尺度的输入,为了直观展示,后文网络参数表中以固定输入尺度448×448×3为例。表1中,主干网络(图5中ResNeXt模块)使用ResNeXt-50网络,该网络中类Inception结构的多尺度卷积核融合使得主干网络的特征提取性能在多分辨率输入和拍摄视频远近不同时保持一定的鲁棒性。原始输入经过主干网络的4次下采样,输出[W/16,H/16,1 024]大小的公共特征图作为目标检测分支和朝向预测分支的输入。

表1 主干网络参数

检测分支(图5中Detection Branch)使用和原生Faster RCNN一致的RPN结构和参数,经过ROI Pooling生成n个7×7×1 024的特征图,n代表NMS处理后生成的建议框数量。Fc1输出512维向量作为目标的外观特征向量,最后由两个全连接分支Fc2和Fc3分别输出目标包围框的修正参数(tx,ty,th,tw)和目标头部相对于目标包围框的中心坐标(x1,y1)以及尺度w,具体参数如表2所示。

表2 检测分支网络参数

朝向预测分支(图5中Orientation Branch)使用了卷积加反卷积的沙漏结构来融合不同大小感受野中的局部信息和全局信息,目标的三维朝向信息被建模为一个与xz轴平面重合的方向向量(xp,0,zp)。Conv3阶段输出的28×28×2的特征图存储了原图划分为28个区域后每个区域的朝向信息,特征图通道数为2,分别表示xp和zp。通过在该特征图上做1×1的全局ROI Pooling来估计每个目标的方向向量,具体参数如表3所示。

表3 朝向预测分支网络参数

2.3 相机模型投影

本文使用相机模型投影将二维像素坐标系中的坐标映射回三维的世界坐标系。在此基础上根据二维包围框信息和目标朝向信息重建目标在三维世界坐标系下拍摄角度无关的三维包围框,消除拍摄角度对目标运动时中心坐标和包围框尺度变化的影响,并且根据朝向信息辅助卡尔曼滤波的参数初始化。

2.3.1像素坐标与世界坐标映射

相机模型的坐标转换公式定义如下:

zcPuv=KTPw

(1)

Pw=[xwywzw1]T

(2)

Puv=[uv1]T

(3)

式(1)中Puv是像素坐标系中的坐标,在计算机图像中左上角定义为原点,Pw是世界坐标系中的坐标,由相机内参矩阵K和外参矩阵T来计算坐标点从世界坐标系到像素坐标系的转换。

[xcyczc1]T=TPw

(4)

(5)

(6)

t=[txtytz]T

(7)

相机外参矩阵T由旋转矩阵R和平移参数t组成,如式(6)-式(7)所示,R为分别围绕三个坐标轴旋转的旋转矩阵的乘积,t包含三个坐标轴方向的位移。K为相机内参矩阵,由相机的焦距、像素大小等因素决定,该参数在摄像机出厂时已经固定,可以视为常量矩阵。

由于世界坐标系和相机坐标系位置关系的相对性,本文为简化旋转矩阵R和位移向量t的计算,设置世界坐标系的xz轴平面与路面重合,x轴平行于相机坐标系的x轴。如图6所示,经过上述设置世界坐标系到相机坐标系的转换矩阵T能够凭高度参数h和围绕x轴旋转的角度ψ决定。与之对应,式(6)中仅保留第一个和ψ有关的围绕x轴旋转的矩阵,式(7)中ty等于h,其余为0。

图6 相机坐标系与世界坐标系

计算机处理的是二维图像,处于像素坐标系,而从世界坐标到像素坐标系损失了深度信息,无法直接通过矩阵K和T计算出像素坐标系下坐标点在世界坐标中的坐标。本文利用行人行走时脚部位置处于地平面的特性,实现像素坐标系坐标到世界坐标系坐标的映射。如图6中,设该行人的脚部中心坐标为Pf(xw,0,zw),头部中心坐标为Ph(xw,yw,zw),Pf中y轴坐标值为0,代表行人脚部位于地平面,Ph中yw代表行人的身高。通过式(1)易计算出世界坐标系和像素坐标系下行人脚部中心坐标满足下列关系:

(8)

(9)

(10)

式(8)和式(9)中,yw等于0,像素坐标系下的坐标u和v已知,由式(10)可得两个关于xw和zw的二元一次线性方程,可解出世界坐标系下行人的脚部位置Pf。同理,此时行人的头部位置中xw和zw已求得,由式(10)可得两个关于yw的一元一次线性方程,可解出行人高度yw。

上述求解Pf和Ph的公式存在几种特殊情况:1)相机坐标系xz轴平面和世界坐标系xz轴平面以及地面完全重合,该情况下h=0,sinψ=0,式(9)中分子等于0,仅能得到一个二元一次方程,有无穷解,但由于实际场景中几乎不会用摄相机贴着地面拍摄,本文忽略这种情况的影响;2)相机垂直拍摄,cosψ=0,式(8)-式(9)中分母等于零,等式无意义。该情况下将世界坐标系与相机坐标系重合,行人脚部坐标修改为Pf(xw,yw,h),头部坐标修改为Pf(xw,yw,h-zw)后套用式(1)。当行人处于摄像机光心上头部与脚部重合时,无法计算zw,此时使用一个带高斯噪声的初始化身高来估计zw;3)真实场景下行人头部的xz轴坐标与脚部的xz轴坐标不一定完全相同,会出现关于yw的无解矛盾方程组。该情况下通过式(11)-式(12)来估计yw的值,其中yw1和yw2为该矛盾方程组中的矛盾解,Pf1和Pf2为把yw1和yw2代入式(8)-式(10)求得的坐标(xw,0,zw),D为欧氏距离。

yw=λyw1+(1-λ)yw2

(11)

(12)

2.3.2世界坐标系三维包围框重建

行人在世界坐标系的三维包围框数据结构由式(13)表示,x、y、z为包围框的中心坐标,l、w、h为包围框的长宽高,α为包围框的水平朝向与x轴正半轴的夹角。

BOX3d(x,y,z,l,w,h,α)

(13)

在2.2节中已求得的坐标值x、y、z和高度h,还缺少朝向夹角α以及长l宽w。2.1节中网络的朝向预测分支可预测得到平行于地面的方向向量(xp,0,zp),由该方向向量计算夹角α。人的头部可以近似认为是一个球体,在2.1节中已计算出人体头部的尺度wh,本文假设人体的长和头部相近,宽约头部的两倍,分别估计包围框水平面的长宽为wh和2wh。如图7所示,目标在世界坐标系下的三维包围框可以确定唯一。

图7 世界坐标系下的人体三维包围框

2.3.3卡尔曼滤波参数初始化

区别于SORT等算法,本文使用目标三维信息指导的手动卡尔曼滤波初始化来代替随机卡尔曼滤波初始化。本文构建的卡尔曼滤波的状态向量数据格式如式(14)所示,x、z为人体在世界坐标系下的脚部中心坐标,w、h为三维包围框的宽高。由于人体包围框长宽比值固定,状态向量中省略了包围框长度l;x、z用三维包围框的底面中心坐标初始化;w、h用人体包围框宽和人体高度初始化;Δx初始化为v×cosα×Δt,Δz初始化为v×sinα×Δt,α为目标朝向方向向量与x轴正半轴的夹角,Δt为两次输入的间隔时间,v=0.45h即一般步态与身高比例参数下的步行速度。

(14)

2.4 相似性权重计算

不同于二维包围框,三维包围框在利用人脚部着地性消除围绕x轴和z轴的旋转自由度后,仍比二维包围框多出沿着y轴旋转的自由度和y轴方向高度的自由度。如图8中③,box间存在夹角β且高度不一定相同。DeepSORT等算法使用的二维包围框IOU在两目标运动发生遮挡时无法有效辨别目标的差异性,易发生ID Switch,而三维包围框具有目标朝向和位置等额外信息,可以在增加的数据维度上辨别不同目标。如图8中①、②,两帧检测到的目标分别同向和反向运动,实际上朝向相同的目标间应该有更高的相似度分数,朝向不同的目标间应该有更低的相似度分数。

图8 三维包围框IOU示意图

直接计算三维包围框IOU较为复杂,本文使用式(15)-式(17)来近似计算,式(16)中(1+cosβ)/2的值域为[0,1],在目标方向完全相反时为0,目标方向完全相同时为1;IOU2d为调整目标朝向一致时xz轴平面的二维包围框IOU;Ah和Bh分别为目标在y轴方向的高度,计算时保证Ah≤Bh。最终相似性分数计算如式(15)所示,由目标外观特征向量的余弦相似度和三维包围框IOU加权计算,μ为权重分配值,本文取0.6。

(15)

(16)

(17)

3 实验及结果分析

DeepSORT论文中,实验结果基于MOT16数据集,并且使用了非标准的检测器。本文使用MTRCNN的检测分支结果作为DeepSORT跟踪阶段的输入,使用MTRCNN提取的外观特征作为DeepSORT外观相似性计算的输入。由于MOT17数据集未提供相机内参和外参,本文在MOT17数据集上进行MTRCNN网络的对比实验,在标注数据集上进行整体跟踪算法的对比实验。

3.1 数据关联

MOT17数据集是一个公开的评估多目标行人跟踪算法效果的数据集,并且提供了MOTA、MOTP、MT等多种评估指标。训练MTRCNN网络额外需要目标朝向信息和头部包围框,因此本文在MOT17数据集基础上手动标注了行人的朝向信息和头部包围框。最终本文使用了数据集中4段训练视频共3 012帧和3段测试视频共2 575帧,并且人工标注了朝向信息和人体头部包围框。标注数据集为自行拍摄的行人视频共3 805帧,同MOT17数据集一样,人工标注了行人包围框、头部包围框以及朝向信息,并且采集了监控摄像机的外参和内参。

训练阶段,输入数据随机镜像反转,使用右下角paddiing处理保证图像长宽相等。本文对MTRCNN的两个分支进行分段训练,主干网络的ResNeXt-50使用ImageNet分类数据集训练的标准权重,裁剪Conv4以后的层,然后交替训练检测分支的RPN和RCNN,检测分支训练完毕后固定主干网络的权重,训练朝向预测分支,网络收敛后训练完毕。朝向预测分支的Conv3和检测分支的FC2&FC3后使用Sigmoid激活函数,其余均使用ReLU激活函数。

(18)

CSLoss(Op,Og)=mean((1-cos(Op,Og))2)

(19)

检测分支Loss函数使用SmoothL1,朝向预测分支Loss函数使用预测的朝向Op和标签朝向Og的平均余弦相似度误差CSLoss,两分支的训练优化器均使用Adam。

实验平台:CPU Intel core i7 8700K、GPU Nvidia GTX1080Ti 11 GB、Ubuntu16.04、Tensorflow 1.11。

3.2 实验结果

MTRCNN在标注数据集上的测试结果如表4所示,网络检测分支在多任务分支和特征共享的结构下取得了和Faster RCNN同样优秀的检测性能。朝向预测准确性由三个值域评估,约72.3%的预测朝向与原标注朝向几乎完全相同,91.2%的预测与原标注朝向吻合程度高,99.7%的预测朝向与原标注朝向相似。

表4 MTRCNN测试结果

在MOT17数据集上仅使用MTRCNN与SORT和DeepSORT算法进行跟踪效果对比。图9展示了MOT17数据集上,3种算法随着多帧输入出现ID Switch次数的平均累计。可以看出,SORT和DeepSORT算法初始ID Switch错误上升迅速,之后趋于稳定。本文使用的MTRCNN初始跟踪性能明显优于SORT和DeepSORT算法。图10展示了DeepSORT和本文算法在MOT17数据机上预测的一个典型例子,实线框为跟踪目标,虚线框为卡尔曼滤波预测。图10(a)DeepSORT算法中卡尔曼滤波的随机初始化使得预测的目标位置在原位置附近随机分布,若刚好有一外观类似的人在该范围内,数据关联算法可能误把该人与跟踪目标进行关联。在下一帧图10(b)的更新中,错误的数据关联导致目标状态中速度分量的更新错误,从而继续发生ID Switch甚至丢失目标。而图10(c)、(d)中MTRCNN使用目标朝向信息较为正确地对卡尔曼滤波进行初始化,预测位置与跟踪目标的运动方向一致,数据关联时匹配分数更高,初始跟踪性能更加稳定。

图9 MOT17数据集初始跟踪误差

图10 DeepSORT和MTRCNN初始状态预测对比

本文在标注数据集上对提出的完整跟踪算法进行对比测试。图11为在标注数据集上对算法初始跟踪误差的测试,与图9中不同,MTRCNN和DeepSORT的曲线差距较小,分析测试数据后发现,MOT17数据集与标注数据集相比人群较为密集,容易发生图10情况下的ID Switch错误,而标注数据中人群较为稀疏,该情况发生较少。图11中MTRCNN3D为本文提出的完整跟踪算法,相比MTRCNN,引入的相机模型投影有效减少了另一种情况下的ID Switch错误。图12中,两人运动发生遮挡时,传统二维包围框IOU为0.65,无法有效分辨两人的差异性,而本文引入的三维包围框和世界坐标系下的投影,三维包围框IOU为0,可以有效分辨二维投影中互相遮挡的目标,减少该错误的发生。

图11 标注数据集初始跟踪误差

图12 二维和三维IOU对比

表5展示了标注数据集上各算法的MOT评价指标。本文提出的算法有更高的MOTA,并且有效减少了ID Switch的发生。

表5 多目标跟踪指标测试

4 结 语

本文提出了一种基于相机模型投影的多目标人体跟踪算法,将二维平面的跟踪算法迁移到三维空间,减少了ID Switch的发生,提升了跟踪算法的初始稳定性,并且提出了一个特征复用的MTRCNN网络,减少算法计算开销。本文算法在常规监控摄像头采集的数据上取得了优秀的跟踪性能,但是真实场景中鱼眼摄像头也较为常见,而鱼眼摄像头是球面成像,广角、成像畸变和球面成像的特性与一般直筒型监控摄像机不同,如何兼容鱼眼摄像机是下一步的研究重点。

猜你喜欢

卡尔曼滤波朝向分支
基于无迹卡尔曼滤波的室内定位系统
卡尔曼滤波在农电网系统中的研究分析
朝向马头的方向
朝向马头的方向
卡尔曼滤波在雷达目标跟踪中的应用
卡尔曼滤波在雷达目标跟踪中的应用
基于git工具的多分支并行开发上线流程
用“分散数论”对“哥德巴赫猜想”的初等证明
乌龟快跑
含有二阶幂零鞍点的双同宿环附近的极限环分支