一种目标对象跟踪方法和装置与流程

文档序号:18454739发布日期:2019-08-17 01:30阅读:177来源:国知局
一种目标对象跟踪方法和装置与流程

本申请涉及计算机视觉领域,特别是涉及一种目标对象跟踪方法和装置。



背景技术:

目标对象跟踪技术是利用计算机视觉技术以在一个视频序列中的不同帧图像中跟踪同一目标对象的技术。该技术可以广泛应用于视频监控、智能交通、机器人导航、人流统计、人机交互等领域。

目前,目标对象跟踪技术最常用的方法为基于神经网络模型的方法,该方法通过从大量的目标对象样本中提取特征,以建立相应的神经网络模型,并根据该模型对目标对象进行跟踪。其中,提取的特征主要有目标对象的灰度、颜色、边缘、纹理、梯度直方图等维度的特征。可以理解,在应用该方法进行目标对象跟踪时,需要对灰度、颜色、边缘、纹理、梯度直方图等多个维度的特征进行运算,从而导致运算的复杂性较高,运算速度较慢,跟踪目标对象的实时性较差。

可见,如何提高目标对象跟踪的实时性,是目前亟需解决的问题。



技术实现要素:

为了解决上述技术问题,本申请提供了一种目标对象跟踪方法和装置,以用于提高目标对象跟踪的实时性。

本申请实施例公开了如下技术方案:

第一方面,本申请实施例提供了一种目标对象跟踪方法,所述方法包括:

获取待检测视频中的第i帧深度图像,所述第i帧深度图像中的像素点包括深度值;

根据所述第i帧深度图像中的像素点的深度值,从所述第i帧深度图像中分割出前景对象,所述前景对象为其中的像素点的深度值小于背景深度值的连通图像区域;

若第一前景对象与第二前景对象的重合面积比例不小于比例阈值,确定所述第一前景对象与所述第二前景对象对应于同一个目标对象,所述第一前景对象为所述第i帧深度图像中的任一个前景对象,所述第二前景对象为第i-1帧深度图像中的一个前景对象。

第二方面,本申请实施例提供了一种目标对象跟踪装置,所述装置包括获取单元、分割单元和确定单元:

所述获取单元,用于获取待检测视频中的第i帧深度图像,第i帧深度图像中的像素点包括深度值;

所述分割单元,用于根据第i帧深度图像中的像素点的深度值,从第i帧深度图像中分割出前景对象,所述前景对象为其中的像素点的深度值小于背景深度值的连通图像区域;

所述确定单元,用于若第一前景对象与第二前景对象的重合面积比例不小于比例阈值,确定所述第一前景对象与所述第二前景对象对应于同一个目标对象,所述第一前景对象为第i帧深度图像中的任一个前景对象,所述第二前景对象为第i-1帧深度图像中的一个前景对象。

由上述技术方案可以看出,在获取待检测视频中的第i帧深度图像之后,从该第i帧深度图像中分割出像素点的深度值小于背景深度值的连通图像区域,作为前景对象,也就是说,分割出的前景对象为像素点的深度值相对较低、且深度值较为接近的连通图像区域。然后,可以将任意一个前景对象作为第一前景对象,可以理解,由于获取第i帧深度图像与第i-1帧深度图像之间相差的时间间隔极短,故目标对象在极短的时间内移动的距离较小,这样,若第i帧深度图像中的第一前景对象与第i-1帧深度图像中的第二前景对象对应于同一目标对象,则该第i帧深度图像中的第一前景对象应当与第i-1帧深度图像中的第二前景对象的重合面积比例较大。基于该思想,如果第一前景对象与第二前景对象的面积重合比例大于或等于一个预设的比例阈值,则可以确定出第一前景对象与第二前景对象对应于同一个目标对象。可见,通过根据图像的深度这一维度的特征进行运算,以实现目标对象的跟踪,而无需提取多个维度的图像特征并运算,降低了运算的复杂性,提高了运算速度,从而提升了目标对象跟踪的实时性。

附图说明

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

图1为本申请实施例提供的一种目标对象跟踪方法流程图;

图2a为本申请实施例提供的一种深度图像示意图;

图2b为本申请实施例提供的一种blob示意图;

图3为本申请实施例提供的一种在第i帧深度图像中确定对应于地面的像素区域的方法流程图;

图4为本申请实施例提供的一种深度图像的背景深度模型的更新流程图;

图5a为本申请实施例提供的一种blob示意图;

图5b为本申请实施例提供的一种中间blob示意图;

图6a为本申请实施例提供的一种包括预设像素行的第二前景对象(blob1)示意图;

图6b为本申请实施例提供的一种第二前景对象(blob1)中第二图像区域示意图;

图7为本申请实施例提供的一种目标对象跟踪装置组成图。

具体实施方式

下面结合附图,对本申请的实施例进行描述。

目前,基于神经网络模型的方法进行目标对象跟踪时,通常需要提取多个维度的图像特征进行运算,由此导致运算的复杂性较高,运算速度较慢,跟踪目标对象的实时性较差。

为此,本申请实施例提供了一种目标对象跟踪方法,该方法的核心思想为仅根据图像的深度这一维度的特征进行运算,以实现目标对象跟踪,而无需提取多个维度的图像特征并运算,降低了运算的复杂性,提高了运算速度,从而提升了目标对象跟踪的实时性。这里所述的图像深度可以为图像的一个维度特征,图像中像素点的深度值可以用于表示这个像素点所表征的场景与镜头之间的远近程度,其中,像素点的深度值越高,表示这个像素点所表征的场景与镜头之间的距离越远;像素点的深度值越低,表示这个像素点所表征的场景与镜头之间的距离越近。

首先,对本申请实施例的应用场景进行介绍。本申请实施例所提供的目标对象跟踪方法可以应用于图像处理设备,例如可以是终端设备或服务器。

当图像处理设备为终端设备时,终端设备具体可以为智能手机、计算机、个人数字助理(personaldigitalassistant,pda)、平板电脑等。

在一些情况下应用场景中除了终端设备,还可以包括服务器,服务器可以获取来自终端设备的图像,以便由服务器执行本申请实施例提供的目标对象跟踪方法,并将目标对象的跟踪结果返回给终端设备。其中,服务器可以为独立服务器,也可以为集群服务器。需要说明的是,为了便于介绍,后续将以终端设备为执行主体为例对本申请实施例提供的目标对象跟踪方法进行介绍。

本申请实施例提供的目标对象跟踪方法,包括:首先,可以从待检测视频中获取当前的一帧深度图像,作为第i帧深度图像,其中,所述第i帧深度图像中的像素点包括有深度值;需要说明,相机所采集的每一帧深度图像,其中包括的部分图像区域可以对应于相机采集的真实场景中的一个对象,即一个实体,比如深度图像中的某一部分图像区域对应于真实场景中的一个椅子、或人体等。可以理解,对于对应于某个对象的部分图像区域来说,其中包括的每个像素点可以对应于该实体中的不同部位,由于该实体中的不同部位与镜头之间的距离在较为接近的范围内,因此,该部分图像区域中的每个像素点的深度值也较为接近。另外,基于实体的完整性,则对应于该实体的这部分图像区域可以为一个连通的图像区域。

基于此,针对于获取的第i帧深度图像,可以从中分割出前景对象。其中,前景对象可以为一个连通图像区域,且前景对象中的像素点的深度值小于背景深度值。也就是说,分割出的前景对象为距离镜头较近、且距离镜头的远近程度较为接近的连通图像区域。这样,可以保证分割出的前景对象可以对应于一个完整的实体,比如分割出的前景对象可以为对应于一个距离镜头较近的完整人体的连通图像区域。

可以理解,对于从一段连续的视频中获取的两个相邻帧深度图像而言,比如获取的第i帧和第i-1帧深度图像,由于在获取两个相邻帧深度图像时相差的时间间隔极短,比如时间间隔为0.1s,因此,对于需要跟踪的目标对象,其在获取第i帧和第i-1帧深度图像的过程中在真实场景下所移动的距离也极小。这样,若在第i帧深度图像中分割出的第一前景对象与在第i-1帧深度图像中分割出的某第二前景对象对应于同一目标对象,这两个前景对象的面积重合比例会较大。比如:针对于在第i帧深度图像中分割出的对应于目标对象a的第一前景对象,以及在第i-1帧深度图像中分割出的对应于目标对象a的第二前景对象,这两个前景对象的面积重合比例可能达到0.9。

基于该思想,在本申请实施例中,如果第i帧深度图像中的第一前景对象与第i-1帧深度图像中的第二前景对象的面积重合比例大于或等于一个预设的比例阈值,则可以确定出第一前景对象与第二前景对象对应于同一个目标对象。这样,比如第i-1帧深度图像中的第二前景对象对应于目标对象a,则第i帧深度图像的第一前景对象也对应于目标对象a。

由此可见,通过根据图像的深度这一维度的特征进行运算,以实现目标对象的跟踪,而无需提取多个维度的图像特征并运算,降低了运算的复杂性,提高了运算速度,从而提升了目标对象跟踪的实时性。

接下来,将结合图1对本申请实施例提供的一种目标对象跟踪方法进行介绍,参见图1,所述方法包括:

s101:获取待检测视频中的第i帧深度图像,第i帧深度图像中的像素点包括深度值。

在本申请实施例中,可以从待检测视频中获取当前的一帧深度图像,作为第i帧深度图像,其中,所述第i帧深度图像中的像素点包括有深度值。

在具体实现中,获取第i帧深度图像的方式比如可以为,应用具有深度图像采集功能的摄像机采集第i帧深度图像。

s102:根据第i帧深度图像中的像素点的深度值,从第i帧深度图像中分割出前景对象。

可以基于第i帧深度图像中的像素点的深度值,从第i帧深度图像中分割出前景对象。其中,前景对象可以为一个连通图像区域,且前景对象中的像素点的深度值小于背景深度值。其中,背景深度值可以为用于区分像素点对应于前景或者背景的阈值。而针对于背景深度值,可以根据实际情形或者实验数据等方式进行确定。

这样,可以保证分割出的前景对象可以对应于真实场景中的一个完整的对象,比如分割出的前景对象可以为对应于一个距离镜头较近的完整人体的连通图像区域。

在本申请实施例中,前景对象可以为二进制大对象(binarylargeobject,blob),其中,blob为其中的像素点具有相似深度值的连通图像区域,且blob中像素点的深度值小于背景深度值。在接下来的描述中,可以以blob作为前景对象进行描述。

在具体实现中,可以基于两步连通域标记算法,移除深度图像中的背景区域,分割出深度图像中的前景对象。接下来对该分割blob的方法进行介绍:

可以理解,由于相机的测量精度会随着所测距离的增大而减小,因此可以统计深度相机在不同测量距离上的测量误差,并将其作为先验知识;由此,首先,对于第i帧深度图像中的每一个像素点,可以比较其深度值与其邻域内像素点的深度值的关系,若两者之差远大于相机在该距离上测量误差,则可以确定这两个相邻点分别属于不同的连通图像区域,否则这两个相邻点属于相同的连通图像区域。根据该步骤,可以确定出每个像素点所属的连通图像区域,以及确定出每个连通图像区域的边缘所对应的像素点。

为了便于区分不同的连通图像区域,可以为连通图像区域内的像素点添加相应的标记,比如对于连通图像区域1来说,可以将其中的像素点添加标记a,对于连通图像区域2来说,可以将其中的像素点添加标记b。以及可以在一个关系表中记录这些对应于不同连通图像区域的标记,并维护该关系表。

接下来,根据两步连通域two-scan标记算法进行blob的分割。具体的,比如可以采用四邻域的two-scan标记算法进行blob的分割,在对第i帧深度图像进行第一次遍历时,为其中的每个像素点赋一个标记,该标记即为用于表示该像素点所属的连通图像区域的标记,比如:对第i帧深度图像中第1行第1列的像素点附一个标记a,以表示该像素点属于连通图像区域1。

需要说明,在进行第一次遍历后,可能会出现如下情形:针对于一个连通图像区域而言,为其中的每个像素点所附的标记可能不同。由此,可以对第i帧深度图像进行第二次遍历,以将属于同一连通图像区域的像素点的标记进行统一。在对第i帧深度图像进行第二次遍历时,可以将每一个像素点的标记,替换为其所属连通图像区域内的统一标记。其中,针对于每个连通图像区域的统一标记,其可以是从对应于该连通图像区域的多个标记中确定出的一个固定标记。由此,在第i帧深度图像中确定出不同的连通图像区域,并将他们分割出来。

可以理解的是,可以从深度图像中获取一个或多个blob,参见图2,其中,图2a为一种深度图像示意图,图2b为一种blob的示意图。如图2b所示,其中的由白色实线框内的灰色区域即为一个个被分割出来的blob,比如图2b中的标记的blob1和blob2等。其中,图2b中所示的blob1和blob2是从图2a所示的深度图像中分割出的。

s103:若第一前景对象与第二前景对象的重合面积比例不小于比例阈值,确定所述第一前景对象与所述第二前景对象对应于同一个目标对象。

在本申请实施例中,可以将从第i帧深度图像中分割出的每一个blob作为第一blob,将第i-1帧深度图像(第i帧深度图像的上一帧深度图像)中的一个blob作为第二blob,这样,若第一blob与第二blob的重合面积比例不小于比例阈值,则可以确定第一blob与第二blob对应于同一个目标对象。其中,重合面积比例可以是第一blob与第二blob的重合面积和所述第一blob的面积的比例,此外,这里所述的比例阈值可以是一个预先设置的阈值,以用于确定第一blob与第二blob是否对应于同一目标对象。以及,目标对象可以是真实场景中的实体,比如可以是用于跟踪的人体等。在一种可能的实现方式中,目标对象可以是运动的实体,比如运动的人体,运动的动物等。

综上所述,在获取待检测视频中的第i帧深度图像之后,从该第i帧深度图像中分割出像素点的深度值小于背景深度值的连通图像区域,作为前景对象,也就是说,分割出的前景对象为像素点的深度值相对较低、且深度值较为接近的连通图像区域。然后,可以将任意一个前景对象作为第一前景对象,可以理解,由于获取第i帧深度图像与第i-1帧深度图像之间相差的时间间隔极短,故目标对象在极短的时间内移动的距离较小,这样,若第i帧深度图像中的第一前景对象与第i-1帧深度图像中的第二前景对象对应于同一目标对象,则该第i帧深度图像中的第一前景对象应当与第i-1帧深度图像中的第二前景对象的重合面积比例较大。基于该思想,如果第一前景对象与第二前景对象的面积重合比例大于或等于一个预设的比例阈值,则可以确定出第一前景对象与第二前景对象对应于同一个目标对象。可见,通过根据图像的深度这一维度的特征进行运算,以实现目标对象的跟踪,而无需提取多个维度的图像特征并运算,降低了运算的复杂性,提高了运算速度,从而提升了目标对象跟踪的实时性。

在本申请实施例中,为了更为准确的从第i帧深度图像中分割出每个blob,在一种可能的实现方式中,可以在进行s102之前,为第i帧深度图像剔除对应于地面的像素区域。这样,在进行blob的分割时,可以从该不包括地面的像素区域的深度图像中进行blob的分割。由此,可以保证分割的blob中不包括对应地面的像素点,从而提高blob分割的准确性。

针对于为第i帧深度图像剔除对应于地面的像素区域的方法,在一种可能的实现方式中,所述方法包括:

s201:根据设置的相机姿态角,确定所述第i帧深度图像中像素点对应的场景在世界坐标系中的坐标。

可以理解,基于平面几何的先验知识,可以根据平面上的任意三点确定一个平面,因此可以从第i帧深度图像中确定出至少三个对应于地面的像素点的坐标,以确定出对应于地面的平面方程;然而,针对于确定对应于地面的像素点的坐标,又需要根据对应于地面的平面方程来确定。可见,这两者互为条件,无法以此确定出第i帧深度图像中对应于地面的像素点。

针对于该种情形,可以预先设置一组相机的姿态角,该姿态角可以包括相机的俯仰角和滚转角,其中,所述相机的俯仰角可以是相机坐标系中的x轴与水平面的夹角;所述相机的滚转角可以是相机坐标系中的y轴与通过相机坐标系z轴的铅垂面的夹角。

可以根据该设置的相机的姿态角,以确定出第i帧深度图像中每个像素点在世界坐标系中的坐标。其中,世界坐标系可以是系统的绝对坐标系,也可以将其理解为在真实场景中设立的坐标系。简单来说,确定出的第i帧深度图像中每个像素点在世界坐标系中的坐标,可以用于表征出该第i帧深度图像中的每个像素点对应的实体在真实场景下所对应的坐标。

s202:从所述坐标中确定出y坐标最小的至少三个坐标,根据所述至少三个坐标确定一个平面,所述y坐标为世界坐标中竖直坐标轴对应的坐标分量。

需要说明,世界坐标系中的y轴为竖直方向的坐标轴,也就是说,在为第i帧深度图像中的每个像素点确定出在世界坐标系中的坐标后,对于第i帧深度图像中的一个像素点而言,它的坐标中的y坐标可以用于表示该像素点对应的实体在真实场景下的竖直方向上的高度。

可以理解,对于第i帧深度图像所对应的真实场景,其中的对应于地面的像素区域应当具有高度最低的坐标。基于此,可以从确定出的这些坐标中确定出y坐标最小的至少三个坐标,比如从确定出的这些坐标中确定出y坐标最小的三个坐标,以根据这三个坐标确定出一个平面,即可以得到一个平面方程,具体的,可以根据这三点坐标确定一个平面所应用的平面方程是:a·x+b·y+c·z+d=0,其中,所述a、b、c和d分别为根据这三个点确定出的平面方程的参数。

这样,可以假设该平面方程为在预设的相机姿态角参数下的对应于地面的方程。

s203:若确定所述坐标中不包括与所述平面的距离为负值的坐标,确定所述平面对应于地面,确定位于所述平面内的坐标对应的像素点为对应于地面的像素点,剔除所述对应于地面的像素点。

可以理解,如果预设的相机姿态角为相机在采集该第i帧深度图像时的准确的姿态角,则,该第i帧深度图像中所有像素点所对应的场景应都位于地面内或者地面上。其中,像素点所对应的场景位于地面内即表示为该像素点对应于地面,像素点所对应的场景位于地面上即表示该像素点对应的场景为在地面以上的场景。由此可知,在根据每个像素点的坐标确定该像素点对应的场景与地面的距离时,该确定出的距离应大于或等于零,即为非负值。其中,根据像素点的坐标确定其与平面的距离d的公式为:所述x0、y0和z0分别为所述像素点坐标的三个分量。

这样,对于第i帧深度图像中所有像素点对应的坐标,若确定出其中不包括有与所述平面的距离为负值的坐标,由此可知,该平面方程即为对应于地面的方程,该平面对应于地面。这样,可以确定出位于该平面内的坐标对应的像素点,这部分像素点即为对应于地面的像素点,剔除这些对应于地面的像素点。

s204:若确定所述坐标中包括与所述平面的距离为负值的坐标,则重新设置所述相机姿态角,并执行s201-s204的步骤,直至确定所述坐标中不包括与所述平面的距离为负值的坐标。

对于第i帧深度图像中所有像素点对应的坐标,若确定出其中包括有与所述平面的距离为负值的坐标,这样可以确定出预设的相机姿态角为相机在采集第i帧深度图像时的不准确的姿态角,这样,可以重新设置相机的姿态角,并执行上述s201-s204的步骤,直至确定所述坐标中不包括与所述平面的距离为负值的坐标。

需要说明,如果经过预设次数仍无法准确的确定出地面对应的平面方程,则可以确定出该第i帧深度图像中不包括对应于地面的像素点。其中,所述预设次数可以根据实际情形确定。

简单来说,在第i帧深度图像中确定对应于地面的像素区域的方法,参见图3,该图示出了本申请实施例提供的一种在第i帧深度图像中确定对应于地面的像素区域的方法流程图,在获取第i帧深度图像后,可以进行相机姿态角初始化,并根据预设的相机姿态角,第i帧深度图像确定对应于地面的平面方程,以确定出该第i帧深度图像中每个像素点所对应场景的真实高度,从而确定出最低的至少三个像素点,并以此得到一个平面方程,并根据深度图像中其他的像素点的坐标与该平面方程的距离,以验证该平面方程是否为对应于地面的平面方程,若是,则可以确定出该平面方程为对应于地面的平面方程,并根据该平面方程在第i帧深度图像中标记出对应于地面的像素区域,若否,则重新设置相机姿态角,并执行前述的验证方法,以在该第i帧深度图像中标记出对应于地面的像素区域。

需要说明,本申请实施例不限定s102中从第i帧深度图像中分割出前景对象的方法,可以根据实际场景,选择适合的分割方法,在一种可能的实现方式中,为了更准确的从第i帧深度图像中分割出前景对象,则对于s102中分割出前景对象的方法可以包括:

s301:根据所述第i帧深度图像中像素点的深度值和所述第i帧深度图像对应的背景深度模型,从所述第i帧深度图像中分割出运动前景对象,所述背景深度模型包括每个像素点的背景深度值信息,所述运动前景对象为对应于运动实体的前景对象。

在相机采集的场景中,可能包括有实体在该场景内运动,为了区分出这种运动的实体,在获取到第i帧深度图像后,可以从该第i帧深度图像中分割出对应与运动实体的运动blob。

在本申请实施例中,可以根据背景深度模型,以用于从深度图像中分割出运动blob,可以理解,相机所获取的每一帧深度图像,其中包括的像素点的数量及排布方式都是相同的,这样,本申请实施例提供的背景深度模型中可以包括深度图像中每个像素点的背景深度值信息,其中,每个像素点的背景深度值信息中可以包括所述像素点所对应的场景为背景时的深度值信息。

需要说明,可以预先建立一个背景深度模型,以用于进行运动blob的分割,可以理解的是,若相机采集的场景中包括有运动的实体,则对于背景深度模型而言,其中的背景深度值信息可以是变化的,由此,在建立背景深度模型之后,可以对背景深度模型进行更新,以保证之后获取的深度图像都可以根据最新的背景深度模型分割运动blob,从而提高运动blob分割的准确性。

基于此,对于获取的第i帧深度图像,可以对应有相应的背景深度模型。从而,对于从第i帧深度图像的运动blob的分割,是根据该第i帧深度图像中像素点的深度值和该第i帧深度图像对应的背景深度模型,从该第i帧深度图像中分割出运动blob。

这样,若在相机采集第i帧深度图像时,在相机采集的场景中包括有实体在进行运动,则可以根据第i帧深度图像中像素点的深度值和与所述像素点对应的背景深度值信息之间的差异,以从第i帧深度图像中确定出这些运动blob,并将它们分割出来。

在本申请实施例中,对于s301中根据第i帧深度图像中像素点的深度值和第i帧深度图像对应的背景深度模型,从第i帧深度图像中分割出运动前景对象的方法,可以包括:

s401:若所述目标像素点的深度值不符合对应的背景深度信息,确定所述目标像素点为属于所述运动前景对象的像素点,所述目标像素点为所述第i帧深度图像中的任一个像素点。

在本申请实施例中,可以将第i帧深度图像中的任意一个像素点作为目标像素点,则,针对于目标像素点,它可以对应有相应的背景深度信息,如果该目标像素点的深度值不符合与之对应的背景深度信息,则可以确定该目标像素点为属于运动blob的像素点。由此,可以针对第i帧深度图像中的全部像素点,都通过s401的方法确定属于运动blob的像素点。

举例来说,假设第i帧深度图像中像素点x对应的背景深度信息为8-8.1米的范围,其对应的实体为墙面,而第i帧深度图像中像素点x的深度值为2米,则可以确定该像素点x的深度值不符合该像素点x对应的背景深度信息,该像素点x属于运动blob的像素点。其中,出现该情形的真实场景比如可以是:实体运动至该像素点对应的墙面,并遮住了该墙面,使得该像素点x的深度值减小为2米。

s402:根据所述运动前景对象的像素点,确定出所述运动前景对象。

这样,可以根据确定出的属于运动blob的像素点,确定出属于同一连通图像区域的像素点,进而将确定出的每个连通图像区域作为运动blob。

s302:根据所述第i帧深度图像中像素点的深度值和所述运动blob,从所述第i帧深度图像中分割出前景对象。

可以理解的是,在对第i帧深度图像进行blob的分割时,是基于第i帧深度图像中每个像素点的深度值进行分割的,可以理解,深度值用于表示像素点所对应的实体与相机镜头间的距离,这样,若对应于两个不同实体的blob,则可能会出现如下情形:由于它们之间相接触且它们与相机镜头的距离接近,从而在进行blob的分割时将它们分割为一个blob,而无法将它们分割为两个独立的blob。

因此,在从第i帧深度图像中分割出运动blob之后,则可以根据第i帧深度图像中像素点的深度值和运动blob,从第i帧深度图像中更为准确的分割出前景对象。

举例说明:在为图2所示的深度图像进行blob分割时,很容易根据第i帧深度图像中像素点的深度值,将对应于人体的blob1和对应于柜子的blob2分割为同一个blob,这样,如果对应于人体的blob1是运动的,则可以在s301中将对应于人体的blob1作为运动blob分割出来,从而,在分割包括对应于人体和对应于柜子的blob时,则可以根据运动blob、即blob1,将该blob分别分割为对应于人体的blob1和对应于柜子的blob2。

接下来,对本申请实施例提供的背景深度模型的建立及更新方法进行介绍,在一种可能的实现方式中,所述背景深度模型可以是根据如下方式得到的:

首先,对背景深度模型的建立方法进行介绍:

可以根据相机启动时所获取的前n帧深度图像中像素点的深度值,以建立背景深度模型。其中,可以为深度图像的每一个像素点建立一个背景深度值信息,且对于一个像素点的背景深度值信息,其中可以包括有多个背景关键词,在每个背景关键词中可以包括有四个分量,分别为平均深度值、最大深度值、最小深度值和陈旧参数。

简单来说,为像素点建立其对应的背景深度值信息的方法,即为对该像素点,建立与其对应的多个背景关键词,且每个背景关键词中包括平均深度值、最大深度值、最小深度值和陈旧参数。其中,平均深度值是根据获取的深度图像中该像素点的深度值确定的,最大深度值和最小深度值可以是根据平均深度值和相机对应于该平均深度值下的深度误差确定的;陈旧参数是针对于之后的深度图像在应用该背景深度模型时,与该深度图像中该像素点的深度值是否满足这个背景关键词的深度值范围相关,需要说明,如果越多的深度图像中的该像素点的深度值满足该背景关键词的深度值范围,则陈旧参数越小。根据陈旧参数,可以为该像素点清除那些错误的背景关键词。

在具体场景中,可以将所述背景深度值信息记为代码本(codebook,cb),将所述背景关键词记为代码关键词(codeword,cw),将平均深度值记为符号mean,将最大深度值记为符号high,将最小深度值记为符号low,将陈旧参数记为符号stale。

则,对于深度图像中的任一个像素点,比如是深度图像第一行第一列的像素点x,为其建立背景深度值信息的方法可以如下:

在相机启动时获取了第一帧深度图像时,可以根据该第一帧深度图像中像素点x的深度值d1,为该像素点x建立一个背景关键词cw1,具体的,可以根据第一帧深度图像中像素点x的深度值d1,确定出该像素点x所对应的场景与相机镜头间的距离l1,从而确定出相机在测量该距离l1下的深度误差δd1,由此,对于背景关键词cw1,可以将该第一帧深度图像中像素点x的深度值d1确定为该cw1的平均深度值,即:mean1=d1,将像素点x的深度值d1与深度误差δd1的和(d1+δd1)作为该cw1的最大深度值,即:high1=d1+δd1,将像素点x的深度值d1与深度误差δd1的差(d1-δd1)作为该cw1的最小深度值,即:low1=d1-δd1,将陈旧参数stale1设置为0。

接下来,对于相机启动时获取的第2-n帧中的第k帧深度图像,假设当前建立了a个背景关键词cwa,且该第k帧深度图像中像素点x的深度值为dk,则,若该深度值dk符合某一个背景关键词cwa中的最小深度值lowa=da-δda与最大深度值higha=da+δda的范围内,即da-δda<dk<da+δda,那么,将该背景关键词cwa中的原平均深度值更新为新的平均深度值meana=(da+dk)/2,相应的,更新最大深度值higha=(da+dk)/2+δda,更新最小深度值lowa=(da+dk)/2-δda。

若该深度值dk不符合任意一个背景关键词cwa中的最小深度值最lowa=da-δda与最大深度值higha=da+δda的范围内,即da-δda>dk,或者,dk>da+δda,则,根据该第k帧深度图像中像素点x的深度值dk建立一个新的背景关键词cwk,具体的,可以根据第k帧深度图像中像素点x的深度值dk,确定出该像素点x所对应的场景与相机镜头间的距离lk,从而确定出相机在测量该距离lk下的深度误差δdk,由此,对于背景关键词cwk,可以将该第k帧深度图像中像素点x的深度值dk确定为该cwk的平均深度值,即:meank=dk,将像素点x的深度值dk与深度误差δdk的和(dk+δdk)作为该cwk的最大深度值,即:highk=dk+δdk,将像素点x的深度值dk与深度误差δdk的差(dk-δdk)作为该cwk的最小深度值,即:lowk=dk-δdk,将陈旧参数stalek设置为0。

根据上述方法,可以为像素点x建立多个背景关键词cw,需要说明,在实际场景中,可以为一个像素点建立适量的背景关键词,比如为每个关键词建立四个背景关键词cw1、cw2、cw3和cw4。其中,可以从每个像素点的多个背景关键词中确定出平均深度值最大的背景关键词,作为最大背景关键词(maxcodeword,mcw)。也就是说,对于每个像素点来说,为其建立的背景深度值信息cb中包括有一个最大背景关键词mcw和其他的背景关键词cw。

在本申请实施例中,如果第i帧深度图像对应的背景深度模型为上述实施例中的背景深度模型,则对于s301中根据第i帧深度图像中像素点的深度值和第i帧深度图像对应的背景深度模型,从第i帧深度图像中分割出运动blob的方法,上述的s401比如可以为:对于深度值为ds的目标像素点s,可以为其遍历其对应的全部背景关键词cw,若存在一个背景关键词cwi,使得lowi<ds<highi时,其中,highi和lowi分别为背景关键词cwi的最大深度值和最小深度值,highi=di+δdi、lowi=di-δdi。这样,则确定所述深度值为ds的目标像素点s不属于对应于运动前景对象的像素点。若不存在这样的背景关键词cwi,确定该目标像素点s的深度值ds是否满足最大背景关键词的像素点范围,即确定ds是否满足lowmax<ds<highmax,其中,highmax和lowmax分别为最大背景关键词mcw的最大深度值和最小深度值,highmax=dmax+δdmax、lowmax=dmax-δdmax。若满足,则确定所述深度值为ds的目标像素点s不属于对应于前景运动对象的像素点,若不满足,则确定该目标像素点s属于对应于前景运动对象的像素点。

接下来,对背景深度模型的更新方法进行介绍:

简单来说,对深度图像的背景深度模型的更新方法,参见图4,该图示出了本申请实施例提供的一种深度图像的背景深度模型的更新流程图,该方法包括:

对于获取的用于更新背景深度模型的深度图像,若获取到一个像素点,且该像素点不属于该深度图像中的最后一个像素点,则确定该像素点是否属于该深度图像中分割出的运动blob,若是,则对于像素点的背景深度值信息的更新方法为:清除其中的除最大背景关键词外的全部背景关键词,即仅保留最大背景关键词作为该像素点的背景深度值信息;若否,则根据该像素点的深度值d,更新该像素点对应的背景深度值信息中的最大背景关键词mcw以及其他全部的背景关键词cw,并清除陈旧的背景关键词cw,直至对深度图像中的全部像素点完成更新。

下面对背景深度模型的更新方法进行详细介绍:

在建立所述背景深度模型之后,将每隔m帧获取的深度图像作为用于更新所述背景深度模型的深度图像,比如:可以将在建立背景深度模型之后获取的每一帧深度图像,都作为用于更新背景深度模型的深度图像,也就是将每隔0帧获取的深度图像作为更新背景深度模型的深度图像,此外,为了减少计算,还可以将在建立背景深度模型之后比如每隔3帧获取的深度图像,作为用于更新背景深度模型的深度图像等。

则,可以根据该用于更新背景深度模型的深度图像中像素点的深度值,更新背景深度模型。下面以第i帧深度图像作为用于更新背景深度模型的深度图像为例,对更新背景深度模型的方法进行介绍。

可以理解,设置背景深度模型的一个目的为,从第i帧深度图像中分割出运动blob,并根据运动blob,以从第i帧深度图像中分割出blob,进而实现目标对象的跟踪。

那么,如果在第i帧深度图像中已经确定出一个运动blob1之后,且该运动blob1对应于运动的实体1,则,在对该第i帧深度图像之后的深度图像、比如第i+1帧深度图像进行运动blob1’的分割时,且该运动blob1’也对应于运动的实体1,则,由于运动的实体1在相机获取第i帧深度图像和第i+1帧深度图像的极短的时间间隔内移动的距离较小,由此,第i帧深度图像中的运动blob1与第i+1帧深度图像中的运动blob1’会具有大部分的重合的面积。基于此,针对于第i帧深度图像中运动blob1内的像素点对应的背景深度值信息,可以将其中的除最大背景关键词之外的其他背景深度值进行剔除,也就是说,对于第i帧深度图像中运动blob1内的像素点对应的背景深度值信息,仅为其保留最大背景关键词作为所述像素点的背景深度值信息。

这样,在从第i+1帧深度图像中分割出运动blob1’时,即使第i帧深度图像中运动blob1内的像素点对应的背景深度值信息仅包括最大背景关键词,由于第i+1帧深度图像中运动blob1’与第i帧深度图像中运动blob1的大部分面积重合,且第i+1帧深度图像中的运动blob1’内的像素点仍为深度值较小的像素点,则对于第i+1帧深度图像中运动blob1’内的像素点,仍能根据这些像素点对应的背景深度值信息(即最大背景关键词),以确定出这些像素点为属于运动blob1’的像素点,进而根据这些像素点确定出运动blob1’。

而对于第i帧深度图像中除运动blob外的其余像素点的背景深度值信息的更新方法,可以包括:

下面以第i帧深度图像中除运动blob外的像素点w的背景深度值信息的更新方法为例进行说明:假设第i帧深度图像中除运动blob外的像素点w的深度值为dw,像素点w对应的更新前的背景深度值信息cbw,其中,比如背景深度值信息cbw中包括mcw、cw1、cw2和cw3。

首先,更新该背景深度值信息cb中的最大背景关键词mcw,更新方法包括:假设更新前的最大背景关键词mcw包括meanmax、highmax、lowmax和stale,如果该像素点w的深度值为dw>highmax,则将该dw赋值给最大背景关键词mcw的平均深度值meanw,即meanw=dw,并根据更新后的平均深度值meanw,更新最大背景关键词mcw中的最大深度值和最小深度值,即:highmax=dw+δdmax,lowmax=dw-δdmax,其中,δdmax可以是更新后的mcw的深度误差,将该最大背景关键词mcw中的陈旧参数清零,即stale=0。

如果该像素点w的深度值为lowmax<dw<highmax,则将该dw和meanw的平均值作为最大背景关键词mcw的平均深度值meanw,即meanw=(dw+meanw)/2,并根据平均深度值meanw和相机对应于该平均深度值meanw下的深度误差δdw更新最大背景关键词mcw中的最大深度值和最小深度值,更新后的最大背景关键词mcw中的最大深度值和最小深度值为:highmax=(dw+meanw)/2+δdmax、lowmax=(dw+meanw)/2-δdmax,将该最大背景关键词mcw中的陈旧参数清零,即stale=0。

如果该像素点w的深度值为dw<lowmax,则增加该最大背景关键词mcw中的陈旧参数,比如对stale加一。

最后,确定更新后的最大背景关键词mcw中的stale是否超过陈旧阈值,若超过陈旧阈值,则确定该mcw是错误的,则将该dw赋值给最大背景关键词mcw的平均深度值meanw,即meanw=dw,并根据平均深度值meanw和相机对应于该平均深度值meanw下的深度误差δdw更新最大背景关键词mcw中的最大深度值和最小深度值,即:highmax=dw+δdw,lowmax=dw-δdw,将该最大背景关键词mcw中的陈旧参数清零,即stale=0。

接下来,更新该背景深度值信息cb中的背景关键词cw,更新方法包括:首先,判断该背景深度值信息cb中是否不包括背景关键词cw,若不包括,则针对于该种情形,为该背景深度值信息cb新建一个背景关键词cw,则将该dw赋值给背景关键词cw的平均深度值meanw,即meanw=dw,并根据平均深度值meanw和相机对应于该平均深度值meanw下的深度误差δdw更新该新建的背景关键词cw中的最大深度值和最小深度值,即:highw=dw+δdw,loww=dw-δdw,将该新建的背景关键词cw中的陈旧参数清零,即stale=0。

若包括,则针对于该种情形,从该背景深度值信息cb中的全部cw,即cw1、cw2和cw3中确定是否存在cwz,满足lowz<dw<highz,其中,z=1,2,3,若存在这样的cwz,则将该dw和meanz的平均值作为最大背景关键词mcw的平均深度值meanz,即meanz=(dw+meanz)/2,并根据平均深度值meanz,更新背景关键词cwz中的最大深度值和最小深度值,即:highz=(dw+meanz)/2+δdz,lowz=(dw+meanz)/2-δdz,将该背景关键词cwz中的陈旧参数清零,即stale=0。并将除该背景关键词cwz之外的其他cw的陈旧参数加一。

此外,若不存在这样的cwz,判断该背景深度值信息cb中背景关键词cw的数量是否超过预设的cw数量阈值,若未超过,则针对于该种情形,为该背景深度值信息cb新建一个背景关键词cw,则将该dw赋值给背景关键词cw的平均深度值meanw(meanw=dw),并根据平均深度值meanw和相机对应于该平均深度值meanw下的深度误差δdw更新该新建的背景关键词cw中的最大深度值和最小深度值,即:highw=dw+δdw,loww=dw-δdw,将该该新建的背景关键词cw中的陈旧参数清零,即stale=0。

若超过,针对于该种情形,则针对于该背景深度值信息cb中的全部背景关键词cw中,从中确定出陈旧参数最大的背景关键词cwy,将该dw赋值给背景关键词cwy的平均深度值meany,即meany=dw,并根据平均深度值meany和相机对应于该平均深度值meany下的深度误差δdw更新该新建的背景关键词cwy中的最大深度值和最小深度值,即:highy=dw+δdw,lowy=dw-δdw,将该新建的背景关键词cwy中的陈旧参数清零,即stale=0。

最后,确定更新后的全部背景关键词cw中的stale是否超过陈旧阈值,若超过阈值,则确定该cw是错误的,清除该错误的cw。

以上为本申请实施例提供的背景深度模型的建立及更新方法。

实际上,对于s102中分割出的blob,可能会出现如下的情形:第一、该blob可以只对应于真实场景中的一个对象,例如图2a中的blob1,也就是说,在相机采集该第i帧深度图像所对应的真实场景中,所述对象未与其他对象接触,第二、该blob还可以对应于真实场景中的两个或多个对象,参见图5a,该图示出了本申请实施例提供的一种blob的示意图,如图5a所示,其中的blob3对应于2个对象。也就是说,在相机采集该第i帧深度图像所对应的真实场景中,所述对象与其他的一个或多个对象接触。

可以理解,如果s103中的第一前景对象为第二种情形下的blob,则,在该种场景下,由于该第一前景对象对应于真实场景中的两个或多个对象,因此,第一前景对象的面积相对较大,从而导致第一前景对象与第二前景对象的重合面积比例小于比例阈值,而且,第一前景对象还可以与第i-1帧中的n个第三前景对象重合,且第二前景对象是这n个第三前景对象中的任意一个第三前景对象。

故,在一种可能的方式中,如果第一前景对象与第二前景对象的重合面积比例小于比例阈值,且第一前景对象与n个第三前景对象的重合面积比例不小于第一比例阈值,其中,第一前景对象与第三前景对象的重合面积比例可以为,第一前景对象与第三前景对象的重合面积和第一前景对象的面积的比例,第一比例阈值根据n确定,需要说明,第一比例阈值应当低于1/n,比如:若第一前景对象与3个第三前景对象重合,可以将第一比例阈值设置为较低于1/3的数值。则,本申请实施例提供的目标对象跟踪方法还可以包括:

s501:根据所述第一前景对象中的像素点的深度值,从所述第一前景对象中分割出中间前景对象,所述中间前景对象的深度值差小于所述第一前景对象的深度值差,其中,前景对象的深度值差是所述前景对象中的像素点的最大深度值与最小深度值的差。可以基于第一前景对象中像素点的深度值,从第一前景对象中分割出中间blob,其中,中间blob可以为一个连通图像区域,且中间blob的深度值差小于第一前景对象的深度值差。其中,前景对象的深度值差可以是指该前景对象中的像素点的最大深度值与最小深度值的差。举例来说,假设一个blob中的像素点g的深度值为该blob中像素点的最大深度值,该blob中的像素点h的深度值为该blob中像素点的最小深度值。则,像素点g与像素点h的深度值之差即可以作为该blob的深度值差。

也就是说,对于s102分割出的第一前景对象,通过更小的深度值误差粒度对其进行了进一步分割,进而将第一前景对象分割成了更多的中间blob,参见图5b,该图示出了本申请实施例提供的一种中间blob示意图,如图5b所示,其中包括的不同灰度的连通图像区域(如blob4)即为对初级blob3进行进一步分割后得到的中间blob。

需要说明,在进行s501之前,可以对分割出的初级blob进行均值滤波,以降低初级blob内的噪声影响。

s502:若所述中间前景对象与第二前景对象的重合面积比例不小于第二比例阈值,确定所述中间前景对象对应于所述目标对象的一部分,其中,所述第二前景对象对应于所述目标对象。

可以根据第二前景对象,以在这些中间blob中确定出一部分中间blob,使得这部分中间blob相应的对应于目标对象的一部分。其中,中间blob与第二前景对象的重合面积比例可以是中间blob与第二前景对象的重合面积和中间blob的面积的比例。第二前景对象对应于目标对象。

其中,可以通过确定中间blob与第二前景对象的重合面积比例是否大于或等于第二比例阈值,若中间blob与第二前景对象的重合面积比例是否大于或等于第二比例阈值,则可以确定这样的中间blob对应于第二前景对象对应的目标对象的一部分。

需要说明,本申请实施例不限定比例阈值、第一比例阈值和第二比例阈值的关系,可以根据实际情况,预先确定适合的比例阈值、第一比例阈值和第二比例阈值。

例如:如图5b所示,针对于对应于目标对象的第二前景对象,若某一中间blob(比如blob4)与该第二前景对象的重合面积比例大于0.5,其中,0.5可以是第二比例阈值,则可以确定出所述中间blob对应于目标对象的一部分(目标对象的头部)。从而,可以确定出对应于目标对象一部分的、全部中间blob。

s503:确定由所述对应于所述目标对象的一部分的中间前景对象组成的前景对象,与所述第二前景对象对应于同一个目标对象。

这样,可以根据这些确定出的对应于所述目标对象的一部分的中间前景blob,将这些中间blob组成一个blob,则,所述blob即与所述第二前景对象对应于同一个目标对象。

可以理解,针对于在第一次分割时未分割开的、粘连的第一前景对象(对应多个对象的第一前景对象),通过对其采用更小的分割阈值进行再次分割,以将这样的第一前景对象分割成了若干个中间前景对象,并通过上述方法,对再次分割得到的中间前景对象进行逐块判断,从而可以对对应于多个对象的第一前景对象进行准确的拆分,更利于目标对象的跟踪。

需要说明,如果跟踪的目标对象为人体时,则在进行s103之前,在一种可能的实现方式中,还需要确定第二前景对象是否人体,如果第二前景对象为人体,则可以为其添加编号,以区分不同人体,这样,在进行s103之后,若第一前景对象与第二前景对象对应于同一个目标对象,则可以为第一前景对象添加与第二前景对象相同的编号。

其中,确定第二前景对象是否人体的方法包括:

s601:获取第i-1帧深度图像,所述第i-1帧深度图像中的像素点包括深度值。

s602:根据所述第i-1帧深度图像中的像素点的深度值,从所述第i-1帧深度图像中分割出前景对象。

s601-s602的具体实施方式可以参考前述s101-s102的实施方式,此处不再赘述。

s603:根据第二前景对象的深度值与对应于第i-1帧深度图像的相机参数,确定第二前景对象是否满足对应第二前景对象的人体部位条件。

在本申请实施例中,针对于从第i-1帧深度图像中分割出的第二前景对象,还可以基于人体的先验条件,该第二前景对象的深度值以及相机参数,确定出该第二前景对象在对应于正常人体时需要满足的各个人体部位特征,即对应于该第二前景对象的人体部位条件。

可以理解,该第二前景对象中可以包括有多个像素点,也就是说,该第二前景对象包括有多个深度值。那么,对于如何为该第二前景对象选择用于确定该第二前景对象的人体部位条件的深度值,在本申请实施例中不限定它的确定方法,比如可以将该第二前景对象中任意一个像素点的深度值选择为用于确定该第二前景对象的人体部位条件的深度值。

在一种可能的实现方式中,可以将该第二前景对象中所有像素点的平均深度值,作为用于确定对应于该第二前景对象的人体部位条件的深度值,从而可以更为准确的确定出对应于该第二前景对象的人体部位条件。

由于该第二前景对象包括有它对应的实体的形状等特征,可以根据该第二前景对象的这些特征,确定该第二前景对象是否满足与之对应的人体部位条件,如果满足,则可以确定该第二前景对象为人体,如果不满足,则可以确定该第二前景对象为非人体。

在为该第二前景对象确定出与之对应的人体部位条件之后,可以确定该第二前景对象包括的实体特征是否满足与之对应的人体部位条件,若满足,则可以确定出该第二前景对象为人体,若不满足,则可以确定出该第二前景对象为非人体。

s604:根据对所述第二前景对象的确定结果,确定所述第二前景对象是否为人体。

在本申请实施例中,可以根据步骤s603中得出的对第二前景对象的确定结果,确定出第二前景对象是否为人体。

可以理解的是,由于深度图噪声的影响,若s602分割出的blob中,可能会包括有面积过小的blob,比如仅包括个位数量级的像素点数量的blob。

为此,在一种可能的实现方式中,在进行s603之前,所述方法还包括:

s701:根据所述前景对象的深度值与相机参数,确定对应所述前景对象的人体面积条件。

可以理解,可以根据blob的平均深度值和相机参数,确定出对应所述blob的人体面积条件,其中,所述人体面积条件可以为所述blob对应于人体时应当满足的面积条件。具体实现中,人体面积条件可以由像素点的数量范围表示。比如确定出的对应所述blob的人体面积条件可以为在600至800个像素点之间。

s702:如果所述前景对象的面积不满足所述人体面积条件,过滤所述前景对象。

在为blob确定与之对应的人体面积条件之后,可以确定出所述blob的面积,并判断所述blob的面积是否满足与之对应的人体面积条件,若不满足,则过滤掉所述blob。

由此,对于任意一个分割出的blob来说,在为其进行步骤s603之前,可以确定它是否满足与之对应的人体面积条件,若不满足,就可以确定出所述blob为非人体,而无需进行s103的判断,从而提升了深度图像的人体检测效率。

此外,在s602分割出的blob中,可能会分割出宽高比例与人体宽高比例相差较大的blob。为此,在一种可能的实现方式中,在进行s603之前,所述方法还包括:如果前景对象的宽高比例不满足人体宽高比例条件,过滤前景对象。

可以根据人体先验条件,确定出人体宽高比例范围,这里所述的人体宽高比例范围比如可以是,正常人体在水平方向的宽度与竖直方向的高度之间的比例范围。由此,在进行步骤s603之前,可以确定所述blob的宽高比例是否满足人体宽高比例条件,若不满足,则可以确定出所述blob为非人体,而无需进行s603的判断,从而提升了深度图像的人体检测效率。

由于人体的肩部条件具有较易确定的宽度和高度特征,因此,用于确定第二前景对象是否为人体的人体部位条件可以包括有人体肩部条件,那么,在一种可能的方式中,根据第二前景对象的深度值与相机参数,确定所述第二前景对象是否满足对应该第二前景对象的人体部位条件的方法可以包括:

s801:根据所述第二前景对象的深度值与相机参数,确定对应所述第二前景对象的所述人体肩部条件,所述人体肩部条件包括肩部宽度范围和肩部高度范围。

在本申请实施例中,可以根据第二前景对象的平均深度值与相机参数,确定出对应于第二前景对象的人体肩部条件。其中,所述人体肩部条件可以包括肩部宽度范围和肩部高度范围。

在具体实现中,肩部宽度范围比如可以为对应于肩部的像素行的连续像素点数量范围,比如肩部宽度范围为:像素行的连续像素点数量在400至500个范围内。另外,肩部高度范围可以为肩部所处的像素行与人体最高点所在像素行之间相间隔的像素点数量范围,或者,肩部高度范围比如可以为肩部所处的像素行与人体最低点所在像素行之间相间隔的像素点数量范围,比如肩部高度范围可以为肩部所处的像素行与人体最高点所在像素行之间相间隔的像素点数量在200至300个范围内,或者,肩部高度范围可以为肩部所处的像素行与人体最低点所在像素行之间相间隔的像素点数量在700至900个范围内。

s802:根据所述肩部宽度范围,在所述第二前景对象中确定目标肩部像素行,所述目标肩部像素行为所述第二前景对象中的目标肩部所在的像素行。

在确定出对应于第二前景对象的人体肩部条件(肩部宽度范围和肩部高度范围)之后,可以根据确定出的肩部宽度范围,在第二前景对象中确定出满足肩部宽度范围的像素行,该像素行可以为第二前景对象中可能对应于肩部的像素行,记为目标肩部像素行。

具体实现中,可以从第二前景对象最高点所在的像素行开始,依次向下计算第二前景对象每一像素行的连续像素点数量,当计算出连续两个像素行的连续像素点数量都满足肩部宽度范围时,确定这两个像素行中的任意一个像素行为目标肩部像素行。

可以理解的是,如果无法在第二前景对象中确定出目标肩部像素行,确定第二前景对象不满足人体肩部条件。

s803:确定所述目标肩部像素行的高度是否满足所述肩部高度范围,若是,执行所述s804,若否,执行所述s805。

在从第二前景对象中确定出目标肩部像素行之后,可以确定所述目标肩部像素行的高度,其中,所述目标肩部像素行的高度比如可以为目标肩部像素行与第二前景对象最低点所在像素行之间相间隔的像素点数量,比如所述目标肩部像素行的高度可以为目标肩部像素行与第二前景对象最低点所在像素行之间相间隔的200个像素点,或者,所述目标肩部像素行的高度比如可以为目标肩部像素行与第二前景对象最高点所在像素行之间相间隔的像素点数量,比如所述目标肩部像素行的高度可以为目标肩部像素行与第二前景对象最高点所在像素行之间相间隔的800个像素点。

在确定出所述目标肩部像素行的高度之后,可以判断所述目标肩部像素行的高度是否满足所述肩部高度范围。若是,执行所述s804,若否,执行所述s805。

s804:确定所述第二前景对象满足所述人体肩部条件。

s805:确定所述第二前景对象不满足所述人体肩部条件。

这样,就可以确定出第二前景对象是否满足人体肩部条件。进而根据第二前景对象是否满足人体肩部条件,确定出第二前景对象是否为人体。

在一种可能的实现方式中,用于确定第二前景对象是否为人体的人体部位条件还可以包括人体中线位置条件,那么,在一种可能的方式中,在所述确定第二前景对象满足所述人体肩部条件之后,所述根据第二前景对象的深度值与相机参数,确定所述第二前景对象是否满足人体部位条件的方法可以包括:

s901:根据所述第二前景对象的深度值与相机参数,确定对应所述第二前景对象的人体中线位置条件。

在本申请实施例中,可以根据第二前景对象的平均深度值与相机参数,确定出与之对应的人体中线位置条件。其中,人体中线可以为人体的对称中心线。而针对于人体中线位置条件,可以包括如下三种类型:第一种类型的人体中线位置条件可以为人体中线分别与人体左边缘和人体右边缘之间在水平方向上的宽度范围;第二种类型的人体中线位置条件可以为人体中线与人体左边缘之间在水平方向上的宽度范围;第三种类型的人体中线位置条件可以为人体中线与人体右边缘之间在水平方向上的宽度范围。

在具体实现中,人体中线与人体左边缘之间在水平方向上的宽度范围比如可以为人体中线与人体左边缘之间在水平方向上的连续像素点数量范围。相应的,人体中线与人体右边缘之间在水平方向上的宽度范围比如可以为人体中线与人体右边缘之间在水平方向上的连续像素点数量范围。

s902:确定所述第二前景对象的目标中线。

从第二前景对象中确定出目标中线。针对于确定第二前景对象的目标中线的方法,在一种可能的实现方式中,可以包括:

s1001:在第二深度图像的第一图像区域中确定连续像素点数量最多的像素列作为初级目标中线。

针对于第二深度图像,可以确定出高度低于所述目标肩部像素行的高度的像素行,作为预设像素行。参见图6a,该图示出了本申请实施例提供的一种包括预设像素行的第二前景对象(blob1)示意图。如图6a所示的第二前景对象中的白色虚线为对所述第二前景对象确定的预设像素行。其中,所述预设像素行与所述第二前景对象最高点所在像素行之间的距离d1大于所述目标肩部像素行与所述第二前景对象最高点所在像素行之间的距离d2。具体实现中,比如可以根据距离d2与距离d1满足d1=3d2的关系,确定出所述预设像素行所在的位置。另外,可以将所述第二前景对象中的预设像素行以上的图像区域记为第一图像区域s1,例如图5a所示的第一图像区域s1(由虚线表示的阴影区域)。

在第一图像区域中,可以确定出每一像素列的连续像素点的数量,并确定出连续像素点数量最多的像素列作为初级目标中线。

s1002:在第二前景对象的第二图像区域中,在位于所述初级目标中线的左侧的像素列中确定连续像素点数量最多的像素列,作为左侧初级目标中线。在位于所述初级目标中线的右侧的像素列中确定连续像素点数量最多的像素列,作为右侧初级目标中线。

在本申请实施例中,可以将所述第二前景对象中的所述目标肩部像素行以上的图像区域记为第二图像区域。参见图6b,该图示出了本申请实施例提供的一种第二前景对象(blob1)中第二图像区域示意图(由实线表示的阴影区域)。则,在确定出所述初级目标中线之后,可以确定出第二图像区域中每一像素列的连续像素点数量,并在位于所述初级目标中线的左侧的像素列中确定出连续像素点数量最多的像素列,作为左侧初级目标中线。在位于所述初级目标中线的右侧的像素列中确定出连续像素点数量最多的像素列,作为右侧初级目标中线。

s1003:确定所述左侧初级目标中线与右侧初级目标中线的对称中线,作为所述第二前景对象的目标中线。

从而确定出所述第二前景对象的目标中线,例如:参见图5b的第二前景对象中的竖直方向的黑色实线即为对第二前景对象确定出的目标中线。

s903:确定所述第二前景对象的目标中线位置,并判断所述第二前景对象的目标中线位置是否满足所述人体中线位置条件。若是,执行s904;若否,执行s905。

在本申请实施例中,可以确定出所述第二前景对象的目标中线位置。其中,所述第二前景对象的目标中线位置可以包括所述第二前景对象的目标中线分别与所述第二前景对象左边缘和所述第二前景对象右边缘之间在水平方向上的宽度。或者,所述目标中线位置可以仅包括所述第二前景对象的目标中线与所述第二前景对象左边缘之间在水平方向上的宽度,或者,所述目标中线位置可以仅包括所述第二前景对象的目标中线与所述第二前景对象右边缘之间在水平方向上的宽度。

具体实现中,比如可以根据前述s901所确定的人体中线位置条件类型确定出目标中线位置。比如:当前述s901中确定出的人体中线位置条件为第一种类型时,可以确定出所述第二前景对象的目标中线分别与所述第二前景对象左边缘和所述第二前景对象右边缘之间在水平方向上的宽度,作为目标中线位置。

当确定出所述第二前景对象的目标中线位置后,可以确定所述第二前景对象的目标中线位置是否满足所述人体中线位置条件。若是,执行s904;若否,执行s905。

s904:确定所述第二前景对象满足所述人体中线位置条件。

s905:确定所述第二前景对象不满足所述人体中线位置条件。

这样,就可以确定出所述第二前景对象是否满足人体中线位置条件,进而根据所述第二前景对象是否满足人体中线位置条件,确定出所述第二前景对象是否为人体。

除此之外,人体中线位置条件还可以包括人体左右比例范围,其中,人体左右比例范围可以为,在同一高度时,人体中线与人体左边缘之间的宽度d3和人体中线与人体右边缘之间的宽度d4的比例范围。那么,在确定第二前景对象是否满足人体中线位置条件时,还可以确定第二前景对象是否满足人体左右比例范围。确定第二前景对象是否满足人体左右比例范围的方法可以为,确定第二前景对象的目标中线左右比例,并确定第二前景对象的目标中线左右比例是否满足所述人体左右比例范围,若满足,确定所述第二前景对象满足所述人体中线位置条件,若不满足,确定所述第二前景对象不满足人体中线位置条件。

确定第二前景对象的目标中线左右比例的方法可以为,在第二前景对象的相同像素行,确定出所述第二前景对象的目标中线与其左边缘的宽度d3,和目标中线与其右边缘的宽度d4,确定宽度d3和宽度d4的比例,作为第二前景对象的目标中线左右比例。这样,在根据s901-s905确定第二前景对象的目标中线是否满足人体中线位置条件的基础上,还可以通过判断第二前景对象是否满足人体左右比例范围,当第二前景对象同时满足这两个条件时,确定所述第二前景对象满足所述人体中线位置条件,从而可以提高确定第二前景对象是否满足人体中线位置条件时的准确性。

为了更为准确的确定出第二前景对象是否为人体,用于确定第二前景对象是否为人体的人体部位条件还可以包括人体颈部条件,那么,在一种可能的方式中,在所述确定所述第二前景对象满足所述人体中线位置条件之后,所述根据所述第二前景对象的深度值与相机参数,确定所述第二前景对象是否满足人体部位条件的方法可以包括:

s1101:根据所述第二前景对象的深度值与相机参数,确定对应所述第二前景对象的人体颈部条件,所述人体颈部条件包括颈部宽度范围和颈部高度范围。

在本申请实施例中,可以根据所述第二前景对象的平均深度值与相机参数,确定出对应于所述第二前景对象的人体颈部条件。其中,所述人体颈部条件可以包括颈部宽度范围和颈部高度范围。

在具体实现中,颈部宽度范围比如可以为对应于颈部的像素行的连续像素点数量范围。另外,颈部高度范围可以为颈部所处的像素行与目标肩部像素行之间相间隔的像素点数量范围,比如颈部高度范围可以为颈部所处的像素行与目标肩部像素行之间相间隔的像素点数量在200至300个范围内。

s1102:根据所述颈部高度范围,在第二图像区域中确定目标颈部区域。

在确定出对应于所述第二前景对象的人体颈部条件(颈部宽度范围和颈部高度范围)之后,可以在第二图像区域中,也就是在所述第二前景对象中的目标肩部像素行以上的图像区域中,根据颈部高度范围,确定出所述第二前景对象中的目标颈部区域,这里所述的目标颈部区域可以为所述第二前景对象中可能对应于颈部的图像区域。例如:根据颈部高度范围,即颈部所处的像素行与目标肩部像素行之间相间隔的像素点数量在200至300个范围内,确定出所述第二前景对象的目标颈部区域为,第二图像区域中的与目标肩部像素行之间相间隔像素点数量在200至300个范围内的图像区域。

s1103:从所述目标颈部区域中确定宽度最小的像素行,作为目标颈部像素行。

在确定出所述第二前景对象的目标颈部区域后,可以从这个目标颈部区域中确定出宽度最小的像素行,作为目标颈部像素行。

具体实现中,可以从目标颈部区域中确定出连续像素点数量最少的像素行,作为目标颈部像素行。

s1104:确定所述目标颈部像素行的宽度是否满足所述颈部宽度范围;若是,执行s1105,若否,执行s1106。

在本申请实施例中,可以根据确定出的目标颈部像素行的宽度,确定其是否满足所述颈部宽度范围,若是,执行s1105,若否,执行s1106。

s1105:确定所述第二前景对象满足所述人体颈部条件。

s1106:确定所述第二前景对象不满足所述人体颈部条件。

由此,确定出所述第二前景对象是否满足人体颈部条件,进而根据所述第二前景对象是否满足人体颈部条件的确定结果,确定出所述第二前景对象是否为人体,从而过滤掉那些不满足人体颈部条件的第二前景对象。

在本申请实施例中,用于确定第二前景对象是否为人体的人体部位条件还可以包括人体头部条件,那么,在一种可能的方式中,在所述确定所述第二前景对象满足所述人体颈部条件之后,所述根据所述第二前景对象的深度值与相机参数,确定所述第二前景对象是否满足人体部位条件的方法可以包括:

s1201:根据所述第二前景对象的平均深度值与相机参数,确定对应所述第二前景对象的所述人体头部条件,所述人体头部条件包括头部宽度范围和头部高度范围。

在本申请实施例中,可以根据所述第二前景对象的平均深度值与相机参数,确定出对应于所述第二前景对象的人体头部条件。其中,所述人体头部条件可以包括头部宽度范围和头部高度范围。

在具体实现中,头部宽度范围比如可以为对于头部的像素行的连续像素点数量范围。另外,头部高度范围可以为头部最高点所处像素行与头部最低点所处像素行之间相间隔的像素点数量范围。比如:头部高度范围可以为头部最高点所处像素行与头部最低点所处像素行之间相间隔的像素点数量在200至300个范围内。

s1202:当所述第三图像区域中的像素行满足头顶预设条件时,确定所述像素行为所述第二前景对象的目标头顶像素行,所述第三图像区域为所述第二前景对象中的所述目标颈部像素行以上的图像区域。

可以将所述第二前景对象中的目标颈部像素行以上的图像区域,作为第三图像区域。那么,可以在第三图像区域中,确定出满足头顶预设条件的像素行,并将确定出的像素行作为第二前景对象的目标头顶像素行。

其中,头顶预设条件可以为所述第二前景对象中对应于头顶的像素行应当满足的条件,在具体实现中,所述头顶预设条件可以根据实验数据等方式确定。

在一种可能的实现方式中,对于分割出的第二前景对象,当其中对应于头部的图像部分较为完整时,该种情形下的头顶预设条件可以为,当目标像素行的宽度小于第一宽度阈值。其中,这里所述的目标像素行可以为第三图像区域中的任意一个像素行,目标像素行的宽度可以为所述目标像素行的连续像素点数量,第一宽度阈值可以为预先设定的连续像素点数量。也就是说,当目标像素行的宽度小于第一宽度阈值时,可以将所述目标像素行确定为所述目标头顶像素行。

另外,可以理解的是,对于分割出的第二前景对象,当其中对应于头部的图像部分不完整时,比如第二前景对象中对应于头部的图像部分在头顶处不完整,该种情形下的头顶预设条件可以为,目标像素行的宽度大于第二宽度阈值,且在所述目标像素行以上的区域内的像素行的宽度小于第二宽度阈值。其中,这里所述的第二宽度阈值大于所述第一宽度阈值。也就是说,将所述第二前景对象中宽度大于第二宽度阈值、且高度最高的像素行确定为目标头顶像素行。

s1203:根据所述目标头顶像素行与所述目标颈部像素行,确定所述第二前景对象的目标头部高度。

在本申请实施例中,可以将目标头顶像素行与目标颈部像素行之间相间隔的竖直高度,也就是这两个像素行之间在竖直方向上的连续像素点数量,确定为所述第二前景对象的目标头部高度。

s1204:确定所述目标头部高度是否满足所述头部高度范围;若否,执行步骤s1205,若是,执行s1206。

s1205:确定所述第二前景对象不满足所述人体头部条件。

s1206:确定所述第三图像区域中的像素行的最大宽度,将所述最大宽度作为目标头部宽度,确定所述目标头部宽度是否满足所述头部宽度范围,若是,执行s1207,若否,执行s1208。

确定所述目标头部高度是否满足头部高度范围,若否,确定所述第二前景对象不满足所述人体头部条件,若是,在第三像素区域中的全部像素行中确定出具有最大宽度的像素行,并将这个最大宽度确定为所述第二前景对象的目标头部宽度,并确定所述目标头部宽度是否满足头部宽度范围,若是,执行s1207,若否,执行s1208。

s1207:确定所述第二前景对象满足所述人体头部条件。

s1208:确定所述第二前景对象不满足所述人体头部条件。

由此,确定出所述第二前景对象是否满足人体头部条件,进而根据所述第二前景对象是否满足人体头部条件的确定结果,确定出所述第二前景对象是否为人体。

在本申请实施例中,为了更为准确的确定出所述第二前景对象中是否包括有对应于人体头部的图像部分,在一种可能的实现方式中,在执行s1208之前,还可以确定所述第二前景对象的头部宽高比例是否满足人体的头部宽高比例,以能够更为准确的确定出所述第二前景对象是否满足人体头部条件。则,所述方法还包括:

s1301:根据所述人体头部条件,确定对应所述第二前景对象的人体头部宽高比例范围。

s1302:根据所述第二前景对象的目标头部宽度与所述第二前景对象的目标头部高度,确定所述第二前景对象的目标头部宽高比例。

可以根据人体头部条件中的头部宽度范围和头部高度范围,确定出对应于所述第二前景对象的人体头部宽高比例范围。比如确定出的人体头部宽高比例范围为[0.6,1]。根据确定出的第二前景对象的目标头部宽度以及目标头部高度,确定出所述第二前景对象的头部宽高比例。

s1303:确定所述目标头部宽高比例是否满足所述人体头部宽高比例范围;若是,执行s1304,若否,执行s1305。

s804:确定所述第二前景对象满足所述人体头部条件。

s805:确定所述第二前景对象不满足所述人体头部条件。

从而,提升了确定所述第二前景对象是否满足所述人体头部条件的准确性。

在本申请实施例中,为了更为准确的确定出所述第二前景对象中是否包括有对应于人体头部的图像部分,在一种可能的实现方式中,在执行s1208之前,还可以确定所述第二前景对象的目标头部左右比例是否满足人体头部左右比例范围,以能够更为准确的确定出所述第二前景对象是否满足人体头部条件。则,所述方法还包括:

s1401:在所述第三图像区域中,确定目标头部左右比例。

可以理解的是,在第三图像区域中,主要包括有所述第二前景对象中对应于头部的图像部分,可以将所述第二前景对象中对应于头部的图像部分作为所述第二前景对象的目标头部。那么,可以基于所述第二前景对象的目标中线,分别确定出所述目标中线和所述第二前景对象的目标头部左边缘之间在水平方向上的宽度d5,以及所述目标中线和所述前景对象的目标头部右边缘之间的宽度d6,并确定出所述d5与d6的比例,作为所述第二前景对象的目标头部左右比例。

可以理解的是,本申请实施例不限定确定所述目标头部左右比例的方法,可以根据实际场景,选择适合的方式确定所述目标头部左右比例。

本申请实施例提供两种确定目标头部左右比例的方法,第一种方法为:可以确定出目标中线和所述第二前景对象的目标头部左边缘之间在水平方向上的最大宽度d5,以及所述目标中线和所述第二前景对象的目标头部右边缘之间的最大宽度d6,进而确定出所述d5与d6的比例,作为所述第二前景对象的目标头部左右比例。第二种方法为:在第三图像区域中的任意一个像素行m,可以确定出目标中线和所述第二前景对象的目标头部左边缘之间在像素行m上的宽度d5’,以及所述目标中线和所述第二前景对象的目标头部右边缘之间在像素行m上的宽度d6’,进而确定出所述d5’与d6’的比例,作为所述第二前景对象的目标头部左右比例。

具体实现中,比如针对于上述第一种确定目标头部左右比例的方法可以为,在第三图像区域中,可以确定出在目标中线左侧的每一行的连续像素点数量,并从中确定出最多的连续像素点数量,记为数量a1,将所述数量a1表示为所述目标中线和所述第二前景对象的目标头部左边缘之间在水平方向上的宽度d5,另外,可以确定出在目标中线右侧的每一行的连续像素点数量,并从中确定出最多的连续像素点数量,记为数量a2,将所述数量a2表示为作为所述目标中线和所述第二前景对象的目标头部右边缘之间在水平方向上的宽度d6。进而确定数量a1与数量a2的比例,作为所述第二前景对象的目标头部左右比例。

s1402:确定所述目标头部左右比例是否满足所述人体头部左右比例范围,

可以理解的是,根据人体的先验条件,确定出人体头部左右比例范围。其中,所述人体头部左右比例范围可以为人体中线和人体头部左边缘之间的宽度d5与人体中线和人体头部右边缘之间的宽度d6的比例范围。

确定所述第二前景对象的目标头部左右比例是否满足人体头部左右比例范围,若是,执行s1403,若否,执行s1404。

s1403:确定所述第二前景对象满足所述人体头部条件。

s1404:确定所述第二前景对象不满足所述人体头部条件。

从而,提升了确定所述第二前景对象是否满足所述人体头部条件的准确性。

在对所述第二前景对象确定其是否满足人体部位条件之后,可以根据对第二前景对象的确定结果,确定所述第二前景对象是否为人体,在一种可能的实现方式中,该方法可以包括:

s1501:当所述第二前景对象不满足任意一个人体部位条件时,确定所述第二前景对象为非人体。

s1502:当所述第二前景对象满足全部人体部位条件时,确定所述第二前景对象为人体。

在本申请实施例中,当确定所述第二前景对象不满足任意一个人体部位条件,比如人体肩部条件时,可以确定所述第二前景对象为非人体,当确定所述第二前景对象满足全部的人体部位条件时,可以确定所述第二前景对象为人体。这样,可以为从深度图像中分割出的每一个第二前景对象,确定其是否为人体,并根据这些第二前景对象的确定结果,确定深度图像中是否包括有人体,从而得到深度图像的人体检测结果。

本申请实施例还提供了一种目标跟踪装置,参见图7,该图示出了本申请实施例提供的一种目标对象跟踪装置组成图,所述装置包括获取单元701、分割单元702和确定单元703:

所述获取单元701,用于获取待检测视频中的第i帧深度图像,第i帧深度图像中的像素点包括深度值;

所述分割单元702,用于根据第i帧深度图像中的像素点的深度值,从第i帧深度图像中分割出前景对象,所述前景对象为其中的像素点的深度值小于背景深度值的连通图像区域;

所述确定单元703,用于若第一前景对象与第二前景对象的重合面积比例不小于比例阈值,确定所述第一前景对象与所述第二前景对象对应于同一个目标对象,所述第一前景对象为第i帧深度图像中的任一个前景对象,所述第二前景对象为第i-1帧深度图像中的一个前景对象。

可选的,在所述根据第i帧深度图像中的像素点的深度值,从第i帧深度图像中分割出前景对象之前,所述分割单元702,还具体用于:

为所述第i帧深度图像剔除对应地面的像素区域,生成中间深度图像;

所述根据第i帧深度图像中的像素点的深度值,从第i帧深度图像中分割出前景对象,包括:

根据所述中间深度图像中的像素点的深度值,从所述中间深度图像中分割出前景对象。

可选的,所述分割单元702,还具体用于:

根据设置的相机姿态角,确定所述第i帧深度图像中像素点对应的场景在世界坐标系中的坐标;

从所述坐标中确定出y坐标最小的至少三个坐标,根据所述至少三个坐标确定一个平面,所述y坐标为世界坐标中竖直坐标轴对应的坐标分量;

若确定所述坐标中不包括与所述平面的距离为负值的坐标,确定所述平面对应于地面,确定位于所述平面内的坐标对应的像素点为对应于地面的像素点,剔除所述对应于地面的像素点;

若确定所述坐标中包括与所述平面的距离为负值的坐标,则重新设置所述相机姿态角,并执行所述根据设置的相机姿态角,确定所述第i帧深度图像中像素点对应的场景在世界坐标系中的坐标的步骤,直至确定所述坐标中不包括与所述平面的距离为负值的坐标。

可选的,所述分割单元702,还具体用于:

根据所述第i帧深度图像中像素点的深度值和所述第i帧深度图像对应的背景深度模型,从所述第i帧深度图像中分割出运动前景对象,所述背景深度模型包括每个像素点的背景深度值信息,所述运动前景对象为对应于运动实体的前景对象;

根据所述第i帧深度图像中像素点的深度值和所述运动前景对象,从所述第i帧深度图像中分割出前景对象。

可选的,所述分割单元702,还具体用于:

若所述目标像素点的深度值不符合对应的背景深度信息,确定所述目标像素点为属于所述运动前景对象的像素点,所述目标像素点为所述第i帧深度图像中的任一个像素点;

根据所述运动前景对象的像素点,确定出所述运动前景对象。

可选的,所述分割单元702中的所述背景深度模型是根据如下方式得到的:

根据相机启动时所获取的前n帧深度图像中像素点的深度值,建立所述背景深度模型;

在建立所述背景深度模型之后,将每隔m帧获取的深度图像作为用于更新所述背景深度模型的深度图像,根据所述用于更新所述背景深度模型的深度图像中像素点的深度值,更新所述背景深度模型。

可选的,所述分割单元702,还具体用于:若所述第一前景对象与所述第二前景对象的重合面积比例小于所述比例阈值,且所述第一前景对象与n个第三前景对象的重合面积比例不小于第一比例阈值,所述第一比例阈值根据n确定,所述第三前景对象为第i-1帧深度图像中的一个前景对象,所述第二前景对象为所述n个第三前景对象中的任意一个第三前景对象,所述方法还包括:

根据所述第一前景对象中的像素点的深度值,从所述第一前景对象中分割出中间前景对象,所述中间前景对象的深度值差小于所述第一前景对象的深度值差,其中,前景对象的深度值差是所述前景对象中的像素点的最大深度值与最小深度值的差;

若所述中间前景对象与第二前景对象的重合面积比例不小于第二比例阈值,确定所述中间前景对象对应于所述目标对象的一部分,其中,所述第二前景对象对应于所述目标对象;

确定由所述对应于所述目标对象的一部分的中间前景对象组成的前景对象,与所述第二前景对象对应于同一个目标对象。

可选的,所述目标对象包括运动的实体。

可选的,所述分割单元702,还具体用于:

获取第i-1帧深度图像,所述第i-1帧深度图像中的像素点包括深度值;

根据所述第i-1帧深度图像中的像素点的深度值,从所述第i-1帧深度图像中分割出前景对象,所述前景对象为其中的像素点的深度值小于背景深度值的连通图像区域;

根据所述第二前景对象的深度值与对应于所述第i-1帧深度图像的相机参数,确定所述第二前景对象是否满足对应所述第二前景对象的人体部位条件;

根据对所述第二前景对象的确定结果,确定所述第二前景对象是否为人体。

综上所述,在获取待检测视频中的第i帧深度图像之后,从该第i帧深度图像中分割出像素点的深度值小于背景深度值的连通图像区域,作为前景对象,也就是说,分割出的前景对象为像素点的深度值相对较低、且深度值较为接近的连通图像区域。然后,可以将任意一个前景对象作为第一前景对象,可以理解,由于获取第i帧深度图像与第i-1帧深度图像之间相差的时间间隔极短,故目标对象在极短的时间内移动的距离较小,这样,若第i帧深度图像中的第一前景对象与第i-1帧深度图像中的第二前景对象对应于同一目标对象,则该第i帧深度图像中的第一前景对象应当与第i-1帧深度图像中的第二前景对象的重合面积比例较大。基于该思想,如果第一前景对象与第二前景对象的面积重合比例大于或等于一个预设的比例阈值,则可以确定出第一前景对象与第二前景对象对应于同一个目标对象。可见,通过根据图像的深度这一维度的特征进行运算,以实现目标对象的跟踪,而无需提取多个维度的图像特征并运算,降低了运算的复杂性,提高了运算速度,从而提升了目标对象跟踪的实时性。

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

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

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