图像跟踪方法和装置、电子设备、存储介质、程序与流程

文档序号:15494100发布日期:2018-09-21 21:17阅读:157来源:国知局

本发明涉及目标跟踪技术,尤其是一种基于图像跟踪方法和装置、电子设备、存储介质、程序。



背景技术:

视频目标跟踪在智能视频监控中是十分有意义的一项任务,视频目标跟踪的主要目的是对多个视频中出现的多个目标进行跟踪,并获得各个目标的行为轨迹;在目标跟踪技术中,通过视频目标跟踪可以获取更多关于目标的动态信息,能够更好地预测目标的行为,其应用十分广泛;例如:通过视频目标跟踪为嫌疑人、嫌疑车辆的追踪提供跟踪轨迹;或者通过视频目标跟踪对某一街区进行人流量统计等。



技术实现要素:

本发明实施例提供一种图像跟踪技术。

根据本发明实施例的一个方面,提供的一种图像跟踪方法,包括:

获取k帧视频图像中的目标图像;每帧所述视频图像中包括至少一个目标图像,所述k为大于或等于1的正整数;

基于所述目标图像建立具有至少一个路径的有向无环图;每个所述目标图像在所述有向无环图中对应至少一个路径;

计算所述有向无环图中对应所述目标图像的路径的最小费用最大流,得到对应所述目标图像的目标路径。

在基于本发明上述方法的另一个实施例中,获取k帧视频图像中的目标图像,包括:

利用神经网络分别对k帧视频图像进行目标检测,获取对应每帧所述视频图像的至少一个目标图像。

在基于本发明上述方法的另一个实施例中,基于所述目标图像具有至少一个路径的建立有向无环图,包括:

将所述k帧视频图像中的所有目标图像作为有向无环图中的点;

将在所述k帧视频图像中所有目标图像首次出现时对应的点作为输入点,将在所述k帧视频图像中所有目标图像最后出现时对应的点作为输出点;每个所述目标图像对应至少一个点;

基于所有目标图像对应的点设置源点和汇点,所述源点与所有输入点相连接,所述汇点与所有输出点相连接;

基于所有对应目标图像的点、源点和汇点及其连接关系建立有向无环图。

在基于本发明上述方法的另一个实施例中,所述基于所有对应目标图像的点、源点和汇点及其连接关系建立有向无环图,包括:

将所述k帧视频图像按采集时间顺序排列,将所有对应目标图像的点按照所述视频图像的顺序建立有向的连接关系;

响应于源点与点、点与点和点与汇点之间的连接关系,分别通过建边函数在源点与点、点与点和点与汇点之间分别建立有向边;

基于点、源点、汇点和边建立有向无环图。

在基于本发明上述方法的另一个实施例中,每个所述目标图像在一帧视频图像中对应一个入点和一个出点;

所述响应于源点与点、点与点和点与汇点之间的连接关系,分别通过建边函数在源点与点、点与点和点与汇点之间分别建立有向边,包括:

响应于源点与输入点之间的连接关系,建立源点与输入点的有向边;

响应于视频图像中目标图像的出点与入点之间的连接关系,建立各所述目标图像在上一帧视频图像的出点分别与下一帧视频图像的各所述目标的入点有向边;

响应于输出点与汇点之间的连接关系,建立输出点到汇点的有向边。

在基于本发明上述方法的另一个实施例中,计算所述有向无环图中对应所述目标图像的路径的最小费用最大流之前,还包括:

基于源点与点、点与点和点与汇点之间的有向边计算边权,通过边权获得所述边连接的两个点之间的费用;所述边权用于表示所述边连接的两个点之间的费用。

在基于本发明上述方法的另一个实施例中,所述同一目标图像在同一帧视频图像中的入点和出点之间具有图内有向边,所述图内有向边的边权为0;

所述基于源点与点、点与点和点与汇点之间的有向边计算边权,包括:

利用第一建边函数计算所述源点与输入点的有向边的边权;

利用第二建边函数计算各所述目标图像的出点到各所述目标图像的入点的有向边的边权;

利用第三建边函数计算所述输出点到汇点的有向边的边权。

在基于本发明上述方法的另一个实施例中,计算所述有向无环图中对应所述目标图像的路径的最小费用最大流,包括:

通过对所述有向无环图采用增广路叠加spfa队列优化算法计算对应所述目标图像的路径的最小费用最大流。

在基于本发明上述方法的另一个实施例中,通过对所述有向无环图采用增广路叠加spfa队列优化算法计算最小费用最大流,包括:

将每条边对应的流量都设置为单位流量,通过计算所述边的边权确定所述边对应的费用;

基于每条所述边对应的流量通过增广路计算所述有向无环图的最大流,得到至少一条增广路构成的新的有向无环图;

基于每条所述边对应的费用通过spfa队列优化算法计算所述新的有向无环图的最小费用最大流。

在基于本发明上述方法的另一个实施例中,所述获取k帧视频图像中的目标图像之前,还包括:

对采集的视频流分解得到至少一帧视频图像;

判断所得视频图像的数量是否大于或等于k帧,响应于所述分解获得的视频图像的数量大于或等于k帧,获取k帧视频图像;

响应于所述分解获得的视频图像的数量小于k帧,并且还存在未分解的视频流;迭代执行对采集的视频流分解得到至少一帧视频图像,判断所得视频图像的数量是否大于或等于k帧,根据判断结果选取k帧视频图像或继续分解的过程;直至不存在未分解的视频流。

在基于本发明上述方法的另一个实施例中,还包括:

将所述对应一个目标图像的目标路径作为一个目标图像,基于k帧视频图像获得的所有目标图像的目标路径构成一个新的视频图像;所述新的视频图像对应的采集时间为所对应的最后一个目标图像的采集时间。

在基于本发明上述方法的另一个实施例中,还包括:

基于所述新的视频图像与其他未处理的k-1帧视频图像建立有向无环图;所述其他未处理的视频图像包括从采集的视频流分解得到的视频图像和基于k帧视频图像获得的所有目标路径构成的视频图像。

根据本发明实施例的另一个方面,提供的一种图像跟踪装置,其特征在于,包括:

图像获取单元,用于获取k帧视频图像中的目标图像;每帧所述视频图像中包括至少一个目标图像,所述k为大于或等于1的正整数;

构图单元,用于基于所述目标图像建立具有至少一个路径的有向无环图;每个所述目标图像在所述有向无环图中对应至少一个路径;

路径计算单元,用于计算所述有向无环图中对应所述目标图像的路径的最小费用最大流,得到对应所述目标图像的目标路径。

在基于本发明上述装置的另一个实施例中,所述图像获取单元,具体用于利用神经网络分别对k帧视频图像进行目标检测,获取对应每帧所述视频图像的至少一个目标图像。

在基于本发明上述装置的另一个实施例中,所述构图单元,包括:

点确定模块,用于将所述k帧视频图像中的所有目标图像作为有向无环图中的点;将在所述k帧视频图像中所有目标图像首次出现时对应的点作为输入点,将在所述k帧视频图像中所有目标图像最后出现时对应的点作为输出点;每个所述目标图像对应至少一个点;

连接模块,用于基于所有目标图像对应的点设置源点和汇点,所述源点与所有输入点相连接,所述汇点与所有输出点相连接;

无环图建立模块,用于基于所有对应目标图像的点、源点和汇点及其连接关系建立有向无环图。

在基于本发明上述装置的另一个实施例中,所述无环图建立模块,包括:

排序模块,用于将所述k帧视频图像按采集时间顺序排列,将所有对应目标图像的点按照所述视频图像的顺序建立有向的连接关系;

建边模块,用于响应于源点与点、点与点和点与汇点之间的连接关系,分别通过建边函数在源点与点、点与点和点与汇点之间分别建立有向边;基于点、源点、汇点和边建立有向无环图。

在基于本发明上述装置的另一个实施例中,每个所述目标图像在一帧视频图像中对应一个入点和一个出点;

所述建边模块,具体用于响应于源点与输入点之间的连接关系,建立源点与输入点的有向边;响应于视频图像中目标图像的出点与入点之间的连接关系,建立各所述目标图像在上一帧视频图像的出点分别与下一帧视频图像的各所述目标的入点有向边;响应于输出点与汇点之间的连接关系,建立输出点到汇点的有向边。

在基于本发明上述装置的另一个实施例中,还包括:

费用计算单元,用于基于源点与点、点与点和点与汇点之间的有向边计算边权,通过边权获得所述边连接的两个点之间的费用;所述边权用于表示所述边连接的两个点之间的费用。

在基于本发明上述装置的另一个实施例中,所述同一目标图像在同一帧视频图像中的入点和出点之间具有图内有向边,所述图内有向边的边权为0;

所述费用计算单元,包括:

第一计算模块,用于利用第一建边函数计算所述源点与输入点的有向边的边权;

第二计算模块,用于利用第二建边函数计算各所述目标图像的出点到各所述目标图像的入点的有向边的边权;

第三计算模块,用于利用第三建边函数计算所述输出点到汇点的有向边的边权。

在基于本发明上述装置的另一个实施例中,所述路径计算单元,具体用于通过对所述有向无环图采用增广路叠加spfa队列优化算法计算对应所述目标图像的路径的最小费用最大流。

在基于本发明上述装置的另一个实施例中,所述路径计算单元,包括:

边费用模块,用于将每条边对应的流量都设置为单位流量,通过计算所述边的边权确定所述边对应的费用;

新图构建模块,用于基于每条所述边对应的流量通过增广路计算所述有向无环图的最大流,得到至少一条增广路构成的新的有向无环图;

流量计算模块,用于基于每条所述边对应的费用通过spfa队列优化算法计算所述新的有向无环图的最小费用最大流。

在基于本发明上述装置的另一个实施例中,还包括:

视频分解单元,用于对采集的视频流分解得到至少一帧视频图像;

视频图像单元,用于判断所得视频图像的数量是否大于或等于k帧,响应于所述分解获得的视频图像的数量大于或等于k帧,获取k帧视频图像;

响应于所述分解获得的视频图像的数量小于k帧,并且还存在未分解的视频流;迭代执行对采集的视频流分解得到至少一帧视频图像,判断所得视频图像的数量是否大于或等于k帧,根据判断结果选取k帧视频图像或继续分解的过程;直至不存在未分解的视频流。

在基于本发明上述装置的另一个实施例中,还包括:

图像重构单元,用于将所述对应一个目标图像的目标路径作为一个目标图像,基于k帧视频图像获得的所有目标图像的目标路径构成一个新的视频图像;所述新的视频图像对应的采集时间为所对应的最后一个目标图像的采集时间。

在基于本发明上述装置的另一个实施例中,还包括:

无环图重构单元,用于基于所述新的视频图像与其他未处理的k-1帧视频图像建立有向无环图;所述其他未处理的视频图像包括从采集的视频流分解得到的视频图像和基于k帧视频图像获得的所有目标路径构成的视频图像。

根据本发明实施例的又一个方面,提供的电子设备,包括处理器,所述处理器包括如上所述的图像跟踪装置。

根据本发明实施例的还一个方面,提供的电子设备,包括:存储器,用于存储可执行指令;

以及处理器,用于与所述存储器通信以执行所述可执行指令从而完成如上所述图像跟踪方法的操作。

根据本发明实施例的再一个方面,提供的计算机存储介质,用于存储计算机可读取的指令,其特征在于,所述指令被执行时执行如上所述的图像跟踪方法的操作。

根据本发明实施例的一个方面,提供的一种计算机程序,包括计算机可读代码,其特征在于,当所述计算机可读代码在设备上运行时,所述设备中的处理器执行用于实现如上所述图像跟踪方法中各步骤的指令。

基于本发明上述实施例提供的一种图像跟踪方法和装置、电子设备、存储介质、程序,获取k帧视频图像中的目标图像;基于目标图像建立具有至少一个路径的有向无环图;通过建立有向无环图将所有可能存在连接的目标图像建立连接,将k帧视频图像中不同帧的目标图像之间连接起来,为后续获得目标图像的目标路径提供基础;计算有向无环图中对应目标图像的路径的最小费用最大流,得到对应目标图像的目标路径;由于计算的是最小费用最大流,因此,对应最小费用最大流的目标路径是有向无环图中的最优路径,最优路径在具有最大的流量的同时消耗最小的费用,该目标路径中的各目标图像最有可能属于同一目标,即可确定同一个目标的运动轨迹;实现了实时的目标跟踪,提高了目标跟踪的准确性和稳定性。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:

图1为本发明图像跟踪方法一个实施例的流程图。

图2为本发明图像跟踪方法另一个实施例的流程图。

图3为本发明图像跟踪方法的一个具体示例中有向无环图的结构示意图。

图4为本发明图像跟踪装置一个实施例的结构示意图。

图5为用来实现本申请实施例的终端设备或服务器的电子设备的结构示意图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本发明实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

在实现本发明的过程中,发明人发现,视频目标跟踪技术至少存在以下问题:视频监控中背景场景多样、拍摄角度各异、画质相对较低;需追踪的目标可能经常受到遮挡,或者在某些场合目标的运动规律发生突变,这些情况使多目标跟踪变得十分困难;在跟踪过程中,很容易出现目标丢失、目标交换或更改等问题。现有技术中的视频目标跟踪方法对视频信息的利用不够全面,容易出现上述问题,而使目标跟踪陷入局部困境、或是轨迹生成速度较慢,达不到实时跟踪目标的要求,有些甚至只能离线完成目标的跟踪。

现有技术中提出的完全在线的实时跟踪算法对目标信息利用率较低,仅对相邻帧进行匹配,忽略了一些长期性的信息特征,容易出现目标丢失、轨迹闪烁等问题;离线的跟踪算法虽然考虑比较全面,但是无法应用进行实时的轨迹跟踪,实用性较低。

因此发明人提出采用一种基于网络流的轨迹跟踪方法能够较大程度地利用目标信息,提高跟踪准确性和稳定性,并且由于其时间复杂度的特性,使轨迹跟踪基本达到实时跟踪的要求,而且延迟足够短,使用者不易察觉。

图1为本发明图像跟踪方法一个实施例的流程图。如图1所示,该实施例方法包括:

步骤101,获取k帧视频图像中的目标图像。

其中,每帧视频图像中包括至少一个目标图像,k为大于或等于1的正整数;具体地,视频图像可以从通过网络或用户上传获得的视频流分解获得,或从其他连续帧的图像获得;在本发明中认为可以通过现有技术中的任意一种或多种方法获得视频图像中的目标图像,本发明不做限制,只利用识别出的目标图像的结果。

步骤102,基于目标图像建立具有至少一个路径的有向无环图。

其中,每个目标图像在有向无环图中对应至少一个路径;路径基于k帧视频图像中的各目标图像有向连接获得;有向无环图:在图论中,如果一个有向图无法从某个顶点出发经过若干条边回到该点,则这个图是一个有向无环图;本实施例中所指路径是指一个目标图像与所有k帧视频图像中的各目标图像建立连接,得到的目标图像链;在一个路径中包括的多个目标图像可能是对应同一个目标的,也可能是对应不同目标的,本实施例的目的即通过计算有向无环图的费用和流量将相同目标的路径识别出来,本实施例中的费用通过计算边权获得,不同目标出点到入点的边权代表着这两个目标的匹配相似度(匹配相似度越高,边权越小,费用越小),源点到入点的费用表示一个目标是当前帧范围内第一次出现的目标的置信度(置信度越高,费用越小),出点到汇点的费用表示一个目标是当前帧范围内最后一次出现的置信度,所有置信度越高费用越小。

步骤105,计算有向无环图中对应目标图像的路径的最小费用最大流,得到对应目标图像的目标路径。

最小费用最大流问题是经济学和管理学中的一类典型问题。在一个网络(本实施例中有向无环图)中每段路径(有向无环图的边)都有“容量”和“费用”两个限制的条件下,此类问题的研究试图寻找出:流量从a到b,如何选择路径、分配经过路径的流量,可以在流量最大的前提下,达到所用的费用最小的要求。最小费用最大流对应的目标路径中的目标图像之间的费用最低,说明在两帧图像中目标路径中的两个目标图像之间的相似度最高,最可能对应同一目标,流量最大说明在一个目标路径中的两个目标图像之间具有最大的流通能力,即这个目标路径中的上一个目标图像最有可能流向该目标路径的下一个目标图像;因此,通过目标路径可以确定目标的运动轨迹。

在本发明中最小费用最大流解决的问题是:对于给定的一个有向无环图,及该有向无环图每条边的流量上限和使用这条边的单位流量费用,寻找一个路径,在满足最大流量的前提下使得总费用(可以通过边权计算获得费用)最小。

基于本发明上述实施例提供的一种图像跟踪方法,获取k帧视频图像中的目标图像;基于目标图像建立具有至少一个路径的有向无环图;通过建立有向无环图将所有可能存在连接的目标图像建立连接,将k帧视频图像中不同帧的目标图像之间连接起来,为后续获得目标图像的目标路径提供基础;计算有向无环图中对应目标图像的路径的最小费用最大流,得到对应目标图像的目标路径;通由于计算的是最小费用最大流,因此,对应最小费用最大流的目标路径是有向无环图中的最优路径,最优路径在具有最大的流量的同时消耗最小的费用,该目标路径中的各目标图像最有可能属于同一目标,即可确定同一个目标的运动轨迹;实现了实时的目标跟踪,提高了目标跟踪的准确性和稳定性。

在本发明图像跟踪方法上述实施例的一个具体示例中,操作101可以包括:

利用神经网络分别对k帧视频图像进行目标检测,获取对应每帧视频图像的至少一个目标图像。

具体地,本实施例的跟踪方法假设已有较为可靠的检测结果(目标图像),目前现有技术中对于目标图像的识别已有较为准确的识别方法,可以使用任意检测器,如:目前流行的fast-rcnn目标检测网络等,或其他专为设定目标训练的神经网络,本申请对此不作限制。

图2为本发明图像跟踪方法另一个实施例的流程图。如图2所示,该实施例方法包括:

步骤101,获取k帧视频图像中的目标图像。

其中,每帧视频图像中包括至少一个目标图像,k为大于或等于1的正整数;具体地,视频图像可以从通过网络或用户上传获得的视频流分解获得,或从其他连续帧的图像获得;在本发明中认为可以通过现有技术中的任意一种或多种方法获得视频图像中的目标图像,本发明不做限制,只利用识别出的目标图像的结果。

步骤202,将k帧视频图像中的所有目标图像作为有向无环图中的点,将在k帧视频图像中所有目标图像首次出现时对应的点作为输入点,将在k帧视频图像中所有目标图像最后出现时对应的点作为输出点。

其中,每个目标图像对应至少一个点,此时就将目标图像的轨迹问题转换为点的活动轨迹的问题,将在视频图像中所有目标图像首次出现的点作为输入点,将在视频图像中所有目标图像最后出现的点作为输出点,是为了便于设定源点和汇点。

步骤203,基于所有目标图像对应的点设置源点和汇点,源点与所有输入点相连接,汇点与所有输出点相连接。

当设置了源点和汇点之后,就完成了有向无环图的所有点的设置,基于点和点与点之间的边就可以实现有向无环图的建立。

步骤204,基于所有对应目标图像的点、源点和汇点及其连接关系建立有向无环图。

两个点之间具有连接关系,就对两个点之间建立一条边,通过边传递流量和费用,实现最小费用最大流的查找。

步骤105,计算有向无环图中对应目标图像的路径的最小费用最大流,得到对应目标图像的目标路径。

本实施例中通过将目标图像转化为点,再对点之间建立连接的方式实现了有向无环图的建立,相当于将目标跟踪的问题转换为了网络流中的费用和容量的问题,当通过图计算得到最小费用最大流说明此时由点和边构成的路径在满足流量最大的前提下,消耗的费用最少,此时可以认为该路径中所有的点是同一个目标图像,因此,获得的路径就是对应该目标图像的目标路径。

在本发明图像跟踪方法上述各实施例的一个具体示例中,操作204具体可以包括:

将k帧视频图像按采集时间顺序排列,将所有对应目标图像的点按照视频图像的顺序建立有向的连接关系;

响应于源点与点、点与点和点与汇点之间的连接关系,分别通过建边函数在源点与点、点与点和点与汇点之间分别建立有向边;

基于点、源点、汇点和边建立有向无环图。

本实施例中,将采集的视频图像按时间顺序排列之后,只需将视频图像中的目标图像顺序连接即可建立有向边;通过将有向边依次连接,即可建立有向无环图。

在本发明图像跟踪方法上述各实施例的一个具体示例中,每个目标图像在一帧视频图像中对应一个入点和一个出点;

响应于源点与点、点与点和点与汇点之间的连接关系,分别通过建边函数在源点与点、点与点和点与汇点之间分别建立有向边,包括:

响应于源点与输入点之间的连接关系,建立源点与输入点的有向边;

响应于视频图像中目标图像的出点与入点之间的连接关系,建立各目标图像在上一帧视频图像的出点分别与下一帧视频图像的各目标的入点有向边;

响应于输出点与汇点之间的连接关系,建立输出点到汇点的有向边。

在本实施例中,有向无环图每一个点表示一个检测到的目标图像,另外加入辅助的源点和汇点;边分为四类,源点到目标的边、目标出点到目标入点的边、目标到汇点的边以及目标入点到出点的边。每条边流量为单位流量,出点到入点的费用根据cost函数决定,入点到出点的边费用为零,仅同一个目标图像存在这样的边;源点到入点的费用和出点到汇点的费用由cost函数决定。不同目标出点到入点的边权代表着这两个目标的匹配相似度,源点到入点的费用表示一个目标是当前帧范围内第一次出现的目标的置信度,出点到汇点的费用表示一个目标是当前帧范围内最后一次出现的置信度,所有费用越小置信度越高。

在本发明图像跟踪方法上述各实施例的一个具体示例中,操作105之前,还包括:

基于源点与点、点与点和点与汇点之间的有向边计算边权,通过边权获得边连接的两个点之间的费用;边权用于表示边连接的两个点之间的费用。

本实施例中,边权:离散数学或数据结构中,图的每条边上带的一个数值,他代表的含义可以是长度等等,这个值就是边权;本实施例中的边权由建边函数确定(例如若只使用目标重心信息,可以是重心坐标的欧氏距离平方乘以常系数),当建边函数对两个节点计算得到的边权(费用)为无穷大时,这两个节点之间没有边;具体地,边权的计算公式(建边函数)是可替换的,应该根据应用场景调整,没有绝对的正确的函数。

在本发明图像跟踪方法上述各实施例的一个具体示例中,同一目标图像在同一帧视频图像中的入点和出点之间具有图内有向边,图内有向边的边权为0;

基于源点与点、点与点和点与汇点之间的有向边计算边权,包括:

利用第一建边函数计算源点与输入点的有向边的边权;

利用第二建边函数计算各目标图像的出点到各目标图像的入点的有向边的边权;

利用第三建边函数计算输出点到汇点的有向边的边权。

在本实施例中,计算源点与输入点的有向边的边权,计算各目标图像的出点到各目标图像的入点的有向边的边权,和计算输出点到汇点的有向边的边权,可以分别采用不同的建边函数;采用不同建边函数的原因在于源点和汇点是假想点,因此需要不同的建边函数;所有这些建边函数均是无正确标准的,需要根据实际场景决定。

具体地,其中两个目标之间的边权(费用)为目标位置、形状、图像信息三个要素的函数。

例如:a和b两个目标,ax,ay为a的位置,bx和by为b的位置,aw和ah描述a的矩形,bw和bh描述b的矩形,fa表示a的二维像素阵列,fb表示b的像素阵列,那么建边函数g(a,b)可以如公式(1)所示:

g(a,b)=c1*|ax-bx|/(aw+bw)+c2*|ay-by|/(ah+bh)+c3*h(fa,fb)公式(1)

其中,c1,c2,c3为一些手动调整的常数;h为图像相似度函数,有很多其他文献讨论这个问题,因此不在本申请的限定内容。

也可以是一个简单的神经网络模型:

比如一个(264→128→2)的两层全连接网络,输入的264维是由a和b两个目标的描述向量连接起来。描述向量各132维长度,128维像素阵列一维表示加上4维坐标,每一维都是字长大小的浮点数。

本发明图像跟踪方法的又一个实施例,在上述各实施例的基础上,操作105包括:

通过对有向无环图采用增广路叠加spfa队列优化算法计算对应目标图像的路径的最小费用最大流。

增广路,若p是图g中一条连通两个未匹配顶点的路径,并且属于m的边和不属于m的边(即已匹配和待匹配的边)在p上交替出现,则称p为相对于m的一条增广路径(举例来说,有a、b集合,增广路由a中一个点通向b中一个点,再由b中这个点通向a中一个点……交替进行)。spfa(shortestpathfasteralgorithm)(队列优化)算法是求单源最短路径的一种算法,它还有一个重要的功能是判负环(在差分约束系统中会得以体现),在bellman-ford算法的基础上加上一个队列优化,减少了冗余的松弛操作,是一种高效的最短路算法。计算基于费用流中的增广路,流量的方向即是目标运动的方向。

在本发明图像跟踪方法上述各实施例的一个具体示例中,通过对有向无环图采用增广路叠加spfa队列优化算法计算最小费用最大流,包括:

将每条边对应的流量都设置为单位流量,通过计算边的边权确定边对应的费用;

基于每条边对应的流量通过增广路计算有向无环图的最大流,得到至少一条增广路构成的新的有向无环图;

基于每条边对应的费用通过spfa队列优化算法计算新的有向无环图的最小费用最大流。

在本实施例中,将最小费用流模型中的路径方案分离出来,以此建立多目标跟踪的匹配算法,从而达到近实时的高效多目标跟踪。其中更换图中的建边函数可以使算法适应不同场景、不同运动规律的跟踪,该建边函数可以是任何能很好地描述两个目标的关系的函数,甚至可以是一个小型神经网络。

本发明图像跟踪方法的还一个实施例,在上述各实施例的基础上,获取k帧视频图像中的目标图像之前,还包括:

对采集的视频流分解得到至少一帧视频图像,判断所得视频图像的数量是否大于或等于k帧,当分解获得的视频图像的数量大于或等于k帧时,获取k帧视频图像;

为了实现实时跟踪,在视频流分解的过程中需要不断的对视频图像的数量进行判断,响应于视频图像的数量满足k帧视频图像,可直接通过上述任一实施例的图像跟踪方法实现对目标图像的跟踪。

响应于分解获得的视频图像的数量小于k帧,并且还存在未分解的视频流,迭代执行对采集的视频流分解得到至少一帧视频图像,判断所得视频图像的数量是否大于或等于k帧,根据判断结果选取k帧视频图像或继续分解的过程;直至不存在未分解的视频流。

具体地,当分解得到的视频图像的数量不足以执行上述图像跟踪方法时,继续对视频流进行分解,将新分解的视频图像与之前的视频图像一起再进行判断视频图像的数量是否满足跟踪方法所需的数量,通过不断分解视频流获取视频图像,将视频流分解出的视频图像实时处理,本实施例时间复杂度能基本达到实时跟踪的要求,延迟足够短,使用者甚至不会发现。

本发明图像跟踪方法的再一个实施例,在上述各实施例的基础上,还包括:

将对应一个目标图像的目标路径作为一个目标图像,基于k帧视频图像获得的所有目标图像的目标路径构成一个新的视频图像;新的视频图像对应的采集时间为所对应的最后一个目标图像的采集时间。

在本实施例中,将基于k帧视频图像获得的所有目标路径作为一个新的视频图像,即基于k帧视频图像可获得目标图像的一个短的跟踪路径,为了获得更长的跟踪路径,需要通过本发明图像跟踪方法多次进行跟踪,获得目标路径后,通过本实施例进行合并,即可实现对目标图像更长路径的跟踪。

在本发明图像跟踪方法上述各实施例的一个具体示例中,还包括:

基于新的视频图像与其他未处理的k-1帧视频图像建立有向无环图;其他未处理的视频图像包括从采集的视频流分解得到的视频图像和基于k帧视频图像获得的所有目标路径构成的视频图像。

具体地,新的视频图像可以和其他分解视频流获得的视频图像共同处理,也可以与其他基于目标路径获得的新视频图像共同处理,具体处理过程可以通过上述任一实施例的图像跟踪方法实现。

本发明图像跟踪方法的一个具体示例中,完整的基于费用流的多目标跟踪算法流程如下:

1.设已处理的目标集合为空,使用者设定参数k,k表示一次处理的帧数;

2.若仍有未处理的图片,取接下来未处理的k帧图片,使用任意检测器检测出每帧图片中的目标位置;若没有,算法停止;

3.根据这些目标位置、形状以及图片局部像素等信息,在k帧中每两帧(不必连续的)的目标使用建边函数建立有向边,形成形如图3所示的有向无环图,边的方向由帧时间序号号数小的指向帧号数大的节点;有向无环图表示一个跟踪问题的近似转化问题,可以用费用流求解;图3为本发明图像跟踪方法的一个具体示例中有向无环图的结构示意图。图3中相同框标记的节点表示同一个目标在不同帧中的位置(同一个目标入点到出点的边省略),实线为建立的有向无环图的有向带权边,流量为单位流量,费用由建边函数确定(例如若只使用目标重心信息,可以是重心坐标的欧氏距离平方乘以常系数),当建边函数对两个节点计算得到的边权(费用)为无穷大时,这两个节点之间没有边,黑色实线为最大流量下最小费用的匹配结果。

4.对该有向无环图进行费用流求解最小费用,并记录该最小费用下的匹配方案,即不同目标之间的关联关系,一条路径上的目标认为是同一个目标(如上图中黑色实线),该方案的计算基于费用流中的增广路,流量的方向即是目标运动的方向;

5.已处理目标集合中加入这些最新匹配的目标,同一条路径上的目标认为是同一个目标,将这k帧所有新的目标加入已处理集合,同时标记处理时间;

6.如果已处理集合中目标处理时间多于k个,则将这k个处理时间当成k帧图片,执行步骤3,得到新的匹配目标,更新处理时间,循环执行步骤6;若不多于k个,回到步骤2。

本发明的具体实用时,如某商业步行街开发商希望统计某一段时间内的客流情况、顾客动态信息。假设商业街的各处摄像头均使用了该跟踪算法系统,可以较准确地得出客流量、顾客行动偏好等详细信息。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

图4为本发明图像跟踪装置一个实施例的结构示意图。该实施例的装置可用于实现本发明上述各方法实施例。如图4所示,该实施例的装置包括:

图像获取单元41,用于获取k帧视频图像中的目标图像。

其中,每帧视频图像中包括至少一个目标图像,k为大于或等于1的正整数。

构图单元42,用于基于目标图像建立具有至少一个路径的有向无环图。

其中,每个目标图像在有向无环图中对应至少一个路径,路径基于k帧视频图像中的各目标图像有向连接获得。

路径计算单元43,用于计算有向无环图中对应目标图像的路径的最小费用最大流,得到对应目标图像的目标路径。

基于本发明上述实施例提供的一种图像跟踪装置,获取k帧视频图像中的目标图像;基于目标图像建立具有至少一个路径的有向无环图;通过建立有向无环图将所有可能存在连接的目标图像建立连接,将k帧视频图像中不同帧的目标图像之间连接起来,为后续获得目标图像的目标路径提供基础;计算有向无环图中对应目标图像的路径的最小费用最大流,得到对应目标图像的目标路径;由于计算的是最小费用最大流,因此,对应最小费用最大流的目标路径是有向无环图中的最优路径,最优路径在具有最大的流量的同时消耗最小的费用,该目标路径中的各目标图像最有可能属于同一目标,即可确定同一个目标的运动轨迹;实现了实时的目标跟踪,提高了目标跟踪的准确性和稳定性。

在本发明图像跟踪装置上述实施例的一个具体示例中,图像获取单元41,具体用于利用神经网络分别对k帧视频图像进行目标检测,获取对应每帧视频图像的至少一个目标图像。

本发明图像跟踪装置的另一个实施例,在上述各实施例的基础上,构图单元42,包括:

点确定模块,用于将k帧视频图像中的所有目标图像作为有向无环图中的点;将在k帧视频图像中所有目标图像首次出现时对应的点作为输入点,将在k帧视频图像中所有目标图像最后出现时对应的点作为输出点;每个目标图像对应至少一个点;

连接模块,用于基于所有目标图像对应的点设置源点和汇点,源点与所有输入点相连接,汇点与所有输出点相连接;

无环图建立模块,用于基于所有对应目标图像的点、源点和汇点及其连接关系建立有向无环图。

本实施例中通过将目标图像转化为点,再对点之间建立连接的方式实现了有向无环图的建立,相当于将目标跟踪的问题转换为了网络流中的费用和容量的问题,当通过图计算得到最小费用最大流说明此时由点和边构成的路径在满足流量最大的前提下,消耗的费用最少,此时可以认为该路径中所有的点是同一个目标图像,因此,获得的路径就是对应该目标图像的目标路径。

在本发明图像跟踪装置上述实施例的一个具体示例中,无环图建立模块,包括:

排序模块,用于将k帧视频图像按采集时间顺序排列,将所有对应目标图像的点按照视频图像的顺序建立有向的连接关系;

建边模块,用于响应于源点与点、点与点和点与汇点之间的连接关系,分别通过建边函数在源点与点、点与点和点与汇点之间分别建立有向边;基于点、源点、汇点和边建立有向无环图。

在本发明图像跟踪装置上述实施例的一个具体示例中,每个目标图像在一帧视频图像中对应一个入点和一个出点;

建边模块,具体用于响应于源点与输入点之间的连接关系,建立源点与输入点的有向边;响应于视频图像中目标图像的出点与入点之间的连接关系,建立各目标图像在上一帧视频图像的出点分别与下一帧视频图像的各目标的入点有向边;响应于输出点与汇点之间的连接关系,建立输出点到汇点的有向边。

在本发明图像跟踪装置上述实施例的一个具体示例中,还包括:

费用计算单元,用于基于源点与点、点与点和点与汇点之间的有向边计算边权,通过边权获得所述边连接的两个点之间的费用;边权用于表示边连接的两个点之间的费用。

在本发明图像跟踪装置上述实施例的一个具体示例中,同一目标图像在同一帧视频图像中的入点和出点之间具有图内有向边,图内有向边的边权为0;

费用计算单元,包括:

第一计算模块,用于利用第一建边函数计算所述源点与输入点的有向边的边权;

第二计算模块,用于利用第二建边函数计算各所述目标图像的出点到各所述目标图像的入点的有向边的边权;

第三计算模块,用于利用第三建边函数计算所述输出点到汇点的有向边的边权。

本发明图像跟踪装置的又一个实施例,在上述各实施例的基础上,路径计算单元43,具体用于通过对有向无环图采用增广路叠加spfa队列优化算法计算对应目标图像的路径的最小费用最大流。

增广路,若p是图g中一条连通两个未匹配顶点的路径,并且属于m的边和不属于m的边(即已匹配和待匹配的边)在p上交替出现,则称p为相对于m的一条增广路径(举例来说,有a、b集合,增广路由a中一个点通向b中一个点,再由b中这个点通向a中一个点……交替进行)。spfa(shortestpathfasteralgorithm)(队列优化)算法是求单源最短路径的一种算法,它还有一个重要的功能是判负环(在差分约束系统中会得以体现),在bellman-ford算法的基础上加上一个队列优化,减少了冗余的松弛操作,是一种高效的最短路算法。计算基于费用流中的增广路,流量的方向即是目标运动的方向。

在本发明图像跟踪装置上述实施例的一个具体示例中,路径计算单元,包括:

边费用模块,用于将每条边对应的流量都设置为单位流量,通过计算边的边权确定边对应的费用;

新图构建模块,用于基于每条边对应的流量通过增广路计算有向无环图的最大流,得到至少一条增广路构成的新的有向无环图;

流量计算模块,用于基于每条边对应的费用通过spfa队列优化算法计算新的有向无环图的最小费用最大流。

本发明图像跟踪装置的还一个实施例,在上述各实施例的基础上,还包括:

视频分解单元,用于对采集的视频流分解得到至少一帧视频图像;

视频图像单元,用于判断所得视频图像的数量是否大于或等于k帧,响应于分解获得的视频图像的数量大于或等于k帧,获取k帧视频图像;

响应于分解获得的视频图像的数量小于k帧,并且还存在未分解的视频流;迭代执行对采集的视频流分解得到至少一帧视频图像,判断所得视频图像的数量是否大于或等于k帧,根据判断结果选取k帧视频图像或继续分解的过程;直至不存在未分解的视频流。

具体地,当分解得到的视频图像的数量不足以执行上述图像跟踪方法时,继续对视频流进行分解,将新分解的视频图像与之前的视频图像一起再进行判断视频图像的数量是否满足跟踪方法所需的数量,通过不断分解视频流获取视频图像,将视频流分解出的视频图像实时处理,本实施例时间复杂度能基本达到实时跟踪的要求,延迟足够短,使用者甚至不会发现。

本发明图像跟踪装置的再一个实施例,在上述各实施例的基础上,还包括:

图像重构单元,用于将对应一个目标图像的目标路径作为一个目标图像,基于k帧视频图像获得的所有目标图像的目标路径构成一个新的视频图像;新的视频图像对应的采集时间为所对应的最后一个目标图像的采集时间。

在本实施例中,将基于k帧视频图像获得的所有目标路径作为一个新的视频图像,即基于k帧视频图像可获得目标图像的一个短的跟踪路径,为了获得更长的跟踪路径,需要通过本发明图像跟踪方法多次进行跟踪,获得目标路径后,通过本实施例进行合并,即可实现对目标图像更长路径的跟踪。

在本发明图像跟踪装置上述实施例的一个具体示例中,还包括:

无环图重构单元,用于基于新的视频图像与其他未处理的k-1帧视频图像建立有向无环图;其他未处理的视频图像包括从采集的视频流分解得到的视频图像和基于k帧视频图像获得的所有目标路径构成的视频图像。

根据本发明实施例的一个方面,提供的一种电子设备,包括处理器,该处理器包括本发明上述任一实施例的图像跟踪装置。

根据本发明实施例的一个方面,提供的一种电子设备,包括:存储器,用于存储可执行指令;

以及处理器,用于与该存储器通信以执行可执行指令从而完成本发明上述任一实施例的图像跟踪方法的操作。

根据本发明实施例的一个方面,提供的一种计算机存储介质,用于存储计算机可读取的指令,该指令被执行时执行本发明上述任一实施例的图像跟踪方法的操作。

根据本发明实施例的另一个方面,提供的一种计算机程序,包括计算机可读代码,当计算机可读代码在设备上运行时,设备中的处理器执行本发明图像跟踪方法中各步骤的指令。

本发明实施例还提供了一种电子设备,例如可以是移动终端、个人计算机(pc)、平板电脑、服务器等。下面参考图5,其示出了适于用来实现本申请实施例的终端设备或服务器的电子设备500的结构示意图:如图5所示,计算机系统500包括一个或多个处理器、通信部等,所述一个或多个处理器例如:一个或多个中央处理单元(cpu)501,和/或一个或多个图像处理器(gpu)513等,处理器可以根据存储在只读存储器(rom)502中的可执行指令或者从存储部分508加载到随机访问存储器(ram)503中的可执行指令而执行各种适当的动作和处理。通信部512可包括但不限于网卡,所述网卡可包括但不限于ib(infiniband)网卡,

处理器可与只读存储器502和/或随机访问存储器530中通信以执行可执行指令,通过总线504与通信部512相连、并经通信部512与其他目标设备通信,从而完成本申请实施例提供的任一项方法对应的操作,例如,获取k帧视频图像中的目标图像;基于目标图像建立具有至少一个路径的有向无环图;计算有向无环图中对应目标图像的路径的最小费用最大流,得到对应目标图像的目标路径。

此外,在ram503中,还可存储有装置操作所需的各种程序和数据。cpu501、rom502以及ram503通过总线504彼此相连。在有ram503的情况下,rom502为可选模块。ram503存储可执行指令,或在运行时向rom502中写入可执行指令,可执行指令使处理器501执行上述通信方法对应的操作。输入/输出(i/o)接口505也连接至总线504。通信部512可以集成设置,也可以设置为具有多个子模块(例如多个ib网卡),并在总线链接上。

以下部件连接至i/o接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至i/o接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。

需要说明的,如图5所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图5的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如gpu和cpu可分离设置或者可将gpu集成在cpu上,通信部可分离设置,也可集成设置在cpu或gpu上,等等。这些可替换的实施方式均落入本发明公开的保护范围。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,程序代码可包括对应执行本申请实施例提供的方法步骤对应的指令,例如,获取k帧视频图像中的目标图像;基于目标图像建立具有至少一个路径的有向无环图;计算有向无环图中对应目标图像的路径的最小费用最大流,得到对应目标图像的目标路径。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(cpu)501执行时,执行本申请的方法中限定的上述功能。

可能以许多方式来实现本发明的方法和装置、设备。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和装置、设备。用于方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。

本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

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