专利名称:一种三维人脸重建方法
技术领域:
本发明涉及图形图像处理与计算机视觉领域,特别是基于图像的三维人脸重建方法。
背景技术:
基于图像的三维人脸重建是指从二维人脸图像出发,在计算机中建立个性化的三 维人脸模型,它是计算机图形学、计算机视觉等领域的研究热点和难点,吸引了大量的科研 人员对其进行了深入的研究,另外,它还具有广阔的应用前景,主要包括三维游戏、影视制 作、人机交互界面、远程呈现、生物特征识别、医疗、教育等。根据输入数据的形式不同,基于 图像的三维人脸重建方法可分为基于单张图像、基于两张图像、基于多张图像、基于视频的 人脸重建,在使用时选用哪种方式主要由应用场合的要求和可获得的图像数量决定。其中, 基于单张图像的三维人脸重建由于所需数据少、人机接口简单等特点,更宜于应用在商业 产品中,如三维游戏中的个性化置入,通过采集玩家的单张人脸图像,重建其三维人脸模型 并置入到游戏角色上,可以增强玩家的沉浸感。 目前从单张人脸图像重建三维人脸的方法,使用最多的有两大类。 一类是基于标 准模型变形的方法,即从图像中提取人脸的个性化信息(多为关键点信息),根据这些个性 化信息将一个标准人脸模型变形为个性化的人脸模型。在模型变形时没有人脸的先验知 识,因而这种方法的真实感不强,容易导致非人脸的产生。第二类方法是基于人脸形变模型 的方法,即从真实扫描的人脸模型建立人脸形变模型,通过拟合输入图像,得到人脸的形状 与纹理。这种方法可以得到具有真实感的重建结果,缺点是计算量很大,而且无法完全自动 化。
发明内容
为了解决目前基于单张图像的三维人脸重建中存在的问题,本发明给出了一种基 于关键点和人脸形变模型的三维人脸重建方法,从单张正面人脸图像,可以基本自动、鲁 棒、快速地重建具有真实感的三维人脸模型。 为达成所述目的,本发明第一方面,提出一种三维人脸重建方法,该方法包括如下 步骤 步骤1 :利用三维扫描仪采集真实的三维人脸模型并进行规整化处理,得到规整 化人脸模型,对规整化人脸模型的形状和纹理分别进行主成分分析,得到包括形状分量和 纹理分量两部分的人脸形变模型; 步骤2 :利用Adaboost自动检测输入图像中的人脸,得到人脸在图像中的位置; 步骤3 :利用主动外观模型在输入图像中自动定位人脸上的关键点; 步骤4:根据人脸上的关键点和人脸形变模型的形状分量,恢复人脸的形状参数
和姿态参数,从而得到三维人脸模型的几何形状,即重建的三维人脸模型; 步骤5 :由重建的三维人 模型、输入图像和人脸姿态生成形状无关纹理;
步骤6 :以形状无关纹理为目标图像,利用人脸形变模型的纹理分量进行人脸纹 理拟合,得到完整的人脸纹理; 步骤7 :将完整的人脸纹理映射到重建的三维人脸模型上,得到最终的三维人脸
重建结果。 为达成所述目的,本发明第二方面,提出一种三维人脸重建方法,该方法包括如下 步骤 步骤la :利用三维扫描仪采集真实的三维人脸模型并进行规整化处理,得到规整 化人脸模型,对规整化人脸模型的形状和纹理分别进行主成分分析,得到人脸形变模型,包 括形状分量和纹理分量两部分; 步骤2b :利用Adaboost自动检测输入图像中的人脸,得到人脸在图像中的位置; 步骤3c :利用主动外观模型在输入图像中自动定位人脸上的关键点; 步骤4d:根据人脸上的关键点和人脸形变模型的形状分量,恢复人脸的形状参数
和姿态参数,从而得到三维人脸模型的几何形状,即重建的三维人脸模型; 步骤5e :将重建的三维人脸模型上的顶点进行弱透视投影,以弱透视投影坐标作
为其纹理坐标,以输入图像为纹理,对重建的三维人脸模型进行纹理映射,得到最终的重建结果。 本发明技术方案二与技术方案一相比,不同之处在于在得到三维人脸的几何形 状之后,不进行人脸纹理拟合,而是以输入图像作为纹理图像。 本发明与传统的基于形变模型的方法的不同之处在于,传统的基于人脸形变模 型的方法以输入图像为拟合的目标图像,同时恢复人脸的姿态参数、形状参数、光照参数 等,这使得重建过程需要很长的时间才能收敛;本发明利用人脸上的关键点恢复人脸姿态 参数和形状参数,技术方案一通过拟合形状无关纹理得到完整的人脸纹理,技术方案二使 用输入图像作为纹理。本发明使得人脸的几何重建速度大大縮短,在实验所用的计算机 (Pentium42. 8G CPU,512M内存)上,获得三维人脸的几何形状的时间在2秒钟之内。
本发明的技术方案一与技术方案二具有不同的特点,适合于不同的应用场合。技 术方案一通过拟合形状无关纹理,得到完整的人脸纹理,更适合于影视制作、三维人脸识别 等应用。技术方案二不包括人脸纹理拟合的步骤,直接使用输入图像作为纹理,由于输入图 像中缺少人脸侧面的纹理,该方案的重建结果在耳朵附近有轻微的纹理拉伸,但该方案的 重建速度很快,再加上其自动、鲁棒的特点,使得技术方案二非常适合应用在三维游戏中。
本发明的优点是 1.基本可以实现自动重建。大部分情况下,主动外观模型可以得到足够准确的关 键点,对于少数特殊脸型,主动外观模型定位的关键点不够准确,只需对关键点做少量的手 工调整。 2.重建过程鲁棒,真实感强。 3.重建速度快,对于Pentium4 2. 8G的计算机,利用技术方案二,重建可在2秒 钟内完成;利用技术方案一,重建可在3分钟内完成,相当于现有的基于形变模型的方法的 1/3 1/2。 4.本发明中的模型规整化方法与现有的方法相比有以下优点 (1)可以方便地控制规整化人脸模型的不同区域的顶点密度,只需调整平面规则网格上的关键点的位置即可; (2)可以方便地调整规整化人脸模型的分辨率,只需调整平面规则网格的大小即 可; (3)从平面规则网格变形到待规整化人脸模型的过程,可以看作是该人脸模型平 面参数化的逆过程,利用这一点可以方便地把重建的三维人脸模型展成平面。
图1为本发明的技术方案一的流程图。 图2为本发明的技术方案二的流程图。 图3(a)-图(e)为本发明的人脸模型规整化过程示意图,其中 图3 (a)平面规则网格及关键点; 图3 (b)待规整化的模型及关键点; 图3 (c) RBF变形后的模型; 图3 (d)法向量投影后的模型; 图3(e)提取的人脸纹理。 图4(a)-图4(d)为本发明的人脸拟合过程示意图,其中 图4(a)形状无关纹理; 图4 (b)收敛后的合成纹理图像; 图4(c)纹理融合的模板图像; 图4(d)融合后的纹理图像。 图5为本发明实施例一的人脸重建结果。 图6为本发明实施例二的人脸重建结果。
具体实施例方式
下面将结合附图对本发明加以详细说明,应指出的是,所描述的实施例仅旨在便 于对本发明的理解,而对其不起任何限定作用。本发明通过如下两个实施例进行说明
实施例一,参照图1,离线建立人脸形变模型,输入单张正面人脸图像,经过人脸检 测、人脸关键点定位、人脸几何重建、人脸纹理拟合等步骤得到重建结果,具体实施过程如 下 1.人脸形变模型的建立 利用三维扫描仪采集真实的三维人脸模型并进行规整化处理,对规整化人脸模型 的形状和纹理分别进行主成分分析,得到人脸形变模型,包括形状分量和纹理分量;则重建 的三维人脸模型的形状和纹理可以分别表达为 <formula>formula see original document page 7</formula>
其中,S和T分别为新的三维人脸模型的形状和纹理,S。为人脸形变模型的平均 形状,T。为人脸形变模型的平均纹理,Sk(l《k《M)为人脸形变模型的第k个形状分量, Tk(l《k《M)为人脸形变模型的第k个纹理分量,cik为重建人脸模型的第k个形状参数, P k为重建人脸模型的第k个纹理参数,M为人脸形变模型的个数,k为1到M之间的整数。
本步骤是离线完成的,即人脸形变模型的建立并非每次人脸重建都要进行,而是
只需进行一次,即可供以后使用。 参照图3,人脸模型规整化的过程为 步骤11 :定义一个平面规则网格,如图3(a)所示,并在该平面规则网格和待规整 化的人脸模型上分别标注若干对应的关键点,如图3(b)所示; 步骤12 :基于对应的关键点,利用径向基函数(radius basisfunction,RBF)将平
面规则网格变形为待规整化的模型,得到一个粗略的人脸模型,如图3(c)所示; 步骤13 :从图3(c)所示的粗略的人脸模型上的每一顶点出发作法向量投影,得到
该顶点的新坐标,从而得到规整化的人脸模型;计算法向量与待规整化的模型的交点,以交
点作为该顶点的新位置,从而得到与待规整化的人脸模型形状相同的规整化人脸模型,如
图3(d)所示; 步骤14 :由待规整化人脸模型上的顶点颜色插值得到规整化人脸模型上的顶点
颜色,并将该颜色值赋给平面规则网格上对应的顶点,得到规整化人脸模型的纹理图像,如 图3(e)所示;
2.人脸检测 人脸检测的目的是自动检测输入图像中的人脸位置,本发明利用Adaboost进行
人脸自动检测。Adaboost是一种常用的统计学习算法,已经成功地应用于人脸检测和人脸
分类。Adaboost为每个训练样本设置一个权值,并迭代地修改样本的权值,将被正确分类的
样本的权值适当降低,而将被错误分类的样本的权值适当提高,这样就可以将重点放在较
难分类的样本上。 3.人脸关键点定位。 本发明利用主动外观模型自动定位出人脸上的关键点,主动外观模型是近几年出 现的一种人脸关键点定位算法,具有准确、快速的特点,对640X480的人脸图像,主动外观 模型方法可在20ms内完成关键点定位。
4.人脸几何重建,即获得三维人脸的几何形状。 步骤41 :在人脸形变模型上标注与图像上的人脸关键点相对应的三维关键点,本 步骤离线完成; 步骤42 :利用弱透视投影对三维关键点进行变换,得到三维关键点的投影;投影
公式为Pn= f(R^Ry'RzXn+t),其中Xn为三维关键点的坐标,Pn是Xn的投影坐标,iyy^
分别为人脸形变模型绕XYZ轴的旋转矩阵,t为平移向量,f为縮放系数。
步骤43 :利用弱透视投影建立三维关键点与图像上的人脸关键点之间的关系,根
据三维关键点的投影与二维关键点之间的比例关系对人脸的形状参数和姿态参数进行初始化。 步骤44 :将代价函数E设置为所有三维关键点的投影与图像上的人脸关键点之间 的偏差,将代价函数E最小化,得到人脸的形状参数和姿态参数;E的定义为五=《+ £w = ^ J] C -尸"||2 + ;; . Z ^ 。 其中,为关键点偏差项,EN为正态约束项,n为正态约束项的权重,n和m为正 整数,l《n《N,1《m《M,其中N为人脸关键点的个数,M为人脸形变模型的个数,c^为
8第m个人脸形变模型的形状参数,o m2为建立人脸形变模型时第m个特征向量对应的特征值,Qn为图像上第n个关键点的坐标,Pn为模型上第n个关键点的投影坐标,Cn为第n个关键点的偏差的权值,4为图像中人的双眼之间的距离,En的作用是防止模型分量的系数偏离其均值过大,以避免产生非人脸。 步骤45 :利用形状参数将人脸形变模型的形状分量加权,得到重建的人脸模型的几何形状,即重建的人脸模型。 5.由重建的人脸模型和输入图像生成形状无关纹理SFT。其步骤如下
步骤51 :将重建的人脸模型展成平面,得到一个平面人脸网格; 步骤52 :根据人脸姿态参数,求重建的人脸模型的顶点的投影坐标,以投影坐标作为该顶点的纹理坐标; 步骤53 :以输入图像为纹理图像,利用纹理坐标将纹理图像映射到平面人脸网格上,渲染步骤51得到的平面人脸网格,得到形状无关纹理SFT,如图4(a)所示。
6.人脸纹理拟合。 输入图像中缺少人脸侧面的纹理,所以给出人脸纹理拟合的方法,以得到完整的人脸纹理,思想是以形状无关纹理为目标图像,以人脸形变模型的纹理分量合成人脸纹理S。步骤如下 步骤61 :计算人脸纹理的有效区域,在纹理图像上,如果一个像素所对应的顶点在图像上的投影坐标位于人脸轮廓之内,并且该顶点在投影角度下是可见的,则相应的像素就位于人脸纹理的有效区域内; 步骤62:计算每个像素处的位置确定度p,将位置确定度作为代价函数中该像素处的权重,位置确定度定义为投影方向与顶点的法向量之间夹角的余弦;
步骤63 :为重建的三维人脸模型加入两个光照,分别位于三维人脸模型的左前方和右前方各45度,光照的位置固定,强度可变; 步骤64 :以形状无关纹理为拟合的目标图像,以人脸形变模型的纹理分量合成人脸纹理;将代价函数设置为合成的纹理图像与目标图像之间的偏差,代价函数在纹理的有效区域内进行计算;在计算代价函数之前,对合成的纹理图像的灰度级进行线性变换H(x)=ax+b,其中x是合成的人脸纹理的灰度级,a和b是对其进行线性变换的系数,H(x)是对x进行变换之后的灰度级; 步骤65 :将代价函数E;设置为合成的人脸纹理图像与目标图像之间的偏差,艮卩 & =ZI>("')'(//(&("))-wr(/,y))2 式中SFT为形状无关纹理、S;为以人脸形变模型的纹理分量合成人脸纹理图像、P为每个像素处的位置确定度、H为对合成的纹理图像的灰度级进行线性变换、l为需要迭代的多个参数组成的向量,包括光照参数和纹理参数,i和j分别为形状无关纹理图像的行和列的索引。 利用梯度下降法将代价函数E;最小化得到合成的纹理图像,如图4(b)所示;
步骤66 :设计一个纹理融合的模板图像I,如图4(c)所示,将合成的人脸纹理图像S与形状无关纹理SFT进行融合,取出形状无关纹理的中心区域补充到合成的纹理图像上,以补充人脸的细节,得到融合后的纹理R,R二 I SFT+(1-I) S,如图4(d)所示。
7.以融合后的纹理R作为纹理图像,纹理映射后得到最终的重建结果。 图5给出了实施例一得到的人脸重建结果,左图为输入图像,右面两图为人脸重
建的结果。 实施例二,参照图2,形变模型的建立、人脸检测、关键点定位和人脸几何重建等步骤与实施例一相同,在得到三维人脸的几何形状之后,不进行人脸纹理拟合,而是使用输入图像作为纹理。本实施例的实施步骤如下 步骤1.利用三维扫描仪采集真实的三维人脸模型并进行规整化处理,对规整化人脸模型的形状和纹理分别进行主成分分析,得到人脸形变模型,包括形状分量和纹理分量两部分; 步骤2.利用Adaboost自动检测输入图像中的人脸位置; 步骤3.利用主动外观模型在输入图像中自动定位人脸上的关键点; 步骤4.根据人脸关键点和形变模型的形状分量,恢复人脸的形状参数和姿态参
数,从而得到三维人脸的几何形状,即重建的人脸模型; 步骤5.利用重建的人脸模型的顶点的弱透视投影坐标作为其纹理坐标,以输入
图像为纹理,进行纹理映射得到最终的重建结果。投影公式为Pn = f (Rz Ry Rx Xn+t),
其中Xn为三维关键点的坐标,Pn是Xn的投影坐标,RxRyRz分别为人脸形变模型绕XYZ轴的
旋转矩阵,t为平移向量,f为縮放系数。纹理映射后得到最终的重建结果。 图6给出了实施例二得到的人脸重建结果,左图为输入图像,右面两图为人脸重
建的结果。 上面的描述是用于实现本发明及其实施例,因此,本发明的范围不应由该描述来限定。本领域的技术人员应该理解,在不脱离本发明的范围的任何修改或局部替换,均属于本发明权利要求来限定的范围。
权利要求
一种三维人脸重建方法,其特征在于,包括如下步骤步骤1利用三维扫描仪采集真实的三维人脸模型并进行规整化处理,得到规整化人脸模型,对规整化人脸模型的形状和纹理分别进行主成分分析,得到包括形状分量和纹理分量两部分的人脸形变模型;步骤2利用Adaboost自动检测输入图像中的人脸,得到人脸在图像中的位置;步骤3利用主动外观模型在输入图像中自动定位人脸上的关键点;步骤4根据人脸上的关键点和人脸形变模型的形状分量,恢复人脸的形状参数和姿态参数,从而得到三维人脸模型的几何形状,即重建的三维人脸模型;步骤5由重建的三维人脸模型、输入图像和人脸姿态生成形状无关纹理;步骤6以形状无关纹理为目标图像,利用人脸形变模型的纹理分量进行人脸纹理拟合,得到完整的人脸纹理;步骤7将完整的人脸纹理映射到重建的三维人脸模型上,得到最终的三维人脸重建结果。
2. 根据权利要求1所述的三维人脸重建方法,其特征在于,还包括,人脸模型规整化的 步骤如下步骤11 :定义一个平面规则网格,并在该平面规则网格和待规整化的人脸模型上标注 若干对应的关键点;步骤12 :基于对应的关键点,利用径向基函数将平面规则网格变形到待规整化的人脸 模型,得到一个粗略的人脸模型;步骤13 :从粗略的人脸模型上的每一个顶点作法向量投影,得到该顶点的新坐标,从 而得到规整化的人脸模型;步骤14 :由待规整化的人脸模型上的顶点颜色插值得到规整化人脸模型上的顶点颜 色,并将该颜色值赋给平面规则网格上对应的顶点,得到规整化人脸模型的纹理图像。
3. 根据权利要求1所述的三维人脸重建方法,其特征在于,还包括,得到三维人脸的几 何形状的步骤如下步骤41 :在人脸形变模型上标注与图像上的人脸关键点相对应的三维关键点; 步骤42 :利用弱透视投影对三维关键点进行变换,得到三维关键点的投影; 步骤43 :对人脸的形状参数和姿态参数进行初始化;步骤44:将代价函数设置为所有三维关键点的投影与图像上的人脸关键点之间的偏 差,将该代价函数最小化,得到人脸的形状参数和姿态参数;步骤45 :利用形状参数将人脸形变模型的形状分量加权,得到重建人脸的几何形状。
4. 根据权利要求1所述的三维人脸重建方法,其特征在于,还包括,形状无关纹理的生 成步骤如下步骤51 :将重建的人脸模型展成平面,得到一个平面人脸网格;步骤52 :根据人脸姿态参数,求重建的人脸模型的顶点的投影坐标,以投影坐标作为 该顶点的纹理坐标;步骤53 :以输入图像为纹理图像,利用纹理坐标将纹理图像映射到平面人脸网格上, 渲染该平面人脸网格得到形状无关纹理。
5. 根据权利要求1所述的三维人脸重建方法,其特征在于,还包括,人脸纹理拟合的步骤如下步骤61 :计算人脸纹理图像的有效区域;步骤62 :计算每个像素处的位置确定度,将位置确定度作为代价函数在该像素处的权重;步骤63 :为重建的三维人脸模型加上两个光照,分别位于三维人脸模型的左前方和右前方各45度,光照的位置固定,强度可变;步骤64 :以形状无关纹理为拟合的目标图像,以人脸形变模型的纹理分量合成人脸纹 理;将代价函数设置为合成的纹理图像与目标图像之间的偏差,代价函数在纹理的有效区 域内进行计算;步骤65 :在计算代价函数之前,对合成的人脸纹理的灰度级进行线性变换;利用梯度 下降法将代价函数最小化得到合成的纹理图像;步骤66 :设计一个模板图像将合成的纹理图像与形状无关纹理进行融合,取出形状无关纹理的中心区域补充到合成的纹理图像上,以补充人脸的细节。
6. —种三维人脸重建方法,其特征在于,包括如下步骤步骤la :利用三维扫描仪采集真实的三维人脸模型并进行规整化处理,得到规整化人脸模型,对规整化人脸模型的形状和纹理分别进行主成分分析,得到人脸形变模型,包括形状分量和纹理分量两部分;步骤2b :利用Adaboost自动检测输入图像中的人脸,得到人脸在图像中的位置; 步骤3c :利用主动外观模型在输入图像中自动定位人脸上的关键点;步骤4d :根据人脸上的关键点和人脸形变模型的形状分量,恢复人脸的形状参数和姿 态参数,从而得到三维人脸模型的几何形状,即重建的三维人脸模型;步骤5e :将重建的三维人脸模型上的顶点进行弱透视投影,以弱透视投影坐标作为其 纹理坐标,以输入图像为纹理,对重建的三维人脸模型进行纹理映射,得到最终的重建结 果。
7. 根据权利要求6所述的三维人脸重建方法,其特征在于,还包括,人脸模型规整化的 步骤如下步骤11a :定义一个平面规则网格,并在该平面规则网格和待规整化的人脸模型上标 注若干对应的关键点;步骤12a :基于对应的关键点,利用径向基函数将平面规则网格变形到待规整化的人 脸模型,得到一个粗略的人脸模型;步骤13a :从粗略的人脸模型上的每一个顶点作法向量投影,得到该顶点的新坐标,从 而得到规整化的人脸模型;步骤14a :由待规整化的人脸模型上的顶点颜色插值得到规整化人脸模型上的顶点颜 色,并将该颜色值赋给平面规则网格上对应的顶点,得到规整化人脸模型的纹理图像。
8. 根据权利要求6所述的三维人脸重建方法,其特征在于,还包括,得到三维人脸的几 何形状的步骤如下步骤41d :在人脸形变模型上标注与图像上的人脸关键点相对应的三维关键点; 步骤42d :利用弱透视投影对三维关键点进行变换,得到三维关键点的投影; 步骤43d :对人脸的形状参数和姿态参数进行初始化;步骤44d :将代价函数设置为所有三维关键点的投影与图像上的人脸关键点之间的偏 差,将该代价函数最小化,得到人脸的形状参数和姿态参数;步骤45d :利用形状参数将人脸形变模型的形状分量加权,得到重建人脸的几何形状。
全文摘要
本发明为一种三维人脸重建方法,从单张正面人脸图像自动重建三维人脸模型,提出两种方案,第一种离线生成人脸形变模型;利用Adaboost自动检测输入图像中的人脸位置;利用主动外观模型在输入图像中自动定位人脸上的关键点;基于人脸形变模型的形状分量和图像上的人脸关键点重建三维人脸的几何形状;以形状无关纹理作为目标图像,利用人脸形变模型的纹理分量进行人脸纹理拟合,得到完整的人脸纹理;纹理映射后得到重建结果。第二种与第一种不同之处在于在重建三维人脸的几何形状之后,不进行人脸纹理拟合,而是直接以输入图像作为纹理图像,得到重建结果。本发明的方案一适合应用在影视制作、三维人脸识别等领域,方案二重建速度快。
文档编号G06T17/00GK101751689SQ20091009376
公开日2010年6月23日 申请日期2009年9月28日 优先权日2009年9月28日
发明者丁宾, 姚健, 杜志军, 杨明浩, 王阳生 申请人:中国科学院自动化研究所;北京盛开互动科技有限公司