CN108475438B - 基于学习的嵌入的面部重建 - Google Patents

基于学习的嵌入的面部重建 Download PDF

Info

Publication number
CN108475438B
CN108475438B CN201780006805.9A CN201780006805A CN108475438B CN 108475438 B CN108475438 B CN 108475438B CN 201780006805 A CN201780006805 A CN 201780006805A CN 108475438 B CN108475438 B CN 108475438B
Authority
CN
China
Prior art keywords
face
model
facial
computing devices
image recognition
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
CN201780006805.9A
Other languages
English (en)
Other versions
CN108475438A (zh
Inventor
F.H.科尔
D.克里什南
W.T.弗里曼
D.B.贝朗格
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Priority to CN202210311441.8A priority Critical patent/CN114694221B/zh
Publication of CN108475438A publication Critical patent/CN108475438A/zh
Application granted granted Critical
Publication of CN108475438B publication Critical patent/CN108475438B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2135Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/02Non-photorealistic rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/44Morphing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Multimedia (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Geometry (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本公开提供了一种基于面部图像执行面部重建的系统和方法。特别地,本公开的一个示例系统将机器学习的图像识别模型与使用人的面部外观的可变形模型的面部建模器相结合。图像识别模型可以是深度学习模型,其响应于接收到图像(例如,面部的非受控图像)而生成嵌入。示例系统还可以包括结构上位于图像识别模型和面部建模器之间的小型、轻量级翻译模型。翻译模型可以是机器学习模型,其被训练成接收由图像识别模型生成的嵌入,并且作为响应,输出可由面部建模器使用的多个面部建模参数值以生成面部模型。

Description

基于学习的嵌入的面部重建
技术领域
本公开一般涉及面部重建和面部图像分析。更具体地,本公开涉及基于从机器学习的面部识别模型获取的嵌入来重建面部。
背景技术
在某些情况下,可以期望知道一个或多个面部属性(例如,面部形状、眼睛颜色、头发长度等)的值。例如,可以使用特定面部的一个或多个面部属性的值来生成这样的面部的艺术渲染。在一个轻松的示例中,艺术渲染可以是包括面部的卡通版本(例如,与幽默短语一起的)的个性化表情。
在某些现有产品中,为了获取诸如个性化表情的艺术渲染,可能需要用户手动输入或选择一个或多个面部属性的特定值。由于要求用户手动选择正确的值和/或从有限数量的可用选项中选择正确的值,所以该过程可能是耗时的,并且易于降低质量结果。
因此,存在技术问题,其可概括为不能基于描绘面部的输入图像自动生成面部属性的精确值。特别地,一个特别具有挑战性的场景是:当只有面部的非受控图像可用时,自动生成这样的面部属性的值。特别地,非受控图像可以是不满足所有期望因素的图像。例如,非受控图像可以是图像和/或对象未能呈现中性面部表情、正面姿势(例如,看着相机)、甚至照明和/或其他因素的图像。例如,在糟糕的照明条件的情况下,人不看相机的照片可以是非受控图像。因此,存在技术问题,其可概括为不能基于面部的非受控图像自动生成面部属性的精确值。
此外,存在许多用于计算机辅助的人面部重建的技术。例如,某些现有的计算机实现的面部建模技术可以从面部的照片图像中生成纹理化的面部三维模型。可以基于该三维模型来渲染面部的二维图像。
然而,许多这样的计算机辅助重建技术需要迭代优化(例如,所生成的模型相对于照片图像的迭代优化)或者需要大的面部建模参数的训练集。依赖于迭代优化的重建技术可能是缓慢且计算昂贵的。此外,优化有时可能无法收敛或产生极低质量的结果。
因此,存在技术问题,其可以概括为:不期望的面部重建技术对迭代优化的依赖和/或不期望地使用大的图像和面部建模参数的训练集。
发明内容
本公开的实施例的方面和优点将在下面的描述中部分阐述,或者可以从描述中获知,或者可以通过实施例的实践获知。
本公开的一个示例方面针对一种获取面部的面部属性数据的计算机实现方法。该方法包括由一个或多个计算设备获取面部图像。该方法包括由一个或多个计算设备获取由机器学习的图像识别模型提供的嵌入。该嵌入是通过机器学习图像识别模型响应于图像识别模型接收面部图像而提供的。该方法包括由一个或多个计算设备将嵌入输入到机器学习的翻译模型中。该方法包括由一个或多个计算设备接收作为翻译模型的输出的多个面部建模参数值。多个面部建模参数值描述面部的多个面部属性。
本公开的另一示例方面针对一种被配置为从面部图像获取面部属性数据的计算系统。计算系统包括至少一个处理器。该计算系统包括机器学习的翻译模型,能够将其操作为接收从机器学习图像识别模型获取的嵌入,并且响应于接收到嵌入,输出描述面部的多个面部属性的多个面部建模参数值。所述计算系统包括至少一个非暂时性计算机可读介质,其存储指令,所述指令在由所述至少一个处理器执行时使得所述计算系统:从图像识别模型获取嵌入,该嵌入由所述图像识别模型响应于所述图像识别模型接收到面部图像而产生;将嵌入输入到翻译模型中;以及接收作为所述翻译模型的输出的多个面部建模参数值。
本公开的另一示例方面针对一个或多个非暂时性计算机可读介质,其共同存储机器学习的面部重建模型和指令。可以操作机器学习的面部重建模型以接收面部的嵌入,并且响应于接收到嵌入,输出重建的面部表示。当由一个或多个计算设备执行时,所述指令使得一个或多个计算设备:从机器学习的图像识别模型获取嵌入,该嵌入由图像识别模型响应于图像识别模型接收到面部图像而产生;将嵌入输入到机器学习的面部重建模型中;并且接收作为面部重建模型的输出的重建的面部表示。
本公开的其他方面针对各种系统、装置、非暂时性计算机可读介质、用户界面和电子设备。
参考以下描述和所附权利要求书,将更好地理解本公开的各种实施例的这些和其它特征、方面和优点。并入本说明书并构成本说明书一部分的附图示出了本公开的示例性实施例,并与描述一起用于解释相关原理。
附图说明
针对本领域技术人员的实施例的详细讨论在参考附图的说明书中阐述,其中:
图1A描绘了根据本公开的示例实施例的从示例图像生成示例艺术渲染的面部重建系统的示例使用。
图1B描绘了根据本公开的示例实施例的示例计算系统的框图。
图2描绘了根据本公开的示例实施例的示例面部重建流水线(pipeline) 的框图。
图3描绘了根据本公开的示例实施例的示例面部重建模型的框图。
图4描绘了根据本公开的示例实施例的示例面部重建模型的框图。
图5描绘了根据本公开的示例实施例的示例艺术渲染流水线的框图。
图6描绘了根据本公开的示例实施例的示例面部重建模型的框图。
图7描绘了根据本公开的示例实施例的从面部图像生成面部的艺术渲染的示例方法的流程图。
图8描绘了根据本公开的示例实施例的从嵌入生成面部的艺术渲染的示例方法的流程图。
图9描绘了根据本公开的示例实施例的训练翻译模型的示例方法的流程图。
图10描绘了根据本公开的示例实施例的生成可变形面部模型的示例方法的流程图。
在复数的图中重复的附图标记旨在标识各种实现中的相同特征。
具体实施方式
概览
通常,本公开针对基于面部图像执行面部重建的系统和方法。面部的图像可以是面部的受控图像或非受控图像。特别地,本公开的一个示例系统将机器学习的图像识别模型与使用人的面部外观的变形模型的面部建模器相结合。图像识别模型可以是深度学习模型,其响应于接收到图像(例如,面部的非受控图像)而生成嵌入。示例系统还可以包括结构上位于图像识别模型和面部建模器之间的小型、轻量级翻译模型。翻译模型可以是机器学习模型,其被训练以接收由图像识别模型生成的嵌入,并且作为响应,输出可由面部建模器使用的多个面部建模参数值以生成面部模型(例如,面部的三维模型)。在一些实现中,所生成的面部模型可用于合成面部的受控图像或渲染(例如,具有中性表情的面部的正面、均匀照亮的图像)。在一些实现中,可以从面部模型和/或所渲染的面部的受控图像中断定面部的一个或多个面部属性(例如,面部形状、眼睛颜色、头发长度等)的值。可以从所断定的面部属性值中生成面部的艺术渲染,诸如,例如个性化表情。
因此,在一些实现中,本公开的系统和方法可以实现为一种有用的特征:如果用户选择,则提供用户面部的艺术渲染。例如,本公开的系统和方法可以接收用户上传的输入图像,并且作为响应,提供艺术渲染。
更具体地,本公开提供了可以在给定面部的受控图像或非受控图像作为输入的情况下重建面部的系统和方法。受控图像可以是满足多个期望因素中的每一个的图像。例如,受控图像可以是图像和/或对象呈现出中性面部表情、正面姿势(例如,看着相机)、甚至照明和/或其他因素的图像。该期望因素列表仅作为一个示例提供。
另一方面,非受控图像可以是不满足所有数量的期望因素的图像。例如,非受控图像可以是图像和/或对象未能呈现中性面部表情、正面姿势、甚至照明和/或其他因素的图像。例如,在糟糕的照明条件的情况下,人不看相机的照片可以是非受控照片。上述期望因素列表仅作为一个示例提供。
根据本公开的一个方面,本公开的系统和方法可以利用高能力图像识别模型的可用性。在一些示例中,图像识别模型可以是学习从图像到低维度空间的映射的深度学习模型(例如,深度卷积网络)。在一些实现中,较低维度空间中的距离可以直接对应于图像相似性的度量。
图像识别模型的一个示例类型是面部识别模型。类似于以上描述,面部识别模型可以是学习从描绘面部的图像到较低维度空间的映射的深度学习模型(例如,深度卷积网络)。一旦产生了这个空间,就可以使用以嵌入作为特征向量的标准技术来实现诸如面部识别、验证和聚类之类的任务。
f.F.Schroff、D.Kalenichenko和J.Philben的论文FaceNeT:用于面部识别和聚类的统一嵌入(FaceNet:A Unified Embedding for Face Recognition and Clustering),IEEE计算机学会会议记录,CVPR,2015年,描述了面部识别模型的一个示例。这个论文描述的面部识别模型仅作为一个示例提供。本公开不限于由这个论文描述的特定面部识别模型的特定细节。在使用这个论文所描述的面部识别模型的一些实现中,可以从汇集层(pooling layer)(例如,平均汇集层)获取嵌入,该汇集层在结构上位于面部识别模型的深度卷积神经网络部分的结束附近,但是在面部识别模型的L2归一化层之前。例如,从汇集层获取的嵌入可以是1024维的向量。
因此,图像识别模型可以是机器学习模型,其可以接收图像(例如,描绘面部的图像),并且作为响应,(例如,在输出层或中间层)在较低维度空间中产生嵌入。这种嵌入可用于各种任务,主要包括确定输入图像中示出的图像与其他图像的相似程度的度量。例如,面部识别模型可用于确定第一图像中示出的第一面部与其他图像中示出的其他面部的相似程度的度量。
然而,由于由图像识别模型产生的嵌入在独特的、不透明的维度空间中表达,所以该嵌入通常是不能被人理解或解析的。换句话说,典型地,人通常不能从图像识别模型中查看嵌入并辨别关于特定面部属性(例如,眼睛颜色、头发长度等)的任何离散信息。因此,通常来自图像识别模型的嵌入尚未被视为对任何类型的面部重建技术的有用输入。因而,本公开提供利用来自图像识别模型的嵌入的新技术和流水线以用于面部重建的目的,从而提供对图像识别模型嵌入的感知不透明的技术问题的技术方案。
特别地,根据另一方面,本公开提供了能够根据从图像识别模型中获取的嵌入来重建面部表示的面部重建模型。在一些实现中,面部重建模型可以被构造为翻译模型和面部建模器。在其他实现中,面部重建模型可以被构造为自动编码器。例如,自动编码器可以是变分自动编码器。
更具体地,在本公开的一些实现中,小型、轻量级翻译模型可以在结构上位于在图像识别模型和面部建模器之间。翻译模型可以是机器学习模型,其被训练成接收由图像识别模型生成的嵌入,并且作为响应,输出多个面部建模参数值。在一些实现中,翻译模型可以是神经网络,诸如,例如深度前馈神经网络。作为一个特定的非限制性示例,翻译模型可以是三层、完全连接的神经网络回归模型。
根据另一方面,在本公开的一些实现中,可以在包括分别用多个示例面部建模参数值标记的多个示例嵌入的训练数据集上训练翻译模型。在一些实现中,为了生成这样的训练数据集,本公开的系统和方法可以使用变形模型训练集来生成具有不同面部建模参数值的面部。然后可以将面部变形分别输入到图像识别模型中,以获取每个面部变形的相应嵌入。可以用用于获取这种嵌入的面部变形的相应面部建模参数值来标记每个嵌入。因此,可以使用多个面部变形来产生多个示例嵌入。可以用多个示例面部建模参数值来分别标记示例嵌入,该多个示例面部建模参数值分别与分别用于生成示例嵌入的多个面部变形相关联。使用这样的训练数据,可以将翻译模型训练成将输入嵌入转换成面部建模参数值。
根据另一方面,在一些实现中,面部建模器可以使用翻译模型输出的多个面部建模参数值来生成面部模型(例如,面部的三维网格模型)。面部建模器可以是用于根据面部建模参数值创建面部模型或图像的任何算法。
更具体地,在一些实现中,面部建模器可以使用变形面部模型来基于面部建模参数值生成面部模型。一个示例性可变形面部模型可以包括将面部几何形状以二维特征点(landmark)位置的形式进行参数化,并将面部纹理参数化成一个或多个训练图像的线性组合。在一些实现中,几何形状和纹理坐标可以用主成分分析(principal componentsanalysis,PCA)压缩。
在一些实现中,可变形面部模型可以从多个训练图像(例如,受控训练图像)中生成。例如,在一些实施例中,图像识别模型(例如,面部识别模型)可以被设计成从嵌入中去除由于姿势、照明和/或表情而引起的变化。因而,可变形模型可以从姿态、照明和/或表情恒定的图像中建造。例如,可以使用具有在均匀柔和的照明下带有中性表情的、正面的对象的训练图像。尽管可以使用姿势、照明和表情的任何恒定组合,但是上述组合提供了用于测量静止面部属性的最有用的输出。
在一些实现中,从受控训练图像创建可变形面部模型可以如下执行:1. 计算每个训练图像的面部特征点;2.找到面部特征点的平均集(例如,通过对所有训练图像的特征点求和;3.将每个训练图像扭曲(wrap)到面部特征点的平均集合;4.将特征点的位置和扭曲的图像拼接(concatenate)成两个大矩阵;并且5.计算特征点和图像(几何形状和纹理)矩阵的分解(例如,PCA 分解)。在一些实现中,特征点位置和扭曲的图像被拼接成维度为L×N和P ×N的两个大矩阵,其中,L=特征点数量*2,P=像素数量*3。在一些实现中,在获得足够的精度之后,分解可以被截断。作为一个示例,可以为特征点保留大约80个分量,而为图像纹理保留大约2000个分量。分解中的坐标可以形成可变形面部模型的面部建模参数。
如上所述,面部建模器可以使用可变形面部模型来根据多个面部建模参数值(例如,由翻译模型提供的面部建模参数值)生成面部模型。在一个示例中,可以通过首先反投影(unprojecting)几何形状和纹理的PCA值(例如,通过乘以存储的PCA基矩阵)来执行根据参数值生成模型。这可以产生特征点的集和扭曲的图像。接下来,通过从平均特征点到重建后特征点的扭曲,图像可以被反扭曲(unwarp),从而提供面部模型。
在一些实现中,所生成的面部模型可用于合成面部的受控图像或渲染。例如,渲染器可以使用该模型渲染具有中性表情的、正面、照明均匀的面部图像。在一些实现中,可以从面部模型和/或所渲染的面部的受控图像中断定面部的一个或多个面部属性(例如,面部形状、眼睛颜色、头发长度等)的值。
根据本公开的另一方面,在一些实现中,面部重建模型可以被构造为自动编码器,诸如例如,变分自动编码器。例如,自动编码器(例如,变分自动编码器)可以从图像识别模型接收嵌入,并且可以输出面部模型和/或面部渲染(例如,受控渲染)。因此,自动编码器可以同时学习以执行属于以上翻译模型和面部建模器/渲染器的功能。与使用自动编码器相关的一个效益是改善了某些面部属性的结果,诸如例如头发。但是,使用自动编码器时,显式面部建模参数值通常不可用。
因此,本公开提供了可以基于输入的面部图像(例如,面部的非受控图像)生成面部模型(例如,面部的三维模型)和/或面部渲染(例如,受控渲染)的系统和方法。模型和/或渲染可以用于许多不同的用途。作为一个示例,模型和/或渲染可用于生成面部的风格化卡通(例如,个性化表情)。作为另一示例,该模型可用于生成逼真的面部的三维渲染,以用作虚拟现实环境中的头像(例如,表示参与多用户虚拟现实或游戏环境的用户)。作为又一示例,面部建模参数值可用于比较两个人之间的外观相似性(例如,基于面部建模参数值找到看起来像用户的名人的应用)。此外,由于本公开的一些实现可以基于非受控图像生成受控渲染,所以被认为是仅适用于受控图像的任何技术或使用现在也可以扩展到非受控图像。
因此,本公开提供了利用深度学习和新颖的处理流水线来执行面部重建的系统和方法,并且在一些实现中,基于面部的输入图像自动确定面部属性值。
特别地,根据本公开的一个方面,在一些实现中,本文描述的系统和方法可以以前馈(例如,非迭代)的方式来执行面部重建和/或属性值的自动确定,这可以减少执行面部重建所需的时间量和处理能力。因此,本公开的系统和方法提供了一种技术方案,该技术方案消除了面部重建技术对迭代优化的不期望的依赖和/或不期望地使用大的图像训练集和面部建模参数。因而,提供了改善处理时间和降低处理成本的技术效益。
此外,本公开的系统和方法由于其相对于非受控图像的鲁棒性而特别有益。更具体地,如上所述,本公开的系统和方法是鲁棒的,并且可以使用受控图像和/或非受控图像两者作为输入。
许多现有的重建技术和/或属性测量技术对于非受控图像不是鲁棒的,并且当给定非受控图像作为输入时表现糟糕。然而,本公开的系统和方法可以使用受控图像或非受控图像作为输入,具有相似的质量结果。因此,本公开的系统和方法提供了一种技术方案,该技术方案使得能够基于面部的非受控图像进行面部重建和/或自动生成面部属性的精确值。因而,提供了改进对非受控图像的鲁棒性的技术效益。
现在参考附图,将更详细地讨论本公开的示例性实施例。
示例用例
本公开提供了能够基于面部图像生成重建的面部表示的系统和方法。例如,重建的表示可以是面部的三维模型或面部的二维渲染(例如,受控面部渲染)。重建的表示可以用于多种目的,包括,例如,确定一个或多个面部属性的值和/或生成面部的艺术渲染。
作为一个示例,面部的艺术渲染可以是面部的风格化卡通(例如,个性化的表情)。作为另一示例,三维模型可用于生成逼真的面部渲染,以用作虚拟现实环境中的头像(例如,表示参与多用户虚拟现实或游戏环境的用户)。作为又一示例,由本公开的系统和方法生成的面部建模参数值可用于比较两个人之间的外观相似性。例如,计算机应用可以使用面部建模参数值或确定的属性值来识别看起来像已经上传了自己的图像的用户的名人。此外,由于本公开的一些实现方式可以基于非受控图像生成受控渲染,所以现在也可以将仅适用于受控图像的任何技术或用途扩展到非受控图像。
作为一个示例,图1A描绘了根据本公开的示例实施例的从示例图像10 生成示例艺术渲染30的面部重建系统20的示例使用。特别地,如所示出的,艺术渲染30可以是以卡通方式近似图像10所描绘的面部的个性化表情。图像10可以是受控图像或非受控图像。
因此,面部重建系统20可以被实现为这样的有用特征:如果用户这样选择,则提供个性化表情30。例如,用户可以选择上传自己的图像10以接收个性化表情30。
示例系统
图1B描绘了根据本公开的示例性实施例的示例性计算机化面部重建系统100的框图。系统100包括通过网络180通信耦合的用户计算设备102、服务器计算系统130和训练计算系统150。
用户计算设备102可以是任何类型的计算设备,诸如例如,个人计算设备(例如膝上型或台式)、移动计算设备(例如,智能手机或平板电脑)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备或任何其他类型的计算设备。
用户计算设备102包括一个或多个处理器112和存储器114。一个或多个处理器112可以是任何合适的处理设备(例如,处理器内核、微处理器、ASIC、 FPGA、控制器、微控制器、GPU等),并且可以是可操作地连接的一个处理器或多个处理器。存储器114可以包括一个或多个非暂时性计算机可读存储介质,例如,RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等、以及它们的组合。存储器114可以存储由处理器112运行以使用户计算设备102 执行操作的数据116和指令118。在一些实现中,数据116可以包括由用户存储的图像。在一些实现中,数据116可以包括可变形面部模型。
用户计算设备102可以存储或包括用于执行面部重建和渲染的一个或多个模型或其他组件。特别地,作为示例,在一些实现中,用户计算设备102 可以包括以下各项中的一些或全部:图像识别模型120、面部重建模型122、属性测量器124、艺术渲染器126和可变形模型生成器128。在其他实现中,这些组件中的一些或全部仅位于服务器计算系统130处(例如,如组件140-148 所示)。
在一些实现中,组件120-128中的一些或全部(或其子组件部分)可以是机器学习的。还将参考图2-图6中的相似命名的组件来描述这些组件 120-128的示例结构和功能。同样,这些组件120-128中的各个组件可以被实现为执行图7-图10的示例方法700-1000的各个方面。例如,可变形模型生成器128可被实现为执行图10的1000以生成可变形面部模型。
在一些实现中,组件120-128中的一些或全部可以由用户计算设备102 通过网络180从服务器计算系统130接收,存储在用户计算设备存储器114 中,并且由一个或多个处理器112使用或以其他方式实现。在一些实现中,可以由训练计算系统150训练(例如,与服务器计算系统130协作)组件 120-128中的一个或多个机器学习的部分,然后提供给用户计算设备102(例如,由服务器计算系统130通过网络180提供)。
服务器计算系统130包括一个或多个处理器132和存储器134。一个或多个处理器132可以是任何合适的处理设备(例如,处理器内核、微处理器、 ASIC、FPGA、控制器、微控制器、GPU等),并且可以是可操作地连接的一个处理器或多个处理器。存储器134可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等,以及它们的组合。存储器134可以存储由处理器132运行以使服务器计算系统130执行操作的数据136和指令138。在一些实现中,数据136可以包括用户上传的图像。在一些实现中,数据136可以包括可变形面部模型。
在一些实现中,服务器计算系统130包括一个或多个服务器计算设备或由一个或多个服务器计算设备以其他方式实现。在服务器计算系统130包括复数个服务器计算设备的实例中,这样的服务器计算设备可以根据顺序计算体系结构、并行计算体系结构、或它们的一些组合来操作。
服务器计算系统130可以存储或包括用于执行面部重建和渲染的一个或多个模型或其他组件。特别地,作为示例,在一些实现中,服务器计算系统 130可以包括以下各项中的一些或全部:图像识别模型140、面部重建模型 142、属性测量器144、艺术渲染器146和可变形模型生成器148。在其他实现中,这些组件中的一些或全部仅位于用户计算设备102处(例如,如组件 120-128所示)。不同组件的各种组合可以位于各种不同的位置。
在一些实现中,组件140-148中的一些或全部(或其子组件部分)可以是机器学习的。将参考图2-图6中的相似命名的组件进一步描述这些组件 140-148的示例结构和功能。同样,这些组件140-148中的各个组件可以被实现为执行图7-图10的示例方法700-1000的各个方面。例如,可变形模型生成器148可被实现为执行图10的1000以生成可变形面部模型。
在一些实现中,可以由训练计算系统150训练(例如,与服务器计算系统130协作)组件140-148中的一个或多个机器学习的部分。因此,在一些实现中,服务器计算系统130可以经由与通过网络180通信耦合的训练计算系统150的交互来训练组件140-148中的一个或多个机器学习的部分。训练计算系统150可以与服务器计算系统130分离,或者可以是服务器计算系统 130的一部分。
训练计算系统150包括一个或多个处理器152和存储器154。一个或多个处理器152可以是任何合适的处理设备(例如,处理器内核、微处理器、 ASIC、FPGA、控制器、微控制器等),并且可以是可操作地连接的一个处理器或多个处理器。存储器154可以包括一个或多个非暂时性计算机可读存储介质,诸如,RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及它们的组合。存储器154可以存储由处理器152运行以使训练计算系统150执行操作的数据156和指令158。在一些实现中,训练计算系统150包括一个或多个服务器计算设备或由一个或多个服务器计算设备以其他方式实现。
训练计算系统150可以包括模型训练器160,该模型训练器160使用各种训练或学习技术来训练机器学习的模型,诸如例如,误差的后向传播。模型训练器160可以执行多种泛化技术(例如,权重衰减、抛弃(dropouts)等) 以提高正在训练的模型的泛化能力。
特别地,模型训练器160可以基于训练数据162的集合训练一个或多个机器学习模型。在一些实现中,模型训练器160可以执行图9的示例方法900,以生成训练数据162和/或训练包括在面部重建模型122、142的一些实现中的机器学习的翻译模型。
在一些实现中,图像识别模型120、140、面部重建模型122、142、属性测量器142、144、艺术渲染器126、146、可变形模型生成器128、148和模型训练器160中的一些或全部包括用于提供期望功能的计算机逻辑。图像识别模型120、140、面部重建模型122、142、属性测量器142、144、艺术渲染器126、146、可变形模型生成器128、148和模型训练器160中的一些或全部可以用控制通用处理器的硬件、固件和/或软件来实现。例如,在一些实现中,图像识别模型120、140、面部重建模型122、142、属性测量器142、 144、艺术渲染器126、146、可变形模型生成器128、148和模型训练器160 中的一些或全部包括存储在存储设备上、加载到存储器中并由一个或多个处理器执行的程序文件。在其他实现中,图像识别模型120、140、面部重建模型122、142、属性测量器142、144、艺术渲染器126、146、可变形模型生成器128、148和模型训练器160中的一些或全部包括存储在诸如RAM硬盘或光盘或磁介质的有形计算机可读存储介质中的一组或多组计算机可执行指令。
网络180可以是任何类型的通信网络,诸如局域网(例如内联网)、广域网(例如因特网)或它们的一些组合,并且可以包括任何数量的有线或无线链路。一般来说,可以使用各种通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML、XML)和/或保护方案(例如,VPN、安全HTTP、SSL)经由任何类型的有线和/或无线连接来承载经过网络180的通信。
图1B示出了可用于实现本公开的一个示例计算系统。也可以使用其他计算系统。例如,在一些实现中,用户计算设备可以包括模型训练器160和训练数据162。在这样的实现中,可以在用户计算设备处本地训练和使用图像识别模型和/或面部重建模型两者。
示例流水线和模型布置
图2描绘了根据本公开的示例实施例的示例面部重建流水线的框图。示例流水线包括图像识别模型202和面部重建模型204。图2的示例流水线以面部图像206开始。例如,图像206可以用户上传,该用户期望例如他的面部的艺术表示。
图像识别模型202可以接收图像206,并且作为响应,提供嵌入208。在一些示例中,图像识别模型202可以是学习从图像到较低维度空间的映射的深度学习模型(例如,深度卷积网络)。在一些实现中,较低维度空间中的距离可以直接对应于图像相似性的度量。可以在图像识别模型202的输出层或在中间层(例如,汇集层)提供嵌入208。
在一些示例中,图像识别模型202可以是面部识别模型。类似于以上描述,面部识别模型可以是学习从描绘面部的图像到较低维度空间的映射的深度学习模型(例如,深度卷积网络)。f.F.Schroff、D.Kalenichenko和J.Philben 的论文FaceNeT:用于面部识别和聚类的统一嵌入,IEEE计算机学会会议记录,CVPR,2015年,描述了面部识别模型的一个示例。该论文描述的面部识别模型仅作为一个示例提供。本公开不限于由该论文描述的特定面部识别模型的特定细节。在使用了该论文所描述的面部识别模型的一些实现中,可以从汇集层(例如,平均汇集层)获取嵌入,该汇集层在结构上位于面部识别模型的深度卷积神经网络部分的结束附近,但是在面部识别模型的L2归一化层之前。例如,从汇集层获取的嵌入可以是1024维的向量。
面部重建模型204可以接收嵌入208,并且作为响应,输出面部的重建表示210。作为示例,面部的重建表示210可以是面部模型(例如,三维模型)或面部渲染(例如,受控渲染)。在一些实现中,面部重建模型204可以被构造为翻译模型和面部建模器。在其他实现中,面部重建模型可以被构造为自动编码器。例如,自动编码器可以是自动编码器。
作为示例,图3描绘了根据本公开的示例性实施例的示例性面部重建模型300的框图。面部重建模型300包括翻译模型302和面部建模器304。
在一些实现中,翻译模型302可以是机器学习模型,其被训练成接收由图像识别模型202生成的嵌入208,并且作为响应,输出多个面部建模参数值306。在一些实现中,翻译模型302可以是神经网络,诸如,例如深度前馈神经网络。作为一个特定的非限制性示例,翻译模型可以是三层、完全连接的神经网络回归模型。
在本公开的一些实现中,可以在包括分别用多个示例面部建模参数值标记的多个示例嵌入的训练数据集上训练翻译模型302。在一些实现中,为了生成这样的训练数据集,本公开的系统和方法可以使用可变形模型训练集来生成具有不同面部建模参数值的面部。然后可以将面部变形分别输入到图像识别模型202中,以获取这种面部变形的相应嵌入。可以用用于获取这种嵌入的面部变形的相应面部建模参数值来标记每个嵌入。因此,可以使用多个面部变形来产生多个示例嵌入。可以用多个示例面部建模参数值来分别标记示例嵌入,该多个示例面部建模参数值分别与分别用于生成示例嵌入的多个面部变形相关联。
面部建模器304可以使用翻译模型302输出的多个面部建模参数值306 来生成面部模型308(例如,面部的三维模型)。面部建模器304可以是用于根据面部建模参数值创建面部模型或面部图像的任何算法。
更具体地,在一些实现中,面部建模器304可以使用可变形面部模型来基于面部建模参数值306生成面部模型308。一个示例性可变形面部模型可以包括将面部几何形状以二维特征点位置形式参数化,并将面部纹理参数化成一个或多个训练图像的线性组合。在一些实现中,几何形状和纹理坐标可以用主成分分析(PCA)压缩。
在一些实现中,可变形面部模型可以从多个受控训练图像生成。例如,在一些实施例中,图像识别模型202(例如,面部识别模型)可以被设计成从嵌入中去除由于姿势、照明和/或表情而引起的变化。因而,可变形模型可以从姿态、照明和/或表情恒定的图像中建造。例如,可以使用具有在均匀柔和的照明下带有中性表情的、正面的对象的训练图像。尽管可以使用姿势、照明和表情的任何恒定组合,但是上述组合提供了用于测量静止面部属性的最有用的输出。
在一些实现中,根据受控训练图像创建可变形面部模型可以如下执行: 1.计算每个训练图像的面部特征点;2.找到面部特征点的平均集合(例如,通过对所有训练图像的特征点求和;3.将每个训练图像扭曲到面部特征点的平均集合;4.将特征点的位置和扭曲的图像拼接成两个大矩阵;和5.计算特征点和图像(几何形状和纹理)矩阵的PCA分解。在一些实现中,特征点位置和扭曲的图像被拼接成维度为L×N和P×N的两个大矩阵,其中,L=特征点数量*2,P=像素数量*3。在一些实现中,在获得足够的精度之后,PCA分解可以被截断。作为一个示例,可以为特征点保留大约80个分量,而为图像纹理保留大约2000个分量。PCA分解中的坐标可以形成可变形面部模型的面部建模参数。
如上所述,面部建模器304可以使用可变形面部模型来根据翻译模型302 提供的多个面部建模参数值306生成面部模型308。在一个示例中,从参数值306到模型308的生成可以通过首先反投影几何形状和纹理的PCA值(例如,通过乘以存储的PCA基矩阵)来执行。这可以产生特征点和扭曲的图像集合。接下来,通过从平均特征点到重建特征点的扭曲,图像可以被反扭曲,从而提供面部模型。在其他实现中,面部建模器304可以被构造为神经网络。
在一些实现中,所生成的面部模型308可用于合成面部的受控图像或渲染。作为示例,图4描绘了根据本公开的示例性实施例的示例性面部重建模型400的框图。面部重建模型400类似于图3的面部重建模型300,除了 (except)面部重建模型400还包括面部渲染器402。面部渲染器402可以使用面部建模器304提供的模型308来渲染面部的二维渲染404。例如,面部的二维渲染404可以是受控渲染(例如,具有中性表情的、正面的、均匀照明的面部图像)。
在一些实现中,可以根据面部模型308和/或面部的渲染图像404断定一个或多个面部属性的值。作为示例,图5描绘了根据本公开的示例实施例的示例艺术渲染流水线的框图。图5的示例流水线包括属性测量器502和艺术渲染器506。
属性测量器502可以接收面部的二维渲染404,并且作为响应,输出一个或多个测量的面部属性504。在一些实现中,属性测量器502可以包括输出各种面部属性504的度量的一个或多个机器学习的分类器或回归模型。例如,可以在已经用面部属性的地面真值(ground truth)手动标记的训练图像上训练机器学习分类器或回归模型。可替换地或附加地,可以直接根据二维渲染来测量某些属性。示例面部属性包括音调;面部毛发;颚形;发色;发型;面宽/比例;眼睛、鼻子和/或嘴形;表情;细纹特征,诸如,皱纹;和/ 或其他面部属性。
艺术渲染器506可以接收测量的面部属性504,并且作为响应,输出面部的艺术渲染508。在一个示例中,艺术渲染器506可以基于所测量的面部属性504来选择某些预定义的属性模板。所选择的属性模板可以被组合以生成艺术渲染508。在一个示例中,艺术渲染508可以是个性化表情。
图6描绘了根据本公开的示例实施例的替代示例面部重建模型600的框图。面部重建模型600包括自动编码器,诸如例如,自动编码器602,如图所示。例如,自动编码器602可以是变分自动编码器。
自动编码器602可以从图像识别模型202接收嵌入208,并且可以输出面部的重建表示210。面部的重建表示210可以是面部模型和/或面部的受控图像。因此,自动编码器602可以同时学习以执行属于以上翻译模型和面部建模器/渲染器的功能。与使用自动编码器相关的一个效益是某些面部特征 (诸如例如,头发)的改进结果。但是,使用自动编码器时,显式面部建模参数值通常不可用。
示例方法
图7描绘了根据本公开的示例性实施例的根据面部图像生成面部的艺术渲染的示例方法700的流程图。
在702,计算系统获取面部图像。例如,图像可以由用户上传或以其他方式选择。图像可以是受控图像或非受控图像。
在704,计算系统响应于接收到面部图像而获取由机器学习的图像识别模型提供的嵌入。例如,嵌入可以由机器学习的图像识别模型在输出层或中间层(例如,汇集层)提供。例如,图像识别模型可以是面部识别模型。
在706,计算系统将嵌入输入到机器学习的面部重建模型中。在一些实现中,面部重建模型可以被构造为翻译模型和面部建模器。在其他实现中,面部重建模型可以被构造为自动编码器。例如,自动编码器可以是变分自动编码器。
在708,计算系统从面部重建模型接收重建的面部表示。作为示例,重建的面部表示可以是面部模型(例如,三维模型)或面部渲染(例如,受控渲染)。
在710,计算系统至少部分地基于重建的面部表示来生成面部的艺术渲染。作为一个示例,面部的艺术渲染可以是风格化的面部卡通(例如,个性化表情)。作为另一个示例,三维模型可用于生成逼真的面部渲染,以用作虚拟现实环境中的头像(例如,表示参与多用户虚拟现实或游戏环境的用户)。
图8描绘了根据本公开的示例性实施例的从嵌入生成面部的艺术渲染的示例性方法800的流程图。
在802,计算系统获取由机器学习的图像识别模型提供的嵌入。图像识别模型响应于接收到面部图像而产生嵌入。例如,可以由机器学习的图像识别模型在输出层或中间层(例如,汇集层)提供嵌入。例如,图像识别模型可以是面部识别模型。
在804,计算系统将嵌入输入到机器学习的翻译模型中。在一些实现中,翻译模型可以是机器学习的模型,其被训练成接收由图像识别模型生成的嵌入,并且作为响应,输出多个面部建模参数值。在一些实现中,翻译模型可以是神经网络,诸如例如,深度前馈神经网络。作为一个特定的非限制性示例,翻译模型可以是三层、完全连接的神经网络回归模型。
在806,计算系统接收作为翻译模型的输出的多个面部建模参数值。在 808,计算系统将多个面部建模参数输入到面部建模器中。面部建模器可以使用翻译模型输出的多个面部建模参数值来生成面部模型(例如,面部的三维模型)。面部建模器可以是用于根据面部建模参数值创建面部的模型或图像的任何算法。更具体地,在一些实现中,面部建模器可以使用可变形面部模型来基于面部建模参数值306生成面部模型。
在810,计算系统接收作为面部建模器的输出的面部的三维模型。在812,计算系统至少部分地基于三维模型生成面部的艺术渲染。
图9描绘了根据本公开的示例性实施例的训练翻译模型的示例方法900 的流程图。
在902,计算系统生成分别与彼此不同的多个示例面部建模参数值。
在一些实现中,计算系统可以根据一个或多个种子图像生成多个示例面部建模参数值。例如,计算系统可以以下述方式生成多个示例面部建模参数值。1.随机选择训练图像;2.在可变形模型的参数空间中识别所选择的训练图像的k个最近的邻元素;3.选择要在这些邻元素之间变形的p<k个邻元素; 4.随机选择和为1的p+1个变形权重(例如,对于p个邻元素加上原始图像); 5.计算参数的加权和。在一些实现中,可以使用多个不同的种子训练图像来多次执行上面刚刚描述的操作,以生成多个示例面部建模参数值。
在904,计算系统至少部分地基于多个示例面部建模参数值分别生成多个面部变形。例如,面部建模器和/或面部渲染器可用于根据多个示例面部建模参数值生成面部变形。在一些实现中,可以由多个示例面部建模参数值描述的面部的二维渲染来控制面部变形。
在906,计算系统将多个面部变形输入到机器学习的图像识别模型中,以分别获取多个示例嵌入。在908,计算系统分别用多个示例面部建模参数值来标记多个示例嵌入。
在910,计算系统至少部分地基于标记的训练数据训练翻译模型。例如,误差的反向传播可用于在已标记的训练数据上训练神经网络。
图10描绘了根据本公开的示例实施例的用于生成可变形面部模型的示例方法1000的流程图。
在1002,计算系统识别多个受控面部图像中的每一个受控面部图像的多个面部特征点。例如,可以使用移动视觉服务(例如,经由API)来识别面部特征点。
在1004,计算系统确定多个受控面部图像的面部特征点的平均集合。例如,确定平均可以包括对所有训练图像的特征点求和。
在1006,计算系统扭曲多个受控面部图像中的每一个受控面部图像,使得针对这样的受控面部图像所识别的面部特征点与面部特征点的平均集合对齐。这可以对齐所有训练图像的面部特征。
在1008,计算系统将特征点位置和扭曲的图像拼接成两个大矩阵。例如,在一些实现中,特征点位置和扭曲的图像被拼接成维度为L×N和P×N的两个大矩阵,其中L=特征点数量*2,P=像素数量*3。
在1010,计算系统确定对多个扭曲的受控面部图像的分解。分解的坐标可以形成可变形面部模型的多个面部建模参数值。在一个示例中,在1008确定分解包括确定对在1008生成的两个矩阵的主成分分析(PCA)分解。在一些实现中,在获得足够的精度之后,分解可以被截断。作为一个示例,可以为特征点保留大约80个分量,而为图像纹理保留大约2000个分量。
补充公开
这里讨论的技术涉及服务器、数据库、软件应用和其他基于计算机的系统,以及所采取的动作和发送到这些系统和从这些系统发送的信息。基于计算机的系统的固有灵活性允许组件之间和组件当中的任务和功能的大量的可能配置、组合和划分。例如,本文讨论的过程可以使用单个设备或组件、或者多个设备或组件组合工作来实现。数据库和应用可以在单个系统上实现,也可以分布在多个系统上。分布式组件可以顺序或并行操作。
尽管已经相对于本发明的各种具体示例实施例详细描述了本主题,但是每个示例都是通过解释而非限制本公开的方式提供的。本领域技术人员在理解前述内容后,可以容易地对这些实施例进行改变、变化和等同。因此,本公开并不排除包括对本主题的这种修改、变化和/或添加,这对于本领域普通技术人员来说是显而易见的。例如,作为一个实施例的一部分示出或描述的特征可以与另一实施例一起使用,以产生又一实施例。因此,本公开旨在覆盖这样的改变、变化和等同物。
特别地,尽管图7-图10分别描述了为了说明和讨论的目的以特定顺序执行的步骤,但是本公开的方法不限于特定说明的顺序或布置。方法700-1000 的各个步骤可以以各种方式省略、重新排列、组合和/或修改,而不偏离本公开的范围。

Claims (16)

1.一种用于获取面部的面部属性数据的计算机实现的方法,该方法包括:
由一个或多个计算设备获取面部图像;
由一个或多个计算设备获取由机器学习的图像识别模型提供的嵌入,所述嵌入是由机器学习的图像识别模型响应于图像识别模型接收到面部图像而提供的;
由一个或多个计算设备将嵌入输入到在训练数据集上训练的机器学习的翻译模型中,所述训练数据集包括用能够由面部建模器用来生成面部模型的多个示例面部建模参数值标记的多个示例嵌入,其中,通过将面部变形输入到机器学习的图像识别模型中来获取示例嵌入,所述面部变形由面部建模器使用相应的示例面部建模参数值生成;
由一个或多个计算设备接收作为翻译模型的输出的多个面部建模参数值,所述多个面部建模参数值描述由一个或多个计算设备获取的图像中包括的面部的多个面部属性;
由一个或多个计算设备将多个面部建模参数值输入到所述面部建模器中,并且
由一个或多个计算设备接收作为面部建模器的输出的面部模型。
2.如权利要求1所述的计算机实现的方法,其中:
由一个或多个计算设备获取面部图像包括由一个或多个计算设备获取面部的非受控图像;并且
由一个或多个计算设备获取嵌入包括由一个或多个计算设备获取由机器学习的图像识别模型响应于图像识别模型接收到面部的非受控图像而提供的嵌入。
3.如权利要求1或权利要求2所述的计算机实现的方法,还包括:
由一个或多个计算设备至少部分地基于面部模型来生成面部的艺术渲染。
4.如权利要求3所述的计算机实现的方法,其中,由一个或多个计算设备生成面部的艺术渲染包括:
由一个或多个计算设备将模型输入到面部渲染器中;并且
由一个或多个计算设备接收作为面部渲染器的输出的面部的受控渲染。
5.如权利要求4所述的计算机实现的方法,还包括:
由一个或多个计算设备根据面部的受控渲染直接断定多个面部属性中的一个或多个面部属性的值。
6.如权利要求1所述的计算机实现的方法,其中,由一个或多个计算设备获取由机器学习的图像识别模型提供的嵌入包括由一个或多个计算设备获取由机器学习的图像识别模型在机器学习的图像识别模型的隐藏层处提供的嵌入。
7.如权利要求1所述的计算机实现的方法,其中,由一个或多个计算设备获取由机器学习的图像识别模型提供的嵌入包括:
由一个或多个计算设备将面部图像输入到机器学习的图像识别模型中;并且
由一个或多个计算设备从机器学习的图像识别模型接收嵌入。
8.如权利要求1所述的计算机实现的方法,还包括:
由一个或多个计算设备基于训练数据集训练翻译模型,所述训练数据集包括分别用多个示例面部建模参数值标记的多个示例嵌入。
9.如权利要求8所述的计算机实现的方法,还包括:
由一个或多个计算设备生成训练数据集,其中生成训练数据集包括:
由一个或多个计算设备生成多个示例面部建模参数值,所述多个示例面部建模参数值彼此不同;
由一个或多个计算设备至少部分地基于多个示例面部建模参数值分别生成面部变形;
由一个或多个计算设备将面部变形输入到机器学习的图像识别模型中,以分别获取多个示例嵌入;
由一个或多个计算设备分别用多个示例面部建模参数值来标记所述多个示例嵌入。
10.一种被配置为从面部图像获取面部属性数据的计算系统,所述计算系统包括:
至少一个处理器;
面部建模器,其可被操作为接收多个面部建模参数值,并且响应于接收到多个面部建模参数值而输出面部模型;
机器学习的翻译模型,其在训练数据集上训练,所述训练数据集包括用能够由面部建模器使用的多个示例面部建模参数值标记的多个示例嵌入,其中,通过将面部变形输入到机器学习的图像识别模型中来获取示例嵌入,所述面部变形由面部建模器使用相应的示例面部建模参数值生成;
其中,所述机器学习的翻译模型可被操作为接收从机器学习的图像识别模型获取的嵌入,并且响应于接收到嵌入,输出描述面部的多个面部属性的多个面部建模参数值;以及
至少一个非暂时性计算机可读介质,其存储指令,所述指令在由所述至少一个处理器执行时使得所述计算系统执行以下各项:
从图像识别模型获取嵌入,所述嵌入由图像识别模型响应于图像识别模型接收到面部图像而产生;
将嵌入输入到翻译模型中;
接收作为翻译模型的输出的多个面部建模参数值;
将多个面部建模参数值输入到所述面部建模器中;并且
接收作为面部建模器的输出的面部模型。
11.如权利要求10所述的计算系统,其中,所述指令的执行还使得所述计算系统:
至少部分地基于面部模型生成面部的艺术渲染。
12.如权利要求10至11中任一项所述的计算系统,还包括:
面部渲染器,其可被操作为接收所述多个面部建模参数值,并且响应于接收到所述多个面部建模参数值,输出面部的受控渲染;
其中,指令的执行还使得计算系统执行以下各项:
将多个面部建模参数值输入到面部渲染器;并且
接收作为面部渲染器的输出的面部的受控渲染。
13.如权利要求12所述的计算系统,其中,所述指令的执行还使得所述计算系统执行以下各项中的至少一个:
根据面部的受控渲染直接断定多个面部属性中的一个或多个面部属性的值;并且
至少部分地基于面部的受控渲染生成面部的艺术渲染。
14.如权利要求10所述的计算系统,还包括:
机器学习的图像识别模型:
其中,指令的执行还使得计算系统执行以下各项:
将面部图像输入到机器学习的图像识别模型中;并且
从机器学习的图像识别模型的汇集层获取嵌入。
15.如权利要求10所述的计算系统,其中,翻译模型包括神经网络。
16.一个或多个非暂时性计算机可读介质,其共同存储:
指令,当由一个或多个计算设备执行时,使得一个或多个计算设备执行权利要求1-9中任一项所述的方法。
CN201780006805.9A 2016-10-31 2017-09-27 基于学习的嵌入的面部重建 Active CN108475438B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210311441.8A CN114694221B (zh) 2016-10-31 2017-09-27 基于学习的面部重建方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662414944P 2016-10-31 2016-10-31
US62/414,944 2016-10-31
PCT/US2017/053681 WO2018080702A1 (en) 2016-10-31 2017-09-27 Face reconstruction from a learned embedding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210311441.8A Division CN114694221B (zh) 2016-10-31 2017-09-27 基于学习的面部重建方法

Publications (2)

Publication Number Publication Date
CN108475438A CN108475438A (zh) 2018-08-31
CN108475438B true CN108475438B (zh) 2022-04-12

Family

ID=60117759

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201780006805.9A Active CN108475438B (zh) 2016-10-31 2017-09-27 基于学习的嵌入的面部重建
CN202210311441.8A Active CN114694221B (zh) 2016-10-31 2017-09-27 基于学习的面部重建方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202210311441.8A Active CN114694221B (zh) 2016-10-31 2017-09-27 基于学习的面部重建方法

Country Status (4)

Country Link
US (3) US10650227B2 (zh)
EP (1) EP3381017B1 (zh)
CN (2) CN108475438B (zh)
WO (1) WO2018080702A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11309081B2 (en) * 2010-10-13 2022-04-19 Gholam A. Peyman Telemedicine system with dynamic imaging
US10403031B2 (en) * 2017-11-15 2019-09-03 Google Llc Learning to reconstruct 3D shapes by rendering many 3D views
US10586370B2 (en) * 2018-01-08 2020-03-10 Facebook Technologies, Llc Systems and methods for rendering avatars with deep appearance models
US11568260B2 (en) * 2018-10-29 2023-01-31 Google Llc Exponential modeling with deep learning features
CN109685873B (zh) * 2018-12-14 2023-09-05 广州市百果园信息技术有限公司 一种人脸重建方法、装置、设备和存储介质
US11995854B2 (en) * 2018-12-19 2024-05-28 Nvidia Corporation Mesh reconstruction using data-driven priors
US10936178B2 (en) * 2019-01-07 2021-03-02 MemoryWeb, LLC Systems and methods for analyzing and organizing digital photos and videos
CN109816764B (zh) 2019-02-02 2021-06-25 深圳市商汤科技有限公司 图像生成方法及装置、电子设备和存储介质
GB2581536B (en) * 2019-02-25 2024-01-17 Huawei Tech Co Ltd Joint shape and texture decoders for three-dimensional rendering
CN109961507B (zh) * 2019-03-22 2020-12-18 腾讯科技(深圳)有限公司 一种人脸图像生成方法、装置、设备及存储介质
CN110335343B (zh) * 2019-06-13 2021-04-06 清华大学 基于rgbd单视角图像人体三维重建方法及装置
AU2020329148A1 (en) * 2019-08-09 2022-03-17 Clearview Ai, Inc. Methods for providing information about a person based on facial recognition
TWI719696B (zh) * 2019-11-01 2021-02-21 財團法人工業技術研究院 臉部影像重建方法與系統
CN112102461B (zh) * 2020-11-03 2021-04-09 北京智源人工智能研究院 一种人脸渲染方法、装置、电子设备和存储介质
AU2021377685A1 (en) * 2020-11-11 2023-06-22 Ids Technology Llc Systems and methods for artificial facial image generation conditioned on demographic information
US11783531B2 (en) 2020-12-01 2023-10-10 Matsuko S.R.O. Method, system, and medium for 3D or 2.5D electronic communication
CN114758090A (zh) * 2020-12-29 2022-07-15 华为技术有限公司 三维模型生成方法及装置
US20220222814A1 (en) * 2021-01-14 2022-07-14 Motahare Amiri Kamalabad System and method for facial and dental photography, landmark detection and mouth design generation
CN114511911A (zh) * 2022-02-25 2022-05-17 支付宝(杭州)信息技术有限公司 一种人脸识别方法、装置以及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090092473A (ko) * 2008-02-27 2009-09-01 오리엔탈종합전자(주) 3차원 변형 가능 형상 모델에 기반한 3차원 얼굴 모델링방법
CN102054291A (zh) * 2009-11-04 2011-05-11 厦门市美亚柏科信息股份有限公司 一种基于单幅人脸图像实现三维人脸重建的方法及其装置
CN105359166A (zh) * 2013-02-08 2016-02-24 意莫森特公司 收集用于表情识别的机器学习训练数据
CN105447473A (zh) * 2015-12-14 2016-03-30 江苏大学 一种基于PCANet-CNN的任意姿态人脸表情识别方法
CN105760821A (zh) * 2016-01-31 2016-07-13 中国石油大学(华东) 基于核空间的分类聚集稀疏表示的人脸识别方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4474546B2 (ja) * 2004-10-05 2010-06-09 国立大学法人東京農工大学 顔形状モデリングシステムおよび顔形状モデリング方法
CN101142586A (zh) * 2005-03-18 2008-03-12 皇家飞利浦电子股份有限公司 执行人脸识别的方法
JP2007026088A (ja) * 2005-07-15 2007-02-01 Oki Electric Ind Co Ltd モデル生成装置
US7848548B1 (en) * 2007-06-11 2010-12-07 Videomining Corporation Method and system for robust demographic classification using pose independent model from sequence of face images
JP4886645B2 (ja) * 2007-09-20 2012-02-29 日本放送協会 仮想顔モデル変形装置及び仮想顔モデル変形プログラム
TW201023092A (en) * 2008-12-02 2010-06-16 Nat Univ Tsing Hua 3D face model construction method
US8811686B2 (en) * 2011-08-19 2014-08-19 Adobe Systems Incorporated Methods and apparatus for automated portrait retouching using facial feature localization
US20130169621A1 (en) * 2011-12-28 2013-07-04 Li Mei Method of creating and transforming a face model and related system
CN104063890A (zh) * 2013-03-22 2014-09-24 中国移动通信集团福建有限公司 一种人脸卡通动漫形象化方法及系统
GB2517212B (en) * 2013-08-16 2018-04-25 Toshiba Res Europe Limited A Computer Generated Emulation of a subject
CN104966316B (zh) * 2015-05-22 2019-03-15 腾讯科技(深圳)有限公司 一种3d人脸重建方法、装置及服务器
CN105404877A (zh) * 2015-12-08 2016-03-16 商汤集团有限公司 基于深度学习和多任务学习的人脸属性预测方法及装置
US10740596B2 (en) * 2016-11-08 2020-08-11 Nec Corporation Video security system using a Siamese reconstruction convolutional neural network for pose-invariant face recognition
WO2018089691A1 (en) * 2016-11-11 2018-05-17 Magic Leap, Inc. Periocular and audio synthesis of a full face image
US10445558B2 (en) * 2017-07-17 2019-10-15 Facebook, Inc. Systems and methods for determining users associated with devices based on facial recognition of images
CN110097606B (zh) * 2018-01-29 2023-07-07 微软技术许可有限责任公司 面部合成
CN109636886B (zh) * 2018-12-19 2020-05-12 网易(杭州)网络有限公司 图像的处理方法、装置、存储介质和电子装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090092473A (ko) * 2008-02-27 2009-09-01 오리엔탈종합전자(주) 3차원 변형 가능 형상 모델에 기반한 3차원 얼굴 모델링방법
CN102054291A (zh) * 2009-11-04 2011-05-11 厦门市美亚柏科信息股份有限公司 一种基于单幅人脸图像实现三维人脸重建的方法及其装置
CN105359166A (zh) * 2013-02-08 2016-02-24 意莫森特公司 收集用于表情识别的机器学习训练数据
CN105447473A (zh) * 2015-12-14 2016-03-30 江苏大学 一种基于PCANet-CNN的任意姿态人脸表情识别方法
CN105760821A (zh) * 2016-01-31 2016-07-13 中国石油大学(华东) 基于核空间的分类聚集稀疏表示的人脸识别方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Deep Learning Face Attributes in the Wild;Ziwei Liu 等;《2015 IEEE International Conference on Computer Vision》;20160218;第3730-3738页 *
Inverting face embeddings with convolutional neural networks;Andrey Zhmoginov 等;《https://arxiv.org/pdf/1606.04189v1.pdf》;20160614;第1-12页 *
LEVERAGING MID-LEVEL DEEP REPRESENTATIONS FOR PREDICTING FACE ATTRIBUTES IN THE WILD;Yang Zhong 等;《2016 IEEE International Conference on Image Processing》;20160819;第3239-3243页 *
基于形状匹配变形模型的三维人脸重构;薛峰 等;《电子学报》;20061030(第10期);第1896-1899页 *

Also Published As

Publication number Publication date
US10650227B2 (en) 2020-05-12
EP3381017B1 (en) 2019-11-06
US20220270402A1 (en) 2022-08-25
WO2018080702A1 (en) 2018-05-03
EP3381017A1 (en) 2018-10-03
CN114694221B (zh) 2024-06-18
US11335120B2 (en) 2022-05-17
CN114694221A (zh) 2022-07-01
US20190095698A1 (en) 2019-03-28
US20200257891A1 (en) 2020-08-13
CN108475438A (zh) 2018-08-31

Similar Documents

Publication Publication Date Title
CN108475438B (zh) 基于学习的嵌入的面部重建
US10489683B1 (en) Methods and systems for automatic generation of massive training data sets from 3D models for training deep learning networks
US11010896B2 (en) Methods and systems for generating 3D datasets to train deep learning networks for measurements estimation
CN112419487B (zh) 毛发三维重建方法、装置、电子设备及存储介质
JP7294788B2 (ja) 3d配置のタイプに応じた2d画像の分類
US11507781B2 (en) Methods and systems for automatic generation of massive training data sets from 3D models for training deep learning networks
US20240193899A1 (en) Methods of estimating a bare body shape from a concealed scan of the body
EP4118619A1 (en) Pose estimation method and apparatus
CN109377563A (zh) 一种人脸网格模型的重建方法、装置、设备和存储介质
CN115461785A (zh) 生成非线性人类形状模型
Neophytou et al. Shape and pose space deformation for subject specific animation
US11880913B2 (en) Generation of stylized drawing of three-dimensional shapes using neural networks
US20230126829A1 (en) Point-based modeling of human clothing
Kim et al. Interactive generation of realistic facial wrinkles from sketchy drawings
US20230079478A1 (en) Face mesh deformation with detailed wrinkles
CN116912433B (zh) 三维模型骨骼绑定方法、装置、设备及存储介质
Zhu et al. HiFiHR: Enhancing 3D Hand Reconstruction from a Single Image via High-Fidelity Texture
US20240221316A1 (en) System and method for reconstruction of a three-dimensional human head model from a single image
Pei et al. Tissue map based craniofacial reconstruction and facial deformation using rbf network
CN118262035A (zh) 从单个图像重建三维人类头部模型的系统和方法
US20230394734A1 (en) Generating Machine-Learned Inverse Rig Models
Bukar et al. A nonlinear appearance model for age progression
Lund et al. AI-Driven Fashion: A New Era of Personalized Virtual Fitting and Styling
CN118262034A (zh) 从图像重建可动画化的三维人类头部模型的系统和方法
CN116993929A (zh) 基于人眼动态变化的三维人脸重建方法、装置及存储介质

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