CN109844761B - 用于面部建模的方法和系统 - Google Patents

用于面部建模的方法和系统 Download PDF

Info

Publication number
CN109844761B
CN109844761B CN201780064382.6A CN201780064382A CN109844761B CN 109844761 B CN109844761 B CN 109844761B CN 201780064382 A CN201780064382 A CN 201780064382A CN 109844761 B CN109844761 B CN 109844761B
Authority
CN
China
Prior art keywords
facial
functions
function
pixel region
feature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201780064382.6A
Other languages
English (en)
Other versions
CN109844761A (zh
Inventor
李佳
吕旭涛
X·王
X·熊
杨建朝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Snap Inc
Original Assignee
Snap Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Snap Inc filed Critical Snap Inc
Priority to CN202311030981.XA priority Critical patent/CN117173762A/zh
Publication of CN109844761A publication Critical patent/CN109844761A/zh
Application granted granted Critical
Publication of CN109844761B publication Critical patent/CN109844761B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/178Human faces, e.g. facial parts, sketches or expressions estimating age from face image; using age information for improving recognition

Abstract

提供了用于采用客户端装置使用图像分割来建模面部表示的系统、装置、介质和方法。该系统和方法接收描绘面部的图像,检测图像内的面部的至少一部分,以及识别面部的部分内的一组面部特征。该系统和方法生成表示该组面部特征的描述符函数,拟合描述符函数的对象函数,识别每个面部特征的识别概率,以及向每个面部特征分配标识。

Description

用于面部建模的方法和系统
优先权要求
本申请要求2016年10月19日提交的序列号为15/297,789的美国申请的优先权,其全部内容通过引用并入本文。
技术领域
本公开的实施例一般涉及图像的自动处理。更具体地,但不作为限制,本公开提出了用于对在一组图像内描绘的面部的表示进行建模的系统和方法。
背景技术
电信应用和装置可以使用各种媒体(诸如文本、图像、声音记录和/或视频记录)来提供多个用户之间的通信。例如,视频会议允许两个或更多个人使用软件应用、电信装置和电信网络的组合彼此通信。电信装置还可以记录视频流以在电信网络中作为消息进行发送。
当前,用于通信或识别目的的面部处理技术通常由用户选择导引。面部识别技术通常对各个特征训练模型,使得针对出现在面部上的第一特征的第一模型的训练与针对面部上的第二特征的第二模型的训练分开进行。当对新面部建模或执行识别功能时,通常单独地连续使用单独训练的模型来构建新面部的模型或识别。
附图说明
附图中的各个附图仅示出了本公开的示例实施例,并且不应被视为限制其范围。
图1是示出根据一些示例实施例的联网系统的框图。
图2是示出根据一些示例实施例的面部建模系统的图。
图3是示出根据一些示例实施例的用于从一组图像建模和识别面部的各方面的示例方法的流程图。
图4是示出根据一些示例实施例的用于从一组图像建模和识别面部的各方面的示例方法的流程图。
图5是示出根据一些示例实施例的用于从一组图像建模和识别面部的各方面的示例方法的流程图。
图6是示出根据一些示例实施例的用于从一组图像建模和识别面部的各方面的示例方法的流程图。
图7是示出根据一些示例实施例的用于从一组图像建模和识别面部的各方面的示例方法的流程图。
图8是示出根据一些示例实施例的用于从一组图像建模和识别面部的各方面的示例方法的流程图。
图9是描绘根据一些示例实施例的示例移动装置和移动操作系统界面的用户界面图。
图10是示出根据一些示例实施例的可以安装在机器上的软件架构的示例的框图。
图11是呈现根据示例实施例的计算机系统形式的机器的图形表示的框图,在该计算机系统内可执行一组指令以使机器执行在此所讨论的任何方法。
本文提供的标题仅仅是为了方便,并不必须影响所用术语的范围或含义。
具体实施方式
以下描述包括说明本公开的实施例的系统、方法、技术、指令序列和计算机器程序产品。在以下描述中,出于解释的目的,阐述了许多具体细节以便提供对本发明主题的各种实施例的理解。然而,对于本领域技术人员显而易见的是,也可以在没有这些具体细节的情况下实践本发明主题的实施例。通常,公知的指令实例、协议、结构和技术不必详细示出。
尽管存在对图像内的面部和面部特征进行建模的方法,但是这些现有方法不使用神经模型对视觉表示进行建模。此外,这些方法不使用统一模型对多个面部特征或特性同时建模、拟合或识别。现有方法通常独立地训练每个特征或方面,或者使用不同且独立的任务作为正则化器(regularizer)训练每个特征或方面。统一模型可以基于具有对象函数的统一函数,该对象函数被同时训练和修改(例如,在理论上优化)以使用神经模型基于低等级曲率和其它视觉表示来解释面部的各方面。统一模型采用统一的深度神经网络模型同时训练面部的所有面部属性。统一模型可以实现多个属性识别任务的共享表示。因此,本领域仍然需要改进在没有用户交互或用户交互最少的情况下对图像内的面部的标识、建模、解释和识别。此外,本领域仍然需要改进面部模型的生成以及与面部相关的解释或推断方面(其不是在面部上直接识别的特性)的识别。如在此所述,方法和系统被呈现用于使用初始选择的单个用户交互基于图像内描绘的面部特征或面部界标来对面部进行建模和识别面部特征或解释方面。
本公开的实施例通常可涉及基于分割图像和图像内识别的特征的神经网络处理的自动图像分割和面部表示或模型的生成。在一个实施例中,面部建模系统访问或接收描绘面部的图像。面部建模系统识别图像内描绘的面部特征和面部界标。使用拟合每个面部特征结合其它面部特征以基于先前训练的面部数据得出结论,面部特征和面部界标在单个函数内被建模。面部建模系统基于函数以及函数的各部分的相互关系生成指示关于图像内的面部的信息的概率。在一些情况下,面部建模系统结合来自平均面部的标准化特征,该标准化特征被组合以形成单个聚合面部,并识别包括人口统计信息的信息。
以上是一个具体示例。本公开的各种实施例涉及装置和装置的一个或多个处理器的指令,以在采集视频流时针对由装置发送到另一装置的图像或视频流内的面部进行建模和绘制自动推断(例如,实时修改视频流)。描述了面部建模系统,该面部建模系统识别并生成图像内或视频流间以及通过包括视频流的一组图像的关注对象和区域的推断。在各种示例实施例中,面部建模系统识别并跟踪视频流中或图像内描绘的一个或多个面部特征,并执行关于一个或多个面部特征的图像识别、面部识别以及面部处理功能以及两个或更多个面部特征之间的相互关联。
图1是描绘根据一个实施例的网络系统100的网络图,网络系统100具有被配置用于通过网络交换数据的客户端-服务器架构。例如,网络系统100可以是消息传递系统,其中客户端在网络系统100内传送并交换数据。数据可涉及各种功能(例如,发送和接收文本和媒体通信,确定地理位置等)和与网络系统100及其用户相关联的方面(例如,传送通信数据,接收和发送通信会话的指示等)。虽然网络系统100在此示出为客户端-服务器架构,但是其它实施例可以包括其它网络架构,诸如对等或分布式网络环境。
如图1中所示,网络系统100包括社交消息传递系统130。社交消息传递系统130通常基于三层架构,其包括接口层124、应用逻辑层126和数据层128。如相关计算机和因特网相关领域的技术人员所理解的,图1中所示的每个组件或引擎表示一组可执行软件指令和用于执行指令的相应硬件(例如,存储器和处理器),形成硬件实现的组件或引擎,并在执行指令时用作配置为执行一组特定功能的专用机器。为了避免不必要的细节模糊本发明的主题,从图1中省略了与传达对本发明主题的理解没有密切关系的各种功能组件和引擎。当然,附加的功能组件和引擎可以与社交消息传递系统(诸如图1中所示的社交消息传递系统)一起使用,以便于实现在此未具体描述的附加功能。此外,图1中描绘的各种功能组件和引擎可以驻留在单个服务器计算机或客户端装置上,或者可以以各种布置横跨若干服务器计算机或客户端装置分布。此外,尽管图1中描绘了社交消息传递系统130为三层架构,但是本发明的主题决不限于这种架构。
如图1中所示,接口层124包括接口组件(例如,web服务器)140,其接收来自各种客户端计算装置和服务器(诸如执行客户端应用112的客户端装置110,和执行第三方应用122的第三方服务器120)的请求。响应于所接收的请求,接口组件140经由网络104向请求装置传送适当的响应。例如,接口组件140可以接收请求,诸如超文本传输协议(HTTP)请求或其它基于Web的应用编程接口(API)请求。
客户端装置110可以执行传统web浏览器应用或已经为特定平台开发以包括各种移动计算装置和移动专用操作系统(例如,IOSTM、ANDROIDTMPHONE)中的任何一个的应用(也称为“app”)。此外,在一些示例实施例中,客户端装置110形成面部建模系统160的全部或一部分,使得面部建模系统160的组件配置客户端装置110以执行关于面部建模系统160的操作的一组特定功能。
在示例中,客户端装置110执行客户端应用112。客户端应用112可以提供向用户106呈现信息以及经由网络104进行通信以与社交消息传递系统130交换信息的功能。此外,在一些示例中,客户端装置110执行面部建模系统160的功能以在采集视频流期间分割视频流的图像并发送视频流(例如,采用基于视频流的分割的图像而修改的图像数据)。
客户端装置110中的每一个可以包括计算装置,计算装置至少包括显示和与网络104的通信能力以访问社交消息传递系统130、其它客户端装置和第三方服务器120。客户端装置110包括但不限于远程装置、工作站、计算机、通用计算机、因特网装置、手持装置、无线装置、便携式装置、可穿戴计算机、蜂窝或移动电话、个人数字助理(PDA)、智能电话、平板计算机、超极本、上网本、膝上型计算机、台式机、多处理器系统、基于微处理器或可编程的消费电子产品、游戏机、机顶盒、网络PC、小型计算机等。用户106可以是人、机器或与客户端装置110交互的其它部件。在一些实施例中,用户106经由客户端装置110与社交消息传递系统130交互。用户106可能不是联网环境的一部分,但是可以与客户端装置110相关联。
如图1中所示,数据层128具有便于访问信息存储库或数据库134的数据库服务器132。数据库134是存储数据(诸如成员简档数据、社交图数据(例如,社交消息传递系统130的成员之间的关系)、图像修改偏好数据、可访问性数据和其它用户数据)的存储装置。
个人可以用社交消息传递系统130注册以成为社交消息传递系统130的成员。一旦注册,成员可以在社交消息传递系统130上形成社交网络关系(例如,朋友、关注者或联系人),并且与社交消息传递系统130提供的广泛的应用交互。
应用逻辑层126包括各种应用逻辑组件150,应用逻辑组件150结合接口组件140而采用从数据层128中的各种数据源或数据服务取得的数据生成各种用户界面。各个应用逻辑组件150可用于实现与社交消息传递系统130的各种应用、服务和特征相关联的功能。例如,社交消息传递应用可以与一个或多个应用逻辑组件150一起实现。社交消息传递应用为客户端装置110的用户提供消息传递机制,以发送和接收包括诸如图片和视频的文本和媒体内容的消息。客户端装置110可以访问和查看来自社交消息传递应用的消息达指定的时间段(例如,有限的或无限制的)。在示例中,消息接收者可以访问特定消息达预定义的持续时间(例如,由消息发送者指定),该预定义的持续时间在特定消息被首次访问时开始。在预定义的持续时间过去之后,消息将被删除,并且消息接收者将无法再访问该消息。当然,其它应用和服务可以分别体现在它们各自的应用逻辑组件150中。
如图1中所示,社交消息传递系统130可以包括面部建模系统160的至少一部分,面部建模系统160能够在客户端装置110采集视频数据期间识别、跟踪以及修改视频数据。类似地,如上所述,客户端装置110包括面部建模系统160的一部分。在其它示例中,客户端装置110可以包括整个面部建模系统160。在客户端装置110包括面部建模系统160的一部分(或全部)的情况下,客户端装置110可以单独工作或与社交消息传递系统130协作工作,以提供在此描述的面部建模系统160的功能。
在一些实施例中,社交消息传递系统130可以是短时消息系统,短时消息系统允许短时通信,其中在诸如查看时间或查看完成的删除触发事件之后删除内容(例如,视频剪辑或图像)。在这种实施例中,装置在生成、发送、接收或显示短时消息的各方面的任何情况下使用在此描述的各种组件。例如,实现面部建模系统160的装置可以识别、跟踪以及修改关注对象,诸如表示视频剪辑中描绘的面部上的皮肤的像素。装置可以在采集视频剪辑期间修改关注对象作为生成短时消息的内容的一部分,而无需在采集视频剪辑之后进行图像处理。
在图2中,在各种实施例中,面部建模系统160可以实现为独立系统或者结合客户端装置110实现,并且不必须包括在社交消息传递系统130中。面部建模系统160被示出为包括访问组件210、识别组件220、面部处理组件230、描述组件240、建模组件250、概率组件260、分配组件270以及映射组件280。组件210-280中的全部或一些例如经由网络耦合、共享存储器等彼此通信。组件210-280中的每个组件可以实现为单个组件,组合到其它组件中,或者进一步细分为多个组件。与示例实施例无关的其它组件也可被包括,但未被示出。
访问组件210访问或以其它方式取得由图像采集装置采集的或以其它方式由客户端装置110接收或存储在客户端装置110中的图像。在一些情况下,访问组件210可以包括图像采集组件的部分或全部,图像采集组件被配置为使客户端装置110的图像采集装置基于用户与客户端装置110的显示装置上呈现的用户界面的交互来采集图像。访问组件210可以将图像或图像的一部分传递到面部建模系统160的一个或多个其它组件。
识别组件220识别从访问组件210接收的图像或一组图像内的面部或其它关注区域。在一些实施例中,识别组件220横跨一组图像(例如,视频流)的多个图像跟踪所识别的面部或关注区域。识别组件220可以将表示面部或关注区域的值(例如图像或图像的一部分内的坐标)传递到面部建模系统160的一个或多个组件。
面部处理组件230识别在由识别组件220识别的面部上或关注区域内描绘的面部特征或面部界标。在一些实施例中,面部处理组件230除了识别在面部上或在关注区域内描绘的面部界标外,还识别期望存在但丢失的面部界标。面部处理组件230可以基于面部界标确定面部的取向,并且可以识别面部界标之间的一个或多个关系。面部处理组件230可以将表示面部界标的值传递到面部建模系统160的一个或多个组件。
描述组件240生成描述符函数。在一些情况下,采用一组对象函数生成描述符函数。对象函数可以对应于各个面部特征。在一些实施例中,对象函数对应于特征的提取和所提取的特征的分类。描述符函数可以在训练过程期间生成,并且可以在实验使用期间或在客户端装置上的应用内部署期间由描述组件240访问。
建模组件250拟合描述符函数的每个对象函数。建模组件250可以使用随机梯度下降来拟合对象函数,如下所述。在一些实施例中,建模组件250同时修改每个对象函数的参数。建模组件250可以相对于正则化函数或通过修改正则化函数的参数来修改对象函数的参数。建模组件250可基于与描述符函数或对象函数的浮动输出相比较的期望值在拟合过程期间确定正则化函数。
概率组件260识别每个面部特征的识别概率。响应于使用描述符函数处理图像,可由描述符函数提供识别概率。在一些情况下,识别概率是识别面部特征对应于指定特性的概率的值。概率组件260可以识别与识别概率相关联的数值,并将数值提供给分配组件270。
分配组件270向每个面部特征分配关于针对面部特征识别的识别概率的标识。分配组件270可以基于标识级别(例如,诸如男性/女性的广泛标识)对所有特征分配标识。在一些实施例中,分配组件270生成指示将标识分配给一个或多个面部特征的通知。
映射组件280将从客户端装置接收的面部映射到参考面部。映射组件280可使用面部的面部特征或界标以及参考面部的参考面部界标来映射面部和参考面部。在一些实施例中,映射组件280可以修改面部的图像以执行映射,而不引入对面部的歪斜或其它比率改变修改。在一些情况下,映射组件280通过优先化一个或多个面部界标的对准或通过对准最大数量的面部界标来执行映射。
图3描绘了示出用于从一组图像(例如,视频流)建模和识别面部的各方面的示例方法300的流程图。方法300的操作可以由面部建模系统160的组件执行,并且为了说明的目的在下面进行描述。
在操作310中,访问组件210接收或以其它方式访问描绘面部的至少一部分的一个或多个图像。在一些实施例中,访问组件210接收一个或多个图像,如由与客户端装置110相关联的图像采集装置采集的视频流的帧。在一些情况下,视频流呈现在面部建模应用的用户界面上。访问组件210可以包括图像采集装置,作为包括访问组件210的硬件的一部分。在这些实施例中,访问组件210直接接收由图像采集装置采集的一个或多个图像或视频流。在一些情况下,访问组件210将一个或多个图像或视频流(例如,包括视频流的一组图像)的全部或一部分传递到面部建模系统160的一个或多个组件,如下面更详细所述。
在操作320中,识别组件220检测在一个或多个图像内描绘的面部的部分。在一些实施例中,识别组件220包括一组面部跟踪操作,以识别一个或多个图像内的面部或面部的部分。识别组件220可以使用Viola-Jones对象检测框架、本征面技术、用于面部检测的遗传算法、边缘检测方法或任何其它合适的对象类检测方法或一组操作来识别一个或多个图像内的面部或面部的部分。在一个或多个图像是多个图像(例如视频流中的一组图像)的情况下,在识别初始图像中的面部或面部的部分之后,识别组件220的面部跟踪操作可以识别横跨多个图像中的多个图像的面部的位置的变化,从而跟踪多个图像内的面部的移动。尽管描述了特定技术,但应理解,在不脱离本公开的范围的情况下,识别组件220可使用任何合适的技术或一组操作来识别一个或多个图像内的面部或面部的部分。
在操作330中,面部处理组件230识别在一个或多个图像内描绘的面部的部分内的一组面部特征。面部特征可以对应于由面部建模系统160识别的一个或多个面部界标。面部特征可以响应于检测一个或多个面部中的面部来识别。在一些实施例中,面部处理组件230在一个或多个图像的子集中识别面部的部分内的一组面部特征。例如,面部处理组件230可以识别多个图像中的一组图像(例如,第一组图像)中的一组面部特征,其中面部的部分或面部界标出现在该组图像中但不在多个图像中的剩余图像(例如,第二组图像)中。在一些实施例中,可以使用结合以上描述的检测操作的面部跟踪操作来执行对面部特征或面部界标的标识,作为面部或面部的部分的标识的子操作或一部分。
在操作340中,描述组件240生成描述符函数。描述符函数可以基于关于操作330描述的所识别的一组面部特征来生成。在一些示例实施例中,描述符函数表示该组面部特征并且包括一组对象函数。每个对象函数表示面部特征、识别特性、一组识别特性、分类特性、类别、或者能够识别、表征或分类面部的任何其它合适的方面。描述符函数和一组对象函数可以将神经网络模型表示为深度神经网络结构。神经网络结构可以包括不同数量的层(例如,对象函数)。层(例如,对象函数)的数量和类型可以基于要针对面部解释或以其它方式识别的信息的数量和类型而变化。在一些实施例中,层包括一个或多个卷积层、一个或多个池化层,以及一个或多个完全连接层。
在操作350中,建模组件250拟合一组对象函数中的每个对象函数。在一些实施例中,对象函数响应于生成描述符函数而被拟合。对象函数可以同时以及相对于彼此来拟合,使得对一组对象函数中的一个对象函数的修改引起另一对象函数的响应修改。例如,在第一对象函数识别一个或多个图像中的面部的种族的情况下,第二对象函数识别面部的性别,并且第三对象函数识别面部的年龄,第一、第二和第三对象函数可以相互建立或彼此通知。识别种族的第一对象函数可以对应于在面部上识别的特征的指定预定参数。例如,识别一个或多个种族的第一对象函数可以识别与和某些年龄相关联的皱纹模式或者和面部的性别相关联的二态性特性相关联的一组低级曲率或其它视觉表示。在一些情况下,建模组件250以级联方式拟合对象函数,其中每个拟合对象函数引起对描述符函数内的一个或多个后续对象函数的参数的修改。
在一些实施例中,对象函数对应于面部中的低级模式或曲率,而不具体地对应于特定特征或识别面部的特性。在这些情况下,建模组件250可以同时拟合每个对象函数,使得确定每个对象函数的拟合生成针对预定的一组特征或者识别特性的一组概率,作为描述符函数的输出。
在操作360中,概率组件260识别每个面部特征的识别概率。识别概率可以是识别面部特征对应于指定特性的概率的值。在一些实施例中,对象函数对应于面部特征的一个或多个识别概率。在一些实施例中,识别概率是有界概率,使得识别概率被包含在期望的最大和最小边界内。在这些最大和最小边界内,可存在两个或更多个特征值对应于所识别的特征、特性、人口统计或面部的其它识别方面。例如,特征值可对应于年龄范围、一个或多个种族、一个或多个生物性别,或面部的任何其它合适的识别方面。在识别概率被界定在两个特征值(诸如对应于男性和女性的值)之间的情况下,概率组件260可以识别落在与男性相关联的第一数值和与女性相关联的第二数值处或两者之间的数值。识别概率值与第一数值或第二数值中的一个值的接近度分别指示面部特征与男性或女性对应的概率。
在操作370中,分配组件270基于针对每个面部特征识别的识别概率向每个面部特征分配标识。在一些实施例中,分配组件270将标识分配给已经识别出识别概率的所有面部特征。例如,在确定面部是男性性别的面部的情况下,分配组件270可以将在面部上识别的每个面部特征分配给男性。当分配组件270将诸如性别的标识分配给一组训练数据中的面部特征并且所分配的标识是正确的时,与这些面部特征相关联的低级曲率或其它视觉表示被识别为对应于所分配的性别,并且可以用于在后续数据集中通知性别的概率计算。
在分配组件270将标识分配给一组实验或用户提供的数据中的面部特征的情况下,分配组件270可生成标识的通知并且使得在客户端装置的显示装置上呈现通知。例如,在客户端装置的用户导致采集或访问用户的面部的图像的情况下,面部建模系统160(包括分配组件270)可以确定关于用户的识别信息,诸如年龄范围、种族身份、性别标识和其它识别数据。分配组件270可以生成图形界面元素,诸如用户的年龄、种族、性别和其它识别信息中的一个或多个的表格、列表或其它图形表示。在一些情况下,分配组件270包括与通知中提供的每个识别信息元素相关联的面部特征的指示。分配组件270还可以包括每个面部特征的概率值,以指示每个面部特征对识别信息的确定和分配的影响。
在一些实施例中,通知以自动生成的头像的形式提供。建模组件250结合分配组件270可以识别在建模的面部特征的图库内用户提供的面部的面部特征,并生成由用户提供的面部的图形表示。面部的图形表示可以是卡通或其它艺术表示、动画或任何其它合适的头像。可以基于所建模的面部特征与用户提供的面部的面部特征的确定的相似性,在头像上选择和呈现建模的面部特征。在一些情况下,建模的面部特征包括元数据。元数据可以包括识别概率、特征值和识别信息(例如,与建模的面部特征匹配的人口统计信息)中的一个或多个。在一些情况下,建模组件250和分配组件270可以使用元数据来通过将元数据与由概率组件260和分配组件270确定的识别概率或分配的标识相应地匹配来选择建模的面部特征。
图4示出了示出用于从一组图像建模和识别面部的各方面的示例方法400的流程图。方法400的操作可以由面部建模系统160的组件执行。在一些情况下,方法400的某些操作可以使用方法300的一个或多个操作来执行,或者作为方法300的一个或多个操作的子操作来执行,如下面将更详细解释的。
在操作410中,访问组件210从面部参考数据库访问参考图像。参考图像具有一组参考面部界标。在一些实施例中,操作410响应于操作310来执行或作为操作310的子操作来执行。参考图像可被表示为视频流或图像的帧内的面部大小、位置和取向的标准化。在一些情况下,参考图像包括参考面部或规范化面部。参考面部可以包括用于生成面部建模系统160的训练模型的面部的平均。在一些实施例中,参考图像是表示从多个面部生成的标准化面部的合成面部。
在操作420中,映射组件280将面部和一组面部特征映射到参考图像。映射组件280可以将在操作310的图像中接收的面部映射到参考图像的参考面部。在一些实施例中,映射组件280通过将在操作330中识别的面部特征或面部界标与参考面部的参考面部界标对准或基本上对准来将面部映射到参考面部。映射组件280可以修改面部的大小、取向和位置以将面部的面部界标映射到参考面部界标。在一些情况下,映射组件280修改大小、取向和位置,而不修改长宽比或将歪斜或其它畸形引入面部。
一旦映射组件280修改面部的大小、取向和位置以接近参考面部,映射组件280可以将面部的一个或多个面部界标与参考面部界标对准。在面部界标没有精确地对准参考面部界标的情况下,映射组件280可以定位面部界标接近参考面部界标。映射组件280可以通过定位面部来对准面部和参考面部,使得最大数量的面部界标与参考面部界标重叠。映射组件280还可以通过将面部界标定位为与已被识别(例如,先前确定)具有高于预定重要性阈值的重要性值的参考面部界标重叠来对准面部和参考面部。
图5描绘了示出用于从一组图像建模和识别面部的各方面的示例方法500的流程图。方法500的操作可以由面部建模系统160的组件执行。在一些情况下,在一个或多个所描述的实施例中,方法500的某些操作可以使用方法300或400的一个或多个操作来执行,或者作为方法300或400的一个或多个操作的子操作来执行,如下面将更详细解释的。
在操作510中,建模组件250通过随机梯度下降更新(stochastic gradientdescent updating)来修改描述符函数内的一个或多个对象函数来拟合描述符函数的每个对象函数。在一些实施例中,随机梯度下降算法优化(例如,尝试识别理论最优值)对象函数。采用随机梯度的建模组件250可以执行梯度更新从而以协作方式拟合函数。操作510可以响应于以上描述的操作350来执行或者作为操作350的子操作或部分来执行。
在一些实施例中,随机梯度下降可以通过针对一个或多个对象函数或描述符函数生成浮动输出来执行。建模组件250识别在浮动输出内生成的至少一个识别概率。对于每个识别概率,建模组件250确定期望特征值和识别概率值之间的残差(residue)。例如,在识别概率值为0.7并且期望特征值为1.0(指示男性)的情况下,残差为0.3。建模组件250可传播残差(例如,识别值和期望值之间的损失)。建模组件250可修改一个或多个对象函数或与对象函数相关联的参数,以生成识别概率为1.0或比最初提供的值0.7更接近1.0。在没有单个基础事实或期望和肯定识别的值的情况下,建模组件250可以基于一个或多个训练图像或参考图像确定期望值。
在操作520中,建模组件250选择第一对象函数作为正则化函数。在一些情况下,第一对象函数自然地用作正则化函数。自然正则化函数可以与具有可验证的基础事实或期望值的识别概率相关联。例如,正则化函数可以是性别,其中性别是已知的,并且因此随机梯度下降的期望值是已知的。建模组件250可以基于识别概率的已知和期望值的存在来选择第一对象。在两个或更多个对象函数与识别概率的已知和期望值相关联的情况下,建模组件250可以选择与识别概率相关联的对象函数,该对象函数提供更接近期望值的浮动输出作为正则化函数。
在操作530中,建模组件250相对于正则化函数修改多个对象函数的一个或多个剩余的对象函数。在一些实施例中,建模组件250通过修改与每个函数相关联的参数来修改多个对象函数。建模组件250可以迭代地修改所有对象函数(包括正则化函数)的参数,直到正则化函数提供与期望值匹配或者在期望值的预定误差阈值内的识别概率的浮动输出的值。
图6示出了示出用于从一组图像建模和识别面部的各方面的示例方法600的流程图。方法600的操作可以由面部建模系统160的组件执行。在一些情况下,方法600的某些操作可以使用方法300、400或500的一个或多个操作来执行,或者作为方法300、400或500的一个或多个操作的子操作来执行,如下面将更详细解释的。
在操作610中,建模组件250将一个或多个图像分为一组像素区域。在这些实施例中,一组对象函数可以包括不同类型的函数作为描述符函数的一部分。在一些情况下,第一指定函数是描述一组面部特征的至少一个面部特征的卷积层。一个或多个图像可以表示为由一组像素区域组成的二维矩阵。
在一些示例实施例中,卷积层可以单独地或与另一层组合地用作特征描述符。特征描述符识别面部上的独特方面或方面的组合,以根据参考面部的至少一部分来辨别面部。在一些情况下,卷积层(例如,一组对象函数)可以使用一组矩阵来表示。卷积层可以表示为下面关于等式1描述的等式。
如等式1中所示,两个矩阵A和B可以采用MAxNA和MBxNB呈现。矩阵C可以根据以上等式1计算。此外,在等式1中,x∈[0,Ma+Mb-1)以及y∈[0,Na+Nb-1)。
在操作620中,建模组件250在一组像素区域上执行第一指定函数(例如,卷积层)。在一些实施例中,建模组件250在一组像素区域的每个像素区域上执行指定函数。卷积层可以作为过滤器操作。建模组件250可使用过滤器处理图像或每个像素区域中的每个像素。在一些实施例中,可以根据图像的尺寸或测量来确定过滤器的大小。过滤器可以针对每个位置提供单个响应。处理每个像素或每个像素区域可以通过以下来执行:识别像素或像素区域的一个或多个值,提取根据过滤器确定大小的像素或像素区域周围的区域,以及基于提取的区域的值生成针对像素或像素区域的单个输出。所提取的区域可以通过像素区域大小或图像大小中的一个或多个来确定。例如,在像素区域是单个像素的情况下,过滤器大小可以是像素区域的倍数,诸如2倍。在该示例中,对于每个像素,提取的区域可以是围绕被过滤的像素的二像素乘二像素矩阵。
在操作630中,建模组件250生成表示像素区域内的视觉特征的存在的值。在一些实施例中,建模组件250生成针对一组像素区域中的每个像素区域的值。建模组件250可以响应于在每个像素区域上执行第一指定函数而生成像素区域的值。像素区域的值可以表示视觉特征的存在,其中像素区域的确定值超过预定阈值。
在操作640中,建模组件250生成结果矩阵,该结果矩阵包括表示像素区域内的视觉特征的存在的值。结果矩阵可以是在由第一函数处理之后的图像的表示。例如,可以将图像分为像素区域,并且由第一对象函数处理得到的每个像素区域的值可以是结果矩阵中的像素区域的值。
图7示出了示出用于从一组图像建模和识别面部的各方面的示例方法700的流程图。方法700的操作可以由面部建模系统160的组件执行。在一些情况下,方法700的某些操作可以使用方法300、400、500或600的一个或多个操作来执行,或者作为方法300、400、500或600的一个或多个操作的子操作来执行,如下面将更详细解释的。
在操作710中,建模组件250识别每个像素区域的一个或多个子区域的最大值。在一些实施例中,操作710可以响应于如在操作610中一个或多个建模组件250将一个或多个图像分为一组像素区域,以及如在操作640中生成结果矩阵来执行。在建模组件250已生成结果矩阵的情况下,建模组件250可以通过执行第二指定函数来识别每个像素区域的子区域的最大值。第二指定函数可以是池化层,该池化层被配置为缩小结果矩阵的大小。在一些实施例中,池化层单独或与其它层组合用作特征描述符。池化层可以缩小另一层(例如,卷积层)的输出的大小。在一些实施例中,池化层包括最大池化层和平均池化层。例如,初始池化层可以在元素矩阵中包含4乘4的元素。在池化层应用最大池化层函数的情况下,池化层生成子集矩阵。例如,池化层可以通过生成2乘2矩阵来缩小4乘4的元素矩阵。在一些实施例中,池化层输出针对4乘4矩阵(例如,四组元素)内的每组元素的代表值。
在操作720中,建模组件250选择每个子区域的最大值作为在结果矩阵中包括该子区域的像素区域的表示。例如,像素区域可以被分为结果矩阵的四个独立元素,每个元素具有不同的值。建模组件250选择像素区域内的元素的值,该值大于四个独立元素的剩余的值。
在操作730中,建模组件250生成包括每个像素区域的最大值的池化矩阵。池化矩阵可以表示结果矩阵的大小的缩小。例如,在结果矩阵包括每个像素区域的二元素乘二元素的集合并且结果矩阵包括四个总像素区域的情况下,池化矩阵可以是二乘二元素矩阵,从而减小了结果矩阵的整体大小。
图8示出了示出用于从一组图像建模和识别面部的各方面的示例方法800的流程图。方法800的操作可以由面部建模系统160的组件执行。在一些情况下,方法800的某些操作可以使用方法300、400、500、600或700的一个或多个操作来执行,或者作为方法300、400、500、600或700的一个或多个操作的子操作来执行,如下面将更详细解释的。
在操作810中,建模组件250生成池化矩阵和层参数的内积。内积可以由完全连接层生成。完全连接层可以表示层中的每个节点连接到来自先前层的所有节点。例如,完全连接层内的指定区域或元素可以包括池化矩阵和层参数之间的连接。在一些实施例中,完全连接层的输出可以是先前层的输出的内积。
在一些实施例中,完全连接层可以作为分类器操作,以概括来自大量图像集合的共同模式。例如,当给出男性和女性的标签和图像时,可以训练完全连接层,修改描述符函数的每个对象函数的参数值,以在使用描述符函数处理图像时正确地识别标签。在这些情况下,卷积层和池化层可以识别以及提取面部特征并提供特征向量。完全连接层可以根据一个或多个生成的识别概率对图像进行分类。
在操作820中,建模组件250基于内积、池化矩阵和结果矩阵生成识别概率。在一些实施例中,识别概率是在第一值和第二值之间界定的概率值。第一值和第二值可以表示由概率值表示的二元选项。识别概率值可以落在第一值和第二值之间,可以指示面部的特征或方面对应于由第一值表示的第一特征或由第二值表示的第二特征的可能性。在一些情况下,第一值和第二值可以表示边界值,其中一个或多个附加值定位于第一值和第二值之间。在这些情况下,落在第一值和第二值之间的识别概率值可以表示面部的特征或方面对应于由包括第一值、一个或多个附加值和第二值的组合中的一个值表示的特性的可能性。
在一些情况下,面部建模系统160识别对应于第一值和第二值的性别特征。在一些实施例中,建模组件250执行操作822,识别第一值和第二值之间的性别阈值。性别阈值可以与第一值和第二值等距地定位。在一些情况下,基于上面关于方法500描述的描述符函数和对象函数的修改,可以将性别阈值定位为更接近第一值或第二值中的一个值。
在操作824中,建模组件250单独或与分配组件270组合,基于识别概率值朝向第一值或第二值中的一个值超过性别阈值来选择针对面部的性别。一旦建模组件250或分配组件270选择性别,分配组件270可以生成关于上述操作370描述的通知。
模块、组件和逻辑
在此将某些实施例描述为包括逻辑或多个组件、模块或机制。组件可以构成硬件组件。“硬件组件”是能够执行某些操作的有形单元,并且可以以某种物理方式配置或布置。在各种示例实施例中,计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的硬件组件(例如,至少一个硬件处理器、处理器或一组处理器)由软件(例如,应用或应用部分)配置为用于执行如在此所述的某些操作的硬件组件。
在一些实施例中,硬件组件以机械、电子或其任何合适的组合实现。例如,硬件组件可以包括永久配置为执行某些操作的专用电路或逻辑。例如,硬件组件可以是专用处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件组件还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路。例如,硬件组件可以包括包含在通用处理器或其它可编程处理器内的软件。可以理解,可以通过成本和时间考虑来驱动机械地在专用和永久配置的电路中或在临时配置的电路(例如,由软件配置)中实现硬件组件的决定。
因此,短语“硬件组件”应该被理解为包含有形实体,是物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)从而以某个方式操作或执行在此所述的某些操作的实体。如在此所使用的,“硬件实现的组件”指的是硬件组件。考虑其中临时配置(例如,编程)硬件组件的实施例,不需要在任何一个时刻配置或实例化硬件组件中的每一个硬件组件。例如,在硬件组件包括由软件配置成为专用处理器的通用处理器的情况下,通用处理器可以在不同时间被配置为相应不同的专用处理器(例如,包括不同的硬件组件)。因此,软件可以配置特定的一个或多个处理器,例如,在一个时刻构成特定的硬件组件,并在不同的时刻构成不同的硬件组件。
硬件组件可以向其它硬件组件提供信息并从其接收信息。因此,所描述的硬件组件可以被视为通信地耦接。在同时存在多个硬件组件的情况下,可以通过在两个或更多个硬件组件之间或之中的信号传输(例如,通过适当的电路和总线)来实现通信。在其中在不同时间配置或实例化多个硬件组件的实施例中,可以例如通过存储和取得多个硬件组件可访问的存储器结构中的信息来实现这些硬件组件之间的通信。例如,一个硬件组件执行操作并将该操作的输出存储在与其通信耦接的存储器装置中。然后,另一硬件组件可以稍后访问存储器装置以取得和处理存储的输出。硬件组件还可以发起与输入或输出装置的通信,并且可以在资源(例如,信息集合)上操作。
在此描述的示例方法的各种操作可以至少部分地由临时配置(例如,通过软件)或永久配置为执行相关操作的处理器来执行。无论是临时配置还是永久配置,这种处理器构成处理器实现的组件,该组件操作以执行在此所述的操作或功能。如在此所使用的,“处理器实现的组件”指的是使用处理器实现的硬件组件。
类似地,在此描述的方法可以至少部分地由处理器实现,其中特定的一个处理器或多个处理器是硬件的示例。例如,方法的操作中的至少一些操作可以由处理器或处理器实现的组件执行。此外,处理器还可以操作以支持“云计算”环境中的相关操作的性能或作为“软件即服务”(SaaS)。例如,操作中的至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,这些操作可以经由网络(例如,因特网)和经由适当的接口(例如,应用程序接口(API))来访问。
某些操作的性能可在处理器之间分配,不仅驻留在单个机器内,还横跨多个机器部署。在一些示例实施例中,处理器或处理器实现的组件位于单个地理位置中(例如,在家庭环境、办公室环境或服务器群内)。在其它示例实施例中,处理器或处理器实现的组件横跨多个地理位置分布。
应用
图9示出与一些实施例一致的执行移动操作系统(例如,IOSTM、ANDROIDTMPhone或其它移动操作系统)的示例移动装置900。在一个实施例中,移动装置900包括可操作来从用户902接收触知数据的触摸屏。例如,用户902可物理地触摸904移动装置900,并且响应于触摸904,移动装置900可以确定触知数据,诸如触摸位置、触摸力或手势动作。在各种示例实施例中,移动装置900显示主屏幕906(例如,IOSTM上的Springboard),其可操作以启动应用或以其它方式管理移动装置900的各个方面。在一些示例实施例中,主屏幕906提供诸如电池寿命、连接性或其它硬件状态的状态信息。用户902可以通过触摸由相应的用户界面元素占据的区域来激活用户界面元素。以该方式,用户902与移动装置900的应用交互。例如,触摸主屏幕906中包括的特定图标占据的区域导致启动与特定图标对应的应用。
如图9中所示,移动装置900可以包括成像装置908。成像装置908可以是相机或耦接到能够采集视频流或一个或多个连续图像的移动装置900的任何其它装置。成像装置908可以由面部建模系统160或可选择的用户界面元素来触发,以启动对视频流或图像的连续体的采集,并将视频流或图像的连续体传递给面部建模系统160以根据在本公开中描述的一个或多个方法来处理。
可以在移动装置900上执行许多种类的应用(也称为“应用软件”),诸如本机应用(例如,在Objective-C、Swift中编程的应用,或在IOSTM上运行的另一适当语言,或在ANDROIDTM上运行的Java中编程的应用)、移动web应用(例如,以超文本标记语言-5(HTML5)编写的应用)或混合应用(例如启动HTML5会话的本机壳应用)。例如,移动装置900包括消息传递应用软件、音频录制应用软件、相机应用软件、书籍阅读器应用软件、媒体应用软件、健身应用软件、文件管理应用软件、位置应用软件、浏览器应用软件、设置应用软件、联系人应用软件、电话呼叫应用软件或其它应用软件(例如,游戏应用软件、社交网络应用软件、生物度量监视应用软件)。在另一示例中,移动装置900包括诸如的社交消息传送应用软件910,其与一些实施例一致,允许用户交换包括媒体内容的短时消息。在该示例中,社交消息传送应用软件910可以合并在此描述的实施例的各方面。例如,在一些实施例中,社交消息传递应用910包括由用户社交消息传递应用910创建的短时的媒体图库。这些图库可以包括用户张贴并且可由用户的联系人(例如,“朋友”)查看的视频或图片。可替代地,公共图库可由社交消息传递应用910的管理员创建,该应用包括来自应用的任何用户(并且可由所有用户访问)的媒体。在又一个实施例中,社交消息传递应用910可以包括“杂志”特征,其包括发布者在社交消息传递应用的平台上生成并可由任何用户访问的文章和其它内容。这些环境或平台中的任何一个都可以用来实现本公开的实施例的概念。
在一些实施例中,短时消息传送系统可以包括具有短时视频剪辑或图像的消息,该短时视频剪辑或图像在诸如观看时间或观看完成的删除触发事件之后被删除。在这种实施例中,当短时视频剪辑被装置900采集时,实现面部建模系统160的装置可以在短时视频剪辑内识别、跟踪、提取并生成面部表示,以及使用短时消息系统将短时视频剪辑发送到另一装置。
软件架构
图10是示出可以安装在上述装置上的软件1002的架构的框图1000。图10仅仅是软件架构的非限制性示例,并且将理解可以实现许多其它架构来促进在此所述的功能。在各种实施例中,软件1002由诸如图11的机器1100的硬件来实现,机器1100包括处理器1110、存储器1130和I/O组件1150。在该示例架构中,软件1002可以被概念化为层的堆栈,其中每一个层可以提供特定的功能。例如,软件1002包括诸如操作系统1004、库1006、框架1008和应用1010的层。操作上,与一些实施例一致,应用1010通过软件堆栈调用应用程序编程接口(API)调用1012,并响应于API调用1012接收消息1014。
在各种实施方式中,操作系统1004管理硬件资源并提供公共服务。操作系统1004包括例如内核1020、服务1022和驱动器1024。与一些实施例一致,内核1020作为硬件与其它软件层之间的抽象层。例如,内核1020提供了存储器管理、处理器管理(例如调度)、组件管理、网络连接和安全设置等功能。服务1022可以为其它软件层提供其它公共服务。根据一些实施例,驱动器1024负责控制底层硬件或与底层硬件接口连接。例如,驱动器1024可以包括显示器驱动器、相机驱动器、驱动器、闪存驱动器、串行通信驱动器(例如通用串行总线(USB)驱动器)、/>驱动器、音频驱动器、电源管理驱动器等。
在一些实施例中,库1006提供由应用1010利用的低级通用基础设施。库1006可以包括系统库1030(例如,C标准库),其可以提供诸如存储器分配函数、字符串操作函数、数学函数等的函数。此外,库1006可以包括API库1032,诸如媒体库(例如,支持各种媒体格式(诸如运动图像专家组-4(MPEG4)、高级视频编码(H.264或AVC)、运动图像专家组-3(MP3)、高级音频编码(AAC)、自适应多速率(AMR)音频编解码器、联合图像专家组(JPEG或JPG)或便携式网络图形(PNG))的呈现和操纵的库)、图形库(例如,用于在显示器上的图形内容中呈现二维(2D)和三维(3D)的OpenGL框架)、数据库库(例如,提供各种关系数据库功能的SQLite)、web库(例如,提供网页浏览功能的WebKit)等。库1006同样可以包括各种各样的其它库1034,以向应用1010提供许多其它API。
根据一些实施例,框架1008提供可由应用1010利用的高级公共架构。例如,框架1008提供各种图形用户界面(GUI)功能、高级别资源管理、高级位置节点等。框架1008可以提供可由应用1010利用的其它广泛范围的API,其中的一些可以特定于特定操作系统或平台。
在示例实施例中,应用1010包括主页应用1050、联系人应用1052、浏览器应用1054、书籍阅读器应用1056、位置应用1058、媒体应用1060、消息传递应用1062、游戏应用1064以及诸如第三方应用1066的其它广泛分类的应用。根据一些实施例,应用1010是执行程序中定义的功能的程序。可以利用各种编程语言来创建以各种方式构造的应用1010,诸如面向对象的编程语言(例如,Objective-C、Java或C++)或过程编程语言(例如,C或汇编语言)。在具体示例中,第三方应用1066(例如,由特定平台的供应商之外的实体使用ANDROIDTM或IOSTM软件开发工具包(SDK)开发的应用)可以是在移动操作系统(诸如IOSTM、ANDROIDTMPHONE或其它移动操作系统)上运行的移动软件。在该示例中,第三方应用1066可以调用由操作系统1004提供的API调用1012以便于执行在此描述的功能。
示例机器架构和机器可读介质
图11是示出根据一些实施例能够从机器可读存储介质(例如,机器可读存储介质)读取指令(例如处理器可执行指令)并执行在此讨论的任何方法的机器1100的组件的框图。具体地,图11示出了以计算机系统的示例形式的机器1100的示意图,在该计算机系统内可以执行用于使机器1100执行在此讨论的任何方法的指令1116(例如,软件、程序、应用、小程序、应用程序或其它可执行代码)。在替代实施例中,机器1100作为独立装置操作或者可以耦接(例如,网络连接)到其它机器。在联网部署中,机器1100可以以服务器-客户端网络环境中的服务器机器或客户端机器的能力操作,或者作为对等(或分布式)网络环境中的对等机器。机器1100可以包括但不限于服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能手机、移动装置、可穿戴装置(例如,智能手表)、智能家居装置(例如,智能家电)、其它智能装置、网络装置、网络路由器、网络交换机、网络桥接器、或者连续或以其它方式指定机器1100将采取的动作的能够执行指令1116的任何机器。此外,虽然只示出单个机器1100,但是术语“机器”同样可被认为包括单独或联合执行指令1116以执行在此所讨论的任何方法的机器1100的集合。
在各种实施例中,机器1100包括处理器1110、存储器1130以及可被配置成经由总线1102彼此通信的I/O组件1150。在示例实施例中,处理器1110(例如,中央处理单元(CPU)、简化指令集计算(RISC)处理器、复合指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、另一个处理器或其任何合适的组合)包括例如可以执行指令1116的处理器1112和处理器1114。术语“处理器”旨在包括多核处理器,该多核处理器可以包括可以同时执行指令1116的两个以上独立处理器(同样称为“核”)。尽管图11示出了多个处理器1110,但是机器1100可以包括单个具有单核的处理器、单个具有多核的处理器(例如,多核处理器)、多个具有单核的处理器、多个具有多核的处理器或其任何组合。
根据一些实施例,存储器1130包括主存储器1132、静态存储器1134和经由总线1102可被处理器1110访问的存储单元1136。存储单元1136可以包括机器可读存储介质1138,在该机器可读存储介质1138上存储了体现在此所述的任何方法或功能的指令1116。指令1116同样可以在由机器1100的其执行期间完全或至少部分地驻留在主存储器1132内、静态存储器1134内、处理器1110中的至少一个内(例如,在处理器的高速缓冲存储器内)或任何合适的组合。因此,在各种实施例中,主存储器1132、静态存储器1134和处理器1110被认为是机器可读介质1138。
如在此所使用的,术语“存储器”是指能够临时或永久地存储数据的机器可读存储介质1138,并且可以认为包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓存、闪存和高速缓存。虽然机器可读存储介质1138在示例实施例中被示出为单个介质,但术语“机器可读存储介质”应当被认为包括能够存储指令1116的单个介质或多个介质(例如,集中式或分布式数据库,或相关联的高速缓存和服务器)。术语“机器可读存储介质”同样可被视为包括能够存储指令(例如,指令1116)用于由机器(例如,机器1100)执行的任何介质或多个介质的组合,使得指令在由机器1100的处理器(例如,处理器1110)执行时使机器1100执行在此描述的任何方法。因此,“机器可读存储介质”是指单个存储设备或装置,以及包括多个存储设备或装置的“基于云”的存储系统或存储网络。因此,术语“机器可读存储介质”可被视为包括但不限于以固态存储器(例如,闪存)、光学介质、磁性介质、其它非易失性存储器(例如,可擦除可编程只读存储器(EPROM))或其任何合适的组合的形式的数据存储库。术语“机器可读存储介质”特别排除非法定信号本身。
I/O组件1150包括用于接收输入、提供输出、产生输出、发送信息、交换信息、采集测量等的各种各样的组件。通常,可理解的是I/O组件1150可以包括图11中未示出的许多其它组件。I/O组件1150根据功能被分组,仅用于简化以下讨论,并且分组决不是限制性的。在各种示例实施例中,I/O组件1150包括输出组件1152和输入组件1154。输出组件1152包括视觉组件(例如,显示器,诸如等离子体显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT))、听觉组件(例如扬声器)、触觉组件(例如振动电动机)、其它信号发生器等。输入组件1154包括字母数字输入组件(例如,键盘、配置为接收字母数字输入的触摸屏、光电键盘或其它字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其它指示仪器)、触知输入组件(例如,物理按钮、提供触摸或触摸手势的位置和力的触摸屏、或其它触知输入组件)、音频输入组件(例如,麦克风)等。
在一些另外的示例实施例中,I/O组件1150包括各种其它组件中的生物度量组件1156、运动组件1158、环境组件1160或位置组件1162。例如,生物度量组件1156包括检测表达(例如手部表达、面部表情、声音表达、身体姿势或嘴部姿势)、测量生物信号(例如,血压、心率、体温、汗水或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件1158包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如陀螺仪)等。环境组件1160包括例如照明传感器组件(例如,光度计)、温度传感器组件(例如,检测环境温度的温度计)、湿度传感器组件、压力传感器组件(例如气压计)、声学传感器组件(例如,检测背景噪声的麦克风)、接近度传感器组件(例如,检测附近物体的红外传感器)、气体传感器组件(例如,机器嗅觉检测传感器、用于为了安全而检测危险气体浓度或测量大气中的污染物的气体检测传感器)或可能提供与周围物理环境相对应的指示、测量或信号的其它组件。位置组件1162包括定位传感器组件(例如,全球定位系统(GPS)接收器组件)、高度传感器组件(例如,高度计或气压计,其可以检测可以从哪个高度导出的空气压力)、取向传感器组件(例如,磁力计)等。
通信可以使用各种各样的技术来实现。I/O组件1150可以包括通信组件1164,其可操作以分别经由耦接器1182和耦接器1172将机器1100耦接到网络1180或装置1170。例如,通信组件1164包括网络接口组件或与网络1180接口连接的另一合适装置。在另外的示例中,通信组件1164包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、组件(例如,低功耗/>)、/>组件和经由其它模式提供通信的其它通信组件。装置1170可以是另一机器或各种各样的外围装置(例如,经由通用串行总线(USB)耦接的外围装置)中的任何一个。
此外,在一些实施例中,通信组件1164检测标识符或包括可操作以检测标识符的组件。例如,通信组件1164包括射频识别(RFID)标签读取器组件、NFC智能标签检测组件、光学读取器组件(例如,光学传感器,其用于检测诸如通用产品代码(UPC)条形码的一维条形码、诸如快速响应(QR)代码、Aztec代码、数据矩阵、数字图形、最大码、PDF417、超码、统一商业代码缩减空格符号(UCC RSS)-2D条形码和其它光学代码的多维条形码)、声学检测组件(例如,用于识别标记的音频信号的麦克风)或其任何合适的组合。此外,可以经由可以指示特定位置的通信组件1164来导出各种信息,诸如经由因特网协议(IP)地理位置的位置、经由信号三角测量的位置、经由检测/>或NFC信标信号的位置等。
传输介质
在各种示例实施例中,网络1180的部分可以是自组织网络、内联网、外部网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因特网、因特网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、网络、另一种类型的网络,或两个以上此类网络的组合。例如,网络1180或网络1180的一部分可以包括无线或蜂窝网络,并且耦接1182可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或另一种类型的蜂窝或无线耦接。在该示例中,耦接1182可以实现各种类型的数据传输技术中的任何一种,诸如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线业务(GPRS)技术、GSM演进增强型数据速率(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动电信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准制定组织定义的其它标准、其它远程协议或其它数据传输技术。
在示例实施例中,经由网络接口装置(例如,在通信组件1164中包括的网络接口组件)使用传输介质通过网络1180发送或接收指令1116,并且利用多个公知的传输协议(例如,超文本传输协议(HTTP))中的任何一个。类似地,在其它示例实施例中,使用传输介质经由耦接1172(例如,对等耦接)向装置1170发送或接收指令1116。术语“传输介质”可被视为包括能够存储、编码或携带由机器1100执行的指令1116的任何无形介质,并且包括数字或模拟通信信号或其它无形介质以便于这种软件的通信实现。
此外,因为机器可读存储介质1138不体现传播信号,所以机器可读介质1138可以是非暂态的(换句话说,不具有任何短时信号)。然而,将机器可读存储介质1338标记为“非暂态”不应被解释为意味着介质不能移动。介质应该被认为是可从一个物理位置传送到另一物理位置。在一些实施例中,机器可读存储介质包括机器可读存储信号。另外,由于机器可读存储介质1138是有形的,因此介质可以被认为是机器可读装置。传输介质是机器可读介质的实施例。
以下编号的示例是实施例。
1.一种方法,包括:由一个或多个处理器接收描绘一个或多个面部的至少一部分的一个或多个图像;由一个或多个处理器检测一个或多个图像内描绘的一个或多个面部的一部分;响应于检测一个或多个面部的每个部分,识别在一个或多个图像内描绘的一个或多个面部的部分上描绘的一组面部特征;基于所识别的一组面部特征,生成表示该组面部特征的描述符函数,该描述符函数包括一组对象函数,并且每个对象函数表示该组面部特征的面部特征;响应于生成描述符函数,拟合该组对象函数中的每个对象函数;识别该组面部特征的每个面部特征的识别概率,该识别概率识别面部特征对应于一组特征特性中的指定特性的概率;以及基于针对每个面部特征识别的识别概率向每个面部特征分配标识。
2.根据示例1所述的方法,进一步包括由一个或多个处理器从面部参考数据库访问参考图像,该参考图像具有一组参考面部界标;并且响应于识别一个或多个面部中的每个面部的该组面部特征,将每个面部和每个面部的该组面部特征映射到参考图像。
3.根据示例1或2所述的方法,其中,参考图像是表示从多个面部生成的标准化面部的合成面部。
4.根据示例1-3中任一项或多项所述的方法,其中,针对描述符函数拟合一组对象函数中的每个对象函数进一步包括:使用随机梯度下降更新来修改描述符函数内的一个或多个对象函数。
5.根据示例1-4中任一项或多项所述的方法,其中,该组对象函数包括多个对象函数,并且修改一个或多个对象函数进一步包括选择第一对象函数作为正则化函数;并且相对于正则化函数修改多个对象函数的一个或多个剩余的对象函数。
6.根据示例1-5中任一项或多项所述的方法,其中,识别概率是在第一值和第二值之间界定的识别概率值,第一值表示男性,并且第二值表示女性,并且方法进一步包括识别第一值和第二值之间的性别阈值;以及基于识别概率值朝向第一值或第二值中的一个值超过性别阈值,来选择针对面部的性别。
7.根据示例1-6中任一项或多项所述的方法,其中,一组对象函数中的第一指定对象函数是描述一组面部特征中的至少一个面部特征的卷积层,并且方法进一步包括:将一个或多个图像分为一组像素区域;通过在每个像素区域上执行第一指定对象函数,针对一组像素区域中的每个像素区域执行卷积层;以及响应于在每个像素区域上执行卷积层,针对每个像素区域生成表示像素区域内的视觉特征的存在的值。
8.根据示例1-7中任一项或多项所述的方法,其中,一个或多个图像被表示为二维矩阵,并且方法进一步包括生成结果矩阵,该结果矩阵包括表示像素区域内的视觉特征的存在的值。
9.根据示例1-8中任一项或多项所述的方法,其中,一组对象函数中的第二指定对象函数是被配置为减小结果矩阵的大小的池化层,并且进一步包括:识别每个像素区域的一个或多个子区域的最大值;选择每个子区域的最大值作为在结果矩阵中包括该子区域的像素区域的表示;以及生成包括每个像素区域的最大值的池化矩阵。
10.根据示例1-9中任一项或多项所述的方法,其中,一组对象函数中的第三指定对象函数是表示结果矩阵与池化矩阵之间的连接的连接层,并且进一步包括:生成池化矩阵和层参数的内积;以及基于内积、池化矩阵和结果矩阵生成识别概率。
11.一种系统,包括:一个或多个处理器;以及处理器可读存储装置,其被耦接到一个或多个处理器并存储处理器可执行指令,该处理器可执行指令当由一个或多个处理器执行时使一个或多个处理器执行包括以下操作的操作:由一个或多个处理器接收描绘一个或多个面部的至少一部分的一个或多个图像;由一个或多个处理器检测一个或多个图像内描绘的一个或多个面部的部分;响应于检测一个或多个面部的每个部分,识别在一个或多个图像内描绘的一个或多个面部的部分上描绘的一组面部特征;基于所识别的一组面部特征,生成表示一组面部特征的描述符函数,该描述符函数包括一组对象函数,并且每个对象函数表示一组面部特征的面部特征;响应于生成描述符函数,拟合一组对象函数的每个对象函数;识别一组面部特征的每个面部特征的识别概率,识别概率识别面部特征对应于一组特征特性中的指定特性的概率;以及基于针对每个面部特征识别的识别概率向每个面部特征分配标识。
12.根据示例11所述的系统,其中,针对描述符函数拟合一组对象函数中的每个对象函数进一步包括:使用随机梯度下降更新来修改描述符函数内的一个或多个对象函数。
13.根据示例11或12所述的系统,其中,一组对象函数包括多个对象函数,并且修改一个或多个对象函数进一步包括:选择第一对象函数作为正则化函数;以及相对于正则化函数修改多个对象函数中的一个或多个剩余的对象函数。
14.根据示例11-13中任一项或多项所述的系统,其中,一组对象函数中的第一指定对象函数是描述一组面部特征的至少一个面部特征的卷积层,并且操作进一步包括:将一个或多个图像分为一组像素区域;通过在每个像素区域上执行第一指定对象函数,针对一组像素区域的每个像素区域执行卷积层;响应于在每个像素区域上执行卷积层,针对每个像素区域生成表示像素区域内的视觉特征的存在的值;以及基于被表示为二维矩阵的一个或多个图像,生成包括表示像素区域内的视觉特征的存在的值的结果矩阵。
15.根据示例11-14中任一项或多项所述的系统,其中,一组对象函数中的第二指定对象函数是被配置成减小结果矩阵的大小的池化层,并且操作进一步包括:识别每个像素区域的一个或多个子区域的最大值;选择每个子区域的最大值作为在结果矩阵中包括该子区域的像素区域的表示;以及生成包括每个像素区域的最大值的池化矩阵。
16.根据示例11-15中任一项或多项所述的系统,其中,一组对象函数中的第三指定对象函数是表示在结果矩阵与池化矩阵之间的连接的连接层,并且进一步包括:生成池化矩阵和层参数的内积;以及基于内积、池化矩阵和结果矩阵生成识别概率。
17.一种承载处理器可执行指令的机器可读存储介质,该处理器可执行指令当由机器的处理器执行时使机器执行包括以下操作的操作:由一个或多个处理器接收描绘一个或多个面部的至少一部分的一个或多个图像;由一个或多个处理器检测一个或多个图像内描绘的一个或多个面部的部分;响应于检测一个或多个面部的每个部分,识别在一个或多个图像内描绘的面部的部分上描绘的一组面部特征;基于所识别的一组面部特征,生成表示一组面部特征的描述符函数,该描述符函数包括一组对象函数,并且每个对象函数表示一组面部特征中的面部特征;响应于生成描述符函数,拟合一组对象函数中的每个对象函数;识别一组面部特征的每个面部特征的识别概率,识别概率识别面部特征对应于一组特征特性的指定特性的概率;以及基于针对每个面部特征识别的识别概率向每个面部特征分配标识。
18.根据示例17所述的机器可读存储介质,其中,一组对象函数过滤器中的第一指定对象函数是描述一组面部特征中的至少一个面部特征的卷积层,并且操作进一步包括:将一个或多个图像分为一组像素区域;通过在每个像素区域上执行第一指定对象函数,针对一组像素区域中的每个像素区域执行卷积层;响应于在每个像素区域上执行卷积层,针对每个像素区域生成表示像素区域内的视觉特征的存在的值;以及基于被表示为二维矩阵的一个或多个图像,生成包括表示像素区域内的视觉特征的存在的值的结果矩阵。
19.根据示例17或18所述的机器可读存储介质,其中,一组对象函数中的第二指定对象函数是被配置为减小结果矩阵的大小的池化层,并且操作进一步包括:识别每个像素区域的一个或多个子区域的最大值;选择每个子区域的最大值作为在结果矩阵中包括该子区域的像素区域的表示;以及生成包括每个像素区域的最大值的池化矩阵。
20.根据示例17-19中任一项或多项所述的机器可读存储介质,其中,一组对象函数中的第三指定对象函数是表示结果矩阵与池化矩阵之间的连接的连接层,并且操作进一步包括:生成池化矩阵和层参数的内积;以及基于内积、池化矩阵和结果矩阵生成识别概率。
21.一种承载指令的机器可读介质,该指令当由机器的一个或多个处理器执行时使机器执行根据示例1至10中任一项所述的方法。
语言
在整个说明书中,多个实例可以实现被描述为单个实例的组件、操作或结构。虽然将方法的单独操作示出和描述为单独的操作,但可以同时执行单独的操作,并且不需要以所示顺序执行操作。作为示例配置中的单独组件呈现的结构和功能可以被实现为组合的结构或组件。类似地,作为单个组件呈现的结构和功能可以被实现为分离的多个组件。这些和其它变化、修改、添加和改进落入本文主题的范围内。
虽然已经参考具体示例实施例描述了本发明主题的概述,但是在不脱离本公开的实施例的更广泛范围的情况下,可以对这些实施例进行各种修改和改变。本发明主题的此类实施例在此可以单独地或集体地由术语“发明”指代,这仅仅为了方便,如果事实上公开了多于一个则不旨在将本申请的范围限制于任何单个公开内容或发明构思。
在此示出的实施例足够详细地描述,以使本领域技术人员能够实践所公开的教导。可以使用和从中导出其它实施例,使得可以在不脱离本公开的范围的情况下进行结构和逻辑替换和改变。因此,具体实施方式不应被认为是限制性的,并且各种实施例的范围仅由所附权利要求以及这些权利要求所赋予的等同物的全部范围来限定。
如在此所使用的,术语“或”可以以包含或排除的方式来解释。此外,可以为在此所述的资源、操作或结构提供多个实例作为单个实例。此外,各种资源、操作、组件、引擎和数据存储之间的边界是一定程度上任意的,并且在特定说明性配置的上下文中示出了特定的操作。可以设想功能的其它分配,并且这些其它分配可以落入本公开的各种实施例的范围内。通常,作为示例配置中的分离的资源呈现的结构和功能可以被实现为组合的结构或资源。类似地,作为单个资源呈现的结构和功能可以被实现为分离的资源。这些和其它变化、修改、添加和改进落入由所附权利要求所表示的本公开的实施例的范围内。因此,说明书和附图被认为是说明性的而不是限制性的。

Claims (19)

1.一种用于面部建模的方法,包括:
由一个或多个处理器接收描绘一个或多个面部的至少一部分的一个或多个图像;
由所述一个或多个处理器检测所述一个或多个图像内描绘的所述一个或多个面部的部分;
响应于检测所述一个或多个面部的每个部分,识别在所述一个或多个图像内描绘的所述一个或多个面部的所述部分上描绘的一组面部特征;
基于所识别的一组面部特征,生成表示所述一组面部特征的描述符函数,所述描述符函数包括多个对象函数,并且每个对象函数表示所述一组面部特征中的面部特征,所述描述符函数和所述多个对象函数表示神经网络结构,所述神经网络结构的每个层表示对象函数;
响应于生成所述描述符函数,相对于彼此拟合所述多个对象函数中的所述对象函数中的每一者,其中拟合通过使用随机梯度下降更新来修改所述描述符函数内的所述对象函数中的一个或多个来执行,使得所述多个对象函数的一个对象函数的修改引起另一对象函数的响应修改;
识别所述一组面部特征的每个面部特征的识别概率,所述识别概率识别面部特征对应于一组特征特性中的指定特性的概率;
基于针对每个面部特征识别的所述识别概率向每个面部特征分配标识;
生成所述标识的通知;以及
引起所述通知在客户端设备上的显示设备的所述通知的呈现,所述通知以自动生成的头像的形式提供,所述头像为由用户提供的面部的图形表示。
2.根据权利要求1所述的方法,进一步包括:
由所述一个或多个处理器访问来自面部参考数据库的参考图像,所述参考图像具有一组参考面部界标;以及
响应于识别所述一个或多个面部中的每个面部的所述一组面部特征,将每个面部和每个面部的所述一组面部特征映射到所述参考图像。
3.根据权利要求2所述的方法,其中,所述参考图像是表示从多个面部生成的标准化面部的合成面部。
4.根据权利要求1所述的方法,其中,修改所述对象函数中的一个或多个进一步包括:
选择第一对象函数作为正则化函数;以及
相对于所述正则化函数修改所述多个对象函数中的一个或多个剩余的对象函数。
5.根据权利要求1所述的方法,其中,所述识别概率是在第一值和第二值之间界定的识别概率值,所述第一值表示男性,并且所述第二值表示女性,并且进一步包括:
识别所述第一值和所述第二值之间的性别阈值;以及
基于所述识别概率值超过所述性别阈值朝向所述第一值或所述第二值中的一者,来选择针对面部的性别。
6.根据权利要求1所述的方法,其中,所述多个对象函数中的第一指定对象函数是描述所述一组面部特征中的至少一个面部特征的卷积层,并且进一步包括:
将所述一个或多个图像分为一组像素区域;
通过在每个像素区域上执行所述第一指定对象函数,针对所述一组像素区域中的每个像素区域执行所述卷积层;以及
响应于在每个像素区域上执行所述卷积层,针对每个像素区域生成表示所述像素区域内的视觉特征的存在的值。
7.根据权利要求6所述的方法,其中,所述一个或多个图像被表示为二维矩阵,并且进一步包括:
生成包括表示所述像素区域内的所述视觉特征的所述存在的所述值的结果矩阵。
8.根据权利要求7所述的方法,其中,所述多个对象函数中的第二指定对象函数是被配置为减小所述结果矩阵的大小的池化层,并且进一步包括:
识别每个像素区域的一个或多个子区域的最大值;
选择每个子区域的所述最大值作为在所述结果矩阵中包括所述子区域的所述像素区域的表示;以及
生成包括每个像素区域的最大值的池化矩阵。
9.根据权利要求8所述的方法,其中,所述多个对象函数中的第三指定对象函数是表示在所述结果矩阵与所述池化矩阵之间的连接的连接层,并且进一步包括:
生成所述池化矩阵和层参数的内积;以及
基于所述内积、所述池化矩阵和所述结果矩阵生成所述识别概率。
10.一种用于面部建模的系统,包括:
一个或多个处理器;以及
处理器可读存储装置,其被耦接到所述一个或多个处理器并存储处理器可执行指令,所述处理器可执行指令当由所述一个或多个处理器执行时使所述一个或多个处理器执行包括以下的操作:
由所述一个或多个处理器接收描绘一个或多个面部的至少一部分的一个或多个图像;
由所述一个或多个处理器检测所述一个或多个图像内描绘的所述一个或多个面部的部分;
响应于检测所述一个或多个面部的每个部分,识别在所述一个或多个图像内描绘的所述一个或多个面部的所述部分上描绘的一组面部特征;
基于所识别的一组面部特征,生成表示所述一组面部特征的描述符函数,所述描述符函数包括多个对象函数,并且每个对象函数表示所述一组面部特征中的面部特征,所述描述符函数和所述多个对象函数表示神经网络结构,所述神经网络结构的每个层表示对象函数;
响应于生成所述描述符函数,相对于彼此拟合所述多个对象函数中的所述对象函数中的每一者,其中拟合通过使用随机梯度下降更新来修改所述描述符函数内的所述对象函数中的一个或多个来执行,使得所述多个对象函数的一个对象函数的修改引起另一对象函数的响应修改;
识别所述一组面部特征的每个面部特征的识别概率,所述识别概率识别面部特征对应于一组特征特性中的指定特性的概率;
基于针对每个面部特征识别的所述识别概率向每个面部特征分配标识;
生成所述标识的通知;以及
引起所述通知在客户端设备上的显示设备的所述通知的呈现,所述通知以自动生成的头像的形式提供,所述头像为由用户提供的面部的图形表示。
11.根据权利要求10所述的系统,其中,修改所述对象函数中的一个或多个进一步包括:
选择第一对象函数作为正则化函数;以及
相对于所述正则化函数修改所述多个对象函数中的一个或多个剩余的对象函数。
12.根据权利要求10所述的系统,其中,所述多个对象函数中的第一指定对象函数是描述所述一组面部特征中的至少一个面部特征的卷积层,并且所述操作进一步包括:
将所述一个或多个图像分为一组像素区域;
通过在每个像素区域上执行所述第一指定对象函数,针对所述一组像素区域中的每个像素区域执行所述卷积层;
响应于在每个像素区域上执行所述卷积层,针对每个像素区域生成表示所述像素区域内的视觉特征的存在的值;以及
基于被表示为二维矩阵的所述一个或多个图像,生成包括表示所述像素区域内的所述视觉特征的所述存在的所述值的结果矩阵。
13.根据权利要求12所述的系统,其中,所述多个对象函数中的第二指定对象函数是被配置成减小所述结果矩阵的大小的池化层,并且所述操作进一步包括:
识别每个像素区域的一个或多个子区域的最大值;
选择每个子区域的所述最大值作为在所述结果矩阵中包括所述子区域的所述像素区域的表示;以及
生成包括每个像素区域的最大值的池化矩阵。
14.根据权利要求13所述的系统,其中,所述多个对象函数中的第三指定对象函数是表示在所述结果矩阵与所述池化矩阵之间的连接的连接层,并且进一步包括:
生成所述池化矩阵和层参数的内积;以及
基于所述内积、所述池化矩阵和所述结果矩阵生成所述识别概率。
15.一种处理器可读存储装置,其存储处理器可执行指令,所述处理器可执行指令当由机器的处理器执行时使所述机器执行包括以下的操作:
由一个或多个处理器接收描绘一个或多个面部的至少一部分的一个或多个图像;
由所述一个或多个处理器检测所述一个或多个图像内描绘的所述一个或多个面部的部分;
响应于检测所述一个或多个面部的每个部分,识别在所述一个或多个图像内描绘的所述面部的所述部分上描绘的一组面部特征;
基于所识别的一组面部特征,生成表示所述一组面部特征的描述符函数,所述描述符函数包括多个对象函数,并且每个对象函数表示所述一组面部特征中的面部特征,所述描述符函数和所述多个对象函数表示神经网络结构,所述神经网络结构的每个层表示对象函数;
响应于生成所述描述符函数,相对于彼此拟合所述多个对象函数中的所述对象函数中的每一者,其中拟合通过使用随机梯度下降更新来修改所述描述符函数内的所述对象函数中的一个或多个来执行,使得所述多个对象函数的一个对象函数的修改引起另一对象函数的响应修改;
识别所述一组面部特征的每个面部特征的识别概率,所述识别概率识别面部特征对应于一组特征特性中的指定特性的概率;
基于针对每个面部特征识别的所述识别概率向每个面部特征分配标识;
生成所述标识的通知;以及
引起所述通知在客户端设备上的显示设备的所述通知的呈现,所述通知以自动生成的头像的形式提供,所述头像为由用户提供的面部的图形表示。
16.根据权利要求15所述的处理器可读存储装置,其中,所述多个对象函数过滤器中的第一指定对象函数是描述所述一组面部特征中的至少一个面部特征的卷积层,并且所述操作进一步包括:
将所述一个或多个图像分为一组像素区域;
通过在每个像素区域上执行所述第一指定对象函数,针对所述一组像素区域中的每个像素区域执行所述卷积层;
响应于在每个像素区域上执行所述卷积层,针对每个像素区域生成表示所述像素区域内的视觉特征的存在的值;以及
基于被表示为二维矩阵的所述一个或多个图像,生成包括表示所述像素区域内的所述视觉特征的所述存在的所述值的结果矩阵。
17.根据权利要求16所述的处理器可读存储装置,其中,所述多个对象函数中的第二指定对象函数是被配置为减小所述结果矩阵的大小的池化层,并且所述操作进一步包括:
识别每个像素区域的一个或多个子区域的最大值;
选择每个子区域的所述最大值作为在所述结果矩阵中包括所述子区域的所述像素区域的表示;以及
生成包括每个像素区域的最大值的池化矩阵。
18.根据权利要求17所述的处理器可读存储装置,其中,所述多个对象函数中的第三指定对象函数是表示所述结果矩阵与所述池化矩阵之间的连接的连接层,并且所述操作进一步包括:
生成所述池化矩阵和层参数的内积;以及
基于所述内积、所述池化矩阵和所述结果矩阵生成所述识别概率。
19.一种承载指令的机器可读介质,所述指令当由机器的一个或多个处理器执行时使所述机器执行根据权利要求1至9中任一项所述的方法。
CN201780064382.6A 2016-10-19 2017-10-19 用于面部建模的方法和系统 Active CN109844761B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311030981.XA CN117173762A (zh) 2016-10-19 2017-10-19 用于面部建模的方法和系统

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/297,789 2016-10-19
US15/297,789 US10198626B2 (en) 2016-10-19 2016-10-19 Neural networks for facial modeling
PCT/US2017/057445 WO2018075800A1 (en) 2016-10-19 2017-10-19 Neural networks for facial modeling

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311030981.XA Division CN117173762A (zh) 2016-10-19 2017-10-19 用于面部建模的方法和系统

Publications (2)

Publication Number Publication Date
CN109844761A CN109844761A (zh) 2019-06-04
CN109844761B true CN109844761B (zh) 2023-08-25

Family

ID=61902251

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311030981.XA Pending CN117173762A (zh) 2016-10-19 2017-10-19 用于面部建模的方法和系统
CN201780064382.6A Active CN109844761B (zh) 2016-10-19 2017-10-19 用于面部建模的方法和系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202311030981.XA Pending CN117173762A (zh) 2016-10-19 2017-10-19 用于面部建模的方法和系统

Country Status (5)

Country Link
US (3) US10198626B2 (zh)
EP (2) EP4266249A3 (zh)
KR (3) KR102223630B1 (zh)
CN (2) CN117173762A (zh)
WO (1) WO2018075800A1 (zh)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10198626B2 (en) 2016-10-19 2019-02-05 Snap Inc. Neural networks for facial modeling
US20180232566A1 (en) * 2017-02-15 2018-08-16 Cisco Technology, Inc. Enabling face recognition in a cognitive collaboration environment
US11169661B2 (en) * 2017-05-31 2021-11-09 International Business Machines Corporation Thumbnail generation for digital images
WO2019002831A1 (en) 2017-06-27 2019-01-03 Cirrus Logic International Semiconductor Limited REPRODUCTIVE ATTACK DETECTION
GB201713697D0 (en) 2017-06-28 2017-10-11 Cirrus Logic Int Semiconductor Ltd Magnetic detection of replay attack
GB2563953A (en) 2017-06-28 2019-01-02 Cirrus Logic Int Semiconductor Ltd Detection of replay attack
GB201801528D0 (en) 2017-07-07 2018-03-14 Cirrus Logic Int Semiconductor Ltd Method, apparatus and systems for biometric processes
GB201801527D0 (en) 2017-07-07 2018-03-14 Cirrus Logic Int Semiconductor Ltd Method, apparatus and systems for biometric processes
GB201801532D0 (en) 2017-07-07 2018-03-14 Cirrus Logic Int Semiconductor Ltd Methods, apparatus and systems for audio playback
GB201801530D0 (en) 2017-07-07 2018-03-14 Cirrus Logic Int Semiconductor Ltd Methods, apparatus and systems for authentication
GB201801526D0 (en) 2017-07-07 2018-03-14 Cirrus Logic Int Semiconductor Ltd Methods, apparatus and systems for authentication
GB201801663D0 (en) * 2017-10-13 2018-03-21 Cirrus Logic Int Semiconductor Ltd Detection of liveness
GB201804843D0 (en) 2017-11-14 2018-05-09 Cirrus Logic Int Semiconductor Ltd Detection of replay attack
GB201803570D0 (en) 2017-10-13 2018-04-18 Cirrus Logic Int Semiconductor Ltd Detection of replay attack
GB2567503A (en) 2017-10-13 2019-04-17 Cirrus Logic Int Semiconductor Ltd Analysing speech signals
GB201801664D0 (en) 2017-10-13 2018-03-21 Cirrus Logic Int Semiconductor Ltd Detection of liveness
GB201801874D0 (en) 2017-10-13 2018-03-21 Cirrus Logic Int Semiconductor Ltd Improving robustness of speech processing system against ultrasound and dolphin attacks
GB201801661D0 (en) * 2017-10-13 2018-03-21 Cirrus Logic International Uk Ltd Detection of liveness
GB201801659D0 (en) 2017-11-14 2018-03-21 Cirrus Logic Int Semiconductor Ltd Detection of loudspeaker playback
KR102073351B1 (ko) * 2017-11-17 2020-02-05 주식회사 하이퍼커넥트 서버 및 그것의 동작 방법
US11264037B2 (en) 2018-01-23 2022-03-01 Cirrus Logic, Inc. Speaker identification
US11475899B2 (en) 2018-01-23 2022-10-18 Cirrus Logic, Inc. Speaker identification
US11735189B2 (en) 2018-01-23 2023-08-22 Cirrus Logic, Inc. Speaker identification
EP3534296A1 (en) * 2018-02-28 2019-09-04 Chanel Parfums Beauté A method for building a computer-implemented tool for assessment of qualitative features from face images
US10733996B2 (en) * 2018-03-30 2020-08-04 Qualcomm Incorporated User authentication
US10720166B2 (en) * 2018-04-09 2020-07-21 Synaptics Incorporated Voice biometrics systems and methods
US11290530B2 (en) * 2018-06-01 2022-03-29 Apple Inc. Customizable, pull-based asset transfer requests using object models
US10818296B2 (en) * 2018-06-21 2020-10-27 Intel Corporation Method and system of robust speaker recognition activation
US10692490B2 (en) 2018-07-31 2020-06-23 Cirrus Logic, Inc. Detection of replay attack
CN112543901A (zh) 2018-08-08 2021-03-23 三星电子株式会社 根据外部对象的位置的改变显示与外部对象相对应的替身的电子装置
US10915614B2 (en) 2018-08-31 2021-02-09 Cirrus Logic, Inc. Biometric authentication
US11037574B2 (en) 2018-09-05 2021-06-15 Cirrus Logic, Inc. Speaker recognition and speaker change detection
US11144998B2 (en) * 2018-09-20 2021-10-12 The Toronto-Dominion Bank Dynamic provisioning of data exchanges based on detected relationships within processed image data
KR20200101630A (ko) 2019-02-20 2020-08-28 삼성전자주식회사 아바타 표시를 제어하기 위한 방법 및 그 전자 장치
CN110196914B (zh) * 2019-07-29 2019-12-27 上海肇观电子科技有限公司 一种将人脸信息录入数据库的方法和装置
CN111104852B (zh) * 2019-11-06 2020-10-16 重庆邮电大学 一种基于启发式高斯云变换的人脸识别技术
US11625873B2 (en) 2020-03-30 2023-04-11 Snap Inc. Personalized media overlay recommendation
US11818286B2 (en) * 2020-03-30 2023-11-14 Snap Inc. Avatar recommendation and reply
CN112395117B (zh) * 2021-01-21 2021-04-27 武汉中科通达高新技术股份有限公司 一种数据处理方法、系统和存储介质
WO2022235709A1 (en) * 2021-05-03 2022-11-10 Ditto Technologies, Inc. Generation of a 3d model of a reference object to perform scaling of a model of a user's head
US11935238B2 (en) * 2021-12-22 2024-03-19 RealizeMD Ltd. Systems and methods for generating clinically relevant images that preserve physical attributes of humans while protecting personal identity
US11631208B1 (en) * 2021-12-22 2023-04-18 RealizeMD Ltd. Systems and methods for generating clinically relevant images that preserve physical attributes of humans while protecting personal identity
CN114973727B (zh) * 2022-08-02 2022-09-30 成都工业职业技术学院 一种基于乘客特征的智能驾驶方法
WO2024076399A1 (en) * 2022-10-06 2024-04-11 Vishnikin Konstantin Methods, systems, apparatuses, and devices for personalizing menus of restaurants based on preferences

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012139273A1 (en) * 2011-04-11 2012-10-18 Intel Corporation Method of detecting facial attributes
CN102902807A (zh) * 2011-10-18 2013-01-30 微软公司 使用多个视觉输入模态的视觉搜索
US8582807B2 (en) * 2010-03-15 2013-11-12 Nec Laboratories America, Inc. Systems and methods for determining personal characteristics
CN105874474A (zh) * 2013-11-04 2016-08-17 脸谱公司 用于面部表示的系统和方法

Family Cites Families (247)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1045129C (zh) * 1993-03-29 1999-09-15 松下电器产业株式会社 个人识别装置
US7859551B2 (en) 1993-10-15 2010-12-28 Bulman Richard L Object customization and presentation system
US5978773A (en) 1995-06-20 1999-11-02 Neomedia Technologies, Inc. System and method for using an ordinary article of commerce to access a remote computer
US5880731A (en) 1995-12-14 1999-03-09 Microsoft Corporation Use of avatars with automatic gesturing and bounded interaction in on-line chat session
EP0814611B1 (de) 1996-06-17 2002-08-28 Siemens Aktiengesellschaft Kommunikationssystem und Verfahren zur Aufnahme und Verwaltung digitaler Bilder
JPH11168627A (ja) * 1997-08-27 1999-06-22 Fuji Photo Film Co Ltd 画像形成方法
US6023270A (en) 1997-11-17 2000-02-08 International Business Machines Corporation Delivery of objects in a virtual world using a descriptive container
US6842779B1 (en) 1998-03-11 2005-01-11 Yasuo Nishizawa Agent accessory tool cooperating with integrated application on WEB server by HTTP protocol
US7173651B1 (en) 1998-06-02 2007-02-06 Knowles Andrew T Apparatus and system for prompt digital photo delivery and archival
US20020067362A1 (en) 1998-11-06 2002-06-06 Agostino Nocera Luciano Pasquale Method and system generating an avatar animation transform using a neutral face image
US6223165B1 (en) 1999-03-22 2001-04-24 Keen.Com, Incorporated Method and apparatus to connect consumer to expert
US6772195B1 (en) 1999-10-29 2004-08-03 Electronic Arts, Inc. Chat clusters for a virtual world application
JP2001230801A (ja) 2000-02-14 2001-08-24 Sony Corp 通信システムとその方法、通信サービスサーバおよび通信端末装置
US6922685B2 (en) 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
US6505123B1 (en) 2000-07-24 2003-01-07 Weatherbank, Inc. Interactive weather advisory system
US20050206610A1 (en) 2000-09-29 2005-09-22 Gary Gerard Cordelli Computer-"reflected" (avatar) mirror
US8117281B2 (en) 2006-11-02 2012-02-14 Addnclick, Inc. Using internet content as a means to establish live social networks by linking internet users to each other who are simultaneously engaged in the same and/or similar content
US6910186B2 (en) 2000-12-08 2005-06-21 Kyunam Kim Graphic chatting with organizational avatars
US7925703B2 (en) 2000-12-26 2011-04-12 Numedeon, Inc. Graphical interactive interface for immersive online communities
US7194134B2 (en) * 2001-01-02 2007-03-20 Microsoft Corporation Hierarchical, probabilistic, localized, semantic image classifier
US20100098702A1 (en) 2008-09-16 2010-04-22 Longgui Wang Method of treating androgen independent prostate cancer
US20050162419A1 (en) 2002-03-26 2005-07-28 Kim So W. System and method for 3-dimension simulation of glasses
KR100493525B1 (ko) 2002-05-03 2005-06-07 안현기 아바타 메일 제공시스템 및 방법
US8495503B2 (en) 2002-06-27 2013-07-23 International Business Machines Corporation Indicating the context of a communication
US7636755B2 (en) 2002-11-21 2009-12-22 Aol Llc Multiple avatar personalities
US7411493B2 (en) 2003-03-01 2008-08-12 User-Centric Ip, L.P. User-centric event reporting
US20070168863A1 (en) 2003-03-03 2007-07-19 Aol Llc Interacting avatars in an instant messaging communication session
US20040179039A1 (en) 2003-03-03 2004-09-16 Blattner Patrick D. Using avatars to communicate
US20070113181A1 (en) 2003-03-03 2007-05-17 Blattner Patrick D Using avatars to communicate real-time information
KR20040091331A (ko) 2003-04-21 2004-10-28 홍지선 자연어처리기술을 이용하여 입력된 문자메시지와 그 문장내용에 상응하는 아바타 표현 방법 및 시스템
US7274822B2 (en) * 2003-06-30 2007-09-25 Microsoft Corporation Face annotation for photo management
KR100762629B1 (ko) 2003-08-26 2007-10-01 삼성전자주식회사 휴대단말기의 백업서비스 처리방법
JP3955953B2 (ja) * 2003-09-12 2007-08-08 国立大学法人広島大学 画像分割処理装置、画像分割処理方法及び画像分割処理集積化回路
US7596247B2 (en) * 2003-11-14 2009-09-29 Fujifilm Corporation Method and apparatus for object recognition using probability models
US7535890B2 (en) 2003-12-18 2009-05-19 Ayalogic, Inc. System and method for instant VoIP messaging
GB2410359A (en) * 2004-01-23 2005-07-27 Sony Uk Ltd Display
JP2006024116A (ja) * 2004-07-09 2006-01-26 Dainippon Screen Mfg Co Ltd カラー画像の領域分割
US7342587B2 (en) 2004-10-12 2008-03-11 Imvu, Inc. Computer-implemented system and method for home page customization and e-commerce support
US7468729B1 (en) 2004-12-21 2008-12-23 Aol Llc, A Delaware Limited Liability Company Using an avatar to generate user profile information
JP2006253842A (ja) * 2005-03-08 2006-09-21 Ricoh Co Ltd 画像処理装置、画像形成装置、プログラム、記憶媒体および画像処理方法
KR100714192B1 (ko) 2005-04-08 2007-05-02 엔에이치엔(주) 노출 부위가 가변되는 아바타 제공 시스템 및 그 방법
US20060294465A1 (en) 2005-06-22 2006-12-28 Comverse, Inc. Method and system for creating and distributing mobile avatars
US8963926B2 (en) 2006-07-11 2015-02-24 Pandoodle Corporation User customized animated video and method for making the same
WO2007023494A2 (en) 2005-08-22 2007-03-01 Triplay Communications Ltd. Messaging system and method
US7775885B2 (en) 2005-10-14 2010-08-17 Leviathan Entertainment, Llc Event-driven alteration of avatars
RU2396599C2 (ru) 2005-12-31 2010-08-10 Тенсент Текнолоджи (Шэньчжэнь) Компани Лимитед Способ отображения трехмерного аватара и система, осуществляющая этот способ
US20070176921A1 (en) 2006-01-27 2007-08-02 Koji Iwasaki System of developing urban landscape by using electronic data
WO2007093813A1 (en) 2006-02-16 2007-08-23 Weeworld Limited Portable account information
US8766983B2 (en) 2006-05-07 2014-07-01 Sony Computer Entertainment Inc. Methods and systems for processing an interchange of real time effects during video communication
WO2007134402A1 (en) 2006-05-24 2007-11-29 Mor(F) Dynamics Pty Ltd Instant messaging system
US20080158222A1 (en) 2006-12-29 2008-07-03 Motorola, Inc. Apparatus and Methods for Selecting and Customizing Avatars for Interactive Kiosks
US8504926B2 (en) 2007-01-17 2013-08-06 Lupus Labs Ug Model based avatars for virtual presence
GB2447094B (en) 2007-03-01 2010-03-10 Sony Comp Entertainment Europe Entertainment device and method
GB0703974D0 (en) 2007-03-01 2007-04-11 Sony Comp Entertainment Europe Entertainment device
WO2008129542A2 (en) 2007-04-23 2008-10-30 Ramot At Tel-Aviv University Ltd System, method and a computer readible medium for providing an output image
US9811935B2 (en) 2007-04-26 2017-11-07 Ford Global Technologies, Llc Emotive advisory system and method
CN101071457B (zh) 2007-04-28 2010-05-26 腾讯科技(深圳)有限公司 一种网络游戏中改变角色形象的方法、装置以及服务器
WO2008141125A1 (en) 2007-05-10 2008-11-20 The Trustees Of Columbia University In The City Of New York Methods and systems for creating speech-enabled avatars
US8130219B2 (en) 2007-06-11 2012-03-06 Autodesk, Inc. Metadata for avatar generation in virtual environments
GB2450757A (en) 2007-07-06 2009-01-07 Sony Comp Entertainment Europe Avatar customisation, transmission and reception
US20090016617A1 (en) 2007-07-13 2009-01-15 Samsung Electronics Co., Ltd. Sender dependent messaging viewer
US8726194B2 (en) 2007-07-27 2014-05-13 Qualcomm Incorporated Item selection using enhanced control
US8146005B2 (en) 2007-08-07 2012-03-27 International Business Machines Corporation Creating a customized avatar that reflects a user's distinguishable attributes
US20090055484A1 (en) 2007-08-20 2009-02-26 Thanh Vuong System and method for representation of electronic mail users using avatars
US20090070688A1 (en) 2007-09-07 2009-03-12 Motorola, Inc. Method and apparatus for managing interactions
US8218033B2 (en) * 2007-09-10 2012-07-10 Sanyo Electric Co., Ltd. Sound corrector, sound recording device, sound reproducing device, and sound correcting method
US8924250B2 (en) 2007-09-13 2014-12-30 International Business Machines Corporation Advertising in virtual environments based on crowd statistics
US20090099925A1 (en) 2007-10-04 2009-04-16 Mehta Kaushal N Apparatus and Method for Virtual World Item Searching
US20090106672A1 (en) 2007-10-18 2009-04-23 Sony Ericsson Mobile Communications Ab Virtual world avatar activity governed by person's real life activity
US8892999B2 (en) 2007-11-30 2014-11-18 Nike, Inc. Interactive avatar for social network services
US8151191B2 (en) 2007-12-07 2012-04-03 International Business Machines Corporation Managing objectionable material in 3D immersive virtual worlds
US20090158170A1 (en) 2007-12-14 2009-06-18 Rajesh Narayanan Automatic profile-based avatar generation
US9721148B2 (en) * 2007-12-31 2017-08-01 Applied Recognition Inc. Face detection and recognition
US20090177976A1 (en) 2008-01-09 2009-07-09 Bokor Brian R Managing and presenting avatar mood effects in a virtual world
US8495505B2 (en) 2008-01-10 2013-07-23 International Business Machines Corporation Perspective based tagging and visualization of avatars in a virtual world
US8180112B2 (en) * 2008-01-21 2012-05-15 Eastman Kodak Company Enabling persistent recognition of individuals in images
JP5176572B2 (ja) * 2008-02-05 2013-04-03 ソニー株式会社 画像処理装置および方法、並びにプログラム
EP2263190A2 (en) 2008-02-13 2010-12-22 Ubisoft Entertainment S.A. Live-action image capture
CN106021913B (zh) 2008-03-03 2019-08-09 耐克创新有限合伙公司 交互式运动设备系统及方法
US9744466B2 (en) 2008-03-13 2017-08-29 Mattel, Inc. Widgetized avatar and a method and system of creating and using same
US8832552B2 (en) 2008-04-03 2014-09-09 Nokia Corporation Automated selection of avatar characteristics for groups
US20090265604A1 (en) 2008-04-21 2009-10-22 Microsoft Corporation Graphical representation of social network vitality
US20090300525A1 (en) 2008-05-27 2009-12-03 Jolliff Maria Elena Romera Method and system for automatically updating avatar to indicate user's status
US20090303984A1 (en) 2008-06-09 2009-12-10 Clark Jason T System and method for private conversation in a public space of a virtual world
US8095878B2 (en) 2008-06-23 2012-01-10 International Business Machines Corporation Method for spell check based upon target and presence of avatars within a virtual environment
US8839327B2 (en) 2008-06-25 2014-09-16 At&T Intellectual Property Ii, Lp Method and apparatus for presenting media programs
AU2008358849A1 (en) 2008-06-30 2010-01-07 Accenture Global Services Limited Gaming system
US7961986B1 (en) * 2008-06-30 2011-06-14 Google Inc. Ranking of images and image labels
US20120246585A9 (en) 2008-07-14 2012-09-27 Microsoft Corporation System for editing an avatar
CA2732268C (en) 2008-07-28 2020-07-21 Breakthrough Performancetech, Llc Systems and methods for computerized interactive skill training
US8384719B2 (en) 2008-08-01 2013-02-26 Microsoft Corporation Avatar items and animations
US8832201B2 (en) 2008-08-18 2014-09-09 International Business Machines Corporation Method, system and program product for providing selective enhanced privacy and control features to one or more portions of an electronic message
US8648865B2 (en) 2008-09-26 2014-02-11 International Business Machines Corporation Variable rendering of virtual universe avatars
US8108774B2 (en) 2008-09-26 2012-01-31 International Business Machines Corporation Avatar appearance transformation in a virtual universe
US8869197B2 (en) 2008-10-01 2014-10-21 At&T Intellectual Property I, Lp Presentation of an avatar in a media communication system
US8683354B2 (en) 2008-10-16 2014-03-25 At&T Intellectual Property I, L.P. System and method for distributing an avatar
US20100115426A1 (en) 2008-11-05 2010-05-06 Yahoo! Inc. Avatar environments
US8745152B2 (en) 2008-11-06 2014-06-03 Disney Enterprises, Inc. System and method for server-side avatar pre-rendering
AU2009330607B2 (en) 2008-12-04 2015-04-09 Cubic Corporation System and methods for dynamically injecting expression information into an animated facial mesh
US8458601B2 (en) 2008-12-04 2013-06-04 International Business Machines Corporation System and method for item inquiry and information presentation via standard communication paths
US20100162149A1 (en) 2008-12-24 2010-06-24 At&T Intellectual Property I, L.P. Systems and Methods to Provide Location Information
US9105014B2 (en) 2009-02-03 2015-08-11 International Business Machines Corporation Interactive avatar in messaging environment
JP2010186216A (ja) * 2009-02-10 2010-08-26 Seiko Epson Corp 顔画像における特徴部位の位置の特定
KR101558553B1 (ko) 2009-02-18 2015-10-08 삼성전자 주식회사 아바타 얼굴 표정 제어장치
US20100227682A1 (en) 2009-03-04 2010-09-09 Microsoft Corporation Awarding of avatar items in video game environment
TW201103787A (en) * 2009-07-31 2011-02-01 Automotive Res & Testing Ct Obstacle determination system and method utilizing bird's-eye images
US8503739B2 (en) * 2009-09-18 2013-08-06 Adobe Systems Incorporated System and method for using contextual features to improve face recognition in digital images
US20110093780A1 (en) 2009-10-16 2011-04-21 Microsoft Corporation Advertising avatar
JP5531836B2 (ja) * 2009-11-10 2014-06-25 株式会社リコー 画像処理装置及びプログラム
US8818034B2 (en) * 2009-11-30 2014-08-26 Hewlett-Packard Development Company, L.P. Face recognition apparatus and methods
KR20110070056A (ko) 2009-12-18 2011-06-24 한국전자통신연구원 사용자 맞춤형 고품질 3d 아바타 생성 방법 및 그 장치
TWI434227B (zh) 2009-12-29 2014-04-11 Ind Tech Res Inst 動畫產生系統及方法
US8484158B2 (en) 2010-02-01 2013-07-09 International Business Machines Corporation Managing information about avatars across virtual worlds
US9443227B2 (en) 2010-02-16 2016-09-13 Tigertext, Inc. Messaging system apparatuses circuits and methods of operation thereof
US8311279B2 (en) * 2010-02-23 2012-11-13 Fuji Xerox Co., Ltd. System and method for improved image analysis through gaze data feedback
US20110239136A1 (en) 2010-03-10 2011-09-29 Oddmobb, Inc. Instantiating widgets into a virtual social venue
US9086776B2 (en) 2010-03-29 2015-07-21 Microsoft Technology Licensing, Llc Modifying avatar attributes
TWI439960B (zh) 2010-04-07 2014-06-01 Apple Inc 虛擬使用者編輯環境
US20110293189A1 (en) * 2010-05-28 2011-12-01 Microsoft Corporation Facial Analysis Techniques
US8692830B2 (en) 2010-06-01 2014-04-08 Apple Inc. Automatic avatar creation
US8564621B2 (en) 2010-08-11 2013-10-22 International Business Machines Corporation Replicating changes between corresponding objects
US9111255B2 (en) * 2010-08-31 2015-08-18 Nokia Technologies Oy Methods, apparatuses and computer program products for determining shared friends of individuals
JP2012065263A (ja) 2010-09-17 2012-03-29 Olympus Imaging Corp 撮影機器
KR101514327B1 (ko) 2010-11-04 2015-04-22 한국전자통신연구원 얼굴 아바타 생성 장치 및 방법
US20120124458A1 (en) 2010-11-17 2012-05-17 Nazareno Brier Cruzada Social networking website & web-based system for collecting & presenting real-time user generated information on parties & events.
US20120130717A1 (en) 2010-11-19 2012-05-24 Microsoft Corporation Real-time Animation for an Expressive Avatar
KR20120059994A (ko) 2010-12-01 2012-06-11 삼성전자주식회사 표정 제어점을 이용한 아바타 제어 장치 및 방법
US8438163B1 (en) * 2010-12-07 2013-05-07 Google Inc. Automatic learning of logos for visual recognition
KR101445263B1 (ko) 2010-12-22 2014-09-30 주식회사 케이티 맞춤형 콘텐츠 제공 시스템 및 방법
US9839844B2 (en) 2011-03-01 2017-12-12 Disney Enterprises, Inc. Sprite strip renderer
WO2012126135A1 (en) 2011-03-21 2012-09-27 Intel Corporation Method of augmented makeover with 3d face modeling and landmark alignment
US20130103760A1 (en) 2011-04-11 2013-04-25 Robert K. Golding Location-sensitive virtual identity system, apparatus, method and computer-readable medium
US9330483B2 (en) 2011-04-11 2016-05-03 Intel Corporation Avatar facial expression techniques
WO2012144266A1 (ja) * 2011-04-20 2012-10-26 株式会社日立メディコ 医用画像表示装置、医用画像表示方法
US8989786B2 (en) 2011-04-21 2015-03-24 Walking Thumbs, Llc System and method for graphical expression during text messaging communications
US9241184B2 (en) 2011-06-01 2016-01-19 At&T Intellectual Property I, L.P. Clothing visualization
US9082235B2 (en) * 2011-07-12 2015-07-14 Microsoft Technology Licensing, Llc Using facial data for device authentication or subject identification
KR101608253B1 (ko) 2011-08-09 2016-04-01 인텔 코포레이션 이미지 기반 멀티 뷰 3d 얼굴 생성
KR20130022434A (ko) 2011-08-22 2013-03-07 (주)아이디피쉬 통신단말장치의 감정 컨텐츠 서비스 장치 및 방법, 이를 위한 감정 인지 장치 및 방법, 이를 이용한 감정 컨텐츠를 생성하고 정합하는 장치 및 방법
US20130249948A1 (en) 2011-08-26 2013-09-26 Reincloud Corporation Providing interactive travel content at a display device
US8559980B2 (en) 2011-09-02 2013-10-15 John J. Pujol Method and system for integrated messaging and location services
KR101381439B1 (ko) * 2011-09-15 2014-04-04 가부시끼가이샤 도시바 얼굴 인식 장치 및 얼굴 인식 방법
KR101198322B1 (ko) * 2011-09-23 2012-11-06 (주) 어펙트로닉스 얼굴 표정 인식 방법 및 시스템
US8913839B2 (en) * 2011-09-27 2014-12-16 University Of North Carolina At Wilmington Demographic analysis of facial landmarks
US8890926B2 (en) 2011-11-02 2014-11-18 Microsoft Corporation Automatic identification and representation of most relevant people in meetings
US9782680B2 (en) 2011-12-09 2017-10-10 Futurewei Technologies, Inc. Persistent customized social media environment
CN106961621A (zh) 2011-12-29 2017-07-18 英特尔公司 使用化身的通信
US9336456B2 (en) * 2012-01-25 2016-05-10 Bruno Delean Systems, methods and computer program products for identifying objects in video data
US8810513B2 (en) 2012-02-02 2014-08-19 Kodak Alaris Inc. Method for controlling interactive display system
WO2013114212A2 (en) * 2012-02-03 2013-08-08 See-Out Pty Ltd. Notification and privacy management of online photos and videos
US10702773B2 (en) 2012-03-30 2020-07-07 Videx, Inc. Systems and methods for providing an interactive avatar
US9402057B2 (en) 2012-04-02 2016-07-26 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. Interactive avatars for telecommunication systems
CN104170358B (zh) 2012-04-09 2016-05-11 英特尔公司 用于化身管理和选择的系统和方法
KR101749099B1 (ko) * 2012-04-25 2017-07-04 한국전자통신연구원 영상에서의 객체 추적 방법, 장치 및 이를 컴퓨터 상에서 수행하는 프로그램이 기록된 기록 매체
US10155168B2 (en) 2012-05-08 2018-12-18 Snap Inc. System and method for adaptable avatars
JP5497931B2 (ja) 2012-05-30 2014-05-21 株式会社コナミデジタルエンタテインメント アプリケーション装置、アプリケーション装置の制御方法、及びプログラム
CN103457973B (zh) * 2012-06-01 2016-04-27 深圳市腾讯计算机系统有限公司 一种图片上传方法、系统、图片上传客户端及网络服务器
AU2013206649A1 (en) 2012-07-05 2014-01-23 Aristocrat Technologies Australia Pty Limited A gaming system and a method of gaming
JP6071289B2 (ja) * 2012-07-09 2017-02-01 キヤノン株式会社 画像処理装置、画像処理方法、およびプログラム
US20140125678A1 (en) 2012-07-11 2014-05-08 GeriJoy Inc. Virtual Companion
US8977003B1 (en) * 2012-07-17 2015-03-10 Google Inc. Detecting objects in a sequence of images
US10116598B2 (en) 2012-08-15 2018-10-30 Imvu, Inc. System and method for increasing clarity and expressiveness in network communications
WO2014031899A1 (en) 2012-08-22 2014-02-27 Goldrun Corporation Augmented reality virtual content platform apparatuses, methods and systems
US9461876B2 (en) 2012-08-29 2016-10-04 Loci System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction
US9936165B2 (en) 2012-09-06 2018-04-03 Intel Corporation System and method for avatar creation and synchronization
US9314692B2 (en) 2012-09-21 2016-04-19 Luxand, Inc. Method of creating avatar from user submitted image
US9746990B2 (en) 2012-09-28 2017-08-29 Intel Corporation Selectively augmenting communications transmitted by a communication device
US9501942B2 (en) 2012-10-09 2016-11-22 Kc Holdings I Personalized avatar responsive to user physical state and context
US20140129343A1 (en) 2012-11-08 2014-05-08 Microsoft Corporation Dynamic targeted advertising avatar
US9158970B2 (en) * 2012-11-16 2015-10-13 Canon Kabushiki Kaisha Devices, systems, and methods for visual-attribute refinement
US9256860B2 (en) 2012-12-07 2016-02-09 International Business Machines Corporation Tracking participation in a shared media session
US9990373B2 (en) 2013-02-06 2018-06-05 John A. Fortkort Creation and geospatial placement of avatars based on real-world interactions
US9153034B2 (en) * 2013-03-15 2015-10-06 Varian Medical Systems, Inc. Image processing of images that include marker images
WO2014146258A1 (en) 2013-03-20 2014-09-25 Intel Corporation Avatar-based transfer protocols, icon generation and doll animation
WO2014153689A1 (en) 2013-03-29 2014-10-02 Intel Corporation Avatar animation, social networking and touch screen applications
CN104143079B (zh) * 2013-05-10 2016-08-17 腾讯科技(深圳)有限公司 人脸属性识别的方法和系统
WO2014194439A1 (en) 2013-06-04 2014-12-11 Intel Corporation Avatar-based video encoding
US9378576B2 (en) 2013-06-07 2016-06-28 Faceshift Ag Online modeling for real-time facial animation
US9177410B2 (en) 2013-08-09 2015-11-03 Ayla Mandel System and method for creating avatars or animated sequences using human body features extracted from a still image
CA2920492C (en) * 2013-09-30 2019-08-13 Ventana Medical Systems, Inc. Systems and methods for adaptive histopathology image unmixing
US9706040B2 (en) 2013-10-31 2017-07-11 Udayakumar Kadirvel System and method for facilitating communication via interaction with an avatar
US9508197B2 (en) 2013-11-01 2016-11-29 Microsoft Technology Licensing, Llc Generating an avatar from real time image data
US20150317511A1 (en) * 2013-11-07 2015-11-05 Orbeus, Inc. System, method and apparatus for performing facial recognition
WO2015070416A1 (en) 2013-11-14 2015-05-21 Intel Corporation Mechanism for facilitating dynamic simulation of avatars corresponding to changing user performances as detected at computing devices
JP6268960B2 (ja) * 2013-11-15 2018-01-31 オムロン株式会社 画像認識装置及び画像認識装置に対するデータ登録方法
US9361510B2 (en) * 2013-12-13 2016-06-07 Intel Corporation Efficient facial landmark tracking using online shape regression method
CA2863124A1 (en) 2014-01-03 2015-07-03 Investel Capital Corporation User content sharing system and method with automated external content integration
US20150234942A1 (en) * 2014-02-14 2015-08-20 Possibility Place, Llc Method of making a mask with customized facial features
US9852364B2 (en) * 2014-03-19 2017-12-26 Hulu, LLC Face track recognition with multi-sample multi-view weighting
US9544257B2 (en) 2014-04-04 2017-01-10 Blackberry Limited System and method for conducting private messaging
US9503845B2 (en) 2014-04-17 2016-11-22 Paypal, Inc. Image customization to enhance transaction experience
US9639742B2 (en) * 2014-04-28 2017-05-02 Microsoft Technology Licensing, Llc Creation of representative content based on facial analysis
WO2015164951A1 (en) 2014-05-01 2015-11-05 Abbas Mohamad Methods and systems relating to personalized evolving avatars
US20160134840A1 (en) 2014-07-28 2016-05-12 Alexa Margaret McCulloch Avatar-Mediated Telepresence Systems with Enhanced Filtering
CN106575367B (zh) * 2014-08-21 2018-11-06 北京市商汤科技开发有限公司 用于基于多任务的人脸关键点检测的方法和系统
CN104239858B (zh) * 2014-09-05 2017-06-09 华为技术有限公司 一种人脸特征验证的方法和装置
KR102205498B1 (ko) * 2014-09-18 2021-01-20 삼성전자주식회사 입력 영상으로부터 특징을 추출하는 방법 및 장치
GB2530515A (en) * 2014-09-24 2016-03-30 Sony Comp Entertainment Europe Apparatus and method of user interaction
US9898849B2 (en) 2014-11-05 2018-02-20 Intel Corporation Facial expression based avatar rendering in video animation and method
US9384385B2 (en) * 2014-11-06 2016-07-05 Intel Corporation Face recognition using gradient based feature analysis
KR101643573B1 (ko) * 2014-11-21 2016-07-29 한국과학기술연구원 얼굴 표정 정규화를 통한 얼굴 인식 방법, 이를 수행하기 위한 기록 매체 및 장치
KR20160061856A (ko) * 2014-11-24 2016-06-01 삼성전자주식회사 객체 인식 방법 및 장치, 및 인식기 학습 방법 및 장치
EP3238176B1 (en) 2014-12-11 2023-11-01 Intel Corporation Avatar selection mechanism
US9111164B1 (en) * 2015-01-19 2015-08-18 Snapchat, Inc. Custom functional patterns for optical barcodes
JP6462386B2 (ja) 2015-02-05 2019-01-30 任天堂株式会社 プログラム、通信端末及び表示方法
WO2016145379A1 (en) 2015-03-12 2016-09-15 William Marsh Rice University Automated Compilation of Probabilistic Task Description into Executable Neural Network Specification
US9916508B2 (en) * 2015-03-12 2018-03-13 Toyota Jidosha Kabushiki Kaisha Detecting roadway objects in real-time images
US9940539B2 (en) * 2015-05-08 2018-04-10 Samsung Electronics Co., Ltd. Object recognition apparatus and method
US9430697B1 (en) 2015-07-03 2016-08-30 TCL Research America Inc. Method and system for face recognition using deep collaborative representation-based classification
EP3136289A1 (en) * 2015-08-28 2017-03-01 Thomson Licensing Method and device for classifying an object of an image and corresponding computer program product and computer-readable medium
US9852492B2 (en) * 2015-09-18 2017-12-26 Yahoo Holdings, Inc. Face detection
US20170087473A1 (en) 2015-09-29 2017-03-30 Sportsworld, Inc. Virtual environments for managing and interacting with virtual sports leagues
US9704045B2 (en) * 2015-10-06 2017-07-11 Yahoo! Inc. User classification based upon images
US20170118145A1 (en) 2015-10-21 2017-04-27 Futurefly Ltd. Method of using emoji to control and enrich 3d chat environments
CN106776662B (zh) * 2015-11-25 2020-03-03 腾讯科技(深圳)有限公司 一种照片的分类整理方法和装置
US10345440B1 (en) * 2015-12-02 2019-07-09 National Technology & Engineering Solutions Of Sandia, Llc Reduced-bias multi-resolution coherent change detection
JP2017112535A (ja) * 2015-12-17 2017-06-22 株式会社リコー 画像処理装置、プログラム及び方法
WO2017101094A1 (en) 2015-12-18 2017-06-22 Intel Corporation Avatar animation system
CN105677735B (zh) * 2015-12-30 2020-04-21 腾讯科技(深圳)有限公司 一种视频搜索方法及装置
US20170199855A1 (en) 2016-01-11 2017-07-13 BuilderFish, LLC System and method for providing a time-based presentation of a user-navigable project model
US9858496B2 (en) * 2016-01-20 2018-01-02 Microsoft Technology Licensing, Llc Object detection and classification in images
US10198624B2 (en) * 2016-02-18 2019-02-05 Pinscreen, Inc. Segmentation-guided real-time facial performance capture
US10043058B2 (en) * 2016-03-09 2018-08-07 International Business Machines Corporation Face detection, representation, and recognition
US9911073B1 (en) 2016-03-18 2018-03-06 Snap Inc. Facial patterns for optical barcodes
US10339365B2 (en) * 2016-03-31 2019-07-02 Snap Inc. Automated avatar generation
US20170312634A1 (en) 2016-04-28 2017-11-02 Uraniom System and method for personalized avatar generation, especially for computer games
US11320982B2 (en) 2016-05-18 2022-05-03 Apple Inc. Devices, methods, and graphical user interfaces for messaging
US10657701B2 (en) 2016-06-30 2020-05-19 Sony Interactive Entertainment Inc. Dynamic entering and leaving of virtual-reality environments navigated by different HMD users
US10133942B2 (en) * 2016-07-05 2018-11-20 Nauto Global Limited System and method for automatic driver identification
US10573048B2 (en) 2016-07-25 2020-02-25 Oath Inc. Emotional reaction sharing
US20180047200A1 (en) 2016-08-11 2018-02-15 Jibjab Media Inc. Combining user images and computer-generated illustrations to produce personalized animated digital avatars
US10354362B2 (en) * 2016-09-08 2019-07-16 Carnegie Mellon University Methods and software for detecting objects in images using a multiscale fast region-based convolutional neural network
JP2018045309A (ja) * 2016-09-12 2018-03-22 株式会社東芝 特徴量抽出装置および認証システム
KR20210013323A (ko) 2016-09-23 2021-02-03 애플 인크. 아바타 생성 및 편집
US10198626B2 (en) 2016-10-19 2019-02-05 Snap Inc. Neural networks for facial modeling
US10432559B2 (en) 2016-10-24 2019-10-01 Snap Inc. Generating and displaying customized avatars in electronic messages
US10528846B2 (en) * 2016-11-14 2020-01-07 Samsung Electronics Co., Ltd. Method and apparatus for analyzing facial image
JP2018081402A (ja) * 2016-11-15 2018-05-24 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
US10242503B2 (en) 2017-01-09 2019-03-26 Snap Inc. Surface aware lens
US10242477B1 (en) 2017-01-16 2019-03-26 Snap Inc. Coded vision system
US11893647B2 (en) 2017-04-27 2024-02-06 Snap Inc. Location-based virtual avatars
US10949872B2 (en) 2017-04-28 2021-03-16 Snap Inc. Methods and systems for server generation of interactive advertising with content collections
US9980100B1 (en) 2017-08-31 2018-05-22 Snap Inc. Device location based on machine learning classifications
US10657695B2 (en) 2017-10-30 2020-05-19 Snap Inc. Animated chat presence
KR102499203B1 (ko) * 2017-11-06 2023-02-13 삼성전자 주식회사 신뢰도에 기반하여 객체를 인식하는 전자 장치 및 방법
CN108229470B (zh) * 2017-12-22 2022-04-01 北京市商汤科技开发有限公司 文字图像处理方法、装置、设备及存储介质
US11055902B2 (en) * 2018-04-23 2021-07-06 Intel Corporation Smart point cloud reconstruction of objects in visual scenes in computing environments

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8582807B2 (en) * 2010-03-15 2013-11-12 Nec Laboratories America, Inc. Systems and methods for determining personal characteristics
WO2012139273A1 (en) * 2011-04-11 2012-10-18 Intel Corporation Method of detecting facial attributes
CN102902807A (zh) * 2011-10-18 2013-01-30 微软公司 使用多个视觉输入模态的视觉搜索
CN105874474A (zh) * 2013-11-04 2016-08-17 脸谱公司 用于面部表示的系统和方法

Also Published As

Publication number Publication date
EP4266249A3 (en) 2024-01-17
US20180107866A1 (en) 2018-04-19
KR20220028181A (ko) 2022-03-08
US11100311B2 (en) 2021-08-24
CN117173762A (zh) 2023-12-05
KR20210027515A (ko) 2021-03-10
EP3529747A1 (en) 2019-08-28
EP3529747A4 (en) 2019-10-09
KR102223630B1 (ko) 2021-03-05
EP3529747B1 (en) 2023-10-11
EP4266249A2 (en) 2023-10-25
US10395100B1 (en) 2019-08-27
KR20190057432A (ko) 2019-05-28
CN109844761A (zh) 2019-06-04
WO2018075800A1 (en) 2018-04-26
US20190332852A1 (en) 2019-10-31
US10198626B2 (en) 2019-02-05
KR102368637B1 (ko) 2022-03-02

Similar Documents

Publication Publication Date Title
CN109844761B (zh) 用于面部建模的方法和系统
CN109964236B (zh) 用于检测图像中的对象的神经网络
US11631276B2 (en) Automated avatar generation
US10896346B1 (en) Image segmentation for object modeling
US11676019B2 (en) Machine learned single image icon identification
US11151408B2 (en) Occlusion detection system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant