一种监控场景多目标跟踪方法及系统与流程

文档序号:19635629发布日期:2020-01-07 11:58阅读:626来源:国知局
一种监控场景多目标跟踪方法及系统与流程

本发明涉及一种计算机技术领域,尤其是涉及监控场景多个目标的实时跟踪方法及系统。



背景技术:

在对监控视频进行智能分析的过程中,通常过程是提取目标的检测框,通过多目标跟踪方法赋予每个目标自己特有的识别码,用于区分不同的目标。多目标跟踪方法是计算机领域研究的一个非常经典的问题。通常算法会将跟踪问题转化为图模型进行求解。但是通常很难做到灵活地调节算法的精度和速度的平衡。近年来多目标跟踪方法的改进大多是基于深度学习的特征提取方法。通过在多目标跟踪方法中引入一个深度特征提取网络,得到该目标的深度特征,以提高复杂场景中的跟踪准确性,并能一定程度上对搜索空间进行剪枝。但是基于深度特征的方法在速度上受到gpu资源的限制。

在实际监控视频智能处理的场景中,gpu资源往往非常紧张,cpu资源一般较为宽松。基于深度特征的网络的跟踪算法的速度严重依赖gpu的性能。在场景的目标数较多时,或者别的算法模块也占用着gpu资源的情况下,深度特征的提取过程会严重拖慢多目标跟踪方法的实时性。

另外,不同的应用场景可能对算法的复杂度与精度的平衡有不同的要求,而目前成型的算法大多没有任何调整空间,只能在单一算法复杂度下进行计算。

不基于深度特征提取的多假设跟踪能有效利用cpu资源,并能通过调整整合信息时间的长短,实现对复杂度与精度的平衡的调整。但是原始的多假设跟踪算法中,虽然最大独立子集和算法(mwis)会对假设树进行剪枝,但是每个目标的假设数目在到达剪枝的时间点前仍会随着时间成几何倍数的增长,难以综合较长时间的假设信息做出判断。



技术实现要素:

本发明的目的是通过以下技术方案实现的。

根据本发明的第一个方面,提出了一种监控场景多目标跟踪方法,基于剪枝优化后的多假设跟踪,包括如下步骤:

接收当前帧的目标检测框;

基于所述当前帧的目标检测框,生成每个目标可能的位置的假设;

基于最近多个帧的所有假设,求解最大独立子集和问题,得到每个目标可以选取的相互不冲突的假设路径,输出所述多个帧前的每个目标的位置;

结合所述最大独立子集和问题的解和匈牙利算法进行剪枝优化,得到多目标跟踪结果。

根据本发明的第二个方面,提出了一种监控场景多目标跟踪系统,包括如下模块:

检测框接收模块,用于接收当前帧的目标检测框;

假设位置生成模块,基于所述当前帧的目标检测框,生成每个目标可能的位置的假设;

目标位置计算模块,基于最近多个帧的所有假设,求解最大独立子集和问题,得到每个目标可以选取的相互不冲突的假设路径,输出所述多个帧前的每个目标的位置;

剪枝优化模块,结合所述最大独立子集和问题的解和匈牙利算法进行剪枝优化,得到多目标跟踪结果。

本发明的优点在于:与现有技术相比,本发明公开的一种实时的监控场景的多目标跟踪,具有如下有益效果:该方法在传统的多假设跟踪的算法上通过提出一种新型的优化剪枝的方法,使得多假设跟踪的算法的复杂度大幅度减少。对于监控场景的多目标跟踪,能够充分利用cpu资源,不占用gpu资源,实时地对多目标进行跟踪;并可以通过改变整合信息时间的长短,实现对算法复杂度和精度平衡的调整。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

附图1示出了根据本发明实施例的监控场景多目标跟踪方法总体流程图;

附图2示出了根据本发明实施例的检测框读入流程图;

附图3示出了根据本发明实施例的假设于检测框的匹配过程示意图;

附图4示出了根据本发明实施例的转换为最大独立子集和问题的示例图;

附图5示出了根据本发明实施例的剪枝优化的效果图;

附图6示出了根据本发明实施例的多假设跟踪的具体流程图;

附图7示出了根据本发明实施例的回溯长度n对算法精度与速度的影响示例图;

附图8示出了根据本发明实施例的监控场景多目标跟踪系统结构图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明中的假设是指,因为检测算法通常会带来的不准确性,多假设跟踪算法对每个目标都会维护一个目标可能存在的位置的假设。不同帧之间的假设的从属关系构成一棵假设树。目标在某帧的实际位置需要在综合之后的多帧的信息才能确定。

如图1所示,本发明公开一种监控场景下的多目标跟踪方法,包括步骤:

a1.从前序模块读入目标检测框:从不同的服务器端或者同一服务器端部署的检测器中读取当前视频帧中的检测框(如图2所示);

a2.基于检测框生成新的假设:对每个假设,在临近范围内的检测框,都生成新的假设进行匹配(如图3所示);

a3.确定n帧前的目标的位置:通过将t-n帧到t帧内所有的假设形成的假设树转化为最大独立子集和问题(maximumweightedindependentset,mwis),可以求解得到每个目标可以选取的相互不冲突的假设树上可选取的路径。将t-n帧前不在这些路径上的假设删除,每个目标只保留一个假设,即为算法输出的该目标在t-n帧时的位置。(如图4,6所示)

a4.剪枝优化:结合mwis的解和匈牙利算法进行剪枝优化(如图5,6所示),得到多目标跟踪结果。

若算法精度不够,或者复杂度太高,可以通过调节n的大小,调整算法整合信息的时间长度,得到合适的速度与精度的平衡。(如图7所示)

优选的,如上所述的多目标跟踪方法中,所述读入目标检测框的包含步骤如图2所示:

c1.监控视频的读取和解码:将所需的监控通过磁盘或者网络读取并解码为单帧图片。例如视频第n帧。

c2.检测器的选取:选取用于检测目标的检测器,用于从单帧图片中提取目标的检测框。

c3.检测框的传输:如果检测器和跟踪器部署在不同的服务器端,则需要通过网络数据包将检测器的结果传输到跟踪器所在的服务器端a、b;若测器和跟踪器部署在同一服务器端a,则可以通过进程或者线程间的通行来传输检测框,最终都得到第t-n帧的跟踪结果。

优选的,如上所述的多目标跟踪方法中,所述基于检测框生成新的假设的步骤如图3所示,包括:

d1.查找记录假设相邻的检测框:遍历目前维护的当前帧的所有假设,对每个假设查找并记录和在它邻近一定范围内的检测框;

d2.生成新的假设:对每一个假设和检测框的匹配,生成一个新的假设对应匹配的检测框,即每一个假设都可能会到邻近范围内的检测框所在的位置。如果邻近范围内没有检测框,则生成一个空假设,该假设不与任何检测框匹配,并且空假设的状态变量(位置,速度)和它的父假设相同。空假设对应着检测器没有给出目标位置,需要由跟踪器预测出目标位置的情况。如果邻近范围内虽然有检测框,但是均大于一定阈值,则除了生成与这些检测框相匹配的假设,同时也会生成一个空假设,用于考虑检测器的框不准确,或者属于别的较近的目标的情况。

优选的,如上所述的多目标跟踪方法中,所述确定n帧前的目标的位置的步骤如图4所示(图4所述情况为n=2)包括:

e1.根据当前帧的检测框,根据匹配的距离、匹配后目标速度的方向、目标的大小与检测框大小的差异,计算之前当前假设与检测框匹配所生成的新的假设的匹配代价。

e2.回溯到n帧之前的假设树。n帧前的假设树在上一轮算法的操作中,每个目标的假设的都来源于同一个父节点。计算该深度为n的假设树上每个路径的匹配代价之和,放在假设树的叶节点,作为每条路径的代价。

e3.可选的,计算假设树上,每条路径的速度线性拟合的代价,对应于优先考虑做线性运动的匹配模式。将该代价加在叶节点上。

e4.将该假设树转化为最大独立子集和问题(maximumweightedindependentset,mwis)进行求解。mwis问题中,每个顶点为一条假设路径,顶点之间的边对应着两个顶点属于同一目标,或者在n时间段内,存在某一时刻,共享同一个检测框,即两个顶点因为目标或者检测框的冲突,不能共存;每个顶点的值取每个路径的代价的负数;mwis问题是已被证明的np难问题。通过近似算法或者精确求解该mwis问题,可得到一组假设树上可选取的路径,使得该组路径上,每个目标可以选取的路径相互不冲突(不会同时匹配同一个检测框),且每个目标只有一组路径,且该组路径的代价最小。

e5.删除掉n帧前不在该组路径上的假设,使得n帧前,每个目标只保留一个假设。该假设即为目标在n帧前的位置,作为算法目前时刻的输出结果。

优选的,如上所述的多目标跟踪方法中,所述剪枝优化的步骤如图5所示包括(图5所述情况为n=3):

f1.删除除了mwis的解以外的,之前所述的基于检测框生成新的假设,称为保留的子假设,和其父节点同一层的其余假设称为父假设;

f2.对于剩余的在邻近范围内未匹配的检测框,可选的,根据匹配的距离、匹配后目标速度的方向、目标的大小与检测框大小的差异,计算父假设和未匹配的检测框之间的匹配代价,采用匈牙利算法进行匹配。

f3.如果仍有剩余的检测框,则查找空间上离它最近的父假设,与它匹配生成新的子假设。如果有父假设未能与任何检测框匹配,则由父假设生成一个空假设,并且空假设的状态变量(位置,速度)和它的父假设相同。

f4.将保留的子假设和新生成的子假设作为该时刻算法最终生成的假设。可以证明,经过剪枝优化后,假设数目小于等于未剪枝优化的假设数目,并且最优解始终能在剪枝后的空间内被找到。

附图8示出了根据本发明实施例的监控场景多目标跟踪系统100的结构图。如图8所示,包括如下模块:

检测框接收模块101,用于接收当前帧的目标检测框;

假设位置生成模块102,基于所述当前帧的目标检测框,生成每个目标可能的位置的假设;

目标位置计算模块103,基于最近多个帧的所有假设,求解最大独立子集和问题,得到每个目标可以选取的相互不冲突的假设路径,输出所述多个帧前的每个目标的位置;

剪枝优化模块104,结合所述最大独立子集和问题的解和匈牙利算法进行剪枝优化,得到多目标跟踪结果。

通过本发明的方法和系统,得到了一个复杂度大大降低的多假设跟踪算法,能够在诸多跟踪场景得到应用。具体地,通过在mwis的剪枝的结果中引入匈牙利算法,进一步对假设树进行剪枝,使得假设数目极大较少,且剪枝过程不会丢失最优解。该算法在监控场景的实际应用中,有较高的准确性,不占用gpu资源,能调整准确性和复杂度之间的平衡的优点。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1