基于曲率的脸部检测器的制作方法

文档序号:17534663发布日期:2019-04-29 13:51阅读:147来源:国知局
基于曲率的脸部检测器的制作方法

本发明整体涉及用于三维(3d)映射的方法和系统,尤其涉及3d图数据的处理。



背景技术:

在本领域中已知多种不同的方法和系统用于创建深度图。在本专利申请中以及在权利要求书中,术语“深度图”是指场景的作为二维像素矩阵的表示,其中每个像素对应于场景中的相应位置并且具有相应像素深度值,指示从特定参考位置到相应场景位置的距离。换言之,深度图具有图像的形式,其中像素值指示形貌信息,而不是场景中对象的亮度和/或颜色。深度图可例如通过检测和处理图案被投射到上面的对象的图像来创建,如美国专利8,456,517中所述,该美国专利的公开内容以引用方式并入本文。术语“深度图”和“3d图”在本文中可互换使用并且具有相同的含义。

可对深度图进行处理,以便划分和标识场景中的对象。深度图中人形外形(即,结构与人类类似的3d形状)的标识、以及不同场景中这些外形的改变可被用作用于控制计算机应用的手段。例如,公开内容以引用方式并入本文的美国专利8,249,334描述了一种计算机实现的方法,其中深度图被划分以查找人形身体的轮廓。该轮廓被处理以便标识身体的躯干和一个或多个肢体。通过分析深度图中所标识肢体中至少一者的安置来生成输入以控制在计算机上运行的应用程序。

又如,公开内容以引用方式并入本文的美国专利8,565,479描述了一种用于处理包含人形外形的场景的深度图的时间序列的方法。数字处理器处理这些深度图中的至少一者以查找人形外形的头部的位置,并且基于这个位置来估计人形外形的维度。处理器利用所估计的维度在所述序列上跟踪人形外形的运动。

公开内容以引用方式并入本文的美国专利9,047,507描述了一种包括接收包含人形外形至少上半身的场景的深度图的方法。深度图被处理以标识深度图中人形外形的头部和至少一个臂。基于所标识的头部和至少一个臂,并且在不参照人形外形的下半身的情况下,从深度图提取上半身姿态,包括人形外形的肩关节的至少三维(3d)坐标。



技术实现要素:

本发明的实施方案提供用于从深度图提取信息的方法、设备和软件。

因此,根据本发明一实施方案,提供了一种用于处理数据的方法,该方法包括接收包含至少人形头部的场景的深度图,所述深度图包括具有相应像素深度值的像素的矩阵。利用数字处理器,从所述深度图提取所述场景的曲率图。所述曲率图包括所述矩阵中的所述像素中至少一些像素的相应曲率值。所述曲率值被处理,以便标识所述场景中的脸部。

在一些实施方案中,处理所述曲率值包括:检测所述曲率图中的一个或多个斑块,在所述一个或多个斑块上,所述像素具有指示凸形表面的相应曲率值;以及将所述斑块中的一者标识为所述脸部。通常,所述曲率图包括所述像素中至少一些像素的相应曲率取向,并且标识所述斑块中的所述一者包括响应于所述斑块中的所述一者中所述像素的曲率取向来计算所述脸部的滚转角。在所公开的一实施方案中,处理所述曲率值包括在对于所计算的滚转角进行校正时对所述曲率图应用曲率滤波以便探知所述斑块中的所述一者是否为所述脸部。

除此之外或另选地,处理所述曲率值包括响应于所述斑块中的所述一者的尺寸来计算所述脸部的规模,以及在对于所计算的规模进行校正时对所述曲率图应用曲率滤波以便探知所述斑块中的所述一者是否为所述脸部。

进一步除此之外或另选地,提取所述曲率图包括以第一分辨率从所述深度图推导第一曲率图,并且检测所述一个或多个斑块包括在所述第一曲率图中查找所述一个或多个斑块,并且处理所述曲率值包括以比所述第一分辨率更精细的第二分辨率推导包含所述斑块中所述一者的第二曲率图,以及利用所述第二曲率图来标识所述脸部。

在一些实施方案中,处理所述曲率值包括以曲率滤波核对所述曲率图进行卷积以便查找所述场景中所述脸部的位置。在所公开的一实施方案中,对所述曲率图进行卷积包括分别应用脸部滤波核和鼻部滤波核以便计算所述脸部的相应候选位置,以及基于所述候选位置查找所述位置。除此之外或另选地,对所述曲率图进行卷积包括计算所述场景中多个点中的每一者的对数似然值,以及响应于所述对数似然值来选择所述位置。

根据本发明一实施方案,还提供了用于处理数据的装置,包括成像组件,所述成像组件被配置为捕获包含至少人形头部的场景的深度图,所述深度图包括具有相应像素深度值的像素的矩阵。处理器被配置为:从所述深度图提取所述场景的曲率图,所述曲率图包括所述矩阵中的所述像素中至少一些像素的相应曲率值;以及处理所述曲率值以便标识所述场景中的脸部。

根据本发明一实施方案,还提供了一种计算机软件产品,包括其中存储有程序指令的非暂态计算机可读介质,所述指令在被计算机读取时使得所述计算机:接收包含至少人形头部的场景的深度图,所述深度图包括具有相应像素深度值的像素的矩阵;从所述深度图提取所述场景的曲率图,所述曲率图包括所述矩阵中的所述像素中至少一些像素的相应曲率值;以及处理所述曲率值以便标识所述场景中的脸部。

结合附图,从下文中对本发明的实施方案的详细描述将更完全地理解本发明,在附图中:

附图说明

图1是根据本发明一实施方案的用于3d映射人形外形的系统的示意性图解;

图2是根据本发明一实施方案的层叠以所预测脸部斑块的深度图的示意图;

图3是根据本发明一实施方案的以低分辨率从图2的深度图提取的法线图的示意图;

图4是根据本发明一实施方案的从图3的法线图提取的粗级曲率图的示意图;

图5是根据本发明一实施方案的从图4的曲率图提取的斑块的图的示意图;

图6是根据本发明一实施方案的在图5中找到的斑块内曲率方向的图的示意图;

图7是根据本发明一实施方案的以高分辨率从图2的深度图提取的法线图的示意图;

图8是根据本发明一实施方案的从图7的法线图提取的细粒度曲率图的示意图;

图9a和图9b是根据本发明一实施方案的在脸部检测中使用的滤波核的示意图形表示;并且

图10a和图10b是根据本发明一实施方案通过分别以图9a和图9b的滤波核对图8的曲率图进行卷积而获得的对数似然图的示意性图形表示。

具体实施方式

2016年9月22日提交的美国专利申请15/272,455描述了用于从深度图提取人形外形的方法、系统和软件,该美国专利申请的公开内容通过引用并入本文。在所公开的方法中,数字处理器从包含人形外形的场景的深度图提取曲率图。曲率图包括所述深度图中的像素中至少一些像素的相应取向曲率。换句话讲,在这些像素中的每一者处,曲率图保持指示主曲率值的标量带符号数值和被表示为二维(2d)向量的对应的曲率取向,即主曲率的方向。处理器利用曲率图中的曲率值和取向二者来对深度图进行划分,并且因此提取人形外形的一个或多个肢体的3d位置和取向坐标。

处理器通过标识曲率图中像素具有正曲率的斑块(这意味着这些斑块的表面是凸形的)来对深度图进行划分(但是,“正”曲率的这个定义是任意的,并且曲率可以另选地被定义成使得凸形表面具有负曲率)。在深度图中,在曲率图中符号改变的位置处标识斑块的边缘。这个对曲率的使用增强了划分的可靠性和鲁棒性,因为它使处理器能够区分不同的斑块以及区分斑块和背景,即使是在给定斑块的这个边缘处没有明显的深度变化时(这可能是在一个身体部分遮挡另一身体部分时出现),或者是在身体部分正靠在背景表面或其他对象上时。

本文所述的本发明实施方案特别为了标识场景中的一个或多个脸部而处理曲率图。通常,在所公开的方法中,如上所述在曲率图中检测一个或多个斑块。作为对应于脸部的候选者的斑块中的像素的曲率取向被处理,以便估计脸部的滚转角。然后可以在对于所计算的滚转角进行校正时将曲率滤波应用于曲率图,以便探知该斑块确实是脸部的可能性。除此之外或另选地,斑块的尺寸可被用于估计和校正脸部的规模。

各种分类器可被用于从曲率图提取脸部。在下文更详细描述的一些实施方案中,以一个或多个曲率滤波核对曲率图进行卷积以便查找所述场景中脸部的位置。在一个实施方案中,分别应用脸部滤波核和鼻部滤波核,以便计算相应的候选位置,所述相应的候选位置在查找实际脸部位置中被使用。这些滤波与典型脸部(包括相对高凸曲率的鼻部)的曲率特征匹配,并且对于脸部的俯仰和偏摆相对不敏感。如上所述,滚转角和规模可分别被归一化。滤波可被配置为返回所述场景中每个候选点的对数似然值,由此可将具有最高对数似然值的点标识为脸部位置。

图1是根据本发明一实施方案的用于深度映射和成像的系统20的示意性图解。在该示例中,成像组件24被配置为捕获和处理场景的深度图和图像,所述场景在这个示例中包含人形主体36。这种成像组件例如在上文提到的美国专利8,456,517中有所描述。然而,本发明的原理决不限于在该专利中描述的基于图案的映射的类型,并且可以在处理由本领域已知的基本上任何合适的技术生成的深度图中被应用,诸如基于立体成像或飞行时间测量的深度映射。

在图1所示的示例中,成像组件24中的投影仪30将光学辐射图案投射到场景上,并且深度相机32捕获所述图案在所述场景上出现的图像(包括至少主体36的头部)。组件24中的处理设备处理所述图案的图像,以便生成主体36的体部的至少一部分的深度图,即3d坐标的阵列,包括预定义区域内每个点(x,y)处所述场景中的对象的深度(z)坐标值。(在图像相关数据的阵列的上下文中,这些(x,y)点也被称为像素。)任选地,成像组件24中的彩色相机34也捕获所述场景的彩色(2d)图像,但是,下文所述的脸部检测方法并不要求此类2d图像。相反,所公开的方法在将所述场景中的对象分类为脸部以及标识其位置中仅依赖于深度信息。

成像组件24生成包括深度图的数据流用于输出到图像处理器,诸如计算机26。尽管计算机26在图1中被图示成相对于成像组件24独立的单元,但这两个部件的功能可以另选地被组合在单个物理单元中,并且系统20的深度映射和图像处理功能甚至可以由单个处理器执行。计算机26处理由组件24生成的数据,以便检测主体36和/或可能出现在深度图中的其他主体的脸部。通常,计算机26包括通用计算机处理器,所述通用计算机处理器在软件中被编程为执行上述功能。软件可以例如通过网络以电子形式下载到处理器,或者可以另选地在有形非暂态介质诸如光学、磁性、或电子存储器介质上被提供。进一步另选地或除此之外,计算机26的至少一些功能可由硬接线或可编程逻辑部件来执行。

图2是根据本发明一实施方案的由组件24捕获的深度图的示意图。如上所述,深度图包括具有相应深度值的像素的矩阵。深度值在图2中被表示成灰度值,其中越暗的灰影对应于越大的深度值,即越远离组件24的位置。(黑色区域对应于不能确定深度值的像素。)在这个具体场景中,主体将其手部放在其头部上,从而遮蔽了头部的一些轮廓。

图3是根据本发明一实施方案的以低分辨率从图2的深度图提取的法线图的示意图。这个法线图以低分辨率水平(例如40像素×30像素)计算,其在这个示例中是组件24所采集的深度图的尺寸的1/16。虽然本方法的这个以及随后的步骤也可以更精细的分辨率执行,但是就计算速度而言有利的是,初始步骤(直到查找深度图中的斑块,如下文所解释)以粗级分辨率执行。

法线图如下计算:将u-v作为深度图的表面参数化网格,p=p(u,v)表示3d中图2的深度图的表面点。基于这个图中的深度值,计算机26计算每个点处深度梯度的叉积。这个计算的结果是图3所示的法线图,其中n=n(u,v)是点p处的表面法线,使得每个像素保持与在对应点处由深度图限定的表面的法线的方向对应的向量值。法线向量难以以灰度表示来展示,并且图3中的法线图因此仅为了一般性说明而被呈现。法线接近z方向(指向页面外)的像素在图3中具有较浅的灰影,而那些朝向x-y平面倾斜的像素较暗。就这一点而言,头部和手部的高曲率可根据图3中显著的灰度梯度来观察,并且这个特征将在后续分析步骤中使用。

计算机26然后基于这个法线图计算(低分辨率)曲率图。在这个步骤为每个像素计算的曲率可以在3d几何中已知的2x2矩阵形式中被表示成形状算子s,其被定义如下:

s=b·g-1

计算机26提取形状算子本征向量(对应于两个主曲率取向)和形状算子本征值(对应于沿这些取向的曲率值)。曲率图包含每像素主曲率,即具有较大绝对值的本征值和对应的曲率取向。原始曲率值可以是正的或负的,其中正曲率对应于凸形表面斑片,并且负曲率对应于凹形表面斑片。

图4是根据本发明一实施方案的从图3的法线图(并且因此从图2的深度图)提取的曲率图的示意图。由于灰度图形的限制,这个曲率图仅示出曲率的量值(即,曲率矩阵的主本征值,如上所述),而曲率方向在图6中示出,如下所述。具有强正曲率值的像素在曲率图中具有浅的灰影,而具有负曲率值的像素是暗灰的。

计算机26使用曲率图来从原始深度图提取具有正曲率的斑块。因为身体部分诸如头部和手部本质上是凸形的,所以对于斑块对应于此类身体部分,像素的斑块内的正曲率是必要条件。此外,从正曲率向负曲率的转变是身体部分的边缘的良好指示,即使是在身体部分与另一对象接触而在身体部分和所述对象之间没有清晰深度梯度的时候。

图5是根据本发明一实施方案的从图4的曲率图提取的斑块的图的示意图。由于头部和手部(它们在图5中一起延伸)而得到的斑块具有强正曲率,因此可基于其边缘处曲率的符号改变而从其他对象清楚地划分。

图6是根据本发明一实施方案的在图5中找到的斑块内曲率方向的图的示意图。计算机26使用曲率图中的像素级曲率取向来查找曲率图中斑块的曲率的轴线。如上所述,曲率向量方向是在曲率计算过程中找到的曲率矩阵的主要(主)本征向量的方向。每个斑块的轴线是深度图(或曲率图)中在与该斑块上的主曲率方向垂直的方向上延伸通过该斑块的质心的线。这个轴线后续将在对被应用于脸部标识以补偿滚转(即头部侧向倾摆)效应的分类器归一化中被使用。

通常,计算机26将给定斑块的主曲率方向标识为所有像素的曲率方向的统计众数。换句话讲,对于每个斑块,计算机构建斑块中像素的曲率方向的直方图,并且将主曲率方向标识为直方图的众数。如果直方图包含多众数行为,则每个众数被独立地分析,从而将斑块分成多个子斑块。在此基础上,在图6所示的示例中,具有竖直曲率轴线的头部斑块由对角线曲率轴线与较小手部斑块划分开。另选地,其他统计平均值诸如均值或中值可被标识为主曲率方向。

在已标识深度图中作为脸部候选者的一个或多个斑块之后,计算机26现在开始处理深度图中来自这些斑块的数据,以便决定哪些(如果有的话)可被确信地分类为脸部。假设深度图分析的第一阶段(直到标识候选斑块及其轴线)以低分辨率执行,如上文所解释,计算机26通常在第二分类阶段期间以更精细的分辨率处理斑块中的数据。因此,例如,根据本发明一实施方案,图7是以分辨率160×120从图2的深度图提取的法线图的示意图,而图8是从图7的法线图提取的曲率图的示意图。

接下来,计算机26将脸部分类器应用于这个曲率图。在本实施方案中,计算机26以一个或多个滤波核对要分类的每个斑块的曲率值进行卷积,这返回每个像素的得分,指示其是脸部中心点的似然。作为这个分类步骤的一部分,通过旋转从被分类斑块中像素的曲率取向推导的轴线来对脸部的滚转角进行归一化(例如归一化到竖直方向)。除此之外或另选地,计算机26基于斑块的尺寸对脸部的规模进行归一化。等效地,可旋转和/或缩放在分类中使用的一个或多个滤波核。

图9a和图9b是根据本发明一实施方案的在脸部检测中使用的滤波核的示意图形表示。图9a表示与典型脸部的典型曲率特征匹配的脸部滤波的核,而图9b表示与沿鼻梁所预期的高曲率值匹配的鼻部滤波的核。当以曲率图进行卷积时,这些滤波核生成斑块内每个像素的得分,指示该像素是脸部中心点的对数似然。

除了鼻部区域之外,还可采取附加脸部区域来生成一组部件滤波。这个方法可以与可变形部件模型(dpm)结合使用,所述可变形部件模型通过将整个对象规模和对象部件规模二者的匹配得分组合来执行对象检测。部件滤波补偿由于透视变化而导致的对象部件布置的变形。

另选地或除此之外,可使用其他核。例如,图9a和图9b所示的核被优化用于正平面与深度相机32的轴线正交的脸部,其中偏摆(头部围绕竖直轴线的旋转)和俯仰(头部上下点扬)角度为零。由于脸部本身的几何特性,这些基于曲率的核实际上具有对于偏摆和俯仰相对不敏感的优点。然而,为了增大检测范围,附加的核可被限定并且以曲率图进行卷积,对应于偏摆和/或俯仰的不同范围。例如,计算机26可应用对应于偏摆=0,±30°和俯仰=0,±30°的组合的九个不同核(或可能九对脸部和鼻部核)。

图10a和图10b是根据本发明一实施方案通过分别以图9a和图9b的滤波核对图8的曲率图进行卷积而获得的对数似然图的示意性图形表示。这些图中的灰度值与每个点处对数似然的倒数成比例,这意味着图中最暗的点对应于最高对数似然值。计算机26处理这些图以便标识实际上对应于深度图中脸部的一个或多个斑块。在选择最佳候选脸部中心点中,计算机考虑多个因素,例如:

·候选点处脸部核响应中的低均方根误差(rmse)。

·候选点处高度局部化脸部核响应。

·(鼻部核响应所指示的)脸部内鼻部位置处的高曲率值。

在图10a和图10b所示的示例中,滤波核都在深度图中在脸部中心处返回对数似然的相同清晰峰。

在一另选实施方案中,不是使用图9a和图9b所示的显式滤波核或者除了使用图9a和图9b所示的显式滤波核之外,上文概述的原理在深度卷积神经网络(dcnn)中实施。在这种情况下,对dcnn的输入流包括法线图和粗级和精细级曲率图,如上所述。滚转和规模可如上所述预先计算,并且被用于归一化对dcnn的输入流。另选地,输入可以按原样馈送,从而使dcnn自行学习这些转换。作为训练过程的一部分,网络学习滤波核,而不是使用固定的“手工制作的”核。

任选地,在曲率的基础上找到的斑块(如在图6中)可被用作对基于区域的神经网络的区域提议。另选地,计算机可以利用上文所述类型的预定义滤波进一步对深度图滤波,然后将甚至更小集合的最终候选位置传递给神经网络用于进行评估。

应当理解,上文所描述的实施方案以示例的方式引用,并且本发明不限于上文已特别示出或描述的内容。相反,本发明的范围包括上文所述的各种特征、以及本领域的技术人员在阅读以上描述之后会想到的在现有技术中没有公开的其变型形式和修改形式的组合和子组合。

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