头部姿势估算方法和系统的制作方法

文档序号:6406108阅读:266来源:国知局
专利名称:头部姿势估算方法和系统的制作方法
技术领域
本发明涉及计算机和软件,并且更具体地,涉及用于估算用户头部的位置并根据这种估算影响可应用的计算机操作的方法和系统。
背景技术
计算机和其它类似的设备几乎在每个行业和环境中都是无价的工具。这些设备和装置以各种各样不同的形式出现,并可将它们设计为通用或专用工具。大多数这些设备的共同点是与用户接口的需求。典型通用计算机可包括,例如,显示装置和至少一个输入装置。显示装置,例如基于CRT的监视器、平板显示器等,用于与用户可视地交流信息。这种交流常常是,例如,使用图形用户界面(GUI)软件程序等完成的。一般地,用户通过向计算机提供用户输入与一或多个关联于GUI的计算机程序连接,以由程序和/或GUI识别的某些方式并引起计算机操作/数据中的某些改变。例如,用户可以物理方式移动定位设备,诸如鼠标,它配置成向计算机逻辑发送信号,使得在GUI内图形指针相应移动。有了这样的用户输入设备,用户就可通过移动图形指针到显示的GUI内的特定区域并向计算机硬件输入选择信号,例如,通过触发配备在鼠标上的按钮等等,来选择某些程序/GUI特征。这样的操作是普通的并易于理解。
随着计算能力的持续增长,许多操作系统、程序、GUI等能够支持/执行多个任务。这对具有足够大的显示设备来呈现多个不同程序GUI的计算机特别有用。例如,用户可配置计算机在一个或多个显示设备中同时显示字处理应用和电子表格应用。当有多个任务显示时,还需要识别用户当前正在交互的GUI和相应程序/应用的计算机逻辑。这样,在上述例子中,为切换计算机逻辑的焦点到应用之一,用户一般“点击”或者选择GUI区域之一。这将使计算机逻辑(例如操作系统)认出随后的用户输入将关联于所选择的程序。因此,当上例中的用户要从字处理应用切换到电子表格应用时,用户可将图形指针指向关联于电子表格应用的GUI的一部分并点击鼠标按钮。
在其它示例性装置中,用户可通过输入一个或多个键盘敲击在GUI内不同的潜在可选择区域之间切换焦点。这种键盘技术可能在GUI内有较大量的可选择区域时变得不那么有效,并要求用户重复几次输入序列直到所期望的可选择区域自动地在焦点上。
虽然使用鼠标或其它类似的用户定位设备的技术可证实对用户在几个可选择区域间选择更容易,但当显示设备呈现大GUI界面时它们仍会变得难以承担。在这种装置中,可能要求用户移动鼠标越过大范围,并可能要求拿起鼠标并再放回到桌面/表面上它已移过的不同位置,来完成GUI内所期望的图形指针移动。触摸板定位设备也要求类似的动作。作为进一步的例子,可能要求用户旋转轨迹球等等定位设备一段延长的时间段,来移动屏幕上的光标到所期望的可选择区域。
因此,这些不同的技术和其它类似它们的技术,在某种程度上趋向阻碍或者降低多任务用户界面环境的效率。继而,需要新的和/或改进的方法、装置和系统来对计算机或其它类似设备提供用户输入。
概述提供了有效估算用户脸部和头部姿势的方法、装置和系统,使得计算机或类似设备能够根据估计的头部姿势跟踪用户的关注区域。随后,用户正看着的显示器或图形用户界面的区域可被自动选择,而不需要用户提供任何更多的输入。
例如,在某些实现中,应用正面脸部检测器来检测用户的正面脸部,且随后由部位检测器检测关键面部点,诸如左/右眼中心、左/右嘴角、鼻尖等。随后系统由估计器,诸如迭代SSD(差的平方和)跟踪器,在时间上接着发生的帧/图像中跟踪用户的头部。最后的偏转和倾斜角度结果,例如,随后提供用于给选择适当的应用/文档的鼠标接口等。还可建立阈值和可编程的延迟以更好地控制各种打开的应用/文档的选择。
作为进一步的例子,由与计算设备一起使用的方法满足上述需求及其它。该方法包括确定计算设备的用户在第一时间的第一头部姿势和至少在第一时间之后的第二时间用户的第二头部姿势。例如,可使用不同的图像帧。方法随后包括自动可操作地在计算设备的至少一个显示设备上的至少两个可选择区域之间根据第一头部姿势与至少第二头部姿势之间的至少一个差异切换。在这种方式中,例如,当用户把他/她的头转动(旋转和/或倾斜)以观察计算机显示器的不同可选择区域时,计算设备将认出它并将用户输入焦点等切换至所观察的区域。
在某些实现中,确定第一头部姿势还包括,在第一时间,生成显示至少用户脸部第一部分的第一图像、检测第一图像内脸部的至少第一部分、以及检测脸部的被检测的第一部分内的至少两个不同点并存储关联于每个不同点的跟踪信息。同样地,确定第二头部姿势还包括,在第二时间,生成显示至少用户脸部第二部分的第二图像、检测第二图像内脸部的至少第二部分、以及检测脸部的被检测的第二部分内的至少同样的两个不同点并存储关联于每个不同点的跟踪信息。
在某些更多的示例性实现中,方法还包括至少比较第一跟踪信息和第二跟踪信息来确定关联于用户的估算的显示设备视图是否在第一时间到第二时间之间改变。如果关联于用户的估算的显示设备视图在第一时间和第二时间之间改变,那么方法包括可选择可操作地将在显示设备上呈现的用户输入界面焦点切换到关联于估算的显示设备视图的可选择区域。
方法还可包括根据至少一个分类参数来分类关联于第一图像的图像数据的多个部分的每一个部分,以确定至少一个关联于脸部的第一部分的面部区域,并且在第二图像的相应部分中,图像补片跟踪关联于脸部的第一部分的面部区域,以识别至少一个被检测的脸部区。例如,图像补片跟踪可使用差的平方和(sum-of-square difference)(SSD)图像补片跟踪器,以识别被检测的脸部区。图像补片跟踪还可将所得到的被检测的脸部区的至少一部分与至少一个告警阈参数比较,以确定是否要求相关联的系统初始化过程。
在某些实现中,方法还包括在被检测的脸部区内检测至少一个关键面部部位,并且根据被检测的关系面部部位确定精细的用户头部姿势。
方法还包括,根据与在被检测的脸部区内检测不同的关键面部部位相关联的置信度信息,确定粗略的用户头部姿势,以及根据被检测的关键面部部位和置信度信息确定精细的用户头部姿势。
在某些实现中,确定精细的用户头部姿势还包括使用至少一个估计器技术,诸如例如,椭圆估计器技术和/或迭代估计器技术。


可通过在结合附图时参考下面详细的描述,获得本发明的各种方法和装置的更完整的理解,其中图1是方框图,示出示例性计算机系统。
图2是方框图,示出一个系统,用于按照本发明的某些示例性实现估算人的头部姿势。
图3(a-d)是说明图,示出三维用户头部的某些示例性面部特征以及按照本发明的某些方面,在这些面部特征之间的几何形状如何对于观测器与在脸部的两维图像内显得不同。
图4是另一个方框图,示出具有姿势估计逻辑的系统,它配置为按照本发明的某些示例性实现,估算人的头部姿势。
图5是方框图,示出按照本发明的某些另外的实现中,在示例性姿势估计逻辑以及也在例如图4中的某个用户界面功能/逻辑内的某些功能。
图6是流程图,示出按照本发明的某些示例性实现的姿势估计过程。
详细说明示例性计算环境图1示出了适当的计算环境120的例子,在其中后面所描述的方法和安排可以实现。
示例性计算环境120只是适当的计算环境的一个例子,并不意在对这里所描述的改进的方法和安排的使用或功能范围提示任何限制。计算环境120不应解释为具有关于计算环境120中所示的部件的任何一个或者组合的依赖或需求。
这里改进的方法和安排可操作于大量其它通用或专用计算系统环境或配置。
如图1所示,计算环境120包括计算机130形式的通用计算设备。计算机130的部件可包括一个或多个处理器或处理单元132、系统存储器134以及持包括系统存储器134的各种系统部件连接到处理器132的总线136。
总线136代表任何几种类型总线结构的一个或多个,包括存储器总线或存储器控制器、外设总线、加速图形端口及使用任何各种总线结构的处理器或本地总线。作为例子,而非限制,这样的结构可包括工业标准结构(ISA)总线、微通道结构(MCA)总线、扩展工业标准结构(EISA)总线、视频标准协会(VESA)局部总线和,外设部件互连(PCI)总线,它也被称为夹层(Mezzanine)总线。
计算机130一般包括多种多样的计算机可读介质。这样的介质可以是任何可由计算机130存取的可用介质,并且它包括易失性和非易失性介质、可移动和不可移动介质。
在图1中,系统存储器134包括易失性存储器形式的计算机可读介质,诸如随机存取存储器(RAM)140,和/或非易失性存储器,诸如只读存储器(ROM)138。基本输入/输出系统(BIOS)142,包含帮助计算机130内部件之间诸如在起动期间,传送信息的基本例程,它一般被存储在ROM138中。RAM140一般包含由处理单元132可直接存取和/或目前操作的数据和/或程序模块。
计算机130还可包括其它可移动的/不可移动的、易失性/非易失性计算机存储介质。例如,图1示出读写不可移动的、非易失性的磁介质(未示出且一般称为“硬驱”)的硬盘驱动器144,读写可移动的、非易失性的磁盘148(例如,“软盘”)的磁盘驱动器146,和读写可移动的、非易失性的光盘152诸如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM或其它光介质的光盘驱动器150。硬盘驱动器144、磁盘驱动器146和光盘驱动器150都各自通过一个或多个接口154连接至总线136。
驱动器及所关联的计算机可读介质提供计算机130的计算机可读指令、数据结构和其它数据的非易失性存储。尽管这里所述的示例性环境使用了硬盘、可移动磁盘148和可移动光盘152,那些本领域熟练技术人员应该意识到可存储由计算机存取的数据的计算机可读介质的其它类型,诸如磁带盒、闪存卡、数字视频盘、随机存取存储器(RAM)、只读存储器(ROM)等等,也可用于该示例性操作环境。
许多程序模块可存储在硬盘、磁盘148、光盘152、ROM138或RAM140,包括,例如,操作系统158、一或多个应用程序160、其它程序模块162和程序数据164。
这里所述的改进方法和安排可实现于操作系统158、一个或多个应用程序160、其它程序模块162和/或程序数据164中。
用户可通过输入设备,诸如键盘166和定点设备168(诸如“鼠标”),将命令和信息提供入计算机130中。其它输入设备(未示出)可包括话筒、操纵杆、游戏垫、卫星天线、串口、扫描仪、摄像机等等。这些和其它输入设备通过连接到总线136的用户输入接口170连接至处理单元132,但是也可以通过其它接口和总线结构连接,诸如并行端口、游戏端口或通用串行总线(USB)。
显示器172或其它类型的显示设备也通过一个接口诸如视频接口174连接至总线136。除显示器172之外,个人计算机一般包括其它外部输出设备(未示出),诸如扬声器和打印机,它们可通过输出外部接口175连接。
计算机130可在一个使用逻辑连接至一或多个远程计算机诸如远程计算机182的网络化环境中运行。远程计算机182可以包括这里相对于计算机130所述的元件和部件的许多或全部。
图1所示的逻辑连接是一局域网(LAN)177和一通用的广域网(WAN)179。这样的网络环境是办公室的公用装置、企业内部计算机网、内联网和因特网。
当在LAN网络环境中使用时,计算机130通过网络接口或适配器186连接至LAN177。当在WAN网络环境中使用时,计算机130一般包括调制解调器178或用于建立在WAN179上的通信的其它工具。调制解调器178,可以是内置的或外置的,可通过用户输入接口170或其它适当的机制连接至系统总线136。
示于图1的,是通过因特网的WAN的特殊实现。这里,计算机130使用调制解调器178来通过因特网与至少一台远程计算机182建立通信。
在网络化环境中,相对计算机130或其某些部分所述的程度模块可存储在一远程存储装置中。于是,如图1所示,远程应用程序189可驻留在一远程计算机182的存储装置中。应理解所示和所述之网络连接是示例性的,也可使用在这些计算机之间建立通信链路的其它装置。
姿势估算逻辑在此使用的术语“逻辑(logic)”指的是表示一种或多种形式的逻辑和/或其它类型的电路系统,它们可配置成执行关联于在此所述和/或所示的各种示例性方法、装置和系统的某些功能。这样的逻辑可包括硬件、固件、软件和/或它们的任何组合。逻辑也可采用存储、传输或者通过至少一种形式的计算机可读介质提供的、计算机可实施指令的形式。
记住这个,将注意力转到图2,这是一个方框图,示出按照本发明的某些示例性实例的、用于估算人的(例如用户的)头部姿势的系统200。系统200包括计算机130和显示设备172。还包括的至少一个照相机216和到计算机130的可应用操作接口,如由线218表示的。照相机216和接口218配置为提供图像数据至逻辑220,逻辑220至少部分地配置在计算机130内。照相机216可以是一个静止图像照相机,配置为在特定的时间拍摄单独的图像,和/或可以是一个摄象机,拍摄一连串图像帧/图像。照相机216可以是彩色或单色的。所得到的图像数据或至少其一部分最终以某些数字格式可用于逻辑220。那些在本领域熟练技术人员将认识到,在照相机216、接口218、计算机130和/或逻辑220内,可以提供各种安排,以在需要时适当地传送、处理、转换和存储图像数据。
在表示一个或多个显示设备的显示设备172内,有一个显示区202,它具有多个示例性可选择区域204、206和208。这些可选择区域表示为不同的应用、文档、图画、特征、控制、框等显示的GUI等等。还在显示区202内示出用户输入控制的光标或指针210。这时,例如指针210是在可选择区域206内。
在系统200中,逻辑220配置为根据来自照相机216的图像数据检测用户的脸部,并且确定用户的脸部朝着显示区202内的什么地方以及由此估计在由照相机216拍摄图像时用户可能正在看的是哪一个可选择区域。逻辑220在本例中配置成处理图像数据足够快,因此对于所有实际目的,所得到的估计的头部姿势是接近实时的。如此,逻辑220实际上能够紧跟住用户的头部位置并且确定当时用户正在查看某特定的可选择区域。逻辑220然后可以使计算机130内的其它逻辑,例如用户界面逻辑,选择该特殊的可选择区域,使得后面的用户输入/命令可操作地与正确的基本程序或应用相关联。
因而,例如用基于所估计的用户头部姿势的逻辑220,最接近用户的可能关注区的可选择区域自动地激活,使得指针220和焦点返回在GUI的那个部分最后失去焦点时的原来/先前的位置。也就是说,当用户转动他/她的头部以查看例如词处理文档时,自动地选择/激活词处理文档,并且指针/焦点恢复到最后的编辑点。因为这是自动发生的,所以不要求用户提供任何其它输入至计算机130以引起这个切换动作。
在某些实施例中,逻辑220还配置成,在进行各种可选择区域之间的这种焦点切换之前,等待某个时间量。例如,可引入可编程的延迟以帮助考虑用户快速地或以某些其它方式移动他/她的头部而不批准切换焦点。
在某些实施例中,逻辑220还配置为针对一个或多个参数或阈值/级别测试所估计的头部运动或移动的数量,使得最小用户头部移动和/或处理误差不引起非有意的/非批准的焦点切换。
那些本领域熟练技术人员还将从图2认识到,系统200可配置为使用来自多个镜头/照相机的图像数据以提供改进的脸部检测和/或跟踪。
现在将注意力转到图3(a-d),它们例示性地示出三维用户的头部的某些示例性面部特征,以及按照本发明的某些方面,在这些示例性面部特征之间的几何形状如何对于观测器(照相机视野)以及在来自那里的脸部的两维图像中显得不同,图3(a)示出用户头部的脸部部分300。脸部部分300包括两个眼睛,即左眼302A和右眼302B。这里,例如,右眼302B被例示为具有中心304、左角306和右角308。还有两条眉毛,即左眉毛310A和右眉毛310B。这里,例如,右眉毛310B被例示为具有左角312和右角314。脸部部分300还包括具有鼻尖318的鼻316,以及具有左角322和右角324的嘴320。
根据至少这些示例性面部特征和要点的一部分,逻辑220配置为在图像内识别用户的脸部并且根据在两个或多个时间相关的图像中检测到的移动来估计用户的头部姿势。估计也可考虑当前帧内的信息。
图3(b)示出几个不同的可出现在一系列图像中的头部姿势300A-H和300J。这里假设,在头部姿势300A中用户基本上直接看着取景器/照相机,以及在本说明中作为参考这个初始位置是在x,y平面的中心。如果用户将他/她的头部转向他/她的左边(例如,正x轴方向),那么所得到的图像是头部姿势300B。相反地,如果用户将他/她的头部转向右边(例如,负x轴方向),那么所得到的头部姿势将是300C。注意,在头部姿势300A、B和C中,用户的头部运动还只包括沿y轴的头部转动。
在头部姿势300D、E和F中,用户的头部是面向前面(D)和转到左边和右边(分别E和F),同时还向上方倾斜(例如在正y轴方向)。同样,头部姿势300G、H和J,示出用户的头部分别是正面的、转到左边和转到右边的,同时还向下倾斜(例如,在负y轴方向)。
从这些简化的示例性头部姿势300A-H和J,将注意到,在某些可检测的面部特征之间的投影几何形状取决于用户的头部的转动和/或倾斜而改变。因而,例如,逻辑220可以配置为识别两个或多个面部特征以及监视这些面部特征在位置上相对于彼此的改变。
作为例子,在图3(c)中示出,可以将不同的面部特征或要点结合起来建立几何图案,它将在用户的头部以转动和/或倾斜移动时改变,如在图3(b)中所示。在图3(c)的第一头部姿势300A中,在用户的鼻尖和用户的嘴的左和右角之间形成一个示例性三角形326。在图3(c)的第二个头部姿势300A中,在用户的鼻尖和用户的左和右眼的中心之间形成一个示例性三角形328。在图3(c)的第三个头部姿势300A中,在用户的右眼左角、用户的左眼的右角和用户的嘴的左角之间形成一个示例性三角形330。还有一些例子。
如在图3(d)所示,头部姿势300K例示可使用单个点,头部姿势300L例示可使用两个点,头部姿势300M例示可使用三个点,以及头部姿势300N例示可使用四个点。因而,可使用一个或多个点。
接着将注意力转到图4,它进一步例示系统400,其中照相机216包括通过帧拍摄功能402可操作地连接到逻辑220的摄象机。帧拍摄技术是众所周知的。在逻辑220内,有一个姿势估计逻辑404,它接收或访问由帧拍摄功能402输出的图像数据。这里,在本例中,姿势估计逻辑404还可操作地连接至用户界面逻辑406。姿势估计逻辑404配置为估算用户的头部姿势,例如使用如上所述的多个面部点,以及将信息输出至用户界面逻辑406,它相应于根据用户的当前头部姿势所估计的用户关注区。
在图5的系统500中示出姿势估计逻辑404的更详细的示例性实现。这里,姿势估计逻辑包括脸部检测器502,它识别在所拍摄图像中的脸部区域。将来自脸部检测器502的输出提供给跟踪器,诸如例如,差的平方和(SSD)跟踪器504等。SDD跟踪器504输出至少一个被检测区,然后将它提供给一个或多个部位检测器506,它们检测和输出面部点,连同置信度(如可适用性)的某种量度。在本例中,将置信度信息提供给至少一个置信度姿势估计器510,它配置为通过将置信度输出映射到相应的粗略的信息,例如通过双线性提取(bilinear extraction)或某些其它技术,来产生粗略的姿势位置。将粗略的姿势信息连同被检测的关键面部点提供给综合的姿势估计器512,它接着将所估计的头部姿势信息输出至用户界面逻辑406。这里,例如,综合的姿势估计器512包括椭圆估计器512A和累接的估计器512B,并且输出估计的头部姿势信息,它可由用户界面逻辑406内的定点设备控制器514使用。
常规的脸部检测技术可在脸部检测器502中实现,以找出在图像内可能是脸部的区域。在某些示例性实现中,脸部检测器502包括常规的AdaBoost分类器技术,如在P.Viola和M.Jones的“Robust Real-time Object Detection(强化的实时对象检测)”(Cambridge Research Laboratory Techinical ReportSeries(剑桥研究实验室技术报告汇编),2001年2月)中所述的,和AdaBoost技术,如例如在2002年8月1日公布的美国专利申请No.20020102024 A1中所述的。
可以训练这些和其它类型的分类器,例如,使用各种脸部和非脸部取样的图像样本。例如,这可发生在离线机器学习期间。脸部检测器502然后被用于在初始化图像帧/图像中定位脸部区域,通过扫描所有可能的脸部区域并且判断它是否是脸部。除脸部的位置和大小之外,脸部检测器502也可输出用于脸部的粗略姿势估计的信息,例如,有时称为脸部信道(face channel)。当脸部信道是正面的,可以初始化SSD跟踪器504,如下所述。
在这些示例性实现中,SSD跟踪器504是图像补片(patch)跟踪器,它基于最小化所跟踪的补片(例如脸部区域)的先前存储的图像与其当前图像之间差的平方和。图像补片(例如模板图像)被反复地更新,以克服例如由姿势和照明引起的脸部区域的外观变化。SSD跟踪器504可以设置为,例如,跟踪用户脸部上的鼻-嘴区域,以便提供可定位面部关键点的大致范围。这里,可以仔细地选择所跟踪的区域大小以平衡系统500的可靠性、稳定性和速度。
SDD跟踪技术是众所周知的。例如,参考在IEEE CVPR Proceedings(会议录)403-410页发表的标题为“Real-Time Tracking of Image Regions withChanges in Geometry and Illumination(实时跟踪具有几何形状和照明变化的图像区域)”,作者是G.D.Hager和P.N.Belhumeur。
按照本发明的某些其它方面,当SSD跟踪器504找到符合或超过至少一个可编程的或者规定的告警阈(alter threshold)(例如,表示可能的跟踪误差),然后它通知其它逻辑触发新的初始化过程。
那些在本领域熟练技术人员将认识到,可以代替或者在示例性SSD跟踪器504之外使用其它跟踪器技术。
部位检测器506在本例中是一组检测器,配置为在脸部区域内定位所选择的面部关键点,诸如例如,左/右眼中心,鼻尖和左/右嘴角。在某些实现中,部位检测器506与脸部检测器502的设计相似。不过,可以配置每个部位检测器输出有关面部关键点的结果位置的置信度信息,接着在置信度姿势估计器508中使用这些信息。在图5中的示例性实现中,部位检测器506包括眼检测器506A,配置为检测特定的与眼有关的特征,鼻检测器506B,配置为检测特定的与鼻有关的特征,和/或嘴检测器506C,配置为检测特定的与嘴有关的特征。可也在部位检测器504内提供其它特征检测器506Z,例如,可提供眉毛检测器。
置信度姿势估计器510根据部位检测置信度输出,关联和确定粗略的姿势定位。例如,左/右眼中心、鼻尖和左/右嘴角的置信度输出关联于如在图3(a-d)中例示的用户的头部姿势。每个置信度输出遵循特定的函数。当用户的脸部在正面(例如,300A)时,左和右眼角的置信度基本相等。不过,当用户的头部转到左边或右边时,那么左和右眼角的置信度不同,并且其差异是由偏转角(yawangle)确定的。当用户的头部向上或向下倾斜时,那么鼻的置信度也不同于其基本值。
因此,根据关键面部点的置信度输出序列,置信度姿势估计器可以动态地选择某些点用于姿势估计。因而,通过比较在帧中不同关键面部点和在不同帧中相同关键面部点的置信度输出,置信度姿势估计器510产生头部姿势的粗略的估计。在某些实现中,至少有一个置信度姿势估计器用于偏转角并且至少有一个置信度姿势估计器用于倾斜角。认识到存在某些系统,它们只需要或者考虑偏转角变化,或者考虑倾斜角变化。
在某些实验性实施例中,置信度姿势估计器510的准确性大约是15度。象这样,在某些系统中,这个粗略的头部姿势估计对直接传递给用户界面逻辑406可能是足够准确的。例如,在具有三个监视器的系统中,其中每个监视器具有不同的可选择区域,这个粗略的估计可能足以允许在它们之间自动切换。如果存在所估计的头部姿势要更精确的需求,那么使用综合的姿势估计器512。当然,综合的姿势估计器512将有可能要求比置信度姿势估计器510更多的计算时间/资源。
在一个示例性策略中,不使用综合的姿势估计器512,直到用户的头部显得已经停在在一个位置某个时间段(例如n数量的2帧)。当使用时,运行综合的姿势估计器512一段时间和/或直到所选择的部位检测器506已经收敛。
在又一些其它示例性实施例中,置信度姿势估计器可以与综合的姿势估计器512结合。
在示例性综合的姿势估计器512中,结合不同方法用于更精确的姿势估计。这里,例如,椭圆姿势估计器512A可以配置为用某个数量的关键面部点(例如三个或多个)进行工作并且将它们适配在一个椭圆中。按照主轴和次轴的长度比,导出在名义脸部平面与名义照相机平面之间的二面角。按照次轴的方向,然后可以确定脸部平面的正常方向。
对于有关椭圆姿势估计技术的更多信息,读者参考T.Huang等人于1995年在IEEE Transactions on Pattern Analysis and Machine Intelligence(关于图案分析和机器智能的IEEE学报)发表的标题为“Uniqueness of 3D PoseUnder Weak PerspectiveA Geometrical Proof(在弱配置下的3D姿势的唯一性几何证明)”的文章。
迭代的姿势估计器512B在本例中配置为与几个关键面部点(例如二个或多个)一起工作和迭代地优化某些姿势参数,所述参数诸如偏转角、倾斜角和/或比例,目标是使在相应的关键面部点的真实配置的投影和估计的配置之间距离最小化。
椭圆估计器512A和迭代的估计器512B可以配置为考虑关键面部点检测误差以及尝试使输出的头部姿势稳定化。因而,例如,综合的姿势估计器512可能使用滤波和平滑技术。
定点设备控制器514实质上是存储/恢复在所有关注区中的用户的工作状态的接口逻辑,所述关注区可称为视图。工作状态可包括,例如,激活的可选择区域,指针位置,插入光标等。在使用相当大的显示器的系统中,视图可在屏幕上呈现某些区,然而在具有多个监视器的系统中,视图可相应于单个监视器。
当用户改变他/她的头部姿势以聚焦在显示屏幕上的其它区时,姿势估计逻辑404通知定点设备控制器514关于新的姿势。然后定点设备控制器514存储在当前关注区中的工作状态,并且恢复关注的关注区的工作状态,例如,激活原来的文档,将指针放回它以前的位置并且如果窗口有插入光标则显示它。
示例性姿势估计逻辑404已经设计成兼容于大显示器或者多个监视器系统。还使用户能够通过设置视图的数量来定制多少关注区。
现在将注意力转到图6,这是一个示出方法600的流程图,还例示和描述在此提供的改进的技术。
在过程602,拍摄图像。这可包括单个图像或者多个图像(例如,用于立体图像系统等)。图像可以是已经拍摄的视频数据的帧。接着在过程604中,分析或处理来自过程602的图像以检测在其中的脸部。在过程606中,确定是否检测到至少一个脸部的正面部分,如果是那么方法继续过程608。如果,经过程606,没有检测到正面脸部,那么方法返回至过程602并且拍摄新的图像。
在过程608中,实施初始化过程,其中,例如,关键面部点诸如左/右眼中心、左/右嘴角和鼻尖是由至少两个部位检测器检测的,以及存储点位置配置和关键面部点的基本置信度用于将来的姿势估计。一般地,这样的部位检测器运行得足够快,因此初始化过程在少于一秒内发生。在过程610中,如果成功地完成初始化,那么方法继续过程612,如果否,那么方法返回至过程608并且再次执行初始化过程。尽管在图6中未示出,但如果初始化在某个数量的重复的/更详细的尝试后不能成功,那么方法可返回过程602。
在过程612中,在成功初始化后,跟踪所选择的脸部区域,例如,使用SSD跟踪器等等。这里,例如,系统可以配置为使用迭代的SSD跟踪器在每帧中跟踪用户的头部。在某些实现中,例如,所跟踪的区域包括鼻和嘴角。其它关键面部点可以按照所跟踪的关键面部点确定。所有这些部位检测器输出与用户的头部姿势有关的置信度。
在过程614中,确定所跟踪的脸部区域是否符合适用的告警阈),如果是,那么方法继续至过程616并且如果否则方法返回至过程604。
在过程616中,检测关键面部点。这里,例如在所跟踪的区域内的某些关键面部点是由相应的部位检测器例如鼻尖和嘴角来检测和改进的。其它关键面部点可以按照所跟踪的关键面部点和来自先前帧的姿势信息来确定。所有这些部位检测器输出与用户的头部姿势有关的置信度。根据动态关键面部点选择策略和置信度输出组合,置信度姿势估计器将产生用户的头部姿势的粗略估计。在过程618中,确定在过程616中的检测是否成功。如果是,那么方法继续至过程620,否则方法继续过程628。
在过程620中,为用户的头部姿势产生更精细的估计。因而,例如,当用户的头部停止移动,因此他/她能聚焦在显示屏幕上的某个位置,并且成功地检测关键面部点和优化到高置信度级别的时候,将关键面部点位置送到综合的姿势估计器以改进姿势估计结果。例如,最终的偏转和倾斜角结果是通过将前述两个姿势估计器的输出结合起来提供的。
在过程622中,确定自从上次确定后是否已经改变用户的关注/焦点区域。如果已经有改变,那么方法继续至过程624,否则方法继续过程628。
在过程624中,存储用于即将离开的可选择区域的当前视图的运行状态。在过程626中,在即将进入的可选择区域中恢复先前或原来的运行状态。这在估计用户的估计的头部姿势何时表示他/她正看着不同的可选择区域时,完成预测的自动焦点切换。
过程622,例如,也可在允许焦点切换发生之前,引进编程的或者规定的延迟机制。在用户的动作与界面反应之间延迟的一个理由是,在某些实施例中,延迟允许逻辑过滤姿势输出和基本上更好地稳定它们。这里,例如,本方法使用在前帧的姿势和当前帧的姿势输出的线性组合。不过,在时间上接近的帧将更重要,因此可认为它们更重要或者逻辑上不同地对它们加权。这倾向于产生更光滑的姿势输出曲线而不管检测噪声如何。另一个引入延迟的理由是,如较早提到的,在某些环境中用户可能只是快速地转动他/她的头部至另一个视图并且然后返回到先前的视图。有时,例如,用户可能看着另一个可选择区域并且继续在当前所选择的区域中输入。为帮助作出焦点切换决定,逻辑220也可配置为在当前的活动区域中监视用户输入,并且如果在一段时间内没有作出更多的输入时,决定用户准备切换焦点至新的视图。
认识到在某些实施例中,脸部检测器可检测图像内多于一个脸部。因此,逻辑220也可配置为在所检测的脸部之间选择。例如,在许多情况下,被检测的、大小是最大的脸部,将有可能是设备的用户,因为用户一般最靠近显示屏幕和可能最靠近照相机布置。在某些实现中,可增加面部识别能力以进一步区别不同的被检测的脸部。
那些在本领域熟练技术人员将认识到,如果照相机、显示设备和用户各自按照默认的系统布局定位,那么系统标度过程可能不需要。如果不是这种情况,那么可能需要在系统初始化期间为布局标度。
如在此所述的并在附图中所示的,按照本发明的某些示例性的方面,已经示出基于脸部/部位检测器置信度输出的示例性姿势估计过程。示例性叠代的姿势估计器可以基于一个对象的关键点。系统可包括粗略至精细的姿势估计,例如,其中为大约每帧估计粗略的姿势,并且在被检测的用户的脸部停止移动一段足够长的时间后可以改进它。示例性用户场景可包括,例如,其中用户与大尺寸的显示器、单个显示器、多个显示器和/或多个用户关注区一起工作的系统。在各关注区之间的自动切换基于用户的当前姿势和相应的视图的估计。
在示例性跟踪方法中,描述了SSD跟踪器。不过,存在也可使用的其它常规的跟踪方法。用示例性SSD跟踪器,发现选择一个包括用户的嘴和鼻尖的区域可提供合适的结构。无疑也可以使用其它区域,只要系统符合适合的准确性和/或有效性要求。
按照本发明的某些方面,由姿势估计器使用的关键点的数量可以变化。例如,某些基于检测置信度的粗略姿势估计器能够根据单个关键点确定脸部的粗略姿势。所得到的粗略的头部姿势包括至少一个头部姿势参数,诸如例如,偏转角,倾斜角,滚动角,x平移,y平移,比例因数等等。示例性椭圆姿势估计器和叠代的姿势估计器使用至少三个关键点来产生精细的姿势估计。一般地,可用于这种估计器的关键点越多,所得到的估计的精度就越高。
结论尽管已经以专用于结构特征和/或方法过程的语言描述了本发明,但要理解,在所附的权利要求书中定义的本发明不必限制于所述的特定特征或步骤。
权利要求
1.一种与计算设备配合使用的方法,包括确定计算设备的用户在第一时间的第一头部姿势;确定所述用户在所述第一时间之后的第二时间的至少一个第二头部姿势;以及根据所述第一头部姿势与至少所述第二头部姿势之间的至少一个差异,自动地可操作地在计算设备的至少一个显示设备的至少两个可选择区域之间切换。
2.如权利要求1所述的方法,其特征在于确定所述第一头部姿势还包括在所述第一时间,产生第一图像,所述第一图像示出所述用户面部的至少第一部分,在所述第一图像内检测所述脸部的至少所述第一部分,以及在所述脸部的所述检测的第一部分内检测至少一个点,以及存储与所述至少一个点相关联的第一跟踪信息;以及确定所述第二头部姿势还包括在所述第二时间,产生第二图像,所述第二图像示出所述用户的所述面部至少第二部分的图像,在所述第二图像内检测所述脸部的至少所述第二部分,以及在所述脸部的所述检测的第二部分内检测所述至少一个点,以及存储与所述至少一个点相关联的第二跟踪信息。
3.如权利要求2所述的方法,其特征在于,自动地可操作地在所述至少两个可选择区域之间切换还包括比较至少所述第一跟踪信息与所述第二跟踪信息,以确定关联于所述用户的估算的显示设备视图是否在所述第一时间至所述第二时间之间已经改变;以及如果关于所述用户的所述估算的显示设备视图已经在所述第一时间至所述第二时间之间已经改变,那么选择性地可操作地切换在所述显示设备上呈现的用户输入接口焦点到关联于所述估算的显示设备视图的可选择区域。
4.如权利要求2所述的方法,其特征在于,产生所述第一图像还包括,使至少一个照相机设备输出所述第一图像。
5.如权利要求4所述的方法,其特征在于,所述至少一个照相机设备包括至少一个摄象机设备,以及所述第一图像包括由所述摄象机设备拍摄的图像帧。
6.如权利要求4所述的方法,其特征在于,所述至少一个照相机设备包括至少一个数字静止照相机设备,以及所述第一图像包括由所述数字静止照相机设备拍摄的数字静止图像。
7.如权利要求2所述的方法,其特征在于,在所述第一图像内检测所述脸部的所述第一部分还包括根据至少一个分类参数,分类与所述第一图像相关连的图像数据的多个部分的每一个部分,以确定至少一个关联于所述脸部的所述第一部分的面部区域。
8.如权利要求7所述的方法,还包括图像补片在所述第二图像的相应的部分中跟踪关联于所述脸部的所述第一部分的所述面部区域,以识别至少一个被检测的脸部区。
9.如权利要求8所述的方法,其特征在于,图像补片跟踪还包括使用差的平方和(SSD)图像补片跟踪器识别所述至少一个被检测的脸部区。
10.如权利要求8所述的方法,其特征在于,图像补片跟踪还包括将所述所得到的被检测的脸部区的至少一部分与至少一个告警阈参数相比较,以确定是否要求关联的系统初始化过程。
11.如权利要求8所述的方法,其特征在于,在所述脸部的所述被检测的第二部分内检测所述至少一个点还包括在所述至少一个被检测的脸部区内检测至少一个关键面部部位。
12.如权利要求11所述的方法,还包括根据所述至少三个被检测的关键面部部位确定所述用户的精细头部姿势。
13.如权利要求11所述的方法,还包括根据与在所述至少一个被检测的脸部区内检测所述至少一个关键面部部位相关联的置信度(confidence)信息,确定所述用户的粗略头部姿势。
14.如权利要求13所述的方法,还包括根据所述被检测的关键面部部位和所述置信度信息,确定所述用户的精细的头部姿势。
15.如权利要求13所述的方法,其特征在于,所述粗略的头部姿势与至少一个头部姿势参数相关联,所述头部姿势参数是从一组由偏转角、倾斜角、滚动角、x平移、y平移和比例因数组成的头部姿势参数中选择的。
16.如权利要求12所述的方法,其特征在于,确定所述精细的头部姿势还包括使用至少一个估计器技术确定所述精细的头部姿势,所述估计器技术是从一组由椭圆估计器技术和迭代的估计器技术组成的估计技术中选择的。
17.如权利要求12所述的方法,其特征在于,确定所述精细的头部姿势还包括使用至少一个基于视图的姿势估计技术确定所述精细的头部姿势。
18.如权利要求1所述的方法,其特征在于,所述至少一个显示器的所述至少两个可选择区域的至少一个包括,在图形用户界面(GUI)中的至少一个可操作地可选择区域。
19.如权利要求1所述的方法,其特征在于,所述至少两个可选择区域的每一个与不同计算机逻辑或不同计算机数据相关联。
20.如权利要求1所述的方法,其特征在于,自动地可操作地在所述至少一个显示设备的至少两个可选择区域之间切换还包括选择性地使图形定位设备在所述显示设备上移动。
21.如权利要求1所述的方法,其特征在于,自动地可操作地在所述至少一个显示设备的所述至少两个可选择区域之间切换还包括选择性地延迟自动地可操作地在所述至少一个显示设备的所述至少两个可选择区域之间切换。
22.一种具有计算机可实现的指令的计算机可读介质,所述指令使至少一个处理器执行下列过程估算计算设备的用户在第一时间的第一头部姿势和所述用户在所述第一时间之后的第二时间的至少一个第二头部姿势;以及根据所述第一头部姿势与至少所述第二头部姿势之间的至少一个差异,自动地可操作地在计算设备的至少一个显示设备的至少两个可选择区域之间切换。
23.如权利要求22所述的计算机可读介质,其特征在于估算所述第一头部姿势还包括,产生第一图像,所述第一图像示出至少所述用户脸部的至少第一部分,在所述第一图像内检测所述脸部的至少所述第一部分,以及在所述脸部的所述被检测的第一部分内检测至少一个点,以及存储与所述至少一个点相关联的第一跟踪信息;以及估算所述第二头部姿势还包括,产生第二图像,所述第二图像示出至少所述用户脸部的至少第二部分,在所述第二图像内跟踪/检测所述脸部的至少所述第二部分,以及在所述脸部的所述被检测的第二部分内检测所述至少一个点,以及存储与所述至少一个点相关联的第二跟踪信息。
24.如权利要求23所述的计算机可读的介质,其特征在于,自动地可操作地在所述至少两个可选择区域之间切换还包括比较至少所述第一跟踪信息与所述第二跟踪信息,以确定关联于所述用户的估算的显示设备视图是否在所述第一时间至所述第二时间之间已经改变,以及如果关于所述用户的所述估算的显示设备视图在所述第一时间至所述第二时间之间已经改变,那么选择性地可操作地切换在所述显示设备上呈现的用户输入接口到关联于所述估算的显示设备视图的可选择区域。
25.如权利要求23所述的计算机可读介质,其特征在于,产生所述第一图像还包括,使至少一个照相机设备输出所述第一图像。
26.如权利要求25所述的计算机可读介质,其特征在于,所述至少一个照相机设备包括至少一个摄象机设备,以及所述第一图像包括由所述摄象机设备拍摄的图像帧。
27.如权利要求23所述的计算机可读介质,其特征在于,在所述第一图像内检测所述脸部的所述第一部分还包括根据至少一个分类参数,分类与所述第一图像相关的图像数据的多个部分的每一个部分,以确定关联于所述脸部的所述第一部分的至少一个面部区域。
28.如权利要求27所述的计算机可读介质,还包括图像补片在所述第二图像的相应的部分中跟踪关联于所述脸部的所述第一部分的所述面部区域,以识别至少一个被检测的脸部区。
29.如权利要求28所述的计算机可读介质,其特征在于,图像补片跟踪还包括使用差的平方和(SSD)图像补片跟踪器识别所述至少一个被检测的脸部区。
30.如权利要求28所述的计算机可读介质,其特征在于,图像补片跟踪还包括比较所述所得到的被检测的脸部区的至少一部分与至少一个告警阈参数,以确定是否要求关联的系统初始化过程。
31.如权利要求28所述的计算机可读介质,其特征在于,在所述脸部的所述被检测的第二部分内检测所述至少一个点还包括在所述至少一个被检测的脸部区内检测至少一个关键面部部位。
32.如权利要求31所述的计算机可读介质,还包括根据所述至少被检测的关键面部部位确定所述用户的精细头部姿势。
33.如权利要求31所述的计算机可读介质,还包括根据与在所述至少一个被检测的脸部区内检测所述至少一个关键面部部位相关联的置信度信息,确定所述用户的粗略头部姿势。
34.如权利要求33所述的计算机可读的介质,还包括根据所述被检测的关键面部部位和所述置信度信息,确定所述用户的精细的头部姿势。
35.如权利要求33所述的计算机可读介质,其特征在于,所述粗略的头部姿势与至少一个头部姿势参数相关联,所述头部姿势参数是从一组由偏转角、倾斜角、滚动角、x平移、y平移和比例因数组成的头部姿势参数中选择的。
36.如权利要求32所述的计算机可读介质,其特征在于,确定所述精细的头部姿势还包括使用至少一个估计器技术确定所述精细的头部姿势,所述估计器技术是从一组由椭圆估计器技术和迭代的估计器技术组成的估计技术中选择的。
37.如权利要求32所述的计算机可读介质,其特征在于,确定所述精细的头部姿势还包括使用至少一个基于视图的姿势估计技术确定所述精细的头部姿势。
38.如权利要求22所述的计算机可读介质,其特征在于,所述至少一个显示器的所述至少两个可选择区域的至少一个包括,在图形用户界面(GUI)中的至少一个可操作地可选择区域。
39.如权利要求22所述的计算机可读介质,其特征在于,所述至少两个可选择区域的每一个与不同计算机逻辑或不同计算机数据相关联。
40.如权利要求22所述的计算机可读介质,其特征在于,自动地可操作地在所述至少一个显示设备的至少两个可选择区域之间切换还包括选择性地使图形定位设备在所述显示设备上移动。
41.如权利要求22所述的计算机可读介质,其特征在于,自动地可操作地在所述至少一个显示设备的所述至少两个可选择区域之间切换还包括选择性地延迟自动地可操作地在所述至少一个显示设备的所述至少两个可选择区域之间切换。
42.一种与至少一个显示设备和至少一个图像拍摄设备配合使用的装置,所述装置包括显示逻辑,可配置成输出至少一个信号,所述信号适合用于使显示设备显示至少两个不同的可选择区域;接口逻辑,可配置成从图像拍摄设备接收图像数据;以及姿势估计逻辑,可操作地连接至所述显示逻辑和所述接口逻辑,以及配置为根据第一图像和根据在时间上在所述第一图像之后的第二图像确定第一头部姿势和至少一个第二头部姿势,以及根据所述第一头部姿势与至少所述第二头部姿势之间的至少一个差异,自动地可操作地在所述至少两个可选择区域之间切换操作的用户输入焦点。
43.如权利要求42所述的装置,还包括可操作地连接至至少所述姿势估计逻辑的存储器,所述存储器可配置成存储所述第一图像和所述第二图像,其特征在于,所述第一图像在第一时间拍摄用户的脸部的至少第一部分,以及在第二接着发生的时间拍摄所述用户的所述脸部的至少第二部分;以及其特征在于,所述姿势估计逻辑还配置为访问所述第一图像,在所述第一图像内检测所述脸部的至少所述第一部分,在所述脸部的所述被检测的第一部分内检测至少一个点,以及将与在所述被检测的第一部分内所述至少一个点的每一个相关联的第一跟踪信息存储到所述存储器,以及访问所述第二图像,在所述第二图像内跟踪所述脸部的至少所述第二部分,在所述脸部的所述被检测的第二部分内检测所述至少一个点,以及将与所述被检测的第二部分内的所述至少一个点的每一个相关联的第二跟踪信息存储到所述存储器。
44.如权利要求43所述的装置,其特征在于,所述姿势估计逻辑还配置为,比较至少所述第一跟踪信息与所述第二跟踪信息,以确定关联于所述用户的估算的显示设备视图是否在所述第一时间至所述第二时间之间已经改变,以及如果关联于所述用户所述估算的显示设备视图在所述第一时间至第二时间之间已经改变,那么切换所述操作的用户输入焦点。
45.如权利要求43所述的装置,其特征在于,所述姿势估计逻辑还配置为,根据至少一个分类参数,分类与所述第一图像的图像数据的多个部分的每一个部分,以确定至少一个关联于所述脸部的所述第一部分的面部区域。
46.如权利要求45所述的装置,所述姿势估计逻辑还配置为,图像补片在所述第二图像的相应的部分中跟踪关联于所述脸部的所述第一部分的所述面部区域,以识别至少一个被检测的脸部区。
47.如权利要求46所述的装置,其特征在于,所述姿势估计逻辑包括差的平方和(SSD)图像补片跟踪器,以识别所述至少一个被检测的脸部区。
48.如权利要求46所述的装置,其特征在于,所述图像补片跟踪器比较至少所述所得到的被检测的脸部区的一部分与至少一个告警阈参数,以确定是否要求关联的系统初始化过程。
49.如权利要求45所述的装置,其特征在于,所述姿势估计逻辑配置为,在所述至少一个被检测的脸部区内检测至少一个关键面部部位以实施粗略的姿势估计。
50.如权利要求49所述的装置,其特征在于,所述姿势估计逻辑配置为,根据所述被检测的关键面部部位确定所述用户的精细头部姿势。
51.如权利要求49所述的装置,其特征在于,所述姿势估计逻辑配置为,根据与在所述至少一个被检测的脸部区内检测所述至少一个关键面部部位相关联的置信度信息,确定所述用户的粗略头部姿势。
52.如权利要求51所述的装置,其特征在于,所述姿势估计逻辑配置为,根据所述被检测的关键面部部位和所述置信度信息,确定所述用户的精细的头部姿势。
53.如权利要求51所述的装置,其特征在于,所述粗略的头部姿势与至少一个头部姿势参数相关联,所述头部姿势参数是从一组由偏转角、倾斜角、滚动角、x平移、y平移和比例因数组成的头部姿势参数中选择的。
54.如权利要求50所述的装置,其特征在于,所述姿势估计逻辑配置为,使用通过组合至少一个估计器技术的结果确定所述精细的头部姿势,所述估计器技术是从一组由椭圆估计器技术和迭代的估计器技术组成的估计技术中选择的。
55.如权利要求50所述的装置,其特征在于,所述姿势估计逻辑配置为,使用通过组合至少一个基于视图的姿势估计技术的结果确定所述精细的头部姿势。
56.一系统包括至少一个显示设备;至少一个图像拍摄设备;以及可操作地连接到所述显示设备和所述图像拍摄设备的计算设备,以及具有显示逻辑,配置为输出至少一个信号,所述信号适合用于使显示设备显示至少两个不同的可选择区域,接口逻辑,配置为从图像拍摄设备接收图像数据,以及姿势估计逻辑,配置为根据第一图像和根据在时间上在所述第一图像之后的第二图像确定第一头部姿势和至少一个第二头部姿势,以及根据所述第一头部姿势与至少所述第二头部姿势之间的一个差异,自动地可操作地在所述至少两个可选择区域之间切换操作的用户输入焦点。
全文摘要
提供有效估算用户脸部和头部姿势的改进,使得计算机或类似的设备可跟踪用户对显示设备的关注。随后用户所转向的显示器或图形用户界面的区域会被自动选择,而不需要用户提供更多的输入。应用正面脸部检测器来检测用户的正面脸部,且随后由部位检测器检测关键面部点,诸如左/右眼中心、左/右嘴角、鼻尖等。系统然后由图像跟踪器跟踪用户的头部,并按照关键面部点和/或姿势估计器的置信度输出,通过粗略到精细的过程来确定用户头部姿势的偏转、倾斜和滚动的角度和其它姿势信息。
文档编号G06F3/033GK1573660SQ20041004746
公开日2005年2月2日 申请日期2004年5月31日 优先权日2003年5月30日
发明者Y·胡, L·张, M·李, H·-J·张 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1