一种行人跟踪方法、装置及设备与流程

文档序号:17993459发布日期:2019-06-22 00:59阅读:161来源:国知局
一种行人跟踪方法、装置及设备与流程

本发明涉及计算机技术领域,特别是涉及一种行人跟踪方法、装置及设备。



背景技术:

目标跟踪,如行人跟踪是计算机视觉领域一个重要方面,在人工智能(artificialintelligence,ai)、视频监控、人机交互、机器人、军事制导等领域都有广泛的应用前景。

现有一种方式中,通过深度学习的方式完成行人跟踪。以多域卷积神经网络(multi-domainconvolutionalneuralnetworks,mdnet)为例,使用多域训练,使用卷积神经网络(convolutionalneuralnetworks,cnn)特征,使用全连接进行在线微调,同样以选择候选目标框集合的过程,结合判断每个目标框是目标的概率的过程,最终确定最大概率的候选框即为预测的目标框的方式进行跟踪。

然而,发明人在实现本发明的过程中发现,现有技术至少存在如下问题:

由于深度学习方式中,神经网络中有大量的卷积和全连接操作,而卷积和全连接操作消耗的计算量比较多,使得计算占用的时间也比较长。如此使得,通过深度学习的方式实现行人跟踪效率较低。



技术实现要素:

本发明实施例的目的在于提供一种行人跟踪方法、装置及设备,以提高行人跟踪过程的效率。具体技术方案如下:

第一方面,本发明实施例提供了一种行人跟踪方法,包括:

获取待检测视频帧;

检测所述待检测视频帧中的候选行人;

提取所述候选行人的候选行人特征;

确定所述候选行人特征与特征队列中已保存特征的差异,并在所述差异满足预设条件时,确定所述候选行人为目标行人;其中,所述特征队列中已保存特征为与所述目标行人匹配的特征。

可选的,所述特征队列包括短周期队列和长周期队列;

所述确定所述候选行人特征与特征队列中已保存特征的差异,并在所述差异满足预设条件时,确定所述候选行人为目标行人,包括:

当所述短周期队列的队列长度达到第一预设队列长度和所述长周期队列的队列长度达到第二预设队列长度中至少有一个未满足时,确定所述候选行人特征与所述短周期队列中已保存特征的第一差异,并在所述第一差异满足第一预设条件时,确定所述候选行人为目标行人;其中,所述第一预设队列长度小于所述第二预设队列长度;

当所述短周期队列的队列长度达到所述第一预设队列长度且所述长周期队列的队列长度达到所述第二预设队列长度时,确定所述候选行人特征与所述短周期队列和所述长周期队列中已保存特征的第二差异,并在所述第二差异满足第二预设条件时,确定所述候选行人为目标行人。

可选的,所述在所述第一差异满足第一预设条件时,确定所述候选行人为目标行人,包括:

当所述候选行人特征对应的所述第一差异,小于预设差异阈值的个数达到预设个数阈值时,确定所述候选行人特征对应的所述候选行人为所述目标行人。

可选的,所述确定所述候选行人特征与所述短周期队列中已保存特征的第一差异,包括:

针对所述短周期队列中各个已保存特征,计算所述候选行人特征与该已保存特征之间的欧氏距离,并将所述欧氏距离作为所述候选行人特征与该已保存特征之间的第一差异。

可选的,所述方法还包括:

当所述候选行人特征对应的所述欧氏距离,小于预设距离阈值的个数达到所述预设个数阈值时,将所述候选行人特征添加至所述短周期队列。

可选的,所述确定所述候选行人特征与所述短周期队列和所述长周期队列中已保存特征的第二差异,包括:

通过局部约束线性编码llc算法,确定所述候选行人特征基于已构建的码本矩阵的重建误差,并将所述重建误差作为所述候选行人特征与所述短周期队列和所述长周期队列中已保存特征的第二差异;其中,所述码本矩阵是根据所述短周期队列与所述长周期队列构建的;所述重建误差用于反映所述候选行人特征与所述码本矩阵的差异程度。

可选的,所述在所述第二差异满足第二预设条件时,确定所述候选行人为目标行人,包括:

确定各个候选行人分别对应的各个重建误差中的最小重建误差;

当所述最小重建误差满足重构误差最大容许阈值时,确定所述最小重建误差对应的候选行人为所述目标行人。

可选的,在所述通过局部约束线性编码llc算法,确定所述候选行人特征与已构建的码本矩阵的重建误差后,所述方法还包括:

在所述重建误差满足第三预设条件时,弹出所述短周期队列中第一个已保存特征,并将所述候选行人特征添加至所述短周期队列。

可选的,所述方法还包括:

当添加至所述短周期队列的候选行人特征的个数达到所述长周期队列的更新个数时,从添加至所述短周期队列的候选行人特征中选取一个满足添加条件的候选行人特征添加至所述长周期队列。

第二方面,本发明实施例提供了一种行人跟踪装置,包括:

获取模块,用于获取待检测视频帧;

检测模块,用于检测所述待检测视频帧中的候选行人;

提取模块,用于提取所述候选行人的候选行人特征;

确定模块,用于确定所述候选行人特征与特征队列中已保存特征的差异,并在所述差异满足预设条件时,确定所述候选行人为目标行人;其中,所述特征队列中已保存特征为与所述目标行人匹配的特征。

可选的,所述特征队列包括短周期队列和长周期队列;

所述确定模块,包括:

第一确定子模块,用于当所述短周期队列的队列长度达到第一预设队列长度和所述长周期队列的队列长度达到第二预设队列长度中至少有一个未满足时,确定所述候选行人特征与所述短周期队列中已保存特征的第一差异,并在所述第一差异满足第一预设条件时,确定所述候选行人为目标行人;其中,所述第一预设队列长度小于所述第二预设队列长度;

第二确定子模块,用于当所述短周期队列的队列长度达到所述第一预设队列长度且所述长周期队列的队列长度达到所述第二预设队列长度时,确定所述候选行人特征与所述短周期队列和所述长周期队列中已保存特征的第二差异,并在所述第二差异满足第二预设条件时,确定所述候选行人为目标行人。

可选的,所述第一确定子模块,具体用于当所述候选行人特征对应的所述第一差异,小于预设差异阈值的个数达到预设个数阈值时,确定所述候选行人特征对应的所述候选行人为所述目标行人。

可选的,所述第一确定子模块,具体用于针对所述短周期队列中各个已保存特征,计算所述候选行人特征与该已保存特征之间的欧氏距离,并将所述欧氏距离作为所述候选行人特征与该已保存特征之间的第一差异。

可选的,所述装置还包括:

第一添加模块,用于当所述候选行人特征对应的所述欧氏距离,小于预设距离阈值的个数达到所述预设个数阈值时,将所述候选行人特征添加至所述短周期队列。

可选的,所述第二确定子模块,具体用于通过局部约束线性编码llc算法,确定所述候选行人特征基于已构建的码本矩阵的重建误差,并将所述重建误差作为所述候选行人特征与所述短周期队列和所述长周期队列中已保存特征的第二差异;其中,所述码本矩阵是根据所述短周期队列与所述长周期队列构建的;所述重建误差用于反映所述候选行人特征与所述码本矩阵的差异程度。

可选的,所述第二确定子模块,具体用于确定各个候选行人分别对应的各个重建误差中的最小重建误差;当所述最小重建误差满足重构误差最大容许阈值时,确定所述最小重建误差对应的候选行人为所述目标行人。

可选的,所述装置还包括:

弹出模块,用于在所述重建误差满足第三预设条件时,弹出所述短周期队列中第一个已保存特征;

第二添加模块,用于将所述候选行人特征添加至所述短周期队列。

可选的,所述装置还包括:

第三添加模块,用于当添加至所述短周期队列的候选行人特征的个数达到所述长周期队列的更新个数时,从添加至所述短周期队列的候选行人特征中选取一个满足添加条件的候选行人特征添加至所述长周期队列。

第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;

所述存储器,用于存放计算机程序;

所述处理器,用于执行所述存储器上所存放的程序时,实现上述第一方面所述的方法步骤。

在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法步骤。

在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法步骤。

本发明实施例提供的行人跟踪方法、装置及设备,可以获取待检测视频帧;检测待检测视频帧中的候选行人;提取候选行人的候选行人特征;确定候选行人特征与特征队列中已保存特征的差异,并在差异满足预设条件时,确定候选行人为目标行人;其中,特征队列中已保存特征为与目标行人匹配的特征。本发明实施例中,计算候选行人对应的候选行人特征、与特征队列中已保存特征之间的差异,并在差异满足条件时,确定候选行人为目标行人。如此,能够提高行人跟踪过程的效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1(a)为本发明实施例提供的行人跟踪方法的一种流程图;

图1(b)为本发明实施例中确定目标行人的流程示意图;

图2为本发明实施例提供的两个队列的示意图;

图3为本发明实施例提供的行人跟踪方法的另一种流程图;

图4为本发明实施例提供的行人跟踪装置的结构示意图;

图5为本发明实施例提供的电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

行人跟踪是多种算法的基础,一种稳定、高效地的行人跟踪方法可以有效地提高ai等算法的效率。目前,比较主流的一种行人跟踪方法是通过深度学习的方式进行行人跟踪。但是,通过深度学习的方式需要用到神经网络,而神经网络中有大量的卷积和全连接等操作,而卷积和全连接等操作消耗的计算量比较多,使得计算占用的时间也比较长。如此使得,通过深度学习的方式实现行人跟踪效率较低。

本发明实施例提供了一种行人跟踪方法,可以通过特征队列,保存与目标行人匹配的特征。检测待检测视频帧中的候选行人;并提取候选行人的候选行人特征;确定候选行人特征与特征队列中已保存特征的差异,并在差异满足预设条件时,确定候选行人为目标行人;其中,特征队列中已保存特征为与目标行人匹配的特征。本发明实施例中,计算候选行人对应的候选行人特征、与特征队列中已保存特征之间的差异,并在差异满足条件时,确定候选行人为目标行人。如此,能够提高行人跟踪过程的效率。

下面对本发明实施例提供的行人跟踪方法进行详细说明。

本发明实施例提供的行人跟踪方法可以应用于电子设备。具体地,电子设备可以包括终端、服务器、处理器等等。

本发明实施例提供了一种行人跟踪方法,如图1(a)所示,包括:

s101,获取待检测视频帧。

行人跟踪是在各个视频帧中定位出行人,当视频帧中包括多个候选行人时,确定出哪一个候选行人是待定位、跟踪的目标行人。

可以拍摄行人在运动过程中的视频,该视频包括的视频帧,即可以为待检测视频帧。电子设备可以通过图像采集设备拍摄该视频,或者电子设备本身包含图像采集模块,通过该图像采集获取拍摄该视频。

s102,检测待检测视频帧中的候选行人。

可以确定分别包括各个候选行人的行人检测框,如矩形框等。

s103,提取候选行人的候选行人特征。

候选行人特征可以包括直方图特征、颜色特征、lbp(localbinarypattern,局部二值模式)特征等。本发明实施例中不对候选行人特征作限制,任何可以对候选行人进行描述的特征均在本发明实施例保护范围内。具体地,提取候选行人的候选行人特征可以参考已有提取行人特征的方式,这里就不再赘述。

一种可实现方式中,可以通过特征向量表示候选行人特征。具体地,可以提取表示该候选行人特征的候选行人特征向量。

本发明实施例一种可选的实施例中,可以计算待检测视频帧中各个候选行人与上一个视频帧中目标行人位置之间的距离,具体地,可以确定上一个视频帧中目标行人的检测框1,并确定该检测框1的中心位置坐标,如可以确定为坐标1;确定待检测视频帧中候选行人的检测框2,并确定该检测框2的中心位置坐标,如可以确定为坐标2,可以理解各个视频帧位于同一坐标系,如此,计算坐标1与坐标2之间的距离,该距离即为计算出的待检测视频帧中候选行人与上一个视频帧中目标行人位置之间的距离。具体地,可以计算坐标1与坐标2之间的欧氏距离等。

然后,根据该距离从小到大的顺序,将各个候选行人进行排序,按照排序后的各个候选行人,分别提取各个候选行人的候选行人特征。

s104,确定候选行人特征与特征队列中已保存特征的差异,并在差异满足预设条件时,确定候选行人为目标行人。

其中,特征队列中已保存特征为与目标行人匹配的特征。具体地,可以是与目标行人匹配的特征的特征向量。

特征队列可以是一个,两个,也可以是多个。

可以将候选行人特征与特征队列中已保存特征进行匹配,确定候选行人特征与特征队列中的已保存特征的匹配程度。具体地,可以通过候选行人特征与特征队列中已保存特征的差异,反映候选行人特征与短周期队列中已保存特征的匹配程度。具体地,可以通过计算候选行人特征与已保存特征的欧式距离、曼哈顿距离、切比雪夫距离、夹角余弦、相关系数及相关距离等,表示候选行人特征与已保存特征之间的差异。

一种可实现方式中,差异满足预设条件可以是差异满足预设阈值,该预设阈值可以根据实际情况确定。

另一种可实现方式中,差异满足预设条件也可以是候选行人特征与特征队列中各个已保存特征的多个差异中,达到预设阈值的个数达到预设数。其中,达到预设阈值可以包括小于或者不小于预设阈值。达到预设数可以包括大于或者小于预设数。如预先确定预设数为7,特征队列中包括10个已保存特征,确定出候选行人特征分别与该10个已保存特征的10个差异,若10个差异中有7个或者大于7个差异小于预设阈值,则可以确定差异满足预设条件。此时可以确定候选行人特征对应的该候选行人为目标行人。

本发明实施例中,计算候选行人对应的候选行人特征、与特征队列中已保存特征之间的差异,并在差异满足条件时,确定候选行人为目标行人。如此,能够提高行人跟踪过程的效率。

本发明一种可选的实施例中,特征队列包括短周期队列和长周期队列。

步骤s104:确定候选行人特征与特征队列中已保存特征的差异,并在差异满足预设条件时,确定候选行人为目标行人,如图1(b),可以包括:

s1041,当短周期队列的队列长度达到第一预设队列长度和长周期队列的队列长度达到第二预设队列长度中至少有一个未满足时,确定候选行人特征与短周期队列中已保存特征的第一差异,并在第一差异满足第一预设条件时,确定候选行人为目标行人。

短周期队列的队列长度小于长周期队列的队列长度。可以理解为,第一预设队列长度小于第二预设队列长度。

其中,短周期队列和长周期队列中已保存特征为与目标行人匹配的特征。具体地,可以是与目标行人匹配的特征向量。

可以将候选行人特征分别与短周期队列的已保存特征进行匹配,确定候选行人特征与短周期队列中的已保存特征的匹配程度。具体地,可以通过候选行人特征与短周期队列中已保存特征的差异,反映候选行人特征与短周期队列中已保存特征的匹配程度。

一种可实现方式中,可以确定候选行人特征与短周期队列中已保存特征的第一差异;当候选行人特征对应的第一差异小于预设差异阈值的个数达到预设个数阈值时,确定候选行人特征对应的候选行人为目标行人。

其中,预设差异阈值和预设个数阈值可以根据实际需求确定。

可以通过计算候选行人特征与已保存特征的欧式距离、曼哈顿距离、切比雪夫距离、夹角余弦、相关系数及相关距离等,表示候选行人特征与已保存特征之间的第一差异。

本发明一种可选的实施例中,为了计算简便,可以通过候选行人特征与已保存特征的欧式距离,表示候选行人特征与已保存特征之间的第一差异。

具体地,针对短周期队列中各个已保存特征,计算候选行人特征与该已保存特征之间的欧氏距离,并将欧氏距离作为候选行人特征与该已保存特征之间的第一差异。

当候选行人特征与该已保存特征之间的欧氏距离,满足第一预设条件时,确定候选行人为目标行人。

一种可实现方式中,当候选行人特征对应的第一差异,即候选行人特征与该已保存特征之间的欧氏距离,小于预设差异阈值的个数达到预设个数阈值时,确定候选行人特征对应的候选行人为目标行人。

其中,预设距离阈值以及预设个数阈值可以根据实际需求确定。

一种可选的实现方式中,预设个数阈值可以为短周期队列包括的当前已保存特征个数的一半等等。如候选行人特征与短周期队列中各个已保存特征的欧氏距离、小于预设距离阈值的个数达到当前已保存特征个数的一半时,确定候选行人特征对应的候选行人为目标行人。

另一种可实现方式中,也可以当候选行人特征与各个已保存特征之间的欧氏距离,大于预设距离阈值的个数达到预设阈值时,确定候选行人特征对应的候选行人为目标行人。如,已保存特征个数为10个,候选行人特征与短周期队列中各个已保存特征的欧氏距离、大于预设距离阈值的个数仅有1个时,可以确定候选行人特征对应的候选行人为目标行人。

对比于深度学习的方式,以mdnet为例,使用多域训练,使用cnn特征,使用全连接进行在线微调,同样以选择候选目标框集合+判断每个目标框是目标的概率,最终最大概率的候选框即为预测的目标框。由于神经网络中有大量的卷积和全连接操作,mdnet处理一帧的计算量在1*10^9左右,在图形处理器(graphicsprocessingunit,gpu)nvidia1080显卡上并行计算,其处理一帧的时间在1.2秒以上,而本发明实施例提供的方法只需计算每个行人特征与特征队列各元素的欧氏距离,以特征长度128为例,计算量在2*10^6左右,在实验中,interi5中央处理器(centralprocessingunit,cpu)上串行计算,其处理一帧的时间在0.005秒左右。可以看出,本发明实施例提供的方法能够减少行人跟踪过程消耗的时间,提高行人跟踪过程的效率。

s1042,当短周期队列的队列长度达到第一预设队列长度且长周期队列的队列长度达到第二预设队列长度时,确定候选行人特征与短周期队列和长周期队列中已保存特征的第二差异,并在第二差异满足第二预设条件时,确定候选行人为目标行人。

其中,短周期队列和长周期队列中已保存特征为与目标行人匹配的特征。

可以将短周期队列和长周期队列中的已保存特征组合起来,将候选行人特征分别与短周期队列和长周期队列中所有的已保存特征进行匹配,确定候选行人特征与短周期队列和长周期队列中所有的已保存特征的匹配程度,具体地,通过候选行人特征与短周期队列和长周期队列中已保存特征的差异反映候选行人特征与短周期队列和长周期队列中已保存特征的匹配程度。

具体地,可以通过计算候选行人特征与已保存特征的欧式距离、曼哈顿距离、切比雪夫距离、夹角余弦、相关系数及相关距离等,反映候选行人特征与已保存特征之间的第二差异。

第二预设条件可以包括第二差异小于预设值等。具体地,预设值可以根据实际情况来确定。

本发明实施例中,计算候选行人对应的候选行人特征、与特征队列中已保存特征之间的差异,并在差异满足条件时,确定候选行人为目标行人。如此,能够提高行人跟踪过程的效率。

本发明一种可选的实施例中,在上述实施例的基础上,针对短周期队列的队列长度达到第一预设队列长度和长周期队列的队列长度达到第二预设队列长度中至少有一个未满足的情况,本发明实施例还可以包括构造队列的过程,具体地,可以包括:

在第一差异满足第一预设条件时,将候选行人特征添加至短周期队列。

即当候选行人特征对应的欧氏距离,小于预设距离阈值的个数达到预设个数阈值时,将候选行人特征添加至短周期队列。

具体地,创建两个先进先出的空队列:短周期队列q1和长周期队列q2,如图2所示。其中,队列长度可以根据实际需求确定,长周期队列q2的队列长度大于短周期队列q1的队列长度。如短周期队列的队列长度为10,即短周期队列同时保存10个特征。长周期队列的队列长度为20,即长周期队列同时保存20个特征。

当待跟踪目标行人时,可以首先检测、确定目标行人,然后在后续的视频帧中根据检测出的目标行人的特征等跟踪目标行人,即在后续的视频帧中检测、识别该目标行人。如在视频的第一帧中确定包含该目标行人的矩形框,从该矩形框中检测目标行人,并对该目标行人进行特征提取,得到目标行人对应的特征向量,将该特征向量添加至短周期队列q1和长周期队列q2,也可以理解为对短周期队列q1和长周期队列q2的初始化。

实时检测每一视频帧中的所有候选行人,例如针对一个视频帧,共检测到k个候选行人(1,2,…,i,…,k),可以根据待检测视频帧中各个候选行人与上一个视频帧中目标行人位置之间的距离从小到大排序,具体地,计算待检测视频帧中候选行人与上一个视频帧中目标行人位置之间的距离的过程在上述实施例中已进行了详述,这里就不再赘述。并根据排序后的候选行人,提取各个候选行人对应的候选行人特征向量vi(i=1,2,…,k),如短周期队列q1有m(m=1,2,…,10)个已入列的特征向量{c11,c12,…,c1m},对第i个候选行人,计算vi和已入列的第j个特征向量c1j的欧式距离可以确定预设距离t,计算该候选行人对应的候选行人特征向量vi与已保存特征向量中满足dij<t的个数ni,也可以理解为特征匹配的次数。按i=0到i=k依次进行上述处理,如果ni>m×r,即如果该候选行人对应的候选行人特征向量vi与已保存特征向量的匹配个数、与该队列总入列数的比例大于r,则确定第m+1个目标行人特征向量,同时,确定该候选行人特征向量对应的该候选行人为目标行人。

且如果q1未满,则将vi直接入列,即将vi添加至短周期队列中;否则弹出q1中第一个已入列的特征向量c11,并在q1的尾端压入该候选行人特征向量。

另外,当添加至短周期队列的候选行人特征的个数达到长周期队列的更新个数时,从添加至短周期队列的候选行人特征中选取一个满足添加条件的候选行人特征添加至长周期队列。

如,每有5个新候选行人特征向量添加至q1,对该5个新候选行人特征向量按欧式距离从小到大排序,并将第3个候选行人特征向量添加至长周期队列q2。如此,可以保证在q2的特征向量有少许差异性,对行人环绕跟踪中行人本身一圈的特征的差异性的特点有很好的效果。并且,选取中间的候选行人特征向量可以有效避免把非目标行人的特征向量添加至长周期队列q2,因为q2周期长,非目标行人的特征向量在后续的匹配中会有很大的干扰作用,如此,能够进一步降低干扰影响,提高行人跟踪的稳定性。

在上述实施例的基础上,本发明一种可选的实施例中,通过对短周期队列和长周期队列进行稀疏重建,通过重建误差反映候选行人特征与短周期队列和长周期队列中已保存特征的差异。

具体地,步骤s1042中确定候选行人特征与短周期队列和长周期队列中已保存特征的第二差异,可以包括:

通过局部约束线性编码(locality-constrainedlinearcoding,llc)算法,确定候选行人特征基于已构建的码本矩阵的重建误差,并将所述重建误差作为所述候选行人特征与所述短周期队列和所述长周期队列中已保存特征的第二差异。

其中,码本矩阵是根据短周期队列与长周期队列构建的;重建误差用于反映候选行人特征与码本矩阵的差异程度。

步骤s1042中在第二差异满足第二预设条件时,确定候选行人为目标行人,可以包括:

确定各个候选行人分别对应的各个重建误差中的最小重建误差;当最小重建误差满足重构误差最大容许阈值时,确定最小重建误差对应的候选行人为目标行人。

一种可选的实施例中,步骤s1042:确定候选行人特征与短周期队列和长周期队列中第二已保存特征的第二差异,并在第二差异满足第二预设条件时,确定候选行人为目标行人,如图3所示,可以包括:

s10421,通过llc算法,确定候选行人特征基于已构建的码本矩阵的重建误差。

其中,码本矩阵是根据短周期队列与长周期队列构建的。重建误差用于反映候选行人特征与码本矩阵的差异程度。

短周期队列q1和长周期队列q2都填充满了,使用llc算法更新这两个队列。假设在一帧中,共检测到k个候选行人,根据待检测视频帧中各个候选行人与上一个视频帧中目标行人位置之间的距离从小到大排序,具体地,计算待检测视频帧中候选行人与上一个视频帧中目标行人位置之间的距离的过程在上述实施例中已进行了详述,这里就不再赘述。并根据排序后的候选行人,提取各个候选行人对应的候选行人特征向量vi(i=1,2,…,k),此时短周期队列q1中的特征向量{c11,c12,…,c110}及长周期队列q2中的特征向量{c21,c22,…,c220},将q1和q2串联在一起得到长度为30的队列c={c1,c2,…,c30},即码本矩阵。

通过llc稀疏编码方式确定vi基于码本矩阵c的重建误差。

借鉴llc算法优化目标函数,求取候行人特征向量在码本矩阵c上的响应系数向量α,等价于求解公式(1-1)所示的最优化问题:

s.t.1tα=1

其中,λ是正则项系数,用于控制稀疏程度;σ用于调节衰减的速度;α(i)是vi在码本矩阵c上的响应系数向量;m是码本矩阵中特征向量的个数,具体为30;cj为码本矩阵中的元素,j-1,2,…,30。

llc的求解结果是稀疏的,只有少部分是非0的有效值,可以认为式(1-1)对其进行了特征选择,可以对原问题进行简化,得到公式(1-2):

s.t.1tα=1

其中,ci是vi在码本矩阵c中的k近邻向量组成的矩阵,是候行人特征向量对应的权重系数。

使用公式(1-2)可以大大减小计算复杂度。

根据求解得出的α可以通过如下公式计算重建误差ei:

s10422,当重建误差满足第二预设条件时,确定候选行人为目标行人。

第二预设条件可以包括重建误差达到预设值。具体地,预设值可以根据实际需求确定。

可以确定各个候选行人分别对应的各个重建误差中的最小重建误差;当最小重建误差满足重构误差最大容许阈值时,确定最小重建误差对应的候选行人为目标行人。

具体地,通过上述公式(1-2)和(1-3),可以计算出第i候选行人特征向量vi的重构误差ei,并选取最小的重构误差es所对应的第s候选行人作为候选目标行人。如果es<er,其中,er是重构误差最大容许阈值,一种典型值可以设置为0.65,则可以确定第s候选行人为目标行人。

本发明实施例提供了多队列跟踪方式,并结合了llc算法,计算基于码本矩阵的重建误差,进而通过重建误差进行匹配,以实现行人跟踪。

本发明一种可选的实施例中,还包括更新队列的过程,也可以理解为队列的维护阶段。具体地,在步骤s10421:通过局部约束线性编码llc算法,确定候选行人特征与已构建的码本矩阵的重建误差之后,还可以包括:

在重建误差满足第三预设条件时,弹出短周期队列中第一个已保存特征,并将候选行人特征添加至短周期队列。

重建误差满足第三预设条件可以包括重建误差处于预设误差范围。

并且,当添加至短周期队列的候选行人特征的个数达到长周期队列的更新个数时,从添加至短周期队列的候选行人特征中选取一个满足添加条件的候选行人特征添加至长周期队列。

一种可选的实施例中,当添加至短周期队列的多个候选行人特征的个数达到长周期队列的更新个数时,弹出长周期队列中第一个已保存特征,并从添加至短周期队列的多个候选行人特征中选取一个候选行人特征添加至长周期队列。

具体地,为了考虑队列中特征的一致性和多样性,第三预设条件可以为重建误差满足0.03<es<0.5,则弹出短周期队列q1中短周期队列中第一个已保存特征向量,即短周期队列中最早的特征向量c11,并把对应的候选行人特征向量vs压入到队列尾部,即将对应的候选行人特征向量添加至短周期队列的尾部,实现对短周期队列q1的更新。

同样的,每有5个新候选行人特征向量插入短周期队列q1后,对这5个新候选行人特征向量按欧式距离从小到大排序,并将第3个候选行人特征向量用同样的方法更新到长周期队列q2。即弹出长周期队列中第一个已保存特征向量,也可以理解长周期队列中最早的特征向量c21,并将该第3个候选行人特征向量压入到长周期队列的尾部,即将该第3个候选行人特征向量添加至长周期队列的尾部,实现对长周期队列q2的更新。

如果目标行人被完全遮挡数秒甚至数十秒后,当目标行人重新出现时,目标行人本身的特征可能发生了极大的变化。例如,一开始目标行人以正面面对镜头,在被障碍物或其他行人遮挡后一段时间后,目标行人再次出现时是背面面向镜头,在这种情况下,使用一个特征队列就很难匹配到目标,因为如果单队列设得过长,虽然可以保存到之前正面的信息,但这样的队列对短期内行人状态快速变化的情况就不能有效处理,而设得过短,显然对这种情况是无法适应的。而使用了两个不同长短和周期的队列,在这种情况下,短周期队列q1可能是无效的,但长周期队列q2是非常有效,因为q2更新慢,保存的特征时间久,有目标行人之前的正面的特征。短周期队列q1包含的是快速变化的短时间内的特征,对目标快速变化的情况非常有效,而长周期队列q2包含的是稳定而长时间的特征,对行人长时间遮挡有良好的效果。

且经过多次测试选取的经验参数,确定对于短周期队列q1维护中的阈值下限0.03和上限0.5,下限0.03可以保证压入队列的特征具有多样性,因为每一帧都有可能更新的,所以完全一样的特征是没必要更新进去的;而上限0.5是为了保证在实际没有目标行人,如遮挡住了目标行人,干扰行人不会压入q1中,而且即使有少量错误的特征被压入q1,一方面q1更新很快,错误的特征很快会被洗掉,另一方面由于用q1更新q2的策略,使得错误的行人特征更难被压入q2。且使用每5个更新到q1的特征的中位数去更新q2,可以保证q2中不易被压入错误行人的特征,且保存的特征多样性好。

本发明实施例提供的方法,可以维护一个适应快速变化的短周期队列q1和一个稳定且保存目标行人不同角度特征的长周期队列q2。

如此,根据不同周期的队列实现行人跟踪,可以同时兼顾跟踪速度和效果,实现高速、稳定地跟踪。可以为各类使用行人跟踪过程的ai技术等,提供高速、稳定地行人跟踪方式。同时,本发明实施例可以有效地针对行人跟踪过程中行人快速变化以及长时间遮挡的情况。

本发明实施例提供了一种行人跟踪装置,如图4所示,包括:

获取模块401,用于获取待检测视频帧;

检测模块402,用于检测待检测视频帧中的候选行人;

提取模块403,用于提取候选行人的候选行人特征;

确定模块404,用于确定候选行人特征与特征队列中已保存特征的差异,并在差异满足预设条件时,确定候选行人为目标行人;其中,特征队列中已保存特征为与目标行人匹配的特征。

本发明实施例中,计算候选行人对应的候选行人特征、与特征队列中已保存特征之间的差异,并在差异满足条件时,确定候选行人为目标行人。如此,能够提高行人跟踪过程的效率。

可选的,特征队列包括短周期队列和长周期队列;

确定模块404,包括:

第一确定子模块,用于当短周期队列的队列长度达到第一预设队列长度和长周期队列的队列长度达到第二预设队列长度中至少有一个未满足时,确定候选行人特征与短周期队列中已保存特征的第一差异,并在第一差异满足第一预设条件时,确定候选行人为目标行人;其中,短周期队列和长周期队列中已保存特征为与目标行人匹配的特征;第一预设队列长度小于第二预设队列长度;

第二确定子模块,用于当短周期队列的队列长度达到第一预设队列长度且长周期队列的队列长度达到第二预设队列长度时,确定候选行人特征与短周期队列和长周期队列中已保存特征的第二差异,并在第二差异满足第二预设条件时,确定候选行人为目标行人。

可选的,第一确定子模块,具体用于当候选行人特征对应的第一差异,小于预设差异阈值的个数达到预设个数阈值时,确定候选行人特征对应的候选行人为目标行人。

可选的,第一确定子模块,具体用于针对短周期队列中各个已保存特征,计算候选行人特征与该已保存特征之间的欧氏距离,并将欧氏距离作为候选行人特征与该已保存特征之间的第一差异。

可选的,该装置还包括:

第一添加模块,用于当候选行人特征对应的欧氏距离,小于预设距离阈值的个数达到预设个数阈值时,将候选行人特征添加至短周期队列。

可选的,第二确定子模块,具体用于通过局部约束线性编码llc算法,确定候选行人特征基于已构建的码本矩阵的重建误差,并将重建误差作为候选行人特征与短周期队列和长周期队列中已保存特征的第二差异;其中,码本矩阵是根据短周期队列与长周期队列构建的;重建误差用于反映候选行人特征与码本矩阵的差异程度。

可选的,第二确定子模块,具体用于确定各个候选行人分别对应的各个重建误差中的最小重建误差;当最小重建误差满足重构误差最大容许阈值时,确定最小重建误差对应的候选行人为目标行人。

可选的,该装置还包括:

弹出模块,用于在重建误差满足第三预设条件时,弹出短周期队列中第一个已保存特征;

第二添加模块,用于将候选行人特征添加至短周期队列。

可选的,该装置还包括:

第三添加模块,用于当添加至短周期队列的候选行人特征的个数达到长周期队列的更新个数时,从添加至短周期队列的候选行人特征中选取一个满足添加条件的候选行人特征添加至长周期队列。

需要说明的是,本发明实施例提供的行人跟踪装置是应用上述行人跟踪方法的装置,则上述行人跟踪方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。

本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。

存储器503,用于存放计算机程序;

处理器501,用于执行存储器503上所存放的程序时,实现上述实施例中行人跟踪方法的方法步骤。

本发明实施例中,计算候选行人对应的候选行人特征、与特征队列中已保存特征之间的差异,并在差异满足条件时,确定候选行人为目标行人。如此,能够提高行人跟踪过程的效率。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中行人跟踪方法的方法步骤。

本发明实施例中,计算候选行人对应的候选行人特征、与特征队列中已保存特征之间的差异,并在差异满足条件时,确定候选行人为目标行人。如此,能够提高行人跟踪过程的效率。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中行人跟踪方法的方法步骤。

本发明实施例中,计算候选行人对应的候选行人特征、与特征队列中已保存特征之间的差异,并在差异满足条件时,确定候选行人为目标行人。如此,能够提高行人跟踪过程的效率。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、计算机可读存储介质及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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