CN111292415A - 一种基于球坐标位置图的单视图三维人脸重建方法 - Google Patents
一种基于球坐标位置图的单视图三维人脸重建方法 Download PDFInfo
- Publication number
- CN111292415A CN111292415A CN202010114817.7A CN202010114817A CN111292415A CN 111292415 A CN111292415 A CN 111292415A CN 202010114817 A CN202010114817 A CN 202010114817A CN 111292415 A CN111292415 A CN 111292415A
- Authority
- CN
- China
- Prior art keywords
- face
- output
- size
- image
- map
- 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.)
- Granted
Links
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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于球坐标位置图的单视图三维人脸重建方法,包括步骤:1)输入包含人脸的单视图,检测出图中人脸所在位置;2)根据检测出的位置裁剪出单视图上的人脸图像,转换为固定的大小后进行预处理;3)将预处理后的图像输入到编码器,编码器输出特征图;4)将提取的特征图输入到解码器,解码器输出球坐标表示的位置图;5)将球坐标表示的位置图转换为笛卡尔坐标位置图,根据转换后的位置图重建三维人脸。本发明方法具有计算速度快,内存资源消耗小,方法的泛化性能好,能够精准重建复杂环境下的人脸等优点。
Description
技术领域
本发明涉及图像处理的技术领域,尤其是指一种基于球坐标位置图的三维人脸重建方法。
背景技术
三维人脸重建是指从单张或多张二维人脸图像中提取脸部信息,并基于脸部信息重构三维人脸的过程。三维人脸重建在刑事侦查、娱乐游戏以及医学图像方面等领域有着极高的应用前景。
人脸由各种复杂的生物组织构成,比如骨骼、肌肉以及眼睛等器官。人的头骨决定了人脸的轮廓,皮肤反映了人脸的外观,各种肌肉组织的协调以及变形下产生了人脸的各种表情。并且人脸的光照性十分复杂。即使是同一张脸,由于皱纹、毛发以及肤色等的影响,在不同环境下也会导致人脸呈现出不同的光照效果。因此重建具有真实感的三维人脸对当前的计算机图像处技术来说是个挑战。
具体的,三维人脸重建就是要根据二维人脸图像的信息推断出三维人脸,且该三维人脸与二维人脸图像中的人脸在一定范围内下保持一致。传统的三维人脸重建都需要使用到通用的三维人脸模型,如三维形变模型(3D Morphable Model,3DMM),通过二维人脸图像对3DMM模型系数的预测便能够重建相应的三维人脸,即代表三维人脸的三维点集。与3DMM相似的通用三维人脸模型有很多,如大型面部模型(Large Scale Facial Model,LSFM),它们在本质上都是使用三维点集表示三维人脸,而调整模型的系数便能够控制三维人脸形状。除此之外,还有使用三维网格描述人脸的通用模型。
如上所述,通过提取二维图像中的人脸信息,精准地预测相应的三维人脸模型系数,从而精准地重建三维人脸,这便是基于模型的三维人脸重建方法核心。然而,当前除了基于模型的三维人脸重建方法,研究者还提出了许多非模型方法。基于模型的三维人脸重建方法总是受限于模型所包含的信息,并且对于模型无法涵盖的人脸细节无法有效重建。因此,为了解决这个问题,研究者设计了各种非模型方法。基于位置图进行三维人脸重建便是一种非模型方法,它的本质是直接回归三维人脸模型中所有顶点在笛卡尔坐标系中的位置,而不需要经过预测模型系数再计算三维人脸模型顶点位置。
基于位置图进行三维人脸重建的方法使用包含人脸的二维图像回归代表相应三维人脸的位置图,其原理是将人脸纹理铺平在二维平面上,然后将人脸纹理上像素点的(r,g,b)信息替换为该点在三维空间中的笛卡尔坐标(x,y,z)。因此位置图的像素点实际上就包含了三维人脸顶点的空间坐标信息,则该位置图的所有像素点集就构成了三维人脸。
回归过程实际上使用到的是使用大量数据集训练生成的回归模型,该回归模型的输入是二维图像,输出则是对应的位置图。用于训练的数据集需要包含一一对应的二维人脸图像和位置图。300W-LP数据集中每个二维人脸图像都有着一个对应的三维人脸模型,因此将其中的三维人脸模型都转换为包含相同三维点集信息的位置图后,该数据集则能够用于训练回归模型。
机器学习发展到今天,用于回归的模型种类繁多,而近年深度学习领域的种种突破,使得深度卷积神经网络成了各种回归需求的首选项。使用二维人脸图像生成对应的位置图,这是一种图像到图像的过程。大多数时候,在机器学习中图像到图像的处理一般是将图像输入到编码器提取特征,然后再将提取到的特征输入到解码器,解码器输出目标图像。
因此上述过程中,对编码器与解码器的选择起着十分重要的作用,它们可以为任意的模型。实际上,编码器经常由各种形式的卷积层堆叠而成,解码器的设计则经常会使用全连接层、卷积层或者转置卷积层进行组合。
在使用代表三维人脸模型的位置图训练整个回归模型时,位置图中每个像素的(r,g,b)信息都被替换为三维人脸对应顶点在笛卡尔坐标系中的(x,y,z)坐标值,在这个过程前需要将顶点坐标值的大小规范到0~255。使用这种形式位置图训练的回归模型能够在很多情况下展现出优秀的重建效果,然而,当人脸在复杂光照、复杂姿态以及遮挡的情况下,三维人脸的重建可能会出现肉眼可见的失败,并且这种情况下,限制重建效果的一个重要因素在于回归模型对人脸偏转角度预测误差过大。
发明内容
本发明的目的在于克服现有技术的不足,提出了一种基于球坐标位置图的三维人脸重建方法,可以根据给出的任意姿态的二维人脸图像进行有效的三维人脸重建,并且神经网络模型大小明显缩减,运算时间更短,对于处于复杂姿态、复杂光照环境的人脸重建,本发明的三维人脸重建效果比已有的方法得到了显著的提升。
具体而言,为了使三维人脸重建更富有细节且不受模型所限,因此本发明使用的回归模型是基于位置图表达的数据集训练,并且针对大多数失败的重建案例首要解决的问题在于人脸偏转角度的预测偏差过大,采用的位置图中顶点的表现形式并非笛卡尔坐标,取而代之的是采用球坐标形式表示顶点在空间中的位置。采用球坐标形式表示的位置图用于训练,能够有效地提升回归模型对人脸偏转角度的预测。
其次为了在保证重建效果的前提下,有效的减小回归模型的大小,提升运算速度,在编码器采用了残差结构进行特征提取后,在解码器上采用了转置卷积的同时设计了直连结构的上采样块用于减小解码器的大小,提升其运算速度。
为实现上述目的,本发明所提供的技术方案为:一种基于球坐标位置图的单视图三维人脸重建方法,包括以下步骤:
1)输入包含人脸的单视图,检测出图中人脸所在位置;
2)根据检测出的位置裁剪出单视图上的人脸图像,转换为固定的大小后进行预处理;
3)将预处理后的图像输入到编码器,编码器输出特征图;
4)将提取的特征图输入到解码器,解码器输出球坐标表示的位置图;
5)将球坐标表示的位置图转换为笛卡尔坐标位置图,根据转换后的位置图重建三维人脸。
在步骤1)中,采用工具包dlib检测图中人脸所在位置,利用dlib提供的函数接口输入一张RGB图像,接口输出包含人脸位置信息的数组,数组中的一个元素就代表一个人脸的位置信息,输出dlib检测出的数组中的第一个元素,则能够得出该图像中人脸所在矩形的四个顶点位置。
在步骤2)中,根据步骤1)所得人脸区域矩形的坐标,求出矩形的中心点,以矩形中心点为重心,选择更大的矩形边长作正方形,该正方形区域正是用于后续操作的人脸区域,之后根据正方形区域的坐标,裁剪正方形的人脸区域,采用仿射变换输出256*256*3的RGB图像,之后采用卷积神经网络的编码器和解码器要求数据分布在0~1之间最佳,因此,将该图像所有的像素点值与256相除,将每个像素点的(r,g,b)值都规划到0~1之间,该图像将作为编码器的输入。
在步骤3)中,将步骤2)预处理后的图像输入编码器,编码器内部由多个卷积神经网络组合而成,其从256*256*3的图片中提取出8*8*512的特征图;编码器内部先采用内核大小为4、步长为1的卷积层输出维度为256*256*16的特征图,后面采用10个残差块串联,每个残差块输出的特征图都用作下一个残差块的输入,这些残差块输出的特征图维度依次为128*128*32、128*128*32、64*64*64、64*64*64、32*32*128、32*32*128、16*16*256、16*16*256、8*8*512、8*8*512;
残差块的数学结构表示为E(x)=W(F(x)+G(x)),上述的残差块都是以这种数学结构实现;其中x为输入的特征图,E(x)为残差块输出的特征图,F(x)的主体为三个卷积层的串联结构,前两个卷积层输出的特征图数为残差块输出特征数目的一半,第三个卷积层输出的特征图数则与残差块输出特征数目一致,第一个和第三个卷积层的内核大小以及步长都为1,第二个卷积层的内核和步长大小按需求设置,其值被视为整个残差块的内核以及步长值,并且前两个卷积层都在输出后紧接着使用批标准化BN以及线性整流函数作为激活函数,即激活函数ReLU,第三个卷积层则无;
对于G(x),在残差块的步长值为1时,G(x)=x,在残差块的步长值非1时,G(x)为一个内核大小为1的卷积层,并且其步长与残差块的步长保持一致,W(x)则是批标准化以及激活函数ReLU的串联结构;
在上述的卷积层中,所使用的padding模式都是“SAME”,并且整个编码器的残差块内核大小都设置为4,步长则为2和1交替,残差块需要设置的参数还有输出的特征图数目。
在步骤4)中,经过上一个步骤,编码器输出了维度为8*8*512的特征图,之后的解码器则直接串联在编码器之后,并且将输入的特征图解码为256*256*3的位置图,构成解码器的是7个上采样块以及一个转置卷积层构成,该上采样块采用和残差块相似的直连结构,其数学形式为D(x)=W(S(x)+T(x)),其中S(x)为三个转置卷积层构成,第一个和第三个转置卷积层的内核和步长值都为1,第二个转置卷积层的内核以及步长是待设定的,其值也被视为该上采样块的内核以及步长值,除此之外,第一个以及第二个转置卷积层后都紧接着批标准化以及激活函数ReLU,第三个转置卷积层则无。上述的三个转置卷积层,输出的特征图数目一致,都与上采样块输出的目标特征图数目一致,并且padding的模式都设置为“SAME”。
至于T(x),在上采样块的步长设置为1时,T(x)=x,当上采样块的步长非1时,T(x)的结构中含有一个卷积层,其输出的特征图数目以及步长都与上采样块输出的目标特征图数目以及步长一致,除此之外,该卷积层之后紧接着一个采用双线性插值的特征图缩放模块,其对每个特征图进行缩放,缩放后特征图的尺寸大小与上采样块设置的输出尺寸一致;
而上采样块中的W(x),其结构与残差中一致,是由批标准化以及ReLU激活函数串联而成的结构;
上述的7个上采样块在解码器中需要设置的参数有输出的特征图尺寸、输出的特征图数目、转置卷积内核大小以及步长;7个上采样块输出的特征图维度依次为8*8*512、16*16*256、32*32*128、64*64*64、128*128*32、256*256*16、256*256*3,而其步长依次设置为1、2、2、2、2、2、1;在该7个上采样块之后还串联转置卷积层,设置其输出的特征图数目为3,内核大小为4,步长为1,并且采用Sigmoid函数作为激活函数;
因此,输入维度256*256*3的RGB图像,编码器以及解码器就从中提取信息输出维度为256*256*3的球坐标位置图。
在步骤5)中,经步骤4)获得了256*256*3的位置图,每个像素点的三个颜色通道分别表示一个三维人脸上顶点在球坐标的位置(r,α,γ);其中r作为球坐标的半径,在训练模型之时,与缩放倍数相除被规范化到0~1,因此在转换为笛卡尔坐标时需要与缩放倍数相乘以还原到之前的大小,缩放倍数此处取256,能够按照实际数据需求进行设置;其中α代表在笛卡尔坐标系中顶点和原点形成的直线与x轴正方向的夹角,γ则代表在笛卡尔坐标系中顶点和原点形成的直线与z轴正方向的夹角,它们都在训练模型时都被规范化到0~1,在转换为笛卡尔坐标之前需要等比例缩放到0~360;据此,得到的球坐标位置图能够转换为笛卡尔坐标系下的位置图,该位置图中每个像素的(r,g,b)值即代表三维人脸顶点在空间中的坐标(x,y,z),位置图的点集则代表了重建后的三维人脸模型,按照位置图中像素点的邻近关系,将位置图的点集输出为obj格式的文件即可。
本发明与现有技术相比,具有如下优点:
1、本发明的网络结构简单,可扩展性好,选择高效的编码器以及解码器会带来高质量的三维人脸重建效果。
2、本发明采用位置图重建三维人脸,很大地避免了三维人脸模型的局限,重建的三维人脸拥有更丰富的细节。
3、本发明中由于位置图是基于球坐标的,能有效地对人脸在三维空间中的偏角进行回归,在此基础上,能够有效地提高人脸的重建效果,尤其是重建复杂场景下的人脸。
4、本发明中解码器所采用的上采样块,在保证人脸重建效果的同时,有效地减小了回归模型的大小,提升了模型的运算速度,降低了内存资源消耗,计算更高效。
附图说明
图1是本发明方法流程图。
图2是三维人脸重建所用完整神经网络结构图。
图3是编码器所采用的残差块结构图。
图4是解码器所采用的上采样块结构图。
图5是位置图表示三维人脸的方式。
图6是回归模型训练中损失函数采用的权重。
具体实施方式
下面结合具体实施例对本发明作进一步说明。
基于球坐标位置图的单视图三维人脸重建完整流程如图1,在读入图像后,依次执行人脸裁剪、图像预处理、编码器、解码器、位置图坐标系转换以及三维人脸模型重建。而整个重建流程所采用的神经网络结构如图2,其包含了最重要的编码器以及解码器。神经网络中编码器中的重要结构残差块如图3所示,而解码器中的重要结构上采样块则如图4所示。
本实施例所提供的基于球坐标位置图的单视图三维人脸重建方法,包括以下步骤:
1)输入包含人脸的单视图,检测出图中人脸所在位置。
在当前的图像处理技术中,有许多方法能够用于检测出人脸的位置,dlib是一种被广泛用于人脸检测的工具包,并且支持C++以及Python等语言。使用dlib提供的函数接口输入一张RGB图像,接口输出包含人脸位置信息的数组,数组中的一个元素就代表一个人脸的位置信息。输出dlib检测出的数组中的第一个元素,则可以得出该图像中人脸所在矩形的四个顶点位置。
采用dlib库检测人脸前需要下载其官方提供的人脸检测模型。由于一张图像中可能出现多个人物,dlib也因此可能检测出多张人脸,而图像中占面积最大的人脸通常是检测的人脸组中第一个元素,所以应该直接选取第一个人脸进行后续的处理。
2)根据检测出的位置裁剪出单视图上的人脸图像,转换为固定的大小后进行预处理。
根据步骤1)中所得人脸区域矩形的坐标,求出矩形的中心点,以矩形中心点为重心,选择更大的矩形边长作正方形,该正方形区域正是用于后续操作的人脸区域。之后根据正方形区域的坐标,裁剪正方形的人脸区域,采用仿射变换输出256*256*3的RGB图像。由于采用卷积神经网络的编码器和解码器要求数据分布在0~1之间最佳,因此将该图像所有的像素点值与256相除,将每个像素点的(r,g,b)值都规划到0~1之间,该图像将作为编码器的输入。
裁剪人脸使用的仿射变换在训练回归模型时也被应用,在对图像中的人脸做仿射变换从而裁剪人脸的过程中,实际包括了平移、缩放、剪切三个操作,这些信息都蕴含在一个变换矩阵R中。为了保持位置一致,需要对位置图中的位置信息做相同的处理,变换后的位置图m=Rm0,其中m0为变换前的位置图,m和m0都是基于笛卡尔坐标系的位置图。矩阵R有多种获取方式,opencv中便有相关的函数接口可以直接调用。
3)将预处理后的图像输入到编码器,编码器输出特征图。
将步骤2)中的图像输入编码器,编码器内部由多个卷积神经网络组合而成,其从256*256*3的图片中提取出8*8*512的特征图。编码器内部先采用内核大小为4,步长为1的卷积层输出维度为256*256*16的特征图,后面采用10个残差块串联,每个残差块输出的特征图都用作下一个残差块的输入,这些残差块输出的特征图维度依次为128*128*32、128*128*32、64*64*64、64*64*64、32*32*128、32*32*128、16*16*256、16*16*256、8*8*512、8*8*512。
残差块的数学结构可以表示为E(x)=W(F(x)+G(x)),上述的残差块都是以这种数学结构实现。其中x为输入的特征图,E(x)为残差块输出的特征图。其中F(x)的主体为三个卷积层的串联结构,前两个卷积层输出的特征图数为残差块输出特征数目的一半,第三个卷积层输出的特征图数则与残差块输出特征数目一致。第一个和第三个卷积层的内核大小以及步长都为1,第二个卷积层的内核和步长大小按需求设置,其值被视为整个残差块的内核以及步长值。并且前两个卷积层都在输出后紧接着使用了批标准化(BatchNormalization,BN)以及线性整流函数(Rectified Linear Unit,ReLU)作为激活函数,第三个卷积层则无。
对于G(x),在残差块的步长值为1时,G(x)=x,在残差块的步长值非1时,G(x)为一个内核大小为1的卷积层,并且其步长与残差块的步长保持一致。W(x)则是批标准化以及激活函数ReLU的串联结构。
在上述的卷积层中,所使用的padding模式都是“SAME”,并且整个编码器的残差块内核大小都设置为4,步长则为2和1交替,残差块需要设置的参数还有输出的特征图数目,特征图数目如上所述。
4)将提取的特征图输入到解码器,解码器输出球坐标表示的位置图。
经过上一个步骤,编码器输出了维度为8*8*512的特征图,之后的解码器则直接串联在编码器之后,并且将输入的特征图解码为256*256*3的位置图。构成解码器的是7个上采样块以及一个转置卷积层构成。该上采样块采用了和残差块相似的直连结构,其数学形式为D(x)=W(S(x)+T(x))。其中S(x)为三个转置卷积层构成,其中第一个和第三个转置卷积层的内核和步长值都为1,第二个转置卷积层的内核以及步长是待设定的,其值也被视为该上采样块的内核以及步长值。除此之外,第一个以及第二个转置卷积层后都紧接着批标准化以及激活函数ReLU,第三个转置卷积层则无。上述的三个转置卷积层,输出的特征图数目一致,都与上采样块输出的目标特征图数目一致,并且padding的模式都设置为“SAME”。
至于T(x),在上采样块的步长设置为1时,T(x)=x,当上采样块的步长非1时,T(x)的结构中含有一个卷积层,其输出的特征图数目以及步长都与上采样块输出的目标特征图数目以及步长一致。除此之外,该卷积层之后紧接着一个采用双线性插值的特征图缩放模块,其对每个特征图进行缩放,缩放后特征图的尺寸大小与上采样块设置的输出尺寸一致。
而上采样块中的W(x),其结构与残差中一致,是由批标准化以及ReLU激活函数串联而成的结构。
上述的7个上采样块在解码器中需要设置的参数有输出的特征图尺寸、输出的特征图数目、转置卷积内核大小以及步长。7个上采样块输出的特征图维度依次为8*8*512、16*16*256、32*32*128、64*64*64、128*128*32、256*256*16、256*256*3,而其步长依次设置为1、2、2、2、2、2、1。在该7个上采样块之后还串联转置卷积层,设置其输出的特征图数目为3,内核大小为4,步长为1,并且采用Sigmoid函数作为激活函数。
如上所述,输入维度256*256*3的RGB图像,编码器以及解码器就从中提取信息输出维度为256*256*3的球坐标位置图。
5)将球坐标表示的位置图转换为笛卡尔坐标位置图,根据转换后的位置图重建三维人脸。
在步骤4)中获得了256*256*3的位置图,每个像素点的三个颜色通道分别表示一个三维人脸上顶点在球坐标的位置(r,α,γ)。其中r作为球坐标的半径,在训练模型之时,与缩放倍数相除被规范化到0~1,因此在转换为笛卡尔坐标时需要与缩放倍数相乘以还原到之前的大小。缩放倍数此处取256,可以按照实际数据需求进行设置。其中α代表在笛卡尔坐标系中顶点和原点形成的直线与x轴正方向的夹角,γ则代表在笛卡尔坐标系中顶点和原点形成的直线与z轴正方向的夹角,它们都在训练模型时都被规范化到0~1,在转换为笛卡尔坐标之前需要等比例缩放到0~360。据此,得到的球坐标位置图可以转换为笛卡尔坐标系下的位置图,该位置图中每个像素的(r,g,b)值即代表三维人脸顶点在空间中的坐标(x,y,z),位置图的点集则代表了重建后的三维人脸模型,按照位置图中像素点的邻近关系,将位置图的点集输出为obj格式的文件即可。
另外,训练步骤3)和步骤4)使用的编码器和解码器,有三个需要解决的重点,具体如下:
a、球坐标位置图的建立方式。如图5展示了位置图表达三维人脸的方式。图中左上为一幅包含人脸的二维图像,其对应的三维人脸如图中右上所示,而左下则为三维人脸纹理在二维平面的展开,将该纹理对应的人脸区域中所有像素点的(r,g,b)值替换为对应顶点在三维空间中的坐标值(x,y,z),从而构建了图5中右下所示的位置图。而后只需要将位置图的像素值转换到球坐标系中,则基于球坐标位置图的像素点就蕴含了对应的球坐标值(r,α,γ)。
b、回归模型训练所使用的数据。在上文中提到的300W-LP数据集,其中每个二维人脸图像都有着一个对应的三维人脸模型,因此可以将三维人脸转换为对应的位置图用作训练。然而位置图的像素点与三维人脸模型中的顶点并非一一对应,具体体现为三维人脸模型中的所有顶点都可以映射到位置图中,然而位置图中的一些像素点却无法在三维人脸模型中找到对应的顶点。可在位置图中利用已经建立映射的像素点构成的三角形预测三角形内所包含的未映射的像素点值。具体为依据预测的像素点到三角形三个顶点的距离对三个顶点的像素值进行加权平均,距离越远的像素点其值所占权重越小。经上诉方法,便能够依据三维模型顶点空间坐标,建立映射完整的位置图,从而能够使用300W-LP数据集进行回归模型的训练。
c、训练回归模型的方法。训练模型,必不可少的就是选择合适的损失函数。具体的实施可以为位置图所有像素点的预测值与期望值之间的曼哈顿距离的加权和,其中权重如图6所示,位置图中各像素点的每个颜色通道的权重都与图6中各像素点的每个颜色通道值一致。实际上,损失函数还采用了L2正则化,其本质是将神经网络卷积层里的权重之和与因子相乘加在损失函数中,该因子设置为0.0001。整个训练过程中,都采用Adam优化器进行训练,训练的batch大小为16,共训练80个周期,学习率设置为0.0001。
解决上述的三个重要问题后,选用合适的设备训练便能得到三维人脸重建所需的回归模型,将该模型加载到编码器以及解码器中,执行图1的整个流程,便完成了基于球坐标位置图的单视图三维人脸重建。本发明运行设备需要拥有不低于8G内存的显卡。
以上所述实施只为本发明之较佳实施方式,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。
Claims (6)
1.一种基于球坐标位置图的单视图三维人脸重建方法,其特征在于,包括以下步骤:
1)输入包含人脸的单视图,检测出图中人脸所在位置;
2)根据检测出的位置裁剪出单视图上的人脸图像,转换为固定的大小后进行预处理;
3)将预处理后的图像输入到编码器,编码器输出特征图;
4)将提取的特征图输入到解码器,解码器输出球坐标表示的位置图;
5)将球坐标表示的位置图转换为笛卡尔坐标位置图,根据转换后的位置图重建三维人脸。
2.根据权利要求1所述的一种基于球坐标位置图的单视图三维人脸重建方法,其特征在于:在步骤1)中,采用工具包dlib检测图中人脸所在位置,利用dlib提供的函数接口输入一张RGB图像,接口输出包含人脸位置信息的数组,数组中的一个元素就代表一个人脸的位置信息,输出dlib检测出的数组中的第一个元素,则能够得出该图像中人脸所在矩形的四个顶点位置。
3.根据权利要求1所述的一种基于球坐标位置图的单视图三维人脸重建方法,其特征在于:在步骤2)中,根据步骤1)所得人脸区域矩形的坐标,求出矩形的中心点,以矩形中心点为重心,选择更大的矩形边长作正方形,该正方形区域正是用于后续操作的人脸区域,之后根据正方形区域的坐标,裁剪正方形的人脸区域,采用仿射变换输出256*256*3的RGB图像,由于采用卷积神经网络的编码器和解码器要求数据分布在0~1之间最佳,因此,将该图像所有的像素点值与256相除,将每个像素点的(r,g,b)值都规划到0~1之间,该图像将作为编码器的输入。
4.根据权利要求1所述的一种基于球坐标位置图的单视图三维人脸重建方法,其特征在于:在步骤3)中,将步骤2)预处理后的图像输入编码器,编码器内部由多个卷积神经网络组合而成,其从256*256*3的图片中提取出8*8*512的特征图;编码器内部先采用内核大小为4、步长为1的卷积层输出维度为256*256*16的特征图,后面采用10个残差块串联,每个残差块输出的特征图都用作下一个残差块的输入,这些残差块输出的特征图维度依次为128*128*32、128*128*32、64*64*64、64*64*64、32*32*128、32*32*128、16*16*256、16*16*256、8*8*512、8*8*512;
残差块的数学结构表示为E(x)=W(F(x)+G(x)),上述的残差块都是以这种数学结构实现;其中x为输入的特征图,E(x)为残差块输出的特征图,F(x)的主体为三个卷积层的串联结构,前两个卷积层输出的特征图数为残差块输出特征数目的一半,第三个卷积层输出的特征图数则与残差块输出特征数目一致,第一个和第三个卷积层的内核大小以及步长都为1,第二个卷积层的内核和步长大小按需求设置,其值被视为整个残差块的内核以及步长值,并且前两个卷积层都在输出后紧接着使用批标准化BN以及线性整流函数作为激活函数,即激活函数ReLU,第三个卷积层则无;
对于G(x),在残差块的步长值为1时,G(x)=x,在残差块的步长值非1时,G(x)为一个内核大小为1的卷积层,并且其步长与残差块的步长保持一致,W(x)则是批标准化以及激活函数ReLU的串联结构;
在上述的卷积层中,所使用的padding模式都是“SAME”,并且整个编码器的残差块内核大小都设置为4,步长则为2和1交替,残差块需要设置的参数还有输出的特征图数目。
5.根据权利要求1所述的一种基于球坐标位置图的单视图三维人脸重建方法,其特征在于:在步骤4)中,经过上一个步骤,编码器输出了维度为8*8*512的特征图,之后的解码器则直接串联在编码器之后,并且将输入的特征图解码为256*256*3的位置图,构成解码器的是7个上采样块以及一个转置卷积层构成,该上采样块采用和残差块相似的直连结构,其数学形式为D(x)=W(S(x)+T(x)),其中S(x)为三个转置卷积层构成,第一个和第三个转置卷积层的内核和步长值都为1,第二个转置卷积层的内核以及步长是待设定的,其值也被视为该上采样块的内核以及步长值,除此之外,第一个以及第二个转置卷积层后都紧接着批标准化以及激活函数ReLU,第三个转置卷积层则无。上述的三个转置卷积层,输出的特征图数目一致,都与上采样块输出的目标特征图数目一致,并且padding的模式都设置为“SAME”。
至于T(x),在上采样块的步长设置为1时,T(x)=x,当上采样块的步长非1时,T(x)的结构中含有一个卷积层,其输出的特征图数目以及步长都与上采样块输出的目标特征图数目以及步长一致,除此之外,该卷积层之后紧接着一个采用双线性插值的特征图缩放模块,其对每个特征图进行缩放,缩放后特征图的尺寸大小与上采样块设置的输出尺寸一致;
而上采样块中的W(x),其结构与残差中一致,是由批标准化以及ReLU激活函数串联而成的结构;
上述的7个上采样块在解码器中需要设置的参数有输出的特征图尺寸、输出的特征图数目、转置卷积内核大小以及步长;7个上采样块输出的特征图维度依次为8*8*512、16*16*256、32*32*128、64*64*64、128*128*32、256*256*16、256*256*3,而其步长依次设置为1、2、2、2、2、2、1;在该7个上采样块之后还串联转置卷积层,设置其输出的特征图数目为3,内核大小为4,步长为1,并且采用Sigmoid函数作为激活函数;
因此,输入维度256*256*3的RGB图像,编码器以及解码器就从中提取信息输出维度为256*256*3的球坐标位置图。
6.根据权利要求1所述的一种基于球坐标位置图的单视图三维人脸重建方法,其特征在于:在步骤5)中,经步骤4)获得了256*256*3的位置图,每个像素点的三个颜色通道分别表示一个三维人脸上顶点在球坐标的位置(r,α,γ);其中r作为球坐标的半径,在训练模型之时,与缩放倍数相除被规范化到0~1,因此在转换为笛卡尔坐标时需要与缩放倍数相乘以还原到之前的大小,缩放倍数此处取256,能够按照实际数据需求进行设置;其中α代表在笛卡尔坐标系中顶点和原点形成的直线与x轴正方向的夹角,γ则代表在笛卡尔坐标系中顶点和原点形成的直线与z轴正方向的夹角,它们都在训练模型时都被规范化到0~1,在转换为笛卡尔坐标之前需要等比例缩放到0~360;据此,得到的球坐标位置图能够转换为笛卡尔坐标系下的位置图,该位置图中每个像素的(r,g,b)值即代表三维人脸顶点在空间中的坐标(x,y,z),位置图的点集则代表了重建后的三维人脸模型,按照位置图中像素点的邻近关系,将位置图的点集输出为obj格式的文件即可。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010114817.7A CN111292415B (zh) | 2020-02-25 | 2020-02-25 | 一种基于球坐标位置图的单视图三维人脸重建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010114817.7A CN111292415B (zh) | 2020-02-25 | 2020-02-25 | 一种基于球坐标位置图的单视图三维人脸重建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111292415A true CN111292415A (zh) | 2020-06-16 |
CN111292415B CN111292415B (zh) | 2022-03-29 |
Family
ID=71030057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010114817.7A Active CN111292415B (zh) | 2020-02-25 | 2020-02-25 | 一种基于球坐标位置图的单视图三维人脸重建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111292415B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113076918A (zh) * | 2021-04-15 | 2021-07-06 | 河北工业大学 | 基于视频的人脸表情克隆方法 |
CN113288156A (zh) * | 2021-05-18 | 2021-08-24 | 浙江大学 | 一种任意导联视角的心电数据的生成方法 |
CN113554745A (zh) * | 2021-07-15 | 2021-10-26 | 电子科技大学 | 一种基于图像的三维人脸重建方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104183013A (zh) * | 2014-06-26 | 2014-12-03 | 宋和平 | 一种超声探头和眼部二维超声图像的三维重建方法及系统 |
CN105120419A (zh) * | 2015-08-27 | 2015-12-02 | 武汉大学 | 一种多声道系统效果增强方法及系统 |
US20170316598A1 (en) * | 2015-05-22 | 2017-11-02 | Tencent Technology (Shenzhen) Company Limited | 3d human face reconstruction method, apparatus and server |
CN107729806A (zh) * | 2017-09-05 | 2018-02-23 | 西安理工大学 | 基于三维人脸重建的单视图多姿态人脸识别方法 |
US20180144212A1 (en) * | 2015-05-29 | 2018-05-24 | Thomson Licensing | Method and device for generating an image representative of a cluster of images |
CN108805977A (zh) * | 2018-06-06 | 2018-11-13 | 浙江大学 | 一种基于端到端卷积神经网络的人脸三维重建方法 |
CN110348330A (zh) * | 2019-06-24 | 2019-10-18 | 电子科技大学 | 基于vae-acgan的人脸姿态虚拟视图生成方法 |
CN110728219A (zh) * | 2019-09-29 | 2020-01-24 | 天津大学 | 基于多列多尺度图卷积神经网络的3d人脸生成方法 |
-
2020
- 2020-02-25 CN CN202010114817.7A patent/CN111292415B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104183013A (zh) * | 2014-06-26 | 2014-12-03 | 宋和平 | 一种超声探头和眼部二维超声图像的三维重建方法及系统 |
US20170316598A1 (en) * | 2015-05-22 | 2017-11-02 | Tencent Technology (Shenzhen) Company Limited | 3d human face reconstruction method, apparatus and server |
US20180144212A1 (en) * | 2015-05-29 | 2018-05-24 | Thomson Licensing | Method and device for generating an image representative of a cluster of images |
CN105120419A (zh) * | 2015-08-27 | 2015-12-02 | 武汉大学 | 一种多声道系统效果增强方法及系统 |
CN107729806A (zh) * | 2017-09-05 | 2018-02-23 | 西安理工大学 | 基于三维人脸重建的单视图多姿态人脸识别方法 |
CN108805977A (zh) * | 2018-06-06 | 2018-11-13 | 浙江大学 | 一种基于端到端卷积神经网络的人脸三维重建方法 |
CN110348330A (zh) * | 2019-06-24 | 2019-10-18 | 电子科技大学 | 基于vae-acgan的人脸姿态虚拟视图生成方法 |
CN110728219A (zh) * | 2019-09-29 | 2020-01-24 | 天津大学 | 基于多列多尺度图卷积神经网络的3d人脸生成方法 |
Non-Patent Citations (2)
Title |
---|
CHAO YE等: "Shortcut-Upsampling Block for 3D Face Reconstruction and Dense Alignment via Position Map", 《IEEE ACCESS》 * |
陈东明编: "《Python编程及其在网络科学中的应用》", 30 November 2018 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113076918A (zh) * | 2021-04-15 | 2021-07-06 | 河北工业大学 | 基于视频的人脸表情克隆方法 |
CN113288156A (zh) * | 2021-05-18 | 2021-08-24 | 浙江大学 | 一种任意导联视角的心电数据的生成方法 |
CN113288156B (zh) * | 2021-05-18 | 2022-02-11 | 浙江大学 | 一种任意导联视角的心电数据的生成方法 |
CN113554745A (zh) * | 2021-07-15 | 2021-10-26 | 电子科技大学 | 一种基于图像的三维人脸重建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111292415B (zh) | 2022-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111292415B (zh) | 一种基于球坐标位置图的单视图三维人脸重建方法 | |
US10395411B2 (en) | Skinned multi-person linear model | |
CN111368662B (zh) | 一种人脸图像属性编辑方法、装置、存储介质及设备 | |
CN110348330B (zh) | 基于vae-acgan的人脸姿态虚拟视图生成方法 | |
CN110796111B (zh) | 图像处理方法、装置、设备及存储介质 | |
CN111627019A (zh) | 一种基于卷积神经网络的肝脏肿瘤分割方法及系统 | |
CN112132739B (zh) | 3d重建以及人脸姿态归一化方法、装置、存储介质及设备 | |
Soferman et al. | Advanced graphics behind medical virtual reality: evolution of algorithms, hardware, and software interfaces | |
CN113112583B (zh) | 基于红外热成像的3d人体重构方法 | |
CN110020600A (zh) | 生成用于训练人脸对齐模型的数据集的方法 | |
CN113421328A (zh) | 一种三维人体虚拟化重建方法及装置 | |
CN117496072B (zh) | 一种三维数字人生成和交互方法及系统 | |
US20080129738A1 (en) | Method and apparatus for rendering efficient real-time wrinkled skin in character animation | |
CN111462274A (zh) | 一种基于smpl模型的人体图像合成方法及系统 | |
CN114648724A (zh) | 一种基于生成对抗网络的轻量化高效目标分割与计数方法 | |
CN116778063A (zh) | 一种基于特征纹理网格和哈希编码的快速虚拟视点合成方法及装置 | |
CN113361378B (zh) | 一种运用适应性数据增强的人体姿态估计方法 | |
CN117218300B (zh) | 三维模型的构建方法、三维构建模型的训练方法及装置 | |
CN117333604A (zh) | 一种基于语义感知神经辐射场的人物面部重演方法 | |
CN116385667A (zh) | 三维模型的重建方法、纹理重构模型的训练方法以及装置 | |
CN112184912A (zh) | 一种基于参数化模型和位置图的多度量三维人脸重建方法 | |
CN114783039B (zh) | 一种3d人体模型驱动的运动迁移方法 | |
WO2023284275A1 (en) | Real-time volumetric rendering | |
CN113076918B (zh) | 基于视频的人脸表情克隆方法 | |
CN110349268B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |