基于数据关联的视频多目标跟踪方法及系统与流程

文档序号:16147645发布日期:2018-12-05 16:47阅读:223来源:国知局

本发明属于视频多目标追踪技术领域,具体涉及一种基于数据关联的视频多目标跟踪方法及系统。

背景技术

多目标跟踪,即multipleobjecttracking(mot),也称为multipletargettracking(mtt)。其主要任务是给定一个图像序列,找到图像序列中运动的物体,并将不同帧中的运动物体一一对应(identity),然后给出不同物体的运动轨迹。这些物体可以是任意的,如行人、车辆、运动员、各种动物等等。多目标跟踪问题比较复杂,除了单目标跟踪会遇到的问题外,还需要目标间的关联匹配。现有方法大都比较复杂,无法简单、有效地根据实际判断目标出现、消失、融合或分离。



技术实现要素:

本发明是为了解决上述问题而进行的,目的在于提供一种能够根据实际简单、有效的判断出目标的出现、消失、融合和分离的基于数据关联的视频多目标跟踪方法及系统。

本发明提供了一种基于数据关联的视频多目标跟踪方法,其特征在于,包括以下步骤:

步骤1,将视频采集的图像进行处理得到该帧图像中的所有目标;

步骤2,计算当前帧图像中的每个目标与上一帧图像中的每个目标之间的相似性;

步骤3,分别以当前帧图像中的每个目标和上一帧图像中的每个目标为行或列建立代价矩阵,代价矩阵中每个元素初始值均设置为0;

步骤4,设定相似性阈值,根据代价矩阵中每个元素对应的相似性值基于预定规则对所述代价矩阵中的每个元素进行赋值;

步骤5,根据赋值后的代价矩阵中每行或每列中各元素的值判断两帧图像中各目标的情况。

进一步,在本发明提供的基于数据关联的视频多目标跟踪方法中,还可以具有这样的特征:其中,计算当前帧图像中的每个目标与上一帧图像中的每个目标之间的相似性后,建立相似性矩阵,所述相似性矩阵与所述代价矩阵相对应。

进一步,在本发明提供的基于数据关联的视频多目标跟踪方法中,还可以具有这样的特征:其中,步骤4中对所述代价矩阵中的每个元素进行赋值的方法包括以下步骤:

步骤4-1,提取所述代价矩阵中每行中各元素对应的相似性值最大的元素,该行中其它元素的值均保持不变;

步骤4-2,判断步骤4-1提取的元素对应的相似性值是否大于设定的相似性阈值,若大于,则该元素的值加1,若否,则该元素的值加0;

步骤4-3,提取所述代价矩阵中每列中各元素对应的相似性值最大的元素,该列中其它元素的值均保持不变;

步骤4-4,判断步骤4-3提取的元素对应的相似性值是否大于设定的相似性阈值,若大于,则该元素的值加1,若否,则该元素的值加0。

进一步,在本发明提供的基于数据关联的视频多目标跟踪方法中,还可以具有这样的特征:其中,步骤5中判断的两帧图像中各目标的情况包括:上一帧图像中的一个目标对应当前帧图像中的某个目标、是否出现上一帧图像的目标在当前帧图像中目标消失、当前帧图像中是否出现新的目标、是否出现上一帧图像中的多个目标在当前帧图像中融合、是否出现上一帧中的一个目标在当前帧图像中分离的情况。

进一步,在本发明提供的基于数据关联的视频多目标跟踪方法中,还可以具有这样的特征:其中,步骤5中具体判断方法为:

若赋值后的代价矩阵中一行或一列的所有元素均为0,则判断为上一帧图像中该行或列所对应的目标在当前帧图像中目标消失、或该行或列所对应的目标为当前帧图像中出现的新目标;

若赋值后的代价矩阵中一列或一行中所有元素中既包含1也包含2,则判断为上一帧图像中1和2分别对应的多个目标在当前帧图像中融合为该行或列对应的目标、或者上一帧中的该行或列对应的目标在当前帧图像中分离为1和2分别对应的目标。

本发明还提供了一种基于数据关联的视频多目标跟踪系统,其特征在于,包括:

目标获取模块,用于将视频采集的图像进行处理得到该帧图像中的所有目标;

相似性计算模块,用于计算当前帧图像中的每个目标与上一帧图像中的每个目标的相似性;

代价矩阵生成模块,用于根据当前帧图像中的每个目标和上一帧图像中的每个目标生成一个元素初始值均为0的代价矩阵;

设定模块,用于设定两两目标之间相似性的阈值;

赋值模块,用于根据所述相似性计算模块计算的两帧图像中两两目标之间的相似性和所述设定模块设定的相似性的阈值基于预定规则得到代价矩阵中每个元素的值并赋值给所述代价矩阵;以及判断模块,根据赋值后的所述代价矩阵中每行和每列中元素的值对两帧图像中的目标进行判断。

进一步,在本发明提供的基于数据关联的视频多目标跟踪系统中还可以具有这样的特征:多目标视频监控系统还包括相似性矩阵生成模块,用于根据当前帧图像中的每个目标、上一帧图像中的每个目标和相似性计算模块计算得到的两帧图像中两两目标之间的相似性生成一个相似性矩阵。

本发明的优点如下:

根据本发明所涉及的基于数据关联的视频多目标跟踪方法,因为将视频采集的图像处理得到该帧图像中的所有目标后,计算上一帧图像的所有目标和当前帧图像的所有目标之间两两目标的相似性,分别以两帧图像的目标为行或列建立代价矩阵,代价矩阵中每个元素初始值均设置为0,根据两帧图像中两两目标之间的相似性和相似性的阈值基于预定规则得到代价矩阵中每个元素的值并赋值给代价矩阵,根据赋值后的代价矩阵中每行和每列中元素的值判断出上一帧图像中的一个目标对应当前帧图像中的某个目标、是否出现上一帧图像的目标在当前帧图像中目标消失、当前帧图像中是否出现新的目标、是否出现上一帧图像中的多个目标在当前帧图像中融合、是否出现上一帧中的一个目标在当前帧图像中分离,因此,本发明的基于数据关联的视频多目标跟踪方法能够根据实际简单、有效的判断出目标的出现、消失、融合和分离。

本发明所涉及的基于数据关联的视频多目标跟踪系统能够根据实际简单、有效的判断出目标的出现、消失、融合和分离。

附图说明

图1是本发明中基于数据关联的视频多目标跟踪方法的流程图;

图2是本发明中对代价矩阵中的每个元素进行赋值的方法的流程图;

图3是本发明中基于数据关联的视频多目标跟踪系统的结构示意图。

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,以下实施例结合附图对本发明基于数据关联的视频多目标跟踪方法及系统作具体阐述。

如图1所示,基于数据关联的视频多目标跟踪方法包含以下步骤:

步骤s1,将视频采集的图像进行处理得到该帧图像中的所有目标。对视频采集的图像处理的方法为现有技术中的任何方法,在此不做阐述。

步骤s2,计算当前帧图像中的每个目标与上一帧图像中的每个目标之间的相似性。可以采用现有技术中图像相似度计算方法,例如,通过颜色直方图来计算两目标之间的相似性,分别计算两个目标的颜色直方图作为特征,然后计算两个直方图的归一化相关系数(巴氏距离、直方图相交距离)等等,得到两个目标的相似度。本发明计算两个目标之间相似性的方法并不限于上述列举方法,可以采用现有技术中任何方法实现。

在本实施例中,在计算当前帧图像中的每个目标与上一帧图像中的每个目标之间的相似性后,建立相似性矩阵。相似性矩阵的行数和列数是由两帧图像的目标数量决定,一帧图像的目标数量决定行数,另一帧图像的目标数量决定列数,两帧图像每个目标对应一行或一列。相似性矩阵中的每个元素代表该元素所处的行对应的目标和所处的列对应的目标之间的相似性。

例如:上一帧图像中得到目标a、b、c、d四个目标,当前帧图像中得到目标甲、乙、丙三个目标,则建立的相似性矩阵为4×3矩阵或3×4矩阵。以上一帧图像中的目标为列数,当前帧图像的目标为行数,其表格形式如下所示:

建立的4×3相似性矩阵如下所示:

该4×3相似性矩阵中的每个元素代表该元素所处的行对应的目标和所处的列对应的目标之间的相似性。比如:相似性矩阵中第一行第一列的元素0.9代表的是上一帧图像中的a目标与当前帧图像中的甲目标之间的相似性为0.9。

步骤s3,分别以当前帧图像中的每个目标和上一帧图像中的每个目标为行或列建立代价矩阵,代价矩阵中每个元素初始值均设置为0。

例如:上一帧图像中得到目标a、b、c、d四个目标,当前帧图像中得到目标甲、乙、丙三个目标,可以建立4×3代价矩阵或3×4代价矩阵,现以上一帧图像中的目标为列数,每列顺次对应上一帧图像中目标a、b、c、d,当前帧图像的目标为行数,每行顺次对应当前帧图像中目标甲、乙、丙,则建立的4×3代价矩阵如下:

代价矩阵中每个元素分别与当前帧图像中的目标和上一帧图像中的目标两两之间的相似度相对应。即、代价矩阵中各元素对应的相似度为:每个元素所在行对应的目标和所在列对应的目标之间的相似度。例如,该4×3代价矩阵中第一行第一列的元素对应的相似度为:上一帧图像中的目标a和当前帧图像中的目标甲之间的相似度。

代价矩阵与相似性矩阵相对应。即若建立的相似性矩阵是以上一帧图像的目标数量为列数,当前帧图像的目标数量为行数,则建立的代价矩阵也是以上一帧图像的目标数量为列数,当前帧图像的目标数量为行数。且代价矩阵中的元素对应的相似性值即为相似性矩阵中对应的元素的值。

代价矩阵中的每个元素代表:该元素所在行对应的目标和所处在列对应的目标之间的关联性。例如:以上一帧图像中的目标为列数,每列顺次对应上一帧图像中目标a、b、c、d,当前帧图像的目标为行数,每行顺次对应当前帧图像中目标甲、乙、丙,建立的代价矩阵如下:

该4×3代价矩阵中第一行第一列的元素的值表示上一帧图像中的目标a和当前帧图像中的目标甲之间的关系。

代价矩阵中元素有0、1、2三种值,元素的值为0时,说明该元素所处的行对应的目标和所处的列对应的目标不相同,即两帧图像中该两个目标不是同一东西。元素的值为2时,说明该元素所处的行对应的目标和所处的列对应的目标相同,即两帧图像中该两个目标是同一个东西。元素的值为1时,该元素所述的行或者列必定有一个元素值为2,说明该元素在上一帧图像中与同行或者同列的值为2的元素是分离的,而在当前帧图像中被同行或者同列的值为2的元素所遮挡;或者该元素在上一帧图像中被同行或者同列的值为2的元素所遮挡,而在当前帧图像中出现了分离。

步骤s4,设定相似性阈值,根据代价矩阵中每个元素对应的相似性值基于预定规则对代价矩阵中的每个元素进行赋值。相似性的阈值根据实际情况确定。

如图2所示,对代价矩阵中的每个元素进行赋值方法包括以下步骤:

步骤s4-1,提取代价矩阵中每行中各元素对应的相似性值最大的元素。该行中其它元素的值均保持不变。

步骤s4-2,判断步骤s4-1提取的元素对应的相似性值是否大于设定的相似性阈值,若大于,则该元素的值加1,若否,则该元素的值加0。

步骤s4-3,提取代价矩阵中每列中各元素对应的相似性值最大的元素。该列中其它元素的值均保持不变。

步骤s4-4,判断步骤s4-3提取的元素对应的相似性值是否大于设定的相似性阈值,若大于,则该元素的值加1,若否,则该元素的值加0。

步骤s5,根据赋值后的代价矩阵中每行或每列中各元素的值判断两帧图像中各目标的情况。

两帧图像中各目标的情况包括:上一帧图像中的一个目标对应当前帧图像中的某个目标、是否出现上一帧图像的目标在当前帧图像中目标消失、当前帧图像中是否出现新的目标、是否出现上一帧图像中的多个目标在当前帧图像中融合、是否出现上一帧中的一个目标在当前帧图像中分离的情况。

具体判断方法为:

若赋值后的代价矩阵中一行或一列的所有元素均为0,则判断为上一帧图像中该行或列所对应的目标在当前帧图像中目标消失、或该行或列所对应的目标为当前帧图像中出现的新目标。具体分为两种情况:

第一种情况:以上一帧图像的所有目标为列,当前帧图像的所有目标为行,若赋值后的代价矩阵中一行的所有元素均为0,则判断为当前帧图像中该行所对应的目标为当前帧新出现的目标;若赋值后的代价矩阵中一列的所有元素均为0,则判断为上一帧图像中该列所对应的目标在当前帧消失。

第二种情况:以上一帧图像的所有目标为行,当前帧图像的所有目标为列,若赋值后的代价矩阵中一行的所有元素均为0,则判断为上一帧图像中该列所对应的目标在当前帧消失;若赋值后的代价矩阵中一列的所有元素均为0,则判断为当前帧图像中该行所对应的目标为当前帧新出现的目标。

若赋值后的代价矩阵中一列或一行中所有元素中既包含1也包含2,则判断为上一帧图像中1和2分别对应的多个目标在当前帧图像中融合为该行或列对应的目标、或者上一帧图像中的该行或列对应的目标在当前帧图像中分离为1和2分别对应的目标。具体分为两种情况:

第一种情况:以上一帧图像的所有目标为列,当前帧图像的所有目标为行,若赋值后的代价矩阵中一行中所有元素中既包含1也包含2,则判断为上一帧图像中1和2分别所在列对应的多个目标在当前帧图像中融合为该行对应的目标,且该行中值为2的元素所在的列对应的目标挡住了该行中值为1的元素所在的列对应的目标;若赋值后的代价矩阵中一列中所有元素中既包含1也包含2,则判断为上一帧图像中的该列对应的目标在当前帧图像中分离为1和2分别所在行对应的目标。

第二种情况:以上一帧图像的所有目标为行,当前帧图像的所有目标为列,若赋值后的代价矩阵中一行中所有元素中既包含1也包含2,则判断为上一帧图像中的该行对应的目标在当前帧图像中分离为1和2分别所在列对应的目标;若赋值后的代价矩阵中一列中所有元素中既包含1也包含2,则判断为上一帧图像中1和2分别所在行对应的多个目标在当前帧图像中融合为该列对应的目标,且该列中值为2的元素所在的行对应的目标挡住了该列中值为1的元素所在的行对应的目标。

在本实施例中,以任何方法计算的相似性阈值均换算为0-1之间的数值,相似性的阈值设为0.6。以下例子中,均以相似性阈值为0.6,且均以上一帧图像中所有目标为列,当前帧图像中所有目标为行举例。

上一帧图像中目标在当前帧图像中消失和当前帧图像中出现新目标的例子:

相似性表格:

建立的相似性矩阵为:

赋值后的代价矩阵为:

因为第一列相似度最大值为0.5,小于相似度阈值0.6,因此,在以列计算时,代价矩阵中第一列中的元素均为0,而第一列中的元素也都不是所在行最大值,因此,最终代价矩阵中第一列全为0。第三行相似度最大值为0.5,小于相似度阈值0.6,在以行计算时,代价矩阵中第三行中的元素均为0,而第三行中的元素也都不是所在列的最大值,因此,最终代价矩阵中第三行全为0。第一行第四列的元素的值为2,因此,当前帧图像中目标甲与上一帧图像中目标d为同一目标。第二行第二列的元素的值为2,因此,当前帧图像中目标乙与上一帧图像中目标b为同一目标。第四行第三列的元素的值为2,因此,当前帧图像中目标丁与上一帧图像中目标c为同一目标。第一列元素全部为0,表示上一帧图像中目标a与当前帧图像中所有目标均不相似,即上一帧的目标a在当前帧消失。第三行元素全部为0,表示当前帧图像中目标丙与上一帧图像中所有目标均不相似,即当前帧的目标丙在当前帧为新出现的目标。

上一帧图像中的两个目标在当前帧图像中出现融合的情况的例子:

相似性表格:

建立的相似性矩阵为:

赋值后的代价矩阵为:

第一行第一列的元素的值为2,因此,当前帧图像中目标甲与上一帧图像中目标a为同一目标。第二行第二列的元素的值为2,因此,当前帧图像中目标乙与上一帧图像中目标b为同一目标。第三行既有1也有2,因此,1和2分别所在列对应的两个目标个目标,即上一帧图像中的目标c和d,在当前帧图像中融合为目标丙,且为上一帧的目标c挡住了目标d。

上一帧的图像中目标在当前帧的图像中出现目标分离的情况的例子:

相似性表格:

建立的相似性矩阵为:

赋值后的代价矩阵为:

第一行第一列的元素的值为2,因此,当前帧图像中目标甲与上一帧图像中目标a为同一目标。第二行第二列的元素的值为2,因此,当前帧图像中目标乙与上一帧图像中目标b为同一目标。第三列既有1也有2,因此,上一帧图像中目标c在当前帧图像中出现分离,在当前帧图像中分离成目标丙和目标丁。

如图3所示,一种基于数据关联的视频多目标跟踪系统200包括:目标获取模块210、相似性计算模块220、代价矩阵生成模块230、设定模块240、赋值模块250、判断模块260。

目标获取模块210用于将视频采集的图像300进行处理得到该帧图像中的所有目标。

相似性计算模块220用于计算当前帧图像中的每个目标与上一帧图像中的每个目标的相似性。

代价矩阵生成模块230用于根据当前帧图像中的每个目标和上一帧图像中的每个目标生成一个元素初始值均为0的代价矩阵。

设定模块240用于设定两两目标之间相似性的阈值。

赋值模块250用于根据所述相似性计算模块计算的两帧图像中两两目标之间的相似性和所述设定模块设定的相似性的阈值基于预定规则得到代价矩阵中每个元素的值并赋值给所述代价矩阵。

判断模块260根据赋值后的所述代价矩阵中每行和每列中元素的值对两帧图像中的目标进行判断。

基于数据关联的视频多目标跟踪系统200还包括相似性矩阵生成模块270,相似性矩阵生成模块270用于根据当前帧图像中的每个目标、上一帧图像中的每个目标和相似性计算模块计算得到的两帧图像中两两目标之间的相似性生成一个相似性矩阵。相似性矩阵与代价矩阵相对应。

上述实施方式为本发明的优选案例,并不用来限制本发明的保护范围。

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