CN116109778A - 基于深度学习的人脸三维重建方法、计算机设备与介质 - Google Patents
基于深度学习的人脸三维重建方法、计算机设备与介质 Download PDFInfo
- Publication number
- CN116109778A CN116109778A CN202310191074.7A CN202310191074A CN116109778A CN 116109778 A CN116109778 A CN 116109778A CN 202310191074 A CN202310191074 A CN 202310191074A CN 116109778 A CN116109778 A CN 116109778A
- Authority
- CN
- China
- Prior art keywords
- image
- sample
- view angle
- virtual camera
- face
- 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 49
- 238000013135 deep learning Methods 0.000 title claims abstract description 26
- 239000013598 vector Substances 0.000 claims description 91
- 239000011159 matrix material Substances 0.000 claims description 36
- 230000006870 function Effects 0.000 claims description 28
- 230000003287 optical effect Effects 0.000 claims description 28
- 238000012549 training Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 13
- 230000000007 visual effect Effects 0.000 claims description 13
- 238000013519 translation Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 6
- 238000012847 principal component analysis method Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 3
- 238000013136 deep learning model Methods 0.000 abstract description 4
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 229910052751 metal Inorganic materials 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000011514 reflex Effects 0.000 description 1
- 230000009466 transformation Effects 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
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/269—Analysis of motion using gradient-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开一种基于深度学习的人脸三维重建方法、计算机设备与介质,涉及人脸三维重建技术领域,该方法包括通过训练好的粗匹配网络模型对目标人脸的多张不同视角图像进行预测,得到每一视角图像到目标视角图像的预测光流,并根据真实相机参数生成粗糙人脸,粗糙人脸分割成若干个图像块,并通过虚拟相机参数生成每一图像块对应的初始深度图,然后通过训练好的曲面重建网络得到每一图像块的曲面预测编码,再通过训练好的曲面解码器解码,得到每一图像块对应的初始深度图上每一像素点的重建深度值,根据上述所有重建深度值得到重建人脸。本发明通过深度学习模型对每一图像块分别进行深度重建,能够以较小的网络参数量实现高精度的人脸重建。
Description
技术领域
本发明涉及人脸三维重建技术领域,特别是涉及一种基于深度学习的人脸三维重建方法、计算机设备与介质。
背景技术
室内人脸三维重建技术主要从图像、雷达等信息中恢复出人脸三维形状,其在虚拟现实、人机交互、游戏图形图像等诸多领域均有广泛的应用。人脸三维重建是计算机视觉领域非常重要的问题,如何进行高精度的重建是目前学界和工业界比较具有挑战性的任务之一。
发明内容
本发明的目的是提供一种基于深度学习的人脸三维重建方法、计算机设备与介质,可提高人脸重建的精度。
为实现上述目的,本发明提供了如下方案:
一种基于深度学习的人脸三维重建方法,所述方法包括:
S1:获取目标人脸的多张不同视角图像;
S2:对于每一所述视角图像,以所述视角图像作为源视角图像,将所述源视角图像与目标视角图像输入训练好的粗匹配网络模型中,得到所述源视角图像到所述目标视角图像的预测光流;所述目标视角图像为所有视角图像中除所述源视角图像之外的视角图像;所述训练好的粗匹配网络模型是以样本源视角图像和样本目标视角图像为输入,以所述样本源视角图像到所述样本目标视角图像的样本光流为标签训练得到的模型;
S3:根据所述预测光流和所述视角图像对应的真实相机参数对所有所述视角图像进行融合,生成所述目标人脸的粗糙人脸;
S4:将所述粗糙人脸分割成若干个图像块,并生成每一所述图像块对应的虚拟相机参数,通过所述图像块对应的虚拟相机参数生成所述图像块对应的初始深度图;
S5:对于每一所述图像块,将所有所述视角图像和所述图像块对应的初始深度图输入训练好的曲面重建网络中,得到所述图像块的曲面预测编码;将所述曲面预测编码和所述图像块对应的初始深度图上每一像素点的坐标输入至训练好的曲面解码器中,得到所述图像块对应的初始深度图上每一像素点的重建深度值;所述训练好的曲面重建网络为以样本人脸的所有样本视角图像和样本初始深度图为输入,以样本曲面编码为标签训练得到的模型;所述训练好的曲面解码器为以样本曲面预测编码和样本点坐标为输入,以所述样本点对应的真实深度值为标签训练得到的模型;
S6:基于所有所述图像块对应的初始深度图上每一像素点的重建深度值确定所述目标人脸的重建人脸。
可选的,S3具体包括:
根据所述预测光流和所述视角图像对应的真实相机参数生成每一所述视角图像对应的真实深度图;
将所有所述视角图像对应的真实深度图进行融合,生成所述目标人脸的粗糙人脸。
可选的,所述训练好的粗匹配网络模型包括依次连接的RGB特征提取模块以及光流预测模块;
所述RGB特征提取模块,包括若干依次连接的卷积层,用于对所述源视角图像和所述目标视角图像进行特征提取;
所述光流预测模块,采用U-Net网络,用于根据提取到的特征得到所述源视角图像到所述目标视角图像的预测光流。
可选的,所述生成每一所述图像块对应的虚拟相机参数,具体包括:
对于每一所述图像块,执行下述步骤:
采用主成分分析法对所述图像块进行处理,得到三个特征向量;
按照特征值从大到小的顺序对三个所述特征向量进行排序,将排序位于第一的特征向量记为第一特征向量,将排序位于第二的特征向量记为第二特征向量,将排序位于第三的特征向量记为第三特征向量;
将所述第一特征向量、所述第二特征向量分别作为虚拟相机的x轴和y轴,将所述第三特征向量的反方向作为虚拟相机的z轴,生成所述图像块对应的虚拟相机的虚拟相机坐标系;
分别确定所述第一特征向量、所述第二特征向量和所述第三特征向量在世界坐标系下的真实坐标;
根据所述真实坐标确定外参旋转矩阵R;
根据所述外参旋转矩阵R确定外参平移矩阵T;
根据所述图像块上图像点的坐标和所述外参旋转矩阵R以及所述外参平移矩阵T确定每一图像点的虚拟相机坐标;
根据所有图像点的虚拟相机坐标中x轴方向的最大值和y轴方向的最大值确定缩放系数s;
根据所述外参旋转矩阵R、所述外参平移矩阵T和所述缩放系数s生成虚拟相机的外参;
根据所述图像块对应的初始深度图的分辨率确定虚拟相机的内参;所述虚拟相机的外参和所述虚拟相机的内参组成所述虚拟相机的虚拟相机参数。
可选的,所述训练好的曲面重建网络包括依次连接的特征金字塔网络、特征互相关模块和曲面编码回归模块;
所述特征金字塔网络用于对每一所述视角图像进行特征提取,得到每一所述视角图像的特征;
所述特征互相关模块用于在所述图像块对应的初始深度图中选取若干个搜索点;对于每一所述视角图像,基于所述视角图像对应的真实相机参数将每一个所述搜索点的坐标投影到所述视角图像对应的图像坐标系下,得到每一个所述搜索点在所述视角图像对应的图像坐标系下的投影坐标,并基于所述视角图像的特征和所述投影坐标计算每一个所述搜索点在所述视角图像下对应的视角特征;对于每一个所述搜索点,将所述搜索点在所有所述视角图像下对应的视角特征进行两两互相关计算,得到每一个所述搜索点的互相关计算结果;将所有所述搜索点的互相关计算结果进行融合,得到深度方向代价体积;
所述曲面编码回归模块用于对每一所述视角图像的特征、所述深度方向代价体积和所述图像块对应的初始深度图进行编码,得到所述图像块的曲面预测编码。
可选的,在S5之前,还包括:对曲面解码器进行训练,训练过程如下:
获取第一样本集;所述第一样本集包括样本人脸的样本初始深度图和样本点坐标以及样本点对应的真实深度值;
利用第一样本集对曲面编码解码网络进行训练,得到训练好的曲面编码解码网络;所述训练好的曲面编码解码网络包括依次连接的训练好的曲面编码器和训练好的曲面解码器。
可选的,所述曲面编码解码网络训练过程中采用的损失函数包括深度损失函数与法向量损失函数;
所述深度损失函数的表达式为:
所述法向量损失函数的表达式为:
所述预测法向量的确定过程如下:
在x轴和y轴方向上分别选取样本初始深度图上像素点的相邻像素点,得到x相邻像素点和y相邻像素点;
将所述x相邻像素点、所述y相邻像素点与所述像素点连接,得到一三角面片;
根据所述x相邻像素点、所述y相邻像素点和所述像素点的重建深度值和所述样本初始深度图对应的虚拟相机参数确定所述x相邻像素点、所述y相邻像素点和所述像素点的虚拟相机坐标;
根据所述x相邻像素点、所述y相邻像素点和所述像素点的虚拟相机坐标确定所述三角面片每条边的方向向量;
选取所述三角面片任意两条边,将两条边的方向向量进行叉乘,得到所述样本初始深度图上像素点的预测法向量。
本发明还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述基于深度学习的人脸三维重建方法的步骤。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适用于由处理器加载并执行上述基于深度学习的人脸三维重建方法。
根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提供的基于深度学习的人脸三维重建方法、计算机设备与介质,该方法通过训练好的粗匹配网络模型对目标人脸的多张不同视角图像进行预测,得到每一视角图像到目标视角图像的预测光流,然后根据预测光流和真实相机参数生成粗糙人脸,将粗糙人脸分割成若干个图像块,并通过图像块对应的虚拟相机参数生成每一图像块对应的初始深度图,然后通过训练好的曲面重建网络对目标人脸的所有视角图像和初始深度图进行编码,得到每一图像块的曲面预测编码,再通过训练好的曲面解码器对曲面预测编码进行解码,得到每一图像块对应的对应的初始深度图上每一像素点的重建深度值,最后基于重建深度值得到重建人脸。本发明通过深度学习模型基于多视角图像之间的匹配信息还原深度信息,提高了人脸重建的精度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的基于深度学习的人脸三维重建方法流程示意图;
图2为本发明提供的多视角人脸图像的采集设备图;
图3为本发明提供的曲面编码解码网络的结构示意图;
图4为本发明提供的基于深度学习的人脸三维重建方法原理示意图;
图5是本发明提供的一种计算机设备的结构示意图。
符号说明:
1000-计算机设备;1001-处理器;1002-通信总线;1003-用户接口;1004-网络接口;1005-存储器。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
近年来,随着计算机性能不断提升,深度学习算法在视觉领域被广泛应用,尤其是人脸三维重建领域,如基于多视角的匹配重建方法,基于多视角的匹配重建方法借鉴立体匹配思路,寻找视角间的匹配点以还原深度信息,这一方法虽然可以获取人脸的准确深度,但重建精度受多视角图片本身分辨率的限制,网络参数量随分辨率以指数级增长,难以实现高精度的人脸重建。
基于上述现有技术的缺陷,本发明提供了一种基于深度学习的人脸三维重建方法、计算机设备与介质,通过深度学习模型基于多视角图像之间的匹配信息还原深度信息,提高了人脸重建的精度,并且本发明对每一图像块分别进行深度重建,即通过每次只对固定大小的局部深度进行重建,使得网络参数量与图像分辨率解耦,避免了网络参数量随图像分辨率快速增长的问题,能够以较小的网络参数量实现高精度的人脸重建。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1所示,本发明提供了一种基于深度学习的人脸三维重建方法,所述方法包括:
S1:获取目标人脸的多张不同视角图像。
S2:对于每一所述视角图像,以所述视角图像作为源视角图像,将所述源视角图像与目标视角图像输入训练好的粗匹配网络模型中,得到所述源视角图像到所述目标视角图像的预测光流;所述目标视角图像为所有视角图像中除所述源视角图像之外的视角图像;所述训练好的粗匹配网络模型是以样本源视角图像和样本目标视角图像为输入,以所述样本源视角图像到所述样本目标视角图像的样本光流为标签训练得到的模型。
S3:根据所述预测光流和所述视角图像对应的真实相机参数对所有所述视角图像进行融合,生成所述目标人脸的粗糙人脸。
S4:将所述粗糙人脸分割成若干个图像块,并生成每一所述图像块对应的虚拟相机参数,通过所述图像块对应的虚拟相机参数生成所述图像块对应的初始深度图。
S5:对于每一所述图像块,将所有视角图像和所述图像块对应的初始深度图输入训练好的曲面重建网络中,得到所述图像块的曲面预测编码;将所述曲面预测编码和所述图像块对应的初始深度图上每一像素点的坐标输入至训练好的曲面解码器中,得到所述图像块对应的初始深度图上每一像素点的重建深度值;所述训练好的曲面重建网络为以样本人脸的所有样本视角图像和样本初始深度图为输入,以样本曲面编码为标签训练得到的模型;所述训练好的曲面解码器为以样本曲面预测编码和样本点坐标为输入,以所述样本点对应的真实深度值为标签训练得到的模型。
S6:基于所有所述图像块对应的初始深度图上每一像素点的重建深度值确定所述目标人脸的重建人脸。
首先,进行目标人脸的不同视角图像的采集,其采集设备如图2所示,采集设备由十二个单反相机、一个面光源和十三张偏振片组成,相机间借助信号线实现硬件同步,由同一个快门控制拍摄,由于硬件同步的延迟在μs级,因此可以认为各相机采集到的是同一时刻的人脸。在相机镜头与光源前方使用偏振片进行遮挡,确保每个相机前方的偏振片方向均与光源前的偏振片正交,确保相机和光源前的偏振片保持正交的方式是:对一个金属球进行拍摄,调整偏振片位置,直至相机拍摄的金属球上没有高光。然后对相机采集到的照片进行去除各向异性的预处理,得到目标人脸的不同视角图像。其中,去除各向异性的预处理包括去白平衡、逆gama变换、标定各相机的响应曲线并进行相机响应逆变换操作。
然后逐一将每一视角图像作为源视角图像,除源视角图像之外的其他视角图像作为目标视角图像,将源视角图像和每一目标视角图像输入训练好的粗匹配网络模型中,输出源视角图像到每一目标视角图像的预测光流。
其中,训练好的粗匹配网络模型包括依次连接的RGB特征提取模块以及光流预测模块;
所述RGB特征提取模块,包括若干依次连接的卷积层,用于对所述源视角图像和所述目标视角图像进行特征提取。本实施例中卷积层数量为5。
所述光流预测模块,采用U-Net网络,用于根据提取到的特征得到所述源视角图像到所述目标视角图像的预测光流。在粗匹配网络模型预测得到源视角图像到所述目标视角图像的预测光流后,使用双目视觉深度计算方法根据预测光流与真实相机参数得到深度,利用此深度进行粗匹配网络模型的监督训练。即本实施例在粗匹配网络模型训练过程中使用的数据集上进行了fine tune,采用深度损失函数进行监督训练。本实施例中粗匹配网络模型选用PWC Net模型。
在本实施例中,S3具体包括:
根据所述预测光流和所述视角图像对应的真实相机参数生成每一所述视角图像对应的真实深度图。
将所有视角图像对应的真实深度图进行融合,生成所述目标人脸的粗糙人脸。
具体地,将S2得到的预测光流结合当前源视角图像对应的真实相机参数采用双目视觉深度计算方法计算出当前源视角图像对应的真实深度图,然后经多次循环计算获得所有视角图像对应的真实深度图,再使用TSDF算法对所有真实深度图进行融合,最终生成一个低精度且缺乏细节的三维粗糙人脸(粗糙mesh)。
在得到粗糙mesh之后,将粗糙mesh分割成若干个图像块(局部patch),分割过程如下:
从粗糙mesh中随机挑选一个粗糙mesh点,根据粗糙mesh具备的三角面片提供的连接关系,建立邻接矩阵π,其中π[i,j]代表第i个点与第j个点是否相连(粗糙mesh中的每一粗糙mesh点连接若干点),相连则为1,否则为0。随后根据马尔可夫链,将π连续与自己相乘十次,得到粗糙mesh点十阶以内的邻域点(与粗糙mesh点相连的点为一阶邻域点,与一阶邻域点相连的点为二阶邻域点),第一次相乘得到的矩阵中不为0的元素对应的点为一阶邻域点,依次类推,第十次相乘得到的矩阵中不为0的元素对应的点为十阶邻域点,粗糙mesh点以及一阶领域点至十阶邻域点以内的所有邻域点构成一个局部patch。循环以上过程直到粗糙mesh完全分割结束。
得到上述图像块(局部patch)后,生成每一所述图像块对应的虚拟相机以找到最适合展开patch(图像块)的视角,方便重建patch细节,S4中生成每一所述图像块对应的虚拟相机参数,具体包括:
对于每一所述图像块,执行下述步骤:
采用主成分分析法对所述图像块进行处理,得到三个特征向量。
按照特征值从大到小的顺序对三个所述特征向量进行排序,将排序位于第一的特征向量记为第一特征向量,将排序位于第二的特征向量记为第二特征向量,将排序位于第三的特征向量记为第三特征向量。
将所述第一特征向量、所述第二特征向量分别作为虚拟相机的x轴和y轴,将所述第三特征向量的反方向作为虚拟相机的z轴,生成所述图像块对应的虚拟相机的虚拟相机坐标系。
分别确定所述第一特征向量、所述第二特征向量和所述第三特征向量在世界坐标系下的真实坐标。
根据所述真实坐标确定外参旋转矩阵R。
根据所述外参旋转矩阵R确定外参平移矩阵T。
根据所述图像块上图像点的坐标和所述外参旋转矩阵R以及所述外参平移矩阵T确定每一图像点的虚拟相机坐标。
根据所有图像点的虚拟相机坐标中x轴方向的最大值和y轴方向的最大值确定缩放系数s。
根据所述外参旋转矩阵R、所述外参平移矩阵T和所述缩放系数s生成虚拟相机的外参。
根据所述图像块对应的初始深度图的分辨率确定虚拟相机的内参;所述虚拟相机的外参和所述虚拟相机的内参组成所述虚拟相机的虚拟相机参数。
具体过程为:对生成的patch中的点进行主成分分析,得到的特征向量均为1×3的向量,具体地,若patch有n个点,根据n个点在世界坐标系下的坐标得到一3×n矩阵,对这个3×n矩阵采用主成分分析法进行处理,得到三个1×3的特征向量。由于特征向量间彼此正交,因此特征值最大的两个特征向量(第一特征向量和第二特征向量)分别作为虚拟相机的x轴方向向量与y轴方向向量,第三特征向量的反向则作为虚拟相机的z轴方向向量。根据三个特征向量在虚拟相机的x、y和z轴上的长度分别确定第一特征向量、第二特征向量和第三特征向量在世界坐标系下的真实坐标,由此确定外参旋转矩阵R,即,将这三个特征向量的真实坐标组成的3×3的矩阵求逆,得到旋转矩阵R。3×n矩阵乘以旋转矩阵R,得到旋转之后的坐标,将旋转之后的坐标在x、y和z值分别取平均值得到一点,这一点为patch的中心点,再将patch的中心点沿z轴反方向移动焦距长度确定光心位置。将光心位置的坐标乘以旋转矩阵R,得到世界坐标系下的坐标,再取相反数,得到平移矩阵T。通过s=1/max(rangx,rangey)计算缩放系数s,其中rangx,rangey分别代表patch在虚拟相机坐标系下的x值、y值的最大范围,进而得到虚拟相机的最终外参s×R和s×T,虚拟相机内参则根据patch对应的初始深度图的分辨率,例如,如果需要初始深度图的分辨率为32*32,那么虚拟相机内参K中的参数fx,fy,cx,cy均为16。
通过上述可得到每一图像块对应的虚拟相机参数,基于虚拟相机参数计算得到每一图像块对应的初始深度图。即K×(旋转矩阵R×patch上点的坐标+平移矩阵T),由此得到patch上点对应的初始深度。
对于每一图像块,将上述所有视角图像和该图像块对应的初始深度图输入训练好的曲面重建网络,可以得到图像块的曲面预测编码。
在本实施例中,上述训练好的曲面重建网络包括依次连接的特征金字塔网络、特征互相关模块和曲面编码回归模块。
所述特征金字塔网络用于对每一所述视角图像进行特征提取,得到每一所述视角图像的特征。如图4所示,特征金字塔网络FPN,由六层卷积和四层反卷积构成,对相同尺寸的卷积得到的特征和反卷积得到的特征进行跨层连接。
所述特征互相关模块用于在所述图像块对应的初始深度图中选取若干个搜索点;对于每一所述视角图像,基于所述视角图像对应的真实相机参数将每一个所述搜索点的坐标投影到所述视角图像对应的图像坐标系下,得到每一个所述搜索点在所述视角图像对应的图像坐标系下的投影坐标,并基于所述视角图像的特征和所述投影坐标计算每一个所述搜索点在所述视角图像下对应的视角特征;对于每一个所述搜索点,将所述搜索点在所有所述视角图像下对应的视角特征进行两两互相关计算,得到每一个所述搜索点的互相关计算结果;将所有所述搜索点的互相关计算结果进行融合,得到深度方向代价体积。具体地:
在曲面重建网络中,以当前patch对应的虚拟相机视角为主视角(源视角),所有视角图像的真实视角为目标视角。将源视角图像像素在不同深度下在虚拟相机坐标系下的位置坐标投影到目标视角,取出相应位置的特征,并将视角间特征两两进行互相关,互相关结果为Corr(fi,fj)=<fi,fj>,其中fi、fj分别为i和j目标视角的特征,<>表示内积,最终得到在深度搜索方向的代价体积(深度方向代价体积),具体为:
在patch对应的初始深度图中以固定间隔在采样2k+1个搜索点,假设当前搜索点位置像素坐标为(u,v),深度为d,固定间隔取r,那么搜索的2k+1个搜索点的深度分别为d-kr,d-(k-1)r,...d,d+r,d+2r...d+kr。对于每一搜索点,根据搜索点的深度将搜索点在各视角下投影位置的特征向量取出,并两两进行互相关,初始深度图对应的虚拟相机内外参为K0,P0,则可得到其对应的三维坐标p=Prj-1(u,v,d,K0,P0),投影至某一视角图像I1的目标视角,得到在这一视角对应的真实相机坐标系下的坐标为(u1,v1)=Prj(p,K1,P1),K1,P1为视角图像I2的真实相机内外参,对应点的特征为f1=BIL(FPN(I1),u1,v1),其中Prj表示投影过程,BIL表示双线性插值,FPN表示特征金字塔网络。同理,将当前搜索点投影至另一视角图像I2对应的视角得到特征f2=BIL(FPN(I2),u2,v2),互相关的计算结果为Corr(f1,f2)=<f1,f2>,<>表示内积,将所有搜索点的互相关结果沿channel维度堆叠,得到代价体V,大小为其中n为视角数。其中,H和W分别为patch初始深度图的长和宽。
所述曲面编码回归模块用于对每一所述视角图像的特征、所述深度方向代价体积和所述图像块对应的初始深度图进行编码,得到所述图像块的曲面预测编码。将多视角的特征、深度方向的代价体积以及patch初始深度一同输入编码回归模块,输入的形状大小为 n为视角数,c为FPN输出的特征通道维度,然后输出曲面预测编码(隐式编码code)与解码算子multiplier。在本实施例中,曲面编码回归模块由4层ResNet Block与两层全连接网络构成。
得到上述曲面预测编码后,在图像块对应的初始深度图上内均匀采样像素点,将像素点坐标(u,v)与曲面预测编码一同输入训练好的曲面解码器中,得到每一像素点的重建深度值,最后基于所有patch对应的像素点的重建深度值可得到高精度的重建深度图。
在S5之前,还包括:对曲面解码器进行训练,训练过程如下:
获取第一样本集;所述第一样本集包括样本人脸的样本初始深度图和样本点坐标以及样本点对应的真实深度值;
利用第一样本集对曲面编码解码网络进行训练,得到训练好的曲面编码解码网络;所述训练好的曲面编码解码网络包括依次连接的训练好的曲面编码器和训练好的曲面解码器。
在本实施例中,上述曲面编码解码网络的结构如图3所示,曲面编码器将32*32分辨率深度图作为输入,网络由4层ResNet block以及multiplier、code两个head组成,4层ResNet block负责提取深度图特征,提供给后续的head模块作为输入,multiplier head由两层3*3卷积网络构成,输出维度为(B,32,2,2),作为patch的算子编码,记作multiplier;code head由一层卷积网络与一层全连接网络组成,输出(B,64),作为对深度图的形状编码(曲面预测编码),记作code。然后在patch对应的虚拟相机的像素平面任意查询一个点(像素点),解码器将查询点坐标(u,v)与编码器得到的multiplier、code作为输入,(u,v)坐标与multiplier进行矩阵点乘后,与code沿channel维度concat,输入给后续的MLP网络(曲面解码器),并最终输出深度。本实施例中曲面解码器采用包含12层全连接的MLP结构。
上述曲面编码解码网络训练过程中采用的损失函数包括深度损失函数与法向量损失函数;深度损失函数为真实深度值和样本初始深度图上像素点的重建深度值的二范数误差,法向量损失函数为真实法线方向与预测法线方向间夹角的余弦值。其中,深度损失函数的表达式为:
法向量损失函数的表达式为:
其中,预测法向量的确定过程如下:
在x轴和y轴方向上分别选取样本初始深度图上像素点的相邻像素点,得到x相邻像素点和y相邻像素点。
将所述x相邻像素点、所述y相邻像素点与所述像素点连接,得到一三角面片。
根据所述x相邻像素点、所述y相邻像素点和所述像素点的重建深度值和所述样本初始深度图对应的虚拟相机参数确定所述x相邻像素点、所述y相邻像素点和所述像素点的虚拟相机坐标。
根据所述x相邻像素点、所述y相邻像素点和所述像素点的虚拟相机坐标确定所述三角面片每条边的方向向量。
选取所述三角面片任意两条边,将两条边的方向向量进行叉乘,得到所述样本初始深度图上像素点的预测法向量。
上述预测法向量的确定过程具体为:
在所述像素点周边选取(u-1,v)和(u,v-1)两个新的像素点连接成三角面片,根据三个像素点的重建深度值以及其对应的虚拟相机内参K计算出三个像素点(x相邻像素点、y相邻像素点和所述像素点)在虚拟相机坐标系下的位置坐标,进而得到三角面片每条边的方向向量,将面片的任两条边的方向向量叉乘后获得的面片法向量作为当前像素点(u,v)的法向量
基于上述过程,可得到训练好的曲面编码解码网络,训练好的曲面编码解码网络包括训练好的曲面编码器和训练好的曲面解码器。此训练好的曲面解码器用于S6人脸的重建。
然后对曲面重建网络和训练好的曲面解码器进行训练,需要说明的是在这一训练过程中,训练好的曲面解码器中的参数固定不变。本发明采用深度估计误差函数和编码集成误差函数对曲面重建网络和训练好的曲面解码器进行训练。其中,深度估计误差函数的表达式为:
式中lossd表示深度估计误差函数值,F(c,i)分别表示第i个像素点的真实深度值与重建深度值,F代表解码算法,c代表样本曲面预测编码,n样本初始深度图上像素点的个数。其中的重建深度值为上述训练好的曲面解码器预测得到。
编码集成误差为式中lossi表示编码集成误差值,F代表解码算法,c1、c2代表两个样本patch各自的样本曲面预测编码,在mesh分割时,存在某一样本mesh点位于分割后的两个不同的样本patch中,因此i1、i2代表当前点在不同样本patch下的编号。
在得到图像块对应的初始深度图上每一像素点的重建深度值后,对每个patch均进行高精度的采样,并融合在一起,即可得到三维人脸的重建结果。
本发明提供的基于深度学习的人脸三维重建方法,该方法通过深度学习模型基于多视角图像之间的匹配信息还原深度信息,提高了人脸重建的精度,并且本发明对每一图像块分别进行深度重建,即通过每次只对固定大小的局部深度进行重建,使得网络参数量与图像分辨率解耦,避免了网络参数量随图像分辨率快速增长的问题,能够以较小的网络参数量实现高精度的人脸重建。
本发明还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述基于深度学习的人脸三维重建方法的步骤。
请参见图5,图5是本申请提供的一种计算机设备的结构示意图。如图5所示,计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图5所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图5所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现上述实施例所述的基于深度学习的人脸三维重建方法,这里将不再进行赘述。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适用于由处理器加载并执行上述实施例所述的基于深度学习的人脸三维重建方法,这里将不再进行赘述。
上述程序可被部署在一个计算机设备上执行,或者被部署位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链网络。
上述计算机可读存储介质可以是上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smartmediacard,SMC),安全数字(securedigital,SD)卡,闪存卡(flashcard)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于深度学习的人脸三维重建方法,其特征在于,所述方法包括:
S1:获取目标人脸的多张不同视角图像;
S2:对于每一所述视角图像,以所述视角图像作为源视角图像,将所述源视角图像与目标视角图像输入训练好的粗匹配网络模型中,得到所述源视角图像到所述目标视角图像的预测光流;所述目标视角图像为所有视角图像中除所述源视角图像之外的视角图像;所述训练好的粗匹配网络模型是以样本源视角图像和样本目标视角图像为输入,以所述样本源视角图像到所述样本目标视角图像的样本光流为标签训练得到的模型;
S3:根据所述预测光流和所述视角图像对应的真实相机参数对所有所述视角图像进行融合,生成所述目标人脸的粗糙人脸;
S4:将所述粗糙人脸分割成若干个图像块,并生成每一所述图像块对应的虚拟相机参数,通过所述图像块对应的虚拟相机参数生成所述图像块对应的初始深度图;
S5:对于每一所述图像块,将所有所述视角图像和所述图像块对应的初始深度图输入训练好的曲面重建网络中,得到所述图像块的曲面预测编码;将所述曲面预测编码和所述图像块对应的初始深度图上每一像素点的坐标输入至训练好的曲面解码器中,得到所述图像块对应的初始深度图上每一像素点的重建深度值;所述训练好的曲面重建网络为以样本人脸的所有样本视角图像和样本初始深度图为输入,以样本曲面编码为标签训练得到的模型;所述训练好的曲面解码器为以样本曲面预测编码和样本点坐标为输入,以所述样本点对应的真实深度值为标签训练得到的模型;
S6:基于所有所述图像块对应的初始深度图上每一像素点的重建深度值确定所述目标人脸的重建人脸。
2.根据权利要求1所述的基于深度学习的人脸三维重建方法,其特征在于,S3具体包括:
根据所述预测光流和所述视角图像对应的真实相机参数生成每一所述视角图像对应的真实深度图;
将所有所述视角图像对应的真实深度图进行融合,生成所述目标人脸的粗糙人脸。
3.根据权利要求1所述的基于深度学习的人脸三维重建方法,其特征在于,所述训练好的粗匹配网络模型包括依次连接的RGB特征提取模块以及光流预测模块;
所述RGB特征提取模块,包括若干依次连接的卷积层,用于对所述源视角图像和所述目标视角图像进行特征提取;
所述光流预测模块,采用U-Net网络,用于根据提取到的特征得到所述源视角图像到所述目标视角图像的预测光流。
4.根据权利要求1所述的基于深度学习的人脸三维重建方法,其特征在于,所述生成每一所述图像块对应的虚拟相机参数,具体包括:
对于每一所述图像块,执行下述步骤:
采用主成分分析法对所述图像块进行处理,得到三个特征向量;
按照特征值从大到小的顺序对三个所述特征向量进行排序,将排序位于第一的特征向量记为第一特征向量,将排序位于第二的特征向量记为第二特征向量,将排序位于第三的特征向量记为第三特征向量;
将所述第一特征向量、所述第二特征向量分别作为虚拟相机的x轴和y轴,将所述第三特征向量的反方向作为虚拟相机的z轴,生成所述图像块对应的虚拟相机的虚拟相机坐标系;
分别确定所述第一特征向量、所述第二特征向量和所述第三特征向量在世界坐标系下的真实坐标;
根据所述真实坐标确定外参旋转矩阵R;
根据所述外参旋转矩阵R确定外参平移矩阵T;
根据所述图像块上图像点的坐标和所述外参旋转矩阵R以及所述外参平移矩阵T确定每一图像点的虚拟相机坐标;
根据所有图像点的虚拟相机坐标中x轴方向的最大值和y轴方向的最大值确定缩放系数s;
根据所述外参旋转矩阵R、所述外参平移矩阵T和所述缩放系数s生成虚拟相机的外参;
根据所述图像块对应的初始深度图的分辨率确定虚拟相机的内参;所述虚拟相机的外参和所述虚拟相机的内参组成所述虚拟相机的虚拟相机参数。
5.根据权利要求1所述的基于深度学习的人脸三维重建方法,其特征在于,所述训练好的曲面重建网络包括依次连接的特征金字塔网络、特征互相关模块和曲面编码回归模块;
所述特征金字塔网络用于对每一所述视角图像进行特征提取,得到每一所述视角图像的特征;
所述特征互相关模块用于在所述图像块对应的初始深度图中选取若干个搜索点;对于每一所述视角图像,基于所述视角图像对应的真实相机参数将每一个所述搜索点的坐标投影到所述视角图像对应的图像坐标系下,得到每一个所述搜索点在所述视角图像对应的图像坐标系下的投影坐标,并基于所述视角图像的特征和所述投影坐标计算每一个所述搜索点在所述视角图像下对应的视角特征;对于每一个所述搜索点,将所述搜索点在所有所述视角图像下对应的视角特征进行两两互相关计算,得到每一个所述搜索点的互相关计算结果;将所有所述搜索点的互相关计算结果进行融合,得到深度方向代价体积;
所述曲面编码回归模块用于对每一所述视角图像的特征、所述深度方向代价体积和所述图像块对应的初始深度图进行编码,得到所述图像块的曲面预测编码。
6.根据权利要求1所述的基于深度学习的人脸三维重建方法,其特征在于,在S5之前,还包括:对曲面解码器进行训练,训练过程如下:
获取第一样本集;所述第一样本集包括样本人脸的样本初始深度图和样本点坐标以及样本点对应的真实深度值;
利用第一样本集对曲面编码解码网络进行训练,得到训练好的曲面编码解码网络;所述训练好的曲面编码解码网络包括依次连接的训练好的曲面编码器和训练好的曲面解码器。
8.根据权利要求7所述的基于深度学习的人脸三维重建方法,其特征在于,所述预测法向量的确定过程如下:
在x轴和y轴方向上分别选取样本初始深度图上像素点的相邻像素点,得到x相邻像素点和y相邻像素点;
将所述x相邻像素点、所述y相邻像素点与所述像素点连接,得到一三角面片;
根据所述x相邻像素点、所述y相邻像素点和所述像素点的重建深度值和所述样本初始深度图对应的虚拟相机参数确定所述x相邻像素点、所述y相邻像素点和所述像素点的虚拟相机坐标;
根据所述x相邻像素点、所述y相邻像素点和所述像素点的虚拟相机坐标确定所述三角面片每条边的方向向量;
选取所述三角面片任意两条边,将两条边的方向向量进行叉乘,得到所述样本初始深度图上像素点的预测法向量。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1-8中任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适用于由处理器加载并执行权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310191074.7A CN116109778A (zh) | 2023-03-02 | 2023-03-02 | 基于深度学习的人脸三维重建方法、计算机设备与介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310191074.7A CN116109778A (zh) | 2023-03-02 | 2023-03-02 | 基于深度学习的人脸三维重建方法、计算机设备与介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116109778A true CN116109778A (zh) | 2023-05-12 |
Family
ID=86254309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310191074.7A Pending CN116109778A (zh) | 2023-03-02 | 2023-03-02 | 基于深度学习的人脸三维重建方法、计算机设备与介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116109778A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116580212A (zh) * | 2023-05-16 | 2023-08-11 | 北京百度网讯科技有限公司 | 图像生成方法、图像生成模型的训练方法、装置和设备 |
-
2023
- 2023-03-02 CN CN202310191074.7A patent/CN116109778A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116580212A (zh) * | 2023-05-16 | 2023-08-11 | 北京百度网讯科技有限公司 | 图像生成方法、图像生成模型的训练方法、装置和设备 |
CN116580212B (zh) * | 2023-05-16 | 2024-02-06 | 北京百度网讯科技有限公司 | 图像生成方法、图像生成模型的训练方法、装置和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110135455B (zh) | 影像匹配方法、装置及计算机可读存储介质 | |
CN106780543B (zh) | 一种基于卷积神经网络的双框架估计深度和运动方法 | |
CN108335353A (zh) | 动态场景的三维重建方法、装置和系统、服务器、介质 | |
CN107204010A (zh) | 一种单目图像深度估计方法与系统 | |
CN102750704B (zh) | 一种摄像机分步自标定方法 | |
CN113139989B (zh) | 一种基于深度学习的粒子图像测速方法与装置 | |
CN109035327B (zh) | 基于深度学习的全景相机姿态估计方法 | |
CN113284251B (zh) | 一种自适应视角的级联网络三维重建方法及系统 | |
CN113723317B (zh) | 3d人脸的重建方法、装置、电子设备和存储介质 | |
CN115035235A (zh) | 三维重建方法及装置 | |
CN116109778A (zh) | 基于深度学习的人脸三维重建方法、计算机设备与介质 | |
CN115908753A (zh) | 一种全身人体网格表面重建方法及相关装置 | |
CN117876397A (zh) | 一种基于多视角数据融合的桥梁构件三维点云分割方法 | |
CN117197388A (zh) | 一种基于生成对抗神经网络和倾斜摄影的实景三维虚拟现实场景构建方法及系统 | |
CN115423938A (zh) | 一种基于语义识别的三维模型重建方法及系统 | |
CN113808273B (zh) | 一种船行波数值模拟的无序式增量稀疏点云重构方法 | |
CN118379358A (zh) | 一种基于对抗神经网络的rgb-d相机深度模块标定方法 | |
CN107240149A (zh) | 基于图像处理的物体三维模型构建方法 | |
CN116258756B (zh) | 一种自监督单目深度估计方法及系统 | |
CN117218713A (zh) | 动作解算方法、装置、设备及存储介质 | |
CN116797640A (zh) | 一种面向智能伴行巡视器的深度及3d关键点估计方法 | |
CN116630556A (zh) | 基于空中地图数据重构地图的方法、系统及存储介质 | |
CN116052278A (zh) | 一种基于人体骨骼三维数据的动作识别方法、设备、介质 | |
CN114943746A (zh) | 一种利用深度信息辅助和轮廓增强损失的运动迁移方法 | |
CN110245553B (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 |