CN118318252A - 虚拟模型的面部驱动方法、装置、设备及存储介质 - Google Patents
虚拟模型的面部驱动方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN118318252A CN118318252A CN202280004585.7A CN202280004585A CN118318252A CN 118318252 A CN118318252 A CN 118318252A CN 202280004585 A CN202280004585 A CN 202280004585A CN 118318252 A CN118318252 A CN 118318252A
- Authority
- CN
- China
- Prior art keywords
- dimensional
- transformation parameters
- dimensional face
- face key
- key points
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000009466 transformation Effects 0.000 claims abstract description 411
- 230000014509 gene expression Effects 0.000 claims abstract description 203
- 238000013519 translation Methods 0.000 claims description 45
- 230000001815 facial effect Effects 0.000 claims description 35
- 230000008921 facial expression Effects 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 23
- 239000011159 matrix material Substances 0.000 claims description 21
- 230000001131 transforming effect Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 4
- 238000013136 deep learning model Methods 0.000 description 4
- 238000003708 edge detection Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 210000000697 sensory organ Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Abstract
本申请公开了一种虚拟模型的面部驱动方法、装置、设备及存储介质,属于互联网及计算机领域。所述方法包括:从二维人脸图像中检测得到二维人脸关键点;基于二维人脸关键点和三维人脸模型中的三维人脸关键点,对二维刚性变换参数和表情变换参数进行迭代更新,得到最终的二维刚性变换参数和最终的表情变换参数;基于最终的二维刚性变换参数和最终的表情变换参数,确定目标刚性变换参数和目标表情变换参数。本申请实施例提供的技术方案中,提高了二维人脸图像获取的灵活性,使得三维虚拟模型的驱动方案具有较强的通用性,提高了目标刚性变换参数和目标表情变换参数的准确性。
Description
本申请涉及互联网及计算机领域,特别涉及一种虚拟模型的面部驱动方法、装置、设备及存储介质。
目前,在直播时可以根据人脸图像构建对应的三维虚拟模型,并根据人脸表情变换对三维虚拟模型进行调整,以使得三维虚拟模型与人脸呈现相同的表情变化。
在相关技术中,在直播时以深度摄像机收集的人脸图像,进而根据人脸图像获取人脸关键点的位置信息,并根据深度摄像机所记录的数据获取人脸的深度信息,之后,根据人脸关键点的位置信息和人脸的深度信息,对人脸对应的三维虚拟模型进行调整,以使得三维虚拟模型与该人脸呈现相同的表情变化。
然而,在上述相关技术中,需要采用深度摄像机收集人脸图像以获取深度信息,人脸图像的收集不灵活。
发明内容
本申请实施例提供了一种虚拟模型的面部驱动方法、装置、设备及存储介质,能够提高二维人脸图像获取的灵活性,使得三维虚拟模型的驱动方案具有较强的通用性。所述技术方案如下:
一方面,本申请实施例提供了一种虚拟模型的面部驱动方法,所述方法包括:
从二维人脸图像中检测得到二维人脸关键点;
基于所述二维人脸关键点和三维人脸模型中的三维人脸关键点,对二维刚性变换参数和表情变换参数进行迭代更新,得到最终的二维刚性变换参数和最终的表情变换参数;其中,所述二维刚性变换参数用于变换所述三维人脸模型的面部姿态,所述表情变换参数用于变换所述三维人脸模型的面部表情;
基于所述最终的二维刚性变换参数和所述最终的表情变换参数,确定目标 刚性变换参数和目标表情变换参数;其中,所述目标刚性变换参数和目标表情变换参数用于对三维虚拟模型的面部姿态和面部表情进行驱动,使得所述三维虚拟模型的面部姿态和面部表情与所述二维人脸图像中的面部姿态和面部表情相匹配。
另一方面,本申请实施例提供了一种虚拟模型的面部驱动装置,所述装置包括:
关键点获取模块,用于从二维人脸图像中检测得到二维人脸关键点;
参数迭代模块,用于基于所述二维人脸关键点和三维人脸模型中的三维人脸关键点,对二维刚性变换参数和表情变换参数进行迭代更新,得到最终的二维刚性变换参数和最终的表情变换参数;其中,所述二维刚性变换参数用于变换所述三维人脸模型的面部姿态,所述表情变换参数用于变换所述三维人脸模型的面部表情;
参数确定模块,用于基于所述最终的二维刚性变换参数和所述最终的表情变换参数,确定目标刚性变换参数和目标表情变换参数;其中,所述目标刚性变换参数和目标表情变换参数用于对三维虚拟模型的面部姿态和面部表情进行驱动,使得所述三维虚拟模型的面部姿态和面部表情与所述二维人脸图像中的面部姿态和面部表情相匹配。
再一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现上述虚拟模型的面部驱动方法。
还一方面,本申请实施例提供了一种计算机可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现上述虚拟模型的面部驱动方法。
还一方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机设备上运行时,使得计算机设备执行上述虚拟模型的面部驱动方法。
本申请实施例提供的技术方案可以带来如下有益效果:
通过二维人脸图像中的二维人脸关键点和三维人脸模型中的三维人脸关键点,确定用于对三维虚拟模型进行面部姿态和面部表情进行驱动的目标刚性变换参数和目标表情变换参数,不需要记录二维人脸图像中的深度信息,即采集 任意图像采集设备获取二维人脸图像即可,提高二维人脸图像获取的灵活性,基于统一的三维人脸模型能够适用于不同场景中三维虚拟模型的驱动,使得三维虚拟模型的驱动方案具有较强的通用性;而且,不断迭代计算以获取最终的二维刚性变换参数和最终的表情变换参数,进而确定目标刚性变换参数和目标表情变换参数,提高了目标刚性变换参数和目标表情变换参数的准确性。
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的三维虚拟模型的面部驱动系统的示意图;
图2示例性示出了一种三维虚拟模型的面部驱动系统的示意图;
图3是本申请一个实施例提供的虚拟模型的面部驱动方法的流程图;
图4是本申请另一个实施例提供的虚拟模型的面部驱动方法的流程图;
图5是本申请一个实施例提供的虚拟模型的面部驱动装置的框图;
图6是本申请另一个实施例提供的虚拟模型的面部驱动装置的框图;
图7是本申请一个实施例提供的计算机设备的结构框图。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,其示出了本申请一个实施例提供的三维虚拟模型的面部驱动系统的示意图。该三维虚拟模型的面部驱动系统包括:终端设备10和服务器20。
终端设备10可以为诸如手机、平板电脑、PC(Personal Computer,个人计算机)等电子设备,本申请实施例对此不作限定。在一些实施例中,终端设备10中包括任意具有三维虚拟模型显示功能的应用程序,如直播应用程序、视频应用程序、游戏应用程序等,本申请实施例对此不作限定。示例性地,上述应用程序可以是需要安装下载的应用程序,也可以是即点即用的应用程序,本申 请实施例对此不作限定。
服务器20可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
在一些实施例中,上述终端设备10和上述服务器20之间通过网络进行通信。
在本申请实施例中,服务器20用于为终端设备10提供针对三维虚拟模型的面部驱动服务。示例性地,如图2所示,终端设备10通过图像采集设备获取二维人脸图像并向服务器20发送该二维人脸图像,进一步地,由服务器20从二维图像中获取二维人脸关键点,并将该二维人脸关键点划分为用于刚性变换参数计算的第一二维人脸关键点集合,以及用于表情变换参数计算的第二二维人脸关键点集合。之后,服务器20基于第一二维人脸关键点和第一三维人脸关键点集合确定二维刚性变换参数,基于第二二维人脸关键点、第二三维人脸关键点集合和二维刚性变换参数确定表情变换参数。之后,服务器20在二维刚性变换参数和表情变换参数满足迭代停止条件的情况下,基于最后一次迭代获取的最终的二维刚性变换参数确定目标刚性变换参数,基于最后一次迭代获取的最终的表情变换参数确定目标表情变换参数,并向终端设备10发送该目标刚性变换参数和该目标表情变换参数。之后,终端设备10根据目标刚性变换参数对三维虚拟模型进行面部姿态驱动,并根据目标表情变换参数对三维虚拟模型进行面部表情驱动,使得三维虚拟模型的面部姿态和面部表情与二维人脸图像中的面部姿态和面部表情相匹配。其中,上述图像采集设备可以是任意具有图像采集功能的设备,如终端设备10中自带的摄像头。
需要说明的一点是,上述对终端设备10和服务器20的介绍只是示例性和解释性的,在示例性实施例中,可以根据实际情况对终端设备10和服务器20的功能进行灵活设置和调整。示例性地,由服务器20据目标刚性变换参数对三维虚拟模型进行面部姿态驱动,并根据目标表情变换参数对三维虚拟模型进行面部表情驱动,以生成二维人脸图像对应的三维虚拟模型图像,进而由终端设备10直接显示该三维虚拟模型图像。
请参考图3,其示出了本申请一个实施例提供的虚拟模型的面部驱动方法的流程图。该方法可应用于三维虚拟模型的面部驱动系统中,如各步骤的执行主体可以是图1实施例中的终端设备10和/或服务器20(以下统称为计算机设备)。该方法可以包括以下至少一个步骤(301~303):
步骤301,从二维人脸图像中检测得到二维人脸关键点。
二维人脸图像是指由图像采集设备包含人脸的图像。其中,图像采集设备可以为认为任意具有图像采集功能的设备,本申请实施例对此不作限定。示例性地,图像采集设备为计算机设备自带的摄像头,或者,图像采集设备为通过网络与计算机设备相互通信的其它设备。在一些实施例中,上述二维人脸图像是从视频流中提取得到的图像。示例性地,计算机设备通过图像采集设备获取视频流,进而对该视频流进行分帧处理,得到至少一个第一候选图像,并对各个第一候选图像分别进行人脸检测,将包含由人脸的图像确定为第二候选图像,之后,对各个第二候选图像分别进行人脸姿态检测,将人脸旋转角度满足目标条件的第二候选图像确定为二维人脸图像。示例性地,上述预设条件为旋转角度小于阈值,该阈值可以为任意数值,根据实际情况可以对该阈值进行灵活设置和调整,本申请实施例对此不作限定。
在本申请实施例中,计算机设备在获取上述二维人脸图像之后,从该二维人脸图像中检测得到二维人脸关键点。在一些实施例中,计算机设备可以通过预先训练得到的深度学习模型获取二维人脸关键点,也可以通过边缘检测获取二维人脸关键点。
在一种可能的实施方式中,计算机设备通过预先训练得到的深度学习模型获取二维人脸关键点。在一些实施例中,计算机设备在获取上述二维人脸图像之后,将该二维人脸图像输入至预先训练得到的深度学习模型,进而得到深度学习模型所输出的二维人脸关键点。
在另一种可能的实施方式中,计算机设备通过边缘检测获取二维人脸关键点。在一些实施例中,计算机设备在获取上述二维人脸图像之后,从该二维人脸图像中获取感兴趣区域,并将该感兴趣区域进行灰度处理、滤波处理、边缘检测处理,以获取二维人脸图像对应的边缘图像,进而从该边缘图像中提取得到上述二维人脸关键点。
步骤302,基于二维人脸关键点和三维人脸模型中的三维人脸关键点,对二 维刚性变换参数和表情变换参数进行迭代更新,得到最终的二维刚性变换参数和最终的表情变换参数。
三维人脸模型是指在三维坐标系中建立的人脸模型。在一些实施例中,三维人脸模型中包括初始人脸模型和差异矩阵。其中,差异矩阵用于记录以初始人脸模型为基准变换至其它人脸模型的差异坐标。在一些实施例中,为了提高目标刚性变换参数与目标表情变换参数的计算效率,差异矩阵中的每一列数据用于存储针对同一人脸模型的差异坐标,差异矩阵中的每一行数据用于存储针对同一人脸关键点的差异坐标。在一些实施例中,在构建上述三维人脸模型时,获取无表情三维人脸模型和至少两个有表情三维人脸模型,并获取无表情三维人脸模型中人脸关键点的三维坐标,以及各个有表情三维人脸模型中人脸关键点的三维坐标,进一步地,分别获取各个有表情三维人脸模型对应的三维坐标与无表情三维人脸模型对应的三维坐标之间的坐标差值。之后,将无表情三维人脸模型确定为三维人脸模型的初始人脸模型,对有表情三维人脸模型对应的三维坐标与无表情三维人脸模型对应的三维坐标之间的坐标差值进行维度展开,得到目标有表情三维人脸模型的一维差值矩阵,进而以有表情三维人脸模型的一维差值矩阵作为一列数据,根据各个有表情三维人脸模型的一维差值矩阵,构建三维人脸模型的差异矩阵。示例性地,上述三维人脸模型为ARkit模型。
在一些实施例中,计算机设备在对目标刚性变换参数和目标表情变换参数进行计算之前,获取三维人脸模型,并从三维人脸模型中获取三维人脸关键点。其中,上述三维人脸关键点是预先在三维人脸模型中标注的人脸关键点。在本申请实施例中,计算机设备在获取上述二维人脸关键点之后,基于二维人脸关键点和三维人脸模型中的三维人脸关键点,对二维刚性变换参数和表情变换参数进行迭代更新,得到最终的二维刚性变换参数和最终的表情变换参数。其中,二维刚性变换参数用于变换三维人脸模型的面部姿态,表情变换参数用于变换三维人脸模型的面部表情。示例性地,三维人脸关键点的数量与上述二维人脸关键点的数量相同,且三维人脸关键点在三维人脸模型中的位置与二维人脸关键点在二维人脸图像中的位置一一对应。
在一些实施例中,计算机设备在获取上述二维人脸关键点和上述三维人脸关键点之后,将二维人脸关键点和三维人脸关键点映射至同一二维坐标系中, 进而根据二维人脸关键点的二维坐标和三维人脸关键点的二维坐标之间的差异,确定二维刚性变换参数,之后,根据二维刚性变换参数对三维人脸关键点的二维坐标进行变换,得到变换后的三维人脸关键点的二维坐标,并根据二维人脸关键点的二维坐标和变换后的三维人脸关键点的二维坐标之间的差异,确定表情变换参数。其中,上述二维坐标系可以为上述二维人脸图像的图像坐标系,也可以是基于上述三维坐标系所构建的标准二维坐标系,本申请实施例对此不作限定。示例性地,上述二维坐标系也可以称为二维归一化坐标系。
在一些实施例中,计算机设备在获取上述二维刚性变换参数和上述表情变换参数之后,判断二维刚性变换参数和表情变换参数是否满足迭代更新条件。在二维刚性变换参数和表情变换参数满足迭代更新条件的情况下,将最后一次迭代获取的二维刚性变换参数确定为最终的二维刚性变换参数,将最后一次迭代获取的表情变换参数确定为最终的表情变换参数;在二维刚性变换参数和表情变换参数未满足迭代更新条件的情况下,基于二维刚性变换参数和表情变换参数对三维人脸关键点的二维坐标进行变换,得到新的三维人脸关键点的二维坐标,并根据该新的三维人脸关键点的二维坐标,结合上述二维人脸关键点的二维坐标继续进行迭代计算,直至二维刚性变换参数和表情变换参数满足迭代更新条件。
在一些实施例中,上述迭代停止条件包括以下至少之一:二维刚性变换参数和表情变换参数的迭代更新次数达到阈值,基于二维刚性变换参数和表情变换参数变换得到的三维人脸关键点与二维人脸关键点在同一二维坐标系中对齐。
在一种可能的实施方式中,迭代停止条件包括:二维刚性变换参数和表情变换参数的迭代更新次数达到阈值。在一些实施例中,计算机设备在获取二维刚性变换参数和表情变换参数之后,记录本次二维刚性变换参数和表情变换参数的迭代更新次数,进而在迭代更新次数达到阈值的情况下,确定二维刚性变换参数和表情变换参数满足迭代更新条件。示例性地,上述阈值可以是任意数值,如3、5、9等,根据实际情况可以对该阈值进行灵活设置和调整,本申请实施例对此不作限定。
在另一种可能的实施方式中,迭代停止条件包括:基于二维刚性变换参数和表情变换参数变换得到的三维人脸关键点与二维人脸关键点在同一二维坐标 系中对齐。在一些实施例中,计算机设备在获取二维刚性变换参数和表情变换参数之后,基于二维刚性变换参数和表情变换参数对三维人脸关键点的二维坐标进行变换,得到新的三维人脸关键点的二维坐标,在该新的三维人脸关键点的二维坐标与二维人脸关键点的二维坐标对齐的情况下,确定二维刚性变换参数和表情变换参数满足迭代更新条件。
在再一种可能的实施方式中,迭代停止条件包括:二维刚性变换参数和表情变换参数的迭代更新次数达到阈值,或者,基于二维刚性变换参数和表情变换参数变换得到的三维人脸关键点与二维人脸关键点在同一二维坐标系中对齐。在一些实施例中,计算机设备在获取二维刚性变换参数和表情变换参数之后,记录本次二维刚性变换参数和表情变换参数的迭代更新次数。之后,在迭代更新次数达到阈值的情况下,确定二维刚性变换参数和表情变换参数满足迭代更新条件;在迭代更新次数未达到阈值的情况下,基于二维刚性变换参数和表情变换参数对三维人脸关键点的二维坐标进行变换,得到新的三维人脸关键点的二维坐标,在该新的三维人脸关键点的二维坐标与二维人脸关键点的二维坐标对齐的情况下,确定二维刚性变换参数和表情变换参数满足迭代更新条件。
当然,在其它可能的实施方式中,迭代停止条件包括:二维刚性变换参数和表情变换参数的迭代更新次数达到阈值,并且,基于二维刚性变换参数和表情变换参数变换得到的三维人脸关键点与二维人脸关键点在同一二维坐标系中对齐。在一些实施例中,计算机设备在获取二维刚性变换参数和表情变换参数之后,记录本次二维刚性变换参数和表情变换参数的迭代更新次数。之后,在迭代更新次数达到阈值的情况下,基于二维刚性变换参数和表情变换参数对三维人脸关键点的二维坐标进行变换,得到新的三维人脸关键点的二维坐标,在该新的三维人脸关键点的二维坐标与二维人脸关键点的二维坐标对齐的情况下,确定二维刚性变换参数和表情变换参数满足迭代更新条件。
步骤303,基于最终的二维刚性变换参数和最终的表情变换参数,确定目标刚性变换参数和目标表情变换参数。
在本申请实施例中,计算机设备在获取上述最终的二维刚性变换参数和上述最终的表情变换参数,基于最终的二维刚性变换参数和最终的表情变换参数,确定目标刚性变换参数和目标表情变换参数。其中,上述目标刚性变换参数和上述目标表情变换参数用于对三维虚拟模型的面部姿态和面部表情进行驱动, 使得三维虚拟模型的面部姿态和面部表情与二维人脸图像中的面部姿态和面部表情相匹配。
在一些实施例中,上述三维虚拟模型是指二维人脸图像中的人脸所对应的三维形象。示例性地,该三维虚拟模型可以是根据二维人脸图像中的人脸特征所构建的三维形象,也可以预先设定的三维形象(如动物三维形象、卡通三维形象等),本申请实施例对此不作限定。
在一些实施例中,计算机设备在获取目标刚性变换参数和目标表情变换参数之后,基于目标刚性变换参数对三维虚拟模型进行面部姿态驱动,基于目标表情变换参数对三维虚拟模型进行面部表情驱动,进而显示与二维人脸图像中的面部姿态和面部表情相匹配三维虚拟模型。在一种可能的实施方式中,由服务器获取目标刚性变换参数和目标表情变换参数,由终端设备基于目标刚性变换参数对三维虚拟模型进行面部姿态驱动,基于目标表情变换参数对三维虚拟模型进行面部表情驱动,并显示驱动后的三维虚拟模型。在另一种可能的实施方式中,由服务器获取目标刚性变换参数和目标表情变换参数,并基于目标刚性变换参数对三维虚拟模型进行面部姿态驱动,基于目标表情变换参数对三维虚拟模型进行面部表情驱动,以获取驱动后的三维虚拟模型对应的二维图像,进而由终端设备显示该三维虚拟模型对应的二维图像。
综上所述,本申请实施例提供的技术方案中,通过二维人脸图像中的二维人脸关键点和三维人脸模型中的三维人脸关键点,确定用于对三维虚拟模型进行面部姿态和面部表情进行驱动的目标刚性变换参数和目标表情变换参数,不需要记录二维人脸图像中的深度信息,即采集任意图像采集设备获取二维人脸图像即可,提高二维人脸图像获取的灵活性,基于统一的三维人脸模型能够适用于不同场景中三维虚拟模型的驱动,使得三维虚拟模型的驱动方案具有较强的通用性;而且,不断迭代计算以获取最终的二维刚性变换参数和最终的表情变换参数,进而确定目标刚性变换参数和目标表情变换参数,提高了目标刚性变换参数和目标表情变换参数的准确性。
下面,以第j轮迭代过程为例,对二维刚性变换参数和表情变换参数的迭代更新方式进行介绍。
在示例性实施例中,上述步骤302包括以下至少一个步骤:
1、在第j轮迭代过程中,基于二维人脸关键点和第j轮的三维人脸关键点的位置差异,确定第j+1轮的二维刚性变换参数。
在本申请实施例中,对于第j轮迭代过程,计算机设备基于二维人脸关键点和第j轮的三维人脸关键点的位置差异,确定第j+1轮的二维刚性变换参数。其中,j为整数。在一些实施例中,计算机设备在获取二维人脸关键点和第j轮的三维人脸关键点之后,将二维人脸关键点和第j轮的三维人脸关键点映射至同一二维坐标系,得到二维人脸关键点的二维坐标和第j轮的三维人脸关键点的二维坐标,进而基于二维人脸关键点的二维坐标和第j轮的三维人脸关键点的二维坐标之间的坐标差异(即位置差异),确定上述第j+1轮的二维刚性变换参数。
在一些实施例中,计算机设备在确定第j+1轮的二维刚性变换参数时,获取二维人脸关键点和第j轮的三维人脸关键点在同一个二维坐标系下的位置信息,得到二维人脸关键点的位置信息和第j轮的三维人脸关键点的位置信息;进一步地,以最小化第一目标函数为目标,计算得到第j+1轮的二维刚性变换参数。其中,第一目标函数用于表征采用第j+1轮的二维刚性变换参数对第j轮的三维人脸关键点的位置信息进行变换后,与二维人脸关键点的位置信息之间的差异。
示例性地,假设二维人脸关键点的数量为n,n为整数,上述第一目标函数为:
其中,rt2D是指第j+1轮的二维刚性变换参数,kps3Drigid是指在用于计算二维刚性变换参数的第j轮三维人脸关键点,kps2Drigid是指用于计算二维刚性变换参数的二维人脸关键点。
2、基于二维人脸关键点、第j轮的三维人脸关键点、第j+1轮的二维刚性变换参数以及第j轮的表情变换参数,确定第j+1轮的表情变换参数。
在本申请实施例中,计算机设备在获取上述第j+1轮的二维刚性变换参数之后,基于二维人脸关键点、第j轮的三维人脸关键点、第j+1轮的二维刚性变换参数以及第j轮的表情变换参数,确定第j+1轮的表情变换参数。在一些实施例中,计算机设备在获取第j+1轮的二维刚性变换参数之后,根据该j+1轮的二维刚性变换参数对第j轮的三维人脸关键点的二维坐标进行变换,进而基于变换后的第j轮的三维人脸关键点的二维坐标与二维人脸关键之间的坐标差异(即位置差异),对第j轮的表情变换参数进行调整以确定第j+1轮的表情变换参数。
在一些实施例中,计算机设备在确定第j+1轮的表情变换参数时,以最小化第二目标函数为目标,计算得到第j+1轮的表情变换参数。其中,第二目标函数用于表征采用第j+1轮的二维刚性变换参数以及第j+1轮的表情变换参数对第j轮的三维人脸关键点的位置信息进行变换后,与二维人脸关键点的位置信息之间的差异,且第j+1轮的表情变换参数是基于第j轮的表情变换参数计算得到的。
示例性地,上述第二目标函数为:
subjevt to 0≤bs[k]≤1,k=0,1,...,50
其中,rt2D是指第j+1轮的二维刚性变换参数,kps3Dexp是指在用于计算表情变换参数的第j轮三维人脸关键点,kps2Dexp是指用于计算二维刚性变换参数的二维人脸关键点,bs是指第j+1轮的表情变换参数。
3、基于第j+1轮的表情变换参数对第j轮的三维人脸关键点进行位置调整,得到第j+1轮的三维人脸关键点。
在本申请实施例中,计算机设备在获取上述第j+1轮的表情变换参数之后,基于第j+1轮的表情变换参数对第j轮的三维人脸关键点进行位置调整,得到第j+1轮的三维人脸关键点。在一些实施例中,计算机设备在获取上述第j+1轮的表情变换参数,基于该第j+1轮的表情变换参数对第j轮的三维人脸关键点的二维坐标进行调整,以确定第j+1轮的三维人脸关键点的二维坐标。
在一些实施例中,计算机设备在获取上述第j+1轮的三维人脸关键点之后,判断该第j+1轮的三维人脸关键点是否满足迭代停止条件。示例性地,迭代停止条件包括以下至少之一:二维刚性变换参数和表情变换参数的迭代更新次数达到阈值,基于二维刚性变换参数和表情变换参数变换得到的三维人脸关键点与二维人脸关键点在同一二维坐标系中对齐。
4、若第j+1轮的三维人脸关键点不满足迭代停止条件,则令j=j+1,并再次从基于二维人脸关键点和第j轮的三维人脸关键点的位置差异,确定第j+1轮的二维刚性变换参数的步骤开始执行。
5、若第j+1轮的三维人脸关键点满足迭代停止条件,则将第j+1轮的二维刚性变换参数确定为最终的二维刚性变换参数,将第j+1轮的表情变换参数确定为最终的表情变换参数。
综上所述,本申请实施例提供的技术方案中,通过二维人脸关键点和三维 人脸关键点对二维刚性变换参数和表情变换参数进行迭代计算,直至三维人脸关键点满足迭代停止条件,提高了最终的二维刚性变换参数和最终的表情变换参数的准确性,进而提高了三维虚拟模型的驱动准确性,提高了驱动后的三维虚拟模型与二维人脸图像中的人脸的匹配度。
下面,对目标刚性变换参数和目标表情变换参数的获取方式进行介绍。
在示例性实施例中,上述步骤303包括以下至少一项:
1、根据最终的二维刚性变换参数确定三维变换参数;
2、基于最终的二维变换参数和三维变换参数,得到目标刚性变换参数;
3、将最终的表情变换参数确定为目标表情变换参数。
在一些实施例中,最终的二维刚性变换参数包括第一旋转参数、第二旋转参数、第一平移参数和第二平移参数。其中,第一旋转参数用于表征三维人脸模型在三维坐标系的第一方向上的旋转量和缩放量,示例性地,第一旋转参数为旋转矩阵在第一方向上的分量与缩放系数的乘积;第二旋转参数用于表征三维人脸模型在三维坐标系的第二方向上的旋转量和缩放量,示例性地,第二旋转参数为旋转矩阵在第二方向上的分量与缩放系数的乘积;第一平移参数用于表征三维人脸模型在第一方向上的平移量;第二平移参数用于表征三维人脸模型在第二方向上的平移量。示例性地,最终的二维刚性变换参数rt2D为:
其中,s是指缩放系数(缩放驱动系数),P是指正交投影矩阵,R是指旋转矩阵(旋转驱动系数),t
2D是指三维人脸模型在二维坐标系中的平移量,X=[x
1,x
2,x
3]是指第一旋转参数,t
x是指第一平移参数,Y=[y
1,y
2,y
3]是指第二旋转参数,t
y是指第二平移参数。
在本申请实施例中,计算机设备在获取上述最终的二维刚性变换参数之后,根据该最终的二维刚性变换参数确定三维变换参数。在一些实施例中,三维变换参数包括第三旋转参数和第三平移参数。其中,第三旋转参数用于表征三维人脸模型在三维坐标系的第三方向上的旋转量和缩放量,第三平移参数用于表征三维人脸模型在第三方向上的平移量。在一些实施例中,计算机设备根据第一旋转参数和第二旋转参数,确定第三旋转参数,并将第三平移参数赋值为零。示例性地,三维变换参数为:
其中,Z是指第三旋转参数,t
z是指第三平移参数。
在本申请实施例中,计算机设备在获取上述三维变换参数之后,基于最终的二维变换参数和三维变换参数,得到目标刚性变换参数。在一些实施例中,目标刚性变换参数中包括缩放驱动系数、平移驱动系数和旋转驱动系数。计算机设备根据第一旋转参数和第二旋转参数,确定三维人脸模型的缩放驱动系数;根据第一平移参数、第二平移参数和第三平移参数,确定三维人脸模型的平移驱动系数;根据第一旋转参数、第二旋转参数和第三旋转参数,确定三维人脸模型的旋转驱动系数。示例性地,目标刚性变换参数为:
其中,t是指三维人脸模型的平移驱动系数,Rt是指目标刚性变换参数。
综上所述,本申请实施例提供的技术方案中,通过矩阵流形投影计算目标刚性变换参数,基于二维坐标系中的二维刚性变换参数直接确定目标刚性变换参数,提高目标刚性变换参数的计算效率。
在一些实施例中,为了提高目标刚性变换参数和目标表情变换参数的准确性,上述二维人脸关键点中包括用于对二维刚性变换参数进行迭代更新的人脸关键点,以及用于对表情变换参数进行迭代更新的人脸关键点。
请参考图4,其示出了本申请另一个实施例提供的虚拟模型的面部驱动方法的流程图。该方法可应用于三维虚拟模型的面部驱动系统中,如各步骤的执行主体可以是图1实施例中的终端设备10和/或服务器20(以下统称为计算机设备)。该方法可以包括以下至少一个步骤(401~406):
步骤401,根据二维人脸关键点确定第一二维人脸关键点集合和第二二维人脸关键点集合。
在本申请实施例中,计算机设备在获取上述二维人脸关键点之后,根据二维人脸关键点确定第一二维人脸关键点集合和第二二维人脸关键点集合。在一 些实施例中,计算机设备基于各个二维人脸关键点在人脸中的位置,将二维人脸关键点区分为第一二维人脸关键点集合和第二二维人脸关键点集合。其中,第一二维人脸关键点集合中包括对面部姿态影响大的关键点,第二二维人脸关键点集合中包括对面部表情影响大的关键点。示例性地,将位于人脸面部轮廓部位的二维人脸关键点确定为第一二维人脸关键点集合,将位于人脸面部五官部位的二维人脸关键点确定为第二二维人脸关键点集合。
在一些实施例中,第一二维人脸关键点集合和第二二维人脸关键点集合中,存在至少一个相同的二维人脸关键点。示例性地,由于鼻子部位的二维人脸关键点对面部姿态和面部表情的影响程度相似,因此,位于鼻子部位的二维人脸关键点既存在于第一二维人脸关键点集合中,又存在于第二二维人脸关键点集合中。
步骤402,将三维人脸模型中与第一二维人脸关键点集合相对应的三维人脸关键点,确定为第一三维人脸关键点集合。
在一些实施例中,二维人脸关键点在人脸中的位置与三维人脸关键点在三维人脸模型中的位置相对应。在本申请实施例中,计算机设备在获取上述第一二维人脸关键点之后,基于第一二维人脸关键点集合所包含的二维人脸关键点在人脸中的位置,从三维人脸模型相对应的位置处将与第一二维人脸关键点集合相对应的三维人脸关键点,确定为第一三维人脸关键点集合。其中,第一二维人脸关键点集合和第一三维人脸关键点集合用于对二维刚性变换参数进行迭代更新。
步骤403,将三维人脸模型中与第二二维人脸关键点集合相对应的三维人脸关键点,确定为第二三维人脸关键点集合。
在本申请实施例中,计算机设备在获取上述第二二维人脸关键点集合之后,基于第二二维人脸关键点集合所包含的二维人脸关键点在人脸中的位置,从三维人脸模型相对应的位置处将与第二二维人脸关键点集合相对应的三维人脸关键点,确定为第二三维人脸关键点集合。其中,第二二维人脸关键点集合和第二三维人脸关键点集合用于对表情变换参数进行迭代更新。
步骤404,基于第一二维人脸关键点和第一三维人脸关键点,得到二维刚性变换参数。
在一些实施例中,计算机设备在获取上述第一二维人脸关键点和上述第一 三维人脸关键点之后,基于第一二维人脸关键点和第一三维人脸关键点之间的位置差异,得到二维刚性变换参数。
步骤405,基于第二二维人脸关键点、第二三维人脸关键点和二维刚性变换参数,得到表情变换参数。
在一些实施例中,计算机设备在获取上述二维刚性变换参数之后,根据二维刚性变换参数对三维人脸关键点进行变换,进而从变换后的三维人脸关键点中获取变换后的第二三维人脸关键点,进而基于变换后的第二三维人脸关键点与第二二维人脸关键点之间的位置差异,得到表情变换参数。
步骤406,在表情变换参数满足迭代停止条件的情况下,基于最后一次迭代得到的二维刚性变换参数和表情变换参数,确定目标刚性变换参数和目标表情变换参数。
在一些实施例中,计算机设备在获取上述表情变换参数之后,基于该表情变换参数对第二三维人脸关键点进行变换,得到更新后的三维人脸关键点,进而在更新后的三维人脸关键点满足迭代停止条件时,确定表情变换参数满足迭代停止条件,进而将最后一次迭代得到的二维刚性变换参数确定为最终的二维刚性变换参数,将最后一次迭代得到的表情变换参数确定为最终的表情变换参数。之后,基于最终的二维刚性变换参数确定目标刚性变换参数,基于最终的表情变换参数确定目标表情变换参数。
在一些实施例中,若更新后的三维人脸关键点未满足迭代停止条件,则确定表情变换参数未满足迭代更新条件,进而从更新后的三维人脸关键点中获取新的第一三维人脸关键点集合和新的第二三维人脸关键点集合,并重复上述步骤直至更新后的三维人脸关键点满足迭代停止条件。
另外,目标刚性变换参数和目标表情变换参数的整体获取流程如下表一所示:
表一目标刚性变换参数和目标表情变换参数的整体获取流程
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图5,其示出了本申请一个实施例提供的虚拟模型的面部驱动装置的框图。该装置具有实现上述虚拟模型的面部驱动方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是计算机设备,也可以设置在计算机设备中。该装置500可以包括:关键点获取模块510、参数迭代模块520和参数确定模块530。
关键点获取模块510,用于从二维人脸图像中检测得到二维人脸关键点。
参数迭代模块520,用于基于所述二维人脸关键点和三维人脸模型中的三维人脸关键点,对二维刚性变换参数和表情变换参数进行迭代更新,得到最终的二维刚性变换参数和最终的表情变换参数;其中,所述二维刚性变换参数用于变换所述三维人脸模型的面部姿态,所述表情变换参数用于变换所述三维人脸模型的面部表情。
参数确定模块530,用于基于所述最终的二维刚性变换参数和所述最终的表情变换参数,确定目标刚性变换参数和目标表情变换参数;其中,所述目标刚性变换参数和目标表情变换参数用于对三维虚拟模型的面部姿态和面部表情进行驱动,使得所述三维虚拟模型的面部姿态和面部表情与所述二维人脸图像中的面部姿态和面部表情相匹配。
在示例性实施例中,如图6所示,所述参数迭代模块520,包括:刚性确定单元521、表情确定单元522、关键点更新单元523、迭代执行单元524和参数获取单元525。
刚性确定单元521,用于在第j轮迭代过程中,基于所述二维人脸关键点和所述第j轮的三维人脸关键点的位置差异,确定第j+1轮的二维刚性变换参数,j为整数。
表情确定单元522,用于基于所述二维人脸关键点、所述第j轮的三维人脸关键点、所述第j+1轮的二维刚性变换参数以及第j轮的表情变换参数,确定第j+1轮的表情变换参数。
关键点更新单元523,用于基于所述第j+1轮的表情变换参数对所述第j轮的三维人脸关键点进行位置调整,得到第j+1轮的三维人脸关键点。
迭代执行单元524,用于若所述第j+1轮的三维人脸关键点不满足迭代停止条件,则令j=j+1,并再次从所述基于所述二维人脸关键点和所述第j轮的三维人脸关键点的位置差异,确定第j+1轮的二维刚性变换参数的步骤开始执行。
参数获取单元525,用于若所述第j+1轮的三维人脸关键点满足所述迭代停止条件,则将所述第j+1轮的二维刚性变换参数确定为所述最终的二维刚性变换参数,将所述第j+1轮的表情变换参数确定为所述最终的表情变换参数。
在示例性实施例中,所述刚性确定单元521,还用于:
获取所述二维人脸关键点和所述第j轮的三维人脸关键点在同一个二维坐标系下的位置信息,得到所述二维人脸关键点的位置信息和所述第j轮的三维人脸关键点的位置信息;
以最小化第一目标函数为目标,计算得到所述第j+1轮的二维刚性变换参数;其中,所述第一目标函数用于表征采用所述第j+1轮的二维刚性变换参数对所述第j轮的三维人脸关键点的位置信息进行变换后,与所述二维人脸关键点的位置信息之间的差异。
在示例性实施例中,所述表情确定单元522,还用于:
以最小化第二目标函数为目标,计算得到所述第j+1轮的表情变换参数;其中,所述第二目标函数用于表征采用所述第j+1轮的二维刚性变换参数以及所述第j+1轮的表情变换参数对所述第j轮的三维人脸关键点的位置信息进行变换后,与所述二维人脸关键点的位置信息之间的差异,且所述第j+1轮的表情变换参数是基于所述第j轮的表情变换参数计算得到的。
在示例性实施例中,所述迭代停止条件包括以下至少之一:
所述二维刚性变换参数和所述表情变换参数的迭代更新次数达到阈值;
基于所述二维刚性变换参数和所述表情变换参数变换得到的三维人脸关键点与所述二维人脸关键点在同一二维坐标系中对齐。
在示例性实施例中,所述参数确定模块530,还用于:
根据所述最终的二维刚性变换参数确定三维变换参数;
基于所述最终的二维变换参数和所述三维变换参数,得到所述目标刚性变换参数;
将所述最终的表情变换参数确定为所述目标表情变换参数。
在示例性实施例中,所述最终的二维刚性变换参数包括第一旋转参数、第二旋转参数、第一平移参数和第二平移参数,所述第一旋转参数用于表征所述三维人脸模型在三维坐标系的第一方向上的旋转量和缩放量,所述第二旋转参数用于表征所述三维人脸模型在所述三维坐标系的第二方向上的旋转量和缩放量,所述第一平移参数用于表征所述三维人脸模型在所述第一方向上的平移量,所述第二平移参数用于表征所述三维人脸模型在所述第二方向上的平移量;所述参数确定模块530,还用于:
根据所述第一旋转参数和所述第二旋转参数,确定所述三维人脸模型的缩放驱动系数;
根据所述第一平移参数、第二平移参数和第三平移参数,确定所述三维人脸模型的平移驱动系数;
根据所述第一旋转参数、所述第二旋转参数和所述第三旋转参数,确定所述三维人脸模型的旋转驱动系数;
其中,所述目标刚性变换参数中包括所述缩放驱动系数、所述平移驱动系数和所述旋转驱动系数。
在示例性实施例中,所述参数确定模块530,还用于:
根据所述第一旋转参数和所述第二旋转参数,确定第三旋转参数,所述第三旋转参数用于表征所述三维人脸模型在所述三维坐标系的第三方向上的旋转量和缩放量;
将第三平移参数赋值为零,所述第三平移参数用于表征所述三维人脸模型在所述第三方向上的平移量;
其中,所述三维变换参数包括所述第三旋转参数和所述第三平移参数。
在示例性实施例中,所述关键点获取模块510,还用于:
根据所述二维人脸关键点确定第一二维人脸关键点集合和第二二维人脸关键点集合;其中,所述第一二维人脸关键点集合和所述第二二维人脸关键点集合中,存在至少一个相同的二维人脸关键点;
将所述三维人脸模型中与所述第一二维人脸关键点集合相对应的三维人脸关键点,确定为第一三维人脸关键点集合;
将所述三维人脸模型中与所述第二二维人脸关键点集合相对应的三维人脸关键点,确定为第二三维人脸关键点集合;
其中,所述第一二维人脸关键点集合和所述第一三维人脸关键点集合用于对所述二维刚性变换参数进行迭代更新,所述第二二维人脸关键点集合和所述第二三维人脸关键点集合用于对所述表情变换参数进行迭代更新。
在示例性实施例中,所述三维人脸模型中包括初始人脸模型和差异矩阵;其中,所述差异矩阵用于记录以所述初始人脸模型为基准变换至其它人脸模型的差异坐标,所述差异矩阵中的每一列数据用于存储针对同一人脸模型的差异坐标,所述差异矩阵中的每一行数据用于存储针对同一人脸关键点的差异坐标。
综上所述,本申请实施例提供的技术方案中,通过二维人脸图像中的二维人脸关键点和三维人脸模型中的三维人脸关键点,确定用于对三维虚拟模型进行面部姿态和面部表情进行驱动的目标刚性变换参数和目标表情变换参数,不需要记录二维人脸图像中的深度信息,即采集任意图像采集设备获取二维人脸图像即可,提高二维人脸图像获取的灵活性,基于统一的三维人脸模型能够适用于不同场景中三维虚拟模型的驱动,使得三维虚拟模型的驱动方案具有较强的通用性;而且,不断迭代计算以获取最终的二维刚性变换参数和最终的表情变换参数,进而确定目标刚性变换参数和目标表情变换参数,提高了目标刚性 变换参数和目标表情变换参数的准确性。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图7,其示出了本申请一个实施例提供的计算机设备700的结构框图。该计算机设备可以是目标车辆中的车载终端,该设备可以实现上述虚拟模型的面部驱动方法。具体来讲:
该计算机设备700包括处理单元(如CPU(Central Processing Unit,中央处理器)、GPU(Graphics Processing Unit,图形处理器)和FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)等)701、包括RAM(Random Access Memory,随机存取存储器)702和ROM(Read Only Memory,只读存储器)703的系统存储器704,以及连接系统存储器704和中央处理单元701的系统总线705。该服务器700还包括帮助计算服务器内的各个器件之间传输信息的基本I/O系统(Input/Output,输入/输出)706,和用于存储操作系统713、应用程序714和其他程序模块712的大容量存储设备707。
该基本输入/输出系统706包括有用于显示信息的显示器708和用于用户输入信息的诸如鼠标、键盘之类的输入设备709。其中,该显示器708和输入设备709都通过连接到系统总线705的输入输出控制器710连接到中央处理单元701。该基本输入/输出系统706还可以包括输入输出控制器710以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器710还提供输出到显示屏、打印机或其他类型的输出设备。
该大容量存储设备707通过连接到系统总线705的大容量存储控制器(未示出)连接到中央处理单元701。该大容量存储设备707及其相关联的计算机可读介质为服务器700提供非易失性存储。也就是说,该大容量存储设备707可以包括诸如硬盘或者CD-ROM(Compact Disc Read-Only Memory,只读光盘)驱动器之类的计算机可读介质(未示出)。
不失一般性,该计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read Only Memory,电可擦可编程只读存储器)、闪存或其他固态存储设备,CD-ROM、DVD(Digital Video Disc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知该计算机存储介质不局限于上述几种。上述的系统存储器704和大容量存储设备707可以统称为存储器。
根据本申请实施例,该服务器700还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器700可以通过连接在该系统总线705上的网络接口单元711连接到网络712,或者说,也可以使用网络接口单元711来连接到其他类型的网络或远程计算机系统(未示出)。
该存储器中存储有计算机程序,该计算机程序由处理器加载并实现上述虚拟模型的面部驱动方法。
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序在被处理器执行时以实现上述虚拟模型的面部驱动方法。
可选地,该计算机可读存储介质可以包括:ROM(Read Only Memory,只读存储器)、RAM(Random Access Memory,随机存取记忆体)、SSD(Solid State Drives,固态硬盘)或光盘等。其中,随机存取记忆体可以包括ReRAM(Resistance Random Access Memory,电阻式随机存取记忆体)和DRAM(Dynamic Random Access Memory,动态随机存取存储器)。
在示例性实施例中,还提供一种计算机程序产品,所述计算机程序产品被处理器执行时,用于实现上述虚拟模型的面部驱动方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描 述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
- 一种三维虚拟模型的面部驱动方法,其特征在于,所述方法包括:从二维人脸图像中检测得到二维人脸关键点;基于所述二维人脸关键点和三维人脸模型中的三维人脸关键点,对二维刚性变换参数和表情变换参数进行迭代更新,得到最终的二维刚性变换参数和最终的表情变换参数;其中,所述二维刚性变换参数用于变换所述三维人脸模型的面部姿态,所述表情变换参数用于变换所述三维人脸模型的面部表情;基于所述最终的二维刚性变换参数和所述最终的表情变换参数,确定目标刚性变换参数和目标表情变换参数;其中,所述目标刚性变换参数和目标表情变换参数用于对三维虚拟模型的面部姿态和面部表情进行驱动,使得所述三维虚拟模型的面部姿态和面部表情与所述二维人脸图像中的面部姿态和面部表情相匹配。
- 根据权利要求1所述的方法,其特征在于,所述基于所述二维人脸关键点和三维人脸模型中的三维人脸关键点,对二维刚性变换参数和表情变换参数进行迭代更新,得到最终的二维刚性变换参数和最终的表情变换参数,包括:在第j轮迭代过程中,基于所述二维人脸关键点和所述第j轮的三维人脸关键点的位置差异,确定第j+1轮的二维刚性变换参数,j为整数;基于所述二维人脸关键点、所述第j轮的三维人脸关键点、所述第j+1轮的二维刚性变换参数以及第j轮的表情变换参数,确定第j+1轮的表情变换参数;基于所述第j+1轮的表情变换参数对所述第j轮的三维人脸关键点进行位置调整,得到第j+1轮的三维人脸关键点;若所述第j+1轮的三维人脸关键点不满足迭代停止条件,则令j=j+1,并再次从所述基于所述二维人脸关键点和所述第j轮的三维人脸关键点的位置差异,确定第j+1轮的二维刚性变换参数的步骤开始执行;若所述第j+1轮的三维人脸关键点满足所述迭代停止条件,则将所述第j+1轮的二维刚性变换参数确定为所述最终的二维刚性变换参数,将所述第j+1轮的表情变换参数确定为所述最终的表情变换参数。
- 根据权利要求2所述的方法,其特征在于,所述基于所述二维人脸关键点 和所述第j轮的三维人脸关键点的位置差异,确定第j+1轮的二维刚性变换参数,包括:获取所述二维人脸关键点和所述第j轮的三维人脸关键点在同一个二维坐标系下的位置信息,得到所述二维人脸关键点的位置信息和所述第j轮的三维人脸关键点的位置信息;以最小化第一目标函数为目标,计算得到所述第j+1轮的二维刚性变换参数;其中,所述第一目标函数用于表征采用所述第j+1轮的二维刚性变换参数对所述第j轮的三维人脸关键点的位置信息进行变换后,与所述二维人脸关键点的位置信息之间的差异。
- 根据权利要求2所述的方法,其特征在于,所述基于所述二维人脸关键点、所述第j轮的三维人脸关键点、所述第j+1轮的二维刚性变换参数以及第j轮的表情变换参数,确定第j+1轮的表情变换参数,包括:以最小化第二目标函数为目标,计算得到所述第j+1轮的表情变换参数;其中,所述第二目标函数用于表征采用所述第j+1轮的二维刚性变换参数以及所述第j+1轮的表情变换参数对所述第j轮的三维人脸关键点的位置信息进行变换后,与所述二维人脸关键点的位置信息之间的差异,且所述第j+1轮的表情变换参数是基于所述第j轮的表情变换参数计算得到的。
- 根据权利要求2所述的方法,其特征在于,所述迭代停止条件包括以下至少之一:所述二维刚性变换参数和所述表情变换参数的迭代更新次数达到阈值;基于所述二维刚性变换参数和所述表情变换参数变换得到的三维人脸关键点与所述二维人脸关键点在同一二维坐标系中对齐。
- 根据权利要求1所述的方法,其特征在于,所述基于所述最终的二维刚性变换参数和所述最终的表情变换参数,确定目标刚性变换参数和目标表情变换参数,包括:根据所述最终的二维刚性变换参数确定三维变换参数;基于所述最终的二维变换参数和所述三维变换参数,得到所述目标刚性变 换参数;将所述最终的表情变换参数确定为所述目标表情变换参数。
- 根据权利要求6所述的方法,其特征在于,所述最终的二维刚性变换参数包括第一旋转参数、第二旋转参数、第一平移参数和第二平移参数,所述第一旋转参数用于表征所述三维人脸模型在三维坐标系的第一方向上的旋转量和缩放量,所述第二旋转参数用于表征所述三维人脸模型在所述三维坐标系的第二方向上的旋转量和缩放量,所述第一平移参数用于表征所述三维人脸模型在所述第一方向上的平移量,所述第二平移参数用于表征所述三维人脸模型在所述第二方向上的平移量;所述对所述最终的二维刚性变换参数进行三维转换,得到所述目标刚性变换参数,包括:根据所述第一旋转参数和所述第二旋转参数,确定所述三维人脸模型的缩放驱动系数;根据所述第一平移参数、第二平移参数和第三平移参数,确定所述三维人脸模型的平移驱动系数;根据所述第一旋转参数、所述第二旋转参数和所述第三旋转参数,确定所述三维人脸模型的旋转驱动系数;其中,所述目标刚性变换参数中包括所述缩放驱动系数、所述平移驱动系数和所述旋转驱动系数。
- 根据权利要求7所述的方法,其特征在于,所述根据所述最终的二维刚性变换参数确定三维变换参数,包括:根据所述第一旋转参数和所述第二旋转参数,确定第三旋转参数,所述第三旋转参数用于表征所述三维人脸模型在所述三维坐标系的第三方向上的旋转量和缩放量;将第三平移参数赋值为零,所述第三平移参数用于表征所述三维人脸模型在所述第三方向上的平移量;其中,所述三维变换参数包括所述第三旋转参数和所述第三平移参数。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:根据所述二维人脸关键点确定第一二维人脸关键点集合和第二二维人脸关键点集合;其中,所述第一二维人脸关键点集合和所述第二二维人脸关键点集合中,存在至少一个相同的二维人脸关键点;将所述三维人脸模型中与所述第一二维人脸关键点集合相对应的三维人脸关键点,确定为第一三维人脸关键点集合;将所述三维人脸模型中与所述第二二维人脸关键点集合相对应的三维人脸关键点,确定为第二三维人脸关键点集合;其中,所述第一二维人脸关键点集合和所述第一三维人脸关键点集合用于对所述二维刚性变换参数进行迭代更新,所述第二二维人脸关键点集合和所述第二三维人脸关键点集合用于对所述表情变换参数进行迭代更新。
- 根据权利要求1至9任一项所述的方法,其特征在于,所述三维人脸模型中包括初始人脸模型和差异矩阵;其中,所述差异矩阵用于记录以所述初始人脸模型为基准变换至其它人脸模型的差异坐标,所述差异矩阵中的每一列数据用于存储针对同一人脸模型的差异坐标,所述差异矩阵中的每一行数据用于存储针对同一人脸关键点的差异坐标。
- 一种虚拟模型的面部驱动装置,其特征在于,所述装置包括:关键点获取模块,用于从二维人脸图像中检测得到二维人脸关键点;参数迭代模块,用于基于所述二维人脸关键点和三维人脸模型中的三维人脸关键点,对二维刚性变换参数和表情变换参数进行迭代更新,得到最终的二维刚性变换参数和最终的表情变换参数;其中,所述二维刚性变换参数用于变换所述三维人脸模型的面部姿态,所述表情变换参数用于变换所述三维人脸模型的面部表情;参数确定模块,用于基于所述最终的二维刚性变换参数和所述最终的表情变换参数,确定目标刚性变换参数和目标表情变换参数;其中,所述目标刚性变换参数和目标表情变换参数用于对三维虚拟模型的面部姿态和面部表情进行驱动,使得所述三维虚拟模型的面部姿态和面部表情与所述二维人脸图像中的面部姿态和面部表情相匹配。
- 一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至10任一项所述的虚拟模型的面部驱动方法。
- 一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至10任一项所述的虚拟模型的面部驱动方法。
Publications (1)
Publication Number | Publication Date |
---|---|
CN118318252A true CN118318252A (zh) | 2024-07-09 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109859296B (zh) | Smpl参数预测模型的训练方法、服务器及存储介质 | |
CN110807451B (zh) | 人脸关键点检测方法、装置、设备及存储介质 | |
JP7453470B2 (ja) | 3次元再構成及び関連インタラクション、測定方法及び関連装置、機器 | |
US11222471B2 (en) | Implementing three-dimensional augmented reality in smart glasses based on two-dimensional data | |
US8442307B1 (en) | Appearance augmented 3-D point clouds for trajectory and camera localization | |
CN111652974B (zh) | 三维人脸模型的构建方法、装置、设备及存储介质 | |
CN111291768B (zh) | 图像特征匹配方法及装置、设备、存储介质 | |
CN111667001B (zh) | 目标重识别方法、装置、计算机设备和存储介质 | |
EP3459003A1 (en) | Method and system for performing convolutional image transformation estimation | |
CN111680678B (zh) | 目标区域识别方法、装置、设备及可读存储介质 | |
WO2022033111A1 (zh) | 图像信息提取方法、训练方法及装置、介质和电子设备 | |
CN111784776B (zh) | 视觉定位方法及装置、计算机可读介质和电子设备 | |
US10198533B2 (en) | Registration of multiple laser scans | |
CN111639147B (zh) | 一种地图压缩方法、系统及计算机可读存储介质 | |
CN116563493A (zh) | 基于三维重建的模型训练方法、三维重建方法及装置 | |
CN112598780A (zh) | 实例对象模型构建方法及装置、可读介质和电子设备 | |
WO2021051562A1 (zh) | 人脸特征点定位方法、装置、计算设备和存储介质 | |
CN112949576B (zh) | 姿态估计方法、装置、设备及存储介质 | |
CN112767457A (zh) | 一种基于主成分分析的平面点云匹配方法及装置 | |
CN111814811A (zh) | 图像信息提取方法、训练方法及装置、介质和电子设备 | |
CN118318252A (zh) | 虚拟模型的面部驱动方法、装置、设备及存储介质 | |
CN115439534A (zh) | 图像的特征点匹配方法、设备、介质及程序产品 | |
WO2024108552A1 (zh) | 虚拟模型的面部驱动方法、装置、设备及存储介质 | |
CN114494379A (zh) | 基于fpfh的凸包辅助三维点云配准方法、设备及介质 | |
WO2017042852A1 (en) | Object recognition appratus, object recognition method and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |