![(电路与系统专业论文)三维人脸重建与识别技术研究[电路与系统专业优秀论文].pdf_第1页](http://file.renrendoc.com/FileRoot1/2019-12/13/2fe20a04-db70-4737-95e7-7e4a9ff04b7c/2fe20a04-db70-4737-95e7-7e4a9ff04b7c1.gif)
![(电路与系统专业论文)三维人脸重建与识别技术研究[电路与系统专业优秀论文].pdf_第2页](http://file.renrendoc.com/FileRoot1/2019-12/13/2fe20a04-db70-4737-95e7-7e4a9ff04b7c/2fe20a04-db70-4737-95e7-7e4a9ff04b7c2.gif)
![(电路与系统专业论文)三维人脸重建与识别技术研究[电路与系统专业优秀论文].pdf_第3页](http://file.renrendoc.com/FileRoot1/2019-12/13/2fe20a04-db70-4737-95e7-7e4a9ff04b7c/2fe20a04-db70-4737-95e7-7e4a9ff04b7c3.gif)
![(电路与系统专业论文)三维人脸重建与识别技术研究[电路与系统专业优秀论文].pdf_第4页](http://file.renrendoc.com/FileRoot1/2019-12/13/2fe20a04-db70-4737-95e7-7e4a9ff04b7c/2fe20a04-db70-4737-95e7-7e4a9ff04b7c4.gif)
![(电路与系统专业论文)三维人脸重建与识别技术研究[电路与系统专业优秀论文].pdf_第5页](http://file.renrendoc.com/FileRoot1/2019-12/13/2fe20a04-db70-4737-95e7-7e4a9ff04b7c/2fe20a04-db70-4737-95e7-7e4a9ff04b7c5.gif)
已阅读5页,还剩57页未读, 继续免费阅读
(电路与系统专业论文)三维人脸重建与识别技术研究[电路与系统专业优秀论文].pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上海大学硕士学位论文 三维人脸重建与识别技术研究 摘要 三维建模是计算机视觉和计算机图形学领域中一个基本的问题,人脸借助 其特有的普遍性和易用性成为众多先进三维建模算法的实验平台。但是由于人 脸的复杂性、易变性,建立逼真的三维人脸模型成为众多研究者挑战的课题。 本文将数字图像处理学、模式识别的原理和方法应用到三维人脸模型重建和识 别领域,建立了一个基于二维人脸图像的三维人脸重建和识别系统。 本文提出了一套适用于正、侧面两幅二维人脸图像的三维人脸重建和识别 算法,并建立了系统原型。对于三维人脸重建算法,本文提出了基于灰度、边 缘检测和肤色的正面人脸特征提取算法,结合手工提取的侧面人脸特征获取人 脸三维信息。其主要思想是:对正人脸图像进行光照补偿、滤波和锐化等预处 理,去除噪声的干扰;然后利用灰度积分投影进行人脸各特征区域的粗定位, 把人脸分为几个区域;对各个区域分别利用方差积分投影、边缘检测、肤色检 测等技术精确定位人脸图像的各特征点;结合从侧面人脸图像中提取的三维深 度信息,校正已有的三维人脸统计模型,获得一个特定的人脸三维模型;利用 o p 蛐g l 对重建的三维人脸进行可视化仿真。对于三维人脸识别,本文提出了 基于几何特征的三维人脸识别算法。利用获得的三维人脸信息,构造三维特征 矢量,通过三维特征矢量相似度来鉴别最后的结果。 实验结果表明,在c v l 人脸图像库中利用本文所采用的算法,获得了令人 满意的效果。 关键词:人脸重建,积分投影,三维人脸,纹理映射,三维识别 v 上海大学硕士学位论文 三维人脸重建与识别技术研究 a b s t r a c t 3 dm o d e l i n gi sc u r r e n t l yo l l eo ft h em o s ti m p o r t a n ti s s u e si nc o m p u t e rv i s i o n a n dc o m p u t e rg r a p h i c s h u m a nf a c e s 撇s o n l m o na n dr e a c h a b l et h a tm a n yn e w a l g o r i t h m sa r ef i r s tt e s t e do ni t a l s o d u et ot h ec o m p l e x i t ya n df l e x i b i l i t yo f h u m a n f a c e s ,m a n yr e s e a r c h e r sh a v et a k e no nt h ec h a l l e n g eo fb u i l d i n gr e a l i s t i c3 df a c e m o d e l s w ea p p l yt h et h e o r i e sa n dm e t h o d so ft h ed i g i t a li m a g ep r o c e s s i n ga n dt h e p a t t e r nr e c o g n i t i o nt ot h e3 df a c em o d e l i n ga n dr e c o g n i t i o n , a n dr e a l i z et h es y s t e m o f 3 df a c em o d e l i n ga n dr e c o g n i t i o nb a s e do n2 df a c ei m a g e i nt h et h e s i s ,ai i e wm e t h o do f3 df a c em o d e l i n ga n d3 dr e c o g n i t i o na p p l i e dt o t h es y s t e mi sp r o p o s e d , a n dt h ep r o t o t y p es y s t e mi 8r e a l i z e d a st ot h e3 df a e e m o d e l i n g , t h em e t h o dc o m b i n e st h ef e a t u r e sd e t e c t e df r o mf r o n t a lf a c ei m a g eb a s e d o ng r a yl e v e l ,e d g ed e t e c t i o na n ds k i nc o l o r , a n dt h ef e a t u r e se x t r a c t e dm a n u a l l y f r o ml a t e r a lf a c ei m a g e f i r s t l yt h ef r o n t a lf a c ei m a g ei sp r e p r o e e s s e dt oe l i m i n a t e t h ee f f e c to ft h en o i s e a t t e r w a r d saf a c es e g m e n t a t i o nb a s e do nt h eg r a yl e v e l p r o j e c t i o n i 8 p r o p o s e d i nt h ep r o c e s so ff e a t u r ep o i n t se x t r a c t i o n , v a r i a n c e p r o j e c t i o n , e d g ed e t e c t i o na n ds k i nc o l o rd e t e c t i o na u s e d c o m b i n e dw i t ht h e i n f o r m a t i o no fd e p t he x t r a c t e df r o mt h el a t e r a li m a g e , as p e c i f i c3 df a c em o d e lc 舭 b eo b t a i n e db ya d j u s t i n g3 ds t a t i s t i cf a c em o d e lt ot h e s ef e a t u r ep o i n t s t h e3 df a c e m o d e l 锄b ev i s u a la n ds i m u l a t e d 丽l ho p e n g l t h e3 df a c er e c o g n i t i o ni sb a s e d o n3 dg e o m e t r i c a lf e a t u r e s t h e3 df e a t u r ev e c t o ri sc o m p u t e du s i n gt h e3 d i n f o r m a t i o n a tl a s t , s i m i l a r i t yo ft w o3 df a c ev e c t o r s , w h i c hi su s e dt oj u d g e w h e t h e rt h et o wf a c em o d e l sb e l o n gt ot h es 锄ep e r s o n , i sc a l c u l a t e d t h ee x p e r i m e n t sp r o v e dt h a tt h i sm e t h o dw o r k s v e r yw e l li nc v l f a c ed a t a b a s e k e y w o r d s :f a c er e e o n s l r u e t i o n , g r a yl e v e lp r o j e c t i o n , 3 df a c e ,t e x t u r em a p p i n g , 3 df a c er e c o g n i t i o n v i 上海大学硕士学位论文 三维人脸重建与识别技术研究 原创性声明 本人声明:所呈交的论文是本人在导师指导下进行的研究工作。 除了文中特别加以标注和致谢的地方外,论文中不包含其他人已发 表或撰写过的研究成果。参与同一工作的其他同志对本研究所做的 任何贡献均已在论文中作了明确的说明并表示了谢意。 签名:蜀建日期:遵丝 本论文使用授权说明 本人完全了解上海大学有关保留、使用学位论文的规定,即: 学校有权保留论文及送交论文复印件,允许论文被查阅和借阅;学 校可以公布论文的全部或部分内容。 ( 保密的论文在解密后应遵守此规定) 签名:互啦导师签名:牲日期:缒五扯 上海大学硕士学位论文 三维人脸重建与识别技术研究 第一章绪论 1 1 课题研究的目的和意义 三维建模是计算机视觉和计算机图形学领域中一个基本的问题,人脸因其 特有的普遍性和易用性成为众多先进三维建模算法的实验平台。由于每个人的 人脸都是不同的,可以说世界上根本不存在两张完全相同的人脸,即使看起来 非常相似的双胞胎,在某些方面也存在着不同之处【l 】,所以人脸的个体差异必 然存在,这就为我们建立特定人脸的三维模型提供了可能。但是由于人脸的复 杂性、易变性,建立逼真的三维人脸模型成为众多研究者挑战的课题。 三维建模虽然如此困难,但是许多研究者还是始终在坚持不懈地进行着这 方面的探索,原因有二;一是三维人脸模型有着极为广泛的应用。目前,三维 人脸模型已经初步应用到视频电话、视频会议、影视制作、电脑游戏、入脸识 别等多个领域,而且随着各方面技术的发展,三维人脸模型将会在各方面得到 更深更广的应用。二是现有的一些问题用二维方法解决不了或者说不能很好地 解决。比如人脸识别方面,表情变化问题始终是一个阻碍提高识别率的关键因 素。 1 2 国内外研究概况 1 2 1 三维人脸重建 三维人脸建模过程通常由人脸三维数据的获取、标准三维人脸建模和特定 人脸建模3 部分组成。三维数据的获取属于计算机视觉领域,近年来随着计算 机视觉技术的发展,研究者们发展了一些适用于三维建模的数据获取方法。标 准人脸模型的建立是图形学、人体测量学和统计学等相结合的产物,可以描述 人类共有的结构特征和行为特征。特定人脸建模可以根据三维数据直接建立可 视化模型,也可以通过对标准模型的形变进行建模,后者是研究的主流。从标 准模型到个性模型的建模方法按照数据的来源主要分为两类:基于三维散乱点 上海大学硕士学位论文 三维人脸重建与识别技术研究 数据的建模方法和基于图像( 单幅、多幅、序列) 的建模方法。在建模过程中, 研究者们尽量使处理过程自动化,但至今完全自动化的建模方法还少有报道。 ( 1 ) 人脸三维数据的获取 获取脸部的三维数据是形成特定人脸模型的基础,它的发展与计算机视觉 技术密切相关。随着计算机视觉技术的进一步发展,出现了一些获取三维数据 的工具和一些新的方法。这些装置和方法主要可以归纳为两个方向:一是采用 较复杂的硬件装置,辅以较简单的算法来获取数据;二是采用普通相机采集图 像,采用较复杂的计算机视觉算法来获取数据。 ( 2 ) 标准三维人脸建模 人脸有基本相同的面部结构( 如眼睛、鼻子、嘴巴等) 和相似的面部动作( 如 眼睛的睁闭、嘴巴的开合等) ,这些相同特征为建立标准人脸模型( g e n e r i cf a c e m o d e l ) 奠定了生理基础。但是脸像除了公共特征外,还有个性特征,比如眼睛 的大小、眉毛的粗细、鼻子的高低等,正因为有了这些个性特征,才能正确地 区分不同人脸。标准人脸模型含有丰富的先验知识( 如结构信息、肌肉模型等) , 可以描绘人脸的共有特征。根据前人已有的研究,一个优秀的标准人脸模型应 具备以下几个特点: 参数化:利用具体人脸的信息,调节参数能够描述出个性特征,从而形成 个性人脸模型; 形象化:能准确地描述人脸的基本形状,并能做一些表情动作; 简单化:模型顶点越多描述人脸的精度就越高,但是给模型的拟合和后期 处理增加了困难。但是顶点太少又不能精确地描述人脸的细节,因此,需要在 模型的复杂性和精度之间作一个折衷。 在标准三维人脸模型中,普遍被应用的是网格模型2 卅和统计模型嘲。 网络模型的一般数学描述是m = v m , f m , c m 其中,v m 表示网格节点集合, f i n 表示组成面片的节点编号集合,c m 表示节点或面片的属性,如颜色、法线 等,可以根据实际情况确定其属性。根据面片的形状,可以把模型分为三角面 片模型和四边形面片模型两种。比较流行的是基于三角面片的网格模型。网格 节点在一些文献中被称为控制点( c o n t r o lv e r t e x ) 、特征点( f e a t u r ev e r t e x ) 等。它们 2 上海大学硕士学位论文三维人脸重建与识别技术研究 的分布往往是不均匀的,关键部位如眼睛、嘴角等处节点密集一些,平滑部位 如额头、脸颊等处的节点稀疏一些。节点越多,三角形平面越多,表述的头部 模型越逼真,但是同时也增加了模型的复杂度,给后期处理添加了困难。在这 个方面研究者努力的方向是利用最少的节点和三角面片来建立逼真的头部模 型。代表性的模型有l i u 等人的中性脸模型( n e u t r a lf a c em o d e l ) 用、a h b e r g 的 c a n d i d e - 3 3 1 和d e c a r l o 等人的b 样条模型1 4 1 1 5 l 【6 】。2 0 0 1 年a l l l b e r g 还发布了最 新版本c a n d l d e - 3 7 ,这个版本达到与m p e g - 4 标准的统一。 统计模型利用统计方法从大量采样样本中学习出人脸共性,建立统计意义 上的标准人脸模型,比较著名的有形态模型( m o r p h a b l e3 df a c e m o d e l ) i s 和三维特 征脸( 3 de i g e n f a c c s ) 1 9 1 。德国学者b l a n z 和v e t t e r 等人于1 9 9 9 年研究出了这种模 型。模型的基础是一个含有2 0 0 个青年面部数据信息的三维人脸数据库,三维 信息由激光扫描仪获得,包括距离信息和颜色信息。每个头部数据称为一个样 本脸( e x e m p l a rf a c e ) ,每个样本脸大约包括7 万个点,然后利用复杂的光流算法建 立不同人脸三维点的对应关系。三维特征脸类似于特征脸,对预先构建的三维 模型用主成分分析方法( p c a ) 进行降维,获得表征脸部形状的主要分量,利 用它们的线性组合表达个性化人脸模型。建立统计模型通常比较繁琐,需要大量 的学习数据,而且三维数据的预处理过程非常复杂,建成后的模型具有统计意 义上合理的调节参数,使脸部表达合理优化。 c 3 ) 特定人脸建模 根据三维数据的来源不同,特定人脸建模的方法可分成两类:一类是从三 维数字化仪器得到三维数据出发进行模型的拟合1 0 1 1 】;另一类方法则从一个图 像或多幅图像中提取信息修正标准模型进行个性建模1 1 2 d 5 】。 基于三维数据的特定人脸建模,其一般做法是先进行数据的预处理( 如除 噪、补洞等) ,然后利用图形学方法进行点云三角化,最后通过网格优化策略得 到适当精度的模型。此方法对不要求结构信息的建模比较有效,而不适合要求 具有严格结构的建模工作。多伦多大学的l e e 等人【1 0 ,1 1 1 利用通过激光扫描仪获 得的三维几何数据和纹理信息,调整已有的标准网格头部模型,构建特定人脸 模型,最后为模型合成纹理信息。j e o n g 等人利用三维数据的轮廓信息进行模型 3 上海大学硕士学位论文三维人脸重建与识别技术研究 的初始化,然后利用曲面子分割策略和多精度拟合方法进行模型的构建1 1 6 】。x u 等人进一步针对非均匀三维数据,发展了自适应多精度拟合方法,能有效克服 数据中存在的孔洞及数据密度严重不均等问题。利用三维数据构建的三维模型 通常具有较高的精度和逼真度,能清晰地描述个性特征,但是要求较高精度的 三维数据。目前仍然不易获取。 用激光扫描方法获取三维数据造价偏高,因此许多学者始终致力于运用简 单装置进行三维特定人脸建模的研究,即从普通摄像机获取的多幅图像出发进 行建模。由于问题本身的复杂性,现有的处理方法还不能完全自动化。比较有 代表性的是p i g h i n 等人的分散数据插值方法【1 2 1 、l i u 等人的m b a ( m o d e l - b a s e d b u n d l e a d j u s t m e n t ) 1 刀方法、和f u a 等人的d f f d ( d i r i c h l e t f l e ef o r m d e f o r m a t i o n ) t 1 3 1 4 】方法。 华盛顿大学的p i g h i n 等人利用多幅图像调整标准模型,他们采用的标准头 部模型是t o r o n t o 大学的线框模型【l 明。l i u 等人采用了类似的方法,被测人脸在 摄像机前面转动,利用单个普通摄像机获取两个角度的脸部正面图像和两个序 列图像,这两个正面图像被称为基图像( b a s ei m a g e s ) 。首先在基图像上人工标定 5 个点:两个内眼角、鼻尖和两个嘴角,然后,依次进行头像分割、边角检测、边 角匹配、错误匹配消除、头部姿势定位、获取三维脸部几何数据;几何数据获 取后,利用非线性的方法( m o d e l - b a s e db u n d l ea d j u s t m e n t ) 【m ,调整标准人脸模 型,并且进行细化调整,形成特定人脸几何模型;最后,在序列图像中提取几 何纹理信息,映射在几何模型上,形成一个逼真的人脸个性模型。瑞士联邦技术 研究所( e p f l ) 的f u a 等人采用从粗到细逐步逼近的策略形成个性模型1 3 】【1 4 】。他 们采用的标准模型是u n i v e r s i t y o f g e n e v a 和e p f l 的动画模型【1 9 1 。该模型能够 做丰富的语言和表情动作,但是标准模型的顶点和组成头部平面的三角面片较 多,而从图像获取的数据噪声较大,直接用标准模型进行拟合很难达到收敛。 于是先采用稀疏模型进行拟合,然后采用较密集模型进行拟合。 1 2 2 三维人脸识别 在三维人脸重建基础上,人们展开的更深层次三维人脸识别的研究。三维 4 上海大学硕士学位论文 三维人脸重建与识别技术研究 人脸识别更具有实际应用的价值,主要应用在访问控制、生物鉴别、安全防范 等领域。因为真实人脸的3 d 数据难于获取,或者说获取的数据是不完整的和片 面的,所以从真正意义上讲,三维人脸识别只是借助3 d 的某些特征进行辅助的 2 d 精确识别。因此我们把三维人脸识别叫做“三维图像辅助识别”或“准三维 人像深度识别”似乎更好。三维人脸识别主要有基于图像特征的方法和基于模 型可变参数的方法。 基于图像特征的方法啪】【2 l 】:文献e 2 2 采取了从3 d 结构中分离出姿态的算 法。实现的过程类似人脸重建的方法:首先匹配人脸整体的尺寸轮廓和三维空 间方向;然后,在保持姿态固定的情况下,去作脸部不同特征点( 这些特征点是 人工鉴别出来的) 的局部匹配。文献 2 3 也用了类似方法。此外,再用一个精确 的透视模型估计姿态参数,同时利用一个稀疏特征集合去插值和提炼其余的脸 部结构。 基于模型可变参数的方法1 2 4 :将通用人脸模型的3 d 变形和基于距离映射的 矩阵迭代最小相结合,去恢复头部姿态和3 d 人脸。随着模型形变的关联关系的 改变不断更新姿态参数,重复此过程直到最小化尺度达到要求。 基于模型可变参数的方法与基于图像特征的方法的最大区别在于:后者在 人脸姿态每变化一次后,需要重新搜索特征点的坐标,而前者只需调整3 d 变形 模型的参数。 1 3 论文的主要研究内容 本论文是以作者攻读硕士学位期间承担课题的工作为基础,课题来源于上 海市教委与教育发展基金委曙光项目( 0 4 c x 7 2 ) 以及与上海市教委发展基金 ( 0 5 a z 3 8 ) 。 文章首先对输入的正、侧面人脸图像进行特征点定位,然后利用这些特征 点构成的三维信息校正三维人脸统计模型,生成特定人脸的三维模型,最后利 用这些模型进行三维识别。 第一章中阐述了课题研究的来源、目的、意义以及国内外研究的现状。第 二章介绍了整个系统的组成、软件平台、工作步骤、v c + + 中三维图像处理的一 5 上海大学硕上学位论文 三维人脸重建与识别技术研究 些基础以及本文所使用的三维人脸模型。第三章对人脸特征定位算法做了研究。 主要包括对人脸图像的预处理、特征点的定位和提取。主要采用边缘检测、边 缘跟踪、肤色模型等方法。第四章对主要三维人脸重建和识别算法进行了研究。 主要包括利用正、侧面人脸二维图像中特征点校正三维人脸模型的算法和基于 几何特征的人脸识别算法。第五章介绍了实验结果。第六章对论文做了总结, 并指出了需要改进的问题。 6 上海大学硕士学位论文 三维人脸莺建与识别技术研究 第二章三维人脸重建与识别系统基础 2 1 三维人脸重建与识别系统 2 1 1 系统提出 随着社会经济的发展,对于三维人脸建模的需求在不断地增长,诸如:视 频电话、视频会议、影视制作、电脑游戏和人脸识别。尤其是对于人脸识别而 言,当现有的一些问题用二维方法解决不了或者说不能很好解决的时候,采用 三维方法也许就能迎刃而解。比如二维人脸识别中人脸旋转或者表情变化都会 影响最终识别结果的准确性。利用三维人脸模型进行人脸识别,在理论上会提 、高识别率和识别的鲁棒性【2 5 2 6 1 。正是基于这一需求提出了这套系统。 2 1 2 系统组成 系统软件为v c + + 6 0 编写的w i n d o w s 应用程序,主要分为:人脸检测、特 征点定位、模型匹配、纹理映射以及人脸识别五个部分。整个系统软件流程如 图2 1 。 图2 - i 系统流程图 7 上海大学硕士学位论文 三维人脸重建与识别技术研究 2 1 3 系统工作步骤 本系统分为三维人脸重建和识别两个子系统。整个系统的工作过程为: ( 1 ) 基于肤色检测的人脸区域定位,为了避免光照对人脸区域定位的影响, 在检测之前先做了光照归一化。 ( 2 ) 人脸图像灰度化,并进行预处理。在确定人脸区域以后,将其转化为 灰度图像,然后进行中值滤波,锐化和灰度归一化等图像预处理。 ( 3 ) 基于先验知识,利用灰度积分投影,粗定位人脸五官特征。然后对各 个五官区域运用积分投影、边缘检测等方法进行精确的正面人脸特征 点定位。随后手工确定侧面人脸图像几个主要特征点的位置。 ( 4 ) 通过正、侧两副图像上的特征点获取的三维信息,调整三维人脸模型, 构造一个特定人脸的三维模型。 ( 5 ) 为了实现可视化,需要将二维图像上的人脸的肤色信息映射三维空间 中,即纹理映射。 ( 6 ) 利用第四步中获得的三维信息,构造特征矢量并进行相似度的判别, 输出最终结果。 2 2v c h 三维图像处理基础 随着三维图形的应用愈来愈广泛,计算机图形学的发展也越来越迅速。那 么如何快速实现三维图形的计算可视化,仿真可视化呢? o p e n g l 即可作为主 要途径之一。o p e n g l 作为一种硬件图形的软件接口,其优点是作为一个独立 的工作平台,独立于硬件设备、窗口系统和操作系统,用它编写的软件可以在 u n i x 、w i n d o w s 9 8 n t 等系统间移植。但是现在很多有关o p e n g l 的书中的程 序都是使用标准c 调用o p v n g l 函数实现的,这样做使得它缺乏面向对象能力, 不符合当前流行的软件设计思想。因此我们需要借助一个“窗口”系统来完成 o p e n g l 三维图形的制作。众所周知,v i s u a lc + + 中m f c 包含了强大的基于 w i n d o w s 的应用框架,提供了丰富的窗口和事件管理函数,已经成为当前一种比 较流行的工作平台。于是我们可以选用m f c 调用o p e u g l 函数来进行三维图形 8 上海大学硕士学位论文 三维人脸重建与识别技术研究 的开发。 2 2 1 设置开发环境 以w i n d o w s x p 为例,首先将g l u d l l ,g l u 3 2 d l l ,g l u t d l l ,g l u t 3 2 d l l ,o p e n g l 3 2 d l l 文件拷贝到操作系统w i n d o w s s y s t e m 3 2 目录下,将9 1 h ,g l a o x h ,g l u h ,g l u t h 拷贝到m i c r o s o f t v i s u a ls t u d i o v c 9 8 i n c l u d e y g l 目录中中,将g l a u x 1 i b ,g l u 3 2 1 i b , g l u t 3 2 1 i b ,o p e n g l 3 2 1 i b 拷贝到m i c r o s o f t v i s u a ls t u d i o n c 9 8 l i b 目录中;然后在 编译程序的时候选择p r o j e c t s e t t i n g 菜单,在l i n k 标签中的o b j e c t l i b r a r y m o d u l e s 编辑框中输入“o p e n g l 3 2 1 i b ,g l u t 3 2 1 i b ,g l u 3 2 1 i b ,g l a u x 1 i b ”。到这时候环境 就建立好了,可以进行下面的具体编程工作。 2 2 2 具体编程 本系统采用基于对话框的工程。至于用单文档方式和多文档方式其编程原 理是一样的,这里不再作单独介绍。 ( 1 ) 创建项目文件。选择f i l e n e v e 菜单项,新建一个基于对话框的项目文 件m y d l g o p e n g l ; ( 2 ) 修改对话框模板。删除对话框中的静态文本,调整控件的位置。 ( 3 ) 创建新类,添加消息映射。选择v i e w l c l a s s w i z a r d 菜单项,打开m f c 对 话框,在a d dc l a s s 之中选择n e w ,以便添加一个新类c o p e n g l ,且该类的基 类选择g e n e r i cc w n d :最后利用m f cc l a s s w i z a r d 为c o p e n g l 类添加消息 w mc r e a t e ,w mp a i n t 的映射。 ( 4 ) 添加代码。 首先定义像素格式,创建o p e n g l 显示。在o p e n g l 能够在一个绘图对象 中绘图之前,该绘图对象必须初始化。为此引入像素格式的概念。像素格式能 告诉o p e n g l 是否使用双缓存,颜色模式,颜色位数,深度位数等等重要信息。 它由一个被称作p i x e l f o r m a t d e s c r i p t o r 的所描述。于是在o p e n g l h 中 定义函数i n tm y s e t p i x e l f o r m a t ( h d cl a d e ) 。然后在o p e n g l c p p 文件中加入如下 代码,对象素格式进行初始化: 9 上海大学硕士学位论文 三维人脸重建与识别技术研究 i n tc o p e n g l :m y s e t p i x e l f o r m a t ( h d ch d c ) p e l f o r l 帅e s c r j p t o rp f d = s i z e o f ( p i x e l f o r m a t d e s c r i p t o r ) , p f d 结构的大小 1 。版本号 p f dd r a wt ow i n d o w i支持在窗口中绘图 p f d _ s u p p o r t _ o p e n g l i,支持o p e n g l p f dd o u b l e b u f f e r ,双缓存模式 p f dt y p er g b a 。r g b a 颜色模式 2 4 , 2 4 位颜色深度 0 ,0 ,0 ,0 ,0 ,0 , 忽略颜色位 0 没有非透明度缓存 o ,忽略移位位 o 无累计缓存 0 ,0 ,0 ,0 , 忽略累计位 3 2 ,3 2 位深度缓存 o 无模板缓存 0 无辅助缓存 p f dm a i np l a n e 主层 0 保留 0 ,0 ,0忽略层,可见性和损毁 掩模 ; i n t i p i x e l f o r m a t ; 为设备描述表得到最匹配的像素格式 i f ( ( i p i x e l f o r m a t = c h o o s e p i x e l f o r m a t ( h d e ,& p f d ) ) 一0 ) m e s s a g e b o x ( ”c h o o s e p i x e l f o r m a tf a i l e d ”,n u l l , m b _ o k ) ; 1 0 上海大学硕士学位论文三维人脸重建与识别技术研究 r e t u r no : ) 设置最匹配的像素格式为当前的像素格式 i f ( s e t p i x e l f o r m a t ( h d c ,i p i x e l f o r m a t , & p f d ) 一f a l s e ) ( m e s s a g e b o x ( ”s e t p i x e l f o r m a tf a i l e d ”,n u l l ,m b _ o k ) ; r c t u l l lo : ) r e t u r n1 ; 随后就可以在o n c r e a t e 函数中创建绘图描述表。其代码如下: i n tc o p e n g l :o n c r c a t e ( l p c r e a t e s t r u c tl p c r e a t e s t r u c t ) i f ( c w n d :o n c r e a t l p c r e a t e s t m c t ) = 一- 1 ) t o r a h l - l : m y s o t p i x d f o r m a t ( :g e t d c ( m _ h w n d ) ) ; 设置当前的绘图像素式 h d c = :g e t d c ( m _ h w n d ) ; 获得绘图描述表 h g h c = w g l c r e a t e c o n t e x t ( h d c ) ; 创建绘图描述表 w g l m a k e c u r r e n t ( h d c ,h g l r c ) ; 使绘图描述表为当前调 用线程的当前绘图描述表 r c t o l no ; 为使描述的三维物体更加生动,需要进行光照处理,为此添加o p e i l g l 显 示。在o p e n g l h 中定义函数l i g h t s h i n e 函数,作为添加光源和材质属性的函 数。在该函数中将创建两个光源,并使其位于不同位置,以产生不同的效果。 定义;环境光,散射光,镜面光和镜面反射指数。因为没有一种光源完全由以 上三种中的一种光源组成,所以任何一种光源都是由以上三种光源的光照成分 组成的,即为混合光源。其成分值由r g b a 定义。用材料对光的三原色的反射 上海大学硕士学位论文 三维人脸重建与识别技书研究 率来定义材料的颜色,与光源相对应,。代码如下: v o i dc o p e n g l :l i g h t s h i n e ( v o i d ) g l f l o a tm a t _ d i f f u s e 4 = i 050 。5 ,1 0 1 ; o l f l o a t m a t s p e c u l a r 4 = 1 0 ,1 o 1 0 ,1 0 ) ; g l f l o m m a t _ s h i n i n e s s 1 = 1 0 0 0 1 ; 光源l g l f l o a tl i g h t _ p o s i t i o n o 4 = 0 ,5 0 0 ,5 0 0 ,o ) ; g l m a t e r i a l f v ( o lf r o n t , o l _ d i f f u s e m a t _ d i f f u s e ) ; g l m a t e r i a l f v ( o lf r o n t , g l - s p e c u 帆m a ts p e c u l a r ) ; g l m a t e r i a l f v ( g l _ f r o n t ;g l _ s h i n i n e s s ,m a ts h i n i n e s s ) ; g l l i g h t f v ( g l _ l i g h t 0 ,g l - p o s i t i o n ,l i g h t _ _ p o s i t i o n o ) ; g l e n a b l e ( g l - - l i g h t 0 ) ; | | 凝、攮2 o l f l o ml i g h t _ p o s i t i o n l 4 = 1 0 0 0 ,1 0 0 0 ,1 0 0 0 ,0 ) ; g l f l o a t m a t _ d i f f u s e i 4 = 0 5 ,0 5 ,1 0 ,1 o ; # l i g h t f v ( g l - l i g h t l ,g l _ d i f f u s e ,m a t _ d i f f u s e l ) ; g l l i g h t f v ( g l - l i g h t i ,o l _ s p e c u l a r , m a t _ s p e c u l a r ) ; g l l i g h t f v ( o l - l i g h t i ,g l - s h i n l n e s s ,m a t _ s h i n i n e s s ) ; g l l i g h t f v ( g l - l i g h t i ,g u o s i t i o n ,l i g h t _ p o s i t i o n l ) ; # e n a b z e ( o u i g h t l ) ; 使模型能接受光照 g l e n a b l e ( o l l i g h t i n g ) ; g l l i g h t m o d e l i ( g l - l i g h t _ m o d e l _ t w o _ s i d e ,g l _ t r u e ) , g l d e p t h f u n c ( o l _ l e s s ) ; g l e n a b l e ( g l _ d e p 啦乃e s t ) ; 计算定点法线 g l e n a b l e ( g l _ a u t on o r m a l ) ; 1 2 上海大学硕士学位论文 三维人脸重建与识别技术研究 百e n a b l e ( g l _ n o r m a l i z e ) ; ) 所绘物体在哪个区域内进行绘制以及这个区域的风格是怎样的必须需要进 行定义。为下一步的绘图工作打下基础。那么可以在m y d l g o p e n g l d l g c p p 的 函数o n i n i t d i a l o g ( ) 中加入如下代码2 c r e e tr e c t ( 7 ,7 ,3 0 0 ,3 0 0 ) ;,定义绘图区域的大小 m _ _ p d i s p l a y - c r e a t e ( n u l l , n u l l , 定义窗口风格 w s _ c h i l d i w s _ c l i p s i b l i n g s i w s _ c l i p c h i l d r e n w s _ - v i s i b l e , r e c t , t h i s , o ) ; 在前面的准备之后,现在可以在o n p a i n t 函数中绘制图象。在具体进行绘 制物体时需要注意的是:g l p u s h m a t r i x 0 - 与g l p o p m a t r i x o 的使用必须成对出现。 此外必须正确使用g l s e a l e o 函数和g l r a t a t e o 函数以及双缓存技术,以实现所 绘物体的在指定窗口由远及近,由小变大的旋转。以绘制一个球体为例,代码 如下: v o i dc o p e n g l :o n p a i n t 0 g i c i e a r ( g l _ c o l o r _ b u f f e r _ b i tg l _ d e p t hb u f f e rb i t ) ; s p a c e + = 0 0 0 5 ; i f ( s p a _ c 炉1 们 s p a c e = 幻1 ; s t e p = s t e p + 1 o : i f ( s t e p 3 6 0 0 1 s t e p = s t e p - 3 6 0 o : g l p u s h m a t r i x o ; 1 3 上海人学硕上学位论文 三维人脸重建与识别技术研究 g l s c a l e f ( s p a c e ,s p a c e ,s p a c e ) ; g l r o t a t e f f s t e p ,0 0 ,1 0 ,0 o ) ; g 瓜o t a t 咀s t 印,0 0 ,0 0 ,1 o ) ; g l r o t a t e f ( s t e p ,i o , o 0 ,0 o ) ; l i g h t s m n e o ; g l u t s o l i d s p h e r e ( i 0 ,2 0 ,1 6 ) ; g l p o p m a t r i x o ; g l f l u s h o ; s w a p b u f f e r s ( h d c ) ; 缩放物体 绕y 轴旋转物体 鹏老z 轴旋转物体 绕x 轴旋转物体 鹏忝加光照属性 绘制球体 使用双缓存技术实现交 换缓冲区 ) 在结束运行时,我们必须将一些环境变量释放。于是应该在添加的类 c o p c n g l 的析构函数中进行操作,以释放d c 和删除r c 。代码如下: c o p c n g l :o p c n o l ( ) w g l m a k c c u r r e n t ( n u l l ,n u l l ) ; w g l d e l e t e c o n t e x t ( h g l r c ) ; :r e l e a s e d c ( m _ h w n d ,h d c ) ; ) 2 3 三维人脸模型介绍 删除绘图描述表 释放设备描述表 本文使用c a n d i d e - - 3 三维人脸模型进行三维人脸重建。c a n d i d e - - 3 是一个简单的参数化的人脸标准模型,它同时兼容m p e g 中的人脸动画参数 ( f a p s f a c i a l a n i m a t i o np a r a m t e r s ) 和人脸定义参数( f d p s - - - f a c i a ld e f i n i t i o n p a r a m e t e r s ) 因此该模型被广泛应用于人脸识别和动画的科研中。c a n d i d e - - 3 包含1 1 3 个顶点和1 8 4 个面( 如图2 - 2 所示) ,可以通过一系列的全局和局部 的动作单元( a c t i o nu n i t s ) 来控制。 1 4 上海大学硕士学位论文 三维人脸重建与识别技术研究 c a n d i d e - - 3 中的人脸运动参数包括两类:外形参数( s h a p eu n i t s ) 和动画参 数( a n i m a t i o nu n i t s ) 。外形参数是描述人脸形状的参数,对于一个确定的人外形 参数不会有较大变化,它描述人脸的静态特征。外形参数包括:头的高度,眼睛, 眉毛在纵向上的位置以及人眼的宽度、高度,鼻子、嘴的位置和高度等等。动画 参数是用来描述人脸的动态外形,当人做各种表情的时候,虽然外形参数变化不 大,但描述人脸的细节变化的动画参数,往往变化较大。动画参数包括:眼睛的 睁开、闭合,嘴唇的蠕动,嘴的张开,嘴角的运动等。 图2 - 2c a n d i d e 一3 三维人脸模型 c a n d i d e - - 3 - - - 维人脸模型在计算机中使用点和面来表示。点就是“3 个顶 点,每个顶点用( x , y , z ) - - 个坐标表示并为每个顶点标_ l 0 - - 1 1 2 的序号。每一个面 由特定的三个顶点构成,表示为p j , p 2 , p 3 ) ,总共构成了1 8 4 个面。那么一个三维 人脸结构就可以用顶点坐标和构成每个面的三个顶点的集合来表示。具体表示如 下: 顶点定义: t y p e d e f s t r u
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 华中师大版体育与健康七年级《二 轻轻松松练一练》听评课记录2
- 员工安全基础知识培训课件
- 公安交管执法课件
- 辽宁沈阳地铁有限公司所属公司招聘笔试题库及答案详解(全优)
- 南京特殊教育师范学院招聘人员笔试备考题库及答案详解1套
- 社会资本价值量化-洞察及研究
- 难点解析自考专业(小学教育)试卷附答案【培优】
- 微流控基因突变分析-洞察及研究
- 健康社区评价指标-洞察及研究
- 2025年事业单位笔试-江西-江西妇科(医疗招聘)历年参考题库典型考点含答案解析
- 2024年销售居间合同
- YC/T 310-2024烟草漂浮育苗基质
- 智慧公厕设备采购投标方案(技术方案技术标)
- 有限空间安全检查表
- 关于吃火锅的心得感悟
- MapInfo使用教程教学课件
- 电梯高处施工方案
- 脑梗死的健康宣教
- 医药产品经理成长手册
- 新能源汽车综合故障诊断技术PPT完整全套教学课件
- 青海+甘肃丝路研学简易版
评论
0/150
提交评论