基于二维图像的三维人脸建模技术研究
(3)趋势面拟合法 趋势面拟合法是一种被广泛使用的整体插值算法,它能够使用有限个观测数据值对曲面进行拟合,从而完成对曲面的内插,以达到最佳插值效果。其基本原理是现象特征的变化趋向利用函数代表的曲面来拟合。描绘长距离渐变特征的最容易的方法是多项式回归分析。多项式回归分析的基本原理是根据数据是一维还是二维选择线或面的多项式,然后利用多项式表示的线或面按最小二乘法原理拟合数据点
[52]
。对于二维空间的拟合,如果数据点的空间坐标x和y为独立变量,而表示特征值的
Z坐标为因变量,则其二元回归函数如公式(4-4),(4-5)所示。
以上两个公式分别为一次多项式回归和二次多项式回归。,式的系数,当n个采样点的方差达到最小时,即
?,分别为多项 时,就可以认为回
归多项式与被拟合对象达到最优拟合状态。据此能够计算出多项式的各项系数。
回归函数的次数通常为2或3就行了,并不是越高越好。次数较高的多项式能够很好对观测点进行逼近拟合,但同时会加大计算量,提高计算的难度。并且会减弱插值的效果,使部分点脱离出整体趋势,不能真实反映出客观趋势规律。趋势面拟合方法不仅能够实现整体空间的孤立点内插,而且还能够将区域中在趋势规律之外的偏离部分展现出来。
(4)样条函数插值法 样条函数插值算法具有的稳定和光滑的特性,使它成为在已知点之间完成插值的一种有效方法。样条函数的基本原理是己知数据点的逼近是通过分段多项式来实现,而且又能确保在各段连接的地方具有一定的平滑性[53]。
样条函数适用于表面光滑的物体对象,而且要求样条函数必须有连续的一阶导数和二阶导数;样条函数的优点是二次样条函数和三次样条函数都可以得到了令人满意的插值效果,该插值方法尤其适合大量密集点内插等值线。样条函数的不足是无法对误差大小进行精确的估计,而且当点的分布比较稀疏时,不能达到令人满意的效果。而且在实际应用中要处理的问题是样条块是怎样定义以及如何在三维空间中使用这些样条块拼接成结构复杂的曲面,而且在构造曲面的同时又为会导致异常现象的产生。
其他的空间插值方法还有很多,比如:移动平均法,自然邻点插值法,线性插值三角网法和径向基函数插值法等。由于径向基函数插值方法具有几乎可以逼近所有函数的优点,本文选取该插值方法实现三维通用人脸网格模型到特定三维人脸模型的变换,并对其不足的地方进行了改进处理。以下着重介绍这种插值方法在人脸建模中的应用。
27
河南工业大学硕士学位论文
4.3 模型的局部修改
三维人脸网格模型在进行局部调整时,极其重要的一步是在特征点邻域内的非特征点网格顶点的变形情况。非特征点处的网格顶点调整后要确保变动后的曲面表面光滑,不会造成三维人脸网格模型明显的扭曲和变形。本节将着重阐述使用径向基函数插值方法进行非特征点变换的方法原理以及缺陷和改进。 4.3.1 径向基函数简介
径向基函数[54]是一种多变量离散数据插值函数,起初是为了进行有用的插值而提出来的,即给定一组数值X={,,?,
}和一组数值f={,,?, },以这两
组数值为依据构建一个径向基函数y=s(x),使该函数对于任意一个变量,都有对应的值 =s(),这里的s(x)就被称为是径向基函数[55],径向基函数的具体表达式如公式(4-6)所示:
其中g是一个核函数,是一个系数表示一个权值,
是变量x到 的距离,该
类型的函数在数学意义上就是简单的径向和函数,该函数表示离散分布的数据点在各个方向上机会均等,并且对任一个数据点而言,它对所有与它等距离点的作用效果是相同的,式(4-6)中的函数可以表示成线性方程的形式,如式(4-7)所示:
其中,
。不管公式(4-7)
的解是否唯一,都能够用它进行插值操作。在本文公式(4-6)中的核函数g是正数r的实值函数,r表示原点到当前点的距离长度。一些常见的核函数如下表(4-1)所示:
表4-1 径向基函数核函数的基本类型
28
基于二维图像的三维人脸建模技术研究
对于包括三个参数的拟合函数,可以选择以下两种基函数进行插值运算: (1)双调和样条 (2)立方调和样条
。 。
径向基函数显著的缺点就是它是简单的径向和,没有产生多项式,所以通常插值产生偏差的大小跟该点与原点的距离有关,即如果该点离原点距离较近则插值结果偏差比较小,但如果该点离原点距离较远则插值结果偏差就比较大,特别是对只有三个控制点进行仿射映射时,由距离引起的插值偏差问题是无法解决的,所以需要对这种简单的径向和函数进行改进,改进后的函数包括一个径向和函数和一个多项式,具体如式(4-8)所示:
该公式需要同时满足,
这里
表示一个m阶代数多项式,在这种情况下,无论公式(4-9)是否具有唯一解,
这种方法都会产生多项式,所以在一定范围内减少了插值误差。式(4-8)实事上由大块构成,核函数的径向和函数部分与映射多项式部分,其中径向和函数体现了变形的有界性和渐近扁平性,而映射部分则表现了在趋于无穷大时的变形方法。
采用径向基函数对离散数据进行插值的目的是求出径向基函数中核函数前面的权值,以及m阶多项式的系数,如果用c=如式(4一10),
(4-10)
其中,
表示多项式的系数,
表示基函数权值,那么公式(4一9)可以表示成矩阵的形式,形
通过解线性方程(4-10)就能够得到权值和多项式系数c的值,从而就能够得到具
29
河南工业大学硕士学位论文
体的经过改进后的径向基函数表达式。
下面讨论利用径向基函数插值方法调整三维通用人脸网格模型的详细过程。 4.3.2 基于径向基函数的三维人脸重构
由于径向基函数具有良好的插值技术,因而在人脸变形领域中被广泛应用。通常将三维人脸变换问题转化为多变量散乱数据插值问题,从而实现三维通用人脸模型到特定人脸模型的变换,其具体过程是:已知三维通用人脸网格模型所有顶点的空间坐标位置,当特征点从原来通用模型上的位置
移动到特定模型上对应特征点的新位置
?可充分利用径向基函数来
时,怎样求出网格模型上非特征点p变换过后的新位置
获取在网格模型变换之后的相对位移,其计算公式如(4-11)所示:
其中n表示三维人脸网格模型标注的特征点个数;表示基函数对应的具体权值;
表示网格模型中的第i个特征点; 表示基函数;
表示p与
之间的欧氏距离;
多项式是仿射部分,表示整体变换,在三维人脸特定
化过程中,由于特征点都是三维空间坐标,所以仿射分量M和t分别为3×3矩阵和3×1向量。这样可以求得非特征点的位移f(p),非特征点p的新位置 可以根据其原来位置及位移量求得,即为:p+f(p)。
利用径向基函数构建三维个性化人脸模型中最关键的一步是选择合适的基函数。不同的基函数具有各自不同的特点和适用领域,在三维个性化人脸模型构建中普遍使用的基函数有:高斯函数、B样条函数、二次多项等。由于不同的基函数具有不同的特点和优越性,从而会导致不同的建模效果,通过多次实验验证,本文选取高斯函数
为基函数,其中R表示控制变形范围,根据r的变化域选择相应的值。 调整前后特征点变化的位移为将n个特征点代入式(4一11)可得:
,令
,
设仿射变换约束条件为:
30
基于二维图像的三维人脸建模技术研究
加上约束条件的目的是为了消除径向基函数中仿射分量的不良影响。
将公式(4-12)和公式(4-13)联立起来可得线性方程组(4-14):
其中
,
为特征点的坐标,根
据三维人脸模型上特征点的三维空间坐标值,解线性方程组(4-14)可得式(4-11)中基函数的系数以及仿射分量M和t的值。由此系数,可以方程(4-14)获得非特征点的位移f(p),结合非特征点原来的空间坐标,可以得到非特征点的新位置,最终可以得到三维人脸网格曲面。
4.3.3 径向基函数插值的三维人脸变形结果
本文采用高斯函数为基函数,面部特征点是为了突出显示人的个性特征,R取值较小,取R为0.4,而对于非特征点,主要是为了表现人脸的外部轮廓和面部器官的几何结构状况,应该选用平滑性较好的基函数更为合理,R的取值较大, 取R为80。求得式(4-14)中的各项系数后,对经过整体变换后的一般人脸模型上的非特征点进行插值变换,特征点则取根据二维人脸照片得到的三维坐标值,据此得到了局部变换后的人脸模型。
利用径向基函数插值算法变换三维通用人脸模型获得特定化三维人脸网格模型的具体试验步骤如下:
(1)把三维模型坐标系统和利用二维照片中提取的特征点得到的特征点空间坐标系统统一起来。在两个三维坐标系统中均取两眼中点与后脑勺点连线的中点为坐标原点,然后对模型进行整体放缩,使得两个坐标系统中模型具有相同的高度、宽度和深度。
31