用于心律检测的面部皮肤掩膜生成的制作方法

文档序号:11530877阅读:318来源:国知局
用于心律检测的面部皮肤掩膜生成的制造方法与工艺

背景

光学心率监测系统通常使用对可见光或红外(ir)光敏感的光学辐照传感器来检测人体血液中血红蛋白的流动。在一些系统中,主体佩戴某种形式的监测设备,或者传感器被定位成接触诸如手指或耳垂之类的末端。接触系统对面向运动员、健身爱好者或门诊医疗患者的应用而言往往是麻烦和不切实际的。

提供本背景以介绍以下概述和详细描述的简要上下文。本背景不旨在帮助确定所要求保护的主题的范围,也不旨在将所要求保护的主题限于解决以上所提出的缺点或问题中的任一者或全部的实现。

概述

捕获的图像的数据被接收到;该捕获的图像的数据包括解剖学头部的数据的子集。解剖学头部的数据的子集包括多个代表性像素,该多个代表性像素具有相应的多个像素值。可确定多个代表性像素中的每个像素具有在指示皮肤的阈值之内的相应的多个像素值。

应当理解,以上所描述的主题可被实现为计算机控制的装置、计算机进程、计算系统或者诸如一个或多个计算机可读存储介质等的制品。通过阅读下面的详细描述并审阅相关联的附图,这些及各种其他特征将变得显而易见。

提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并非旨在标识所要求保护的主题的关键特征或必要特征,亦非旨在用作辅助确定所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。

附图简述

图1例示了所公开的面部皮肤掩膜的示例性环境;

图2例示了可被部分地用来创建所公开的面部皮肤掩膜的示例性捕捉设备;

图3例示了可被用于创建面部皮肤掩膜的示例捕获的图像;

图4例示了可被用于创建面部皮肤掩膜的示例捕获的图像的头部;

图5例示了用于获得面部皮肤掩膜的示例性方法;

图6例示了用于指示皮肤的示例性方法;

图7例示了用于获得面部皮肤掩膜的示例性方法;

图8示出了可被部分地用来实现所公开的面部皮肤掩膜的说明性多媒体控制台的示例框图;

图9示出了可被部分地用来实现所公开的面部皮肤掩膜的说明性计算平台的示例框图。

各附图中相同的附图标记指示相同的元素。除非另外指明否则各元素不是按比例绘制的。

详细描述

本文所公开的是可被用于各种应用(诸如心率检测或显示视觉效果)的面部皮肤掩膜的使用。可基于在捕获的图像中分离头部、从该捕获的图像中的头部移除指示非皮肤的像素以及从该捕获的图像中的头部移除指示具有高速度的像素来生成面部皮肤掩膜。经转换的捕获的图像的头部的像素值可用作像素是否为皮肤的置信水平。在确定是否为皮肤之后,可通过跟踪在一次心跳期间由氧合血溢流造成的主体的皮肤颜色从一帧到下一帧的变化来确定该主体的心率。

图1例示了其中可实现所公开的光学心率跟踪的示例性环境100。需要强调的是,环境100旨在是说明性,包括其他类型的设备、应用和使用场景的其他环境也可能能够利用本文所描述的原理。环境100包括诸如多媒体控制台103的计算平台,该多媒体控制台通常被配置成用于使用本地和/或联网的编程和内容来运行游戏和非游戏应用、播放预先录制的多媒体(诸如包括数字通用光盘(dvd)和蓝光光盘的光盘)、从网络流传输多媒体、参与社交媒体、使用诸如电视机等耦合的音频/视觉显示器108来浏览互联网和其他联网媒体和内容等等。

多媒体控制台103在此示例中被操作地耦合至捕捉设备113,捕捉设备113可使用被配置成在视觉上监视用户119所占据的物理空间116(在图1中大致由虚线指示)的一个或多个摄像机来实现。如以下更详细地描述的,捕捉设备113被配置成捕捉、跟踪并且分析用户119的移动。这些移动可被用作可被用来影响例如在多媒体控制台103上运行的应用或操作系统的控件。用户119的手121或其他身体部位的各种运动可对应于常见的系统范围任务,诸如从主用户界面中选择游戏或其他应用。

显示器108提供对用户119的拳击对手的视觉表示以及对具有捕获的图像头部112的玩家化身111的视觉表示。捕获的图像头部112可以是具有重叠的视觉效果的用户119的捕获的图像,如本文更详细地讨论的。用户119可在物理空间116中作出移动(例如,挥拳)以促使玩家化身在游戏空间中作出对应的移动。用户119的移动可在物理空间116中得到识别和分析,使得用于对游戏空间中的玩家化身进行游戏控制的对应的移动被执行。

由多媒体控制台103支持的游戏应用提供了所公开的面部掩膜生成和光学心率跟踪可在其中被有利地利用的示例性上下文。例如,就光学心率跟踪而言,在上述拳击游戏中,游戏设计者可能希望添加其中用户的心率连同作为对用户的表现、技能或健康水平的指示的其他因素(诸如每轮挥拳和击中的次数)一起得到监测的游戏特征。就所公开的面部掩膜生成具体而言,面部的各区域(例如,眼睛、牙齿和嘴巴)以及面部的组成(例如,头发和面部皮肤)可被更准确地标识,并且因此视觉效果可被准确地应用。所公开的面部皮肤掩膜生成可被用来创建可以以有意义的方式来帮助跟踪用户119的面部的锚点。例如,在拳击比赛期间,用户119的捕获的图像可在显示器108上被示出。捕获的图像头部112可以是用户119的头部的捕获的图像,其可被覆盖有用户119的脸颊上的真实的疤痕和瘀伤,用户119的脸颊可与用户119的心率成序列地搏动。其他增强现实效果也可被应用,诸如根据测得的心率成序列地闪烁的对用户119的血管的视觉描绘。将进一步理解,心率跟踪在包括游戏和非游戏上下文的其他上下文中可能是有用的。

图2例示了捕捉设备113的示例性功能组件,其可被用作目标识别、分析及跟踪系统300的一部分以在物理空间116(图1)的捕捉区域识别人类和非人类目标而无需使用被附连到这些主体的专门感测设备、唯一地标识人类和非人类目标并且在三维空间内跟踪人类和非人类目标。捕捉设备113可被配置成经由任何合适的技术(包括例如飞行时间(time-of-flight)、结构光(structuredlight)、立体图像等)来捕捉具有深度信息的视频,包括可包括深度值的深度图像。在一些实现中,捕捉设备113可将计算出的深度信息组织成“z层”或者可垂直于沿深度相机的视线从深度相机延伸出的z轴的层。

如图2所示,捕捉设备113包括图像相机组件303。图像相机组件303可被配置成作为可捕捉场景的深度图像的深度相机来操作。深度图像可包括捕获的场景的二维(2d)像素区域,其中2d像素区域中的每个像素可表示深度值,诸如在捕获的场景中的对象距相机的以例如厘米、毫米等为单位的距离。在该示例中,图像相机组件303包括不可见光组件306、不可见光相机311(例如,ir)以及可见光相机314(例如,yuv或rgb)。

各种技术可被利用来捕捉深度视频帧。例如,在飞行时间分析中,捕捉设备113的不可见光组件306可将红外光发射到捕捉区域上,并从而可使用例如不可见光相机311或可见光相机314来检测从捕捉区域中的一个或多个目标和对象的表面被反向散射的光。在一些示例中,脉冲式红外光可被使用使得出射光脉冲和对应的入射光脉冲之间的时间可被测得并被用来确定从捕捉设备113到捕捉区域中的目标或对象的特定位置的物理距离。

捕捉设备113可使用单个相机或多个相机来捕捉可见光和不可见光(辐照)的图像。普通人眼通常不能看到不可见光。不可见光的示例包括红外(ir)、微波、紫外线、x射线和伽马射线。与人类相关联的可见光通常在400nm至720nm的范围内,并且图像通常基于yuv或rgb。术语yuv是指色彩空间族,所有的色彩空间将亮度信息与彩色信息分开编码。像rgb一样,yuv使用三个值来表示任何颜色。这些值被称为y'、u和v。yuv通常被用作针对与y'cbcr按相同原理工作的任何色彩空间的通用术语。y'分量(也称为亮度)表示颜色的亮度值。上撇号通常被省略。u和v分量(也称为色度值或色差值)通过从原始rgb颜色的红色和蓝色分量中减去y值来导出。

捕捉设备113还可包括麦克风318。麦克风318可包括可接收声音并将其转换成电信号的换能器或传感器。麦克风318可被用来减少目标识别、分析及跟踪系统300中的捕捉设备113和多媒体控制台103之间的反馈。附加地,麦克风318可被用来接收也可由用户119提供的音频信号,以控制可由多媒体控制台103执行的诸如游戏应用、非游戏应用等的应用。

捕捉设备113还可包括可通过总线328与图像相机组件303可操作地通信的处理器325。处理器325可包括可执行指令的标准处理器、专用处理器、微处理器等,这些指令可包括用于储存简档、接收深度图像、确定合适的目标是否被包括在深度图像中、将合适的目标转换成该目标的骨架表示或模型的指令或者任何其他合适的指令。

捕捉设备113还可包括存储器组件332,该存储器组件332可储存可由处理器325执行的指令、由相机捕获的图像或图像的帧、用户简档或任何其他合适的信息、图像等。根据一个示例,存储器组件332可包括随机存取存储器(ram)、只读存储器(rom)、高速缓存、闪存、硬盘或者任何其他合适的存储组件。如图2所示,存储器组件332可以是与图像捕捉组件303和处理器325通信的分开的组件。替代地,存储器组件332可被集成到处理器325和/或图像捕捉组件303中。在一个示例中,捕捉设备113的组件303、306、311、314、318、325、328和332中的一些或者全部位于单个外壳中。构想了捕捉设备113可以具有基于实现的若干不同的形式。例如,通过通信链路335与多媒体控制台103通信地连接的捕捉设备113可以是摄像机、带相机的膝上型计算机、带相机的平板计算机、带相机的移动电话、安全摄像机、视频会议相机等。

捕捉设备113通过通信链路335可操作地与多媒体控制台103进行通信。通信链路335可以是包括例如usb(通用串行总线)连接、火线连接、以太网电缆连接等的有线连接。通信链路335可以是诸如无线802.11连接之类的无线连接。多媒体控制台103可经由通信链路335向捕捉设备113提供时钟,该时钟可被用来确定何时捕捉例如一场景。捕捉设备113可经由通信链路335向多媒体控制台103提供由例如不可见光相机311或可见光相机314捕获的深度信息和图像,包括可由捕捉设备113生成的骨架模型和/或面部跟踪模型。多媒体控制台103接着可使用骨架和/或面部跟踪模型、深度信息以及捕获的图像来例如创建虚拟屏幕、适配用户界面并控制应用。

运动跟踪引擎341使用骨架和/或面部跟踪模型以及深度信息来向捕捉设备113被耦合到的多媒体控制台103上运行的一个多个应用(在图3中由应用345代表性地指示)提供控制输出。信息还可由姿势识别引擎351、面部皮肤掩膜引擎353、深度图像处理引擎354、操作系统359或光学心率跟踪引擎362使用。深度图像处理引擎354使用深度图像来跟踪诸如用户和其他对象等对象的运动。深度图像处理引擎354将通常把检测到的对每个对象的标识以及每帧的对象的位置报告给操作系统359。面部皮肤掩膜引擎353定义了如本文所讨论的面部皮肤掩膜,并且可通常向应用345、光学心率跟踪引擎362或操作系统359报告。操作系统359可使用该信息来更新例如化身或显示器108上示出的其他图像的位置或移动,或者对用户界面执行动作。

姿势识别引擎351可利用可包括姿势过滤器集合的姿势库(未示出),每个姿势过滤器都包含关于例如可由骨架模型(在用户移动时)执行的姿势的信息。姿势识别引擎351可将由捕捉设备113捕获的骨架模型以及与其相关联的移动的形式的帧与姿势库中的姿势过滤器进行比较以标识用户(其由骨架模型表示)何时已执行了一个或多个姿势。那些姿势可与对应用的各种控制相关联。因此,多媒体控制台103可采用姿势库来解释骨架模型的移动并基于该移动来控制在多媒体控制台上运行的操作系统或应用。

以下是与面部皮肤掩膜相关联的示例性方法。除非具体说明,否则下面所示的方法(例如,图5至图7)以及附图中所呈现并描述的其他方法中的那些不限于特定的次序或顺序。此外,一些方法或其步骤可同时发生或被执行,并且取决于给定实现的要求,在这一实现中不是所有方法或步骤均需要被执行,并且一些方法或步骤可被任选地使用。例如,附加的处理在一些场景中可能被期望以提升在某些操作环境中对皮肤的标识的准确性,代价是增加的计算以及系统资源使用。类似地,例如,一些步骤可在一些应用中被消除以减少开销,同时降低面部皮肤掩膜的运动容限或稳健性。

图3例示了一环境的示例性捕获的图像400。捕获的图像400包括对具有头部403和身体区域411的用户119的捕捉。图4例示了头部403的近视图。头部403具有眼睛422、眼睛423、耳朵425、耳朵427、嘴巴421、鼻子429、眉毛432、眉毛433和头发431。

图5例示了用于获得面部皮肤掩膜的示例性方法405。如本文所描述的图5的方法可在控制台103上被执行,并且其各部分可在面部皮肤掩膜引擎353内被执行。在框451,捕获的图像400可被接收到。这里,假设捕获的图像400是由捕捉设备113捕获的基于yuv的图像。捕获的图像400可被认为是可表示捕获的图像400的多个像素的数据。在框453,头部403(例如,解剖学头部)从捕获的图像400被分离出。头部403可被认为是来自捕获的图像400的数据的子集,其将被操纵或者被分析以创建如本文所讨论的面部皮肤掩膜。捕获的图像400中的不是该捕获的图像400的头部403的一部分的部分(诸如身体区域411)或捕获的图像400的其他环境部分(例如,椅子或窗(未示出))在针对获得面部皮肤掩膜的分析中被移除或以其他方式不被考虑。

在示例中,捕获的图像400的头部403可被转换进rgb通道。从捕获的yuv图像到rgb图像的转换不是必需的,但可使得分析更加容易。使用rgb图像的所有步骤都可使用yuv图像。对灰度图像(如ir图像)而言,接受每像素一个颜色通道而非三个颜色通道的对算法的修改得到了使用。经修改的算法也可针对ir进行调整,例如,其中眼睛更加明亮。

在框457,框453处的头部403的每个像素被分析以确定是否为皮肤。存在输入像素值和输出像素值。rgb(或一些其他色彩空间(例如yuv或ir))像素为输入以及其在头部中的位置(例如,第一像素输入为r:255、g:128、b:0,并且在沿x和y中的头部边界的中间位置),而代表性像素(或置信/归一化像素)为输出,其值指示皮肤或非皮肤的置信度(例如,如果第一像素归一化值=0.05,则可能不是皮肤;如果第一像素归一化值=0.95,则可能期望是皮肤)。如本文更详细地讨论的,算法可被使用以提供将嘴巴/眼睑的位置考虑在内的输出像素值。例如,在头部下方75%的具有红色的输入像素可能是嘴巴,并且以同样的方法将得到指示可能不是面部皮肤的归一化像素值供如本文所讨论的面部掩膜用途。一般地,用于确定像素指示皮肤的算法(以下称为皮肤像素确定算法)可不单单只使用颜色或ir数据。其他每像素的信息(诸如空间坐标(例如,关于图像中的某个点的x/y坐标值或关于一点的极坐标)、推断出的数据项(诸如像素的深度(捕捉技术的3-d性质,尤其针对ir而言)))可被使用。此外,如果期望的话,相邻像素数据也可被用来辅助输出像素值确定。

像素是基于每个输出像素值在可接受的阈值量之内的对皮肤的指示。像素确定算法可通过使用诸如机器学习之类的不同方法来生成,这将在下面参照图6作进一步详细讨论。框453的不指示皮肤的像素在针对获得面部皮肤掩膜的分析中被移除或以其他方式不被考虑掩膜。

在一示例中,结合框457所讨论的像素的输出值可被归一化。“归一化”是指在针对面部(pi)中的每个个体像素获取来自机器学习算法的输出之后,面部的均值皮肤被计算出,其中均值等同于下式:

其中n表示面部中的像素总数。

面部的标准偏差为

归一化值使用下式来计算:noramlizedpi=(pi-mean)/std。归一化不是必需的。机器学习生成规则所针对的每像素算法的结果可被直接使用,或者以各种方式被“修改”。在归一化之后,基于面部中某百分比(例如,75%)的像素为皮肤的假设,阈值被建立以将归一化像素值内插(例如,线性化)为从0到1,并接着将其按比例缩放为从0到255。归一化像素值可被视为像素是面部上的皮肤的可能性的置信水平。值“0”表示绝对不是皮肤像素,值“255”表示绝对是皮肤像素。嘴巴和眼睑可能是在0和122之间的某些值,因为它们很有可能对如本文所定义的面部皮肤掩膜而言不是理想的。

在框459,如果框457的像素值不在可接受的阈值之内,则基于不可见光图像(例如,ir图像)来创建面部皮肤掩膜或者基于其他图像源来创建可接受的面部皮肤掩膜(例如,具有可接受的阈值的面部皮肤掩膜)的过程。对处在面部皮肤掩膜的可接受的阈值之内的确定可基于在框457处指示皮肤的各像素的平均值的计算结果。如下面更详细讨论的,图7例示了用于基于不可见光图像来创建面部皮肤掩膜的示例性方法,其类似于与创建基于yuv的面部皮肤掩膜相关联的此处的方法(例如,框451至框457)。

在方框461,用于面部皮肤掩膜的像素可进一步移除高速度像素。光流技术可被用来获得每个像素的从帧到帧的移动速度。速度也可使用其他技术来确定。具有高速度的像素从面部皮肤掩膜440被移除。光流技术的使用可能导致移除具有皮肤的区域。这里,由于高速度像素的对头部403的一部分(例如,嘴唇或眼皮)的移除可允许针对使用面部皮肤掩膜的各应用的更准确的输出。速度技术可被用于皮肤掩膜生成rgb、yuv、ir、ir+深度等的任何变体。

在框463,面部皮肤掩膜基于框461(或框457或框459)的所得到的像素被创建。面部皮肤掩膜可以是根据坐标平面中的解剖学头部的捕获的图像指示皮肤或非皮肤的可能性的数据。面部皮肤掩膜可以是具有与输入头部图像(例如,rgb、yuv或ir)大致相同尺寸的灰度(或彩色)图像。就面部皮肤掩膜的图像而言,每个像素的亮度可被认为是指示皮肤的可能性。创建面部皮肤掩膜的像素可以是归一化值,其可创建灰度图像。替代地,面部皮肤掩膜可以是像素的坐标以及根据解剖学头部的捕获的图像指示皮肤或非皮肤的可能性的对应的输出像素值的列表。

面部皮肤掩膜可针对每一帧来被生成,但不必如此。例如,代替为每一帧生成面部掩膜,如果面部皮肤掩膜在时间t1被生成,则在之后多次生成掩膜(尤其是与同一个人相关联)之后,在时间t1所生成的掩膜可被不断地应用于后续的帧,这可通过内插或类似的技术来完成。

经创建的面部皮肤掩膜可被用于不同的应用,诸如视觉效果或对生理变化的检测。例如,就视觉效果而言,用户119的捕获的图像头部112可在显示器108(图1)上被示出。捕获的图像头部112可基于以经创建的面部皮肤掩膜为基础的皮肤的经确定的位置来被覆盖有脸颊或其他所显示的面部皮肤上的真实的疤痕和瘀伤。在另一示例中,应用可基于对如经创建的面部皮肤掩膜所指示的从帧到帧的皮肤的颜色或灰度的变化进行检查来确定用户119的心率。

图6例示了可被用来创建皮肤像素确定算法的示例性机器学习方法470。在框471,皮肤或非皮肤针对捕获的图像400的头部403被手动地指示。在框473,像素值(诸如亮度以及距头部中心的距离)可从捕获的图像400的头部403被提取出。在框475,框473的像素值以及框471的对皮肤的指示可通过机器学习算法进行处理。可针对具有不同肤色(例如,fitzpatrick标度)的数百或数千个捕获的头部图像来重复框471至框473以创建皮肤像素确定算法,在该示例中,该皮肤像素确定算法是机器学习式的。在关于框471的替代示例中,可能希望从面部皮肤掩膜的处理中移除是皮肤的其他部分。面部上的特定移动部位(诸如眨眼的眼睛和咀嚼的嘴巴)可能会负面地影响对心率信号的确定。为了从分析中移除特定的移动部位,例如嘴巴和眼睑对创建皮肤像素确定算法的机器学习过程(或另一过程)而言可被指示成不是皮肤。就心率相关的分析而言,由于可使用皮肤像素确定算法来排除嘴巴和眼睑,所以可以更准确地说,皮肤像素确定算法输出指示对心律相关的分析而言合乎需要的皮肤的可能性的像素值。

图7例示了用于基于不可见光捕获的图像来创建面部皮肤掩膜的示例性方法480。在框481,捕获的图像400可被接收到。这里,假设捕获的图像400是由捕捉设备113捕获的基于ir的图像。在框483,头部403从捕获的图像400被分离出。

在框487,框483处的经转换的头部403的像素被分析以确定皮肤或不是皮肤的可能性(类似于框457)。像素(其具有通道值)是基于像素值在可接受的阈值量之内的对皮肤的指示。像素确定算法可通过使用诸如机器学习之类的不同方法来生成,这将参照图6进行讨论。框483的不指示皮肤的像素从针对获得面部皮肤掩膜的分析中被移除掩膜。在框489,框487的像素值和框457的像素值可一起被比较或以其他方式被检查,以得到针对面部皮肤掩膜的对哪些可能是皮肤或哪些可能不是皮肤的更精确的确定。就比较图像而言,ir图像或yuv/rgb图像可来自不同的相机,并因此可能需要被同步。如果捕获的图像来自稍微不同的时间或角度,则图像配准或其他技术可被用来补偿不同的时间或角度,以便使图像同步。如本文所讨论的,当对图像进行比较时,该同步可能被需要。

基于图像的心率检测技术是基于对来自相机的主体的连续图像的比较。如本文所讨论的,面部皮肤可被用于心率检测,因为人类皮肤颜色的变化反映了心率。面部是身体最常见的暴露的皮肤部位。然而,面部上的非皮肤部分(诸如头发和胡须)和其他特征(例如,眨眼的眼睛和咀嚼的嘴巴)经常负面地影响对心率信号的确定。因此,如本文所讨论的更精细的面部皮肤掩膜可被用来递送主体的更加准确的心率。更准确的面部掩膜也可帮助在显示器上显示更好的经定位的视觉效果。

基于可见光图像的面部皮肤掩膜的准确性可被照明负面地影响。本文所讨论的是使用多个源的对图像的捕捉(诸如基于多个可见光的图像捕捉和基于不可见光的图像捕捉)以创建更准确地针对不同应用(诸如心率监测和显示视觉效果)来标识主体的皮肤或其他特征的面部皮肤掩膜。在一示例中,多媒体控制台103或另外的设备可检测物理空间116内的照明。多媒体控制台可接收检测到的照明并基于之前最初的不可见光来处理捕获的图像,并且基于以可见光为基础的捕获的图像而不尝试创建面部掩膜。这可减少由多媒体控制台103处理的量。

图8是图1所示的多媒体控制台103的说明性功能框图。在一示例中,与图5-图7相关联的一个或多个方法步骤在多媒体控制台103上被执行,这将在图8中作更具体的描述。在其他示例中,与图5-图7相关联的方法可在诸如智能电话、台式计算机、上网本计算机、平板计算机、膝上型计算机或其他计算设备等设备上被执行。如图8所示,多媒体控制台103具有含有一级高速缓存502、二级高速缓存504和闪存rom(只读存储器)506的中央处理单元(cpu)501。1级高速缓存502和2级高速缓存504临时地储存数据,并且因此减少存储器访问周期的数量,由此改进处理速度和吞吐量。cpu501可被配置成具有一个以上的核,并且由此具有附加的1级高速缓存502和2级高速缓存504。闪存rom506可储存在多媒体控制台103通电时引导过程的初始阶段期间被加载的可执行代码。

图形处理单元(gpu)508和视频编码器/视频编解码器(编码器/解码器)514形成用于高速和高分辨率图形处理的视频处理流水线。经由总线从gpu508向视频编码器/视频编解码器514运送数据。视频处理流水线向a/v(音频/视频)端口540输出数据,用于传输至电视机或其他显示器。存储器控制器510被连接到gpu508,以便于处理器对各种类型的存储器512(诸如,但不限于ram)的访问。

多媒体控制台103包括较佳地在模块518上实现的i/o控制器520、系统管理控制器522、音频处理单元523、网络接口控制器524、第一usb主控制器526、第二usb控制器528和前面板i/o子部件530。usb控制器526和528用作外围控制器542(1)-542(2)、无线适配器548、以及外置存储器设备546(例如,闪存、外置cd/dvdrom驱动器、可移动介质等)的主机。网络接口控制器524和/或无线适配器548提供对网络(例如,互联网、家庭网络等)的访问,并且可以是包括以太网卡、调制解调器、蓝牙模块、电缆调制解调器等的各种不同的有线或无线适配器组件中的任何一种。

系统存储器543被提供来存储在引导过程期间被加载的应用数据。媒体驱动器544被提供并且可包括dvd/cd驱动器、硬盘驱动器、或其他可移动媒体驱动器等。媒体驱动器544对多媒体控制台103而言可以是内置的或外置的。应用数据可经由媒体驱动器544来访问,以供多媒体控制台103执行、回放等。媒体驱动器544经由诸如串行ata总线或其他高速连接(例如ieee1394)之类的总线被连接到i/o控制器520。

系统管理控制器522提供与确保多媒体控制台103的可用性相关的各种服务功能。音频处理单元523和音频编解码器532形成具有高保真度和立体声处理的相应音频处理流水线。音频数据经由通信链路在音频处理单元523与音频编解码器532之间传输。音频处理流水线将数据输出到a/v端口540,以供外置音频播放器或具有音频能力的设备再现。

前面板i/o子部件530支持被展示在多媒体控制台103的外表面上的电源按钮550和弹出按钮552、以及任何led(发光二极管)或其他指示器的功能。系统供电模块536向多媒体控制台103的组件供电。风扇538冷却多媒体控制台103内的电路。

多媒体控制台103内的cpu501、gpu508、存储器控制器510,以及各种其他组件经由一条或多条总线互连,总线包括串行和并行总线、存储器总线、外围总线、以及使用各种总线架构中的任一种的处理器或局部总线。作为示例,这样的架构可包括外围部件互连(pci)总线、pci-express总线等。

当多媒体控制台103通电时,应用数据可从系统存储器543被加载到存储器512和/或高速缓存502和504中,并且可在cpu501上被执行。应用可在导航到多媒体控制台103上可用的不同媒体类型时呈现提供一致用户体验的图形用户界面。在操作中,媒体驱动器544中所包含的应用和/或其他媒体可从媒体驱动器544启动或播放,以将附加功能提供给多媒体控制台103。

多媒体控制台103可通过简单地将该系统连接到电视机或其他显示器而作为独立系统来操作。在该独立模式中,多媒体控制台103允许一个或多个用户与该系统交互、看电影,或听音乐。然而,随着宽带连接的集成通过网络接口控制器524或无线适配器548而成为可能,多媒体控制台103可进一步作为更大网络社区中的参与者来操作。

当多媒体控制台103通电时,可以保留设定量的硬件资源以供多媒体控制台操作系统作系统使用。这些资源可包括存储器的保留量(诸如,16mb)、cpu和gpu周期的保留量(诸如,5%)、网络带宽的保留量(诸如,8kbs),等等。因为这些资源是在系统引导时间保留的,所保留的资源对应用视角而言是不存在的。

具体地,存储器保留量优选地足够大,以包含启动内核、并发系统应用和驱动器。cpu保留量优选地为恒定,以使得若所保留的cpu用量不被系统应用使用,则空闲线程将消耗任何未使用的周期。

对于gpu保留量,由系统应用生成的轻量消息(例如,弹出窗口)被显示,所述显示通过使用gpu中断来调度代码以将弹出窗口呈现为覆盖图。覆盖图所需的存储器量取决于覆盖区域大小,并且覆盖图优选地与屏幕分辨率成比例缩放。在并发系统应用使用完整用户界面的情况下,优选使用独立于应用分辨率的分辨率。缩放器可被用来设置该分辨率,使得对改变频率并导致tv重新同步的需求被消除。

在多媒体控制台103引导并且系统资源被保留之后,执行并发系统应用来提供系统功能。系统功能被封装在上述所保留的系统资源内执行的一组系统应用中。操作系统内核标识出作为系统应用线程而非游戏应用线程的线程。系统应用优选地被调度为在预定时间并以预定时间间隔在cpu501上运行,以便提供对应用而言一致的系统资源视图。调度是为了使针对在控制台上运行的游戏应用的高速缓存中断最小化。

当并发系统应用需要音频时,由于时间敏感性而将音频处理异步地调度给游戏应用。多媒体控制台应用管理器(如下所述)在系统应用活动时控制游戏应用的音频水平(例如,静音、衰减)。

输入设备(例如,控制器542(1)和542(2))由游戏应用和系统应用共享。输入设备不是保留的资源,而是要在系统应用和游戏应用之间被切换以使其各自将具有设备的焦点。应用管理器优选地控制输入流的切换,而无需知道游戏应用的知识,并且驱动器维护关于焦点切换的状态信息。捕捉设备113可对多媒体控制台103定义附加的输入设备。

允许除说明性多媒体控制台103以外的其他类型的计算平台来在一些应用中创建面部皮肤掩膜可能是合乎需要和/或有利的。例如,创建面部皮肤掩膜可能被容易地适配成在具有视频捕捉能力的固定的计算平台和可移动计算平台上运行。图9示出了一种用于计算平台或设备的说明性架构600,该计算平台或设备能够执行本文所描述的各种组件,以用于创建面部皮肤掩膜并将其与其他应用(诸如监测生理变化(例如光学心率跟踪)或视觉效果)一起使用,如本文所讨论的。因此,由图9例示出的架构600示出如下架构:该架构可被适配成用于服务器计算机、移动电话、pda(个人数字助理)、智能电话、台式计算机、上网本计算机、平板计算机、游戏控制台或膝上型计算机。架构600可被用来执行本文所呈现的组件的任何方面。

图9中例示的架构600包括cpu602、系统存储器604(包括ram606和rom608)以及将存储器604耦合至cpu602的系统总线610。基本输入/输出系统被储存在rom600中,该系统包含帮助诸如在启动期间在架构608中的元件之间传递信息的基本例程。架构600还包括大容量存储设备612,其用于存储被用来实现应用、光学心律跟踪引擎、面部皮肤掩膜引擎、运动跟踪引擎、姿势识别引擎、深度图像处理引擎以及操作系统的软件代码或其他计算机执行的代码,其可能以与图2中示出且在伴随的文本中描述的那些组件类似的方式配置有功能和操作。

大容量存储设备612通过连接至总线602的大容量存储控制器(未示出)连接至cpu610。大容量存储设备612及其相关联的计算机可读存储介质为架构600提供非易失性存储。虽然对此处包含的计算机可读存储介质的描述引用了诸如硬盘或cd-rom驱动等大容量存储设备,但本领域的技术人员应当理解,计算机可读存储介质可以是可由架构600访问的任何可用的计算机存储介质。

虽然对此处包含的计算机可读存储介质的描述引用了诸如硬盘或cd-rom驱动等大容量存储设备,但本领域的技术人员应当理解,计算机可读存储介质可以是可由架构600访问的任何可用的存储介质。

作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的存储介质。例如,计算机可读存储介质包括,但不限于ram、rom、eprom(可擦除可编程只读存储器)、eeprom(电可擦除可编程只读存储器)、闪存或其他固态存储器技术、cd-rom、dvd、hd-dvd(高清晰度dvd)、蓝光、磁带盒、磁带或者磁盘存储。其他光存储介质、磁存储介质或任何其他存储介质可被用来储存所需的信息,并且其可由架构600访问。出于本说明书和权利要求书的目的,短语“计算机可读存储介质”、“存储介质”及其变型不包括信号本身,并且具有具体的、有形的且物理的结构。存储器可包括具有具体的、有形的、物理的结构的存储介质。存储器以及本文所描述的任何计算机可读存储介质都不被解释为信号。存储器以及本文所描述的任何计算机可读存储介质都不被解释为制品。

根据各种示例,架构600可以使用通过网络至远程计算机的逻辑连接在联网环境中操作。架构600可以通过连接至总线616的网络接口单元610来连接到网络。应当理解,网络接口单元616还可以被用来连接到其他类型的网络和远程计算机系统。架构600还可以包括用于接收和处理来自数个其他设备的输入的输入/输出控制器618,这些设备包括键盘、鼠标或者电子指示笔(未在图9中示出)。类似地,输入/输出控制器618可提供到显示屏、打印机、或者其他类型的输出设备(在图9中也未示出)的输出。

应当理解,本文所描述的软件组件在被加载到cpu602中并被执行时可以将cpu602和总体架构600从通用计算系统变换成为方便本文所提出的功能而定制的专用计算系统。cpu602可以用任意数量的晶体管或其他分立的电路元件(它们可以分别地或共同地呈现任意数量的状态)来构建。更具体而言,cpu602可响应于被包含在本文所公开的软件模块中的可执行指令而作为有限状态机来操作。这些计算机可执行指令可以通过指定cpu602如何在各状态之间转换来变换cpu602,由此变换了构成cpu602的晶体管或其他分立硬件元件。

对本文所提出的软件模块的编码也可变换本文所提出的计算机可读存储介质的物理结构。在本说明书的不同实现中,物理结构的具体变换可取决于各种因素。这样的因素的示例可以包括,但不限于:被用来实现计算机可读存储介质的技术、计算机可读存储介质被表征为主存储器还是辅存储器等等。例如,如果计算机可读存储介质被实现为基于半导体的存储器,则本文所公开的软件可以通过变换半导体存储器的物理状态而在计算机可读存储介质上编码。例如,软件可以变换构成半导体存储器的晶体管、电容器或其他分立电路元件的状态。软件还可变换这些组件的物理状态以在其上存储数据。

作为另一示例,本文所公开的计算机可读存储介质可以使用磁或光技术来实现。在这些实现中,本文所提出的软件可以在磁或光介质中编码了软件时变换所述磁或光介质的物理状态。这些变换可以包括改变给定磁性介质内的特定位置的磁性。这些变换还可以包括改变给定光学介质内的特定位置的物理特征或特性,以改变这些位置的光学特性。在没有偏离本说明书的范围和精神的情况下,物理介质的其他变换也是可以的,前面提供的示例只是为了便于此讨论。

鉴于以上内容,应当理解,在架构600中发生许多类型的物理变换以便储存并执行本文所提出的软件组件。还应当理解,架构600可以包括其它类型的计算设备,包括:手持式计算机、嵌入式计算机系统、智能手机、pda、以及本领域技术人员已知的其它类型的计算设备。还构想了架构600可不包括图9中所示的所有组件,可包括未在图9中明确示出的其他组件,或者可利用与图9中所示的架构完全不同的架构。

基于此处的讨论,应当理解提供和使用面部皮肤掩膜的技术。虽然用计算机结构特征、方法和变换动作、特定计算机器以及计算机可读存储介质专用的语言描述了本文中所描述的主题,但是应当理解,所附权利要求不必限于本文中所描述的具体特征、动作、或介质。相反,这些具体特征、动作和介质是作为实现权利要求的示例形式来公开的。

如本文所述的方法、系统和装置等可提供用于确定面部上的皮肤或非皮肤的可能性的各种手段。方法、系统、计算机可读存储介质或装置具有用于接收捕获的图像的数据的手段,所述捕获的图像的数据包括解剖学头部的数据的子集,所述解剖学头部的数据的子集包括多个代表性像素,所述多个代表性像素具有相应的多个像素值;以及用于确定所述多个代表性像素中的每个像素是否具有在指示皮肤的阈值之内的所述相应的多个像素值的手段。方法、系统、计算机可读存储介质或装置具有用于确定所述多个代表性像素是否平均出处于指示可接受的皮肤掩膜的阈值之内的一个值的手段。方法、系统、计算机可读存储介质或装置具有响应于确定所述多个代表性像素平均出指示可接受的皮肤掩膜的皮肤的阈值之内的一个值来用指示皮肤的所述阈值内的所述多个代表性像素中的每个像素来创建面部皮肤掩膜的手段。方法、系统、计算机可读存储介质或装置具有响应于确定所述多个代表性像素平均出在指示可接受的皮肤掩膜的皮肤的阈值之内的一个值来确定所述多个代表性像素中的每个像素的速度的手段,所述多个代表性像素中的每个像素具有在指示可接受的速度的阈值之内的多个相应的像素速度值;以及具有基于所述多个代表性像素中的每个像素来创建面部皮肤掩膜的手段,所述多个代表性像素中的每个像素具有:在指示所述可接受的速度的所述阈值之内的所述多个相应的像素速度值,以及在指示皮肤的所述阈值之内的所述相应的多个像素值。每个像素的所述多个相应的像素速度值可基于对光流技术的使用。方法、系统、计算机可读存储介质或装置具有用具有在指示皮肤的所述阈值之内的所述相应的多个像素值的所述多个代表性像素中的每个像素来创建面部皮肤掩膜的手段;以及用于提供指令以显示基于所述面部皮肤掩膜的图形覆盖的手段。所述图形覆盖可包括对疤痕的描绘。方法、系统、计算机可读存储介质或装置具有用具有所述相应的多个像素值的所述多个代表性像素中的每个像素来创建面部皮肤掩膜的手段,所述多个代表性像素中的每个像素在指示皮肤的所述阈值之内;以及用于提供指令以确定基于所述面部皮肤掩膜的心律的手段。所述相应的多个像素值可基于颜色通道。所述捕获的图像包括可基于不可见光的图像。本段中的所有组合都以与详细描述中的其他部分一致的方式进行构想。

方法、系统、计算机可读存储介质或装置具有用于接收第一捕获的图像的第一数据的手段,所述第一捕获的图像的第一数据包括解剖学头部的数据的第一子集;将所述解剖学头部的数据的第一子集的第一多个代表性像素转换成红色、绿色和蓝色(rgb)通道的手段,所述第一多个代表性像素具有基于所述rgb通道的相应的第一多个像素值;以及用于确定所述第一多个代表性像素中的每个像素是否具有在指示皮肤的第一阈值之内的相应的多个像素值的手段。一种方法、系统、计算机可读存储介质或装置具有响应于确定所述第一多个代表性像素平均出不在指示可接受的皮肤掩膜的皮肤的阈值之内的第一值来将第二捕获图像的解剖学头部的数据的第二子集的第二多个代表性像素转换成红色、绿色和蓝色(rgb)通道的手段,所述第二多个代表性像素中的每个像素具有基于所述rgb通道的相应的第二多个像素值;将平均出所述第一值的所述第一多个代表性像素与平均出第二值的所述第二多个代表性像素进行比较的手段;以及基于对平均出所述第一值的所述第一多个代表性像素与平均出所述第二值的所述第二多个代表性像素的比较来用在指示皮肤的所述阈值之内的所述第二多个代表性像素中的每个像素来创建面部皮肤掩膜的手段。一种方法、系统、计算机可读存储介质或装置具有响应于确定第二捕获的图像的解剖学头部的数据的第二子集的第二多个代表性像素平均出在指示可接受的皮肤掩膜的皮肤的阈值之内的第二值来确定第二多个代表性像素的每个像素的速度的手段,所述第二多个代表性像素的每个像素具有在指示可接受的速度的阈值之内的多个相应的像素速度值;以及基于所述第二多个代表性像素中的每个像素来创建面部皮肤掩膜的手段,所述多个代表性像素中的每个像素具有:在指示所述可接受的速度的所述阈值之内的所述多个相应的像素速度值,以及在指示皮肤的所述阈值之内的所述第二相应的多个像素值。所述第二多个代表性像素的每个像素的像素速度值可基于对光流技术的使用。本段中的所有组合都以与详细描述中的其他部分一致的方式进行构想。

本文所描述的主题是通过说明的方式来提供的。在无需遵循所例示和描述的示例和应用(例如,跳过或添加步骤)且不背离所附权利要求书中阐述的所公开主题的真正精神和范围的情况下,可对本文中所描述的主题作出各种修改和改变。

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