在场景内的物体的端点的快速和鲁棒识别的制作方法

文档序号:14254454阅读:201来源:国知局
在场景内的物体的端点的快速和鲁棒识别的制作方法

相关申请的交叉引用

不存在相关申请。

本申请涉及在场景内的物体的端点的识别,更特别地涉及利用深度数据以抽取物体端点。



背景技术:

多个方法在分段的手或身体形状上使用基于轮廓的图像处理方法。但是,这些方法通常只在端点或手指伸直且平行于传感器时有效。

在acivs,volume3708oflecturenotesincomputerscience,pages916.springer,2005中,作者指出,指尖是距离手的中心最远的轮廓像素。该方法仅适于不指向传感器的单个伸直的手指。

多指尖由itaikatz,kevingabayan,andhamidaghajan,amulti-touchsurfaceusingmultiplecameras,inproceedingsofthe9thinternationalconferenceonadvancedconceptsforintelligentvisionsystems,acivs’07,pages97108,berlin,heidelberg,2007.springer-verlag提出。在此,轮廓像素相对于手掌中心的距离被检查。局部最大量作为指尖候选者被处理。其余假的正指尖(例如,拇指的关节)通过分析指尖候选者周围的局部轮廓而被消除。真的指尖显示出从指尖候选者到局部形心的高平均距离。再次,这对于指向传感器的手指是无效的。此外,帧速被宣称为仅有10hz。

在martindo,tamimasfour,andrüdigerdillmann,particlefilter-basedfingertiptrackingwithcircularhoughtransformfeatures,iimva2011iaprconferenceonmachinevisionapplications,2011中,霍夫变换与粒子滤波器和用于跟踪的均值移动方法组合被用来检测指尖。该方法在计算上是昂贵的。根据作者,其在2.4ghz的双核cpu上以每秒15帧运行。

在ko-jenhsiao,tse-weichen,andshao-yichien,fastfingertippositioningbycombiningparticlefilteringwithparticlerandomdiffusion,inicme,pages977980,ieee,2008中,粒子扩散方法从掌心开始向接近肤色分段输入图像的轮廓的位置扩散粒子。被识别的粒子簇被处理为指尖候选者,同时接近手掌的粒子被忽略。再次,这仅适于不指向传感器的伸直的手指。

基于深度数据的累积测地极值由christianplagemann,varunganapathi,daphnekoller,andsebastianthrun,real-timeidentificationandlocalizationofbodypartsfromdepthimages,inieeeinternationalconferenceonroboticsandautomation(icra,2010)提出。该方法假定从身体或手的形心到其端点的测地距离独立于姿势。由此,在物体的形心出发,端点通过相继地加上使距该形心的测地距离最大化的像素而被发现。

上述方法由huiliang,junsongyuan,anddanielthalmann,3dfingertipandpalmtrackingindepthimagesequences,inproceedingsofthe20thacminternationalconferenceonmultimedia,mm’12,pages785788,newyork,ny,usa,2012,acm进行了优化,通过将先验指尖候选者限制到深度数据变为不连续的那些位置。假正值进一步通过加上特征检测器而减少,所述特征检测器测量指尖候选者周围的矩形区域中的物体与非物体像素的比。粒子滤波用于跨多个帧跟踪指尖。

最可能用在kinect系统中且被j.shotton,a.fitzgibbon,m.cook,t.sharp,m.finocchio,r.moore,a.kipman,anda.blake,real-timehumanposerecognitioninpartsfromsingledepthimages,inproceedingsofthe2011ieeeconferenceoncomputervisionandpatternrecognition,cvpr’11,pages12971304,washington,dc,usa,2011,ieeecomputersociety提出的方法是基于运动捕获数据的大数据。在此,身体部位分类器利用随机决策林由深度比较特征构建。但是,该方法要求大的数据库,并且在1000核簇上获得决策树要花一天,使得其非常难以复制。

其他方法使用3维模型,且将它们投影到图像空间。

jimrehgandtakeokanade,digiteyes:vision-basedhumanhandtracking,technicalreportcmu-cs-93-220,computersciencedepartment,pittsburgh,pa,december,1993的其中一个最早的工作使用手模型,其中,手指是柱体。每个柱体的中线的方向和它们的接合处利用局部操作器由灰度图像估计。非线性最小二乘法被用于估计手的姿势。指尖位置通过将指尖柱体的端部点投影到图像空间中而获得。

在bjoernstenger,paulor.s.androbertocipolla,model-based3dtrackingofanarticulatedhand,incvpr(2),pages310315,ieeecomputersociety,2001中,作者由三十九个截短二次曲面定义具有二十七个自由度的手模型。轮廓由模型产生,模型参数利用无迹卡尔曼滤波器被估计。在该情况下,指尖位置通过将指尖二次曲面的3d位置投影到图像空间中而获得。

在美国专利申请号13/082,295(us2012-0113241)中,在rgb输入图像的基于皮肤的分段之后,指尖候选者识别为具有最高曲率的那些轮廓。在指尖之间的谷被消除,且椭圆被适于指尖候选者。

无接触的指点装置在美国专利8,907,894中描述。尽管该专利要求处理用于物体的存在、位置和速度的图像,但该专利没有披露实际上抽取位置的方法。

这对于美国专利申请号13/907,925(us2013-0343607)是同样的,在该专利中,诸如形状识别的计算机视觉技术被应用于装置的无接触控制。但是,并没有提供如果以快速且鲁棒的方式应用这些方法的细节。

在美国专利9,001,036中,指尖识别为从一个图像到下一图像强度变化且比周围像素亮得多的那些像素。如果端点指向传感器或如果它们靠近在一起,这样的方法失效。

在2007年9月19日的中国专利申请cn200710,039,941中,数学形态滤波应用于基于立体视觉的三维手指运动的跟踪方法中。

边缘检测和深度数据处理的组合在美国专利8,204,274中使用。物体轮廓的角部被处理为端点候选者,深度信息用于验证该估计的可靠性。

本申请涉及端点识别的改进。



技术实现要素:

如在此所述的,方法利用深度数据以抽取物体端点,诸如人的指尖、手、手臂、腿和头。

在此描述的以下内容是一种用于识别在场景内的物体的端点的方法。该方法包括操作图像处理系统,以从传感器接收图像数据。图像数据表示具有物体的场景的图像。图像数据包括像素的二维阵列,每个像素包含表示距传感器的距离的深度值。图像处理系统将图像切为切片。每个相应切片包括具有位于相对于参照物定义的相应距离范围内的深度值的那些像素。对于每个切片,该方法识别在像素的二维阵列中是邻居的像素的一个或多个连接区域。该方法——基于已经为切片识别的像素的连接区域和相应切片所固有的深度信息——构建包括互连节点的图表。连接区域形成图表的节点,且节点基于它们距参照物的相对距离在图表中互连。物体的端点基于图标被确定。

一特征是,被确定的端点每个通过图像数据的像素的子集限定。

另一特征是,确定限定相应端点的图像数据的像素的子集的重心。

再一特征是,确定用于限定相应端点的图像数据的像素的子集的边界盒。

另一特征是,在确定端点时,从共同父节点开始的图表的叶子节点被视为在场景内的物体的端点候选者。确定端点还包括为图表的叶子节点执行的其他步骤。步骤包括限定第一节点的像素,该第一节点邻近图表的相应叶子节点,其中所述像素具有距相应叶子节点的最小距离,确定第一节点和叶子节点的像素的数量是否高于像素的临界数量,和如果不是,向端点像素添加第二节点的像素,第二节点邻近图表的叶子节点,其中所述像素具有距相应叶子节点的第二最小距离,从而端点通过从叶子节点、在图表中邻近叶子节点的第一节点和第二节点的像素的临界数量限定。

添加到相应端点的第一和第二节点的像素可通过发展从叶子节点的像素的中心开始的圆形图案而被选择。

另外的特征是,切片对应于相对于参照物的距离的相应不同范围。范围的宽度对于所有切片可以是相等的,或范围的宽度可随着相对于参照物的距离增加而增加。

又一特征是,对于每个切片,识别像素的二维阵列的像素的一个或多个连接区域还包括对连接的区域进行计数,用于图像构建,以便辅助图表的节点的识别。像素的连接区域可根据它们所属的相应切片和相对于参照物的距离的相应切片的范围被计数。

又一特征是,第一切片包括相对于参照物处于第一距离范围内的那些像素,第二切片包括相对于参照物处于第二距离范围内的那些像素。在第一范围内相对于参照物的最大距离是在第二范围内相对于参照物的最小距离。在第一连接区域的像素与第二连接区域的像素相接的情况下,限定图表的第一节点的第一切片中的像素的第一连接区域互连至与第二切片中的像素的第二连接区域相对应的第二节点。

又一特征是,该方法还包括修剪图表,以简化图表。修剪包括以下方法的一个,或其组合。在图表构建导致两个或更多独立图表的情况下,修剪包括去除包含少于临界数量节点或对应于具有少于临界数量像素的像素的连接区域的一个或多个图表。修剪可包括将节点与它们相应的父节点合并,所述节点对应于尺寸小于临界值的像素的连接区域。在子节点连接至图表中两个父节点的情况下,修剪包括将子节点和对应于像素的较小连接区域的父节点合并为另一父节点的单个子节点。在图表中距参照物不同相对距离的两个节点经由图表的平行路径中的互连节点互连的情况下,修剪包括将具有距参照点或平面相同的相对距离的平行路径中的互连节点合并为单个节点。修剪可包括将在距参照物相同的相对距离处且对应于尺寸小于临界值的像素的连接区域的节点合并为在所述相对距离处的单个节点,在它们在图表中连接到共同父节点的情况下。修剪可包括在距参照物相同的相对距离处的节点合并,在它们于二维像素阵列或从二维像素阵列和深度值构造的三维空间中的像素连接区域之间的距离小于临界值的情况下。

另外的特征是,从传感器接收的图像数据确定物体的每个点在三维空间中的位置。

又一特征是,图像的切片利用以下切片方法的一个:传感器平行平面切片,其中,图像的像素基于像素距参考平面的相对距离分为切片,所述参考平面在传感器的位置处跨过且垂直于传感器取向,其中,每个切片包括距与传感器取向垂直的参考平面的距离在为相应切片限定的距离范围内的那些像素;传感器中心球面切片,其中,图像的像素基于像素距用作参考点的传感器位置的相对距离分为切片,其中,每个切片包括距参考点的距离在为相应切片限定的距离范围内的那些像素;物体平面切片,其中,图像的像素基于像素距场景内的参考平面的相对距离分为切片,其中,每个切片包括距参考平面的距离在为相应切片限定的距离范围内的那些像素;或物体中心球面切片,其中,图像的像素基于像素距给定参考点的相对距离分为切片,其中,每个切片包括距参考点的距离在为相应切片限定的距离范围内的那些像素。

又一特征是,用于对图像切片所用的切片方法响应用户输入被选择。

在此描述的方法基于对深度图像进行切片;基于在不同切片中的点的连接性构建图表;和通过图表遍历确定特征,诸如指尖。该方法还通过滤波和跟踪方法被扩展,以增加鲁棒性。切片可在深度数据中对噪音进行补偿,切片宽度可根据传感器的不同噪音水平被调整。在空间中被跟踪的端点的轨迹和时间被用于估计身体和手运动和行为,以及用于识别姿势。

该方法相对于现有方法具有至少两个优势。首先,不需要特定传感器取向,但可根据传感器和物体的任何相对位置进行调节。其次,其包括两个计算阶段,其被设计为极度快速且在嵌入硬件上运行:第一阶段是基于像素的,计算工作取决于输入图像的尺寸,而第二阶段是基于图表的,且仅取决于物体的复杂性。基于像素的操作涉及简单的数学计算,且可因此在软件中容易地优化,但可还在专用的成像硬件上并行执行。基于图表的操作的计算复杂性甚至更低。

进一步特征和优势将从说明书和附图容易地呈现。

附图说明

图1是示出如在此所述的用于识别在场景内的物体的端点的系统的块图;

图2是由图1的系统实施的用于识别在场景内的物体的端点的方法的总览的流程图;

图3a、3b、3c和3d示出在图2的方法中使用的不同切片方法;

图4示出物体的切片的例子;

图5示出图2的方法实施的连接部件计数;

图6示出由图5的连接部件计数导致的端点图表;

图7示出具有不完美数据的切片的结果;

图8示出具有完美数据的连接部件计数的结果;

图9示出在修剪之前的示例图表;

图10示出在图表的修剪之后的图9的示例图表;

图11示出利用图2的方法实施的圆形填充的例子;

图12和13示出图2的方法实施的端点识别符匹配;和

图14a和14b是更详细流程图,其示出利用相对于图2描述的端点识别通过深度数据跟踪端点。

具体实施方式

在此披露了用于识别在场景内的物体的端点以及用于端点的快速和鲁棒跟踪的方法。

在所示实施例中,如图1所示,图像处理系统20用于识别物体的端点。该系统20包括处理单元22和连接至处理单元22的传感器24。传感器24包括三维(3d)传感器。可选的显示屏26可还连接至处理单元22。显示屏26可以任意期望的形式示出被识别的端点,诸如以玩游戏的方式等,或是总体的计算机显示,端点用于控制光标等。典型的应用是汽车情景,以控制车辆中的各个设备,但是在此描述的方法不限于用于使用被识别端点的任何特定应用。传感器24可以任何期望的取向被安装,诸如所示的取向。传感器24可以是现成的传感器或特殊目的的传感器。此外,处理器单元22可连接至多个传感器,诸如传感器24和第二传感器24’,以及附加传感器(未示出)。

处理单元22包括被编程的处理器,诸如个人计算机、服务器等,根据存储在存储器28中的定制程序操作,如以下所述。存储器28可以是内部存储器和/或外部存储器,诸如ram、rom、硬盘驱动器、光学驱动器、服务器,或与另外的处理器相关。在此所示的系统20不意图限于任何特定的硬件构造,因为由系统20实施的方法可在多个不同构造上实施。

在所示例子中,用户u靠近传感器24定位。传感器24可操作为捕获在场景中的图像数据。场景通过传感器24视野中的周围环境限定。系统20适于识别物体的端点,诸如用户的手h,端点是手h的手指的指尖。

如在此所述的,用于识别在场景内的物体的端点的方法包括利用处理单元22操作图像处理系统20,以从传感器24接收图像数据。图像数据表示具有物体的场景的图像。图像数据包括像素的二维阵列,每个像素包含表示距传感器24的距离的深度值。图像处理系统20将图像切为切片。每个相应切片包括具有位于相对于参照物定义的相应距离范围中的深度值的那些像素。对于每个切片,图像处理系统20识别在像素的二维阵列中是邻居的像素的一个或多个连接区域。图像处理系统20——基于已经为切片识别的像素的连接区域和相应切片所固有的深度信息——构建包括互连节点的图表。连接的区域形成图表的节点,且节点基于距参照物的相对距离在图表中互连。图像处理系统基于图表确定物体的端点。

编程的处理单元22使用通过3d传感器24提供的数据,其可还称为3d摄像头或距离传感器。通过传感器24提供的数据是所谓的距离数据或深度数据。

传感器24具有位于图像平面中且以标记(i,j)索引的像素。对于每个像素(i,j),传感器24提供距离值(至物体的距离)zi,j,其表示在传感器24前方的3d空间中从该像素到成像的3d点的距离。

在(x,y)轴线位于图像平面中的坐标系中(定心在图像平面与光轴的相交部处),已经被传感的3d点具有坐标(x,y,z),且可表示为向量vi,j=(xi,j,yi,j,zi,j)。存在不同类型的3d传感器。它们基于可用于获取距离数据的不同方法。第一区别在直接方法和间接方法之间。最重要的直接方法是测量光需要从光源行进到物体且回到传感器所需的时间;这些传感器称为飞行时间传感器或tof传感器。时间可或者通过发送光脉冲或者通过调节光源并测量被发射和反射的光之间的相移而被测量。

大多数间接的方法基于三角测量,这是指,物体上的3d点从不同的已知视角被照明和/或成像,所述视角与3d点一起限定三角形,至3d点的距离可从该三角形确定。该方法在不同类型的传感器中被使用。一个已知的传感器使用在不同位置处的红外光投影仪和摄像头。经典方法是使用两个或更多摄像头,好处是不需要额外的光源,尽管有时使用额外的光源。

不同传感器在它们可测量距离的准确度方面不同,但它们还在它们可提供多少3d数据点方面不同。只要物体反射足够光,tof传感器可测量距离,而立体系统要求物体具有可在两个(或更多)图像中匹配的一些结构。

在此描述的方法可与任何3d传感器一起工作,只要它提供3d点的足够密集的云。

被披露的方法首先根据不同原理并取决于如下所述的不同应用将传感器24前方的空间切片。每个可获得的3d数据点被分配给其在空间中的相应切片。该分配取决于点是否被连接(当投影在那儿时,在图像平面(i,j)中是相邻的)而被细化。然后,利用位于不同切片中的点组之间的连接性,该方法构建图表。最后,图表的叶子限定为端点,其应对应于诸如手h的指尖的特征部。

该方法利用八个基本步骤,如图2的流程图所示。特别地,图2的流程图示出在处理单元22中实施的基本算法,用于利用来自图像传感器24的图像数据识别物体的端点。处理在块30处通过数据获取开始。这包括从传感器24获取图像数据。asa如上所述,图像数据包括像素的2d阵列,所述像素每个包含深度值。深度数据切片在块32处实施,其将图像分为具有一定宽度的切片。连接部件的计数在块34处实施。从连接部件的计数,图表在块36处构建。图表然后在块38处修剪。块40实施端点定位子程序。这涉及随时间跟踪端点。端点识别符匹配在块42处实施。端点稳定化在块44处实施。最后,被识别的端点数据在节点46处提供给应用,用于后续使用,诸如玩游戏等。

图2的流程图的每个块将被更详细描述。

在块30处实施的数据获取包括深度数据的获取。程序假定,对于每个像素位置(i,j),如以上所述可获得三维向量vi,j=(xi,j,yi,j,zi,j),其具有相应的水平、垂直和距离信息。在一些情况下,副图像(例如,幅度、强度或rgb)可被获取,其与深度图像适当配准(register),即,深度图像中的像素捕获与副图像中的相应像素相同的3d点。一些适当的传感器默认传送这样的数据(例如,tof传感器);对于其他传感器,存在方法来配准两个图像(例如,对于具有附连的第二非深度图像传感器的结构化光传感器,或立体传感器)。

深度数据切片块32将图像分为具有一定宽度的切片。或者切片宽度可以对于所有切片等距,或者程序可将距离与传感器的噪音水平相适应(例如,随增加的距离增加宽度)。这样的切片与物体分段明显不同在于经常在深度数据上进行的步骤。物体分段对于每个物体仅传送一段,而所披露的切片方法每个物体传送多个切片,且可由此捕获物体的内在结构。切片变体取决于特定应用被选择,且在图3a、3b、3c和3d中示出。

第一切片方法是传感器平行平面切片。示意例子如图3a中所示。在典型的使用情况下,该程序识别指向传感器平面的端点,且利用它们来模仿平面深度敏感的触摸屏的功能。因此,在传感器前方的空间被分为平面的平行切片,从传感器平面本身(距离为零)开始被平行平面分开。给定具有增加距离d=d0,d1,…的这样的平面的序列(例如,d0=0cm,d1=1cm),切片sk包含具有在两个相邻平面之间的区间内的距离的所有像素:

sk={(i,j)|dk≤zi,j<dk+1}。

尽管切片被平面限定,手上的最终轮廓取决于视角可看起来是弯曲的,这是因为手的表面是弯曲的。

第二切片方法是传感器同心球面切片。示意例子如图3b中所示。在该情况下,该系统识别指向传感器原点的端点,即,模仿深度敏感球面触摸屏。在此,空间用球面表面切片,这些球面表面定心在传感器平面的中心,且被它们距传感器平面的中心的距离限定,并将像素按照以下分到各个切片中。

第三切片方法是物体特定平面切片。示意例子如图3c中所示。在该使用情况中,该系统关于在场景中的一定平面识别端点,例如,站在平地上的人的手臂或头。这可例如导致垂直切片设计,其通过以下定义:

sk={(i,j)|dk≤yi,j<dk+1}。

第四切片方法是物体特定球面切片。示意例子在图3d中示出,用于作为特定特征的相对于躯干的身体切片。在该方法中,该系统识别相对于空间中特定点的端点,其通常通过诸如手腕或躯干的物体特征定义。该系统可将指尖局部化为远离手腕指向的结构,将手臂局部化为远离躯干指向的结构。这样的切片设计则通过定位在(x’ij,y’ij,z’ij)处的物体特定特征定义,其则定义切片sk以包含以下像素,这些像素为:

在最通常的情况下,深度数据可以非常特定且应用调节的方式切片,从而切片允许该系统针对该特定应用捕获物体的内在结构。例如,如果应用需要交互的三次曲面,可定义适当的三次切片设计。此外,可使用噪音水平的局部估计,以根据局部估计的噪音水平局部地调节切片的宽度。此外,除了在上述切片方法中使用的欧几里得距离,测地距离测量也可使用。

现描述块34的连接的部件计数。作为(上述任意)切片过程的结果,属于相同切片的所有像素具有相同的标签(通过对特定切片的指数k定义),但不是必须属于相同的物理物体(例如,相邻指尖可具有相同的深度,且因此相同的标签,但属于不同的手指,见图4)。

系统继续识别连接的部件,且对段重新标记,从而仅在连接的部件内的像素接收相同标签(见图5)。该系统以在特定切片中的任何像素开始,且然后将标签分配给连接至原始像素的所有像素。该系统然后从相同切片中选择尚未标记的像素,重复该过程,且将新的标签分配给连接的像素。一旦在切片中的所有像素已经被标记,然后该系统移动到下一切片。

例如,图4示出如上关于图3a所述的传感器平行平面切片的使用,在图像内的用户的部分根据特定切片被标记。作为其结果,三个手指的指尖用数字1标记,而小拇指的指尖用数字2标记,大拇指的指尖用数字5标记。通过连接的部件的计数,连接部件被重新标记,从而四个指尖——不同手指的端点——现在用数字1、2、3和4标记,相关的连接的部件被重新标记,如图5相对于图4所示。

取决于原始数据质量,可以使用四个连接的相邻区域(更快)或八个连接的相邻区域(更慢但更鲁棒)或将标签独有地分配给连接部件的任何其他算法。

现将描述图2的块36的图表构建子程序。作为朝向真实物体结构的第一次逼近,该系统从图5的被标记段构建有向图。该系统为具有特定标签的每组像素建立节点。所有节点a和b通过从a到b的有向边连接,如果在被切片的图像中的相应部件被连接,且如果原始切片标签ka和kb(在分配连接部件标签之前)满足

ka=kb+1

需注意,图表按照定义是非周期的。在下一步骤中,该系统分析像素的连接性,即,投影在图像平面上的3d点的像素。现在看节点的连接性,其是已经接收相同标签的像素的组。但是,两个节点是否连接则又取决于一个节点是否包含连接至来自另一节点的像素的像素(除了上述标记条件)。

通过分析图表(算法称为图表遍历),该系统能够识别图表的叶子。叶子是没有“孩子”的节点,如所已知的。理想地,每个叶子应对应于被切片的物体的端点。但是,该假定不总是有效的,因为可由各种因素导致问题。由于距离测量中的噪音,在物体上相邻的点可在它们的像素坐标中明显不同,且可因此错误地分配给不同切片。有时,物体的一定部分可被投影,从而在3d空间中不是端点的特征在2d投影中变为端点,且由此在图表中成为叶子(例如,如果手被取向为指尖不可见,则拇指球可变为叶子)。

图2的块38的图表修剪使图表简化,且通过去除不合理的图表结构将其转换为更好地展示物体内在结构的树,如图7和8所示。为此,该系统应用以下改进和扩展。

修剪包括多个修剪方法的至少一个。如将是明显的,按照期望,可使用仅一个修剪方法,或可使用多个修剪方法。在图表构建导致两个或更多独立图表的情况下,修剪包括去除包含少于临界数量节点或对应于具有少于临界数量像素的像素的连接区域的一个或多个图表。修剪可包括将一节点与它们相应的父节点合并,所述节点对应于尺寸小于临界值的像素的连接区域。在子节点在图表中连接至两个父节点的情况下,修剪包括将子节点和对应于像素的较小连接区域的父节点合并为另一父节点的单个子节点。在图表中距参照物不同相对距离的两个节点经由图表的平行路径中的互连节点互连的情况下,修剪包括将具有距参照点或平面相同相对距离的平行路径中的互连节点合并为单个节点。修剪可包括将在距参照物相同的相对距离处且对应于尺寸小于临界值的像素的连接区域的节点合并为在所述相对距离处的单个节点,在它们在图表中连接到共同父节点的情况下。修剪可包括将在距参照物相同的相对距离处的节点合并,在它们于二维像素阵列或从二维像素阵列和深度值构造的三维空间中的像素连接区域之间的距离小于临界值的情况下。

更特别地,该系统执行小图表的去除。包含少于特定数量节点或覆盖少于特定数量像素的所有图表被摒弃,因为这样的图表不包含允许鲁棒跟踪的足够信息。该步骤还去除由于噪音伪影可发生的所有孤立节点。该系统实施小叶子与它们的父亲的合并。小于特定临界值的所有叶子与它们的父节点合并。

该系统实施附件与它们的孩子的合并。如果子节点连接至两个父节点,较小的父节点(以及可行地附连至该父节点的其他节点)与子节点合并。该系统实施平行路径与它们的兄弟的合并。对于所有平行路径,在相同水平上的节点被合并。该系统实施兄弟叶子的合并。相同父节点的多个叶子合并为一个节点,如果它们小于特定临界值的话。该系统实施邻近叶子的合并。或者根据图像空间坐标或者根据真实世界坐标靠近在一起的节点被合并。再次,适当的距离测量包括但不限于欧几里得距离和测地距离。

所有图表修剪方法意图简化图表,且使得可以更一致,从而其最终仅捕获物体的本征拓扑。

在具有真实数据的例子的情况下,对应于图8的连接部件计数的图9所示的较复杂图表被简化为图10所示的图表。

现将描述图2的块40的端点定位。至此描述的步骤的范围是提供一致的树,其叶子表示身体端点(例如指尖)的良好候选者。每个叶子对应于在图像空间中的像素的连接部件。但是,构建树和检测树的所有计算步骤基于处理单帧,而不考虑之前或之后的帧。现在描述在时间上跟踪端点的问题,即,在帧序列上发现相应端点。

为此,该系统首先从端点候选者抽取适当的高水平特征,特别要被用作在下一步骤中用于端点跟踪器的输入。这样的特征可包括但不限于:在连接部件中的像素的数量;连接部件的重心或其他力矩;和连接部件周围的边界盒。但是,如果系统不仅使用叶子,还使用包括至下一分插的节点的大面积连接部件(例如,在图6中,节点4、8和11可用于指尖位置的更鲁棒识别),端点定位将更鲁棒。

为了获得这样的较大面积,该系统首先识别与特定叶子链接的节点。然后,该系统将这些节点的像素处理为单个物体,且从叶子中心开始以圆形图案成长为预限定数量像素(见图11用于例子)。结果,所有端点将通过完全相同数量的像素表示,且因此将具有相同的稳定行为。否则,当相对于切片垂直移动时,端点叶子的形状和跨度将改变,且导致不平衡的端点。

现将讨论图2的块42的端点识别符匹配。在图表中的每个节点具有独有的识别符,但因为在两个相继图像中的图表可在结构上不同,识别符可以不是必须在切片、图表构建和图表修剪之后相同。因此,该系统将相继的图像中的识别符基于在前一步骤中抽取的特征(例如,重心、边界盒)匹配,从而已经被检测的端点在帧序列上被分配相同的识别符。识别符可利用任何算法被匹配,所述算法最小化从新检测的端点识别符至旧识别符的距离的总和,同时允许识别符在没有发现相邻候选者时出现和消失。例如,图12示出在一个图像中,端点被标记为a1、a2、a3、a4和a5。在相继的图像中,见图13,在已经存在手的移动之后,则相同的端点被标记为b5、b3、b3、b2和b1。该系统使用匹配算法,如所述,且将识别符从b5改为a1、b4改为a2、b3改为a3、b2改为a4、b1改为a5。

现将讨论图2的块44的端点稳定化。获得的端点位置可现在被直接使用,例如,控制鼠标光标。但是,在大多数情况下,进一步的稳定化需要被完成。应注意,仅利用标准平滑技术(诸如时间叠加)的稳定化将提供平滑的运动矢量,但还将引入时间延迟。

该系统利用跟踪方法使端点位置稳定,因为当从摄像头分辨率的结果调整比例到屏幕或界面时,其提供更好的(子像素)准确度和更好的用户体验。这可或者在深度图像上或者在副图像(例如,幅度、强度、rgb)上实现。但是,总体上,深度图像呈现更多成像伪影和噪音,特别是在图像边界处以及对于更大距离时。由此,在幅度图像上的跟踪可以是有利的。详细的流程图在图14a和14b中示出。

流程图在块50处开始,其获取数据。这使用如上关于图像所述的方法,以识别物体的端点。决定块52确定是否需要重置。例如在开始时,或当被跟踪的特征全都会聚到相同点或位置时,可需要重置。如果不需要重置,则该系统移动到跟踪块54。跟踪块54将来自前一图像的特征根据当前图像内容移动,如上参考图12和13所述。跟踪步骤可涉及任意适当的跟踪方法,例如,基于块的方法或利用卢卡斯-坎迪方法的光流估计。

决定块56检查无效跟踪结果。如果特征过于靠近在一起,或者如果通过跟踪器提供的信心值指示无效结果,则跟踪结构被处理为无效的。如果是这样,在块58处需要重置,程序则回送到块50,重置随后经由决定块52执行。

如果跟踪结果不是无效的,则程序前进到计算距离块60这计算每个特征和每个端点之间的距离。为了简便性和稳定性,2d欧几里得距离测量应被选择。其他距离测量可也是适当的,例如在3d空间中的欧几里得距离。但是,这要求将检测步骤的2d坐标(可不是必须定位在像素格栅上,但在像素之间)投影到3d空间。

块62则选取具有最小距离的特征/端点对,该最小距离比临界距离更近(例如,以避免将相应端点已经消失的特征匹配到刚刚已经被检测到的另一端点)。

块64相对于被选择的特征移动端点。该步骤涉及导出依赖于距离的重量矢量,以权衡延时和平滑性。特征或端点坐标的小变化不应导致剧跳,但是必须完全稳定,同时大的变化应立刻导致更新。重量可按照以下计算

其中,δ是特征坐标xf和端点左边xe之间的距离,f描述分辨率和依赖于视野的比例因子。使小距离调低和使较大距离调高的其他权重函数也可以应用(例如,指数滤波或卡尔曼滤波)。端点坐标最终被更新为

xe=α·xf+(1-α)·xe

块66摒弃来自距离对列表的特征和端点。

决定块68确定是否可获得更多的对。上述步骤重复,直到没有特征或没有端点候选者被剩下,或其余对超过一定临界值。对于每个未分配的端点,新的特征被引入,且通过端点坐标初始化。每个未分配的特征被删除,或可被跟踪,直到生存时间计数器过期,或当新的端点应该被分配给其时,新的端点在附近被检测。如果可获得更多的对,则程序回送到块62。如果不是,则决定块70确定是否有未分配的端点被剩下。如果是这样,则块72对于每个未分配端点添加特征。在此之后,或如果没有剩下未分配的端点,则确定块74确定是否有剩下未分配的特征。如果是这样,则块76删除没有链接至端点的特征。在此之后,或如果没有剩下未分配的特征,则程序进行到块78,其将改变的端点位置发送到应用,且储存结果用于下一帧。该程序则回送到块50。

如果需要重置,如在块52确定的,则块80实施初始化子程序,其将所有特征设置到与端点候选者相同的位置。该程序则前进到块78,且将重置值提供给应用,且然后回到获取数据块50,以再次开始。

由此,如在此所述的,方法利用深度数据以抽取物体端点,诸如人的指尖、手、手臂、腿和头,用于在场景内的物体的端点的快速和鲁棒识别。

本发明的系统和方法已经关于流程图和块图进行了描述。将理解,流程图和块图的每个块可通过计算机程序指令实施。这些程序指令可被提供给处理器,以产生机器,从而在处理器上执行的指令产生用于执行在块中规定的功能的器件。计算机程序指令可通过处理器执行,以导致一系列操作步骤通过处理器执行,以产生计算机执行的过程,从而在处理器上执行的指令提供用于执行在块中规定的功能的步骤。相应的,图示支持用于执行规定的功能的器件的组合,和用于执行规定的功能的步骤的组合。还将理解,每个块和块的组合可通过基于特殊目的硬件的系统或特殊目的硬件和计算机指令的组合实施,所述系统执行规定的功能或步骤。根据在此披露的各个方面的方法不限于其以任何特定顺序执行的步骤。

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