CN116416370A - 一种数据处理方法和相关装置 - Google Patents
一种数据处理方法和相关装置 Download PDFInfo
- Publication number
- CN116416370A CN116416370A CN202111679413.3A CN202111679413A CN116416370A CN 116416370 A CN116416370 A CN 116416370A CN 202111679413 A CN202111679413 A CN 202111679413A CN 116416370 A CN116416370 A CN 116416370A
- Authority
- CN
- China
- Prior art keywords
- face
- dimensional
- parameters
- key points
- projection
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 30
- 238000012545 processing Methods 0.000 claims abstract description 86
- 238000012549 training Methods 0.000 claims abstract description 76
- 230000006870 function Effects 0.000 claims description 81
- 230000014509 gene expression Effects 0.000 claims description 78
- 238000000034 method Methods 0.000 claims description 39
- 238000009877 rendering Methods 0.000 claims description 29
- 239000000463 material Substances 0.000 claims description 17
- 238000010276 construction Methods 0.000 claims description 10
- 238000013527 convolutional neural network Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 210000000887 face Anatomy 0.000 description 31
- 230000008921 facial expression Effects 0.000 description 17
- 230000000694 effects Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 12
- 230000008859 change Effects 0.000 description 11
- 210000001508 eye Anatomy 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 9
- 210000000697 sensory organ Anatomy 0.000 description 9
- 230000001815 facial effect Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 241000282575 Gorilla Species 0.000 description 3
- 210000004709 eyebrow Anatomy 0.000 description 3
- 210000001061 forehead Anatomy 0.000 description 3
- 210000000214 mouth Anatomy 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 210000001331 nose Anatomy 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000010473 stable expression Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例公开了一种数据处理方法和相关装置,基于重投影原理,处理设备可以通过将维度较少的具有特定关键点语义的二维关键点作为模型输入进行模型训练,通过重投影损失函数控制模型进行学习,得到能够进行参数确定的深度模型,从而在基于该深度模型确定出的参数重建三维人脸时,只需要维度远小于图像数据维度的关键点数据,即可确定出精度和匹配度较高的三维人脸,同时由于输入数据维度较小,因此三维人脸的重建速度得到了大幅提高。
Description
技术领域
本申请涉及数据处理领域,特别是涉及一种数据处理方法和相关装置。
背景技术
三维(3D)人脸重建算法是从二维(2D)图片提供的2D人脸信息估计出真实的3D人脸信息(如人脸的3D MESH或者叫3D网格)的技术。3D人脸重建算法在视频、图像处理场景下有着广泛的应用,例如人脸头套、人脸表情驱动等都需要准确的3D网格作为依据。
在很多应用场景中对3D人脸重建算法的处理时延有较高的要求,而相关技术中的3D人脸重建算法需要通过多步迭代,耗时高,为了减少计算量通常在很多步骤采用近似计算,导致重建的3D网格精度不高,投影到原2D图片时在人脸的眼睛、嘴巴和人脸边界处的贴合度难以保证。
发明内容
为了解决上述技术问题,本申请提供了一种数据处理方法,在加快三维人脸重建速度的同时,提高三维人脸重建的精度和与真实人脸的匹配度。
本申请实施例公开了如下技术方案:
第一方面,本申请实施例公开了一种数据处理方法所述方法包括:
获取包括目标人脸的人脸图像,以及用于在所述人脸图像中标识所述目标人脸的样本二维关键点;
通过将所述样本二维关键点输入初始深度模型,得到对应的形状基参数、表情基参数和位姿参数;
根据所述形状基参数和所述表情基参数重建所述人脸图像中目标人脸对应的三维网格,并基于所述位姿参数向所述人脸图像投影所述三维网格,得到对应的投影关键点;
基于具有相同关键点语义的所述投影关键点和所述样本二维关键点间的距离,构建重投影损失函数,所述关键点语义用于标识目标人脸的脸部位置;
通过所述重投影损失函数训练所述初始深度模型,得到用于重建人脸三维网格的深度模型。
第二方面,本申请实施例公开了一种数据处理装置,所述装置包括第一获取单元、第一输入单元、第一重建单元、第一构建单元和训练单元:
所述第一获取单元,用于获取包括目标人脸的人脸图像,以及用于在所述人脸图像中标识所述目标人脸的样本二维关键点;
所述第一输入单元,用于通过将所述样本二维关键点输入初始深度模型,得到对应的形状基参数、表情基参数和位姿参数;
所述第一重建单元,用于根据所述形状基参数和所述表情基参数重建所述人脸图像中目标人脸对应的三维网格,并基于所述位姿参数向所述人脸图像投影所述三维网格,得到对应的投影关键点;
所述第一构建单元,用于基于具有相同关键点语义的所述投影关键点和所述样本二维关键点间的距离,构建重投影损失函数,所述关键点语义用于标识目标人脸的脸部位置;
所述训练单元,用于通过所述重投影损失函数训练所述初始深度模型,得到用于重建人脸三维网格的深度模型。
在一种可能的实现方式中,所述装置还包括第二获取单元、第一确定单元、第二输入单元、第二重建单元、添加单元和投影单元:
所述第二获取单元,用于获取包括待处理人脸的待识别人脸图像;
所述第一确定单元,用于根据所述待识别人脸图像,确定用于在所述待识别人脸图像中标识所述待处理人脸的二维关键点;
所述第二输入单元,用于通过将所述二维关键点输入所述深度模型,得到所述待处理人脸对应的形状基参数、表情基参数和位姿参数;
所述第二重建单元,用于根据所述待处理人脸对应的形状基参数和表情基参数重建所述待处理人脸对应的三维网格;
所述添加单元,用于基于渲染参数在所述三维网格对应的位置添加渲染素材;
所述投影单元,用于根据所述待处理人脸对应的位姿参数,在所述待识别人脸图像中投影添加了所述渲染素材的所述三维网格。
在一种可能的实现方式中,所述第一获取单元具体用于:
获取人脸视频和图片形式的第一人脸图像,所述人脸视频包括视频帧形式的多个第二人脸图像;
根据所述第一人脸图像中的所述目标人脸,确定对应的第一样本二维关键点,以及根据所述多个第二人脸图像中的所述目标人脸,确定分别对应的第二样本二维关键点。
在一种可能的实现方式中,所述第一输入单元具体用于:
通过所述初始深度模型,得到分别对应至少两个第二人脸图像的形状基参数、表情基参数和位姿参数,所述至少两个第二人脸图像为从同一个所述人脸视频中提取的连续视频帧;
所述装置还包括第一生成单元:
所述第一生成单元,用于根据所述至少两个第二人脸图像分别对应的形状基参数生成目标形状基参数,所述目标形状基参数用于作为重建所述至少两个第二人脸图像分别对应的三维网格时所依据的形状基参数。
在一种可能的实现方式中,所述第一重建单元具体用于:
根据至少两个第二人脸图像分别对应的形状基参数和表情基参数,重建所述至少两个第二人脸图像中目标人脸分别对应的三维网格,所述至少两个第二人脸图像为从同一个所述人脸视频中提取的连续视频帧;
基于所述至少两个第二人脸图像中目标人脸分别对应的三维网格间的网格差异,构建时序约束损失函数;
所述训练单元具体用于:
通过所述重投影损失函数和所述时序约束损失函数训练所述初始深度模型,得到用于重建人脸三维网格的深度模型
在一种可能的实现方式中,所述装置还包括第三获取单元、第二确定单元和第二构建单元:
所述第三获取单元,用于获取包括投影关键点的至少两个第二人脸图像,所述至少两个第二人脸图像为从同一个所述人脸视频中提取的连续视频帧;
所述第二确定单元,用于确定所述至少两个第二人脸图像中作为相邻视频帧的相邻图像的像素差值,所述像素差值用于标识所述相邻图像中具有相同关键点语义的投影关键点的像素值之差;
所述第二构建单元,用于根据所述像素差值构建光度一致性损失函数;
所述训练单元具体用于:
通过所述重投影损失函数和所述光度一致性损失函数训练所述初始深度模型,得到用于重建人脸三维网格的深度模型。
在一种可能的实现方式中,所述至少两个第二人脸图像中的投影关键点中包括与所述样本二维关键点具有相同关键点语义的投影关键点,以及与所述样本二维关键点具有不同关键点语义的投影关键点。
在一种可能的实现方式中,所述人脸视频中所述目标人脸做出了至少两个表情。
在一种可能的实现方式中,所述第一重建单元具体用于:
确定样本二维关键点中的边界关键点,所述边界关键点处于所述人脸图像中所述目标人脸的可见人脸边界;
从所述三维网格中确定与所述边界关键点具有相同关键点语义的边界网格顶点;
基于所述位姿参数向所述人脸图像投影所述边界网格顶点,得到对应的投影关键点。
在一种可能的实现方式中,所述初始深度模型包括依次连接的四层全连接层。
在一种可能的实现方式中,所述装置还包括对齐单元:
所述对齐单元,用于将所述人脸图像和所述样本二维关键点对齐到统一尺寸的特征空间中。
在一种可能的实现方式中,所述装置还包括第三确定单元:
所述第三确定单元,用于通过卷积神经网络确定所述人脸图像对应的特征图;
所述第一重建单元具体用于:
基于所述位姿参数向所述人脸图像的所述特征图投影所述三维网格,得到对应的投影关键点。
第三方面,本申请实施例公开了一种计算机设备,所述计算机设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第一方面中任意一项所述的数据处理方法。
第四方面,本申请实施例公开了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行第一方面中任意一项所述的数据处理方法。
第五方面,本申请实施例公开了一种包括指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行第一方面中任意一项所述的数据处理方法。
由上述技术方案可以看出,获取包括目标人脸的人脸图像,该人脸图像中的目标人脸已被标注了样本二维关键点,基于样本二维关键点作为初始深度模型的输入,得到对应的形状基参数、表情基参数和位姿参数,在基于形状基参数、表情基参数重建了目标人脸的三维网格后,根据位姿参数将三维网格投影回该人脸图像,得到对应的投影关键点。由于投影关键点和样本二维关键点都具有标识目标人脸部位的关键点语义,基于应当实现的贴合度要求,具有相同关键点语义的投影关键点和样本二维关键点间的距离应该越小越好,故根据该距离的大小可体现出用于重建三维网格的形状基参数和表情基参数、以及用于投影的位姿参数的准确性,通过该距离构建出的重投影损失函数指导初始深度模型的训练,得到的深度模型能够输出准确的形状基参数、表情基参数和位姿参数,使得投影时能够与原人脸图像中人脸较好的贴合,而且深度模型所依据的输入仅为简单的关键点数据,所携带的数据维度远小于人脸图像,由此深度模型的计算量也并不会因为需要输出高精度的各类参数而增加,反而还可以进一步减少,在保证处理时延的情况下提高了三维网格的重建精度,使得三维网格在投影回原图像时与原图像中人脸具备较好的贴合度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种实际应用场景中数据处理方法的示意图;
图2为本申请实施例提供的一种数据处理方法的流程图;
图3为本申请实施例提供的一种数据处理方法的示意图;
图4为本申请实施例提供的一种模型训练的示意图;
图5为本申请实施例提供的一种数据处理方法的示意图;
图6为本申请实施例提供的一种数据处理方法的示意图;
图7为本申请实施例提供的一种实际应用场景中数据处理方法的流程图;
图8为本申请实施例提供的一种数据处理方法的示意图;
图9为本申请实施例提供的一种三维网格在轻量级软件开发工具包中的实现逻辑示意图;
图10为本申请实施例提供的一种数据处理装置的结构框图;
图11为本申请实施例提供的一种计算机设备的结构图;
图12为本申请实施例提供的一种服务器的结构图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
三维人脸重建技术现已广泛的应用于各种生活场景中,例如,部分视频类软件可以向用户提供虚拟头套玩法,即通过三维人脸重建技术,基于拍摄到的用户人脸生成虚拟头套模型,覆盖在视频中的用户人脸部位。为了使三维人脸重建技术得到更加广泛的应用,相关人员一直致力于提高三维人脸重建的精度。
在相关技术中,对于三维人脸重建是通过大量的数据计算来进行的,如下列公式所示。首先,对于任意一个三维人脸,可以通过一个平均人脸叠加一组形状基和一组表情基的线性组合来表达,如公式1所示:
其中,Mw为此次三维人脸重建所需要的三维人脸,为平均人脸,Si为n个形状基,Ej为m个表情基,αi为n个形状基分别对应的形状基系数,βj为m个表情基分别对应的表情基系数。在确定出三维人脸后,为了使该三维人脸能够与人脸图像中的真实人脸相匹配,还需要通过合适的投影参数将该三维人脸调整到与图像中的真实人脸匹配的角度和位置,如公式2所示:
Mc=RMw+T 公式2
其中,Mc为基于投影参数调整后确定出的三维人脸,R为旋转矩阵,用于确定三维人脸相对于拍摄人脸图像的相机光心点的旋转角度,T为三维人脸相对于相机光心点的平移量。在对三维人脸进行调整后,为了确定重建出的三维人脸是否准确,可以确定二维人脸图像上的K个特征点,然后基于重建出的三维人脸,在该二维人脸图像上确定出该K个特征点分别对应的投影点,如公式3和公式4所示:
其中,下标包含s的坐标(x,y)为特征点投影在人脸图像上的投影点坐标,下标包含c的坐标(x,y,z)为在三维相机坐标系下的特征点坐标,P为相机光心点坐标。通过公式5可以确定出投影点与二维人脸图像上的原特征点之间的坐标距离差异,该坐标距离差异能够体现出重建三维人脸的准确度:
当坐标距离差异越小时,说明基于多个系数以及投影参数确定出的三维人脸更加准确。因此,在相关技术中,在需要生成三维人脸时,会采用多组α,β,R,T参数对上述公式进行串行迭代计算。由于在相关技术中,重建人脸模型是基于人脸图像进行计算的,而人脸图像往往具有成千上万维的特征点,因此输入数据的维度众多,再加上参数众多,最终导致计算量巨大,会耗费大量的计算资源,同时重建三维人脸所需的时间较长。若想要降低计算量,需要减小特征点数量K,这就会导致最终确定出的三维人脸精度较低,难以与实际人脸做到高度贴合。
为了解决上述技术问题,本申请实施例提供了一种数据处理方法,处理设备可以通过重投影原理,将二维人脸对应的具有特定关键点语义的二维关键点作为模型输入进行模型训练,得到能够进行参数确定的深度模型,从而在基于该深度模型确定出的参数重建三维人脸时,只需要维度远小于图像数据维度的关键点数据,即可确定出精度和匹配度较高的三维人脸,同时由于输入数据维度较小,因此三维人脸的重建速度得到了大幅提高。
本申请实施例所提供的数据处理方法可以通过计算机设备实施,该计算机设备可以是终端设备或服务器,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端设备包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端等。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
为了便于理解本申请提供的技术方案,接下来,将结合一种实际应用场景,对本申请实施例提供的一种数据处理方法进行介绍。
参见图1,图1为本申请实施例提供的一种实际应用场景中数据处理方法的示意图,在该实际应用场景,处理设备为具有数据处理功能的服务器101。
服务器101可以获取包括目标人脸的人脸图像,该人脸图像具有对应的样本二维关键点,该样本二维关键点用于在人脸图像中标识该目标人脸。其中,每个样本二维关键点都具有对应的关键点语义,该关键点语义用于标识目标人脸的脸部位置,例如图1所示,该样本二维关键点中可以包括眼睛部位关键点,即这些样本二维关键点所在位置可以为目标人脸的眼部位置,例如图1中的眼睛部位关键点和鼻子部位关键点等。可以理解的是,人脸上能够具有准确位置含义的关键点并不多,例如五官、眉毛等,因此该样本二维关键点的数据维度远小于整张人脸的数据维度。
服务器101可以基于该样本二维关键点,通过初始深度模型确定对应的表情基参数、形状基参数和位姿参数,通过该表情基参数和形状基参数,服务器101可以对多个基础人脸形状和多个基础人脸表情进行融合,从而重建出该样本二维关键点对应的三维网格,该三维网格构成了该样本二维关键点对应的三维人脸。为了确定重建出的三维网格是否准确,服务器101可以在该三维网络上确定出与该样本二维关键点具有相同关键点语义的网格顶点,即这些网格顶点与样本二维关键点在目标人脸上所对应的位置相同。服务器101可以通过位姿参数将这些网格顶点投影到该人脸图像中,得到与样本二维关键点具有相同关键点语义的投影关键点。可以理解的是,若该初始深度模型所确定出的参数足够精准,则理论上关键点语义相同的投影关键点和样本二维关键点应该在相同或相近的位置。因此,服务器可以基于投影关键点和样本二维关键点之间的距离构建重投影损失函数,并基于该重投影损失函数对初始深度模型进行调参,从而使该初始深度模型学习到如何确定出更加准确的相关参数,最终得到能够确定出准确参数的深度模型。例如,在图1中,服务器101可以确定出三维网格中对应眼部位置的网格顶点,然后基于位姿参数将这些网格顶点投影到人脸图像中,得到眼睛部位投影关键点,然后基于该投影关键点与样本二维关键点中的样本眼睛部位关键点之间的距离构建重投影损失函数。
由于在上述模型训练过程中,模型的输入只需要数据维度较少的二维关键点,即可基于重投影方式训练得到较为精准的深度模型,因此在实际三维人脸重建过程中,只需要基于低维度数据和该深度模型就可以得到匹配度较高的三维人脸,数据维度少,数据处理速度快,有利于三维人脸重建技术的广泛应用。
可以理解的是,在本申请的具体实施方式中,涉及到用户信息(如人脸图像)等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
接下来,将结合附图,对本申请实施例提供的一种数据处理方法进行介绍,
参见图2,图2为本申请实施例提供的一种数据处理方法的流程图,该方法包括:
S201:获取包括目标人脸的人脸图像,以及用于在人脸图像中标识目标人脸的样本二维关键点。
其中,样本二维关键点为该人脸图像中的目标人脸上具有关键点语义的点,该关键点语义用于标识目标人脸的脸部位置。可以理解的是,不同人人脸之间的差异主要体现在脸型和五官上(本申请中的五官可以指眉毛、眼睛、鼻子、嘴巴等),不同表情之间的差异也主要是通过五官的变化来体现的,例如在微笑时人的眼睛、嘴巴、眉毛会产生弯曲,由此可见,通过脸型和五官的特点可以较为准确的体现出某一特定人脸或某一特定表情。因此,通过人脸边界、五官等这些人脸上的较为明确的位置确定出的二维关键点在一定程度上也能够准确的体现出人脸的形状特点和人脸上的表情特点。
基于此,在本申请实施例中,可以获取包括目标人脸的人脸图像,该人脸图像可以为任意一张人脸图像,该目标人脸为该人脸图像中显示的人脸。处理设备可以获取该人脸图像对应的样本二维关键点作为后续模型训练中的模型输入,从而能够基于该样本二维关键点确定出合理、准确的三维人脸参数。
S202:通过将样本二维关键点输入初始深度模型,得到对应的形状基参数、表情基参数和位姿参数。
可以理解的是,人脸上具有明确位置含义的点并不多,例如上述五官和人脸边界上的点,人脸的大部分地方(例如面颊、额头)上的点都不具有明确的位置含义,而一张人脸图像上可能有成千上万个点,因此具有关键点语义信息的样本二维关键点的数据维度远少于人脸图像的数据维度。
在进行模型训练时,处理设备可以先确定初始深度模型,该初始深度模型可以基于输入数据生成三维人脸重建的相关参数。处理设备可以将该样本二维关键点输入到初始深度模型中,得到对应的形状基参数、表情基参数和位姿参数,该形状基参数用于标识目标人脸与一组基础人脸形状间的相关性,该表情基参数用于标识目标人脸与一组基础人脸表情间的相关性,位姿参数用于标识目标人脸在所述人脸图像中的位姿。其中,基础人脸形状用于融合确定三维人脸的人脸形状,基础人脸表情用于融合确定三维人脸的人脸表情。通过该形状基参数,处理设备可以获知在融合多个基础人脸形状生成三维人脸的人脸形状时,针对每一个基础人脸形状应该融合多少程度;通过该表情基参数,处理设备可以获知在融合多个基础人脸表情生成三维人脸的人脸表情时,针对每一个基础人脸表情应该融合多少程度。
S203:根据形状基参数和表情基参数重建人脸图像中目标人脸对应的三维网格,并基于位姿参数向人脸图像投影所述三维网格,得到对应的投影关键点。
通过上述方式,处理设备可以根据形状基参数和表情基参数对一组基础人脸形状和一组基础人脸表情进行融合,确定出该目标人脸对应的三维网格,该三维网格为该目标人脸在三维空间中对应的网格模型,如图1中所示的三维网格。由于该位姿参数可以标识出目标人脸在人脸图像中的位姿,例如能够标识出在拍摄该人脸图像时,该目标人脸相对于镜头的旋转角度、偏移量等,因此,在重建出的三维网格与目标人脸匹配度较高、且位姿参数较为准确的前提下,当处理设备基于该位姿参数,模拟拍摄该人脸图像的镜头对该三维网格向同一张人脸图像上进行投影时,应该得到与该人脸图像中的目标人脸位置一致或相近的投影结果,即该人脸图像中目标人脸上的某一特定位置在该三维网格上所对应位置的投影点应该与该特定位置一致。而无论是由于形状基参数和\或表情基参数不准确导致生成的三维网格与目标人脸匹配度不高,或是位姿参数不准确导致对三维网格的投影不贴合该人脸图像中的目标人脸,都会导致三维网格与目标人脸的同一位置在投影到人脸图像上后无法匹配。
由此可见,该三维网格在人脸图像上的重投影结果能够反应出该初始深度模型生成参数的准确度。基于此,处理设备可以基于该位姿参数向人脸图像投影该三维网格,得到该三维网格上的网格顶点在人脸图像上对应的投影关键点,并可以基于该投影关键点来分析该初始深度模型是否生成了准确的形状基参数、表情基参数和位姿参数。
S204:基于具有相同关键点语义的投影关键点和样本二维关键点间的距离,构建重投影损失函数。
其中,该投影关键点中包括与样本二维关键点具有相同关键点语义的点,关键点语义相同是指投影关键点所对应的网格顶点在该三维网格上的位置与样本二维关键点在目标人脸上的位置相同。例如在图1中,样本二维关键点中包括眼睛部位关键点,在投影关键点中包括在三维网格的眼睛部位的网格顶点投影得到的眼睛部位投影关键点,该眼睛部位投影关键点和该眼睛部位的样本二维关键点即具有相同的关键点语义。
上已述及,三个参数的准确度都会影响到三维网格的重投影匹配度,而具有相同关键点语义的投影关键点与样本二维关键点之间的距离能够体现出该重投影匹配度。因此,处理设备可以基于具有相同关键点语义的投影关键点和样本二维关键点之间的距离,构建重投影损失函数,该重投影损失函数用于对该初始深度模型进行调参。
S205:通过重投影损失函数训练初始深度模型,得到用于重建人脸三维网格的深度模型。
在通过该重投影损失函数训练该初始深度模型的过程中,可以通过对初始深度模型中的模型参数的不断调节,使具有相同关键点语义的投影关键点和样本二维关键点之间的距离缩小到一定程度,即得到较为准确的重投影结果。上已述及,重投影结果是由形状基参数、表情基参数和位姿参数三者共同决定的,因此,该训练方式可以使该初始深度模型学习到如何确定出这三个参数。从而,通过上述训练方式得到的深度模型可以在输入维度较少的二维关键点时,得到准确的用于三维人脸重建的相关参数。
由上述技术方案可以看出,由于投影关键点和样本二维关键点都具有标识目标人脸部位的关键点语义,基于应当实现的贴合度要求,具有相同关键点语义的投影关键点和样本二维关键点间的距离应该越小越好;故根据该距离的大小可体现出用于重建三维网格的形状基参数和表情基参数、以及用于投影的位姿参数的准确性,通过该距离构建出的重投影损失函数指导初始深度模型的训练,得到的深度模型能够输出准确的形状基参数、表情基参数和位姿参数,使得投影时能够与原人脸图像中人脸较好的贴合;而且深度模型所依据的输入仅为简单的关键点数据,所携带的数据维度远小于人脸图像,由此深度模型的计算量也并不会因为需要输出高精度的各类参数而增加,反而还可以进一步减少,在保证处理时延的情况下提高了三维网格的重建精度,使得三维网格在投影回原图像时与原图像中人脸具备较好的贴合度。
三维人脸重建技术有着广泛的应用场景,例如可以用于人脸识别、虚拟人脸模型特效生成等,下面以一种三维人脸特效渲染的应用场景进行举例介绍。
在实际模型使用过程中,处理设备可以先获取包括待处理人脸的待识别人脸图像,该待处理人脸为需要进行三维人脸重建的人脸。处理设备可以先根据该待识别人脸图像,确定用于在待识别人脸图像中标识待处理人脸的二维关键点。需要说明的是,为了保障深度模型生成参数的准确性,处理设备可以设定该二维关键点与样本二维关键点为具有相同关键点语义的关键点,从而使该深度模型能基于与模型训练时所用数据维度相同的数据来进行参数确定。其中,该二维关键点既可以是处理设备自身通过相关的算法、模型等自动标识的,也可以是由人工进行标识处理的,此处不作限定。
通过将该二维关键点输入该深度模型,处理设备可以得到该待处理人脸对应的形状基参数、表情基参数和位姿参数,然后根据该待处理人脸对应的形状基参数和表情基参数,可以对一组基础人脸形状和基础人脸表情进行融合,重建该待处理人脸对应的三维网格。处理设备可以确定此次特效渲染对应的渲染参数和渲染素材,该渲染参数用于确定渲染素材添加到三维网格上的添加方式,例如能够标识渲染素材的各个部分所对应的三维网格上的各个位置。处理设备可以基于渲染参数,在三维网格对应的位置添加该渲染素材,从而得到特效渲染后的三维网格。
为了使该特效能够匹配待识别人脸图像中的待处理人脸,处理设备可以根据待处理人脸对应的位姿参数,在待识别人脸图像中投影添加了该渲染素材的三维网格。由于该深度模型能够得到精确的形状基参数和表情基参数,因此基于该深度模型重建出的三维网格与待处理人脸有较高的相似度,从而使渲染素材能够添加在该待处理人脸的准确位置上;由于该深度模型确定出的位姿参数较为准确,因此在将添加了渲染素材的三维网格进行投影时,可以使该三维网格准确贴合待处理人脸在待识别人脸图像中的位置,从而实现特效的准确渲染,给用户带来良好的特效玩法体验。
如图3所示,处理设备在通过深度模型重建出待处理人脸对应的三维网格后,可以基于渲染参数,将大猩猩特效对应的渲染素材添加到该三维网格的对应位置,然后将添加了大猩猩渲染素材的三维网格投影到该待识别人脸图像中,实现在待处理人脸上添加了大猩猩头套特效的渲染效果。
在三维人脸重建技术的应用场景中,有很多应用场景需要对视频中的人脸进行三维人脸重建。在这些应用场景下,通常同一视频中的人脸都为同一用户的人脸,且由于视频中的视频帧具有连续性,因此同一视频的视频帧中的人脸具有一定的稳定性,不会产生突变。
基于此,在一种可能的实现方式中,为了使该深度模型所确定出的相关参数能够重建出更加稳定、合理的三维人脸,处理设备除了可以基于单一的图像数据进行训练外,还可以结合视频维度的数据进行模型训练。处理设备可以获取人脸视频和图片形式的第一人脸图像,该人脸视频包括视频帧形式的多个第二人脸图像,其中多个第二人脸图像中都包括同一人的目标人脸。处理设备可以根据第一人脸图像中的目标人脸,确定对应的第一样本二维关键点,以及根据多个第二人脸图像中的目标人脸,确定分别对应的第二样本二维关键点。从而,在基于这些图像和关键点进行训练时,一方面可以扩大训练数据的获取维度,从单一图片和视频两个维度进行训练数据的获取,有助于提高样本数据的数据量和数据质量,从而提高模型训练的训练精度;另一方面,由于同一视频的多个视频帧中的目标人脸具有稳定性的特点,因此通过视频维度的图像数据进行训练,可以在基于同一视频中的不同视频帧图像来训练的过程中,使深度模型从多方面学习到如何基于有一定差异的多组输入数据生成相近的三维网格,从而能够基于该深度模型确定出更加真实、稳定的三维人脸的相关参数,使该深度模型不仅适用于单一图片场景下的人脸重建,还可以适用于视频中的人脸重建,进一步提高深度模型的模型效果。
接下来,将详细介绍利用视频的稳定特性对深度模型进行训练的多种方式。
首先,由于同一视频的多个视频帧中的人脸都为同一人的目标人脸,同一人的人脸形状通常不会发生改变,而在上述三维人脸重建过程中,三维网格的人脸形状是基于形状基参数来确定的,因此在正常情况下,基于该多个第二人脸图像所对应的样本二维关键点确定出的形状基参数应该保持一直。
基于此,这个在一种可能的实现方式中,当采用同一人的人脸视频进行模型训练时,处理设备可以对确定出的多个形状基参数进行一致化处理,使模型能够学习到针对同一人脸的参数确定特点。处理设备可以通过该初始深度模型,得到分别对应至少两个第二人脸图像的形状基参数、表情基参数和位姿参数,该至少两个第二人脸图像为从同一个人脸视频中提取的连续视频帧,因此至少两个人脸图像中的目标人脸有着一致的人脸形状。
处理设备可以在根据形状基参数和表情基参数重建人脸图像中目标人脸对应的三维网格之前,可以先根据至少两个第二人脸图像分别对应的形状基参数生成目标形状基参数,该目标形状基参数用于作为重建至少两个第二人脸图像分别对应的三维网格时所依据的形状基参数。从而,处理设备在重建三维网格时,针对同一视频中的连续视频帧,可以采用统一的形状基参数来重建三维网格。在基于三维网格的投影结果进行模型训练时,可以使深度模型重点针对目标人脸的表情基参数和位姿参数进行学习,贴合实际场景中同一视频的目标人脸具有一致的人脸形状的特点,从而能够增强对于这两个参数的确定准确度,使通过训练得到的深度模型确定出的表情基参数和位姿参数更加贴合实际目标人脸的表情和位姿特点,进而提高三维人脸重建精度。
上已述及,同一视频中的人脸具有一定的稳定性,即同一视频的多个连续视频帧中的人脸具有一致性,通常情况下不会发生突变。基于此,在一种可能的实现方式中,处理设备可以将人脸的一致性作为另一维度的损失函数来对模型进行训练,使其在针对具有人脸一致性的多个人脸图像时能够确定出较为一致的三维网格重建参数,贴合实际的人脸情况。
在该实施例中,处理设备可以根据至少两个第二人脸图像分别对应的形状基参数和表情基参数,重建至少两个第二人脸图像中目标人脸分别对应的三维网格,该至少两个第二人脸图像为从同一个人脸视频中提取的连续视频帧,因此,这些人脸图像中的目标人脸具有一致性,进而在正常情况下,基于这些人脸图像对应的样本二维关键点确定出的三维网格也应当具有一致性。基于此,处理设备可以基于该至少两个第二人脸图像中目标人脸分别对应的三维网格间的网格差异,构建时序约束损失函数,该时序约束损失函数能够从人脸一致性的维度对初始深度模型进行训练。
处理设备在训练模型时,可以通过重投影损失函数和时序约束损失函数训练该初始深度模型,基于重投影损失函数,可以使初始深度模型学习到如何针对单一图像进行精确的人脸重建;基于该时序约束损失函数,能够使初始深度模型学习到如何针对具有一致性的人脸确定出相似的三维网格,从而能够学习到如何确定出更加准确的形状基参数和表情基参数。
可以理解的是,视频的稳定性不仅体现在同一人人脸的一致性上,还可以体现在人脸在视频中的状态不会发生突变。即,当多个视频帧图像在时序上相隔较近时,人脸在图像中的表现也应该较为相似,这里的相似不仅包括人脸形状和表情上的相似,还包括人脸在图像中的位姿也应该是相似的。例如,即使在同一个视频中,人脸的表情、位姿发生了变化,但是由于相邻帧图像之间的时间间隔极小,通常只有百分之一秒左右,因此相邻帧图像中的人脸无论在形状、表情还是位姿上应该都极为相似。
同时,由于图像是由像素点构成的,多个像素点的像素值构成了图像中的内容表现,即图像中的人脸也是由多个具有特定像素值的像素点组成的,因此,当相邻视频帧图像中的人脸相似时,人脸上的相同位置在相邻视频帧图像中所对应像素点的像素值也具有相似性。基于此,在一种可能的实现方式中,处理设备还可以基于像素值的差异来构建另一种损失函数进行模型训练。
处理设备可以获取包括投影关键点的至少两个第二人脸图像,该至少两个第二人脸图像为从同一个人脸视频中提取的连续帧视频。处理设备可以确定至少两个第二人脸图像中作为相邻视频帧的相邻图像的像素差值,该像素差值用于标识相邻图像中具有相同关键点语义的投影关键点的像素值之差,即对应目标人脸上相同人脸位置的投影关键点之间的像素值之差。像素值之差越小,则说明相邻图像中具有相同关键点语义的投影关键点之间距离越接近,进而说明基于相邻视频帧的样本二维关键点所确定出的形状基参数、表情基参数和位姿参数越接近。处理设备可以根据该像素差值构建光度一致性损失函数,该光度一致性损失函数用于在像素差值维度上对初始深度模型进行训练。
处理设备可以通过该重投影损失函数和光度一致性损失函数训练该初始深度模型,得到用于重建人脸三维网格的深度模型。通过该光度一致性损失函数,处理设备可以基于像素差值对该初始深度模型进行调参,使该初始深度模型针对相邻图像确定出的相关参数之间不会有较大差异,从而使该深度模型能够针对连续帧图像确定出更加稳定、准确的相关参数。
上已述及,在模型训练中,输入初始深度模型的样本二维关键点为人脸上具有明确关键点语义的点,例如脸部边界和五官上的点等。然而,在人脸上还有部分特征点不具有关键点语义,例如在额头中心的点等;以及,在人脸上可能有部分具有关键点语义的特征点没有被纳入该样本二维关键点中。
基于此,为了能够基于深度模型重建出的三维人脸能够更加贴合图像中的实际人脸,在一种可能的实现方式中,在基于光度一致性损失函数训练初始深度模型时,处理设备可以进一步结合这些不在样本二维关键点中的特征点来进行模型训练。其中,由于光度一致性损失函数是基于相邻图像的具有相同关键点语义的投影关键点之间的像素差确定的,因此只需该投影关键点具有相同关键点语义,或者说只要在人脸上对应同一位置即可,无需一定是样本二维关键点中对应的投影关键点。
因此,处理设备可以设定该至少两个第二人脸图像中的投影关键点中包括与样本二维关键点具有相同关键点语义的投影关键点,以及与该样本二维关键点具有不同关键点语义的投影关键点。其中,与样本二维关键点的关键点语义不同可以包括两种情况,一种为具有关键点语义的投影关键点,只是与该样本二维关键点对应的关键点语义不同,例如在样本二维关键点中可能不包括人脸眼角位置的关键点,但是在该投影关键点中可结合人脸眼角位置的投影关键点进行光度一致性损失训练;还可以包括没有关建点语义的投影关键点,例如可以为额头上的多个位置对应的投影特征点。处理设备只需要保障用于确定光度一致性损失函数的投影关键点在目标人脸上所对应位置一致即可。
通过这种训练方式,处理设备可以使该初始深度模型能够基于更多维度的人脸特征点进行模型训练,使基于该深度模型重建出的三维人脸不仅能够针对人脸上的关键部位进行准确贴合,还可以针对人脸上的其他部位也进行较为准确的匹配,进一步提高三维人脸重建的效果。
除了稳定性外,由于大部分视频中的人脸表情是动态变化的,而一段视频是由大量的连续视频帧构成的,因此在连续视频帧对应的人脸图像中,人脸表情的变化是具有时序性和稳定性,时序性是指人脸表情会随着时间的变化而逐步发生改变,稳定性是指人脸表情的变化是稳定的,不会在连续视频帧中出现人脸突变。
基于此,在一种可能的实现方式中,为了使深度模型能够学习到如何针对变化的人脸表情进行更加精确的参数确定,处理设备所获取的人脸视频中目标人脸可以做出至少两个表情,从而在基于同一视频的连续视频帧图像进行训练时,处理设备可以学习到如何基于有差异的输入数据确定出连续稳定变化的表情基参数,进而可以更加适用于对于动态人脸的三维人脸重建。
其中,为了使模型训练更加准确,处理设备可以在模型训练的过程中添加其他提高数据精度的处理步骤,下面主要以两种数据处理方式进行介绍:
首先,可以理解的是,由于图像是由像素构成的,图像的大小由构成图像的像素多少来决定,因此在将两个维度的关键点放到同一尺寸维度上进行比对时,若该两个维度对应的图像尺寸不同,可能会由于尺寸变化导致像素变化,最终导致无法准确的基于关键点在多个像素点中的位置来计算关键点之间的距离。
基于此,在一种可能的实现方式中,为了能够确定出更加精确的关键点距离,例如上述投影关键点与样本二维关键点之间的距离,在通过将样本二维关键点输入初始深度模型,得到对应的形状基参数、表情基参数和位姿参数之前,处理设备可以将人脸图像和样本二维关键点对齐到统一尺寸的特征空间中,从而,在基于向该人脸图像投影得到投影关键点后,可以使投影关键点和样本二维关键点处于同一尺寸维度中,从而有利于确定出更加精确的关键点距离,进而得到更加准确的重投影损失函数对该初始深度模型进行训练。
除了关键点之间的距离精度会影响模型训练的精度外,图像中像素点的像素值精度在一定程度上也会给模型训练带来影响。可以理解的是,由于多种因素的影响,图像中像素点的像素值可能会被干扰,例如白噪声干扰导致像素点的像素值改变等。而在上述模型训练过程中,也存在基于像素点的像素值对模型训练的情况,例如,上述光度一致性损失函数是基于相邻图像中投影关键点的像素值之差来确定的。
基于此,在一种可能的实现方式中,处理设备可以通过卷积神经网络确定人脸图像对应的特征图,卷积神经网络用于对人脸图像进行去噪处理,使该人脸图像中像素点的像素值能够更加突出目标人脸在图像中的特点,例如使目标人脸部分在人脸图像中所对应像素点的像素值更接近该目标人脸真实的颜色情况。处理设备可以基于位姿参数,向人脸图像的特征图投影三维网格,得到对应的投影关键点,从而使投影关键点对应的像素值更加贴合目标人脸的实际情况,进而在基于像素值差异进行模型训练时可以得到更加精确的深度模型。
如图4所示,图4为本申请实施例提供的一种模型训练的示意图,在该模型训练的过程中,为了使训练得到的深度模型可以较为轻松的被使用方所使用,处理设备可以获取一个四层全连接层模型作为初始深度模型,如图所示,该初始深度模型中包括依次链接的四层全连接层(Fully connected layer,简称FC),全连接层的作用为将提取到的特征连接起来进行分析得到分析结果,从而,在本申请实施例中可以通过该四层全连接层对样本二维关键点进行分析,得到相应的参数。由于该深度模型结构简单、体积量小,因此在性能较低的设备上也能够进行精准的三维人脸重建。
处理设备可以获取同一视频中的多个连续视频帧对应的人脸图像,以及单张图片对应的人脸图像,这些人脸图像为颜色系统(RGB color mode,简称RGB)图片形式,即每个像素都有对应的像素值。同时,处理设备可以获取这些人脸图像对应的样本二维关键点,将该样本二维关键点和RGB图片输入到图4所示的模型中进行训练。其中,对于任意尺寸的人脸图像和样本二维关键点,处理设备可以将其对齐到448x448的特征空间中。
在训练过程中,处理设备每次可以从数据集中拿出一定数量的单张图片人脸图像和一定数量的连续帧人脸图像,然后通过一个轻量化的卷积神经网络(light weightbackbone)对这些人脸图像进行特征提取,得到高维度语言特征图。
在确定初始深度模型基于样本二维关键点确定出的三维网格参数(包括形状基参数和表情基参数)以及位姿参数后,处理设备可以基于公式1重建三维网格,然后进一步利用位姿参数将该三维网格重投影到人脸图像中,基于投影关键点与样本二维关键点之间的距离确定重投影损失函数;针对同一视频中连续视频帧的人脸图像,处理设备可以基于重建出的三维网格之间的差异,确定时序约束损失函数,该时序约束损失函数有助于初始深度模型对视频的稳定性进行学习。此外,针对同一视频的连续视频帧人脸图像,处理设备可以在确定出形状基参数后,对形状基参数进行统一,从而强化初始深度模型对于表情基参数的学习。
以及,处理设备可以基于相邻图像的投影关键点在特征图上对应像素值之间的差异,确定光度一致性损失函数,通过同时优化这三方面的损失函数可以训练得到准确的深度模型。其中,光度一致性损失函数可以如公式6所示:
其中,I为对应的像素值,(i,j)为所对应像素点坐标,该视频中共包括T-1帧连续视频帧。
上已述及,为了使确定出的相关参数能够重建出贴合该目标人脸的三维人脸,处理设备所获取的样本二维关键点中可以包括位于人脸边界上的点和五官上对应的点等。由于在人脸处于不同的位姿时,人脸图像中的人脸边界可能会发生变化,如图5所示,当人脸图像中的人脸角度不同时,人脸图像对应的边界关键点也有所不同,该边界关键点处于该人脸图像中目标人脸的可见人脸边界。因此,当人脸在人脸图像中的位姿不同时,边界关键点所对应的关键点语义也应当有所不同。
在相关技术中,在针对边界关键点进行重投影时,通常是直接基于位姿参数,确定三维网格中相对于人脸图像的平面来说处于人脸边界位置的三维网格顶点中,与边界关键点在目标人脸上的位置最接近的三维网格顶点,将该三维网格顶点向人脸图像中进行投影得到该边界关键点对应的投影关键点。但是,由于重建的三维网格不够准确或确定出的位置参数不够准确等原因,该投影关键点可能并不是与该边界关键点具有相同关键点语义的关键点,这就会导致在基于重投影损失函数进行模型训练时,会使初始深度模型学习到错误的模型参数。
基于此,在一种可能的实现方式中,为了进一步提高模型训练的准确度,处理设备可以基于关键点语义确定边界关键点对应的投影关键点。处理设备可以确定样本二维关键点中的边界关键点,然后从三维网格中确定与该边界关键点具有相同关键点语义的边界网格顶点。上已述及,当模型确定出的参数准确时,具有相同关键点语义的投影关键点和样本二维关键点在人脸图像中对应的位置应当保持一致。从而,处理设备可以基于该位姿参数向人脸图像投影该边界网格顶点,得到对应的投影关键点,从而可以基于该投影关键点和边界关键点之间的距离构建较为准确的重投影损失函数。
如图6所示,处理设备可以基于关键点语义信息,从三维网格中确定出边界网格顶点,向人脸图像中进行投影确定出该边界关键点对应的投影关键点。这种投影方式的好处在于,即使由于参数不准确等原因,导致该边界关键点实际对应的边界网格顶点在投影时,相对于人脸图像平面来说并不是可见的点,但是也能够准确的获得该边界关键点对应的投影关键点。通过这种方式可以在不同的人脸位姿下都能够确定出准确的投影关键点,从而提高基于该深度模型所重建出的三维人脸在人脸的边界位置与真实人脸的贴合度。
为了便于理解本申请实施例提供的技术方案,接下来,将结合一种实际应用场景,对本申请实施例提供的一种数据处理方法进行介绍.
参见图7,图7为本申请实施例提供的一种实际应用场景中数据处理方法的流程图,该方法包括:
S701:获取人脸视频和图片形式的第一人脸图像。
其中,人脸视频中包括视频帧形式的多个第二人脸图像。
S702:将人脸图像和样本二维关键点对齐到统一尺寸的特征空间中。
S703:通过卷积神经网络确定人脸图像对应的特征图。
S704:根据第一人脸图像中的目标人脸,确定对应的第一样本二维关键点,以及根据多个第二人脸图像中的目标人脸,确定分别对应的第二样本二维关键点。
S705:通过将样本二维关键点输入初始深度模型,得到对应的形状基参数、表情基参数和位姿参数。
S706:根据至少两个第二人脸图像分别对应的形状基参数生成目标形状基参数。
S707:根据形状基参数和表情基参数重建人脸图像中目标人脸对应的三维网格,并基于位姿参数向人脸图像投影三维网格,得到对应的投影关键点。
S708:构建重投影损失函数、时序约束损失函数和光度一致性损失函数。
S709:基于损失函数训练得到深度模型。
在训练得到深度模型后,处理设备可以如图8所示,对该深度模型进行应用。处理设备可以向深度模型输入二维关键点,确定出形状基参数、表情基参数和位姿参数,基于形状基参数和表情基参数可以重建三维网格,进而确定出三维网格对应的切向量和法向量,通过切向量和法向量可以对三维网格上的各个位置进行分析,从而可以进行在该三维网格上渲染相应的特效素材等一系列操作;基于位姿参数可以确定出模型矩阵,该模型矩阵用于将三维网格覆盖在真实人脸上。
其中,三维人脸重建技术已经集成在了轻量级软件开发工具包(Light SoftwareDevelopment Kit,简称Light SDK)中,如图9所示,整体分为3部分,这3部分分别为底层的三维人脸库、中间层的多个组件和特效渲染和上层的素材制作(Effect Studio)和消费层(例如提供人脸特效功能的软件)。其中,中间层的多个组件可以包括三维人脸组件、人脸网格组件、三维模型组件、网格迁移能力组件、流程控制能力组件和脚本处理组件。
基于上述实施例提供的一种数据处理方法,本申请实施例还提供了一种数据处理装置,参见图10,图10为本申请实施例提供的一种数据处理装置的结构框图,该装置包括第一获取单元1001、第一输入单元1002、第一重建单元1003、第一构建单元1004和训练单元1005:
所述第一获取单元1001,用于获取包括目标人脸的人脸图像,以及用于在所述人脸图像中标识所述目标人脸的样本二维关键点;
所述第一输入单元1002,用于通过将所述样本二维关键点输入初始深度模型,得到对应的形状基参数、表情基参数和位姿参数,所述形状基参数用于标识所述目标人脸与一组基础人脸形状间的相关性,所述表情基参数用于标识所述目标人脸与一组基础人脸表情间的相关性,所述位姿参数用于标识所述目标人脸在所述人脸图像中的位姿;
所述第一重建单元1003,用于根据所述形状基参数和所述表情基参数重建所述人脸图像中目标人脸对应的三维网格,并基于所述位姿参数向所述人脸图像投影所述三维网格,得到对应的投影关键点;
所述第一构建单元1004,用于基于具有相同关键点语义的所述投影关键点和所述样本二维关键点间的距离,构建重投影损失函数,所述关键点语义用于标识目标人脸的脸部位置;
所述训练单元1005,用于通过所述重投影损失函数训练所述初始深度模型,得到用于重建人脸三维网格的深度模型。
在一种可能的实现方式中,所述装置还包括第二获取单元、第一确定单元、第二输入单元、第二重建单元、添加单元和投影单元:
所述第二获取单元,用于获取包括待处理人脸的待识别人脸图像;
所述第一确定单元,用于根据所述待识别人脸图像,确定用于在所述待识别人脸图像中标识所述待处理人脸的二维关键点;
所述第二输入单元,用于通过将所述二维关键点输入所述深度模型,得到所述待处理人脸对应的形状基参数、表情基参数和位姿参数;
所述第二重建单元,用于根据所述待处理人脸对应的形状基参数和表情基参数重建所述待处理人脸对应的三维网格;
所述添加单元,用于基于渲染参数在所述三维网格对应的位置添加渲染素材;
所述投影单元,用于根据所述待处理人脸对应的位姿参数,在所述待识别人脸图像中投影添加了所述渲染素材的所述三维网格。
在一种可能的实现方式中,所述第一获取单元1001具体用于:
获取人脸视频和图片形式的第一人脸图像,所述人脸视频包括视频帧形式的多个第二人脸图像;
根据所述第一人脸图像中的所述目标人脸,确定对应的第一样本二维关键点,以及根据所述多个第二人脸图像中的所述目标人脸,确定分别对应的第二样本二维关键点。
在一种可能的实现方式中,所述第一输入单元具体1002用于:
通过所述初始深度模型,得到分别对应至少两个第二人脸图像的形状基参数、表情基参数和位姿参数,所述至少两个第二人脸图像为从同一个所述人脸视频中提取的连续视频帧;
所述装置还包括第一生成单元:
所述第一生成单元,用于根据所述至少两个第二人脸图像分别对应的形状基参数生成目标形状基参数,所述目标形状基参数用于作为重建所述至少两个第二人脸图像分别对应的三维网格时所依据的形状基参数。
在一种可能的实现方式中,所述第一重建单元具体用于1003:
根据至少两个第二人脸图像分别对应的形状基参数和表情基参数,重建所述至少两个第二人脸图像中目标人脸分别对应的三维网格,所述至少两个第二人脸图像为从同一个所述人脸视频中提取的连续视频帧;
基于所述至少两个第二人脸图像中目标人脸分别对应的三维网格间的网格差异,构建时序约束损失函数;
所述训练单元1005具体用于:
通过所述重投影损失函数和所述时序约束损失函数训练所述初始深度模型,得到用于重建人脸三维网格的深度模型
在一种可能的实现方式中,所述装置还包括第三获取单元、第二确定单元和第二构建单元:
所述第三获取单元,用于获取包括投影关键点的至少两个第二人脸图像,所述至少两个第二人脸图像为从同一个所述人脸视频中提取的连续视频帧;
所述第二确定单元,用于确定所述至少两个第二人脸图像中作为相邻视频帧的相邻图像的像素差值,所述像素差值用于标识所述相邻图像中具有相同关键点语义的投影关键点的像素值之差;
所述第二构建单元,用于根据所述像素差值构建光度一致性损失函数;
所述训练单元1005具体用于:
通过所述重投影损失函数和所述光度一致性损失函数训练所述初始深度模型,得到用于重建人脸三维网格的深度模型。
在一种可能的实现方式中,所述至少两个第二人脸图像中的投影关键点中包括与所述样本二维关键点具有相同关键点语义的投影关键点,以及与所述样本二维关键点具有不同关键点语义的投影关键点。
在一种可能的实现方式中,所述人脸视频中所述目标人脸做出了至少两个表情。
在一种可能的实现方式中,所述第一重建单元1003具体用于:
确定样本二维关键点中的边界关键点,所述边界关键点处于所述人脸图像中所述目标人脸的可见人脸边界;
从所述三维网格中确定与所述边界关键点具有相同关键点语义的边界网格顶点;
基于所述位姿参数向所述人脸图像投影所述边界网格顶点,得到对应的投影关键点。
在一种可能的实现方式中,所述初始深度模型包括依次连接的四层全连接层。
在一种可能的实现方式中,所述装置还包括对齐单元:
所述对齐单元,用于将所述人脸图像和所述样本二维关键点对齐到统一尺寸的特征空间中。
在一种可能的实现方式中,所述装置还包括第三确定单元:
所述第三确定单元,用于通过卷积神经网络确定所述人脸图像对应的特征图;
所述第一重建单元1003具体用于:
基于所述位姿参数向所述人脸图像的所述特征图投影所述三维网格,得到对应的投影关键点。
本申请实施例还提供了一种计算机设备,该计算机设备为前述介绍的计算机设备,可以包括终端设备或服务器,前述的数据处理装置可以配置在该计算机设备中。下面结合附图对该计算机设备进行介绍。
若该计算机设备为终端设备,请参见图11所示,本申请实施例提供了一种终端设备,以终端设备为手机为例:
图11示出的是与本申请实施例提供的终端设备相关的手机的部分结构的框图。参考图11,手机包括:射频(Radio Frequency,简称RF)电路1410、存储器1420、输入单元1430、显示单元1440、传感器1450、音频电路1460、无线保真(简称WiFi)模块1470、处理器1480、以及电源1490等部件。本领域技术人员可以理解,图11中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图11对手机的各个构成部件进行具体的介绍:
RF电路1410可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1480处理;另外,将设计上行的数据发送给基站。
存储器1420可用于存储软件程序以及模块,处理器1480通过运行存储在存储器1420的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。
输入单元1430可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1430可包括触控面板1431以及其他输入设备1432。
显示单元1440可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1440可包括显示面板1441,可选的,可以采用液晶显示器(LiquidCrystal Display,简称LCD)、有机发光二极管(Organic Light-Emitting Diode,简称OLED)等形式来配置显示面板1441。
手机还可包括至少一种传感器1450,比如光传感器、运动传感器以及其他传感器。
音频电路1460、扬声器1461,传声器1462可提供用户与手机之间的音频接口。
处理器1480是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1420内的软件程序和/或模块,以及调用存储在存储器1420内的数据,执行手机的各种功能和处理数据。可选的,处理器1480可包括一个或多个处理单元;优选的,处理器1480可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1480中。
在本实施例中,该终端设备所包括的处理器1480还具有以下功能:
获取包括目标人脸的人脸图像,以及用于在所述人脸图像中标识所述目标人脸的样本二维关键点;
通过将所述样本二维关键点输入初始深度模型,得到对应的形状基参数、表情基参数和位姿参数;
根据所述形状基参数和所述表情基参数重建所述人脸图像中目标人脸对应的三维网格,并基于所述位姿参数向所述人脸图像投影所述三维网格,得到对应的投影关键点;
基于具有相同关键点语义的所述投影关键点和所述样本二维关键点间的距离,构建重投影损失函数,所述关键点语义用于标识目标人脸的脸部位置;
通过所述重投影损失函数训练所述初始深度模型,得到用于重建人脸三维网格的深度模型。
若计算机设备为服务器,本申请实施例还提供一种服务器,请参见图12所示,图12为本申请实施例提供的服务器1500的结构图,服务器1500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,简称CPU)1522(例如,一个或一个以上处理器)和存储器1532,一个或一个以上存储应用程序1542或数据1544的存储介质1530(例如一个或一个以上海量存储设备)。其中,存储器1532和存储介质1530可以是短暂存储或持久存储。存储在存储介质1530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1522可以设置为与存储介质1530通信,在服务器1500上执行存储介质1530中的一系列指令操作。
服务器1500还可以包括一个或一个以上电源1526,一个或一个以上有线或无线网络接口1550,一个或一个以上输入输出接口1558,和/或,一个或一个以上操作系统1541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于图12所示的服务器结构。
另外,本申请实施例还提供了一种存储介质,所述存储介质用于存储计算机程序,所述计算机程序用于执行上述实施例提供的数据处理方法。
本申请实施例还提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的数据处理方法。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:Read-only Memory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。而且本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (15)
1.一种数据处理方法,其特征在于,所述方法包括:
获取包括目标人脸的人脸图像,以及用于在所述人脸图像中标识所述目标人脸的样本二维关键点;
通过将所述样本二维关键点输入初始深度模型,得到对应的形状基参数、表情基参数和位姿参数;
根据所述形状基参数和所述表情基参数重建所述人脸图像中目标人脸对应的三维网格,并基于所述位姿参数向所述人脸图像投影所述三维网格,得到对应的投影关键点;
基于具有相同关键点语义的所述投影关键点和所述样本二维关键点间的距离,构建重投影损失函数,所述关键点语义用于标识目标人脸的脸部位置;
通过所述重投影损失函数训练所述初始深度模型,得到用于重建人脸三维网格的深度模型。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取包括待处理人脸的待识别人脸图像;
根据所述待识别人脸图像,确定用于在所述待识别人脸图像中标识所述待处理人脸的二维关键点;
通过将所述二维关键点输入所述深度模型,得到所述待处理人脸对应的形状基参数、表情基参数和位姿参数;
根据所述待处理人脸对应的形状基参数和表情基参数重建所述待处理人脸对应的三维网格;
基于渲染参数在所述三维网格对应的位置添加渲染素材;
根据所述待处理人脸对应的位姿参数,在所述待识别人脸图像中投影添加了所述渲染素材的所述三维网格。
3.根据权利要求1所述的方法,其特征在于,所述获取包括目标人脸的人脸图像,以及用于标识所述目标人脸在所述人脸图像中的样本二维关键点,包括:
获取人脸视频和图片形式的第一人脸图像,所述人脸视频包括视频帧形式的多个第二人脸图像;
根据所述第一人脸图像中的所述目标人脸,确定对应的第一样本二维关键点,以及根据所述多个第二人脸图像中的所述目标人脸,确定分别对应的第二样本二维关键点。
4.根据权利要求3所述的方法,其特征在于,所述通过将所述样本二维关键点输入初始深度模型,得到对应的形状基参数、表情基参数和位姿参数,包括:
通过所述初始深度模型,得到分别对应至少两个第二人脸图像的形状基参数、表情基参数和位姿参数,所述至少两个第二人脸图像为从同一个所述人脸视频中提取的连续视频帧;
在所述根据所述形状基参数和所述表情基参数重建所述人脸图像中目标人脸对应的三维网格之前,所述方法还包括:
根据所述至少两个第二人脸图像分别对应的形状基参数生成目标形状基参数,所述目标形状基参数用于作为重建所述至少两个第二人脸图像分别对应的三维网格时所依据的形状基参数。
5.根据权利要求3所述的方法,其特征在于,所述根据所述形状基参数和所述表情基参数重建所述人脸图像中目标人脸对应的三维网格,包括:
根据至少两个第二人脸图像分别对应的形状基参数和表情基参数,重建所述至少两个第二人脸图像中目标人脸分别对应的三维网格,所述至少两个第二人脸图像为从同一个所述人脸视频中提取的连续视频帧;
基于所述至少两个第二人脸图像中目标人脸分别对应的三维网格间的网格差异,构建时序约束损失函数;
所述通过所述重投影损失函数训练所述初始深度模型,得到用于重建人脸三维网格的深度模型,包括:
通过所述重投影损失函数和所述时序约束损失函数训练所述初始深度模型,得到用于重建人脸三维网格的深度模型。
6.根据权利要求3所述的方法,其特征在于,在所述基于所述位姿参数向所述人脸图像投影所述三维网格,得到对应的投影关键点之后,所述方法还包括:
获取包括投影关键点的至少两个第二人脸图像,所述至少两个第二人脸图像为从同一个所述人脸视频中提取的连续视频帧;
确定所述至少两个第二人脸图像中作为相邻视频帧的相邻图像的像素差值,所述像素差值用于标识所述相邻图像中具有相同关键点语义的投影关键点的像素值之差;
根据所述像素差值构建光度一致性损失函数;
所述通过所述重投影损失函数训练所述初始深度模型,得到用于重建人脸三维网格的深度模型,包括:
通过所述重投影损失函数和所述光度一致性损失函数训练所述初始深度模型,得到用于重建人脸三维网格的深度模型。
7.根据权利要求6所述的方法,其特征在于,所述至少两个第二人脸图像中的投影关键点中包括与所述样本二维关键点具有相同关键点语义的投影关键点,以及与所述样本二维关键点具有不同关键点语义的投影关键点。
8.根据权利要求3所述的方法,其特征在于,所述人脸视频中所述目标人脸做出了至少两个表情。
9.根据权利要求1-8任意一项所述的方法,其特征在于,所述基于所述位姿参数向所述人脸图像投影所述三维网格,得到对应的投影关键点,包括:
确定样本二维关键点中的边界关键点,所述边界关键点处于所述人脸图像中所述目标人脸的可见人脸边界;
从所述三维网格中确定与所述边界关键点具有相同关键点语义的边界网格顶点;
基于所述位姿参数向所述人脸图像投影所述边界网格顶点,得到对应的投影关键点。
10.根据权利要求1-8任意一项所述的方法,其特征在于,在所述通过将所述样本二维关键点输入初始深度模型,得到对应的形状基参数、表情基参数和位姿参数之前,所述方法还包括:
将所述人脸图像和所述样本二维关键点对齐到统一尺寸的特征空间中。
11.根据权利要求1-8任意一项所述的方法,其特征在于,所述方法还包括:
通过卷积神经网络确定所述人脸图像对应的特征图;
所述基于所述位姿参数向所述人脸图像投影所述三维网格,得到对应的投影关键点,包括:
基于所述位姿参数向所述人脸图像的所述特征图投影所述三维网格,得到对应的投影关键点。
12.一种数据处理装置,其特征在于,所述装置包括第一获取单元、第一输入单元、第一重建单元、第一构建单元和训练单元:
所述第一获取单元,用于获取包括目标人脸的人脸图像,以及用于在所述人脸图像中标识所述目标人脸的样本二维关键点;
所述第一输入单元,用于通过将所述样本二维关键点输入初始深度模型,得到对应的形状基参数、表情基参数和位姿参数;
所述第一重建单元,用于根据所述形状基参数和所述表情基参数重建所述人脸图像中目标人脸对应的三维网格,并基于所述位姿参数向所述人脸图像投影所述三维网格,得到对应的投影关键点;
所述第一构建单元,用于基于具有相同关键点语义的所述投影关键点和所述样本二维关键点间的距离,构建重投影损失函数,所述关键点语义用于标识目标人脸的脸部位置;
所述训练单元,用于通过所述重投影损失函数训练所述初始深度模型,得到用于重建人脸三维网格的深度模型。
13.一种计算机设备,其特征在于,所述计算机设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-11中任意一项所述的数据处理方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1-11中任意一项所述的数据处理方法。
15.一种包括指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行权利要求1-11任意一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111679413.3A CN116416370A (zh) | 2021-12-31 | 2021-12-31 | 一种数据处理方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111679413.3A CN116416370A (zh) | 2021-12-31 | 2021-12-31 | 一种数据处理方法和相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116416370A true CN116416370A (zh) | 2023-07-11 |
Family
ID=87051903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111679413.3A Pending CN116416370A (zh) | 2021-12-31 | 2021-12-31 | 一种数据处理方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116416370A (zh) |
-
2021
- 2021-12-31 CN CN202111679413.3A patent/CN116416370A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111652121B (zh) | 一种表情迁移模型的训练方法、表情迁移的方法及装置 | |
CN111556278B (zh) | 一种视频处理的方法、视频展示的方法、装置及存储介质 | |
WO2022156640A1 (zh) | 一种图像的视线矫正方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
CN109377544A (zh) | 一种人脸三维图像生成方法、装置和可读介质 | |
CN109961507A (zh) | 一种人脸图像生成方法、装置、设备及存储介质 | |
US20210152751A1 (en) | Model training method, media information synthesis method, and related apparatuses | |
CN110852942B (zh) | 一种模型训练的方法、媒体信息合成的方法及装置 | |
WO2019196745A1 (zh) | 人脸建模方法及相关产品 | |
CN110458924B (zh) | 一种三维脸部模型建立方法、装置和电子设备 | |
CN109688343A (zh) | 增强现实演播室的实现方法和装置 | |
CN111754622B (zh) | 脸部三维图像生成方法及相关设备 | |
CN112562056A (zh) | 虚拟演播室中虚拟灯光的控制方法、装置、介质与设备 | |
CN117557714A (zh) | 三维重建方法、电子设备及可读存储介质 | |
CN116958378A (zh) | 面部贴图重建方法、装置、计算机可读介质及电子设备 | |
CN117218246A (zh) | 图像生成模型的训练方法、装置、电子设备及存储介质 | |
CN111914106B (zh) | 纹理与法线库构建方法、纹理与法线图生成方法及装置 | |
CN110378948B (zh) | 3d模型重建方法、装置及电子设备 | |
CN109816791B (zh) | 用于生成信息的方法和装置 | |
WO2024077791A1 (zh) | 视频生成方法、装置、设备与计算机可读存储介质 | |
CN116071551A (zh) | 图像处理方法、计算机可读存储介质及电子设备 | |
CN115775300A (zh) | 人体模型的重建方法、人体重建模型的训练方法及装置 | |
CN116416370A (zh) | 一种数据处理方法和相关装置 | |
CN112257653B (zh) | 空间装饰效果图确定方法、装置、存储介质与电子设备 | |
CN113705309A (zh) | 一种景别类型判断方法、装置、电子设备和存储介质 | |
CN118138834B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40089536 Country of ref document: HK |