CN112651995B - 基于多功能聚合和跟踪模拟训练的在线多目标跟踪方法 - Google Patents
基于多功能聚合和跟踪模拟训练的在线多目标跟踪方法 Download PDFInfo
- Publication number
- CN112651995B CN112651995B CN202011516155.2A CN202011516155A CN112651995B CN 112651995 B CN112651995 B CN 112651995B CN 202011516155 A CN202011516155 A CN 202011516155A CN 112651995 B CN112651995 B CN 112651995B
- Authority
- CN
- China
- Prior art keywords
- target
- tracking
- appearance
- bounding box
- frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000012549 training Methods 0.000 title claims abstract description 50
- 238000004088 simulation Methods 0.000 title claims abstract description 16
- 230000002776 aggregation Effects 0.000 title claims abstract description 9
- 238000004220 aggregation Methods 0.000 title claims abstract description 9
- 238000000605 extraction Methods 0.000 claims abstract description 16
- 230000004927 fusion Effects 0.000 claims abstract description 8
- 239000011159 matrix material Substances 0.000 claims description 53
- 238000001514 detection method Methods 0.000 claims description 37
- 238000004422 calculation algorithm Methods 0.000 claims description 23
- 238000013507 mapping Methods 0.000 claims description 21
- 238000009826 distribution Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 18
- 230000004913 activation Effects 0.000 claims description 11
- 238000001914 filtration Methods 0.000 claims description 10
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 9
- 238000011176 pooling Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000009191 jumping Effects 0.000 claims description 5
- 238000010606 normalization Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 3
- 230000003068 static effect Effects 0.000 claims description 3
- 238000004321 preservation Methods 0.000 abstract description 4
- 238000013461 design Methods 0.000 abstract description 2
- 230000004931 aggregating effect Effects 0.000 abstract 1
- 238000012360 testing method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 241001239379 Calophysus macropterus Species 0.000 description 6
- 101000642315 Homo sapiens Spermatogenesis-associated protein 17 Proteins 0.000 description 6
- 102100036408 Spermatogenesis-associated protein 17 Human genes 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 6
- 101000648196 Homo sapiens Striatin Proteins 0.000 description 4
- 102100028898 Striatin Human genes 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 238000003909 pattern recognition Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- JHALWMSZGCVVEM-UHFFFAOYSA-N 2-[4,7-bis(carboxymethyl)-1,4,7-triazonan-1-yl]acetic acid Chemical compound OC(=O)CN1CCN(CC(O)=O)CCN(CC(O)=O)CC1 JHALWMSZGCVVEM-UHFFFAOYSA-N 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000005315 distribution function Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- -1 FAMNet Proteins 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/277—Analysis of motion involving stochastic approaches, e.g. using Kalman filters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了基于多功能聚合和跟踪模拟训练的在线多目标跟踪方法,属于计算机视觉技术领域。所述方法设计了一个聚合多个功能模块的网络结构,利用ECC与Kalman滤波器的融合模式作为运动模型,同时本申请采用了一种端对端的训练方法,利用目标的预测位置和真实位置扩充训练数据,最后,采用融合了目标历史外观信息的指标损失来训练网络中的外观提取模块。本发明方法能够提高各个功能模块之间的兼容性以及对于多目标跟踪任务的适应性,改善模型的身份保存能力,具有较好的在线多目标跟踪性能。
Description
技术领域
本发明涉及基于多功能聚合和跟踪模拟训练的在线多目标跟踪方法,属于计算机视觉技术领域。
背景技术
多目标跟踪(Multiple Object Tracking,MOT)是一个计算机视觉任务,目的是在没有任何关于目标的外观和数量的先验知识下,分析视频以识别和跟踪属于一个或多个类别的目标,如行人、汽车、动物和无生命的物体等。MOT任务在计算机视觉中扮演着重要的角色:从视频监控到自动驾驶汽车,从动作识别到人群行为分析,许多这些问题都将受益于高质量的多目标跟踪技术。
根据处理数据的方式,多目标跟踪算法可以被分为两类:一类是在线跟踪,仅处理当前的视频帧,其适用于例如自动驾驶等实时任务。另一类是离线跟踪,利用了整个视频帧的数据。虽然,离线的方法显示出了比在线跟踪算法更好的表现,但是其通常不适用于时间关键型应用。原因在于离线的方法通常采用了全局优化过程,其计算开销较大。
在线多目标跟踪技术中,随着目标检测器的发展,基于检测的跟踪技术已经在多个领域取得了成功,然而遵循该策略的方法非常依赖检测结果,在检测结果不佳,例如出现误检和漏检时,会导致相应的跟踪算法出现虚警和漏警。一些方式引入了单目标跟踪器在当前帧中对某一目标进行跟踪,然后与检测进行匹配,以解决漏检的问题。例如文献(Q.Chu,W.Ouyang,H.Li,X.Wang,B.Liu,N.Yu,Online multi-object tracking usingCNN-based single object tracker with spatial-temporal attention mechanism,in:Proceedings of the IEEE International Conference on Computer Vision,2017,pp.4836-4845.)利用了基于CNN的单目标跟踪器将上一帧的目标回归到当前帧,并采用了一种时空注意力机制进行关联。
然而,上述结合单目标跟踪的算法在处理遮挡目标时,容易发生跟踪漂移,从而导致虚警的数量增加。针对误检,文献(Y.-C.Yoon,A Boragule,Y.-M.Song,K Yoon,M Jeon,Online multi-object tracking with historical appearance matching and sceneadaptive detection filtering,in:Proceedings of the IEEE Internationalconference on advanced video and signal based surveillance,2018,pp.1-6.)提出利用历史外观匹配方法以及通过2步训练的联合输入孪生网络来强化误检带来的不确定目标状态,从而防止跟踪失败。和上面这篇文献不同,Tracktor(P.Bergmann,T.Meinhardt,L.Leal-Taixe,Tracking without bells and whistles,in:Proceedings of the IEEEinternational conference on computer vision,2019,pp.941-951.)利用了基于检测任务进行预训练的faster-RCNN中的回归网络,来细化运动模型的预测位置以及检测集提供的检测结果,提供更精确的目标位置,强化了算法对于误检的鲁棒性。而针对由于遮挡导致的漏检,Tracktor采用了扩展的ReID网络提取目标的外观特征并保存为历史外观特征,然后在目标重新出现时通过外观模型的匹配来恢复其身份。通过解决检测中的误检和漏检,Tracktor在MOTChallenge上取得了当时的state-of-the-art跟踪结果。
然而,无论是Tracktor还是上面的其他方法,其网络模型都是包括了由几个功能不同的的独立模块组成,例如单目标跟踪网络,回归网络,外观特征提取网络等。每个网络模块都在不同的任务上进行针对性的训练。将这些分开训练的模块直接应用到多目标跟踪任务上时,可能会无法有效兼容以及适应多目标跟踪任务,最终导致模型的跟踪能力下降。
目前主要的在线多目标跟踪算法主要存在两方面的问题,即模型的各个功能模块同时使用时无法有效兼容的问题,以及当这些分开的功能模块用于多目标跟踪任务时适应性较差的问题。
发明内容
为了解决目前在线多目标跟踪算法主要存在的上述两方面的问题,本发明提供了一个基于多功能聚合以及跟踪模拟训练的深度网络用于在线多目标跟踪,采用了同时解决刚体运动和非刚体运动的运动预测模型提升模型的预测能力,将多目标跟踪任务中的多个功能模块聚合到一个网络模型中,提高各个功能模块之间的兼容性。利用端对端的训练方法训练整个网络,提高模型对于多目标跟踪任务的适应性。并采用了能够利用目标历史外观特征的指标损失训练行人重识别分支,强化了提取的外观特征的时间相关性。
实现本发明的技术关键是:采用Kalman滤波器和增强相关系数(EnhancementCorrelation Coefficient,ECC)的融合模式作为运动模型。本申请设计了一个聚合了目标分类、边界框回归以及目标外观特征提取等功能的网络结构,并提出了一种端对端的训练方法,在训练网络时,模拟了在线的多目标跟踪过程,记录目标在每一帧的真实位置作为其跟踪轨迹,然后利用运动预测模型预测目标在训练帧的位置边界框,利用目标的预测位置和真实位置生成一定数量的包含正负样本的推荐区域来扩充训练数据。采用了能够利用目标历史外观信息的指标损失来训练网络中的外观提取模块,提升了外观特征与细化后边界框的兼容性以及同一目标的历史外观特征之间的时间相关性,有效的改善了模型的身份保存能力。
一种基于多功能聚合和跟踪模拟训练的在线多目标跟踪方法,所述方法采用聚合了目标分类、边界框回归以及目标外观特征提取功能的网络结构进行目标跟踪,采用端对端的方法对网络进行训练,且在训练网络时,模拟在线的多目标跟踪过程,记录目标在每一帧的真实位置作为其跟踪轨迹,然后利用运动预测模型预测目标在训练帧中的边界框,利用预测出的目标在训练帧中的边界框位置和真实位置生成包含正负样本的推荐区域来扩充训练数据,然后,所述方法利用增强相关系数ECC与Kalman滤波器的融合模式作为运动模型,提供更准确的预测位置;最后,所述方法采用能够利用目标历史外观信息的指标损失来训练网络中的外观提取模块;采用最后得到的网络模型进行在线多目标跟踪。
可选的,所述方法包括:
(1)建立跟踪网络模型:采用残差网络以及特征金字塔的作为骨干网络backbone,然后分别连接由两层全连接层组成的回归头、分类头和外观特征提取头,得到跟踪网络模型;
(2)建立批数据:从训练视频序列中随机选择连续的N帧图像作为批数据;
(3)载入第一帧图像:将批数据中第一帧图像输入到跟踪网络模型的backbone中得到整张图像的特征映射
(4)初始化跟踪状态:利用第一帧图像的真实标签数据初始化每个目标的跟踪状态,其中,跟踪状态包括目标的Kalman状态和历史感兴趣区域ROI特征;
利用目标的真实位置pos=[cx,cy,w,h]计算目标的Kalman状态中的宽高比a:
a=w/h (1)
其中cx,cy为目标的中心位置,w,h为边界框的宽、高,为前四个变量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的样本利用下面的公式计算损失:
其中,i是样本边界框的索引,是样本边界框包含了一个目标的预测概率,来自classification head;正样本边界框的对应标签/>为1,负样本边界框对应的标签/>为0;为表示预测边界框的4个回归系数,来自regression head;而/>则表示利用真实边界框和样本边界框计算出的回归系数;这两项损失通过样本数量Nsam=256和正样本数量Npos_sam=64进行归一化;
(11)计算行人重识别头的损失:利用目标的真实位置以及其历史ROI特征计算外观特征提取分支的损失Lmetric;
(12)跟踪状态更新:完成一次更新之后,利用目标在当前帧的真实位置更新目标的跟踪状态;
首先利用真实位置更新目标的Kalman状态:
其中,Rkal是尺寸为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以及ROIpooling从特征映射中提取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)获取跟踪结果:当视频序列的所有帧都被处理完之后,提取所有目标的跟踪轨迹作为当前视频的跟踪结果。
可选的,所述步骤(6)包括:
首先利用下面公式计算出相机运动强度Ic:
其中,W表示由增强相关系数模型ECC模型利用上一帧图像和当前帧图像计算出的仿射矩阵的向量化,RECC表示了静态帧的仿射矩阵,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]:
可选的,所述步骤(9)包括:
首先,对于某个目标给定的真实边界框和预测边界框,在其之间做Ninter=10等份的插值,生成一些插值边界框;将这些插值边界框以及真实边界框和预测边界框作为潜在正样本;
其次,在每个潜在正样本边界框的周围生成一些负样本边界框。
可选的,所述在每个潜在正样本边界框的周围生成一些负样本边界框,包括:
对于某个潜在正样本边界框,复制多个该边界框的副本,先随机地对每个副本进行一个较大尺度的在横轴和竖轴上的偏置,确保其与这个潜在正样本边界框之间的IoU小于阈值τpos=0.5;
然后进行一个随机地长度和宽度上的缩放以及尺度较小的偏置,得到多个潜在的负样本边界框;
然后,将所有的潜在正样本边界框同样的也进行一个幅度较小的随机的偏置和缩放,保证了大部分的潜在正样本与真实边界框之间的IoU大于阈值τpos=0.5;
最后,利用阈值τpos=0.5来对这些潜在样本进行过滤,即与真实边界框之间的IoU大于阈值τpos=0.5的潜在正样本被标记为该目标对应的正样本,与真实边界框之间的IoU小于阈值τpos=0.5的潜在负样本被标记为负样本。
可选的,所述步骤(11)包括:
首先,利用目标的真实位置,从特征映射fmap中提取ROI特征,然后将其输入到ReIDhead中提取当前帧中所有目标的外观特征fapp,然后利用保存的每个目标的历史ROI特征经过ReID head计算出这些目标的历史外观特征以及平均历史外观特征fhis_app,计算目标两两之间的外观特征与平均外观历史特征之间的距离:
其中cosine(A,B)表示A和B之间余弦距离;
根据目标两两之间的外观特征距离,得到一个尺寸为Ntar×Ntar的外观距离矩阵Ddis_app,其中Ntar为当前帧真实目标的数量;若当前帧中不存在上一帧中的某个目标,或者该目标是当前帧新出现的目标,不会考虑这些目标;
然后,将得到的外观距离矩阵Ddis_app输入到深度匈牙利网络DHN中,经过计算得到一个软分配矩阵在/>上添加一列阈值δ,并执行一个逐行的softmax得到矩阵Cr;在/>上添加一行阈值δ,并执行一个逐列的softmax得到矩阵Cc;
则计算虚警和漏警的软表示为:
然后计算身份转换的软表示:
其中||·||1表示扁平化矩阵的L1标准化,表示尺寸为Ntar×Ntar的单位矩阵的取反;
然后,利用下面公式计算行人重识别头的损失:
Lmetric=(1-dMOTA)+λMOTP(1-dMOTP) (14)
其中M表示匹配上的目标,BTP表示对应于距离矩阵Ddis_app的二元匹配矩阵,γids=2表示控制所占比重的权重因子,其中λMOTP=5表示控制(1-dMOTP)所占比例的权重因子。
可选的,所述步骤(7)中一定条件为以下任一条件:
(i)与真实边界框之间的交并比IoU最大的锚点框;
(ii)与任意真实边界框之间IoU超过阈值的锚点框。
可选的,所述步骤(7)中损失函数如下计算:
其中,i是锚点的索引,Pi是锚点包含了一个目标的预测概率,来自RPN中的分类头;正锚点的对应标签为1,负锚点对应的标签/>为0;ti为表示预测边界框的4个回归系数,来自于RPN中的回归头;而/>则表示利用真实边界框和锚点边界框计算出的回归系数;这两项损失通过批数据大小N=100和正样本锚点框数量Nanchor进行归一化。
本发明有益效果是:
通过采用了Kalman滤波器和ECC的融合模式作为运动模型,能够有效解决相机运动和行人运动带来的位置变换,提高运动预测的准确性。通过共用一个backbone的分类模块、回归模块以及行人重识别模块组成的跟踪网络模型,相较于把不同功能模块分开的网络模型,具有更少的参数量,占用更少的存储空间。其次,在推理时也能够直接提取目标的外观特征,而不需要将细化后的边界框输入到额外的行人重识别网络,从而提高了计算效率。最后,由于三个模块共享一个backbone,即具有一致的中间层的特征表征,在训练过程中,边界框的回归过程和外观特征的提取过程能够相互促进,逐渐匹配,导致获取能更准确地包裹住目标的边界框以及更能反应目标外观信息的外观特征。本发明还通过采用端对端的训练方法,提高了各个功能模块对于多目标跟踪任务的适应性,能够有效地提升跟踪性能。进一步的,本发明采用了能够利用目标历史外观特征进行训练的指标损失来训练ReID模块,提高了模型提取的外观特征的时间相关性,进一步强化了模型的身份保存能力。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例中多目标跟踪方法的整体流程图。
图2是本发明一个实施例中基于多功能聚合以及跟踪模拟训练的深度网络模型的网络结构示意图。
图3是图2所示的网络模型的训练流程图。
图4是补充样本的生成方法示意图。
图5是匈牙利网络的前向传播过程示意图。
图6是指标损失中各个部分的计算过程示意图。
图7是残差网络Resnet50的结构示意图。
图8是conv block的结构示意图。
图9是identity block的结构示意图。
图10是在数据集MOT2015中视频序列ADL-Rundle-6上的部分跟踪的视觉结果仿真图。
图11是在数据集MOT16中视频序列MOT16-10上的部分跟踪的视觉结果仿真图。
图12是在数据集MOT20中视频序列MOT20-03上的部分跟踪的视觉结果仿真图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为便于理解本申请技术方案,首先介绍相关的基础理论:
1、Kalman滤波器
卡尔曼滤波(Kalman)无论是在单目标还是多目标领域都属于很基础的一种算法,是属于自动控制理论中的一种方法。Kalman滤波算法的假设分布即为高斯分布,而一维的高斯分布概率密度函数为:
高斯分布的融合也是高斯分布。对于任意两个高斯分布,将二者相乘之后可得:
对于这个概率分布函数,我们利用高斯分布的两个特性进行求解,其一是均值处分布函数取极大值,其二是均值处分布曲线的曲率为其二阶导数,并且与s2成反比。可解得:
因此可以得到如下结论:
然后引入线性Kalman滤波,假设状态变量为x,观测量为z,那么结合贝叶斯后验概率模型:
多目标跟踪从形式上讲可以理解为最大化后验概率,现在之前高斯分布相关的内容,假设状态变量x服从高斯分布,反映的是运动模型的不稳定性。基于状态变量x的估计先验,观测量z也服从高斯分布,反映的是量测误差,比如传感器误差。那么就可以利用高斯分布的融合来刻画Kalman滤波器的更新部分。
这里先给出一阶Kalman滤波器的公式,其中预测环节就是基于线性运动特性对状态变量的预测,即:
其中x为状态变量的均值,P为预测方差,那么对应的高斯分布方差即为FxFT,而Q则是线性运动模型本身的误差,由此得到预测环节。即预测结果服从高斯分布N(x,P)。
对于更新环节,同样地,假设量测误差分布满足N(z,R),那么可以推导出:
带入变量得:
上式即为Kalman滤波器的更新环节,其中H是从状态变量到观测量/输出变量的转换矩阵。
2、残差网络(Resnet50)
本申请中的骨干网络中的残差网络(Resnet50)如图7所示,分为6个阶段(stage),第一个阶段包括一个卷积层(CONV),一个批归一化层(Batch Norm),一个Relu激活函数以及一个最大池化层(MAX POOL)。第2-5个阶段结构相同,为一个CONV BLOCK模块和多个IDBLOCK模块。
其中CONV BLOCK模块的结构如图8所示,输入数据x会经过两个前向传播。一个是捷径(shortcut)传播,只经过一个CONV层和Batch Norm层。另一个是正常的传播,分别经过三个阶段,前两个阶段相同,由CONV层、Batch Norm和Relu激活函数组成,最后一个阶段去掉了Relu激活函数。两个传播的结果进行相加,输入到Relu激活函数中得到最终的输出。
ID BLOCK模块结构如图9所示,和CONV BLOCK类似,唯一的区别就是在ID BLOCK中的捷径传播没有经过任何的网络节点。
实施例一:
本实施例提供一种多功能聚合和跟踪模拟训练的在线多目标跟踪方法,参见图1,所述方法包括:
步骤1.建立跟踪网络模型:采用残差网络(Resnet50)以及特征金字塔(FeaturePyramid Networks,FPN)的作为骨干网络(backbone),然后分别连接由两层全连接层(fully connected layer,FC layer)组成的回归头(regression head)、分类头(classification head)和外观特征提取头(ReID head)。
步骤2.选择批数据:从训练视频序列中随机选择连续的N=100帧图像作为批数据。
步骤3.载入第一帧图像:将批数据中第一帧图像输入到网络模型的backbone中得到整张图像的特征映射
步骤4.初始化跟踪状态:利用第一帧图像的真实标签数据初始化每个目标的跟踪状态。跟踪状态包括目标的Kalman状态和历史感兴趣区域(Region Of Interest,ROI)特征。利用目标的真实位置pos=[cx,cy,w,h]计算目标的Kalman状态中的宽高比a:
a=w/h (1)
其中cx,cy为目标的中心位置,w,h为边界框的宽、高,为前四个变量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特征通过感兴趣区域池化(Region Of Interest pooling,ROI pooling)利用目标真实位置从特征映射提取出来。
步骤5.载入下一帧图像:将下一帧图像输入到网络模型的backbone中得到整张图像的特征映射
步骤6.位置预测:利用Kalman滤波器以及增强相关系数(EnhancementCorrelation Coefficient,ECC)预测目标在当前帧的位置post。
首先利用公式(2)计算出相机运动强度Ic:
其中,W表示由增强相关系数模型(Enhancement Correlation Coefficient,ECC)模型利用上一帧图像和当前帧图像计算出的仿射矩阵的向量化,RECC表示了静态帧的仿射矩阵,I表示单位矩阵。
然后,利用目标在上一帧的Kalman状态以及公式(3),预测目标在当前帧的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]:
步骤7.计算区域推荐网络的损失:对满足以下条件的区域推荐网络(RegionProposal Network,RPN)中的锚点框分配一个正标签:
(i)与真实边界框之间的交并比(Intersection-over-Union,IoU)最大的锚点框,或者
(ii)与任意真实边界框之间IoU超过阈值的锚点框。
然后对于与任意真实边界框之间的IoU都小于阈值的锚点框分配一个负标签。正负锚点之外的其他锚点框不参与损失函数的计算。损失函数如下计算:
其中,i1是锚点的索引,是锚点包含一个目标的预测概率,来自RPN中的分类头。正锚点的对应标签/>为1,负锚点对应的标签/>为0。/>为表示预测边界框的4个回归系数,来自于RPN中的回归头。而/>则表示利用真实边界框和锚点边界框计算出的回归系数。这两项损失通过批数据大小N=100和正样本锚点框数量Nanchor进行归一化。
步骤8.利用区域推荐网络生成训练样本:
首先将特征映射输入到RPN中,得到每个锚点框对应的分类值和回归系数,根据分类值判断锚点框对应的是背景还是目标。
然后利用回归系数回归对应目标的锚点框,得到正样本边界框,对应背景的锚点框作为负样本边界框。
步骤9.利用预测位置和真实位置生成推荐区域:利用运动模型的预测位置和数据集中提供的真实位置生成包含正负样本的推荐区域作为网络模型的训练数据,参与计算分类头和回归头的损失。
首先,对于某个目标给定的真实边界框和预测边界框,在其之间做Ninter=10等份的插值,生成一些插值边界框。将这些插值边界框以及真实边界框和预测边界框作为潜在正样本。
其次,在每个潜在正样本边界框的周围生成一些负样本边界框。具体点就是,对于某个潜在正样本边界框,复制多个该边界框的副本,先随机地对每个副本进行一个较大尺度的在横轴和竖轴上的偏置,确保其与这个潜在正样本边界框之间的IoU小于阈值τpos=0.5,然后进行一个随机地长度和宽度上的缩放以及尺度较小的偏置,就得到了多个潜在的负样本边界框。然后,将所有的潜在正样本边界框同样的也进行一个幅度较小的随机的偏置和缩放,保证了大部分的潜在正样本与真实边界框之间的IoU大于阈值τpos=0.5。
最后,利用阈值τpos=0.5来对这些潜在样本进行过滤,即与真实边界框之间的IoU大于阈值τpos=0.5的潜在正样本被标记为该目标对应的正样本,与真实边界框之间的IoU小于阈值τpos=0.5的潜在负样本被标记为负样本。
步骤10.计算回归头和分类头的损失:从来自RPN和预测位置以及真实位置的正负样本中选择数量为Nsam=256,正负比例为1:3的样本利用下面的公式计算损失:
其中,i2是样本边界框的索引,是样本边界框包含一个目标的预测概率,来自classification head。正样本边界框的对应标签/>为1,负样本边界框对应的标签/>为0。为表示预测边界框的4个回归系数,来自regression head。而/>则表示利用真实边界框和样本边界框计算出的回归系数。这两项损失通过样本数量Nsam=256和正样本数量Npos_sam=64进行归一化。
步骤11.计算行人重识别头的损失:利用目标的真实位置以及其历史ROI特征计算外观特征提取分支的损失Lmetric。
首先,利用目标的真实位置,从特征映射fmap中提取ROI特征,然后将其输入到ReIDhead中提取当前帧中所有目标的外观特征fapp,然后利用保存的每个目标的历史ROI特征经过ReID head计算出这些目标的历史外观特征以及平均历史外观特征fhis_app,计算目标两两之间的外观特征与平均外观历史特征之间的距离,即外观特征距离distapp:
其中,cosine(A,B)表示A和B之间余弦距离。
根据目标两两之间的外观特征距离,得到一个尺寸为Ntar×Ntar的外观距离矩阵Ddis_app,其中Ntar为当前帧真实目标的数量。
注意,如果当前帧中不存在上一帧中的某个目标,或者该目标是当前帧新出现的目标,不会考虑这些目标。
然后在得到外观距离矩阵Ddis_app之后,将得到的外观距离矩阵Ddis_app输入到深度匈牙利网络(Deep Hungarian Network,DHN)中,经过计算得到一个软分配矩阵在上添加一列阈值δ,并执行一个逐行的softmax得到矩阵Cr。在/>上添加一行阈值δ,并执行一个逐列的softmax得到矩阵Cc。则可以计算虚警和漏警的软表示为:
然后利用公式(11)计算身份转换的软表示:
其中||·||1表示扁平化矩阵的L1标准化,表示尺寸为Ntar×Ntar的单位矩阵的取反。然后,利用下面公式计算行人重识别头的损失:
Lmetric=(1-dMOTA)+λMOTP(1-dMOTP) (14)
其中M表示匹配上的目标,BTP表示对应于外观距离矩阵Ddis_app的二元匹配矩阵,γids=2表示控制所占比重的权重因子,其中λMOTP=5表示控制(1-dMOTP)所占比例的权重因子。
步骤12.跟踪状态更新:完成一次更新之后,利用目标在当前帧的真实位置更新目标的跟踪状态。
首先利用真实位置更新目标的Kalman状态:
其中,Rkal是尺寸为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以及ROIpooling从特征映射中提取ROI特征,将其输入到classification head和regressionhead得到分类概率Pclass和回归系数[tx,ty,tw,th]。将分类概率Pclass低于/>的目标对应的跟踪设置为丢失跟踪tracklost。
对于其他的目标,利用回归系数以及预测边界框post=[cx,cy,w,h]计算其回归位置
从目标的回归位置边界框中提取相应的外观特征fapp添加到对应跟踪的历史外观特征中。然后将回归位置边界框作为真实位置,利用公式(15)更新对应跟踪的Kalman状态。
步骤20.检测过滤:从检测中过滤出与激活跟踪的回归位置之间交并比(Intersection over Union,IoU)大于的边界框,剩余检测作为潜在新目标。
步骤21.行人重识别:利用潜在新目标对应检测边界框从跟踪网络中得到对应外观特征fapp,然后利用丢失跟踪tracklost中保存的历史外观特征计算出平均外观历史特征fhis_app,然后利用公式(9)计算出潜在新目标和丢失跟踪两两之间的外观特征距离,并构建外观距离矩阵Ddis_app,利用匈牙利算法进行数据关联,将关联上的跟踪转换为激活跟踪trackactive,并将与之匹配的检测对应的外观特征添加到其历史外观特征中。
步骤22.新跟踪初始化:将步骤(21)中剩下的检测利用与步骤16相同的过程初始化为新跟踪。
步骤23.记录跟踪轨迹:将激活跟踪在当前帧的位置作为对应目标的跟踪轨迹并记录。
步骤24.处理下一帧:选择视频的下一帧并跳转到步骤17。
步骤25.获取跟踪结果:当视频序列的所有帧都被处理完之后,提取所有目标的跟踪轨迹作为当前视频的跟踪结果。
本发明的跟踪效果可通过以下仿真实验进一步说明,为证明本申请提高的在线多目标跟踪方法优于现有的一些在线跟踪方法,下述实验中选取了以下现有的在线跟踪方法进行比较说明:
STRN,可参考“J.Xu,Y.Cao,Z.Zhang,H.Hu,Spatial-temporal relationnetworks for multi-object tracking,in:Proceedings of the IEEE InternationalConference on Computer Vision,2019,pp.3988-3998.”
DAN,可参考“S.Sun,N.Akhtar,H.Song,A.S.Mian,M.Shah,Deep affinitynetwork for multiple object tracking,IEEE Trans.Pattern Anal.Mach.Intell.(2019).”
IAT&DMR,可参考“P.Chu,H.Fan,C.C.Tan,H.Ling,Online multi-objecttracking with instance-aware tracker and dynamic model refreshment,in:Proceedings of the IEEE Winter Conference on Applications of Computer Vision(WACV),2019,pp.161-170.”
Tracktor++,可参考“P.Bergmann,T.Meinhardt,L.Leal-Taixe,Trackingwithout bells and whistles,in:Proceedings of the IEEE internationalconference on computer vision,2019,pp.941-951.”
Deep-TAMA,可参考“Y.-C.Yoon,D.Y.Kim,K.Yoon,Y.-m.Song,M.Jeon,Onlinemultiple pedestrian tracking using deep temporal appearance matchingassociation,(2019)arXiv:1907.00831.”
LSSTO,可参考“W.Feng,Z.Hu,W.Wu,J.Yan,W.Ouyang,Multi-object trackingwith multiple cues and switcher-aware classification,(2019)arXiv:1901.06129.”
DeepMOT,可参考“Y.Xu,A.Osep,Y.Ban,R.Horaud,L.Leal-Taixé,X.Alameda-Pineda,How To Train Your Deep Multi-Object Tracker,in:Proceedings of theIEEE/CVF Conference on Computer Vision and Pattern Recognition,2020,pp.6787-6796.”
LMP,可参考“S.Tang,M.Andriluka,B.Andres,B.Schiele,Multiple peopletracking by lifted multicut and person re-identification,in:Proceedings ofthe IEEE Conference on Computer Vision and Pattern Recognition,2017,pp.3539-3548.”
HCC,可参考“L.Ma,S.Tang,M.J.Black,L.Van Gool,Customized multi-persontracker,in:Proceedings of the Asian Conference on Computer Vision,2018,pp.612-628.”
NOTA,可参考“L.Chen,H.Ai,R.Chen,Z.Zhuang,Aggregate tracklet appearancefeatures for multi-object tracking,IEEE Signal Process.Lett.26(11)(2019)1613-1617.”
MPNTrack,可参考“G.Brasó,L.Leal-Taixé,Learning a neural solver formultiple object tracking,in:Proceedings of the IEEE/CVF Conference onComputer Vision and Pattern Recognition,2020,pp.6247-6257.”
FAMNet,可参考“P.Chu,H.Ling,Famnet:Joint learning of feature,affinityand multi-dimensional assignment for online multiple object tracking,in:Proceedings of the IEEE International Conference on Computer Vision,2019,pp.6172-6181.”
MCSAC,可参考“W.Feng,Z.Hu,W.Wu,J.Yan,W.Ouyang,Multi-object trackingwith multiple cues and switcher-aware classification,(2019)arXiv:1901.06129.”
TNT,可参考“G.Wang,Y.Wang,H.Zhang,R.Gu,J.-N.Hwang,Exploit theconnectivity:Multi-object tracking with trackletnet,in:Proceedings of the27th ACM International Conference on Multimedia,2019,pp.482-490.”
JBNOT,可参考“R.Henschel,Y.Zou,B.Rosenhahn,Multiple people trackingusing body and joint detections,in:Proceedings of the IEEE Conference onComputer Vision and Pattern Recognition Workshops,2019,pp.0-0.”
HAM_HI,可参考“Y.-m.Song,M.Jeon,Online multiple object tracking withthe hierarchically adopted gm-phd filter using motion and appearance,in:Proceedings of the IEEE International conference on consumer electronics-Asia(ICCE-Asia),2016,pp.1-4.”
1、仿真条件
本申请提出的方法利用Python以及Pytorch实现。采用了在COCO数据集上预训练的基于Resnet-50+FPN的faster-RCNN的权重来初始化网络,其中Classification head以及ReID head的权重通过均值为0,方差为0.01的正太分布进行初始化。DHN的权重来自在MOT17数据集上进行了预训练的网络模型。
实验设备为具有i9-9900X 3.5GHz CPU以及NVIDIA GeForce 2080Ti GPU的Linux系统服务器电脑。其中在数据集MOT17的训练集上进行训练的模型被用来评估数据集2DMOT2015、MOT16和MOT17中的测试数据,在数据集MOT20的训练集上进行训练的模型被用来评估数据集MOT20中的测试数据。
采用的评估指标有多目标跟踪准确度(MOTA)、多目标跟踪精确度(MOTP)、正确跟踪数关于真实跟踪数和得到跟踪数的平均数的比率(IDF1)、主要跟踪目标的比率(MT)、主要丢失目标的比率(ML)、漏警的数量(FN)、虚警的数量(FP)身份转换的数量(IDSW)和跟踪碎片数(Frag)。
2、仿真内容及结果分析
仿真实验中,本发明方法与其他一些在线多目标跟踪方法进行了对比分析,实验主要从以下方面展开。
实验1:在MOT2015数据集中的测试数据上的跟踪结果上的定量对比:
将本发明方法在MOT2015数据集中的测试数据上的跟踪结果与其他的在线多目标跟踪算法RAN、STRN、DAN、IAT&DMR以及Tracktor++进行了定量对比。
下述表格1中字体加粗表示最好的结果,↑表示指标越高越好,↓表示指标越低越好。
表1在MOT2015上的定量对比
由表格1可以看出,与其他在线多目标跟踪算法相比,本发明方法取得了最佳的多目标跟踪准确度MOTA、正确跟踪数关于真实跟踪数和得到跟踪数的平均数的比率IDFA1、主要跟踪目标的比率MT、主要丢失目标的比率ML以及漏警的数量FN,同时多目标跟踪精确度MOTP和跟踪碎片数Frag也排在第二位。证明了本发明方法具有优于其他方法的跟踪性能。
实验2:在MOT16数据集中的测试数据上的跟踪结果上的定量对比:
将本发明方法在MOT16数据集中的测试数据上的跟踪结果与其他的在线多目标跟踪算法RAN、Deep-TAMA、STRN、IAT&DMR、LSSTO、Tracktor++、DeepMOT、LMP、HCC、NOTA以及MPNTrack进行了定量对比。
下述表格2中字体加粗表示最好的结果,↑表示指标越高越好,↓表示指标越低越好。
表2在MOT16上的定量对比
由表格2可以看出,与其他在线多目标跟踪算法相比,本发明方法取得了最佳的多目标跟踪准确度MOTA、正确跟踪数关于真实跟踪数和得到跟踪数的平均数的比率IDFA1、主要跟踪目标的比率MT、主要丢失目标的比率ML、漏警的数量FN以及跟踪碎片数Frag,同时多目标跟踪精确度MOTP值也排在第二位。与其他离线方法进行比较时,本发明方法也具有最高的多目标跟踪准确度MOTA、主要丢失目标的比率ML和漏警的数量FN。证明了本发明方法具有优于其他在线跟踪算法以及媲美最好的离线跟踪算法的性能。
实验3:在MOT17数据集中的测试数据上的跟踪结果上的定量对比:
将本发明方法在MOT17数据集中的测试数据上的跟踪结果与其他的在线多目标跟踪算、Deep-TAMA、STRN、FAMNet、DAN、MCSAC、Tracktor++、DeepMOT、NOTA、TNT、JBNOT以及MPNTrack进行了定量对比。
下述表格3中字体加粗表示最好的结果,↑表示指标越高越好,↓表示指标越低越好。
表3在MOT17上的定量对比
由表格3可以看出,与其他在线多目标跟踪算法相比,本发明方法取得了最佳的多目标跟踪准确度MOTA、正确跟踪数关于真实跟踪数和得到跟踪数的平均数的比率IDF1、主要跟踪目标的比率MT、主要丢失目标的比率ML以及漏警的数量FN,同时多目标跟踪精确度MOTP和跟踪碎片数Frag也排在第二位。与其他离线方法比较时,本发明方法也取得了最好的多目标跟踪准确度MOTA、多目标跟踪精确度MOTP、主要丢失目标的比率ML、虚警的数量FP以及漏警的数量FN。证明了本发明方法具有优于其他在线跟踪方法,甚至在某些性能上可以与目前最好的离线跟踪算法相较。
实验4:在MOT20数据集中的测试数据上的跟踪结果上的定量对比:
将本发明方法在MOT20数据集中的测试数据上的跟踪结果与其他在线多目标跟踪算法HAM_HI、Deep-TAMA以及Tracktor++进行了定量对比。
下述表格4中字体加粗表示最好的结果,↑表示指标越高越好,↓表示指标越低越好。
表4在MOT20上的定量对比
由表格4可以看出,与其他在线多目标跟踪算法相比,除了虚警的数量FP,本发明方法在其他评估指标上都取得了最好的结果。证明了本发明方法具有优于其他在线多目标跟踪方法的性能。
实验5:本发明方法的进行跟踪的视觉结果
图10是本发明方法在MOT2015数据集中视频序列ADL-Rundle-6上的跟踪结果,其中身份为序号4的行人在第45帧时被其他行人所遮挡导致不可见,在第60帧重新出现在视野中时身份没有发生变化。证明了本文提出的方法在身份保存上具有较高的鲁棒性,这得益于融合到主网络中的外观提取分支能够准确地从细化后边界框中提取出更具类间差异以及类内相似度的外观特征。
图11显示了本文提出的方法在MOT16数据集中视频序列MOT16-10上的跟踪结果,在这个视频序列中存在大幅度的相机运动以及严重的运动模糊,其中目标6从29帧到89帧离相机越来越近导致在图像中不断变大,本文提出的方法依然能够准确的对其定位。这也证明了本文提出的方法对于行人运动,相机运动以及模糊图像的鲁棒性,这得益于结合Kalman filter和ECC的运动模型以及细化检测边界框的预处理。
图12中显示了在数据集MOT-20中视频序列MOT20-03上的跟踪结果,这个视频序列的场景相比于前两个数据集,行人数量更密集并且在我们提供的两帧图像中光照产生了巨大的变化。然而,从图3可以看出,本申请提出的方法依然能够准确地跟踪场景中的目标,并且保持准确的身份信息,这证明了本申请提出的方法在复杂场景中的优越的跟踪性能以及对于光照变化的鲁棒性。
本发明实施例中的部分步骤,可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,如光盘或硬盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于多功能聚合和跟踪模拟训练的在线多目标跟踪方法,其特征在于,所述方法采用聚合了目标分类、边界框回归以及目标外观特征提取功能的网络结构进行目标跟踪,采用端对端的方法对网络进行训练,且在训练网络时,模拟在线的多目标跟踪过程,记录目标在每一帧的真实位置作为其跟踪轨迹,然后利用运动预测模型预测目标在训练帧中的边界框,利用预测出的目标在训练帧中的边界框位置和真实位置生成包含正负样本的推荐区域来扩充训练数据,然后,所述方法利用增强相关系数ECC与Kalman滤波器的融合模式作为运动模型,提供更准确的预测位置;最后,所述方法采用能够利用目标历史外观信息的指标损失来训练网络中的外观提取模块;采用最后得到的网络模型进行在线多目标跟踪;
所述方法包括:
(1)建立跟踪网络模型:采用残差网络以及特征金字塔的作为骨干网络backbone,然后分别连接由两层全连接层组成的回归头、分类头和外观特征提取头,得到跟踪网络模型;
(2)建立批数据:从训练视频序列中随机选择连续的N帧图像作为批数据;
(3)载入第一帧图像:将批数据中第一帧图像输入到跟踪网络模型的backbone中得到整张图像的特征映射
(4)初始化跟踪状态:利用第一帧图像的真实标签数据初始化每个目标的跟踪状态,其中,跟踪状态包括目标的Kalman状态和历史感兴趣区域ROI特征;
利用目标的真实位置pos=[cx,cy,w,h]计算目标的Kalman状态中的宽高比a:
a=w/h (1)
其中cx,cy为目标的中心位置,w,h为边界框的宽、高,为前四个变量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都小于阈值的锚点框分配一个负标签;正负锚点之外的其他锚点框不参与损失函数的计算;
步骤(7)中一定条件为以下任一条件:
(i)与真实边界框之间的交并比IoU最大的锚点框;
(ii)与任意真实边界框之间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状态:
其中,Rkal是尺寸为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)检测过滤:从检测中过滤出与激活跟踪的回归位置之间交并比(Intersectionover Union,IoU)大于的边界框,剩余检测作为潜在新目标;
(21)行人重识别:利用潜在新目标对应检测边界框从跟踪网络中得到对应外观特征fapp,然后利用丢失跟踪tracklost中保存的历史外观特征计算出平均外观历史特征fhis_app,然后利用公式(12)计算出潜在新目标和丢失跟踪两两之间的外观特征距离,并构建外观距离矩阵Ddis_app,利用匈牙利算法进行数据关联,将关联上的跟踪转换为激活跟踪trackactive,并将与之匹配的检测对应的外观特征添加到其历史外观特征中;
(22)新跟踪初始化:将步骤(21)中剩下的检测利用与步骤(16)相同的过程初始化为新跟踪;
(23)记录跟踪轨迹:将激活跟踪在当前帧的位置作为对应目标的跟踪轨迹并记录;
(24)处理下一帧:选择视频的下一帧并跳转到步骤(17);
(25)获取跟踪结果:当视频序列的所有帧都被处理完之后,提取所有目标的跟踪轨迹作为当前视频的跟踪结果。
2.根据权利要求1所述的方法,其特征在于,所述步骤(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]:
3.根据权利要求2所述的方法,其特征在于,所述步骤(9)包括:
首先,对于某个目标给定的真实边界框和预测边界框,在其之间做Ninter=10等份的插值,生成一些插值边界框;将这些插值边界框以及真实边界框和预测边界框作为潜在正样本;
其次,在每个潜在正样本边界框的周围生成一些负样本边界框。
4.根据权利要求3所述的方法,其特征在于,所述在每个潜在正样本边界框的周围生成一些负样本边界框,包括:
对于某个潜在正样本边界框,复制多个该边界框的副本,先随机地对每个副本进行一个较大尺度的在横轴和竖轴上的偏置,确保其与这个潜在正样本边界框之间的IoU小于阈值τpos=0.5;
然后进行一个随机地长度和宽度上的缩放以及尺度较小的偏置,得到多个潜在的负样本边界框;
然后,将所有的潜在正样本边界框同样的也进行一个幅度较小的随机的偏置和缩放,保证了大部分的潜在正样本与真实边界框之间的IoU大于阈值τpos=0.5;
最后,利用阈值τpos=0.5来对这些潜在样本进行过滤,即与真实边界框之间的IoU大于阈值τpos=0.5的潜在正样本被标记为该目标对应的正样本,与真实边界框之间的IoU小于阈值τpos=0.5的潜在负样本被标记为负样本。
5.根据权利要求4所述的方法,其特征在于,所述步骤(11)包括:
首先,利用目标的真实位置,从特征映射fmap中提取ROI特征,然后将其输入到ReIDhead中提取当前帧中所有目标的外观特征fapp,然后利用保存的每个目标的历史ROI特征经过ReID head计算出这些目标的历史外观特征以及平均历史外观特征fhis_app,计算目标两两之间的外观特征与平均外观历史特征之间的距离:
其中cosine(A,B)表示A和B之间余弦距离;
根据目标两两之间的外观特征距离,得到一个尺寸为Ntar×Ntar的外观距离矩阵Ddis_app,其中Ntar为当前帧真实目标的数量;若当前帧中不存在上一帧中的某个目标,或者该目标是当前帧新出现的目标,不会考虑这些目标;
然后,将得到的外观距离矩阵Ddis_app输入到深度匈牙利网络DHN中,经过计算得到一个软分配矩阵在/>上添加一列阈值δ,并执行一个逐行的softmax得到矩阵Cr;在上添加一行阈值δ,并执行一个逐列的softmax得到矩阵Cc;
则计算虚警和漏警的软表示为:
然后计算身份转换的软表示:
其中||·||1表示扁平化矩阵的L1标准化,表示尺寸为Ntar×Ntar的单位矩阵的取反;
然后,利用下面公式计算行人重识别头的损失:
Lmetric=(1-dMOTA)+λMOTP(1-dMOTP) (14)
其中M表示匹配上的目标,BTP表示对应于距离矩阵Ddis_app的二元匹配矩阵,γids=2表示控制所占比重的权重因子,其中λMOTP=5表示控制(1-dMOTP)所占比例的权重因子。
6.根据权利要求5所述的方法,其特征在于,所述步骤(7)中损失函数如下计算:
其中,i是锚点的索引,Pi是锚点包含了一个目标的预测概率,来自RPN中的分类头;正锚点的对应标签为1,负锚点对应的标签/>为0;ti为表示预测边界框的4个回归系数,来自于RPN中的回归头;而/>则表示利用真实边界框和锚点边界框计算出的回归系数;这两项损失通过批数据大小N=100和正样本锚点框数量Nanchor进行归一化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011516155.2A CN112651995B (zh) | 2020-12-21 | 2020-12-21 | 基于多功能聚合和跟踪模拟训练的在线多目标跟踪方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011516155.2A CN112651995B (zh) | 2020-12-21 | 2020-12-21 | 基于多功能聚合和跟踪模拟训练的在线多目标跟踪方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112651995A CN112651995A (zh) | 2021-04-13 |
CN112651995B true CN112651995B (zh) | 2024-05-03 |
Family
ID=75360285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011516155.2A Active CN112651995B (zh) | 2020-12-21 | 2020-12-21 | 基于多功能聚合和跟踪模拟训练的在线多目标跟踪方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112651995B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113223060B (zh) * | 2021-04-16 | 2022-04-15 | 天津大学 | 基于数据共享的多智能体协同跟踪方法、装置及存储介质 |
CN113313736B (zh) * | 2021-06-10 | 2022-05-17 | 厦门大学 | 统一目标运动感知和重识别网络的在线多目标跟踪方法 |
CN113569716B (zh) * | 2021-07-23 | 2023-10-27 | 闽江学院 | 一种货车车轴快速识别与计数方法 |
CN113807187B (zh) * | 2021-08-20 | 2024-04-02 | 北京工业大学 | 基于注意力特征融合的无人机视频多目标跟踪方法 |
CN115797964A (zh) * | 2021-09-08 | 2023-03-14 | 广州视源电子科技股份有限公司 | 一种行为识别方法、装置、设备和存储介质 |
CN113947618B (zh) * | 2021-10-20 | 2023-08-29 | 哈尔滨工业大学 | 基于调制器的自适应回归跟踪方法 |
CN114155475B (zh) * | 2022-01-24 | 2022-05-17 | 杭州晨鹰军泰科技有限公司 | 无人机视角下端到端的人员动作识别方法、设备及介质 |
CN116385651A (zh) * | 2023-04-10 | 2023-07-04 | 北京百度网讯科技有限公司 | 图像处理方法、神经网络模型的训练方法、装置和设备 |
CN117893570A (zh) * | 2024-01-05 | 2024-04-16 | 北京科技大学 | 一种扩散模型赋予跟踪提议传播的多目标跟踪方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274917A (zh) * | 2020-01-17 | 2020-06-12 | 江南大学 | 一种基于深度检测的长时目标跟踪方法 |
CN111460926A (zh) * | 2020-03-16 | 2020-07-28 | 华中科技大学 | 一种融合多目标跟踪线索的视频行人检测方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10902243B2 (en) * | 2016-10-25 | 2021-01-26 | Deep North, Inc. | Vision based target tracking that distinguishes facial feature targets |
WO2019033025A1 (en) * | 2017-08-10 | 2019-02-14 | Patroness, LLC | SYSTEMS AND METHODS FOR IMPROVED AUTONOMOUS OPERATIONS OF A MOTORIZED MOBILE SYSTEM |
-
2020
- 2020-12-21 CN CN202011516155.2A patent/CN112651995B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274917A (zh) * | 2020-01-17 | 2020-06-12 | 江南大学 | 一种基于深度检测的长时目标跟踪方法 |
CN111460926A (zh) * | 2020-03-16 | 2020-07-28 | 华中科技大学 | 一种融合多目标跟踪线索的视频行人检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112651995A (zh) | 2021-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112651995B (zh) | 基于多功能聚合和跟踪模拟训练的在线多目标跟踪方法 | |
Marchetti et al. | Mantra: Memory augmented networks for multiple trajectory prediction | |
Shen et al. | Fast online tracking with detection refinement | |
Yang et al. | Online multi-object tracking using multi-function integration and tracking simulation training | |
CN109146921B (zh) | 一种基于深度学习的行人目标跟踪方法 | |
Krebs et al. | A survey on leveraging deep neural networks for object tracking | |
Heidecker et al. | An application-driven conceptualization of corner cases for perception in highly automated driving | |
CN115995063A (zh) | 作业车辆检测与跟踪方法和系统 | |
CN113409361B (zh) | 一种多目标跟踪方法、装置、计算机及存储介质 | |
CN104091349A (zh) | 基于支持向量机的鲁棒目标跟踪方法 | |
CN112767447A (zh) | 基于深度霍夫优化投票的时敏单目标跟踪方法、存储介质和终端 | |
Wang et al. | Visual object tracking with multi-scale superpixels and color-feature guided kernelized correlation filters | |
Fernández-Sanjurjo et al. | Real-time multiple object visual tracking for embedded GPU systems | |
He et al. | Fast online multi-pedestrian tracking via integrating motion model and deep appearance model | |
García-González et al. | Background subtraction by probabilistic modeling of patch features learned by deep autoencoders | |
Abdallah et al. | Multi-vehicle tracking using heterogeneous neural networks for appearance and motion features | |
Jain et al. | Fusion-driven deep feature network for enhanced object detection and tracking in video surveillance systems | |
CN113807457A (zh) | 确定路网表征信息的方法、装置、设备及存储介质 | |
Renfei et al. | Detection and tracking of floating objects based on spatial-temporal information fusion | |
CN117710403A (zh) | 目标跟踪检测方法、装置、设备和存储介质 | |
Yu et al. | Online-adaptive classification and regression network with sample-efficient meta learning for long-term tracking | |
Gong et al. | Research on an improved KCF target tracking algorithm based on CNN feature extraction | |
Meng et al. | Transportation object counting with graph-based adaptive auxiliary learning | |
CN116958057A (zh) | 一种策略引导的视觉回环检测的方法 | |
CN115952930A (zh) | 一种基于imm-gmr模型的社会行为体位置预测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |