图像捕获装置和方法与流程

文档序号:11334055阅读:231来源:国知局
图像捕获装置和方法与流程

本公开涉及成像领域。更特别地,本公开涉及图像捕获装置和方法。



背景技术:

本文提供的背景描述总体上用于呈现本公开上下文的目的。除非在本文中以其他方式表明,否则在该部分描述的材料不是本申请中权利要求的现有技术并且不由于包括在该部分中而被承认为现有技术。

面部相关应用获得面部图像作为输入,并出于一些目的而提取信息,如身份,表情或年龄。此类信息的精确度高度依赖于面部图像的质量,其中总体上应当避免部分或大角度面部。为促进捕获具有合适质量的面部图像,多个图像捕获设备或应用提供一些形式的指导。例如一些图像捕获设备或应用在照相机预览屏幕上绘制一些标记以指导终端用户,从而允许终端用户将他/她的面部与该标记对齐。这种方法需要付出一些努力,这可能对儿童或年老用户是困难的。此外,其不允许旋转或表情,这不是特别有助于动画或照片增强应用。

进一步地,用户通常想要在消息传递中或作为个性化的面部图标共享具有夸张或有趣表情的图像或虚拟形象动画图像。表现性表情可包括例如夸张的笑、惊讶或任何其他有趣面部表情。当前方法使用专业视频编辑软件从输入或生成的虚拟形象视频中挑选出这些有趣的时刻。然而,由于这些特殊的时刻通常不频繁并且在较短时间段内发生,当前方法对一般用户并不是非常用户友好。

附图说明

通过结合附图的如下详细描述将容易理解各个实施例。为促进该描述,相似的附图标记指代相似结构元素。实施例在附图的各图中作为示例而非作为限制被图示。

图1图示根据公开的实施例的示例成像设备的框图。

图2图示根据公开的实施例的成像设备的各种操纵。

图3图示根据公开的实施例的示例用户指令,用于捕获具有更好面部姿态的图像帧。

图4图示根据公开的实施例的用于捕获具有可接受面部姿态的图像帧的过程。

图5图示根据公开的实施例的在不具有和具有用户指令情况下获得的两个图像帧。

图6图示根据公开的实施例的用于自动捕获快照的示例过程。

图7图示根据公开的实施例的用于自动捕获快照的另一示例过程。

图8图示根据公开的实施例的适合用于实践本公开的各个方面的示例计算机系统。

图9图示根据公开的实施例的存储介质,存储介质具有用于实践参考图1-7描述的方法的指令。

具体实施方式

本文公开与捕获图像关联的装置、方法和存储介质。在实施例中,一种装置可包括面部跟踪器,面部跟踪器用于接收图像帧,针对面部分析图像帧,并且在图像帧中识别出面部时,评估面部以确定图像帧包括可接受面部姿态还是不可接受面部姿态。进一步,面部跟踪器可被配置为提供用于获得另一图像帧的指令,在确定出图像帧具有不可接受面部姿态时,所述指令被设计为提高另一图像帧将包括可接受面部姿态的可能性。在实施例中,可从图像捕获引擎(例如照相机)接收图像帧,并且所述装置可进一步包括图像捕获引擎。

在实施例中,装置可包括面部跟踪器,面部跟踪器用于接收图像帧,针对面部分析图像帧,并且在图像帧中识别出面部时,提取面部的面部形状或确定面部的面部表情。进一步地,面部跟踪器可配置为确定是否将所述图像帧添加到快照集合。该确定可至少部分地基于图像帧中面部的所提取的面部形状或所确定的面部表情。在实施例中,图像帧可接收自图像捕获引擎(例如照相机)或图像生成引擎(例如动画绘制引擎),并且所述装置可进一步包括图像捕获和/或生成引擎。

在下面的详细描述中,参考形成本描述一部分的附图,附图中相似的数字始终指代相似部分,并且附图中通过图示的方式示出可被实践的实施例。应当理解,可在不脱离本公开的范围的情况下利用其他实施例并且可进行结构或逻辑的改变。因此,以下详细描述不应以限制的意义理解,并且实施例的范围由所附权利要求及其等同物定义。

本公开的各方面公开于随后的描述种。可在不脱离本公开的精神或范围的情况下设计本公开的替代实施例及其等同物。应当注意的是,以下公开的相似元件在附图中由相似的附图标记指示。

各种操作可以按照最有助于理解要求保护的主题的方式被描述为依序的多个分立动作或操作。然而,描述的顺序不应解释为暗示这些操作一定与顺序有关。具体来说,这些操作可以不按照所呈现的顺序来执行。所描述的操作可以按照与描述的实施例不同的顺序被执行。在附加实施例中,各种附加操作可被执行和/或所描述的操作可被省略。

为本公开的目的,短语“a和/或b”表示(a),(b)或(a和b)。为本公开的目的,短语“a,b和/或c”表示(a),(b),(c),(a和b),(a和c),(b和c)或(a,b和c)。

该描述可使用短语“在一个实施例”或“在实施例中”,这些短语均可指代一个或多个相同或不同实施例。此外,如关于本公开的实施例使用的术语“包括”,“包含”,“具有”等是同义词。

如本文所使用的,术语“模块”可指代如下各项,是如下各项的一部分,或包括如下各项:专用集成电路(asic)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用或群组)和/或存储器(共享、专用或群组)、组合逻辑电路,和/或提供所描述功能的其他合适组件。

现在参见图1,其中根据公开的实施例的成像设备被示出。如所图示的,针对各实施例,成像设备100可包括面部跟踪器102、一个或多个应用104和图像捕获引擎106,它们如所示出那样相互耦合。面部跟踪器102可被配置为从图像捕获引擎106接收图像帧110,针对面部分析图像帧110,并识别面部的界标,面部表情(诸如眼睛和/或嘴部移动)。面部跟踪器102可被配置为向应用104输出面部姿态和表情数据108,用以由应用104使用。应用104的示例可包括但不限于动画绘制引擎104,动画绘制引擎104配置为至少部分地基于面部姿态和表情数据108使一个或多个虚拟形象动画化。

另外,面部跟踪器102可包括图像捕获指导功能112,图像捕获指导功能112配置为:在图像帧110中识别出面部时,评估该面部以确定图像帧110包括可接受面部姿态还是不可接受面部姿态。进一步,图像捕获指导功能112可被配置为:在确定出图像帧110具有不可接受面部姿态时将指令122提供至例如用户,以获得另一图像帧。该指令可被设计为提高下一图像帧110将包括可接受面部姿态的可能性。在实施例中,可从图像捕获引擎106接收图像帧110。图像捕获引擎106的示例可包括但不限于照相机。

仍进一步地,面部跟踪器102可进一步包括快照自动捕获功能114,快照自动捕获功能114被配置为:在图像帧110中识别出面部时,提取面部的面部形状或确定面部的面部表情,并确定是否将该图像帧110(或基于图像帧110的面部姿态和表情数据108生成的虚拟形象图像111)添加到快照集合(未示出)。该确定可至少部分地基于在图像帧110中所提取的面部的面部形状或所确定的面部的面部表情而做出。在实施例中,图像帧110可从图像捕获引擎106(例如照相机)接收,并且虚拟形象图像可从应用104(诸如,虚拟形象动画绘制引擎)接收。生成图像的虚拟形象动画绘制引擎/应用104还可称为图像生成引擎。

除了以下将进一步详细描述的图像捕获指导功能112和快照自动捕获功能114外,面部跟踪器102可以是多个已知面部跟踪器中的任一个,已知面部跟踪器包括但不限于公开于pct申请pct/cn2014/073695中的面部网格跟踪器,该pct申请提交于2014年3月19日,标题为“facialexpressionand/orinteractiondrivenavatarapparatusandmethod”。在实施例中,pct/cn2014/073695的面部网格跟踪器可包括:面部检测功能块,用于通过对多个图像帧中的一个或多个进行窗口扫描来检测面部;以及界标检测功能块,用于检测面部的界标点。在实施例中,它还可包括:初始面部网格拟合功能块,用于至少部分地基于在面部上检测到的多个界标点来初始化面部网格的3d姿态;面部表情评估功能块,用于至少部分地基于在面部上检测到的多个界标点来初始化多个面部运动参数;头部姿态跟踪功能块,用于基于所述多个图像帧的次级采样像素的子集来计算用户头部的旋转角度;嘴部张开估计功能块,用于基于所述多个图像帧的次级采样像素的子集来计算嘴部的上唇和下唇的张开距离;面部网格跟踪功能块,用于调整面部网格的位置、取向或变形以保持面部的连续覆盖和面部网格对面部移动的反映;跟踪验证功能块,用于监视面部网格跟踪状态,以确定是否有必要重定位面部;嘴部形状校正功能块,用于通过检测嘴部的帧间直方图差异来校正嘴部形状;眨眼检测功能块,用于估计眨眼;面部网格适配功能块,用于根据得出的面部动作单元重构面部网格,并根据该面部网格重采样当前图像帧,以设置对下一图像帧的处理;或混合形状映射功能块,用于将面部动作单元转换为混合形状系数以用于虚拟形象的动画。它可利用如下各项来实现:专用集成电路(asic)、编程有实现逻辑的可编程电路、以汇编语言或高级语言实现的软件,该高级语言兼容于由底层通用和/或图形处理器支持的机器指令。

如较早提到的,应用104可以是多个已知应用中的任一个,该已知应用可使用由面部跟踪器102提供的面部姿态和表情数据108。具体来说,应用104之一可以是图像生成引擎,诸如pct申请pct/cn2014/087248中公开的虚拟形象动画绘制引擎,该pct申请标题为“usergesturedrivenavatarapparatusandmethod”,提交于2014年9月26日。在实施例中,pct/cn2014/087248的虚拟形象动画绘制引擎可被配置为通过如下方式使录制的面部表情动画化:在开始时段期间将第一一个或多个预定义形状与中性面部混合,进一步将第二一个或多个预定义形状与录制的面部表情进行混合或不混合,以在保持时段期间的持续时间中使录制的面部表情的面部移动动画化,以及不混合第一或第二一个或多个预定义形状以在结束时段期间使虚拟形象返回至中性面部。类似地,图像捕获引擎106可以是一定数量的已知图像捕获引擎中的任一个。

尽管为了完整性,成像设备100的实施例被描述为具有应用104和图像捕获引擎106,但在替代实施例中,成像设备100可被实践为不具有应用104(包括图像生成应用)和/或图像捕获引擎106。具有图像捕获引擎106而不具有图像生成应用104的成像设备100还可被称为图像捕获设备。类似地,具有图像生成应用104而不具有图像捕获引擎106的成像设备100可被称为图像生成设备。因此,图像设备100还可被称为图像捕获或生成设备。除了具有图像捕获指导功能112和快照自动捕获功能114的面部跟踪器102外,成像设备100可以是各种各样的已知成像设备,包括但不限于装配有图像捕获引擎和/或图像生成应用的可穿戴计算设备、智能电话、计算平板、电子书、笔记本计算机、膝上型计算机等。

现参见图2,其中根据公开的实施例的成像设备的各种操纵被示出。如所图示的,具有图像捕获引擎(诸如照相机)的成像设备(诸如智能电话)可以沿x轴、y轴和/或z轴,202、204和206在正或负方向移动。成像设备还可朝向或远离用户208以顺时针或逆时针方向210和/或向左或向右212旋转。

现参见图3,其中示出了根据公开的实施例的用于具有图2的操纵性的成像设备的示例用户指令,该示例用户指令用于捕获具有更好面部姿态的图像帧。如所图示的,该指令可包括简单易于理解的图形,诸如弧302形式的箭头,用于指令例如用户以顺时针或逆时针方向移动成像设备100。附加地,该指令可包括向上和向下箭头304,用于指令例如用户在正y或负y方向移动成像设备100,或包括水平箭头306,用于指令例如用户以正x或负x方向移动成像设备100。进一步,该指令可包括十字308形式的箭头,用于指令例如用户朝向或远离用户,以顺时针或逆时针方向,或朝左或朝右旋转成像设备100,如较早参考图2描述的那样。该示例指令意图是说明性而非限制性的。预见到,广范的简单且易于理解的图形和/或文本指令可被提供用于指导用户移动或旋转成像设备100,以使下一捕获图像的面部姿态将得到改进的可能性能够增加。

现参见图4,其中示出了根据公开的实施例的用于捕获具有可接受面部姿态的图像帧的过程。如所图示的,用于捕获具有可接受面部姿态的图像帧的过程400可包括框402-410中执行的操作。这些操作可例如由较早描述的具有图像捕获指导功能112的面部跟踪器102执行。

过程400可开始于框402。在框402,如较早描述的,图像帧可被接收。在框404,可对图像帧执行分析,以识别图像帧中的面部。在识别出面部时,界标和/或面部表情(诸如眼睛和/或嘴部移动)可被识别。各种方法可用于识别面部界标位置,包括但不限于监督下降方法、主动外观模型等。对于关于“监督下降方法”的进一步信息,例如参见xiong,xuehan和fernandodelatorre的“superviseddescentmethodanditsapplicationstofacealignment.”computervisionandpatternrecognition(cvpr),2013ieeeconferenceon.ieee,2013。对于关于“主动外观模型”的进一步信息,例如参见cootes,timothyf.,garethj.edwards和christopherj.taylor的“activeappearancemodels.”ieeetransactionsonpatternanalysisandmachineintelligence23.6(2001):681-685。从框404,过程400可前进到框406。

在框406,可评估面部姿态。在实施例中,评估可包括:针对面部姿态计算沿x、y和z轴的多个平移位置tx、ty、tz,以及围绕x、y和z轴旋转的角度位置rx、ry、rz。各种方法可用于计算tx、ty、tz和rx、ry、rz,包括但不限于基于模型的方法、透视n点(pnp)问题方法。对于关于“基于模型”方法的进一步信息,例如参见dementhon,danielf.和larrys.davis的“model-basedobjectposein25linesofcode.”internationaljournalofcomputervision15.1-2(1995):123-141。对于关于pnp问题方法的进一步信息,例如参见lepetit,vincent,francescmoreno-noguer和pascalfua的“epnp:anaccurateo(n)solutiontothepnpproblem.”internationaljournalofcomputervision81.2(2009):155-166。

其后,tx、ty、tz和rx、ry、rz可与对应参考范围相比较以确定这些量位于参考范围,即位置(tx1,tx2,ty1,ty2,tz1,tz2)和角度(tx1,rx2,ry1,ry2,rz1,rz2)之内还是之外,如下:

tx1<=tx<=tx2且

ty1<=ty<=ty2且

tz1<=tz<=tz2且

rx1<=rx<=rx2且

ty1<=ry<=ry2且

rz1<=rz<=rz2

在实施例中,如果tx、ty、tz和rx、ry、rz全部在参考范围内,则面部姿态可被认为可接受或良好,否则,面部姿态可被认为不可接受或不良。

如果面部姿态被认为不可接受或不良,则过程400可从框406前进到框408。在框408,可以给出指令以指导用户移动成像设备100并获得至少另一图像帧。可至少部分地基于超出各个参考范围的量来提供例如按照沿x、y和/或z轴的正或负方向,接近或远离用户,顺时针或逆时针,向左或向右倾斜等移动成像设备100的指令。

在实施例中,可例如由图像捕获指导功能112预先配置/保持6维数据结构tx、ty、tz和rx、ry、rz,该6维数据结构具有各种指令用于针对各种超出量按照沿x、y和/或z轴的正或负方向,接近或远离用户,顺时针或逆时针,向左或向右倾斜等移动成像设备100。

框402-408处的各个操作可重复多次,直到框406处的评估结果最终指示面部姿态可接受或良好。此时,过程400可从框406前进到框410。在框410,具有可接受或良好面部姿态的图像帧可被输出,例如用于一个或多个应用104。

图5图示根据公开的实施例在不具有和具有用户指令情况下获得的两个图像帧。更具体地,图像帧502在不具有指导情况下被获得,得到不可接受或不良的面部姿态。图像帧504是按照被提供用于移动成像设备100的指令而随后重新获得的,得到可接受或良好的面部姿态。

现参见图6,其中根据公开的实施例的用于自动捕获快照的示例过程被示出。如所图示的,在实施例中,用于自动捕获快照的过程600可包括在框602-610处执行的操作。可例如通过较早描述的快照自动捕获功能114来执行这些操作。

过程600可开始于框602。在框602,用户或虚拟形象图像的快照集合(s)可利用具有中性面部形状b0的快照来初始化。该集合可例如根据用户请求、在用户注册期间等被初始化。在框604,当前图像帧(例如由图像捕获引擎106捕获的当前图像帧)可被处理和分析以识别面部。进一步,在识别出面部时,面部的面部形状b’可被提取。

接下来,在框606,当前图像帧中面部的面部形状b’可与集合s中快照的面部的面部形状相比较,以选择具有如下面部的快照:该面部具有最接近的面部形状bi。在框608,可确定当前图像帧应当被认为与选择的最近快照相似还是不相似。例如可基于相异性度量来进行该确定。在实施例中,相异性度量可以是b’和bi之间的绝对距离,即,|b’-bi|。如果|b'-bi|大于阈值,则当前图像帧可被认为与最接近选择快照不相似,否则,可认为当前图像帧和最接近选择快照相似。

在确定出当前图像帧和最接近选择快照不相似时,过程600可从框608前进到框610。在框610,当前图像帧(和/或基于图像帧的面部姿态和表情数据生成的虚拟形象图像)可自动添加到快照集合。另一方面,在确定出当前图像帧和最接近选择快照相似时,过程600可返回框604,并且如较早描述那样从其继续,以分析下一图像帧。框604至框608处的操作可被重复任何次,只要有图像帧被捕获/生成。

现参见图7,其中根据公开的实施例的用于自动捕获快照的另一示例过程被示出。如所图示的,在实施例中,用于自动捕获快照的过程700可包括在框702-708处执行的操作。这些操作可例如由较早描述的快照自动捕获功能114执行。

过程700可开始于框702。在框702,图像帧可被接收。如在前所述的,图像帧例如可从图像捕获引擎106接收。在框704,图像帧可被处理和分析以识别面部。进一步,可针对面部表情(诸如眼睛和/或嘴部移动,头部姿态等)分析面部。

在框706,可确定面部表情是否为快照集合不具有的用户或虚拟形象的感兴趣面部表情。感兴趣面部表情的示例可包括但不限于具有夸张的眼睛和/或嘴部移动、伸舌、大笑、露齿笑等的面部表情。感兴趣面部表情可被预定义并保持在感兴趣面部表情列表中。类似地,对应列表可被保持以跟踪具有感兴趣面部表情的用户或虚拟形象的快照是否先前已被捕获并且已存储到快照集合中。

在确定出当前图像帧具有带有感兴趣面部表情的面部,并且具有这种面部表情的用户或虚拟形象的快照先前未被捕获时,过程700可从框706前进到框708。在框708,当前图像帧(和/或基于图像帧的面部姿态和表情数据生成的虚拟形象图像)可自动被添加到快照集合。另一方面,在确定出当前图像帧不具有感兴趣面部表情或具有感兴趣面部表情的用户或虚拟形象的快照先前未被捕获时,过程700可返回到框702,并且如较早描述那样从其继续,以分析下一图像帧。框702至框706处的操作可被重复任何次,只要有图像帧捕获/生成。

图8图示示例计算机系统,其可适于用于实践本公开的所选择的各方面。正如所示的,计算机800可包括一个或多个处理器或处理器核802以及系统存储器804。为本申请(包括权利要求)的目的,术语“处理器”和“处理器核”可被认为是同义的,除非上下文明确要求不是这样。另外,计算机800可包括大容量存储设备806(诸如软盘、硬盘驱动器、压缩盘只读存储器(cd-rom)等)、输入/输出设备808(诸如显示器、键盘、光标控制等)以及通信接口610(诸如网络接口卡、调制解调器等)。各元件可经由系统总线812相互耦合,系统总线812可表示一个或多个总线。在多个总线的情况下,它们可由一个或多个总线桥(未示出)桥接。

这些元件中每一个均可执行本领域已知的其常规功能。具体来说,系统存储器804和大容量存储设备806可被采用以存储实现关联于面部跟踪器102的操作的编程指令的工作拷贝和永久拷贝,特别是较早描述的图像捕获指导功能112和/或快照自动捕获功能114,统称为计算逻辑822。各种元件可由受到(一个或多个)处理器802支持的汇编指令或可以被编译为这种指令的高级语言(诸如例如c语言)实现。

这些元件810-812的数量、能力和/或容量可根据计算机800被用作移动设备、静态设备还是服务器而变化。当作为移动设备使用时,这些元件810-812的能力和/或容量可根据移动设备是智能电话、计算平板、超极本还是膝上型电脑而变化。另外,元件810-812的构造是已知的,并且因此将不进一步描述。

如本领域技术人员将理解的,本公开可被体现为方法或计算机程序产品。因此,本公开除被体现于较早描述的硬件中外,还可采用如下形式:完全软件实施例(包括固件、驻留软件、微代码等)或组合软件和硬件方面的实施例,软件和硬件方面通常均可称为“电路”、“模块”或“系统”。此外,本公开可采用计算机程序产品的形式,该计算机程序产品体现于表达的任何有形或非临时性介质中,该表达具有体现于所述介质中的计算机可用程序代码。图9图示示例计算机可读非临时性存储介质,该非临时性存储介质可适于用于存储指令,该指令使装置响应于装置执行指令而实践本公开的所选择的方面。正如所示那样,非临时性计算机可读存储介质902可包括多个编程指令904。编程指令904可被配置为使得设备(例如计算机800)响应于编程指令的执行来执行例如关联于面部跟踪器102的各种操作,特别是图像捕获指导功能112和/或快照自动捕获功能114。在替代实施例中,编程指令904可改为设置在多个计算机可读非临时性存储介质902上。在替代实施例中,编程指令904可设置于计算机可读临时性存储介质902(诸如,信号)上。

一个或多个计算机可用或计算机可读介质的任何组合可被利用。计算机可用或计算机可读介质可以是,例如但不限于,电子、磁、光、电磁、红外、或半导体系统、装置、设备或传播介质。计算机可读介质更特定的示例(非穷举列表)将包括以下各项:具有一个或多个导线的电连接、便携式计算机软盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、光纤、便携式压缩盘只读存储器(cd-rom)、光学存储设备、诸如支持互联网或内部网的传输介质或磁性存储设备。注意,计算机可用或计算机可读介质甚至可以是纸张或程序被打印在其上的另一合适的介质,因为程序可例如经由纸张或其他介质的光学扫描而被以电子方式捕获,然后视需要被编译,解释或以合适的方式另外处理,然后存储于计算机存储器中。在该文档上下文中,计算机可用或计算机可读介质可以是任何介质,该介质可包含、存储、通信、传播或传输程序,这种程序用于由或结合指令执行系统、装置或设备使用。计算机可用介质可包括所传播的数据信号,所传播的数据信号具有与其一起体现在基带中或作为载波的一部分的计算机可用程序代码。计算机可用程序代码可使用任何合适的介质(包括但不限于无线、有线、光纤电缆、rf等)传输。

用于实现本公开的操作的计算机程序代码可以按照一个或多个编程语言的任何组合编写,该编程语言包括:面向对象的编程语言,诸如java、smalltalk、c++等;以及常规过程编程语言,诸如“c”编程语言或相似编程语言。程序代码可全部在用户的计算机上执行,部分在用户的计算机上执行,作为独立软件包执行,部分在用户的计算机上并且部分在远程计算机上执行或全部在远程计算机或服务器上执行。在后一种情形中,远程计算机可通过任何类型的网络(包括局域网(lan)或广域网(wan),或可至外部计算机的连接(例如利用互联网服务提供商通过互联网))连接到用户的计算机。

本公开参考根据本公开的实施例的方法,装置(系统)和计算机程序产品的流程图图示和/或框图来描述。应当理解,流程图图示和/或框图的每个框以及流程图图示和/或框图中各个框的组合可由计算机程序指令实现。该计算机程序指令可被提供至通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的构件。

该计算机程序指令还可存储在计算机可读介质中,该计算机程序指令可引导计算机或其他可编程数据处理装置特定方式工作,以使存储于计算机可读介质中的指令产生制品,制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的指令构件。

计算机程序指令还可被加载至计算机或其他可编程数据处理装置上,以使一系列操作步骤在计算机或其他可编程装置上执行以产生计算机实现的过程,以使得在计算机或其他可编程装置上执行的指令提供用于实现流程图和/或框图的一个或多个框中指定的功能/动作的过程。

附图中流程图和框图图示了根据本公开各个实施例的系统、方法和计算机程序产品的可能实现的体系结构、功能和操作。在这方面,流程图或框图中的每个框可表示代码的模块、段或部分,该代码的模块、段或部分包括用于实现(一个或多个)指定逻辑功能的一个或多个可执行指令。还应注意,在一些可选实现中,框中提到的功能可不按图中提到的顺序发生。例如相继示出的两个框实际上可基本并发执行,或根据所涉及的功能,该框有时可以按照相反顺序执行。还将注意到的是,框图和/或流程图图示的每个框以及框图和/或流程图图示中各个框的组合可由执行指定功能或动作的基于专用硬件的系统或专用硬件和计算机指令的组合来实现。

本文使用的术语仅用于描述特定实施例的目的,并非意图限制本公开。如本文所使用的,单数形式“一”、“一个”和“该”意图也包括复数形式,除非上下文另外明确表示。将进一步理解的是,术语“包括”当在该说明书中使用时指明所述特征、整体、步骤、操作、元件和/或组件的存在,但不排除一个或多个其他特征、整体、步骤、操作、元件、组件和/或其群组的存在或附加。

各实施例可被实现为计算机过程、计算系统或制品,诸如计算机可读介质的计算机程序产品。计算机程序产品可以是计算机存储介质,计算机存储介质可由计算机系统读取并编码计算机程序指令以用于执行计算机过程。

以下权利要求中所有构件或步骤加功能元素的对应结构、材料、动作和等同物意图包括用于结合被特别地要求保护的的其他要求保护的元素执行功能的任何结构、材料或动作。本公开的描述被呈现用于说明和描述的目的,但不意图穷举或将本公开限制于所公开的形式。在不偏离本公开的范围和精神的情况下,多个修改和变型将对本领域技术人员显而易见。实施例被选择和描述以便最佳地说明本公开的原理和实际应用,并使其他本领域普通技术人员能够理解实施例的公开具有适合于所预期的特定使用的各种修改。

返回参照图8,对于一个实施例,至少一个处理器802可与具有计算逻辑822的存储器封装在一起(代替存储在存储器804和存储设备806上)。对于一个实施例,至少一个处理器802可与具有计算逻辑822的存储器封装在一起以形成封装中系统(sip)。对于一个实施例,至少一个处理器802可与具有计算逻辑822的存储器集成于相同管芯上。对于一个实施例,至少一个处理器802可与具有计算逻辑822的存储器封装在一起以形成片上系统(soc)。对于至少一个实施例,soc可用于例如但不限于智能电话或计算平板。

因此已描述本公开的各个示例实施例,包括但不限于:

示例1可以是用于捕获或生成图像的装置。该装置可包括图像捕获引擎;以及与图像捕获引擎耦合的面部跟踪器。该面部跟踪器可被配置为从该图像捕获引擎接收图像帧,针对面部分析图像帧,并且在识别出该图像帧中的面部时,评估该面部以确定该图像帧包括可接受面部姿态还是不可接受面部姿态。在确定出该图像帧具有不可接受面部姿态时,该面部跟踪器可进一步提供用于获得另一图像帧的指令,其中该指令被设计为提高该另一图像帧将包括可接受面部姿态的可能性。

示例2可以是示例1,其中,作为评估该面部姿态的一部分,该面部跟踪器可确定该面部姿态的多个平移位置或多个角度。

示例3可以是示例2,其中,作为评估该面部姿态的一部分,该面部跟踪器可首先确定该面部的多个界标,并且然后至少部分地基于所确定的界标确定该面部姿态的该多个平移位置或该多个角度。

示例4可以是示例2,其中,作为评估该面部姿态的一部分,该面部跟踪器可进一步确定该面部姿态的该多个平移位置或多个角度是否在该平移位置和该角度的对应范围内。

示例5可以是示例4,其中该面部跟踪器可在确定出该多个平移位置或该多个角度中的至少一项位于该平移位置或角度的对应范围之外时提供该指令。

示例6可以是示例1-5中任一项,其中该面部跟踪器可在获得另一图像帧之前指令朝向或远离用户,以顺时针或逆时针方向,或向左或向右方向旋转该装置。

示例7可以是示例1-5中任一项,其中该面部跟踪器可在获得另一图像帧之前指令沿x轴、y轴或z轴以正或负方向移动该装置。

示例8可以是示例1-7中任一项,其中该面部跟踪器可进一步:从该图像捕获引擎或图像生成引擎接收第二图像帧;针对第二面部分析第二图像帧;并且在第二图像帧中识别出第二面部时,提取第二面部的面部形状或确定第二面部的面部表情,并确定是否自动将第二图像帧或至少部分地基于第二图像帧生成的虚拟形象图像添加到快照集合。该确定可至少部分地基于第二图像帧中第二面部的所提取的面部形状或所确定的面部表情。

示例9可以是示例8,其中该面部跟踪器,在识别出第二图像帧中的第二面部时,可提取第二面部的面部形状;其中该面部跟踪器还用于利用具有第三面部的快照初始化该快照集合,该第三面部具有中性面部形状。

示例10可以是示例9,其中,作为做出确定的一部分,该面部跟踪器可在快照集合内选择具有第四面部的快照,该第四面部最接近第二图像帧中的第二面部。

示例11可以是示例10,其中,作为做出确定的一部分,该面部跟踪器可进一步计算第二图像帧中的第二面部的面部形状和所选择的快照中的第四面部的面部形状之间的相异性度量。

示例12可以是示例11,其中,作为做出确定的一部分,该面部跟踪器可进一步确定该相异性度量是否超过阈值。

示例13可以是示例12,其中,在确定出该相异性度量超过该阈值时,该面部跟踪器可自动将第二图像帧或至少部分地基于第二图像帧生成的虚拟形象图像添加到该快照集合。

示例14可以是示例8,其中,在第二图像帧中识别出第二面部时,该面部跟踪器可确定第二面部的面部表情。该面部跟踪器还可确定所确定的第二面部的面部表情是否为感兴趣面部表情。

示例15可以是示例14,其中,在确定出所确定的面部表情为感兴趣面部表情时,该面部跟踪器可自动将第二图像帧或至少部分地基于第二图像帧生成的虚拟形象图像添加到该快照集合。

示例16可以是用于捕获或生成图像的装置。该装置可包括图像捕获或生成引擎;以及与该图像捕获或生成引擎耦合的面部跟踪器。该面部跟踪器可被配置为从该图像捕获或生成引擎接收图像帧,针对面部分析图像帧,并且在该图像帧中识别出面部时,提取该面部的面部形状或确定该面部的面部表情。该面部跟踪器可进一步确定是否自动将该图像帧或至少部分地基于该图像帧生成的虚拟形象图像添加到快照集合。该确定可至少部分地基于该图像帧中的面部的所提取的面部形状或所确定的面部表情。

示例17可以是示例16,其中,在该图像帧中识别出面部时,该面部跟踪器可提取该面部的面部形状。该面部跟踪器还可利用具有带有中性面部形状的面部的快照来初始化该快照集合。

示例18可以是示例17,其中,作为做出确定的一部分,该面部跟踪器可在快照集合内选择具有与该图像帧中的面部最接近的面部的快照。

示例19可以是示例18,其中,作为做出确定的一部分,该面部跟踪器可进一步计算该图像帧中的面部的面部形状和所选择的快照中面部的面部形状之间的相异性度量。

示例20可以是示例19,其中,作为做出确定的一部分,该面部跟踪器可进一步确定该相异性度量是否超过阈值。

示例21可以是示例20,其中在确定出该相异性度量超过该阈值时,该面部跟踪器可自动将该图像帧或至少部分地基于该图像帧生成的虚拟形象图像添加到该快照集合。

示例21可以是示例16-21中任一项,其中,在该图像帧中识别出面部时,该面部跟踪器可确定该面部的面部表情。该面部跟踪器还可确定该面部的所确定的面部表情是否为感兴趣面部表情。

示例23可以是示例22,其中,在确定出所确定的面部表情为感兴趣面部表情时,该面部跟踪器可自动将该图像帧或至少部分地基于该图像帧生成的虚拟形象图像添加到该快照集合。

示例24可以是一种用于捕获或生成图像的方法。该方法可包括:由图像捕获或生成装置的面部跟踪器接收图像帧;由该面部跟踪器针对面部分析该图像帧;在该图像帧中识别出面部时,由该面部跟踪器评估该面部以确定该图像帧包括可接受面部姿态还是不可接受面部姿态;并且在确定出该图像帧具有不可接受面部姿态时,由该面部跟踪器提供用于获得另一图像帧的指令,该指令被设计为提高该另一图像帧将包括可接受面部姿态的可能性。

示例25可以是示例24,其中评估可包括确定该面部姿态的多个平移位置或多个角度。

示例26可以是示例25,其中评估可包括:首先确定该面部的多个界标,并且然后至少部分地基于所确定的界标确定该面部姿态的所述多个平移位置或多个角度。

示例27可以是示例25,其中评估可包括:确定该面部姿态的所述多个平移位置或多个角度是否在所述平移位置和角度的对应范围内。

示例28可以是示例27,其中提供指令可包括:在确定出所述多个平移位置或所述多个角度中的至少一项位于该平移位置或角度的对应范围之外时提供该指令。

示例29可以是示例24-28中任一项,其中提供指令可包括:提供指令以在获得另一图像帧之前朝向或远离用户,按照顺时针或逆时针方向,或向左或向右方向旋转该装置。

示例30可以是示例24-28中任一项,其中提供指令可包括:提供指令以在获得另一图像帧之前沿x轴、y轴或z轴以正或负方向移动该装置。

示例31可以是示例24-30中任一项,进一步包括:由该面部跟踪器接收第二图像帧;由该面部跟踪器针对第二面部分析第二图像帧;在第二图像帧中识别出第二面部时,由该面部跟踪器提取第二面部的面部形状或由该面部跟踪器确定第二面部的面部表情;并由该面部跟踪器确定是否自动将第二图像帧或至少部分地基于第二图像帧生成的虚拟形象图像添加到快照集合。进一步,确定可至少部分地基于第二图像帧中的第二面部的所提取的面部形状或所确定的面部表情。

示例32可以是示例31,进一步包括:由该面部跟踪器利用具有第三面部的快照初始化该快照集合,该第三面部具有中性面部形状;并且在第二图像帧中识别出第二面部时,由该面部跟踪器提取第二面部的面部形状。

示例33可以是示例32,其中确定是否自动将第二图像帧添加到快照集合可包括:在快照集合中选择具有第四面部的快照,该第四面部最接近第二图像帧中的第二面部。

示例34可以是示例33,其中确定是否自动将第二图像帧添加到快照集合可进一步包括:计算第二图像帧中第二面部的面部形状和所选择的快照的第四面部的面部形状之间的相异性度量。

示例35可以是示例34,其中确定是否自动将第二图像帧添加到快照集合可进一步包括:确定该相异性度量是否超过阈值。

示例36可以是示例35,进一步包括:在确定出该相异性度量超过该阈值时,由该面部跟踪器自动将第二图像帧或至少部分地基于第二图像帧生成的虚拟形象图像添加到该快照集合。

示例37可以是示例31,进一步包括:在第二图像帧中识别出第二面部时,由该面部跟踪器确定第二面部的面部表情,包括确定第二面部的所确定的面部表情是否为感兴趣面部表情。

示例38可以是示例37,进一步包括:在确定出所确定的面部表情为感兴趣面部表情时,由该面部跟踪器自动将第二图像帧或至少部分地基于第二图像帧生成的虚拟形象图像添加到该快照集合。

示例39可以是一种用于捕获或生成图像的方法。该方法可包括:由图像捕获或生成装置的面部跟踪器接收图像帧;由该面部跟踪器针对面部分析该图像帧;在该图像帧中识别出面部时,由该面部跟踪器提取该面部的面部形状或由该面部跟踪器确定该面部的面部表情;以及由该面部跟踪器确定是否自动将该图像帧或至少部分地基于该图像帧生成的虚拟形象图像添加到快照集合,其中该确定至少部分地基于该图像帧中的面部的所提取的面部形状或所确定的面部表情。

示例40可以是示例39,进一步包括:由该面部跟踪器利用具有带有中性面部形状的面部的快照来初始化该快照集合,以及在该图像帧中识别出面部时,由该面部跟踪器提取该面部的面部形状。

示例41可以是示例40,其中确定是否自动将第二图像添加到快照集合可进一步包括:在快照集合中选择具有与该图像帧中的面部最接近的面部的快照。

示例42可以是示例41,其中确定是否自动将第二图像添加到快照集合可进一步包括:计算该图像帧中的面部的面部形状和所选择的快照中面部的面部形状之间的相异性度量。

示例43可以是示例42,其中确定是否自动将第二图像添加到快照集合可进一步包括确定该相异性度量是否超过阈值。

示例44可以是示例43,进一步包括:在确定出该相异性度量超过该阈值时,由该面部跟踪器自动将该图像帧或至少部分地基于该图像帧生成的虚拟形象图像添加到该快照集合。

示例45可以是示例39-44中任一项,进一步包括:在该图像帧中识别出面部时,由该面部跟踪器确定该面部的面部表情;其中该面部跟踪器还用于确定所确定的面部的面部表情是否为感兴趣面部表情。

示例46可以是示例45,进一步包括:在确定所确定的面部表情为感兴趣面部表情时,由该面部跟踪器自动将该图像帧或至少部分地基于该图像帧生成的虚拟形象图像添加到该快照集合。

示例47可以是至少一个计算机可读介质,具有指令用于使图像捕获或生成装置响应于该指令由该装置执行而实现面部跟踪器。该面部跟踪器可从该图像捕获引擎接收图像帧,针对面部分析图像帧,并且在该图像帧中识别出面部时,评估该面部以确定该图像帧包括可接受面部姿态还是不可接受面部姿态。在确定出该图像帧具有不可接受面部姿态时,该面部跟踪器可进一步提供用于获得另一图像帧的指令,该指令被设计成提高该另一图像帧将包括可接受面部姿态的可能性。

示例48可以是示例47,其中,作为评估该面部姿态的一部分,该面部跟踪器可确定该面部姿态的多个平移位置或多个角度。

示例49可以是示例48,其中,作为评估该面部姿态的一部分,该面部跟踪器可首先确定该面部的多个界标,并且然后至少部分地基于所确定的界标确定该面部姿态的多个平移位置或该多个角度。

示例50可以是示例48,其中,作为评估该面部姿态的一部分,该面部跟踪器可进一步确定该面部姿态的多个平移位置或多个角度是否在该平移位置和该角度的对应范围内。

示例51可以是示例50,其中,在确定出该多个平移位置或该多个角度中的至少一项位于该平移位置或角度的对应范围之外时,该面部跟踪器可提供该指令。

示例52可以是示例47-51中任一项,其中该面部跟踪器可指令在获得另一图像帧之前朝向或远离用户,按照顺时针或逆时针方向,或向左或向右方向旋转该装置。

示例53可以是示例47-51中任一项,其中该面部跟踪器可指令在获得另一图像帧之前沿x轴、y轴或z轴以正或负方向移动该装置。

示例54可以是示例47-53中任一项,其中该面部跟踪器可进一步从该图像捕获引擎或图像生成引擎接收第二图像帧,针对第二面部分析第二图像帧,以及在第二图像帧中识别出第二面部时,提取第二面部的面部形状或确定第二面部的面部表情,并确定是否自动将第二图像帧或至少部分地基于该图像帧生成的虚拟形象图像添加到快照集合。进一步,该确定可至少部分地基于第二图像帧中的第二面部的所提取的面部形状或所确定的面部表情。

示例55可以是示例54,其中,在第二图像帧中识别出第二面部时,该面部跟踪器可提取第二面部的面部形状。进一步,该面部跟踪器还可利用具有第三面部的快照初始化该快照集合,第三面部具有中性面部形状。

示例56可以是示例55,其中,作为做出确定的一部分,该面部跟踪器可在快照集合中选择具有第四面部的快照,该第四面部最接近第二图像帧中的第二面部。

示例57可以是示例56,其中,作为做出确定的一部分,该面部跟踪器可进一步计算第二图像帧中的第二面部的面部形状和所选择的快照中的第四面部的面部形状之间的相异性度量。

示例58可以是示例57,其中,作为做出确定的一部分,该面部跟踪器可进一步确定该相异性度量是否超过阈值。

示例59可以是示例58,其中,在确定出该相异性度量超过该阈值时,该面部跟踪器可自动将第二图像帧或至少部分地基于第二图像帧生成的虚拟形象图像添加到该快照集合。

示例60可以是示例54,其中,在第二图像帧中识别出第二面部时,该面部跟踪器可确定第二面部的面部表情;其中该面部跟踪器还用于确定所确定的第二面部的面部表情是否为感兴趣面部表情。

示例61可以是示例60,其中,在确定出所确定的面部表情为感兴趣面部表情时,该面部跟踪器可自动将第二图像帧或至少部分地基于第二图像帧生成的虚拟形象图像添加到该快照集合。

示例62可以是至少一个计算机可读介质,具有指令用于使图像捕获或生成装置响应于该指令由该装置的执行而实现面部跟踪器。该面部跟踪器可从该图像捕获或生成引擎接收图像帧,针对面部分析该图像帧,以及在该图像帧中识别出面部时,提取该面部的面部形状或确定该面部的面部表情;其中该面部跟踪器进一步用于确定是否自动将该图像帧或至少部分地基于该图像帧生成的虚拟形象图像添加到快照集合。该确定可至少部分地基于该图像帧中的面部的所提取的面部形状或所确定的面部表情。

示例63可以是示例62,其中,在该图像帧中识别出面部时,该面部跟踪器可提取该面部的面部形状;其中该面部跟踪器还用于利用具有带有中性面部形状的面部的快照来初始化该快照集合。

示例64可以是示例63,其中,作为做出确定的一部分,该面部跟踪器可在快照集合中选择具有与该图像帧中的面部最接近的面部的快照。

示例65可以是示例64,其中,作为做出确定的一部分,该面部跟踪器可进一步计算该图像帧中的面部的面部形状和所选择的快照中面部的面部形状之间的相异性度量。

示例66可以是示例65,其中,作为做出确定的一部分,该面部跟踪器可进一步确定该相异性度量是否超过阈值。

示例67可以是示例66,其中该面部跟踪器可在确定出该相异性度量超过该阈值时自动将该图像帧或至少部分地基于该图像帧生成的虚拟形象图像添加到该快照集合。

示例68可以是示例62-67中任一项,其中,在该图像帧中识别出面部时,该面部跟踪器可确定该面部的面部表情;其中该面部跟踪器还用于确定所确定的面部的面部表情是否为感兴趣面部表情。

示例69可以是示例68,其中该面部跟踪器可在确定出所确定的面部表情为感兴趣面部表情时自动将该图像帧或至少部分地基于该图像帧生成的虚拟形象图像添加到该快照集合。

示例70可以是用于捕获或生成图像的装置。该装置可包括:图像捕获引擎;以及面部跟踪构件,用于接收图像帧,针对面部分析该图像帧,并且在该图像帧中识别出面部时,评估该面部以确定该图像帧包括可接受面部姿态还是不可接受面部姿态;并在确定出该图像帧具有不可接受面部姿态时,提供用于获得另一图像帧的指令,其中该指令被设计为提高该另一图像帧将包括可接受面部姿态的可能性。

示例71可以是示例70,其中该面部跟踪构件可包括用于作为评估该面部姿态的一部分确定该面部姿态的多个平移位置或多个角度的构件。

示例72可以是示例71,其中该面部跟踪构件可包括:用于作为评估该面部姿态的一部分首先确定该面部的多个界标,并且然后至少部分地基于所确定的界标确定该面部姿态的多个平移位置或多个角度的构件。

示例73可以是示例71,其中该面部跟踪构件可包括:用于作为评估该面部姿态的一部分确定针对该面部姿态的多个平移位置或多个角度是否在该平移位置和该角度的对应范围内的构件。

示例74可以是示例73,其中该面部跟踪构件可包括:用于在确定出该多个平移位置或该多个角度中的至少一项位于该平移位置或角度的对应范围之外时提供该指令的构件。

示例75可以是示例70-74中任一项,其中该面部跟踪构件可包括:用于指令在获得另一图像帧之前朝向或远离用户,以顺时针或逆时针方向,或向左或向右方向旋转该装置的构件。

示例76可以是示例70-74中任一项,其中该面部跟踪构件可包括用于指令在获得另一图像帧之前沿x轴、y轴或z轴以正或负方向移动该装置的构件。

示例77可以是示例70-76中任一项,其中该面部跟踪构件可包括用于以下操作的构件:接收第二图像帧,针对第二面部分析第二图像帧,以及在第二图像帧中识别出第二面部时提取第二面部的面部形状或确定第二面部的面部表情,以及确定是否自动将第二图像帧或至少部分地基于第二图像帧生成的虚拟形象图像添加到快照集合。进一步,确定可至少部分地基于第二图像帧中的第二面部的所提取的面部形状或所确定的面部表情。

示例78可以是示例77,其中该面部跟踪构件可包括用于在第二图像帧中识别出第二面部时提取第二面部的面部形状的构件;其中该面部跟踪器还用于利用具有第三面部的快照初始化该快照集合,该第三面部具有中性面部形状。

示例79可以是示例78,其中该面部跟踪构件可包括用于作为该确定的一部分而在快照集合中选择具有第四面部的快照的构件,所述第四面部最接近第二图像帧中的第二面部。

示例80可以是示例79,其中该面部跟踪构件可包括用于作为确定是否自动添加的一部分而计算第二图像帧中的第二面部的面部形状和所选择的快照中的第四面部的面部形状之间的相异性度量的构件。

示例81可以是示例80,其中该面部跟踪构件可包括用于作为确定是否自动添加的一部分而确定该相异性度量是否超过阈值的构件。

示例82可以是示例81,其中该面部跟踪构件可包括用于在确定出该相异性度量超过该阈值时自动将第二图像帧或至少部分地基于第二图像帧生成的虚拟形象图像添加到该快照集合的构件。

示例83可以是示例77,其中该面部跟踪构件可包括:用于在第二图像帧中识别出第二面部时确定第二面部的面部表情的构件;以及用于确定所确定的第二面部的面部表情是否为感兴趣面部表情的构件。

示例84可以是示例83,其中该面部跟踪构件可包括:用于在确定出所确定的面部表情为感兴趣面部表情时自动将第二图像帧或至少部分地基于第二图像帧生成的虚拟形象图像添加到该快照集合的构件。

示例85可以是图像捕获或生成装置,包括:图像捕获或生成引擎;以及面部跟踪构件,用于接收图像帧,针对面部分析图像帧,以及在该图像帧中识别出面部时提取该面部的面部形状或确定该面部的面部表情;以及确定是否自动将该图像帧或至少部分地基于该图像帧生成的虚拟形象图像添加到快照集合,并且其中确定至少部分地基于该图像帧中的面部的所提取的面部形状或所确定的面部表情。

示例86可以是示例85,其中该面部跟踪构件可包括:用于利用具有带有中性面部形状的面部的快照来初始化该快照集合的构件;以及用于在该图像帧中识别出面部时提取该面部的面部形状的构件。

示例87可以是示例86,其中该面部跟踪构件可包括:用于作为确定是否自动添加的一部分而在快照集合中选择具有与该图像帧中的面部最接近的面部的快照的构件。

示例88可以是示例87,其中该面部跟踪构件可包括用于作为确定是否自动添加的一部分而计算该图像帧中的面部的面部形状和所选择的快照中面部的面部形状之间的相异性度量的构件。

示例89可以是示例88,其中该面部跟踪构件可包括:用于作为确定是否自动添加的一部分而确定该相异性度量是否超过阈值的构件。

示例90可以是示例89,其中该面部跟踪构件可包括:用于在确定出该相异性度量超过该阈值时自动将该图像帧或至少部分地基于该图像帧生成的虚拟形象图像添加到该快照集合的构件。

示例91可以是示例85-90中任一项,其中该面部跟踪构件可包括:用于在该图像帧中识别出面部时确定该面部的面部表情的构件;以及用于确定所确定的面部的面部表情是否为感兴趣面部表情的构件。

示例92可以是示例91,其中该面部跟踪构件可包括:用于在确定出所确定的面部表情为感兴趣面部表情时自动将该图像帧或至少部分地基于该图像帧生成的虚拟形象图像添加到该快照集合的构件。

对本领域技术人员将显而易见的是,可在不偏离本公开的精神或范围的情况下在所公开设备和相关联的方法的公开实施例中进行各种修改和变型。因此意图是,如果修改和变型落在任何权利要求及其等同物的范围内,本公开覆盖以上公开的实施例的修改和变型。

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