一种基于改进网络流图的多目标跟踪方法
技术领域
本发明涉及图像处理领域,更具体地,涉及一种基于改进网络流图的多目标跟踪方法。
背景技术
在多目标跟踪器的设计过程中,对标的运动过程进行较为完整的建模成为一种常用且有效的解决方法。例如,伦敦大学的Brostow副教授通过对单个目标的特征点进行聚类概率建模来获得目标的运行轨迹。利用滤波器针对性地设计统计轨迹模型,对跟踪过程的每个位置进行先验概率统计计算,获得目标在大概率下的跟踪似然轨迹等。然而,这类方法大多需要许多的限定假设条件来满足模型环境,有些还会出现NP完全问题。将这种策略与进化算法相结合构造出一种基于分解的多目标进化算法(Multiobjective Evolutionary Algorithm Based onDecomposition,MOEA/D)。该算法将逼近整个Pareto前沿面的问题分解为一定数量的单目标跟踪优化问题,然后用进化算法同时求解这些单目标跟踪优化问题。利用K最短路径算法(K Shortest Path,KSP)松她多目标跟踪问题的整数规划,并获得全局最优解。上述方法存在以下缺陷:
(1)对于复杂背景和高密度人群的场景,多目标跟踪的准确率不高;(2)计算速度慢,上述方法大都在整个视频集中确定目标运动轨迹,需要较长的计算时间,对于一些对时间要求高的应用不能达到要求。
发明内容
本发明为提供一种基于改进网络流图的多目标跟踪方法,该方法可减少检测多个运动目标的计算时间,提高目标跟踪准确率。
为了达到上述技术效果,本发明的技术方案如下:
一种基于改进网络流图的多目标跟踪方法,包括以下步骤:
S1:用DPM算法在视频的每帧中检测出运动目标,并保留每个运动目标的检测准确率;
S2:构建整个视频的改进的网络流图模型,在时间域内计算视频的每帧中相邻运动目标对的关联值;
S3:对每个运动目标的每条假设轨迹的所有关联值求和来构建秩一张量,秩一张量的每一元素对应一条轨迹的关联值和;
S4:用若干个单位向量相乘近似秩一张量,通过张量迭代确定所有单位向量;
S5:把单位向量作为代价消耗,并用匈牙利算法进行二值化处理,得到多目标跟踪的结果。
进一步地,所述步骤S2中改进的网络流图的计算过程如下:
其中,表示一条假设轨迹的关系值的和,表示一种关系假设,也是一条轨迹的假设,要确定的值,式(2)是约束条件,一个目标至多属于一个人,轨迹假设的值为0或1,关系值和作为张量中的元素,则可以引用K-2阶张量S中的元素表示所有的轨迹假设结果。
进一步地,K-2阶秩一张量可以表示为K-2个单位向量的乘积,对于步骤S3中的秩一张量S,寻找K-2个单位向量集∏={∏(1),∏(2),...,∏(K-2)}和常数λ最小化F范数:
其中,表示单位向量∏(k)中的第k个元素,上式可以用拉格朗日算法或最小二乘法处理,将式(3)转化成如下形式:
式(3)的最小值等价于求下面g(∏)的最大值:
通过张量能量迭代可以快速确定K-2个单位向量,单位向量反应的是轨迹的选择结果。
与现有技术相比,本发明技术方案的有益效果是:
本发明通过改进了网络流图模型,充分利用了临近目标对的信息,对每个运动目标的每条假设轨迹的所有关联值求和来构建秩一张量,通过张量迭代确定所有单位向量,把单位向量作为代价消耗,并用匈牙利算法进行二值化处理,得到多目标跟踪的结果,减少了计算时间,提高了目标跟踪准确率。
附图说明
图1为改进的网络流图;
图2为现有的网络流图;
图3为本发多目标跟踪方法的流程图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
本发明方法采用改进的网络流图模型做多目标跟踪运动目标,改进的网络流图如图1所示,有4列点,表示连续三帧图片中的运动目标,左右两列点各表示第一帧和第三帧图片中的运动目标,中间两列的点都表示第二帧图片中的运动目标。虚线框为一个基本单位,是一个目标对的关联假设,圆点是输入点,正方形点是输出点。计算时间轴上相邻虚线框的关联值,对一条轨迹假设的关联值求和,作为秩一张量的一个元素,秩一张量中的元素涵盖了所有轨迹假设情况。用若干个单位向量相乘近似逼近秩一张量,通过张量能量迭代确定单位向量的值,再用匈牙利算法进一步确定所有目标的运动轨迹。
如图3,本发明基于改进网络流图的多目标跟踪方法的流程为:
(1)用DPM算法在视频的每帧中检测出运动目标,并保留每个检测目标的准确率。
(2)构建改进的网络流图模型,在时间域内计算相邻目标对的关联值。
(3)构建秩一张量,对每条假设轨迹的所有关联值求和,秩一张量的元素对应一条轨迹的关联值和。
(4)用若干个单位向量相乘近似秩一张量,通过张量迭代确定所有单位向量。
(5)把单位向量作为代价消耗,转化为二值问题,用匈牙利算法求二值结果,即是多目标跟踪的结果。
下面详细介绍(2)至(5)步骤:
步骤(2):如图2所示,在传统的网络流图中,三列圆点代表连续三帧图片的运动目标,这些目标的关系式未知的,需要确定哪些目标属于同一个人。在步骤(2)中改进了网络流图模型,图1把图2中的所有匹配假设作为一个基本点,例如图2中的点1和点4对应图1中包含点1和点2的虚线框(匹配假设)。蓝色点代表输入点,红色点代表输出点。在时间域上计算相邻的两个匹配假设的关系值,关系值基于外貌相似性和动作平滑性。
步骤(3):假设有视频中有K帧图片,每帧图片有N个目标,改进的网络流图的计算公式如下:
其中,表示一条假设轨迹的关系值的和,表示一种关系假设,也是一条轨迹的假设,要确定的值。式(2)是约束条件,一个目标至多属于一个人,轨迹假设的值为0或1。为了减少计算时间,本发明引用秩一张量解决上述问题。把关系值和作为张量中的元素,则可以用K-2阶张量S中的元素表示所有的轨迹假设结果。
步骤(4):K-2阶秩一张量可以表示层K-2个单位向量的乘积,对于步骤(3)中的张量S,寻找K-2个单位向量集∏={Π(1),Π(2),...,Π(K-2)}和常数λ最小化F范数:
其中,表示单位向量∏(k)中的第k个元素,上式可以用拉格朗日算法或者最小二乘法解决,经过推倒,式(3)转化成如下形式:
这样,求式(3)的最小值等价于求下面g(∏)的最大值:
式(5)与式(1)的表达方式相同,通过张量能量迭代可以快速确定K-2个单位向量,单位向量反应的是轨迹的选择结果。但得到的单位向量不是二值结果,确定轨迹需要明确的而直接过
步骤(5):在上步中得到K-2个单位向量,把单位向量的元素作为代价消耗,转化为二值分布问题,用匈牙利算法确定最后的解,得到所有的运动轨迹。
相同或相似的标号对应相同或相似的部件;
附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。