面部参数确定方法、装置、电子设备及存储介质与流程

文档序号:32655188发布日期:2022-12-23 21:19阅读:30来源:国知局
面部参数确定方法、装置、电子设备及存储介质与流程

1.本公开涉及一种面部参数确定方法、装置、电子设备及存储介质。


背景技术:

2.随着虚拟人技术在诸如角色扮演游戏、直播、广告、购物、旅游等多种场景中的广泛应用,虚拟数字人与真人的实时同步非常重要。目前主要通过面捕技术与虚拟人技术的结合来实现虚拟数字人与真人在表情、动作等方面的同步。
3.面部捕捉技术主要有依靠机械装置跟踪面部运动状况实现面部动作捕捉的技术和基于光学的面部动作捕捉技术。其中,依靠机械装置跟踪面部运动状况来实现面部动作捕捉的技术,因其使用不便,对用户表情限制较大,且成本高、不易携带等问题,逐渐被弃用。而基于光学的面部动作捕捉技术需要使用特定的面部动作捕捉设备,虽然这些面部动作捕捉设备可以是数码相机、电子设备的内置或外接摄像头或者移动终端的前置摄像头,但其需要配置昂贵的基于二维数据捕捉面部表情及其变化的光学镜头才能有较好的面捕精度。
4.因此,目前的面捕技术均存在佩戴不便、成本高昂、使用不便、操作繁琐等问题,均难以广泛应用于虚拟人技术中,导致虚拟数字人与用户的实时同步很难实现。


技术实现要素:

5.为了解决上述技术问题中的至少一个,本公开提供了一种面部参数确定方法、装置、电子设备及存储介质。
6.根据本公开的一个方面,提供了一种面部参数确定方法,包括:
7.通过解析摄像装置实时采集的视频获取包含目标人物面部的第一图像;
8.利用所述第一图像获取目标人物的面部关键点数据和面部区域信息;
9.根据所述面部区域信息从所述第一图像中提取目标人物的面部图像;
10.根据所述面部关键点数据确定目标人物的人脸旋转姿态角;
11.通过预先训练的第一深度学习模型利用所述目标人物的面部图像和所述目标人物的人脸旋转姿态角确定面部形变参数,所述面部形变参数用于驱动虚拟数字人执行面部动作。
12.本公开的一些可能的实现方式中,所述根据所述面部区域信息从所述第一图像中提取目标人物的面部图像,包括:按照预定参数调整所述面部区域信息以使面部区域按照预定比例扩大;提取所述第一图像中扩大后的面部区域部分作为目标人物的面部图像;以及,将所述目标人物的面部图像按照所述第一图像的宽高比进行放缩。
13.本公开的一些可能的实现方式中,通过预先训练的第一深度学习模型利用所述目标人物的面部图像和所述目标人物的人脸旋转姿态角确定面部形变参数,包括:通过预先训练的第一深度学习模型对所述目标人物的面部图像进行处理,以提取目标人物的面部形变参数;利用所述目标人物的人脸旋转姿态角替换所述面部形变参数中头部姿态的相关参
数。
14.本公开的一些可能的实现方式中,所述第一深度学习模型采用effcientnet网络,根据预先构建的训练数据集训练得到,所述训练数据集包括多种二维图像样本,每种二维图像样本对应一种预定面部动作,所述二维图像样本标注有相应预定面部动作的面部形变参数。
15.本公开的一些可能的实现方式中,所述二维图像样本标注的面部形变参数通过对所述面部形变参数中对应预定面部动作的面部形变系数单独归一化而获得。
16.本公开的一些可能的实现方式中,确定面部形变参数之后,还包括如下之一或多项:
17.检测到所述面部形变参数中有面部形变系数的数值发生突变时,使用1€滤波器对所述面部形变参数进行过滤;
18.将所述面部形变参数中数值低于预定阈值的面部形变系数归零;
19.将所述面部形变参数中部分或全部面部形变系数的数值按照预定尺度进行放缩。
20.本公开的一些可能的实现方式中,所述面部形变参数对应的面部动作包括如下之一或多项:张嘴、闭嘴、睁眼、闭眼、单侧眨眼、皱眉、皱鼻、露齿微笑、不露齿微笑、吐舌头、单侧噘嘴、双侧噘嘴、鼓腮、说话、朗读。
21.根据本公开的第二方面,提供了一种面部参数确定装置,包括:
22.图像提取单元,用于通过解析摄像装置实时采集的视频获取包含目标人物面部的第一图像;
23.信息提取单元,用于利用所述第一图像获取目标人物的面部关键点数据和面部区域信息;
24.面部图像提取单元,用于根据所述面部区域信息从所述第一图像中提取目标人物的面部图像;
25.姿态确定单元,用于根据所述面部关键点数据确定目标人物的人脸旋转姿态角;
26.参数确定单元,用于通过预先训练的第一深度学习模型利用所述目标人物的面部图像和所述目标人物的人脸旋转姿态角确定面部形变参数,所述面部形变参数用于驱动虚拟数字人执行面部动作。
27.根据本公开的第二方面,提供了一种电子设备,包括:
28.存储器,所述存储器存储执行指令;以及
29.处理器,所述处理器执行所述存储器存储的执行指令,使得所述处理器执行上述的面部参数确定方法。
30.根据本公开的第四方面,提供了一种可读存储介质,所述可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现上述的面部参数确定方法。
31.本公开实施例通过2d图像即可实现面部形变参数的准确确定,执行速度快,适用普通相机,不需要深度相机来获取深度信息,硬件资源需求少,成本低,普适性好,能够满足虚拟数字人与真人面部动作实时同步的需求,可适用于虚拟人技术,便于与虚拟人技术结合应用于诸如pc等普通电子设备。只需要用户拥有一款带有摄像头的电子设备,同时对电子设备的显卡内存等无任何性能要求即可实现本公开实施例的方法。
附图说明
32.附图示出了本公开的示例性实施方式,并与其说明一起用于解释本公开的原理,其中包括了这些附图以提供对本公开的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。
33.图1是根据本公开的一个实施方式的面部参数确定方法的流程示意图。
34.图2是本公开的一个实施方式的采用处理系统的硬件实现方式的面部参数确定装置的结构示意框图。
35.图中附图标记具体为:
36.200
ꢀꢀ
面部参数确定装置
37.300
ꢀꢀ
总线
38.400
ꢀꢀ
处理器
39.500
ꢀꢀ
存储器
40.600
ꢀꢀ
其它电路。
具体实施方式
41.下面结合附图和实施方式对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施方式仅用于解释相关内容,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分。
42.需要说明的是,在不冲突的情况下,本公开中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明本公开的技术方案。
43.除非另有说明,否则示出的示例性实施方式/实施例将被理解为提供可以在实践中实施本公开的技术构思的一些方式的各种细节的示例性特征。因此,除非另有说明,否则在不脱离本公开的技术构思的情况下,各种实施方式/实施例的特征可以另外地组合、分离、互换和/或重新布置。
44.在附图中使用交叉影线和/或阴影通常用于使相邻部件之间的边界变得清晰。如此,除非说明,否则交叉影线或阴影的存在与否均不传达或表示对部件的具体材料、材料性质、尺寸、比例、示出的部件之间的共性和/或部件的任何其它特性、属性、性质等的任何偏好或者要求。此外,在附图中,为了清楚和/或描述性的目的,可以夸大部件的尺寸和相对尺寸。当可以不同地实施示例性实施例时,可以以不同于所描述的顺序来执行具体的工艺顺序。例如,可以基本同时执行或者以与所描述的顺序相反的顺序执行两个连续描述的工艺。此外,同样的附图标记表示同样的部件。
45.当一个部件被称作“在”另一部件“上”或“之上”、“连接到”或“结合到”另一部件时,该部件可以直接在所述另一部件上、直接连接到或直接结合到所述另一部件,或者可以存在中间部件。然而,当部件被称作“直接在”另一部件“上“、“直接连接到”或“直接结合到”另一部件时,不存在中间部件。为此,术语“连接”可以指物理连接、电气连接等,并且具有或不具有中间部件。
46.本文使用的术语是为了描述具体实施例的目的,而不意图是限制性的。如这里所使用的,除非上下文另外清楚地指出,否则单数形式“一个(种、者)”和“所述(该)”也意图包括复数形式。此外,当在本说明书中使用术语“包含”和/或“包括”以及它们的变型时,说明
存在所陈述的特征、整体、步骤、操作、部件、组件和/或它们的组,但不排除存在或附加一个或更多个其它特征、整体、步骤、操作、部件、组件和/或它们的组。还要注意的是,如这里使用的,术语“基本上”、“大约”和其它类似的术语被用作近似术语而不用作程度术语,如此,它们被用来解释本领域普通技术人员将认识到的测量值、计算值和/或提供的值的固有偏差。
47.下面先对本公开涉及的名词及术语做简要说明:
48.面部动作捕捉(facial motion capture,facial mocap):也称为面部表情捕捉(facial expression capture),属于动作捕捉(motion capture)技术,是指使用机械装置、相机等设备记录人类面部表情和动作,将之转换为一系列参数数据的过程。与捕捉由关节点构成、较为稳定的人体动作相比,面部表情更为细微复杂,因此对数据精度要求更高。
49.混合变形(blendshape,bs):是单个网格变形以实现许多预定义形状和任何数量之间组合的技术,在maya/3ds max中称为变形目标,例如单个网格是默认的基本形状(例如无表情的面),并且基本形状的其他形状用于混合/变形,是不同的表达(例如,笑、皱眉、闭合眼皮等),这些可以统称为混合形状或变形目标。本文所描述的面部形变参数,即blendshape,其可以包含61个值(索引号为[0-60]),通过这61个值的不同组合来表示人脸丰富多变的表情。
[0050]
media pipe face mesh:是一种脸部几何解决方案,即使在移动设备上,也可以实时估计468个3d脸部坐标。它采用机器学习(ml)来推断3d表面几何形状,只需要单个摄像机输入,无需专用的深度传感器,即可获取2d图像上的3d位置信息。
[0051]
live link face:一种基于ios系统的面捕应用程序,通过该应用程序使用iphone或ipad等终端可以制作可用于虚拟制片的实时面部动画。本公开中live link face用于数据标注,可以使用live link face为二维图像样本标注面部形变参数。
[0052]
open neural network exchange(onnx):开放神经网络交换格式,是一种用于表示第一深度学习模型的标准,可使模型在不同框架之间进行转移。onnx是一种针对机器学习设计的开放式的文件格式,用于存储训练好的模型。
[0053]
人脸旋转姿态角:即,欧拉角(euler),包括三个角度值,分别为:pitch(俯仰角-围绕x轴旋转),yaw(偏航角-围绕y轴旋转)和roll(滚转角-围绕z轴旋转);这三个角度值所对应的人脸动作分别为抬头、摇头和转头。
[0054]
1€滤波器(one_euro_filter):一种自适应截止频率低通滤波器;当信号以低速变化时,1€滤波器可应用比较低的截止频率以过滤掉信号中的高频抖动信息;相应的,当信号速度变化很快时,信号的延迟成为更显著的问题,这时1€滤波器可以自适应的采用更高的截止频率来让快速变化的信号通过,达到减小延迟的目的。
[0055]
baseline:即对照组、基准线。例如,当一个或多个新模型是在已有模型的基础上改进而得到,那么该已有模型可以称为基准模型(baseline model)。
[0056]
图1示出了本公开实施例的面部参数确定方法的流程示意图。如图1所示,本公开的一些实施方式中,面部参数确定方法可以包括如下步骤:
[0057]
步骤s12,通过解析摄像装置实时采集的视频获取包含目标人物面部的第一图像;
[0058]
本公开实施例中,第一图像可以是例如普通相机、普通配置的摄像头等装置采集的2d图像。
[0059]
示例性地,可以通过例如pc等电子设备自带的摄像装置实时捕获目标人物的面部动作视频流,按照一定帧率对该面部动作视频流进行解析以提取到一帧或者多帧第一图像。第一图像优选为包含有目标人物的五官且相对清晰的图像。其中,帧率由摄像装置的性能参数每秒传输帧数(frames per second,fps)决定。通常,帧率为30。
[0060]
步骤s14,利用第一图像获取目标人物的面部关键点数据和面部区域信息;
[0061]
可以采用任何可适用的关键点数据提取算法利用第一图像获取目标人物的面部关键点数据和面部区域信息。例如,可以采用基于神经网络的感兴趣区域识别从第一图像中提取目标人物的面部区域信息。再例如,可以采用基于神经网络的语义分割等算法从第一图像中提取目标人物的面部关键点数据。这里,面部关键点的类型及其数量等可以预先设定,或者通过训练神经网络使其具备提取特定关键点数据的性能。
[0062]
一些实施方式中,面部关键点数据可以包括预先选定的468个面部关键点的3d位置信息,面部区域信息可以包括面部区域边界上关键点的3d位置信息,例如,人脸框四个顶角的坐标等。
[0063]
一些实施方式中,可以调用media pipe的face mesh(即,关键点检测)服务,检测第一图像中人脸的468个关键点的3d位置信息和人脸框的位置信息,从而获得目标人物的468个面部关键点的3d位置和面部区域边界上关键点的位置。由于media pipe可以直接在性能欠佳的移动设备上运行,且只需要单个摄像机输入,无需专用的深度传感器,即可获取2d图像上的3d位置信息,因此,更利于本公开实施例在诸如移动设备等性能较低的电子设备中使用,可以有效提升本公开实施例的普适性。
[0064]
步骤s16,根据面部区域信息从第一图像中提取目标人物的面部图像;
[0065]
步骤s16中,通过面部区域信息对第一图像的人脸区域进行裁剪来提取面部图像,可以有效去除第一图像中可能会造成干扰的背景信息,提高后续面部图像的处理效率和面部形变参数的准确性。
[0066]
一些实施方式中,步骤s16可以包括:
[0067]
步骤a1,按照预定参数调整面部区域信息以使面部区域按照预定比例扩大;
[0068]
例如,预定参数可以设定为原数据的倍数,例如,1.5倍等,面部区域边界上关键点的3d位置信息扩大为原始值的1.5倍,即可实现相应面部区域的1.5倍比例放大。
[0069]
通过面部区域的放大,可以确保面部图像中包含有目标人物的全部五官结构,避免诸如下巴部分缺失等情况。
[0070]
步骤a2,提取第一图像中扩大后的面部区域部分作为目标人物的面部图像;
[0071]
步骤a3,将目标人物的面部图像按照第一图像的宽高比进行放缩。
[0072]
一些实施方式中,可以使用imutils.resize()方法对面部图像进行放缩。通过imutils.resize()方法可以保持原有图片的宽高比,从而确保面部图像的人脸结构不被压缩或改变图像的宽高比,避免面部图像拉伸而造成人脸局部扭曲,以致降低面部形变参数的准确性。
[0073]
步骤s18,根据面部关键点数据确定目标人物的人脸旋转姿态角;
[0074]
一些实施方式中,可以采用各种可适用的方法通过面部关键点数据确定人脸旋转姿态角。示例性地,可以使用opencv的solvepnp函数基于面部关键点数据(例如,468个面部关键点的3d位置信息)计算人脸旋转姿态角度,也即,表征头部姿态的欧拉角。此外,还可采
用其他方式实现,优选可应用于低性能电子设备的方式来确定人脸旋转姿态角。
[0075]
步骤s110,通过预先训练的第一深度学习模型利用目标人物的面部图像和目标人物的人脸旋转姿态角确定面部形变参数,该面部形变参数可用于驱动虚拟数字人执行面部动作,以实现虚拟数字人与目标人物的面部动作同步。
[0076]
一些实施方式中,步骤s110可以包括:
[0077]
步骤b1,通过预先训练的第一深度学习模型对目标人物的面部图像进行处理,以获得目标人物的面部形变参数;
[0078]
面部形变参数可用于表征面部动作,这些面部动作可以包括但不限于:张嘴、闭嘴、睁眼、闭眼、单侧眨眼、皱眉、皱鼻、露齿微笑、不露齿微笑、吐舌头、单侧噘嘴、双侧噘嘴、鼓腮、说话、朗读。
[0079]
面部形变参数还可用于表征特定表情的面部动作,例如,生气的面部动作,愤怒的面部动作,喜悦的面部动作,大笑的面部动作等。
[0080]
面部形变参数可以是按照预定索引位置排列的多个预定义的面部形变系数形成的数据序列,每个索引位置对应的面部形变系数所对应的面部动作形态可以预先设定。
[0081]
示例性地,面部形变参数可以为61个预定义的面部形变系数形成的数据序列,这些面部形变系数的索引位置分别为0~60,每个索引位置对应的面部形变系数对应的面部动作形态可预先自定义。例如,索引位置为52、53和54的三个面部形变系数可定义为人脸旋转姿态角,也即,前文欧拉角的三个角度值。
[0082]
具体应用中,面部形变参数的表示形式、其中面部形变系数的数量及其意义均可根据需要灵活定义。对于面部形变参数的表示方式及其内容,本公开实施例不作限制。
[0083]
示例性地,步骤b1中,可以通过预先训练的第一深度学习模型对目标人物的面部图像进行处理,从而获得包含61个面部形变系数的数据序列,该数据序列即为目标人物的面部形变参数。
[0084]
步骤b2,利用目标人物的人脸旋转姿态角替换面部形变参数中头部姿态的相关参数。
[0085]
通过多项实验对比发现,通过面部关键点数据确定的人脸旋转姿态角比深度学习预测得到的欧拉角(dl_euler)数值更平滑,因此,本公开实施例在步骤b3中使用关键点数据确定的人脸旋转姿态角的值替换面部形变参数中的表征人脸旋转姿态的系数值,例如,前文索引位置为52、53和54的三个面部形变系数。
[0086]
一些实施方式中,在步骤s110后,还可进一步对面部形变参数执行后处理,以使得面部形变参数更加准确,能够直接用于驱动虚拟数字人执行面部动作,避免虚拟数字人的面部动作发生抖动或异常,提升虚拟数字人的拟人化程度和自然度。
[0087]
一些实施方式中,步骤s110后,还可以包括如下之一或多项:
[0088]
1)检测到面部形变参数中有面部形变系数的数值发生突变时,使用1€滤波器对面部形变参数进行过滤;由此,可以诸如高速移动场景或低速移动场景下,因视频流延迟较严重或抖动较严重而导致面部形变参数突变,进而导致虚拟数字人的面部动作发生异常抖动。
[0089]
面部形变系数的数值突变是指面部形变系数的数值变化幅度不符合真实人脸的变化规律,例如,前一帧指示眼睛张开程度的面部形变系数的数值由较大值突变为0等情
况。具体应用中,可以通过预先设定对应各个不同面部形变系数的阈值来判定相应系数是否发生突变。
[0090]
2)将面部形变参数中数值低于预定阈值的面部形变系数归零。例如,指示嘴巴张开程度的系数取值为0.2时,由于幅度太小不适用于虚拟数字人,因此,可以将该系数的取值归零,即,重置为0。由此,可以在虚拟数字人无法呈现诸如嘴巴微微张开等面部动作或细微的面部表情时,可以通过将面部形变参数中的相关系数归零来控制虚拟数字人不执行相应动作,从而减少抖动,提升虚拟数字人执行面部动作时的自然度。
[0091]
3)将面部形变参数中部分或全部的面部形变系数的数值按照预定尺度进行放缩。例如,若面部形变参数中部分系数的取值在0~0.8之间,则可以将其放大到0~1之间,以便这些系数更适用于虚拟数字人的面部驱动。由此,可以在面部形变参数中部分系数的数值过小或者过大时,通过在预定尺度的放缩将其数值调整到更贴合虚拟数字人的范围内,从而减少抖动,提升虚拟数字人执行面部动作时的自然度。
[0092]
由于efficientnet是一种较轻量级的网络,是新的适合移动端的网络模型(mobile-size baseline),不仅网络执行速度较快且精度也比较高。因此,在保证模型预测的响应速度和精度满足要求的前提下,为提升本公开实施例的普适性,便于与虚拟人技术结合应用于诸如pc等普通电子设备中。一些实施方式中,第一深度学习模型可以采用effcientnet网络。
[0093]
一些实施方式中,第一深度学习模型可以根据预先构建的训练数据集训练得到,该训练数据集可以包括多种二维图像样本,每种二维图像样本对应一种预定面部动作,二维图像样本标注有相应预定面部动作的面部形变参数。在第一深度学习模型的训练阶段仅使用2d图片信息,便可通过第一深度学习模型直接实现2d图像(即,图片)到面部形变参数的转换。
[0094]
为丰富第一深度学习模型的训练数据集的样本多样性,增加第一深度学习模型的鲁棒性,在第一深度学习模型的训练前,可以通过一种或多种数据增强方式对训练数据集中的二维图像样本进行预处理。例如,数据增强方式可以包括但限于随机水平翻转randomhorizontalflip()、随机垂直翻转randomverticalflip()等。这样,通过改变二维图像样本的色调、亮度和对比度colorjitter()减少采集时因光照、像素等因素带来的干扰,从而增强第一深度学习模型的鲁棒性。
[0095]
为避免采集到的数据不稳定,可以对训练数据集中的标签数据进行归一化。因此,一些实施方式中,二维图像样本标注的面部形变参数优选为归一化的二维形变参数。
[0096]
本公开实施例中,在数据预处理阶段考虑到每段视频只关注某一些面部动作形态对应的面部形变参数(也即,61个面部形变系数中的某一个或几个系数),如果直接对所有视频采集到的面部形变参数值进行归一化会使标签(label)发生畸变。因此,本公开的一些实施例中,可以对每个面部动作形态所对应的面部形变系数进行梳理,只对每段视频数据中最关注的面部动作形态所对应的面部形变系数进行归一化。这样,可确保归一化的面部形变参数与二维图像样本相对应。
[0097]
也即,本公开的一些实施方式中,二维图像样本标注的面部形变参数可以通过面部形变参数中对应预定面部动作的面部形变系数单独归一化而获得。由此,在训练数据集的数据预处理阶段通过对每段视频中对应不同面部动作形态的面部形变系数进行归一化,
而不是对面部形变参数进行全局归一化,可以避免面部形变参数发生畸变,提高训练数据集的准确性。
[0098]
此外,为确保每一帧二维图像样本都存在有效的表情数据(剔除非有效表情数据:如半脸在镜头中,或其他非指定动作表情等),可以通过设定各类阈值过滤训练数据集中面部形变参数不合格的二维图像样本。例如,可以对视频的前2秒和后2秒的二维图像进行剔除。
[0099]
一些实施方式中,本公开实施例的第一深度学习模型优选为onnx的文件格式,以进一步提高模型的响应速度。例如,若第一深度学习模型为pytorch模型,可以将其转换为onnx文件格式,这样,第一深度学习的执行速度可提高至2毫秒。
[0100]
示例性地,第一深度学习模型可以efficientnet-b0为基准模型(baseline model),在自采集的面捕数据上进行迭代,设定最后输出的面部形变参数为61维的数据序列,即包含61个面部形变系数的值,使用adam优化器快速收敛模型,最后通过对参数的不断微调,得到了最终的网络参数。以effcientnet-b0网络作为第一深度学习模型的主干网络,可以保证模型预测的响应速度和精度满足需求,同时模型大小可以控制在16m,可同时适用移动端和网页端的部署,可本地部署或迁移云端,普适性更好,更利于与虚拟人技术结合使用。
[0101]
示例性地,训练第一深度学习模型时自采集的面捕数据可以如下:根据61个面部形变系数的不同组合设置40种不同的面部动作,每个采集对象每个面部动作录一个视频(如,可以录制采集对象2做出编号13的面部动作的视频),如此,通过对100个采集对象的轮流录制,最终训练数据集的二维图像样本可以达300万张左右。表1示出了第一深度学习模型训练时的网络参数设置。
[0102]
二维图像样本的规格224*224*3(rgb图像)优化器类型radam损失函数(loss)平方和误差初始化学习率大小(lr)0.001收敛轮次(epoch)116个参数大小(mb)14.02模型总大小(mb)48(pth)/16(onnx)
[0103]
表1
[0104]
具体应用中,还可采用诸如resnet34、vgg16、efficient net-b3等其他神经网络作为第一深度学习模型的骨干网络。对于第一深度学习模型的具体架构及其训练方法、训练数据集的采集等,本公开实施例均不作限制。
[0105]
经测试,本公开实施例的第一深度学习模型的处理过程耗时仅约2毫秒,人脸识别及面部区域裁剪等步骤的总耗时仅约10毫秒,本公开实施例的面部参数确定方法的总体耗时可以控制30毫秒以内,fps可以实现30以上,满足实时跟踪的需求,可以达到虚拟数字人与真人面部动作实时同步的效果。
[0106]
由上可见,本公开实施例的面部参数确定方法,通过2d图像即可实现面部形变参数的准确确定,执行速度快,适用普通相机,不需要深度相机来获取深度信息,硬件资源需求少,成本低,普适性好,能够满足虚拟数字人与真人面部动作实时同步的需求,可适用于
虚拟人技术,便于与虚拟人技术结合应用于诸如pc等通用的普通电子设备。只需要用户拥有一款带有摄像头的电子设备,同时对电子设备的显卡内存等无任何性能要求即可实现本公开实施例的方法。
[0107]
图2示出了采用处理系统的硬件实现方式的面部参数确定装置示例图。
[0108]
该装置可以包括执行上述流程图中各个或几个步骤的相应模块。因此,可以由相应模块执行上述流程图中的每个步骤或几个步骤,并且该装置可以包括这些模块中的一个或多个模块。模块可以是专门被配置为执行相应步骤的一个或多个硬件模块、或者由被配置为执行相应步骤的处理器来实现、或者存储在计算机可读介质内用于由处理器来实现、或者通过某种组合来实现。
[0109]
该硬件结构可以利用总线架构来实现。总线架构可以包括任何数量的互连总线和桥接器,这取决于硬件的特定应用和总体设计约束。总线300将包括一个或多个处理器400、存储器500和/或硬件模块的各种电路连接到一起。总线300还可以将诸如外围设备、电压调节器、功率管理电路、外部天线等的各种其它电路600连接。
[0110]
总线300可以是工业标准体系结构(isa,industry standard architecture)总线、外部设备互连(pci,peripheral component)总线或扩展工业标准体系结构(eisa,extended industry standard component)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,该图中仅用一条连接线表示,但并不表示仅有一根总线或一种类型的总线。
[0111]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施方式所属技术领域的技术人员所理解。处理器执行上文所描述的各个方法和处理。例如,本公开中的方法实施方式可以被实现为软件程序,其被有形地包含于机器可读介质,例如存储器。在一些实施方式中,软件程序的部分或者全部可以经由存储器和/或通信接口而被载入和/或安装。当软件程序加载到存储器并由处理器执行时,可以执行上文描述的方法中的一个或多个步骤。备选地,在其他实施方式中,处理器可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述方法之一。
[0112]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,可以具体实现在任何可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
[0113]
就本说明书而言,“可读存储介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。可读存储介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式只读存储器(cdrom)。另外,可读存储介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理
来以电子方式获得程序,然后将其存储在存储器中。
[0114]
应当理解,本公开的各部分可以用硬件、软件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0115]
本技术领域的普通技术人员可以理解实现上述实施方式方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种可读存储介质中,该程序在执行时,包括方法实施方式的步骤之一或其组合。
[0116]
此外,在本公开各个实施方式中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个可读存储介质中。存储介质可以是只读存储器,磁盘或光盘等。
[0117]
图2是根据本公开的一个实施方式的面部参数确定装置200的一种结构示意图。如图2所示,本公开实施例的面部参数确定装置200可以包括:
[0118]
图像提取单元202,用于通过解析摄像装置实时采集的视频获取包含目标人物面部的第一图像;
[0119]
信息提取单元204,用于利用第一图像获取目标人物的面部关键点数据和面部区域信息;
[0120]
面部图像提取单元206,用于根据面部区域信息从第一图像中提取目标人物的面部图像;
[0121]
姿态确定单元208,用于根据面部关键点数据确定目标人物的人脸旋转姿态角;
[0122]
参数确定单元210,用于通过预先训练的第一深度学习模型利用目标人物的面部图像和目标人物的人脸旋转姿态角确定面部形变参数,面部形变参数用于驱动虚拟数字人执行面部动作。
[0123]
一些实施方式中,面部图像提取单元206,具体用于:按照预定参数调整面部区域信息以使面部区域按照预定比例扩大;提取第一图像中扩大后的面部区域部分作为目标人物的面部图像;以及,将目标人物的面部图像按照第一图像的宽高比进行放缩。
[0124]
一些实施方式中,参数确定单元210,具体用于:通过预先训练的第一深度学习模型对目标人物的面部图像进行处理,以提取目标人物的面部形变参数;以及,利用目标人物的人脸旋转姿态角替换面部形变参数中头部姿态的相关参数。
[0125]
一些实施方式中,面部参数确定装置200还可以包括:参数后处理单元212,用于执行如下之一或多项:
[0126]
检测到面部形变参数中有面部形变系数的数值发生突变时,使用1€滤波器对面部形变参数进行过滤;
[0127]
将面部形变参数中数值低于预定阈值的面部形变系数归零;
[0128]
将面部形变参数中部分或全部面部形变系数的数值按照预定尺度进行放缩。
[0129]
一些实施方式中,面部形变参数对应的面部动作可以包括如下之一或多项:张嘴、闭嘴、睁眼、闭眼、单侧眨眼、皱眉、皱鼻、露齿微笑、不露齿微笑、吐舌头、单侧噘嘴、双侧噘嘴、鼓腮、说话、朗读。
[0130]
本公开还提供了一种电子设备,包括:存储器,存储器存储执行指令;以及处理器或其他硬件模块,处理器或其他硬件模块执行存储器存储的执行指令,使得处理器或其他硬件模块执行上述的面部参数确定方法。
[0131]
本公开还提供了一种可读存储介质,可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现上述的面部参数确定方法。
[0132]
在本说明书的描述中,参考术语“一个实施方式/方式”、“一些实施方式/方式”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施方式/方式或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施方式/方式或示例中。在本说明书中,对上述术语的示意性表述不必须的是相同的实施方式/方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施方式/方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施方式/方式或示例以及不同实施方式/方式或示例的特征进行结合和组合。
[0133]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0134]
本领域的技术人员应当理解,上述实施方式仅仅是为了清楚地说明本公开,而并非是对本公开的范围进行限定。对于所属领域的技术人员而言,在上述公开的基础上还可以做出其它变化或变型,并且这些变化或变型仍处于本公开的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1