人体跟踪方法和人体跟踪装置与流程

文档序号:12748897阅读:442来源:国知局
人体跟踪方法和人体跟踪装置与流程

本发明涉及智能监控技术领域,具体涉及一种人体跟踪方法和人体跟踪装置。



背景技术:

人体检测和跟踪技术是指对当前场景进行人体检测,当检测到有人体时,自动对检测人体进行跟踪。人体检测和跟踪技术可广泛应用于视频监控、安防、室内外机器人、异常行为分析以及人流统计等应用中,是一项具有很大研究价值和广泛应用前景的技术。

目前,常用的人体检测方法主要有通过摄像头采集图像,再通过特征提取和识别等检测技术定位人体。其中,常用的检测技术有基于梯度直方图(HOG,Histogram of Ori ented Gradients)与支持向量机(SVM,Support Vector Machine)结合的方法和可变形部件模型(DPM,Deformable Part Model)的方法等。

上述基于摄像头采集图像的人体检测方法在检测到人体后,可通过人体跟踪技术实现人体的自动跟踪。目前,常用的人体跟踪技术有基于轮廓特征的方法、Camshift跟踪算法、均值漂移算法(即mean-shift)、粒子滤波算法、光流法、卡尔曼滤波算法和核化相关滤波器(KCF,Kernelized Correlation Filters)算法等。上述这些传统的人体跟踪技术在一些简单的场景中能取得不错的跟踪效果,但当人体与背景具有较高的相似度、人体移动迅速、人体被遮挡或人体姿态变化较大时,上述人体跟踪技术便容易出现跟丢的情况。进一步地,当人体被遮挡或因为其它原因被跟丢后又出现在摄像头的监控视线时,上述人体跟踪技术将无法继续跟踪被跟丢的人体。



技术实现要素:

本发明提供一种人体跟踪方法和人体跟踪装置,用于实现对被跟丢的人体的继续跟踪。

本发明第一方面提供一种人体跟踪方法,包括:

确定被跟踪人体;

将上述被跟踪人体的累计丢失次数初始化为零;

在跟踪列表中记录上述被跟踪人体的跟踪信息;

基于摄像头采集到的图像持续进行人体检测;

当检测到人体且当次检测到的人体为上述被跟踪人体时,将当次检测到的人体的跟踪信息更新到上述跟踪列表中,且在上述被跟踪人体的累计丢失次数不为零时将上述被跟踪人体的累计丢失次数清零;

当检测不到人体或当次检测到的人体不为上述被跟踪人体时,检测上述被跟踪人体的累计丢失次数是否达到预设的丢失次数阈值;

若上述被跟踪人体的累计丢失次数达到上述丢失次数阈值,则返回执行上述确定被跟踪人体的步骤以及后续步骤;

若上述被跟踪人体的累计丢失次数未达到上述丢失次数阈值,则将上述被跟踪人体的累计丢失次数加一,并返回执行上述基于摄像头采集到的图像持续进行人体检测的步骤以及后续步骤。

本发明第二方面提供一种人体跟踪装置,包括:

确定单元,用于确定被跟踪人体;

初始化单元,用于将上述被跟踪人体的累计丢失次数初始化为零;

跟踪更新单元,用于在跟踪列表中记录上述被跟踪人体的跟踪信息;

人体检测单元,用于基于摄像头采集到的图像持续进行人体检测;

丢失次数检测单元,用于当上述人体检测单元检测不到人体或上述人体检测单元当次检测到的人体不为上述被跟踪人体时,检测上述被跟踪人体的累计丢失次数是否达到预设的丢失次数阈值;

丢失累计单元,用于当上述丢失次数检测单元检测到上述被跟踪人体的累计丢失次数未达到上述丢失次数阈值时,将上述被跟踪人体的累计丢失次数加一;

上述确定单元在上述丢失次数检测单元检测到上述被跟踪人体的累计丢失次数达到上述丢失次数阈值时再次触发;

上述跟踪更新单元还用于:当上述人体检测单元检测到人体且上述人体检测单元当次检测到的人体为上述被跟踪人体时,将上述人体检测单元当次检测到的人体的跟踪信息更新到上述跟踪列表中;

上述初始化单元还用于:当上述人体检测单元检测到人体且上述人体检测单元当次检测到的人体为上述被跟踪人体,且上述被跟踪人体的累计丢失次数不为零时,将上述被跟踪人体的累计丢失次数清零。

由上可见,本发明在确定被跟踪人体之后,初始化该被跟踪人体的累计丢失次数并基于摄像头采集到的图像持续进行人体检测,当检测不到人体或当次检测到的人体不为上述被跟踪人体时(即被跟踪人体跟丢时),检测该被跟丢人体的累计丢失次数是否达到预设的丢失次数阈值,如果未达到,则将该被跟踪人体的丢失次数加一并继续保持对该被跟踪人体的跟踪,如果达到,则重新进行被跟踪人体的确定。一方面,通过引入被跟踪人体的累计丢失次数,可以在跟丢被跟踪人体的情况下,实现对被跟丢的人体的继续跟踪;另一方面,通过设定丢失次数阈值,也可以避免因被跟踪人体长时间未出现在该摄像头采集的图像内而导致长时间无法进行人体跟踪的问题,提高了人体跟踪的灵活性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1-a为本发明提供的一种人体跟踪方法一个实施例流程示意图;

图1-b为本发明提供的一种应用场景下的位置覆盖率说明示意图;

图2为本发明提供的一种人体跟踪方法另一个实施例流程示意图;

图3为本发明提供的一种人体跟踪装置一个实施例结构示意图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

本发明实例提供一种人体跟踪方法。如图1-a所示,本发明实施例中的人体跟踪方法包括:

步骤101、确定被跟踪人体;

在步骤101中,可以持续进行人体检测直至检测到人体,之后将检测到的人体确定为被跟踪人体。或者,也可以接收输入的人体图像(即包含人体的图像)或其它人体特征信息,由终端根据输入的人体图像或其它人体特征信息确定被跟踪人体。例如,用户可以向终端输入从图像库中选取的任一人体图像或者实时拍摄得到的人体图像,以触发该终端基于输入的人体图像进行人体检测并将该人体图像包含的人体确定为被跟踪人体。

可选的,每次只将1个人体确定为被跟踪人体。步骤101为:持续进行人体检测直至检测到人体;若检测到的人体的个数为1,则将当次检测到的人体确定为被跟踪人体;若检测到的人体的个数不为1,则将当次检测到的多个人体中的一个人体确定为被跟踪人体。具体的,当检测到的人体的个数不为1时,可以分别计算当次检测到的各个人体的面积,将面积最大的人体确定为被跟踪人体。下面以基于摄像头采集到的图像持续进行人体检测直至检测到人体为例进行说明。对于摄像头采集到的图像,可以采用更快速区域卷积神经网络(即Faster R-CNN,其中,R-CNN的英文全称为Region-Convolutional Neural Network)或其它基于图像的人体检测算法检测该图像中是否存在人体,当检测到该图像中的人体个数为1时,将检测到的人体确定为被跟踪人体;当检测到该图像中的人体个数大于1时,可根据公式si=wi*hi计算各个人体在图像中面积,之后将面积最大的人体确定为被跟踪人体。在上述公式中,si表示人体i在图像中的面积,wi表示在图像中检测到的人体i所在的人体矩形框的宽度,hi表示在图像中检测到的人体i所在的人体矩形框的高度。

需要说明的是,上述方案每次将1个人体确定为被跟踪人体,当然,在其它实施例中,也可以每次将N个人体确定为被跟踪人体,其中,N为大于2的预设值。在步骤101中,当检测到人体且人体的个数不大于N时,将检测到的人体全部确定为被跟踪人体;当检测到人体且人体的个数大于N时,将检测到的人体中的N个人体确定为被跟踪人体。本发明实施例不对步骤101中确定被跟踪人体所采用的具体实现方式进行限定。

步骤102、将上述被跟踪人体的累计丢失次数初始化为零;

在步骤102中,将步骤101确定的被跟踪人体的累计丢失次数初始化为零。

具体的,可以通过列表形式记录步骤101确定的被跟踪人体的累计丢失次数。例如,通过丢失列表记录步骤101确定的被跟踪人体的累计丢失次数,则步骤102具体表现为初始化上述丢失列表,其中,初始化后的丢失列表为空。

进一步,该丢失列表除了记录被跟踪人体的累计丢失次数,还可以在被跟踪人体跟丢后,存储被跟踪人体的识别信息,以便于在被跟踪人体跟丢后,可以通过该丢失列表中存储的被跟踪人体的识别信息,判断新检测到的人体与该丢失列表中记录的被跟踪人体是否为同一人体。

步骤103、在跟踪列表中记录上述被跟踪人体的跟踪信息;

在步骤103中,在跟踪列表中记录步骤101确定的被跟踪人体的跟踪信息。该跟踪信息包括但不限于:被跟踪人体的识别信息、被跟踪人体的位置信息。其中,该被跟踪人体的识别信息也即在检测到该被跟踪人体时所基于的信息,该被跟踪人体的位置信息指示该被跟踪人体在被检测到时所处的位置。例如,当基于摄像头采集的图像持续进行人体检测时,若从图像A1中检测到被跟踪人体,则该被跟踪人体的识别信息也即图像A1所包含的该被跟踪人体的图像部分(例如图像A1中被跟踪人体所在的人体矩形框内的图像部分),该被跟踪人体的位置信息指示该被跟踪人体在图像A1中所处的坐标位置(例如可将在图像A1中检测到的被跟踪人体所在的人体矩形框的左上顶点和右下顶点的坐标视为该被跟踪人体在图像A1中所处的坐标位置)。

步骤104、基于摄像头采集到的图像持续进行人体检测;

在步骤104中,基于摄像头采集到的图像持续进行人体检测,该摄像头可以是终端(例如监控终端、机器人等)上配置的摄像头,或者,也可以是能够与该终端通讯的其它摄像头仪器,此处不作限定。

可选的,在步骤104中,基于摄像头采集到的图像,采用Faster R-CNN持续进行人体检测,利用卷积神经网络强大的提取图像深层特征的能力,实现更为准确的人体检测和跟踪。当然,本发明实施例中,也可以采用其它基于图像的人体检测算法对该摄像头采集到的图像进行人体检测,此处不做限定。

可选的,当检测到人体时,判断当次检测到的人体是否为上述跟踪列表或上述丢失列表记录的被跟踪人体;若当次检测到的人体为上述跟踪列表或上述丢失列表记录的被跟踪人体,则判定当次检测到的人体为上述被跟踪人体;若当次检测到的人体不为上述跟踪列表记录的被跟踪人体且不为上述丢失列表记录的被跟踪人体,则判定当次检测到的人体不为上述被跟踪人体。在一种应用场景中,上述判断当次检测到的人体是否为上述跟踪列表或上述丢失列表记录的被跟踪人体可以包括:判断当次检测到的人体是否为上述跟踪列表记录的被跟踪人体;若当次检测到的人体不为上述跟踪列表记录的被跟踪人体,则判断当次检测到的人体是否为上述丢失列表记录的被跟踪人体。即,先判断当次检测到的人体是否为上述跟踪列表记录的被跟踪人体,在当次检测到的人体不为上述跟踪列表记录的被跟踪人体,再判断当次检测到的人体是否为上述丢失列表记录的被跟踪人体。

具体的,当上述跟踪信息包括上述被跟踪人体的图像时,本发明实施例可以通过如下方式判断当次检测到的人体是否为上述跟踪列表记录的被跟踪人体:基于上述跟踪信息包含的上述被跟踪人体的图像,采用预设的人体识别模型判断当次检测到的人体是否为上述跟踪列表记录的被跟踪人体。其中,上述人体识别模型基于卷积神经网络训练得到,上述人体识别模型用于判断两个人体是否属于同一个人体。通过大量的训练数据并基于卷积神经网络训练该人体识别模型,能够使得采用该人体识别模型进行人体识别(即判断两个人体是否属于是同一个人体)的识别准确性要强于传统的识别方法(例如基于HOG特征的方法和基于轮廓特征的方法等)。同理,也可以采用上述方法判断当次检测到的人体是否为上述丢失列表记录的被跟踪人体。

进一步,在上述跟踪信息还包括该被跟踪人体的位置信息的情况下,上述判断当次检测到的人体是否为上述跟踪列表记录的被跟踪人体可以包括:根据上述跟踪列表中记录的该被跟踪人体的位置信息,计算该被跟踪人体与当次检测到的所有人体的位置覆盖率;若存在位置覆盖率不小于预设的覆盖率阈值的人体,则将与该被跟踪人体的位置覆盖率最大的当次检测到的人体确定为该跟踪列表记录的被跟踪人体;若不存在位置覆盖率不小于上述覆盖率阈值的人体,则基于上述跟踪信息包含的上述被跟踪人体的图像,采用上述人体识别模型判断当次检测到的人体是否为上述跟踪列表记录的被跟踪人体。其中,上述位置覆盖率也即人体在不同图像中所占区域(例如人体在不同图像中所在的人体矩形框)的重叠面积与非重叠面积的比值。由于步骤104是基于摄像头采集到的图像持续进行人体检测,因此,被跟踪人体在连续采集到的帧图像中的位置应该变化很小,相应的,被跟踪人体在连续两帧图像中所在区域的重叠面积应该较大,相应的,被跟踪人体在连续两帧图像中的位置覆盖率也会较大。故上述方案中,在采用上述人体识别模型进行识别判断之前,先通过计算该被跟踪人体与当次检测到的所有人体的位置覆盖率,在存在位置覆盖率不小于上述覆盖率阈值的人体时,将与该被跟踪人体的位置覆盖率最大的当次检测到的人体确定为该跟踪列表记录的被跟踪人体,从而可以省去采用上述人体识别模型进行识别判断需要耗费的时间,提高人体跟踪效率。具体的,结合图1-b对上述位置覆盖率进行说明,设图1-b中的C1为在图像A1中检测到的人体(为便于描述,后续将该人体描述为人体S1)所在的人体矩形框,C2为在图像A2中检测到的人体(为便于描述,后续将该人体描述为人体S2)所在的人体矩形框,取人体矩形框的左上顶点和右下顶点的坐标作为相应人体的坐标位置。则由图1-b所示,人体S1的坐标位置为:左上顶点坐标(xs11,ys11)和右下顶点坐标(xs12,ys12),人体S2的坐标位置为:左上顶点坐标(xs21,ys21)和右下顶点坐标(xs22,ys22),w1和h1分别表示C1的宽度和高度,w2和h2分别表示C2的宽度和高度,显然,w1=|xs12-xs11|,h1=|ys12-ys11|,w2=|xs22-xs21|,h2=|ys22-ys21|。则C1和C2的重叠面积(后续以interSec表示该重叠面积)即图1-b中斜虚线填充的区域的面积,C1和C2的非重叠面积即C1和C2的面积之和减去该重叠面积(后续以union表示该非重叠面积),则interSec和union的比值即为人体S1和人体S2的位置覆盖率。以overlap表示人体S1和人体S2的位置覆盖率,则存在:overlap=interSec/union,其中,interSec=(x1+w1-x2)*(y1+h1-y2),union=w1*h1+w2*h21-interSec。

步骤105、当检测到人体且当次检测到的人体为上述被跟踪人体时,将当次检测到的人体的跟踪信息更新到上述跟踪列表中,且在上述被跟踪人体的累计丢失次数不为零时将上述被跟踪人体的累计丢失次数清零;

在步骤105中,当检测到人体且当次检测到的人体为上述被跟踪人体时,将当次检测到的人体的跟踪信息更新到上述跟踪列表中,之后返回步骤104。举例说明,设上述跟踪信息包括:被跟踪人体的识别信息和位置信息。当步骤104从图像A1中检测到被跟踪人体,则该被跟踪人体的识别信息也即图像A1所包含的该被跟踪人体的图像部分,该被跟踪人体的位置信息指示该被跟踪人体在图像A1中所处的坐标位置,此时在上述跟踪列表中更新被跟踪人体的跟踪信息,更新后的被跟踪人体的识别信息为图像A1所包含的该被跟踪人体的图像部分,更新后的被跟踪人体的位置信息为被跟踪人体在图像A1中所处的坐标位置。具体的,可将在图像A1中检测到的该被跟踪人体所在的人体矩形框的左上顶点和右下顶点的坐标视为该被跟踪人体在图像A1中所处的坐标位置,或者,也可以将在图像A1中检测到的该被跟踪人体所在的人体矩形框的左下顶点和右上顶点的坐标视为该被跟踪人体在图像A1中所处的坐标位置,此处不作限定。

进一步,若上述被跟踪人体的累计丢失次数不为零,则表明此前跟丢的被跟踪人体被重新跟踪到,此时将上述被跟踪人体的累计丢失次数清零。具体的,若通过丢失列表记录被跟踪人体的累计丢失次数,则上述将上述被跟踪人体的累计丢失次数清零具体表现为:初始化上述丢失列表。

步骤106、当检测不到人体或当次检测到的人体不为上述被跟踪人体时,检测上述被跟踪人体的累计丢失次数是否达到预设的丢失次数阈值;

本发明实施例中,当被跟踪人体未出现在上述摄像头采集到的图像中时,将出现检测不到人体或检测到的人体不为上述被跟踪人体的情况。此时,进一步检测该被跟踪人体的累计丢失次数是否达到预设的丢失次数阈值,如果检测到该被跟踪人体的累计丢失次数达到预设的丢失次数阈值,则返回执行步骤101,以便重新确定被跟踪人体,并基于新确定的被跟踪人体执行步骤101之后的步骤。如果检测到该被跟踪人体的累计丢失次数未达到上述丢失次数阈值,则进入步骤107。

进一步,当检测不到人体或当次检测到的人体不为上述被跟踪人体,且该被跟踪人体的累计丢失次数为0,则表明该被跟踪人体首次出现跟丢的情况,此时可在上述丢失列表中记录上述被跟踪人体的图像(例如将当前跟踪列表中记录的该被跟踪人体的图像存入上述丢失列表中),并清空上述跟踪列表中与该被跟踪人体相关的记录。即,清空上述跟踪列表中记录的该跟踪人体的跟踪信息。

步骤107、将上述被跟踪人体的累计丢失次数加一,并返回步骤104;

本发明实施例中,当步骤106检测到该被跟踪人体的累计丢失次数未达到上述丢失次数阈值时,保持对该跟踪人体的继续跟踪,将该被跟踪人体的累计丢失次数加一。进一步,若通过丢失列表记录该被跟踪人体的累计丢失次数,则步骤107具体表现为:将该丢失列表中记录的该被跟踪人体的累计丢失次数加一。进一步,若该丢失列表中还记录有该被跟踪人体的图像,则可保持该丢失列表中的图像不变。

需要说明的是,本发明实施例中的人体跟踪方法可以由人体跟踪装置执行。上述人体跟踪装置可以集成在机器人、监控终端或其它终端中,此处不作限定。

由上可见,本发明实施例在确定被跟踪人体之后,初始化该被跟踪人体的累计丢失次数并基于摄像头采集到的图像持续进行人体检测,当检测不到人体或当次检测到的人体不为上述被跟踪人体时(即被跟踪人体跟丢时),检测该被跟丢人体的累计丢失次数是否达到预设的丢失次数阈值,如果未达到,则将该被跟踪人体的丢失次数加一并继续保持对该被跟踪人体的跟踪,如果达到,则重新进行被跟踪人体的确定。一方面,通过引入被跟踪人体的累计丢失次数,可以在跟丢被跟踪人体的情况下,实现对被跟丢的人体的继续跟踪;另一方面,通过设定丢失次数阈值,也可以避免因被跟踪人体长时间未出现在该摄像头采集的图像内而导致长时间无法进行人体跟踪的问题,提高了人体跟踪的灵活性。

实施例二

本发明实例以跟踪列表和丢失列表分别记录被跟踪人体的跟踪信息和被跟踪人体的累计丢失次数,如图2所示,本发明实施例中的人体跟踪方法包括:

步骤201、确定被跟踪人体;

具体的,步骤201可以参照图1-a中步骤101的描述,此处不再赘述。

步骤202、初始化丢失列表;

其中,初始化后的丢失列表为空。

步骤203、在跟踪列表中记录上述被跟踪人体的跟踪信息;

在步骤203中,在跟踪列表中记录步骤201确定的被跟踪人体的跟踪信息。该跟踪信息包括但不限于:被跟踪人体的识别信息、被跟踪人体的位置信息。

具体的,步骤203可以参照图1-a中步骤103的描述,此处不再赘述。

步骤204、基于摄像头采集到的图像持续进行人体检测;

在步骤204中,基于摄像头采集到的图像持续进行人体检测,该摄像头可以是终端(例如监控终端、机器人等)上配置的摄像头,或者,也可以是能够与该终端通讯的其它摄像头仪器,此处不作限定。

可选的,在步骤204中,基于摄像头采集到的图像,采用Faster R-CNN持续进行人体检测,利用卷积神经网络强大的提取图像深层特征的能力,实现更为准确的人体检测和跟踪。当然,本发明实施例中,也可以采用其它基于图像的人体检测算法对该摄像头采集到的图像进行人体检测,此处不做限定。

当检测到人体时,进入步骤205,当检测不到人体时,进入步骤208。

步骤205、判断当次检测到的人体是否为上述跟踪列表记录的被跟踪人体;

本发明实施例中,判断该人体是否为上述跟踪列表记录的被跟踪人体,若是,则进入步骤207,若否,则进入步骤206。

具体的,当上述跟踪信息包括:上述被跟踪人体的图像时,步骤205可以通过如下方式判断当次检测到的人体是否为上述跟踪列表记录的被跟踪人体:基于上述跟踪信息包含的上述被跟踪人体的图像,采用预设的人体识别模型判断当次检测到的人体是否为上述跟踪列表记录的被跟踪人体。其中,上述人体识别模型基于卷积神经网络训练得到,上述人体识别模型用于判断两个人体是否属于同一个人体。通过大量的训练数据并基于卷积神经网络训练该人体识别模型,能够使得采用该人体识别模型进行人体识别(即判断两个人体是否属于是同一个人体)的识别准确性要强于传统的识别方法(例如基于HOG特征的方法和基于轮廓特征的方法等)。

进一步,在上述跟踪信息还包括该被跟踪人体的位置信息的情况下,步骤205可以包括:当检测到人体时,根据上述跟踪列表中记录的该被跟踪人体的位置信息,计算该被跟踪人体与当次检测到的所有人体的位置覆盖率;若存在位置覆盖率不小于预设的覆盖率阈值的人体,则将与该被跟踪人体的位置覆盖率最大的当次检测到的人体确定为该跟踪列表记录的被跟踪人体;若不存在位置覆盖率不小于上述覆盖率阈值的人体,则基于上述跟踪信息包含的上述被跟踪人体的图像,采用上述人体识别模型判断当次检测到的人体是否为上述跟踪列表记录的被跟踪人体。其中,上述位置覆盖率也即人体在不同图像中所占区域(例如人体在不同图像中所在的人体矩形框)的重叠面积与非重叠面积的比值。由于步骤204是基于摄像头采集到的图像持续进行人体检测,因此,被跟踪人体在连续采集到的帧图像中的位置应该变化很小,相应的,被跟踪人体在连续两帧图像中所在区域的重叠面积应该较大,相应的,被跟踪人体在连续两帧图像中的位置覆盖率也会较大。故上述方案中,在采用上述人体识别模型进行识别判断之前,先通过计算该被跟踪人体与当次检测到的所有人体的位置覆盖率,在存在位置覆盖率不小于上述覆盖率阈值的人体时,将与该被跟踪人体的位置覆盖率最大的当次检测到的人体确定为该跟踪列表记录的被跟踪人体,从而可以省去采用上述人体识别模型进行识别判断需要耗费的时间,提高人体跟踪效率。具体的,关于上述位置覆盖率的说明可以参照图1-a步骤104中的描述,此处不再赘述。

步骤206、判断当次检测到的人体是否为上述丢失列表记录的被跟踪人体;

本发明实施例中,当步骤205判断出该人体不为上述跟踪列表记录的被跟踪人体时,进一步判断当次检测到的人体是否为上述丢失列表记录的被跟踪人体,若是,则进入步骤207,若否,则进入步骤208。

进一步,本发明实施例中在被跟踪人体首次跟丢时,即步骤204中首次检测不到该被跟踪人体时,可以在上述丢失列表中记录上述被跟踪人体的图像(例如将当前跟踪列表中记录的该被跟踪人体的图像存入上述丢失列表中),并清空上述跟踪列表中与该被跟踪人体相关的记录。即,清空上述跟踪列表中记录的该跟踪人体的跟踪信息。具体的,当上述跟踪信息包括上述被跟踪人体的图像时,步骤206也可以基于上述跟踪信息包含的上述被跟踪人体的图像,采用上述人体识别模型判断当次检测到的人体是否为上述丢失列表记录的被跟踪人体。

步骤207、将当次检测到的人体的跟踪信息更新到上述跟踪列表中,且在上述丢失列表中记录的被跟踪人体的累计丢失次数不为零时初始化该丢失列表;

本发明实施例中,当检测到人体且当次检测到的人体为上述被跟踪人体时,将当次检测到的人体的跟踪信息更新到上述跟踪列表中,之后返回步骤204。举例说明,设上述跟踪信息包括:被跟踪人体的识别信息和位置信息。当步骤204从图像A1中检测到被跟踪人体,则该被跟踪人体的识别信息也即图像A1所包含的该被跟踪人体的图像部分(例如图像A1中被跟踪人体所在的人体矩形框内的图像部分),该被跟踪人体的位置信息指示该被跟踪人体在图像A1中所处的坐标位置,此时在上述跟踪列表中更新被跟踪人体的跟踪信息,更新后的被跟踪人体的识别信息为图像A1所包含的该被跟踪人体的图像部分,更新后的被跟踪人体的位置信息为被跟踪人体在图像A1中所处的坐标位置。具体的,可将在图像A1中检测到的该被跟踪人体所在的人体矩形框的左上顶点和右下顶点的坐标视为该被跟踪人体在图像A1中所处的坐标位置,或者,也可以将在图像A1中检测到的该被跟踪人体所在的人体矩形框的左下顶点和右上顶点的坐标视为该被跟踪人体在图像A1中所处的坐标位置,此处不作限定。

进一步,若上述被跟踪人体的累计丢失次数不为零,则表明此前跟丢的被跟踪人体被重新跟踪到,此时初始化上述丢失列表。

步骤208、检测上述被跟踪人体的累计丢失次数是否达到预设的丢失次数阈值;

本发明实施例中,当被跟踪人体未出现在上述摄像头采集到的图像中时,将出现检测不到人体或检测到的人体不为上述被跟踪人体的情况,此时,进一步检测上述丢失列表中记录的该被跟踪人体的累计丢失次数是否达到预设的丢失次数阈值,如果检测到该被跟踪人体的累计丢失次数达到预设的丢失次数阈值,则返回执行步骤201,以便重新确定被跟踪人体,并基于新确定的被跟踪人体执行步骤201之后的步骤。如果检测到该被跟踪人体的累计丢失次数未达到上述丢失次数阈值,则进入步骤209。

进一步,当上述被跟踪人体的累计丢失次数0,则表明该被跟踪人体首次出现跟丢的情况,此时可在上述丢失列表中记录上述被跟踪人体的图像(例如将当前跟踪列表中记录的该被跟踪人体的图像存入上述丢失列表中),并清空上述跟踪列表中与该被跟踪人体相关的记录。即,清空上述跟踪列表中记录的该跟踪人体的跟踪信息。

步骤209、将上述被跟踪人体的累计丢失次数加一,并返回步骤204;

本发明实施例中,当步骤208检测到该被跟踪人体的累计丢失次数未达到上述丢失次数阈值时,保持对该跟踪人体的继续跟踪,并将上述丢失列表中记录的该被跟踪人体的累计丢失次数加一。进一步,若上述丢失列表中还记录有该被跟踪人体的图像,则可保持该丢失列表中的图像不变。

需要说明的是,本发明实施例中的人体跟踪方法可以由人体跟踪装置执行,上述人体跟踪装置可以集成在机器人、监控终端或其它终端中,此处不作限定。

由上可见,本发明实施例在确定被跟踪人体之后,初始化该被跟踪人体的累计丢失次数并基于摄像头采集到的图像持续进行人体检测,当检测不到人体或当次检测到的人体不为上述被跟踪人体时(即被跟踪人体跟丢时),检测该被跟丢人体的累计丢失次数是否达到预设的丢失次数阈值,如果未达到,则将该被跟踪人体的丢失次数加一并继续保持对该被跟踪人体的跟踪,如果达到,则重新进行被跟踪人体的确定。一方面,通过引入被跟踪人体的累计丢失次数,可以在跟丢被跟踪人体的情况下,实现对被跟丢的人体的继续跟踪;另一方面,通过设定丢失次数阈值,也可以避免因被跟踪人体长时间未出现在该摄像头采集的图像内而导致长时间无法进行人体跟踪的问题,提高了人体跟踪的灵活性。

实施例三

本发明实施例提供一种人体跟踪装置,如图3所示,本发明实施例中的人体跟踪装置300包括:

确定单元301,用于确定被跟踪人体;

初始化单元302,用于将上述被跟踪人体的累计丢失次数初始化为零;

跟踪更新单元303,用于在跟踪列表中记录上述被跟踪人体的跟踪信息;

人体检测单元304,用于基于摄像头采集到的图像持续进行人体检测;

丢失次数检测单元305,用于当人体检测单元304检测不到人体或人体检测单元304当次检测到的人体不为上述被跟踪人体时,检测上述被跟踪人体的累计丢失次数是否达到预设的丢失次数阈值;

丢失累计单元306,用于当丢失次数检测单元305检测到上述被跟踪人体的累计丢失次数未达到上述丢失次数阈值时,将上述被跟踪人体的累计丢失次数加一;

确定单元301在丢失次数检测单元305检测到上述被跟踪人体的累计丢失次数达到上述丢失次数阈值时再次触发;

跟踪更新单元303还用于:当人体检测单元304检测到人体且人体检测单元304当次检测到的人体为上述被跟踪人体时,将人体检测单元304当次检测到的人体的跟踪信息更新到上述跟踪列表中;

初始化单元302还用于:当人体检测单元304检测到人体且人体检测单元304当次检测到的人体为上述被跟踪人体,且上述被跟踪人体的累计丢失次数不为零时,将上述被跟踪人体的累计丢失次数清零。

可选的,确定单元301包括:

跟踪目标检测单元,用于持续进行人体检测直至检测到人体;

子确定单元,用于当上述跟踪目标检测单元检测到的人体的个数为1时,将上述跟踪目标检测单元当次检测到的人体确定为被跟踪人体;当上述跟踪目标检测单元检测到的人体的个数不为1时,将上述跟踪目标检测单元当次检测到的多个人体中的一个人体确定为被跟踪人体。

可选的,上述子确定单元具体用于:当上述跟踪目标检测单元检测到的人体的个数不为1时,分别计算上述跟踪目标检测单元当次检测到的各个人体的面积,将面积最大的人体确定为被跟踪人体。

可选的,通过丢失列表记录上述被跟踪人体的累计丢失次数;初始化单元302具体用于以初始化上述丢失列表的方式将上述被跟踪人体的累计丢失次数清零;其中,初始化后的丢失列表为空。

可选的,本发明实施例中的人体跟踪装置还包括:丢失记录单元,用于当人体检测单元304检测不到人体或人体检测单元304当次检测到的人体不为上述被跟踪人体,且上述被跟踪人体的累计丢失次数为0时,在上述丢失列表中记录上述被跟踪人体的图像;初始化单元302还用于:当人体检测单元304检测不到人体或人体检测单元304当次检测到的人体不为上述被跟踪人体,且上述被跟踪人体的累计丢失次数为0时,清空上述跟踪列表中与上述被跟踪人体相关的记录。

可选的,人体检测单元304具体用于:当检测到人体时,判断人体检测单元304当次检测到的人体是否为上述跟踪列表或上述丢失列表记录的被跟踪人体;若人体检测单元304当次检测到的人体为上述跟踪列表或上述丢失列表记录的被跟踪人体,则判定人体检测单元304当次检测到的人体为上述被跟踪人体;若人体检测单元304当次检测到的人体不为上述跟踪列表记录的被跟踪人体且不为上述丢失列表记录的被跟踪人体,则判定人体检测单元304当次检测到的人体不为上述被跟踪人体。

可选的,人体检测单元304具体用于:当检测到人体时,判断人体检测单元304当次检测到的人体是否为上述跟踪列表记录的被跟踪人体;若人体检测单元304当次检测到的人体不为上述跟踪列表记录的被跟踪人体,则判断人体检测单元304当次检测到的人体是否为上述丢失列表记录的被跟踪人体。

可选的,上述跟踪信息包括:上述被跟踪人体的位置信息和上述被跟踪人体的图像;人体检测单元304具体用于:当检测到人体时,根据上述跟踪列表中记录的上述被跟踪人体的位置信息,计算上述被跟踪人体与人体检测单元304当次检测到的所有人体的位置覆盖率;若存在位置覆盖率不小于预设的覆盖率阈值的人体,则将与上述被跟踪人体的位置覆盖率最大的当次检测到的人体确定为上述跟踪列表记录的被跟踪人体;若不存在位置覆盖率不小于预设的覆盖率阈值的人体,则基于上述跟踪信息包含的所述被跟踪人体的图像,采用预设的人体识别模型判断人体检测单元304当次检测到的人体是否为上述跟踪列表记录的被跟踪人体,其中,上述人体识别模型基于卷积神经网络训练得到。

可选的,人体检测单元304具体用于:基于摄像头采集到的图像,采用Faster R-CNN持续进行人体检测。

需要说明的是,本发明实施例中的人体跟踪装置可以集成在机器人、监控终端或其它终端中。该人体跟踪装置的各个功能模块的功能可以参照上述方法实施例中的描述,其具体实现过程可参照上述方法实施例中的相关描述,此处不再赘述。

由上可见,本发明实施例中的人体跟踪装置在确定被跟踪人体之后,初始化该被跟踪人体的累计丢失次数并基于摄像头采集到的图像持续进行人体检测,当检测不到人体或当次检测到的人体不为所述被跟踪人体时(即被跟踪人体跟丢时),检测该被跟丢人体的累计丢失次数是否达到预设的丢失次数阈值,如果未达到,则将该被跟踪人体的丢失次数加一并继续保持对该被跟踪人体的跟踪,如果达到,则重新进行被跟踪人体的确定。一方面,通过引入被跟踪人体的累计丢失次数,可以在跟丢被跟踪人体的情况下,实现对被跟丢的人体的继续跟踪;另一方面,通过设定丢失次数阈值,也可以避免因被跟踪人体长时间未出现在该摄像头采集的图像内而导致长时间无法进行人体跟踪的问题,提高了人体跟踪的灵活性。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上为对本发明所提供的一种人体跟踪方法和人体跟踪装置的描述,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

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