CN114333034A - 人脸姿态估计方法、装置、电子设备及可读存储介质 - Google Patents

人脸姿态估计方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN114333034A
CN114333034A CN202210003158.9A CN202210003158A CN114333034A CN 114333034 A CN114333034 A CN 114333034A CN 202210003158 A CN202210003158 A CN 202210003158A CN 114333034 A CN114333034 A CN 114333034A
Authority
CN
China
Prior art keywords
face
dimensional key
key point
point set
dimensional
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.)
Pending
Application number
CN202210003158.9A
Other languages
English (en)
Inventor
杨云
芦爱余
李志文
奉万森
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.)
Guangzhou Huya Technology Co Ltd
Original Assignee
Guangzhou Huya Technology Co Ltd
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 Guangzhou Huya Technology Co Ltd filed Critical Guangzhou Huya Technology Co Ltd
Priority to CN202210003158.9A priority Critical patent/CN114333034A/zh
Publication of CN114333034A publication Critical patent/CN114333034A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Abstract

本发明提供的人脸姿态估计方法、装置、电子设备及可读存储介质,方法包括:获得待重建人脸的二维关键点集、三维关键点集和标准人脸模型的三维关键点集;根据人脸姿态估计标准人脸模型的三维关键点集,对人脸姿态估计待重建人脸的三维关键点集进行配准,得到人脸姿态估计待重建人脸对应的人脸姿态参量的初始值;根据人脸姿态估计二维关键点集中预设数量个目标二维关键点、人脸姿态估计三维关键点集中人脸姿态估计预设数量个目标三维关键点和人脸姿态估计初始值,估计人脸姿态估计人脸姿态参量的参数值。本发明在优化人脸姿态参数的过程中不需要用到全部人脸关键点,从而降低了计算复杂度和耗时。

Description

人脸姿态估计方法、装置、电子设备及可读存储介质
技术领域
本发明涉及计算机视觉技术领域,具体而言,涉及一种人脸姿态估计方法、装置、电子设备及可读存储介质。
背景技术
随着科学技术的发展,人类与虚拟世界的交互方式也在不断改变。通常会通过人脸重建技术获得用户的人脸三维模型,然后应用到游戏、社交、影视等领域,提升人们的娱乐体验。
目前,重建的三维人脸可以在渲染空间内叠加一些应用功能,为还需要利用人脸姿态参数将重建的三维人脸通过透视投影到二维图像中,从而保证应用功能能够与人脸很好的贴合,然而,传统的人脸姿态参数解算大多会使用全部的人脸关键点会做优化,这种解算的准确率虽然较高,但是计算量较大而且非常耗时。
因此,如何提供一种计算量小且准确度高的人脸姿态参数解算方式是需要解决的技术问题。
发明内容
本发明的目的之一在于提供一种人脸姿态估计方法、装置、电子设备及可读存储介质,用以在获得准确的人脸姿态参数的同时还能降低计算复杂度和耗时,本发明的实施例可以这样实现:
第一方面,本发明提供一种人脸姿态估计方法,所述方法包括:
获得待重建人脸的二维关键点集、三维关键点集和标准人脸模型的三维关键点集;
根据所述标准人脸模型的三维关键点集,对所述待重建人脸的三维关键点集进行配准,得到所述待重建人脸对应的人脸姿态参量的初始值;
根据所述二维关键点集中预设数量个目标二维关键点、所述三维关键点集中所述预设数量个目标三维关键点和所述初始值,估计所述人脸姿态参量的参数值;其中,所述预设数量小于所述二维关键点集的且小于全部三维关键点的数量。
第二方面,本发明提供一种人脸姿态估计装置,包括:
获得模块,用于获得待重建人脸的二维关键点集、三维关键点集和标准人脸模型的三维关键点集;
配准模块,用于根据所述标准人脸模型的三维关键点集,对所述待重建人脸的三维关键点集进行配准,得到所述待重建人脸对应的人脸姿态参量的初始值;
优化模块,用于根据所述二维关键点集中预设数量个目标二维关键点、所述三维关键点集中所述预设数量个目标三维关键点和所述初始值,估计所述人脸姿态参量的参数值。
第三方面,本发明提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序以实现第一方面所述的方法和/或实现第二方面所述的方法。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法和/或实现第二方面所述的方法。
本发明提供的人脸姿态估计方法、装置、电子设备及可读存储介质,方法包括:获得待重建人脸的二维关键点集、三维关键点集和标准人脸模型的三维关键点集;根据所述标准人脸模型的三维关键点集,对所述待重建人脸的三维关键点集进行配准,得到所述待重建人脸对应的人脸姿态参量的初始值;根据所述二维关键点集中预设数量个目标二维关键点、所述三维关键点集中所述预设数量个目标三维关键点和所述初始值,估计所述人脸姿态参量的参数值;其中,所述预设数量小于所述二维关键点集的且小于全部三维关键点的数量。本发明在获得人脸姿态参量的初始值,可以利用二维关键点集和三维关键点集中少量目标关键点集,对人脸姿态参量的初始值进行优化,最终得到准确的人脸姿态参数,在优化人脸姿态参数的过程中不需要用到全部人脸关键点,从而可以降低计算复杂度和耗时。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为一种可能的三维重建及姿态估计的应用场景图;
图2为本发明实施例提供的执行人脸姿态估计方法的电子设备的结构框图;
图3为本发明实施例提供的人脸姿态估计方法的示意性流程图;
图4为本发明实施例提供的步骤S301的示意性流程图;
图5为本发明实施例提供的步骤S302的示意性流程图;
图6为本发明实施例提供的预设数量个目标关键点的位置示意图;
图7为本发明实施例提供的步骤S303的示意性流程图;
图8为本发明实施例提供的人脸姿态估计装置的功能模块图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
姿态估计是指基于透视投影进行姿态特征的估计。姿态特征用于表征人脸的姿态,基于视觉的三维人脸重建及姿态估计在实时直播的三维头像创建、人脸动画生成、人脸AR特效、人脸识别等应用场景中有着重要的应用价值。例如,在人脸AR特效场景中,需要将一些美妆特效(如,腮红、口红等)添加到重建的三维人脸模型上,然后将添加美妆特效的三维人脸模型投影到二维人脸图像进行呈现。
请参见图1,图1为一种可能的三维重建及姿态估计的应用场景图,其中,终端102以及服务器103可以通过有线或无线通信方式进行直接或间接地连接,本发明在此不做限制。
例如,假设图1所示的是一种直播场景,终端102可以获取待重建人脸图像,并获取用户选择的特效需求,例如美妆特效,并将待重建人脸的图像和特效需求信息发送给服务器104,服务器104可以基于待重建人脸图像获取对应的三维关键点集,构建待重建人脸对应的三维人脸模型,并在渲染空间将美妆特效对象添加到目标三维人脸模型上,进而可以对待重建人脸进行姿态估计,得到人脸姿态参数;利用该人脸姿态参数,将叠加了美妆对象的目标三维人脸模型投影到二维人脸图像中,并将该二维人脸图像提供给终端102进行展示。需要说明的是,上述服务器104的处理过程也可以在终端102中实现,此处不作限定。
其中,终端102可以但不限于是:台式电脑、笔记本电脑或智能手机等终端设备,服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,可以但不限于是直播服务器、游戏服务器、流媒体服务器等等。
请继续参见图1,目前三维人脸重建的经典方法是利用巴塞尔人脸模型(BaselFace Model)为标准,通过解算人脸的表情基向量和形状基向量来实现人脸的稠密关键点重建。重建的三维人脸的在渲染空间里一般是通过透视投影到二维图像中,这个过程就需要准确地解算出人脸的姿态参数来实现。如果人脸姿态参数估计不准确,就会出现在将三维人脸模型投影到二维人脸图像时,出现重建的三维人脸模型和二维人脸图像不贴合的问题。例如,在AR化妆场景中出现的妆容扭曲或悬浮等问题,使得重建三维人脸模型的应用受到限制。
传统的解算方法大多会使用全部的人脸关键点会做优化,这种解算的准确率虽然较高,但是计算量较大而且非常耗时,在实际产品中很难应用落地,为了解决上述问题,本发明实施例提供了一种人脸姿态估计方法,本发明实施例提供的人脸姿态估计方法可以利用少量的人脸关键点集结合本发明实施例提供的人脸姿态估计方法就可以得到准确的人脸姿态参数,可以有效降低计算耗时和复杂度。
下面介绍本发明实施例用来执行人脸姿态估计方法的电子设备,请参见图2,图2为本发明实施例提供的执行人脸姿态估计方法的电子设备的结构框图,该电子设备可以是图1中的终端102或者是服务器104。该电子设备200可以包括人脸姿态估计装置400、存储器201、处理器202和通信接口203。
存储器201、处理器202和通信接口203各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。人脸姿态估计装置400包括至少一个可以软件或固件(firmware)的形式存储于存储器201中或固化在电子设备100的操作系统(operating system,OS)中的软件功能模块。处理器202用于执行存储器201中存储的可执行模块,例如人脸姿态估计装置400包括的软件功能模块或计算机程序。
其中,存储器201可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器201用于存储程序,处理器202在接收到执行指令后,执行程序。
处理器202可以是一种集成电路芯片,具有信号处理能力。上述的处理器202可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)、语音处理器以及视频处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器202也可以是任何常规的处理器等。
通信接口203用于将各种输入/输出装置耦合至处理器202以及存储器201。
下面介绍本发明实施例提供的人脸姿态估计方法,该方法可以由图2中的电子设备进行执行,请参见图3,图3为本发明实施例提供的人脸姿态估计方法的示意性流程图,该方法可以包括:
S301,获得待重建人脸的二维关键点集、三维关键点集和标准人脸模型的三维关键点集。
S302,根据标准人脸模型的三维关键点集,对待重建人脸的三维关键点集进行配准,得到待重建人脸对应的人脸姿态参量的初始值。
S303,根据二维关键点集中预设数量个目标二维关键点、三维关键点集中预设数量个目标三维关键点和初始值,估计人脸姿态参量的参数值。
其中,预设数量小于全部二维关键点的数量且小于全部三维关键点的数量。
根据本发明实施例提供的人脸姿态估计方法,首先获得待重建人脸对应的二维关键点集、三维关键点集和标准人脸模型的三维关键点集,进而利用待重建人脸对应的三维关键点集和标准人脸模型的三维关键点集,获得人脸姿态参量的初始值,进而利用二维关键点集和三维关键点集中少量目标关键点集,对人脸姿态参量的初始值进行优化,最终得到准确的人脸姿态参数,在优化人脸姿态参数的过程中不需要用到全部人脸关键点,从而可以降低计算复杂度和耗时。
在本发明实施例中,基于获得的人脸姿态参数,在针对三维重建后的目标三维人脸模型执行向二维人脸图像的投影处理时,利用该二维人脸姿态数据对目标三维人脸模型执行向二维人脸图像的透视投影处理,透视投影的过程充分考虑二维人脸的姿态数据,使得三维人脸模型投影到二维图像的效果更贴合更真实,为高精度需求的应用提供更多的可能。
下面对本发明实施例上数各个示例性步骤进行介绍。
在步骤S301中,获得待重建人脸的二维关键点集、三维关键点集和标准人脸模型的三维关键点集。
在本发明实施例中,上述步骤S301中的标准人脸模型并非巴塞尔人脸模型中定义的标准人脸,而是指在渲染空间坐标系下已经经过表情基向量和形状基向量影响下的表情形变人脸模型,它可以将用于在Unity或Unreal Engine等虚幻引擎中进行渲染和制作人脸特效,该标准人脸模型对应的三维关键点集可以直接由相关技术人员提供。
其中,上述待重建人脸是指需要进行三维人脸重建的人脸,可以但不限于来源于视频中的人脸视频帧、图像库中的人脸图像。
示例性地,终端可以通过摄像机采集到人脸视频,从人脸视频中获取到人脸图像,进而从人脸图像中确定出待重建人脸。终端还可以直接获取到待重建人脸的人脸图像,比如,终端获取到内存中保存的待重建人脸图像,也可以从内存中保存的人脸视频中获取到待重建人脸图像,终端也可以从互联网中获取到待重建人脸图像,比如可以是从视频网站,直播网站、人脸图片网站获取到待重建人脸图像等等。终端还可以从服务器中获取到待重建人脸图像。
其中,上述关键点是指人脸中关键的位置,可以用坐标标识,二维关键点就是二维坐标,三维关键点就是三维坐标。关键点的数量可以自定义,本实施例中二维关键点集、三维关键点集中的关键点的数量相同,可以但不限于是53490个。在可能的实现方式中,获得上述三维关键点集和二维关键点集的方式可以参见图4,图4为本发明实施例提供的步骤S301的示意性流程图:
S301-1,获得待重建人脸的形状参数和表情参数。
本发明实施中,形状参数和表情参数可以但不限于是指得是待重建人脸的形状基向量和表情基向量,例如,若是形状基向量和表情基向量,则这个过程可以通过传统方法的人脸三维关键点和二维关键点之间的对齐求解得到,也可以通过现阶段流行的深度学习方法学习得到,此处不作限定。
S301-2,根据巴塞尔人脸模型的、形状参数和表情参数,计算得到三维关键点集。
首先介绍巴塞尔人脸模型,巴塞尔人脸模型的主要原理是:一张人脸模型可以由标准人脸
Figure BDA0003455606470000071
与形状基向量α和表情基向量β的线性加权组合得到,如下公式1所示。
Figure BDA0003455606470000072
其中,标准人脸由53490个关键点组成,每个关键点由一个三维坐标(x,y,z)表示;si和ei分别表示人脸形状和表情对应的主成分分析(PCA)中的第i个向量;m、n分别表征人脸形状和表情对应的主成分分析中的向量总数;αi和βi则表示相应主成分中第i个待估计的形状基向量和表情基向量。
将步骤S301-1中的获得形状参数和表情参数带入到上述公式1中,即可得到待重建人脸对应的三维关键点集,该三维关键点集也是由53490个关键点组成,每个关键点由一个三维坐标(x,y,z)表示。
S301-3,对三维关键点集中的各个三维关键点进行正交投影得到二维关键点集,或者,根据预设的二维关键点检测模型,对待重建人脸进行关键点预测,得到二维关键点集。
在步骤S301-2中获得待重建人脸对应的三维关键点集后,可以对三维关键点集中的各个三维关键点进行正交投影得到二维关键点集,还可以以通过深度学习的方法直接采用二维关键点检测模型预测得到。需要说明的是,如果使用深度学习的方法获取,那么它的二维关键点需要与巴塞尔人脸模型里的关键点进行配准,或者说它们的语义性应该保持一致。
在步骤S302中,根据标准人脸模型的三维关键点集,对待重建人脸的三维关键点集进行配准,得到待重建人脸对应的人脸姿态参量的初始值。
本发明实施例中,得到人脸姿态参量的初始值的过程,实际是这本质上是一个3D-3D的位姿估计问题,可以通过SVD奇异值分解实现。假设待重建人脸的三维关键点集合为P={p1,p2,…,pn},标准人脸模型的三维关键点集为P′={p′1,p′2,…,p′n},其中n为关键点的总数,P和P′中的各个元素可以用关键点的坐标表示。
本发明实施例中需要估计的人脸姿态参量R和t可以使得待重建人脸的三维关键点和标准人脸模型的三维关键点之间满足公式2所示:
pi=Rp′i+t 公式2
其中,p1和p′1是具有位置对应关系的两个三维关键点,例如均是鼻尖位置的关键点。为了获得满足上述公式2的人脸姿态量的参数值,可以构建一个最小二乘问题,如公式3所示,对公式3求使误差平方和得到的极小R和t即为本发明实施例中人脸姿态参量的初始值,其中R是一个3x3的旋转矩阵,t是一个3维的向量。
Figure BDA0003455606470000081
因此,在上述原理的基础上,本发明实施例给出了一种得到人脸姿态参量的初始值的实施方式,请参见图5,图5为本发明实施例提供的步骤S302的示意性流程图:
S302-1,对标准人脸模型的三维关键点集中全部三维关键点以及待重建人脸的三维关键点集中全部三维关键点分别进行去中心处理。
在本发明实施例中,去中心处理的方式可以包括以下步骤:
a1,分别计算标准人脸模型的三维关键点集中全部三维关键点的第一平均值、以及待重建人脸的三维关键点集中全部三维关键点的第二平均值;
a2,根据第一平均值,对标准人脸模型的三维关键点集中全部三维关键点进行去中心处理;根据第二平均值,对待重建人脸的三维关键点集中全部三维关键点进行去中心处理。
例如,继续以上述待重建人脸的三维关键点集为P={p1,p2,…,pn},标准人脸模型的三维关键点集为P′={p′1,p′2,…,p′n}为例,针对P,对p1至pn这n个坐标进行求平均,得到第一平均值p;针对P′,对p′1至p′n这n个坐标进行求平均,得到第二平均值p′。然后根据第一平均值p按照公式4对P中的各个关键点进行去中心处理,根据第二平均值p′按照公式5对P′中的各个关键点进行去中心处理:
qi=pi-p 公式4
q’i=p’i-p’ 公式5
其中,qi是待重建人脸对应的第i个去中心处理后的三维关键点,q’i是标准人脸模型对应的第i个去中心处理后的三维关键点。
S302-2,从去中心处理后的标准人脸模型的三维关键点集和待重建人脸的三维关键点集中,确定多个三维关键点对。
本实施例中,每个三维关键对中的一个待重建人脸的三维关键点和一个标准人脸模型的人脸关键点之间具有位置对应关系,例如,对于上述P和P′,p1和p′1是具有位置对应关系的两个三维关键点,p2和p′2是具有位置对应关系的两个三维关键点,以次类推,可以获得n个三维关键点对。
S302-3,根据多个三维关键点对,构建人脸姿态参量解算矩阵,并基于人脸姿态参量解算矩阵进行求解,获得待重建人脸对应的人脸姿态参量的初始值。
针对全部三维关键点对,构建的人脸姿态参量解算矩阵可以形如公式6:
Figure BDA0003455606470000091
其中,W表征人脸姿态参量解算矩阵,qi和q′i是第i个三维关键点对;T表示矩阵转置,将n个三维关键点对进行矩阵乘法运算即可得到W。此处获得的W是一个3x3的矩阵,可以先对它进行SVD奇异值分解得到:
W=UVDT 公式7
其中,V为奇异值组成的对角矩阵,对角元素从大到小排列,而U和D为正交矩阵,从而计算得到旋转矩阵R如公式8:
R=UDT 公式8
在获得R的基础上可以得到t,如公式9所示:
t=p-Rp′ 公式9
通过上述方式获得人脸姿态参量的初始值之后,即可选择若干个目标三维关键点和目标三维关键点对该人脸姿态参量进行优化,以获得准确度较高的参数值,请参见下述步骤S303。
在步骤S303中,根据二维关键点集中预设数量个目标二维关键点、三维关键点集中预设数量个目标三维关键点和初始值,估计人脸姿态参量的参数值。
在本发明实施例中,预设数量少于二维关键点集中关键点的数量,在可能的实施方式中,可以通过PnP解算点的敏感性分析后,最终选择出10个人脸关键点,如图6所示,图6为本发明实施例提供的预设数量个目标关键点的位置示意图。
在对人脸姿态参量进行优化的过程中,可以采用如图7所示的实现方式,图7为本发明实施例提供的步骤S303的示意性流程图:
S303-1,获取渲染空间坐标系下相机的透视投影矩阵和视图矩阵。
本实施例中,假设在渲染空间中,相机的透视投影矩阵为ProjM,视图矩阵为ViewM,ProjM、ViewM都为4x4的已知矩阵。
S303-2,构建人脸姿态参量与透视投影矩阵和视图矩阵、目标二维关键点的坐标以及目标三维关键点的坐标之间的函数模型。
在执行步骤S303-2的过程中,可以按照以下步骤进行:
b1,根据透视投影矩阵和视图矩阵的矩阵大小,构建目标三维关键点的齐次向量,并根据人脸姿态参量构建相机的姿态矩阵。
本实施例中,目标三维关键点的齐次向量可以表示为Xworld={x,y,z,1},其中,(x,y,z)表示目标三维关键点的三维坐标。假设相机的姿态矩阵AffineM,是由本实施例中需要求解的人脸姿态参量旋转矩阵R和平移向量t所组成,其关系如公式10所示:
Figure BDA0003455606470000101
其中,R是一个3x3的矩阵,t是一个3维的列向量,因此矩阵AffineM中共有3x3+3=12个求解量。
b2,根据预设的图像宽度和图像高度,将目标二维关键点对应的坐标转换成相机坐标系下的坐标。
本实施例中,不妨假设目标二维关键点坐标为(u,v),将二维关键点经过公式11的归一化操作变换到标准设备空间坐标系(NDC,Normalized Device Coordinate)得到(unorm,vnorm)。
Figure BDA0003455606470000102
在上述公式11中,width和height分别表示图像宽度和图像高度,经过归一化处理后,unorm和vnorm的值在(-1,1)范围内。
b3,根据姿态矩阵、透视投影矩阵和视图矩阵和齐次向量,获得目标三维关键点的坐标在裁剪空间坐标系下的坐标表达式。
根据b3获得各个信息,可以根据公式12,将目标三维关键点投影到裁剪空间(ClipSpace),得到目标三维关键点的坐标在裁剪空间坐标系下的坐标表达式Xclip={xclip,yclip,zclip,wclip}:
Xclip=ProjM·ViewM·AffineM·Xworld 公式12
考虑到ProjM和ViewM都是已知量,不妨先定义矩阵M=ProjM·ViewM,因此将公式进行变换可得到公式13:
Figure BDA0003455606470000103
b4,根据目标二维关键点在相机坐标系下的坐标,对目标三维关键点在裁剪空间坐标系下的坐标表达式进行处理,获得函数模型。
考虑到人脸关键点从相机坐标系变换到裁剪空间坐标系的过程满足以下方程式,如公式14所示:
Figure BDA0003455606470000111
因此,将公式14代入公式13中,便得到公式15所示的最小二乘法方程组,即为上述步骤b4的函数模型:
A·θ=b 公式15
其中,A是一个2x12维的矩阵,矩阵内每个元素的值如下表1所示。
表1
Figure BDA0003455606470000112
其中,θ是需要求解的未知变量,它是一个12维的列向量,由旋转矩阵R和平移向量t里的元素组成:
θ=[R11,R12,R13,R21,R22,R23,R31,R32,R33,t1,t2,t3]T
其中,b是一个2维的列向量,b=[M44·unorm-M14,M44·vnorm-M24]T
S303-3,根据初始值对函数模型进行初始化,并基于预设学习率对初始化后的函数模型进行迭代,直到迭代次数达到预设次数,获得人脸姿态参量的参数值。
假设上述预设次数为N,预设学习率为lr,则针对步骤S303的具体实施方式可以如下:
c1,设定迭代求解轮数N和学习率lr;
c2,利用上述步骤S302中求解的R和t的初始值来初始化未知向量θ;
c3,计算梯度g=2·AT·(A·θ-b);
c4,重新更新θ=θ-g·lr;
c5,重复步骤c3至c4,直到迭代次数达到N轮,迭代结束,输出最终的θ。
从上述最终输出θ中恢复出旋转矩阵R和平移向量t,即为本实施例中人脸姿态参量的最终参数值:
Figure BDA0003455606470000121
t=[θ101112]T
可选地,在获得优化后准确的人脸姿态参量的参数值后,还可以结合一些特效数据,对三维人脸模型进行渲染,进而结合准确的人脸姿态参量的参数值,将渲染后的三维人脸模型透射投影到二维图像中,使得而二维图像中具有特效数据,即在一种可能的实施方式中,方法还可以包括:
d1,根据三维关键点集,构建待重建人脸对应的三维人脸模型;
d2,根据预定义的特效数据,对三维人脸模型进行渲染,以及特效数据位于待重建人脸的目标位置;
d3,根据人脸姿态参量的参数值,将渲染后的三维人脸模型投影到二维图像中。
例如,可以在标准三维人脸模型上添加特效数据,将待重建人脸的三维人脸模型与标准三维人脸模型对齐,基于此,可将标准三维人脸模型上的特效数据直接投影到二维人脸图像中,第二种,在待重建人脸的三维人脸模型上添加特效数据,将该特效数据和目标三维人脸模型投影到二维人脸图像中。其中,特效数据可以是美妆特效,例如,腮红、眉毛或口红等美妆特效,也可以是贴纸、涂鸦、文字或马赛克等特效,还可以是试戴产品,例如太阳镜、帽子或耳环等。
通过上述方式即可在视频直播等应用场景中实现美颜瘦脸、人脸AR特效和人脸识别等效果。
为了实现上述实施例中各个步骤以实现获得准确的人脸姿态参数,本发明实施例提供的人脸姿态估计方法可以在硬件设备或者以软件模块的形式实现中执行,当特征提取模型的训练方法以软件模块的形式实现时,本发明实施例还提供一种人脸姿态估计装置,请参见图8,图8为本发明实施例提供的人脸姿态估计装置的功能模块图,该人脸姿态估计装置400可以包括:
获得模块410,用于获得待重建人脸的二维关键点集、三维关键点集和标准人脸模型的三维关键点集;
配准模块420,用于根据标准人脸模型的三维关键点集,对待重建人脸的三维关键点集进行配准,得到待重建人脸对应的人脸姿态参量的初始值。
优化模块430,用于根据二维关键点集中预设数量个目标二维关键点、三维关键点集中预设数量个目标三维关键点和初始值,估计人脸姿态参量的参数值。
可以理解的是,获得模块410、配准模块420和优化模块430可以协同的执行图3中的各个步骤以实现相应的技术效果。
在可选地实施方式中,优化模块430具体用于获取渲染空间坐标系下相机的透视投影矩阵和视图矩阵;构建所述人脸姿态参量与所述透视投影矩阵和视图矩阵、所述目标二维关键点的坐标以及所述目标三维关键点的坐标之间的函数模型;根据所述初始值对所述函数模型进行初始化,并基于预设学习率对初始化后的所述函数模型进行迭代,直到迭代次数达到预设次数,获得所述人脸姿态参量的参数值。
可以理解的是,优化模块430可以用于执行图7中的各个步骤以及上述S303-2中的步骤b1至步骤b4以实现相应的技术效果。
在可选地实施方式中,配准模块420具体用于:对所述标准人脸模型的三维关键点集中全部三维关键点以及所述待重建人脸的三维关键点集中全部三维关键点分别进行去中心处理;从去中心处理后的所述标准人脸模型的三维关键点集和所述待重建人脸的三维关键点集中,确定多个三维关键点对;根据所述多个三维关键点对,构建所述人脸姿态参量解算矩阵,并基于所述人脸姿态参量解算矩阵进行求解,获得所述待重建人脸对应的人脸姿态参量的初始值。
可以理解的是,配准模块420可以用于执行图5中的各个步骤以及步骤S302-1中的步骤a1至步骤a2以实现相应的技术效果。
在可选地实施方式中,获得模块410可以具体用于获得所述待重建人脸的形状参数和表情参数;根据巴塞尔人脸模型的、所述形状参数和表情参数,计算得到所述三维关键点集;对所述三维关键点集中的各个三维关键点进行正交投影得到所述二维关键点集,或者,根据预设的二维关键点检测模型,对所述待重建人脸进行关键点预测,得到所述二维关键点集。
可以理解的是,获得模块410可以具体用于执行图4中的各个步骤以实现相应的技术效果。
在可选地实施方式中,该人脸姿态估计装置400还可以执行以下步骤:根据三维关键点集,构建待重建人脸对应的三维人脸模型;根据预定义的特效数据,对三维人脸模型进行渲染,以使特效数据位于待重建人脸的目标位置;根据人脸姿态参量的参数值,将渲染后的三维人脸模型投影到二维图像中。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前述实施方式中任一项的人脸姿态估计方法。该计算机可读存储介质可以是,但不限于,U盘、移动硬盘、ROM、RAM、PROM、EPROM、EEPROM、磁碟或者光盘等各种可以存储程序代码的介质。
应该理解到,在本申请所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

Claims (10)

1.一种人脸姿态估计方法,其特征在于,所述方法包括:
获得待重建人脸的二维关键点集、三维关键点集和标准人脸模型的三维关键点集;
根据所述标准人脸模型的三维关键点集,对所述待重建人脸的三维关键点集进行配准,得到所述待重建人脸对应的人脸姿态参量的初始值;
根据所述二维关键点集中预设数量个目标二维关键点、所述三维关键点集中所述预设数量个目标三维关键点和所述初始值,估计所述人脸姿态参量的参数值;其中,所述预设数量小于全部二维关键点的数量且小于全部三维关键点的数量。
2.根据权利要求1所述的人脸姿态估计方法,其特征在于,根据所述二维关键点集中预设数量个目标二维关键点、所述三维关键点集中所述预设数量个目标三维关键点和所述初始值,估计所述人脸姿态参量的参数值,包括:
获取渲染空间坐标系下相机的透视投影矩阵和视图矩阵;
构建所述人脸姿态参量与所述透视投影矩阵和视图矩阵、所述目标二维关键点的坐标以及所述目标三维关键点的坐标之间的函数模型;
根据所述初始值对所述函数模型进行初始化,并基于预设学习率对初始化后的所述函数模型进行迭代,直到迭代次数达到预设次数,获得所述人脸姿态参量的参数值。
3.根据权利要求2所述的人脸姿态估计方法,其特征在于,构建所述人脸姿态参量与所述透视投影矩阵和视图矩阵、所述目标二维关键点的坐标以及所述目标三维关键点的坐标之间的函数模型,包括:
根据所述透视投影矩阵和视图矩阵的矩阵大小,构建所述目标三维关键点的齐次向量,并根据所述人脸姿态参量构建所述相机的姿态矩阵;
根据预设的图像宽度和图像高度,将所述目标二维关键点对应的坐标转换成相机坐标系下的坐标;
根据所述姿态矩阵、所述透视投影矩阵和视图矩阵和所述齐次向量,获得所述目标三维关键点的坐标在裁剪空间坐标系下的坐标表达式;
根据所述目标二维关键点在所述相机坐标系下的坐标,对所述目标三维关键点在所述裁剪空间坐标系下的坐标表达式进行处理,获得所述函数模型。
4.根据权利要求1所述的人脸姿态估计方法,其特征在于,根据所述标准人脸模型的三维关键点集,对所述待重建人脸的三维关键点集进行配准,得到所述待重建人脸对应的人脸姿态参量的初始值,包括:
对所述标准人脸模型的三维关键点集中全部三维关键点以及所述待重建人脸的三维关键点集中全部三维关键点分别进行去中心处理;
从去中心处理后的所述标准人脸模型的三维关键点集和所述待重建人脸的三维关键点集中,确定多个三维关键点对;
根据所述多个三维关键点对,构建人脸姿态参量解算矩阵,并基于所述人脸姿态参量解算矩阵进行求解,获得所述待重建人脸对应的人脸姿态参量的初始值。
5.根据权利要求4所述的人脸姿态估计方法,其特征在于,对所述标准人脸模型的三维关键点集中全部三维关键点以及所述待重建人脸的三维关键点集中全部三维关键点分别进行去中心处理,包括:
分别计算所述标准人脸模型的三维关键点集中全部三维关键点的第一平均值、以及所述待重建人脸的三维关键点集中全部三维关键点的第二平均值;
根据所述第一平均值,对所述标准人脸模型的三维关键点集中全部三维关键点进行去中心处理;
根据所述第二平均值,对所述待重建人脸的三维关键点集中全部三维关键点进行去中心处理。
6.根据权利要求1所述的人脸姿态估计方法,其特征在于,获得待重建人脸的二维关键点集、三维关键点集,包括:
获得所述待重建人脸的形状参数和表情参数;
根据巴塞尔人脸模型的、所述形状参数和表情参数,计算得到所述三维关键点集;
对所述三维关键点集中的各个三维关键点进行正交投影得到所述二维关键点集,或者,根据预设的二维关键点检测模型,对所述待重建人脸进行关键点预测,得到所述二维关键点集。
7.根据权利要求1所述的人脸姿态估计方法,其特征在于,所述方法还包括:
根据所述三维关键点集,构建所述待重建人脸对应的三维人脸模型;
根据预定义的特效数据,对所述三维人脸模型进行渲染,以使所述特效数据位于所述待重建人脸的目标位置;
根据所述人脸姿态参量的参数值,将渲染后的所述三维人脸模型投影到二维图像中。
8.一种人脸姿态估计装置,其特征在于,包括:
获得模块,用于获得待重建人脸的二维关键点集、三维关键点集和标准人脸模型的三维关键点集;
配准模块,用于根据所述标准人脸模型的三维关键点集,对所述待重建人脸的三维关键点集进行配准,得到所述待重建人脸对应的人脸姿态参量的初始值;
优化模块,用于根据所述二维关键点集中预设数量个目标二维关键点、所述三维关键点集中所述预设数量个目标三维关键点和所述初始值,估计所述人脸姿态参量的参数值;其中,所述预设数量小于全部二维关键点的数量且小于全部三维关键点的数量。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序以实现权利要求1-7任一项所述的方法。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的方法。
CN202210003158.9A 2022-01-04 2022-01-04 人脸姿态估计方法、装置、电子设备及可读存储介质 Pending CN114333034A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210003158.9A CN114333034A (zh) 2022-01-04 2022-01-04 人脸姿态估计方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210003158.9A CN114333034A (zh) 2022-01-04 2022-01-04 人脸姿态估计方法、装置、电子设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN114333034A true CN114333034A (zh) 2022-04-12

Family

ID=81022284

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210003158.9A Pending CN114333034A (zh) 2022-01-04 2022-01-04 人脸姿态估计方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN114333034A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115953513A (zh) * 2022-12-30 2023-04-11 北京元起点信息科技有限公司 一种可驱动三维人头模型重建方法、装置、设备及介质
WO2024055748A1 (zh) * 2022-09-15 2024-03-21 腾讯科技(深圳)有限公司 一种头部姿态估计方法、装置、设备以及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024055748A1 (zh) * 2022-09-15 2024-03-21 腾讯科技(深圳)有限公司 一种头部姿态估计方法、装置、设备以及存储介质
CN115953513A (zh) * 2022-12-30 2023-04-11 北京元起点信息科技有限公司 一种可驱动三维人头模型重建方法、装置、设备及介质
CN115953513B (zh) * 2022-12-30 2023-11-07 北京元起点信息科技有限公司 一种可驱动三维人头模型重建方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
US11748934B2 (en) Three-dimensional expression base generation method and apparatus, speech interaction method and apparatus, and medium
CN114333034A (zh) 人脸姿态估计方法、装置、电子设备及可读存储介质
CN110866864A (zh) 人脸姿态估计/三维人脸重构方法、装置及电子设备
CN113838176B (zh) 模型的训练方法、三维人脸图像生成方法及设备
TWI773458B (zh) 重建人臉的方法、裝置、電腦設備及存儲介質
EP3803803A1 (en) Lighting estimation
WO2022110790A1 (zh) 重建人脸的方法、装置、计算机设备及存储介质
CN109685873B (zh) 一种人脸重建方法、装置、设备和存储介质
CN109754464B (zh) 用于生成信息的方法和装置
Lee et al. Minimal solutions for the multi-camera pose estimation problem
JP2023518584A (ja) 3次元人体モデル構築方法および電子機器
CN112085835B (zh) 三维卡通人脸生成方法、装置、电子设备及存储介质
WO2023001095A1 (zh) 人脸关键点的插值方法、装置、计算机设备和存储介质
CN111815768B (zh) 三维人脸重建方法和装置
CN113160418A (zh) 三维重建方法、装置和系统、介质及计算机设备
CN114913303A (zh) 虚拟形象生成方法及相关装置、电子设备、存储介质
Guo et al. A real-time interactive system of surface reconstruction and dynamic projection mapping with RGB-depth sensor and projector
CN111899159A (zh) 用于变换发型的方法、装置、设备以及存储介质
CN108717730B (zh) 一种3d人物重建的方法及终端
CN114742940A (zh) 构建虚拟形象纹理图的方法、装置、设备及存储介质
CN114359453A (zh) 一种三维特效渲染方法、装置、存储介质及设备
CN114266693A (zh) 图像处理方法、模型生成方法及设备
CN111862278A (zh) 一种动画获得方法、装置、电子设备及存储介质
CN116959109A (zh) 人体姿态图像的生成方法、装置、设备和存储介质
Maghari et al. Adaptive face modelling for reconstructing 3D face shapes from single 2D images

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