一种对象跟踪方法和相关设备与流程

文档序号:20601422发布日期:2020-05-01 21:40阅读:163来源:国知局
一种对象跟踪方法和相关设备与流程

本申请涉及计算机视觉领域,特别是涉及一种对象跟踪方法和相关设备。



背景技术:

对象(如行人)跟踪能够提供对象的运动信息,在诸如商场、公园、地铁、路口等很多场景中为行为分析、安全报警、流量监控等问题提供数据支持,由此对象跟踪一直以来都是备受关注的研究方向。

目前,主要基于均值漂移的图像跟踪算法进行对象跟踪,在跟踪某一个对象时,可以将上一帧图像中该对象的位置作为初始位置,并基于当前帧图像的对象跟踪数据,通过均值漂移算法的能量函数计算该初始位置附近的能量。然后,可以确定能量峰值,并将该能量峰值的位置作为该跟踪对象在当前帧图像中所处的位置。

均值漂移算法在跟踪单个对象的时候效果较好,当跟踪对象变多时,一个对象的均值漂移结果(能量峰值)容易落入周围其它跟踪对象的能量峰值上,导致跟踪失败。



技术实现要素:

为了解决上述技术问题,本申请提供了一种对象跟踪方法和相关设备,提高对象跟踪的成功率。

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

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

确定在第i帧深度图像中第一对象映射到地面坐标系中的第一位置和第二对象映射到所述地面坐标系中的第二位置;

根据所述第一位置和在第i+1帧深度图像中与所述第一对象对应的跟踪数据,确定所述第一对象在所述第i+1帧深度图像中映射到所述地面坐标系的能量分布;在确定所述能量分布的过程中,针对所述第一对象在所述第i+1帧深度图像中映射到所述地面坐标系的目标位置,若所述目标位置与所述第二位置间的距离小于距离阈值,则降低所述第一对象在所述目标位置的能量;

根据所述能量分布,确定所述第一对象在所述第i+1帧深度图像中映射到所述地面坐标系中的位置信息。

另一方面,本申请实施例提供了一种对象跟踪装置,所述装置包括:

第一确定单元,用于确定在第i帧深度图像中第一对象映射到地面坐标系中的第一位置和第二对象映射到所述地面坐标系中的第二位置;

第二确定单元,用于根据所述第一位置和在第i+1帧深度图像中与所述第一对象对应的跟踪数据,确定所述第一对象在所述第i+1帧深度图像中映射到所述地面坐标系的能量分布;在确定所述能量分布的过程中,针对所述第一对象在所述第i+1帧深度图像中映射到所述地面坐标系的目标位置,若所述目标位置与所述第二位置间的距离小于距离阈值,则降低所述第一对象在所述目标位置的能量;

第三确定单元,用于根据所述能量分布,确定所述第一对象在所述第i+1帧深度图像中映射到所述地面坐标系中的位置信息。

另一方面,本申请实施例提供了一种用于对象跟踪的设备,其特征在于,所述设备包括处理器以及存储器:

所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;

所述处理器用于根据所述程序代码中的指令执行上述的对象跟踪方法。

由上述技术方案可以看出,确定在第i帧深度图像中第一对象映射到地面坐标系中的第一位置和第二对象映射到所述地面坐标系中的第二位置;然后,可以根据第一位置和在第i+1帧深度图像中与第一对象对应的跟踪数据,确定第一对象在第i+1帧深度图像中映射到地面坐标系的能量分布。在确定能量分布的过程中,针对第一对象在第i+1帧深度图像中映射到地面坐标系的目标位置,若目标位置与第二位置间的距离小于距离阈值,则降低第一对象在目标位置的能量。由此,根据能量分布,确定第一对象在第i+1帧深度图像中映射到地面坐标系中的位置信息。在该方法中,基于第二对象在第i+1帧深度图像中的跟踪位置会位于该第二对象附近区域的前提,通过降低在第二对象附近的目标位置上该第一对象的能量,减小了第一对象在该目标位置上的能量过高的可能性,即减小将第一对象和第二对象的较大能量值定位在同一个位置的可能性,从而提高对象跟踪的成功率。

附图说明

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

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

图2为本申请实施例提供的一种确定目标对象的阴影区域的场景示意图;

图3为本申请实施例提供的一种确定目标对象的阴影区域的场景俯视图;

图4为本申请实施例提供的一种对象跟踪装置结构图。

具体实施方式

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

目前,主要通过均值漂移算法实现对象跟踪,在应用该方法跟踪单个对象的时候效果较好,当跟踪对象变多时,一个对象的均值漂移结果(能量峰值)容易落入周围其它跟踪对象的能量峰值上,导致跟踪失败。

为此,本申请实施例提供了一种对象跟踪方法,以提高对象跟踪的成功率。

首先,对本申请实施例的执行主体进行介绍。本申请提供的对象跟踪方法可以通过图像处理设备执行,如终端设备、服务器。其中,该终端设备可以是用户终端,终端设备例如可以是智能手机、计算机、个人数字助理(personaldigitalassistant,简称pda)、平板电脑等设备。

该对象跟踪方法还可以通过服务器执行,服务器可以获取终端设备发送的第i帧深度图像和第i+1帧深度图像,并进行对象跟踪,以及将跟踪结果发送至终端设备。该服务器可以是独立的服务器,也可以是集群中的服务器。

为了便于理解本申请的技术方案,下面以服务器作为执行主体,并结合实际应用场景对本申请实施例提供的对象跟踪方法进行介绍。

在本申请实施例中,针对第i帧深度图像,服务器可以确定其中的第一对象映射到地面坐标系中的第一位置和第二对象映射到地面坐标系中的第二位置。

其中,深度图像中的像素点对应有深度值。像素点的深度值可以用于表示该像素点所对应的真实场景与拍摄设备的镜头间的远近程度。由此,可以根据深度图像中像素点的深度值,可以确定出该像素点所对应真实场景映射至地面坐标系中的位置。另外,第一对象和第二对象可以是第i帧深度图像中的任意两个对象。

在本申请实施例中,可以通过计算第i帧深度图像中的第一对象在第i+1帧深度图像中映射到地面坐标系的能量分布,来确定与该第一对象在第i+1帧深度图像中的属于同一对象的对象。其中,可以通过第一对象在第i帧深度图像中的第一位置和第i+1帧深度图像中与该第一对象对应的跟踪数据,来计算该能量分布。

可以理解的是,由于两帧深度图像所对应的时间间隔较短(如这两帧深度图像是通过拍摄设备拍摄得到的,且拍摄这两帧深度图像的时间间隔较短),因此,针对同一个对象,其在两帧深度图像中所处的位置将较为接近。即,以第i帧深度图像中的第二对象来说,其在第i+1帧深度图像中的跟踪位置更有可能位于该第二对象的附近区域。

基于此,为了避免将第i帧深度图像中的第一对象和第二对象在第i+1帧深度图像中的较高能量值(或能量峰值)定位于相同的位置。该方法中,服务器在确定第一对象的该能量分布的过程中,针对第一对象在第i+1帧深度图像中映射到地面坐标系的目标位置,若确定该目标位置与第二对象的第二位置间的距离小于距离阈值,则降低第一对象在该目标位置的能量。

其中,该目标位置可以是在第i+1帧深度图像中的真实场景映射到地面坐标系的任意一个位置,距离阈值可以是预设的一个用于衡量目标位置与第二位置间距离远近的参数,若目标位置与第二对象的第二位置间的距离小于距离阈值,可以认为该目标位置与第二对象的第二位置较为接近。

由此,在得到能量分布后,可以基于该能量分布,确定第一对象在第i+1帧深度图像中映射到地面坐标系中的位置信息。

通过执行该方法,可以降低在第二对象附近的目标位置上该第一对象的能量,减小了第一对象在该目标位置上的能量过高的可能性,即减小将第一对象和第二对象的较大能量值定位在同一个位置的可能性,从而提高对象跟踪的成功率。

接下来,将以服务器作为执行主体,对本申请实施例提供的对象跟踪方法进行介绍。

参见图1,该图示出了本申请实施例提供的一种对象跟踪方法流程图,所述方法可以包括:

s101:确定在第i帧深度图像中第一对象映射到地面坐标系中的第一位置和第二对象映射到地面坐标系中的第二位置。

需要说明,本申请实施例不限定深度图像的获取方式,可以根据实际情形和需要,选择适合的方式获取深度图像。例如:深度图像可以是在带有深度图像拍摄功能的摄像机拍摄后由服务器获取的,或者,该深度图像可以是根据彩色图像处理为深度图像后由服务器获取的。

又或,针对第i帧深度图像,可以是将n(n≥1)个摄像头同时采集的n张深度图像{i1,i2,…,in}通过整合后得到的,即这n张深度图像对应于第i帧深度图像。

在本申请实施例中,第i帧深度图像中可以包括多个对象如行人s={s1,s2,…sms},s可以是第i帧深度图像中包括的对象集合。根据每个对象所对应像素点的深度值,确定每个对象s在映射到地面坐标系中的位置(地面坐标)。可以根据深度图像中像素点的深度值,确定每个对象s在世界坐标系中的世界坐标s=(x,y,z)。其中,可以以sx,sy,sz表示该对象s在世界坐标系中的横坐标、纵坐标和竖坐标。则,针对该对象s而言,其映射到地面坐标系中的位置即为(sx,sy)。

其中,第一对象和第二对象可以分别为第i帧深度图像中的任意两个对象。服务器可以根据上述方式,确定第一对象和第二对象分别映射到地面坐标系中的第一位置和第二位置。

另外,在具体实现中,为了方便确定对象的跟踪情形,可以为每个对象确定对应的标识。具体的,对象除了对应有世界坐标外,还可以对应有跟踪状态标识sτ,其中,针对对象s,其跟踪状态标识可取值:-1,0,1,sτ=-1可以表示跟踪丢失,sτ=0可以表示跟踪失败,sτ=1可以表示跟踪成功。对象s还可以对应有身份标识(即跟踪id)si。其中,i∈n。对象s还可以对应有跟踪计数标识sn,n∈z。当sn为正数时,可以表示连续跟踪成功次数,当sn为负数时,可以表示连续跟踪失败次数。如此,每个对象可以对应有s=(x,y,z,τ,i,n)。

s102:根据第一位置和在第i+1帧深度图像中与第一对象对应的跟踪数据,确定第一对象在第i+1帧深度图像中映射到地面坐标系的能量分布。

需要说明,针对第一对象在第i+1帧深度图像中映射到地面坐标系的能量分布,其可以体现在第i+1帧深度图像中与第一对象属于同一对象的对象在地面坐标系中的位置信息。而且,针对在能量分布中能量相对较高的位置,在第i+1帧深度图像中与第一对象属于同一对象的对象处于该能量相对较高的位置的机会更大。

在本申请实施例中,服务器可以根据第一位置和在第i+1帧深度图像中与第一对象对应的跟踪数据,确定出第一对象在第i+1帧深度图像中映射到地面坐标系的能量分布。

其中,服务器在确定该能量分布的过程中,针对第一对象在第i+1帧深度图像中映射到地面坐标系的目标位置,若目标位置与第二对象的第二位置间的距离小于距离阈值,则降低该第一对象在目标位置的能量。

为了提高确定的能量分布的准确性,在一种可能的实现方式中,确定能量分布所应用的跟踪数据可以包括第一对象对应的高度信息和密度信息。其中,高度信息和密度信息可以对应于第一对象对应的点云投影至地面坐标系中的各个地面位置,该高度信息标识各个地面位置对应的最大高度值,该最大高度值可以是投影至地面位置的点云元素所对应高度中的最大值。该密度信息标识投影至各个地面位置的点云元素数量,第一对象对应的点云中包括多个点云元素。

需要说明,可以将上述第一对象对应的点云理解为,针对第一对象在第i帧深度图像中所处地面坐标系中的第一位置,在第i+1帧深度图像中该第一位置附近区域内所对应的真实场景的点云。

接下来,对第i+1帧深度图像中的第一对象对应的高度信息和密度信息的确定方式进行介绍。其中,对于第i+1帧深度图像,其可以在采集到对应于第i帧深度图像之后,由n(n≥1)个摄像头同时采集的n张深度图像{i'1,i2',…,in'}通过整合后得到的。

在具体实现中,对应于第i+1帧深度图像的一张深度图像iw'(w=1,2,…n)而言,假设其长度为w,宽度为h,该深度图像iw'中的像素点集合a={(o,p)|0≤o<w,0≤p<h},其中,(o,p)可以标识深度图像iw'中的位置,每一个像素点(o,p)∈a。

然后,由于进行跟踪的对象通常在深度图像的前景区域中,由此,可以从深度图像iw'中分割出前景区域。其中,分割出的前景区域的集合可以为af={a1,a2,…,an},该集合中的每个元素ak(k=1、2、…、n)可以是一个前景区域,前景区域ak={(ok1,pk1),(ok2,pk2),…}中的每个元素可以是该前景区域在以该深度图像iw'的坐标系中的坐标的集合。该深度图像iw'的坐标系可以是以该深度图像iw'的左下角的位置为坐标系原点。

接下来,可以根据摄像机光心(cx,cy),焦距(fx,fy),将每个前景区域中的像素点的坐标(o,p)转化为摄像机坐标系下的空间坐标po,p=(xo,p,yo,p,zo,p)t,并生成点云。其中,

zo,p=io,p。

如此,基于前景区域集合af={a1,a2,…,an}可以生成点云的集合v={v1,v2,…,vn},每个点云对应于一个前景区域ak,一个点云中的点云元素记为

接下来,可以以摄像机在地面上的投影为原点,以原点指向摄像机方向为z轴,摄像机视中轴在地面投影为y轴建立世界坐标系。并通过标定获得摄像机坐标系到该世界坐标系的变换矩阵m,从而将摄像机坐标系下的点云集合v变换为世界坐标系下点云集合w1。其中,将点云vi(摄像机坐标系)中的一个点云元素坐标变换为世界坐标系下的点云元素坐标的变换方式为(xw,yw,zw,o,p)t=m(xv,yv,zv,o,p)t,(xw,yw,zw,o,p)t为点云vi(摄像机坐标系)中的一个点云元素坐标,(xv,yv,zv,o,p)t可以是世界坐标系下的点云元素的坐标。

然后,针对点云集合w1中每个点云的点云元素,将它们按照一定的比例系数β缩小并投影到地面平面坐标系上,并得到高度信息和密度信息。其中,高度信息中标识有投影到各个地面位置(k1,l1)的点云元素的高度值中的最大高度值,密度信息中标识有投影到各个地面位置的点云元素数量。

可以通过如下公式计算高度信息标识的每个地面位置的最大高度值hk1,l1及密度信息中标识的每个地面位置的点云元素数量dk1,l1:

其中,对点云集合w1中每个点云的点云元素通过比例系数β进行缩小的方式,可以减小计算量。

通过上述方法确定出对应于第i+1帧深度图像的n张深度图像{i'1,i2',…,in'}的高度信息和密度信息,可以对这n张深度图像的高度信息和密度信息进行融合,得到该第i+1帧深度图像的高度信息和密度信息。

其中,融合这n张深度图像的高度信息和密度信息的方式可以是,将这n张深度图像中针对同一地面位置的最大高度值hw1(w1=1,2,…n)中的最大值,确定为该第i+1帧深度图像高度信息中针对该地面位置的最大高度值h,即

将这n张深度图像中针对同一地面位置的点云元素数量dw2(w2=1,2,…n)的和,确定为该第i+1帧深度图像密度信息中针对该地面位置的点云元素数量d,即,

而第一对象对应的高度数据和密度数据可以是根据第一对象在第i帧深度图像中的第一位置确定的,如在第i+1帧深度图像中该第一位置附近区域内的高度数据和密度数据。

s103:根据能量分布,确定第一对象在第i+1帧深度图像中映射到地面坐标系中的位置信息。

由此,服务器可以根据能量分布,确定第一对象在第i+1帧深度图像中映射到地面坐标系中的位置信息。

由上述技术方案可以看出,确定在第i帧深度图像中第一对象映射到地面坐标系中的第一位置和第二对象映射到所述地面坐标系中的第二位置;然后,可以根据第一位置和在第i+1帧深度图像中与第一对象对应的跟踪数据,确定第一对象在第i+1帧深度图像中映射到地面坐标系的能量分布。在确定能量分布的过程中,针对第一对象在第i+1帧深度图像中映射到地面坐标系的目标位置,若目标位置与第二位置间的距离小于距离阈值,则降低第一对象在目标位置的能量。由此,根据能量分布,确定第一对象在第i+1帧深度图像中映射到地面坐标系中的位置信息。在该方法中,基于第二对象在第i+1帧深度图像中的跟踪位置会位于该第二对象附近区域的前提,通过降低在第二对象附近的目标位置上该第一对象的能量,减小了第一对象在该目标位置上的能量过高的可能性,即减小将第一对象和第二对象的较大能量值定位在同一个位置的可能性,从而提高对象跟踪的成功率。

在一种可能的实现方式中,上述s102中根据第一位置和在第i+1帧深度图像中与第一对象对应的跟踪数据,确定第一对象在第i+1帧深度图像中映射到地面坐标系的能量分布的方法,可以包括:

s201:根据第一位置,从第一对象在第i+1帧深度图像中地面坐标系的能量分布区域中确定第一数量个采样位置。

在本申请实施例中,可以根据第一对象在第i帧深度图像中的第一位置,在第i+1帧深度图像中为第一对象划分出一个能量分布区域。

本申请实施例不限定为第一对象划分能量分布区域的方式,在具体实现中,假设第一位置在地面坐标系中的地面坐标为(x,y),为第一对象划分的能量分布区域比如可以是以第一位置(x,y)为圆心的圆形区域;或以第一位置(x,y)为中心的矩形区域如正方形区域[x-r,x+r]×[y-r,y+r](边长为2r)等。

然后,可以从该能量分布区域中确定第一数量k2个采样位置,如均匀的从该能量分布区域中确定出第一数量k2个采样位置,这k2个采样位置在地面坐标系中的坐标分别为

s202:确定第一对象在第i+1帧深度图像中采样位置对应的能量。

可以确定第一对象在第i+1帧深度图像中采样位置对应的能量。在具体实现中,可以通过改进的均值漂移(meanshift)算法来确定。

具体的,通过核函数计算第一对象在第i+1帧深度图像中每个采样位置(j1=1,2,...,k2)对应的能量

上述核函数可以为:

其中,该可以是基于高度和密度的核函数,该可以是基于位置的核函数,c可以为第一对象在第i帧深度图像的对象集合s中的序号。

gd(x,y)=exp[-αd(d(αproj·x,αproj·y)-μd)2-αh(h(αproj·x,αproj·y)-μh)2],其中,αh,μh,αd,μd可以为固定参数,且可以随实际情形调节,αproj为高度信息h和密度信息d的缩放系数。

其中,sj1可以是指第一对象,sg可以是指第二对象,为第二对象sg的世界坐标中的x、y值,αl为固定参数,且可随实际情形调节。

s203:确定所对应能量大于能量阈值的目标采样位置的位置数量。

可以预先设置能量阈值γ,该能量阈值γ可以用于衡量采样位置的能量是否符合对象对应的能量,若采样位置的能量大于该能量阈值可以表示该采样位置对应的真实场景更有可能为一个对象或对象中的一部分。

在本申请实施例中,可以将所对应能量大于能量阈值的采样位置记为目标采样位置确定所对应能量大于能量阈值的目标采样位置的位置数量。

s204:若位置数量大于数量阈值;所述数量阈值是根据第一数量确定的。则,上述s103中根据能量分布,确定第一对象在第i+1帧深度图像中映射到地面坐标系中的位置信息,包括:

s205:根据采样位置的能量,确定第一对象在第i+1帧深度图像中映射到地面坐标系中的位置信息。

可以确定一个数量阈值,该数量阈值可以是根据第一数量k2确定的,如数量阈值为β·k2,该β小于1。

然后,可以确定该目标采样位置的位置数量是否大于数量阈值,若是,根据采样位置的能量,确定第一对象在第i+1帧深度图像中映射到地面坐标系中的位置信息。

在一种可能的实现方式中,s205中根据采样位置的能量,确定第一对象在第i+1帧深度图像中映射到地面坐标系中的位置信息的方法,可以包括:

s301:根据采样位置的能量,确定采样位置对应的权重。

在本申请实施例中,采样位置的能量越高,可以表示该采样位置对应的真实场景更有可能为第i+1帧深度图像中与第一对象属于同一对象的对象或对象的部分。

由此,可以根据采样位置的能量,确定采样位置对应的权重。其中,若采样位置的能量越高,可以确定该采样位置的权重越高。

在具体实现中,根据采样位置的能量确定采样位置对应的权重为

s302:根据目标采样位置和对应的权重,确定第一对象在第i+1帧深度图像中映射到地面坐标系中的位置信息。

由此,可以根据目标采样位置和对应的权重,确定第一对象在第i+1帧深度图像中映射到地面坐标系中的位置信息。

在具体实现中,s302中根据目标采样位置和对应的权重,确定第一对象在第i+1帧深度图像中映射到地面坐标系中的位置信息(sx',sy')为:

在确定第一对象在第i+1帧深度图像中映射到地面坐标系中的位置信息之后,可以将第一对象的跟踪状态标识sτ=1。

另外,在一种可能的实现方式中,可以预设有比例系数。该比例系数可以用于缩小能量分布区域。若确定位置数量不大于数量阈值,该方法还可以包括:根据比例系数,缩小能量分布区域,并执行s201、从第一对象在地面坐标系的能量分布区域中确定第一数量个采样位置的步骤。

在具体实现中,预设的比例系数为α,基于前述示例,在确定位置数量不大于数量阈值的情形下,根据比例系数缩小能量分布区域的方式可以为rt=α·rt-1。其中,如在能量分布区域为以第一位置(x,y)为中心的正方形区域[x-r,x+r]×[y-r,y+r](边长为2r)的情形下,rt可以是缩小后的能量分布区域的尺寸(正方形区域边长的二分之一),rt-1可以是缩小前的能量分布区域的尺寸(正方形区域边长的二分之一)。

在一种可能的实现方式中,所述方法还可以包括:

s401:检测在第i+1帧深度图像中的待定对象和对应的映射到地面坐标系中的位置。

在本申请实施例中,可以检测第i+1帧深度图像中的待定对象和对应的映射到地面坐标系中的位置。

在具体实现中,针对第i+1帧深度图像对应有n张深度图像{i'1,i2',…,in'}的情形,对对应于第i+1帧深度图像的一张深度图像iw'(w=1,2,…n)进行对象如行人检测,设根据深度图像iw'检测出集合其中,代表第w个摄像头所采集深度图像iw'的第a1个待定对象的世界坐标。可以理解,可以根据每个待定对象的世界坐标确定该待定对象在地面坐标系中的位置坐标接下来,将中每个元素基于待定对象的半径进行非极大化抑制,使集合内的位置间距不会过近,得到集合

s402:根据第一位置与待定对象对应的位置间的距离,确定第一对象与待定对象是否匹配。若是,执行s403,若否,执行s404。

可以理解,若第一对象与待定对象属于同一个对象时,该第一位置与待定对象对应的位置间应当较为接近。由此,可以根据第一位置与待定对象对应的位置间的距离,确定第一对象与待定对象是否匹配。

在具体实现中,可以将第i帧深度图像中的每个对象与每个待定对象间的距离确定为权重,并设置阈值距离d1,当第i帧深度图像中的对象与待定对象间的距离大于d1时,可以将对应的权重设置为较大值,并将第i帧深度图像中的对象与待定对象间的匹配问题看作指派问题,将权重最小作为优化目标,并使用匈牙利km算法得到第i帧深度图像中的对象与待定对象的匹配关系其中,第i帧深度图像中的对象与待定对象相匹配。

s403:确定第一对象和与第一对象匹配的待定对象对应于同一对象。

如此,可以确定第一对象和与第一对象匹配的待定对象对应于同一对象,即在第i+1帧深度图像中跟踪到该第一对象。

在具体实现中,可以将匹配成功的第一对象的跟踪状态标识sτ=1。

s404:执行上述s102、根据第一位置和在第i+1帧深度图像中与第一对象对应的跟踪数据,确定第一对象在第i+1帧深度图像中映射到地面坐标系的能量分布的步骤。

若未成功通过上述距离匹配的方法对第一对象进行跟踪时,可以针对该第一对象通过执行上述s102的确定能量分布的方法进行对象跟踪。

通过在计算能量分布前应用距离匹配的方法进行对象跟踪,而将未匹配的第一对象才进行计算能量分布的方式跟踪,减小了计算量,并提升了跟踪效率。

在一种可能的实现方式中,所述方法还包括:

s501:确定第i帧深度图像中对象在地面坐标系中的阴影区域。

在一种可能的实现方式中,目标对象可以是第i帧深度图像中对象的任意一个,针对目标对象,上述s501、确定第i帧深度图像中对象在地面坐标系中的阴影区域的方法,可以包括:

s601:根据第i帧深度图像的拍摄设备在世界坐标系中的世界坐标、目标对象在世界坐标系中的世界坐标和对象参数,确定最大可遮挡位置,对象参数包括对象的最小高度。

如果第i帧深度图像是将n(n≥1)个摄像头同时采集的n张图像{i1,i2,…,in}通过整合后得到的,在确定目标对象在第i帧深度图像中在地面坐标系中的阴影区域时,可以将距离目标对象最近的拍摄设备作为s601中第i帧深度图像的拍摄设备。

对象参数可以包括对象的最小高度hmin等。

在本申请实施例中,可以根据第i帧深度图像的拍摄设备在世界坐标系中的世界坐标pc=(xc,yc,zc)、目标对象在世界坐标系中的世界坐标ps=(xs,ys,zs)和对象参数,确定最大可遮挡位置ph=(xh,yh,zh)。其中,zh=hmin。

参见图2,该图示出了本申请实施例提供的一种确定目标对象的阴影区域的场景示意图,如图2所示,可以通过下述方法确定最大可遮挡位置的世界坐标ph:

其中,可以通过世界拍摄设备(摄像头)的横纵坐标和目标对象的横纵坐标,确定拍摄设备与目标对象在地面坐标系中的距离d2,其中,

然后,通过拍摄设备、目标对象和最大可遮挡位置在世界坐标系中的竖坐标,并基于公式确定出阴影比例系数k5。

最后,可以根据阴影比例系数,并基于公式ph=k5(ps-pc)+pc,确定最大可遮挡位置的世界坐标ph。

另外,本申请还提供另一种计算阴影比例系数k5的方式,其中,可以预先设置最大阴影半径dmax。dmax可以是预先设置的确定目标对象的阴影区域的最大半径。如此,可以根据拍摄设备与目标对象在地面坐标系中的距离d2和该最大阴影半径dmax,并基于公式确定出阴影比例系数k5。

又或,若同时确定对象的最小高度hmin和最大阴影半径dmax,可以通过公式确定出阴影比例系数k5。

s602:根据最大可遮挡位置,确定目标对象在地面坐标系中的阴影区域。

在确定最大可遮挡位置后,可以根据最大可遮挡位置,确定目标对象在地面坐标系中的阴影区域。

在具体实现中,参见图3,该图示出了本申请实施例提供的一种确定目标对象的阴影区域的场景俯视图,如图3所示,可以通过下述公式,在最大可遮挡位置在地面坐标系中的地面坐标ph'=(xh,yh)和目标对象在地面坐标系中的地面坐标ps'=(xs,ys)间的连线上,确定阴影区域的中心位置a’,

其中,αa为小于1的固定参数,可根据实际情形对αa进行调整。

然后,可以根据该中心位置确定阴影区域,下面以圆形区域(半径为)作为阴影区域为例说明:

该阴影区域的半径其中,βa为小于1的固定参数,可根据实际情形进行调整。该目标对象的阴影区域可以由表示。

则,上述s402中根据第一位置与待定对象对应的位置间的距离,确定第一对象与待定对象是否匹配的方法,还可以包括:

s502:若不匹配,确定第一对象是否处于在第i帧深度图像中的阴影区域中。

在第一对象未与任意一个待定对象匹配的情形下,可以确定该第一对象是否处于在第i帧深度图像中任意一个对象的阴影区域中。

在具体实现中,可以确定第一对象在地面坐标系中的第一位置是否在第i帧深度图像中任意一个对象的阴影区域中。

s503:若处于阴影区域中,确定第一对象在第i+1帧深度图像中被阴影区域对应的对象遮挡。

在具体实现中,还可以为第i帧深度图像中的每个对象确定对应的阴影标识sh,sh∈n∪{-1},当sh等于-1时表示该对象s未隐藏在阴影区域中,当sh大于等于0时,该对象s的阴影标识sh的数值可表示隐藏该对象s的阴影区域对应的对象身份标识。

当确定第一对象在第i+1帧深度图像中被两个或多个阴影区域对应的对象遮挡时,针对这些阴影区域,可以确定其中心位置与第一对象的第一位置距离最为接近的阴影区域,将该中心位置与第一对象的第一位置距离最为接近的阴影区域对应的对象确定为遮挡第一对象的对象,并将第一对象对应的阴影标识sh确定为该阴影区域对应的对象身份标识。

s504:若不处于阴影区域中,执行根据第一位置和在第i+1帧深度图像中与所述第一对象对应的跟踪数据,确定所述第一对象在所述第i+1帧深度图像中映射到所述地面坐标系的能量分布的步骤。

在本申请实施例中,若确定第一对象未被第i帧深度图像中的任意一个对象遮挡,执行s102、根据第一位置和在第i+1帧深度图像中与第一对象对应的跟踪数据,确定第一对象在第i+1帧深度图像中映射到地面坐标系的能量分布的步骤。

在一种可能的实现方式中,在通过对第i帧深度图像中对象和第i+1帧深度图像中对象进行对象匹配后,且在s503中确定第一对象在第i+1帧深度图像中被阴影区域对应的对象遮挡,若第i+1帧深度图像中还包括未匹配的待定对象,所述方法还包括:

s701:根据未匹配的待定对象对应的位置,确定未匹配的待定对象是否与第一对象处于同一阴影区域中。若是,执行s702。

s702:确定未匹配的待定对象为第一对象在第i+1帧深度图像中的跟踪对象。

在本申请实施例中,若确定未匹配的待定对象与被遮挡的第一对象处于同一阴影区域中,可以确定该待定对象为该被遮挡的第一对象在第i+1帧深度图像中的跟踪对象。若确定未匹配的待定对象未与被遮挡的第一对象处于同一阴影区域中,可以确定该待定对象为新加入的对象,并为该待定对象确定对应的世界坐标系中的坐标、跟踪状态标识sτ、身份标识(即跟踪id)si和跟踪计数标识sn,以及,将其加入该第i+1帧深度图像对应的对象集合。

另外,若第i帧深度图像中对象的身份标识(即跟踪id)si=-1,且跟踪计数标识sn≥nappear时,可以为该对象确定唯一序号。若第i帧深度图像中对象的跟踪计数标识sn≤-nmiss,则从第i帧深度图像中对象集合s中删除该对象。其中,nappear可以是用于确定对象跟踪成功的跟踪次数阈值,-nmiss可以是用于确定对象跟踪失败的跟踪次数阈值。

通过执行该方法,可以为第i帧中处于阴影区域的第一对象从第i+1帧深度图像中跟踪出属于同一对象的对象。

接下来,将结合实际应用场景对本申请实施例提供的对象跟踪方法进行介绍。在本申请实施例中,检测第i+1帧深度图像中的待定对象即行人然后,针对第i帧深度图像中的对象集合可以使该对象集合中的对象与第i+1帧深度图像中的待定对象进行匹配,若第i帧深度图像中的第一对象与第i+1帧深度图像中的待定对象相匹配,令该第一对象的跟踪状态标识sτ=1,跟踪计数标识sn+1,阴影标识sh=-1。

若第一对象未与第i+1帧深度图像中的待定对象相匹配,可以确定该第一对象是否处于第i帧深度图像中的其它对象的阴影区域中,若是,可以确定该第一对象被该阴影区域对应的对象遮挡,令该第一对象的跟踪状态标识sτ=1,跟踪计数标识sn+1,阴影标识sh确定为遮挡该第一对象的对象身份标识。

另外,若第i+1帧深度图像中包括未与第i帧深度图像中的对象匹配的待定对象,可以确定该未匹配的待定对象是否与第i帧深度图像中被遮挡的第一对象处于同一阴影区域中,若是,可以确定该未匹配的待定对象为在第i+1帧深度图像中与被遮挡的第一对象属于同一对象的跟踪对象。

若确定该未匹配的待定对象未与被遮挡的第一对象处于同一阴影区域中,可以确定该待定对象为新加入的对象,并为该待定对象确定对应的世界坐标系中的坐标、跟踪状态标识sτ、身份标识(即跟踪id)si和跟踪计数标识sn,以及,将其加入该第i+1帧深度图像对应的对象集合。

若确定第一对象未处于第i帧深度图像中的其它对象的阴影区域中,可以根据第一对象在第i帧深度图像的地面坐标系中的第一位置,以及在第i+1帧深度图像中与第一对象对应的跟踪数据,确定第一对象在第i+1帧深度图像中映射到地面坐标系的能量分布。其中,在确定该能量分布的过程中,针对第一对象在第i+1帧深度图像中映射到地面坐标系的目标位置,若目标位置与第二位置间的距离小于距离阈值,则降低第一对象在所述目标位置的能量。

若通过上述s201-s205及s301-s302的方法,确定出第一对象在第i+1帧深度图像中映射到地面坐标系中的位置信息,可以将确定的位置信息所对应位置确定为第i+1帧深度图像中与第一对象属于同一对象的对象位置。将该第一对象的跟踪状态标识sτ=1,跟踪计数标识sn+1,阴影标识sh=-1。

若未确定出该第一对象在第i+1帧深度图像中映射到地面坐标系中的位置信息,可以将第一对象的跟踪状态标识sτ=0,跟踪计数标识sn-1(当sn=0时不再减1),阴影标识sh=-1。

本申请实施例提供了一种对象跟踪装置,参见图4,该图示出了本申请实施例提供的一种对象跟踪装置结构图,所述装置包括:

第一确定单元401,用于确定在第i帧深度图像中第一对象映射到地面坐标系中的第一位置和第二对象映射到所述地面坐标系中的第二位置;

第二确定单元402,用于根据所述第一位置和在第i+1帧深度图像中与所述第一对象对应的跟踪数据,确定所述第一对象在所述第i+1帧深度图像中映射到所述地面坐标系的能量分布;在确定所述能量分布的过程中,针对所述第一对象在所述第i+1帧深度图像中映射到所述地面坐标系的目标位置,若所述目标位置与所述第二位置间的距离小于距离阈值,则降低所述第一对象在所述目标位置的能量;

第三确定单元403,用于根据所述能量分布,确定所述第一对象在所述第i+1帧深度图像中映射到所述地面坐标系中的位置信息。

在一种可能的实现方式中,第二确定单元402,具体用于:

根据所述第一位置,从所述第一对象在第i+1帧深度图像中地面坐标系的能量分布区域中确定第一数量个采样位置;

确定所述第一对象在所述第i+1帧深度图像中所述采样位置对应的能量;

确定所对应能量大于能量阈值的目标采样位置的位置数量;

若所述位置数量大于数量阈值;所述数量阈值是根据所述第一数量确定的;

则,所述根据所述能量分布,确定所述第一对象在所述第i+1帧深度图像中映射到所述地面坐标系中的位置信息,包括:

根据所述采样位置的能量,确定所述第一对象在所述第i+1帧深度图像中映射到所述地面坐标系中的位置信息。

在一种可能的实现方式中,第二确定单元402,具体用于:

预设有比例系数,若所述位置数量不大于数量阈值,根据所述比例系数,缩小所述能量分布区域,并执行所述从所述第一对象在地面坐标系的能量分布区域中确定第一数量个采样位置的步骤。

在一种可能的实现方式中,第二确定单元402,具体用于:

根据所述采样位置的能量,确定所述采样位置对应的权重;

根据所述采样位置和对应的权重,确定所述第一对象在所述第i+1帧深度图像中映射到所述地面坐标系中的位置信息。

在一种可能的实现方式中,第一确定单元401,具体用于:

检测在所述第i+1帧深度图像中的待定对象和对应的映射到所述地面坐标系中的位置;

根据所述第一位置与所述待定对象对应的位置间的距离,确定所述第一对象与所述待定对象是否匹配;

若是,确定所述第一对象和与所述第一对象匹配的待定对象对应于同一对象;

若所述第一对象与所述待定对象均不匹配,执行所述根据所述第一位置和在第i+1帧深度图像中与所述第一对象对应的跟踪数据,确定所述第一对象在所述第i+1帧深度图像中映射到所述地面坐标系的能量分布的步骤。

在一种可能的实现方式中,第一确定单元401,具体用于:

确定所述第i帧深度图像中对象在所述地面坐标系中的阴影区域;

所述根据所述第一位置与所述待定对象对应的位置间的距离,确定所述第一对象与所述待定对象是否匹配,还包括:

若不匹配,确定所述第一对象是否处于在所述第i帧深度图像中的所述阴影区域中;

若处于所述阴影区域中,确定所述第一对象在所述第i+1帧深度图像中被所述阴影区域对应的对象遮挡;

若不处于所述阴影区域中,执行所述根据所述第一位置和在第i+1帧深度图像中与所述第一对象对应的跟踪数据,确定所述第一对象在所述第i+1帧深度图像中映射到所述地面坐标系的能量分布的步骤。

在一种可能的实现方式中,第一确定单元401,具体用于:

目标对象为所述第i帧深度图像中对象的任意一个,针对所述目标对象,根据所述第i帧深度图像的拍摄设备在世界坐标系中的世界坐标、所述目标对象在世界坐标系中的世界坐标和对象参数,确定最大可遮挡位置,所述对象参数包括对象的最小高度;

根据所述最大可遮挡位置,确定所述目标对象在所述地面坐标系中的阴影区域。

在一种可能的实现方式中,第一确定单元401,具体用于:

在通过对第i帧深度图像中对象和第i+1帧深度图像中对象进行对象匹配后,且确定所述第一对象在所述第i+1帧深度图像中被所述阴影区域对应的对象遮挡,若第i+1帧深度图像中还包括未匹配的待定对象,所述方法还包括:

根据所述未匹配的待定对象对应的位置,确定所述未匹配的待定对象是否与所述第一对象处于同一阴影区域中;

若是,确定所述未匹配的待定对象为所述第一对象在所述第i+1帧深度图像中的跟踪对象。

在一种可能的实现方式中,所述跟踪数据包括所述第一对象对应的高度信息和密度信息,所述高度信息和密度信息对应于所述第一对象对应的点云投影至所述地面坐标系中的各个地面位置,所述高度信息标识各个所述地面位置对应的最大高度值,所述最大高度值是投影至所述地面位置的点云元素所对应高度中的最大值,所述密度信息标识投影至各个所述地面位置的点云元素数量,所述第一对象对应的点云中包括多个点云元素。

由上述技术方案可以看出,确定在第i帧深度图像中第一对象映射到地面坐标系中的第一位置和第二对象映射到所述地面坐标系中的第二位置;然后,可以根据第一位置和在第i+1帧深度图像中与第一对象对应的跟踪数据,确定第一对象在第i+1帧深度图像中映射到地面坐标系的能量分布。在确定能量分布的过程中,针对第一对象在第i+1帧深度图像中映射到地面坐标系的目标位置,若目标位置与第二位置间的距离小于距离阈值,则降低第一对象在目标位置的能量。由此,根据能量分布,确定第一对象在第i+1帧深度图像中映射到地面坐标系中的位置信息。在该方法中,基于第二对象在第i+1帧深度图像中的跟踪位置会位于该第二对象附近区域的前提,通过降低在第二对象附近的目标位置上该第一对象的能量,减小了第一对象在该目标位置上的能量过高的可能性,即减小将第一对象和第二对象的较大能量值定位在同一个位置的可能性,从而提高对象跟踪的成功率。

本申请实施例提供了一种用于对象跟踪的设备,所述设备包括处理器以及存储器:

所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;

所述处理器用于根据所述程序代码中的指令执行上述的对象跟踪方法。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本申请各个实施例或者实施例的某些部分所述的方法。

需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

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

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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