基于双视角的真实感三维人脸重建系统

2012-03-21 05:33赵翠莲范志坚陈晓波
图学学报 2012年4期
关键词:精简人脸纹理

荣 坚, 赵翠莲, 范志坚, 陈晓波

(1.上海大学机电工程与自动化学院,上海 200072;2.上海交通大学,上海 200240)

三维建模是计算机视觉和计算机图形学领域中的一个基本问题,而人脸凭借其特有的普遍性成为众多专家学者进行三维建模的研究对象。如今,三维人脸建模[1-2]技术已经广泛地应用于影视制作、游戏娱乐、医学、身份验证和人机交互技术等诸多领域,它已经成为计算机图形学领域的一个研究热点并受到普遍关注。

从20世纪70年代Parke建立第1个脸部模型[3-4]开始,许多研究人员致力于三维人脸建模的研究。特别是20世纪90年代以来,计算机视觉和计算机图形学技术的迅猛发展为三维人脸建模提供了越来越强大的技术支持。脸部的三维数据是形成特定三维人脸模型的前提条件。总体上讲,三维人脸数据可以通过两种途径取得:一是采用三维扫描仪等较复杂的硬件装置,辅以较简单的算法来获取几何及纹理数据。如康柏剑桥研究所的Waters等人利用扫描仪获取的三维数据进行了三维头部建模[5],Lee等人则用三维扫描仪获取的三维数据创建了完整的三维人脸模型[6]。激光扫描装置获取数据精度高、速度快,但要求高性能的计算机和高价格的硬件设备,用于真实人脸数据采集难于推广。二是采用普通相机辅以结构光投影仪采集图像,其采用较复杂的图像处理和计算机视觉算法获取数据。如哈佛大学的Zhang和Yau等人采用一个彩色相机和结构光投影仪开发了一套三维数据采集系统,并将该设备应用于人脸数据采集中,实现了具备一定真实感的三维人脸建模[7]。该系统能同时获取被测对象的几何和纹理信息,由于其几何和纹理数据一一对应,为后期建模提供了便利。然而,由于只通过一个测位进行测量,容易受到测量时的环境因素及人脸姿态影响,造成数据缺失,影响最终的建模效果。

为了弥补单一测位测量的局限性,本文开发了一套基于普通相机和结构光投影仪的双视角数据采集系统[8],通过增加测量视角,从两个测位进行数据采集,并以此作为人脸数据采集设备开发了一套配套的三维人脸可视化建模软件,形成了一个完整的真实感三维人脸重建系统。系统从成一定角度的两个固定测位依次进行数据采集,在保证同时获取测量对象具有对应关系的三维几何数据和纹理数据的基础上,大大扩展了采集设备的测量范围,放宽了测量时人脸姿态的严格限制,其通用性和灵活性大大提高。采集数据经系统配套建模软件处理可以建立真实感三维人脸模型,整个建模过程实现了可视化,同时支持鼠标和键盘交互,用户可以实时观察建模过程中的各个细节。

1 系统结构

一个完整的三维人脸重建系统通常需具备人脸数据采集、人脸模型重建、可视化交互等一系列功能,为此,建立如图1所示的系统结构。其功能模块主要由两部分组成:硬件模块和软件模块。硬件模块是系统前端,主要完成纹理数据采集、几何数据自动解算、数据预处理等功能,为后端输出测量对象的几何数据和纹理数据。软件模块是系统后端,负责存储和处理硬件模块输出的采集数据,完成人脸三维模型的重建,同时实现建模过程的可视化交互。

图1 系统结构图

2 数据采集

数据采集模块一大功能是完成数据采集。数据采集硬件设备,采用特殊的单目双位测量系统,从呈一定角度α的左、右两个测位依次获取数据,每个测位均配置一台结构光投影仪和一台数字相机,如图2所示。结构光三维测量技术原理,如图3所示。投影仪主动投射预先设定的含有特定编码特征的图案至被测物体表面,由摄像机拍摄经物体表面形状调制的变形结构光条纹,通过对变形条纹图像的解码来建立摄像机与投影仪间的对应特征关系,再结合测量系统光路几何参数可以获取测量对象的三维几何信息,同时得到几何和纹理数据的一一对应关系。两侧纹理照片的分辨率均为1280×1024。

图2 硬件设备图

图3 测量原理图

数据采集模块的另一大功能是测量数据的预处理,主要是完成两个测位测量数据的坐标归一化处理。最终需要建立的是三维人脸正面模型,而硬件设备两侧实际采集到的数据同正面相比都有一定角度的偏转,且二者坐标系不统一,必须将两侧几何数据同时向人脸正面方向转换,得到方向统一且坐标系统一的两侧几何数据。这一过程亦在数据采集模块中完成,硬件设备两个测位之间的夹角α决定了坐标系归一化处理过程的转换矩阵。

3 模型重建与可视化交互

模型重建软件系统在VC++平台上开发,模型可视化通过可视化开发包VTK(Visualization Toolkit)[9]实现,完成三维人脸模型重建、可视化、用户界面实现以及用户交互等一系列功能,建模过程左右两侧测量数据各自单独进行,软件主界面中同时显示两侧数据建模过程中的实时状况。

3.1 数据精简

数据精简针对几何点云数据,理论上系统一次测量单侧点云数据量能达到130万,为提高处理效率,在保证建模效果的前提下有必要对数据进行必要精简。

数据精简包括均匀精简和非均匀精简。均匀精简是指对所有原始数据采用同一规则进行精简,非均匀精简则是指对数据不同区域采用不同规则进行精简。对于人脸数据,适宜采用非均匀精简。诸如鼻子和眼角区域,由于曲率突变明显,要求的精度相对较高,有必要保留充足的数据点,而对于脸庞和面颊区域,凹凸变化不太明显,且区域较大,精度要求相对较低,可以精简更多数据。原始采集的点云数据按行列规则分布,试验发现,对于鼻子和眼角区域,按3×3矩阵进行精简,对其进行重采样,而对于脸庞和面颊区域,按9×9矩阵进行精简,仅保留位于矩阵顶点位置的点,这样既能显著提高数据处理效率,又能很好地保持建模精度。

3.2 分割与融合

人脸是人脸重建过程中的唯一关注特征,而数据采集时不可避免的会同时采集到面部以外诸如背景、耳朵、脖子、衣领等特征的信息,这些都是噪声数据,必须进行剔除,从中分割提取出建模过程中的目标特征数据。两侧采集到的点云数据在脖子、耳根处与面部之间由于头发、遮挡等因素影响都会出现明显的空洞,这为面部数据分割提供了依据,模型重建软件利用空洞形成的数据断层提取人脸特征数据。两侧测量数据依次进行分割,分割后分别得到两侧面部数据。

系统最终要建立一个单一正面人脸模型,故而两侧面部数据分割提取完成后需要进行融合,使两侧数据在共同形成一张单一人脸。显然,两侧人脸数据存在大量重叠区域,直接进行融合处理会造成大量的数据冗余。为此,融合之前需要对两侧人脸数据进行进一步分割处理,而测量硬件为分割提供了依据。硬件设备左侧测位保证了右侧人脸的数据完整性,右侧测位则保证了左侧人脸的数据完整性,为此,可以以人脸中垂面为分割基准,左侧测位保留右侧人脸数据,右侧测位保留左侧人脸数据,将两侧分割数据进行拼接显示即可形成一张单一完整人脸。然而,仅仅对两侧面部数据做简单分割和拼接显示容易造成后期处理过程中接缝处出现间隙以及错乱网格,无法保证建模效果,因此,实际操作中通常偏离中垂面进行分割,两侧人脸数据在中垂面附近各自预留一定的重叠点云作为过渡区域。

两侧拼接数据过渡区域存在大量重叠点,直接对拼接数据网格化必然在过渡区域形成重叠网格,导致纹理映射后最终人脸模型中接缝区域形成错乱纹理,因此有必要对过渡区域进行数据融合处理。对两侧人脸分割数据过渡区域均进行点重采样,剔除其他所有点,仅在人脸中垂面上各自保留一列重叠点,以此作为两侧人脸数据公共拼接边界。如此,可以使两侧人脸分割后实现无缝拼接。图4所示为分割融合示意图。

图4 分割融合示意图

3.3 网格模型生成与纹理映射

建立网格模型是形成最终人脸模型的基础,也是进行纹理映射的必要准备。

过渡区域融合处理之后的两侧人脸点云除了在公共边界上存在重叠点之外,其他区域均不存在重叠点,这样可以保证融合数据网格化操作过程中过渡区域不形成重叠和杂乱网格,同时公共边界可以保证在人脸中垂面拼接线上两侧人脸几何数据形成的网格完全拼合,避免拼接缝隙的产生,保证了后期纹理映射的逼真效果。点云网格化采用2D-Delaunay[10]三角化算法实现,两侧人脸数据三角化过程依次进行。

要实现真实感人脸模型效果,必须对三角化后形成的人脸网格模型进行纹理映射,渲染出人脸的逼真纹理。两侧人脸几何数据建模过程各自独立进行,纹理映射也各自独立进行。纹理映射的一个核心过程是依次计算两侧人脸纹理照片中各像素的纹理坐标,两侧纹理照片的分辨率均为1280×1024,而各像素纹理坐标U、V范围均在0~1之间,依据照片分辨率和各像素坐标可以计算出各像素的纹理坐标。如像素坐标为(I,J)的某一像素对应纹理坐标为(J/1280,I/1024)。

4 应用实例

本文以某一具体实验人员为测量对象,利用此系统重建了真实感三维可视化人脸模型。如图5所示为系统硬件设备采集到的左右两侧人脸坐标归一化后的原始数据,左上角和左下角所示分别为左侧测位获取的几何数据和纹理数据,右上角和右下角则分别为右侧测位获取的几何数据和纹理数据,各侧实测点云数量均为35000个,纹理数据分辨率均为1280×1024。由图可知,实测数据在眉毛、眼睛、鼻孔等部位不同程度出现了数据缺失。

图5 左右两侧原始采集数据

脸部数据分割之前对数据进行了精简操作,鼻子区域和面部分别采用不同精简度。图6左右所示分别为左右两侧测量数据精简后的效果图。以耳朵与面部以及面部与脖子之间的空洞为依据分割出面部数据,图7为左右两侧测量数据各自提取出的人脸数据。在此基础上进行两侧人脸数据融合,图8所示为融合效果图。融合之后两侧数据依次进行三角化处理,如图9为三角网格模型效果图。形成网格模型后进行纹理映射便能得到真实感三维人脸模型,图10所示为最终的重建模型。

图6 数据精简效果

图7 分割提取脸部数据

图8 数据融合效果

图9 三角网格模型

图10 真实感三维人脸模型

5 结 论

本文开发了一套基于结构光原理的双视角数据采集设备,提出了一种基于双视角几何和纹理数据实现真实感三维人脸模型重建的新思路,并以VTK为可视化工具在VC++平台上开发了一套数据处理软件,形成了一个完整的三维人脸快速重建系统。通过试验数据的验证,得到了真实感较强的三维人脸可视化模型,证明了系统的可行性。系统硬件设备利用结构光原理实现三维测量,为避免光栅干涉增加点云三维坐标解算复杂度,测量时两个测位依次进行测量,两次测量的时间差会造成获取的两侧纹理照片因光照条件不一致而存在灰度差异,影响最终的建模效果。这一缺陷可以通过图像处理进行弥补,这也是后期的研究课题,本文采用的数据为理想条件下获取的实验数据。

[1]徐成华, 王蕴红, 谭铁牛. 三维人脸建模与应用[J].中国图象图形学报, 2004, 9(8): 893-903.

[2]徐 琳, 袁保宗, 高 文. 真实感人脸建模研究的进展与展望[J]. 软件学报, 2003, 14(4): 804-810.

[3]Parke F I. Computer generated animation of faces [C]//Proceedings of ACM Annual Conference, Boston,Massachusetts, United States, 1972: 451-457.

[4]Parke F I. A parametric model for human faces [R].Technical Report UTEC-CSc-75-04, University of Utah, Salt Lake City, Utah, USA, 1974.

[5]Water K, Terzopoulos D. Modeling and animating faces using scanned data [J]. Visualization and Computer Animation, 1991, 2(4): 23-128.

[6]Lee Y C, Terzopoulos D, Waters K. Realistic modeling for facial animation [C]//Computer Graphics, Annual Conference Series, SIGGRAPH, 1995: 55-62.

[7]Zhang S, Yau S T. Simultaneous three-dimensional geometry and color texture acquisition using single color camera [J]. Optical Engineering, 2008, 47(12):178-183.

[8]熊耀阳, 陈晓波, 孙 健, 等. 结构光投影面部三维测量系统的研制[J]. 上海交通大学学报(医学版),2009, 29(7): 837-842.

[9]Schroeder W J, Avila L S, Hoffman W. Visualizing with VTK: a tutorial [J]. IEEE Trans. on Computer Graphics and Applications, 2000, 20(5): 20-27.

[10]杨 钦. 限定Delaunay三角网格剖分技术[M]. 北京: 电子工业出版社, 2005: 127-153.

猜你喜欢
精简人脸纹理
有特点的人脸
一起学画人脸
基于区域分割的多视角点云精简算法
基于BM3D的复杂纹理区域图像去噪
使用纹理叠加添加艺术画特效
三国漫——人脸解锁
时常精简多余物品
一种面向应用的流量监测精简架构设计
TEXTURE ON TEXTURE质地上的纹理
消除凹凸纹理有妙招!