1.一种基于多功能聚合和跟踪模拟训练的在线多目标跟踪方法,其特征在于,所述方法采用聚合了目标分类、边界框回归以及目标外观特征提取功能的网络结构进行目标跟踪,采用端对端的方法对网络进行训练,且在训练网络时,模拟在线的多目标跟踪过程,记录目标在每一帧的真实位置作为其跟踪轨迹,然后利用运动预测模型预测目标在训练帧中的边界框,利用预测出的目标在训练帧中的边界框位置和真实位置生成包含正负样本的推荐区域来扩充训练数据,然后,所述方法利用增强相关系数ECC与Kalman滤波器的融合模式作为运动模型,提供更准确的预测位置;最后,所述方法采用能够利用目标历史外观信息的指标损失来训练网络中的外观提取模块;采用最后得到的网络模型进行在线多目标跟踪。
2.根据权利要求1所述的方法,其特征在于,所述方法包括:(1)建立跟踪网络模型:采用残差网络以及特征金字塔的作为骨干网络backbone,然后分别连接由两层全连接层组成的回归头、分类头和外观特征提取头,得到跟踪网络模型;
(2)建立批数据:从训练视频序列中随机选择连续的N帧图像作为批数据;
(3)载入第一帧图像:将批数据中第一帧图像输入到跟踪网络模型的backbone中得到整张图像的特征映射
(4)初始化跟踪状态:利用第一帧图像的真实标签数据初始化每个目标的跟踪状态,其中,跟踪状态包括目标的Kalman状态和历史感兴趣区域ROI特征;
利用目标的真实位置pos=[cx,cy,w,h,]计算目标的Kalman状态s=[cx,cy,a,h,vcx,vcy,va,vh]中的宽高比a:a=w/h (1)其中cx,cy为目标的中心位置,w,h为边界框的宽、高,[vcx,vcy,va,vh]为前四个变量cx,cy,w,h的速度,初始化为0;
Kalman状态还包括不确定性协方差P,P的尺寸为8×8,P的对角线元素为[0.1h,0.1h,
0.01,0.1h,0.0625h,0.0625h,0.00001,0.0625h],其余元素为0;
ROI特征通过感兴趣区域池化利用目标真实位置从特征映射 提取出来;
(5)载入下一帧图像:将下一帧图像输入到跟踪网络模型的backbone中得到整张图像的特征映射
(6)位置预测:利用Kalman滤波器与增强相关系数的融合模式预测目标在当前帧的位置post;
(7)计算区域推荐网络的损失:
对满足一定条件的区域推荐网络中的锚点框分配一个正标签:对于与任意真实边界框之间的交并比IoU都小于阈值 的锚点框分配一个负标签;正负锚点之外的其他锚点框不参与损失函数的计算;
(8)利用区域推荐网络生成训练样本:首先将特征映射输入到RPN中,得到每个锚点框对应的分类值和回归系数,根据分类值判断锚点框对应的是背景还是目标;利用回归系数回归对应目标的锚点框,得到正样本边界框,对应背景的锚点框作为负样本边界框;
(9)利用预测位置和真实位置生成推荐区域:利用运动模型的预测位置和数据集中提供的真实位置生成包含正负样本的推荐区域作为网络模型的训练数据,参与计算分类头和回归头的损失;
(10)计算回归头和分类头的损失:从来自RPN和预测位置以及真实位置的正负样本中选择数量为Nsam=256,正负比例为1:3的样本利用下面的公式计算损失:其中,i2是样本边界框的索引, 是样本边界框包含了一个目标的预测概率,来自classification head;正样本边界框的对应标签 为1,负样本边界框对应的标签 为0;
为表示预测边界框的4个回归系数,来自regression head;而 则表示利用真实边界框和样本边界框计算出的回归系数;这两项损失通过样本数量Nsam=256和正样本数量Npos_sam=64进行归一化;
(11)计算行人重识别头的损失:利用目标的真实位置以及其历史ROI特征计算外观特征提取分支的损失Lmetric;
(12)跟踪状态更新:完成一次更新之后,利用目标在当前帧的真实位置更新目标的跟踪状态;
首先利用真实位置更新目标的Kalman状态:kal
其中,R 是尺寸为4×4的单位矩阵,表示观测方差,H表示状态变量的转换矩阵,其尺寸为4×8的矩阵,前4×4的部分为单位矩阵,其余元素为0;然后将目标的ROI特征保存到其历史ROI特征中;
(13)更新模型:利用下面公式计算出整个模型的损失函数:其中,λ1=1、λ2=1和λ3=10分别表示对应子损失的权重因子;然后利用学习率为learn_rate=0.00001的Adam优化器更新整个网络模型的参数W;
(14)选择批数据的下一帧图像并跳转到步骤(5);如果当前批数据训练完毕,清空目标的跟踪状态并从训练集中另外选择一段连续帧作为批数据继续训练;当整个训练集的全部数据都参与训练后,迭代次数加1;当迭代次数达到了30次时,结束训练并保存训练好的跟踪网络模型的参数W;
(15)载入第一帧图像:载入视频第一帧图像到跟踪网络模型的backbone中得到整张图像的特征映射
(16)跟踪状态初始化:利用检测结果以及公式(1)初始化目标的Kalman状态s1,将计算出的外观特征fapp添加到其历史外观特征中,并将这些目标对应的跟踪设置为激活跟踪trackactive;
(17)载入下一帧图像:载入视频下一帧图像到跟踪网络模型的backbone中得到整张图像的特征映射
(18)运动预测:利用和步骤(4)相同的方法预测目标在当前帧的位置边界框post;
(19)边界框细化:利用激活跟踪trackactive的目标的位置边界框post以及ROI pooling从特征映射 中提取ROI特征,将其输入到分类头和回归头得到分类概率Pclass和回归系数[tx,ty,tw,th];将分类概率Pclass低于 的目标对应的跟踪设置为丢失跟踪tracklost;对于其他的目标,利用回归系数以及预测边界框post=[cx,cy,w,h]计算其回归位置
从目标的回归位置边界框中提取相应的外观特征fapp添加到对应跟踪的历史外观特征中;然后将回归位置边界框作为真实位置,利用公式(6)更新对应跟踪的Kalman状态;
(20)检测过滤:从检测中过滤出与激活跟踪的回归位置之间交并比(Intersection over Union,IoU)大于 的边界框,剩余检测作为潜在新目标;
(21)行人重识别:利用潜在新目标对应检测边界框从跟踪网络中得到对应外观特征fapp,然后利用丢失跟踪tracklost中保存的历史外观特征计算出平均外观历史特征fhis_app,然后利用公式(12)计算出潜在新目标和丢失跟踪两两之间的外观特征距离,并构建外观距离矩阵Ddis_app,利用匈牙利算法进行数据关联,将关联上的跟踪转换为激活跟踪trackactive,并将与之匹配的检测对应的外观特征添加到其历史外观特征中;
(22)新跟踪初始化:将步骤(21)中剩下的检测利用与步骤(16)相同的过程初始化为新跟踪;
(23)记录跟踪轨迹:将激活跟踪在当前帧的位置作为对应目标的跟踪轨迹并记录;
(24)处理下一帧:选择视频的下一帧并跳转到步骤(17);
(25)获取跟踪结果:当视频序列的所有帧都被处理完之后,提取所有目标的跟踪轨迹作为当前视频的跟踪结果。
3.根据权利要求2所述的方法,其特征在于,所述步骤(6)包括:首先利用下面公式计算出相机运动强度Ic:其中,W表示由增强相关系数模型ECC模型利用上一帧图像和当前帧图像计算出的仿射矩阵的向量化,R表示了静态帧的仿射矩阵,I表示单位矩阵;
然后,利用目标在上一帧的Kalman状态以及下面公式预测目标在当前帧的Kalman状态:
其中,dt表示时间步数,warp表示ECC模型的仿射变换,其中Q表示运动协方差,Q的尺寸为8×8,Q的对角线元素为[0.1h,0.1h,0.01,0.1h,0.0625h,0.0625h,0.00001,0.0625h],其余元素为0;得到目标在当前帧的Kalman状态后,利用式(4)将其转换成目标在当前帧的位置post=[cx,cy,w,h,]:
4.根据权利要求3所述的方法,其特征在于,所述步骤(9)包括:首先,对于某个目标给定的真实边界框和预测边界框,在其之间做Ninter=10等份的插值,生成一些插值边界框;将这些插值边界框以及真实边界框和预测边界框作为潜在正样本;
其次,在每个潜在正样本边界框的周围生成一些负样本边界框。
5.根据权利要求4所述的方法,其特征在于,所述在每个潜在正样本边界框的周围生成一些负样本边界框,包括:
对于某个潜在正样本边界框,复制多个该边界框的副本,先随机地对每个副本进行一个较大尺度的在横轴和竖轴上的偏置,确保其与这个潜在正样本边界框之间的IoU小于阈值τpos=0.5;
然后进行一个随机地长度和宽度上的缩放以及尺度较小的偏置,得到多个潜在的负样本边界框;
然后,将所有的潜在正样本边界框同样的也进行一个幅度较小的随机的偏置和缩放,保证了大部分的潜在正样本与真实边界框之间的IoU大于阈值τpos=0.5;
最后,利用阈值τpos=0.5来对这些潜在样本进行过滤,即与真实边界框之间的IoU大于阈值τpos=0.5的潜在正样本被标记为该目标对应的正样本,与真实边界框之间的IoU小于阈值τpos=0.5的潜在负样本被标记为负样本。
6.根据权利要求5所述的方法,其特征在于,所述步骤(11)包括:首先,利用目标的真实位置,从特征映射fmap中提取ROI特征,然后将其输入到ReID head中提取当前帧中所有目标的外观特征fapp,然后利用保存的每个目标的历史ROI特征经过ReID head计算出这些目标的历史外观特征以及平均历史外观特征fhis_app,计算目标两两之间的外观特征与平均外观历史特征之间的距离:其中cosine(A,B)表示A和B之间余弦距离;
根据目标两两之间的外观特征距离,得到一个尺寸为Ntar×Ntar的外观距离矩阵Ddis_app,其中Ntar为当前帧真实目标的数量;若当前帧中不存在上一帧中的某个目标,或者该目标是当前帧新出现的目标,不会考虑这些目标;
然后,将得到的外观距离矩阵Ddis_app输入到深度匈牙利网络DHN中,经过计算得到一个r
软分配矩阵 在 上添加一列阈值δ,并执行一个逐行的softmax得到矩阵C ;在c
上添加一行阈值δ,并执行一个逐列的softmax得到矩阵C ;
则计算虚警和漏警的软表示为:
然后计算身份转换 的软表示:
其中||·||1表示扁平化矩阵的L1标准化, 表示尺寸为Ntar×Ntar的单位矩阵的取反;
然后,利用下面公式计算行人重识别头的损失:Lmetric=(1‑dMOTA)+λMOTP(1‑dMOTP) (14)TP
其中M表示匹配上的目标,B 表示对应于距离矩阵Ddis_app的二元匹配矩阵,γids=2表示控制 所占比重的权重因子,其中λMOTP=5表示控制(1‑dMOTP)所占比例的权重因子。
7.根据权利要求6所述的方法,其特征在于,所述步骤(7)中一定条件为以下任一条件:(i)与真实边界框之间的交并比IoU最大的锚点框;
(ii)与任意真实边界框之间IoU超过阈值 的锚点框。
8.根据权利要求7所述的方法,其特征在于,所述步骤(7)中损失函数如下计算:其中,i是锚点的索引,Pi是锚点包含了一个目标的预测概率,来自RPN中的分类头;正锚点的对应标签 为1,负锚点对应的标签 为0;ti为表示预测边界框的4个回归系数,来自于RPN中的回归头;而 则表示利用真实边界框和锚点边界框计算出的回归系数;这两项损失通过批数据大小N=100和正样本锚点框数量Nanchor进行归一化。
9.根据权利要求8所述的方法,其特征在于,所述步骤(2)中批数据数量N=100。
10.一种基于多功能聚合和跟踪模拟训练的在线多目标跟踪模型,其特征在于,所述模型采用残差网络以及特征金字塔的作为骨干网络,分别连接由两层全连接层组成的回归头、分类头和外观特征提取头,所述模型用于在线多目标跟踪。