




已阅读5页,还剩58页未读, 继续免费阅读
(计算机应用技术专业论文)基于草图的头发模拟算法的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西北师范大学硕士学位论文 摘要 摘要 具有真实感的人体三维动画已经在电影制作、计算机动画、视频会议中大量 使用,作为真实感人体组成部分的头发,对它的模拟和渲染是计算机图形学中一 个极具挑战性的问题,困难在于人类头发的模拟几乎涉及图形学的各个方面,头 发的数量太大以至于难于建模、头发的渲染需要花费大量的时间,各种各样的发 型很难用统一的方法模拟等方面。 本论文介绍了已有的几种头发模拟的方法,在仔细分析、研究各自优缺点的 基础上,采用几何造型法建模,提出了一种基于草图的交互式头发模拟算法,首 先从二维的控制头发草图出发,编程对其进行处理,通过简单的人机交互,将二 维的控制头发合成为三维的控制头发,继而通过对相邻的控制头发插值进行头发 的繁殖,得到全部头发的数据,最后使用o p e n g l 进行渲染,得到具有真实感的头 发模型。 本文所做的主要工作总体上可分为草图数据处理、合成三维控制头发、头发 繁殖、o p e n g l 渲染四阶段,提出的算法最大的特点是简单,易于实现,可以用来 产生其它三维头发模拟程序的原始数据,为在合理的时自j 范围内模拟出头发模型, 进一步进行头发动画的研究打下了基础。 关键词 头发模拟,头发模型,控制头发,头发繁殖,渲染 西北师范大学硕士学位论文a b s t r a c t a b s t r a c t 3 dp h o t or e a l i s t i ch u m a nb o d ya n i m a t i o nh a sb e e nu s e dw i d e l yi nm a n yf i e l d s s u c ha sf i l mi n d u s t r y , c o m p u t e ra n i m a t i o n ,v i s i o nc o n f e r e n c e ,e t c a n dh a i rb e i n gap a r t o fh u m a nb o d y , i t ss i m u l a t i o na n dr e n d e r i n gi st h em o s tc h a l l e n g i n gp r o b l e mi nt h e c o m p u t e rg r a p h i c s t h e r e a s o nw h yh a i rs i m u l a t i o ni s a d i f f i c u l t y l i e si nt h e f o l l o w i n g :i t ss i m u l a t i o nn e e da l m o s ta l lt h ek n o w l e d g ea b o u tc o m p u t e rg r a p h i c s ,a n d t h eq u a n t i t yo fh a i ri st o ol a r g et ob em o d e l e d ,a n di t sr e n d e r i n gn e e dl o n gt i m e ,a n dh a i r v a r i e so n ea n o t h e ri ns t y l es oi th a r d l yc a nb es i m u l a t e du s i n ga nu n i q u em e t h o d e t c i nt h i sp a p e r , a f t e ra n a l y s i n ga n ds t u d y i n gc a r e f u l l yt h ea d v a n t a g e sa n ds h o r t a g e s o ft h em e t h o d sh a v eb e e np o s t e d ,r e f e r r e n c e df r o mt h o s em e t h o d sa n du s e dt h e g e o m e t r ym o d e l i n gm e t h o d , as c r a t c hb a s e di n t e r a c t i v ea l g o r i t h mi sp r o p o s e dt o s i m u l a t eh a i r t os t a r tw i t h , m yw o r kb e g i n sf r o m2 dc o n t r o lh a i rs c r a t c hi m a g e ,ih a v e w r i t t e nac o m p u t e rp r o g r a mt op r o c e s st h es c r a t c h v i as i m p l ei n t e r a c t i o nw i t ht h e p r o g r a m ,3 dc o n t r o lh a i rw i l lb es y n t h e s i s e df r o mt h e2 dc o n t r o lh a i r n e x ti st o p r o p a g a t eh a i rb yi n t e r p o l a t i n gt h en e i g h b o u r i n g3 d c o n t r o lh a i r ,a n dt h ed a t ao fa l lt h e h a i rw i l lb ea c q u i r e d f i n a l l yt h ed a t ai sr e n d e r e du s i n go p e n g la n dt h er e s u l ti st h e h a i rm o d e lh a ss e n s eo fr e a l i t yi sg a i n e d a sa w h o l e ,t h em a i nt a s ko ft h i sp a p e rc a nb ed i v i d e di n t o4p a n ss u c ha sd a t a r e a do ft h es c r a t c hi m a g e ,s y n t h e s i so ft h e3 dc o n t r o lh a i rf r o m2 dc o n t r o lh a i r , h a i r p r o p a g a t i o na n dr e n d e r i n gi no p e n g l a n dt h em o s tn o t a b l ef e a t u r eo ft h em e n t i o n a l a l g o r i t h mi ss i m p l ea n de a s yt ob ei m p l e m e n t e d i tc a nb eu s e dt op r o d u c et h ed a t au s e d b yo t h e rs i m u l a t i n gs o f t w a r e ,a n dt h ea l g o r i t h mc a na l s ob eas o l i df u n d a t i o no ft h e s t u d yo fh a i ra n i m a t i o n k e y w o r d s : h a i rs i m u l a t i o n ,h a i rm o d e l ,c o n t r o lh a i r , h a i rp r o p a g a t i o n , h a i rr e n d e r i n g 西北师范大学硕士学位论文 独创性声明 本人声明所呈交论文是我个人在导师指导下进行的研究工作和取 得的研究成果。论文中除了特别加以标注和致谢的内容外,不包含其 他人或其它教育机构已经发表或撰写过的研究成果和资料,也不包含 为获得西北师范大学或其他教育机构的学位或证书而使用过的材料, 与我一同工作的同志对本研究所做的贡献均已在论文中作了明确的声 明并表示了谢意。 签名:牟翅;纽垒竭一 关于论文使用授权的说明 本人完全了解西北师范大学有关保留、使用学位论文的规定,即: 学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以 公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保 存论文。 ( 保密的论文在解密后应遵守此规定) 签名:盔塑;垒垒鱼导师签名:i 圣逊同期;2 z ! 鞋 西北师范大学硕士学位论文 第一章绪论 1 1 头发模拟问题的提出 第一章绪论 “w e l c o m et ot h er e a lw o r l d ” 电影黑客帝国的主人公一句话就将人们带回了真实世界,但在程序中创 造一个三维世界却没那么简单。随着计算机图形学的逐步深入和完善,特别是二 维图形技术的发展,极大的推动了二维图形处理软件的迅速发展,许多优秀的图 形软件相继出现并经久不衰,如p h o t o s h o p 图形处理软件,可以相对轻松的对二 维图形进行处理。但是因为三维图形的复杂性,相应软件发展也略显滞后,其原 因一是三维数据的处理相对比较复杂,二是三维数据的处理程序没有二维的那样 容易普及。 三维图形就是为了使图形看起来更真实,就象每个人眼睛平时所看到的一样 或至少接近人眼所看到的内容,计算机处理三维图形就是利用计算机生成非常逼 真的图形的视觉效果。人眼中形成的图形,实际上就是自然光照射到物体上,物 体反射光到人眼睛垦产生的,其实就是彩色光线产生了图形,这个过程说起来并 不复杂,但真正在计算机中实现起来非常困难。 首先是光线距离视点的位置和方位角不同,也就是物体相对位置的差异,这 种差异在真实世界实现起来相对容易,例如:电影拍摄时可以布景,布景的道具 可能很小,但通过位置的调整可以使我们看到的大得多,同样的差异在电脑屏幕 上也可以实现,只不过需要通过大量的计算来完成。 其次,就是光照的复杂性,自然光及其它光线在物体上的反射、折射等过程 是十分复杂的,多数时候我们可以很容易识别出三维图形是电脑做成的,主要原 因就是光线不自然,这其中有两方面的原因,其中一方面是程序员的经验问题和 细心程度,另一方面是计算机处理速度方面的问题,比如人的头发和草丛的运算 量就非常巨大。 近年来,随着芯片技术和计算速度的飞速发展,三维物体的位置和光线计 算已不是主要矛盾,人体三维图形技术得以大幅度发展,3 d 化象风暴席卷游戏业 和影视界,具有真实感的三维人体动画已经在电影制作、计算机动画、视频会议、 广告设计中大量使用。人们对人体造型技术更是r 渐关注,在这种情况下,人们 对人体三维图形技术提出了更高的要求,从而引起研究人员更进一步的关注。 三维人体动画几乎涉及了图形学的各个方面,而静态三维造型又是制作逼真 西北师范大学硕士学位论文第一章绪论 动画的前提,是计算机人体动画的基础。在计算机人体动画技术中,头发作为完美 人体造型不可或缺的一部分,其计算机模拟技术的发展略显滞后,很多三维头部 模型都没有头发,或者只有类似头盔的头发,极不美观,也很不自然。随着人体 三维造型技术的发展,模拟不同造型的头发成为真实感人体动画的一大瓶颈,国 外有不少学者提出了头发动画的模型,是目前图形学中正在研究的热点,是最具挑 战性的问题之一。 1 9 9 5 年,皮克斯以玩具总动员( ( t o ys t o r y ) 制定了新一代计算机动 画的标准。在那以后,他们以虫虫特工队( ab u g sl i f e ) 、玩具总 动员i i 、怪物公司( ( m o n s t e r si n c ) 及海底总动员( ( f i n d i n gn e m o ) 等一系列卖座动画片在好莱坞攻城拔寨。代表着他们冲击新的标准的超人特工 队放弃了玩具、昆虫、海底生物,他们要面对的是在动画中最难对付的角色一 一人。导演布拉德伯德说:“动画片最难处理的是什么? 是人,模拟人的头发, 模拟身上的衣料,尤其是模拟被风吹起的或是在水中的头发和衣料。这里面的工 作量简直让人疯掉了,连我都不完全了解这个过程有多耗时间。” 看来,头发模拟的确是一个必须解决的难题。头发模拟必须面对的问题有三 个,分别是:头发形状建模、头发动画、头发渲染。几十年来,研究人员在这三 个方面都进行了大量的研究。人类的头发数量多,颜色跨度大、头上不同部分头 发在光的照射下有不同的光泽、而且发型千差万别,总之,这些特点正是头发问 题的难点,模拟头发困难之处在于: 1 头发数量巨大 正常情况下人的头发有1 0 力到1 5 力根头发,而每根头发对应着不同长度、 空问曲线般的生长方向、颜色跨度大、头上不同部分不同的光泽、发型于差万别。 这些特性使得建模,动画模拟及渲染过程都需要花费大量的时间。头发模拟挑战 主要来自于单根头发处理的复杂性,而且控制这么大数量的几何体也是一个繁杂 的过程。 2 单根头发的体积小而且形状精细 头发很细,但是又不等同于二维平面中的线,每根头发都有自己的生长方向, 相互之间独立也有关系,一缕头发走向大概一致,但每根头发又不完全相同,头 发之间还要有间隙,一个方向亮度基本一致,但也要看到单根头发的效果,要保 证每根头发都生长在人的头皮之上而不伸进头皮。 3 头发复杂的光照效果 2 西北师范大学硕士学位论文第一章绪论 叫超纹理( h y p e r t e x t u r e ) 模型) 模拟长有毛绒的物休。体密度用伪随机函数控 制,这样的超纹理被放置在物体的表面,生成极自然的动物皮毛效果,由此引出 的一系列改进的模型可绘制很多的动物皮毛,森林及草地,k a j i y aa n dk a y 【2 】提 出了一种3 d 纹理模型,用这种技术绘制的玩具熊t e d d y 毛发绘制效果几乎可以假 乱真。结合k a j i y a 的纹元思想,陈宏和吴恩华在1 9 9 0 年将辐射度技术用于毛绒 曲面的绘制,按照他们的辐射度映射方法,也达到了比较真实的头发效果。但这 种方法适合远距离观察的毛绒物体绘制,并不适合人类各种头发造型及较长的毛 发绘制。 到了1 9 9 1 年,人们才开始研究生成和绘制长发的技术。l e b l a n c 【7 1 把每根长 发定义成弯曲柱面,并用多个拼接起来的直棱柱面近似表示;g n e n a t _ t h a l 岫n n 应用l e b l a n c 的方法绘制出了“梦露”带有光照效果的头发:a n n j y o ,r o s e n b l u m 和s h i h 应用力学原理描述每根头发的形状。 1 9 9 2 年,a n n j y o 3 1 首次用链式模型来表示头发,将头发看成一个点的线性集 合,并且用悬臂梁变形技术来模拟头发动作。但是之前的建模方法都没有头发束 的概念,y w a t a n a b e 【4 】和s u e n a g a 把头发造型成连续的三棱柱模型,用三棱柱 来模拟一段头发,通过控制三棱柱的有关参数来生成不同形状的头发,为了精确 地控制头发的生成,每根头发的弧按照其长度和重力的函数来造型。并且有了头 发簇的概念,把头发按簇处理,有效地控制了头发的信息量,头发的发型和修剪决 定于所谓的控制头发或特征头发,大大减少了用于造型的头发的数量,因此在后 来的研究中被很多人采用。 d a l d e g a n 【l5 】提出了一个完整的发型建模系统,完成了头发建模、头发动画、 碰撞检测、头发渲染。 h a d a p 5 】等人首次把头发看成一种流体,采用了平滑的粒子流体模型来分析头 发之间的交互,粒子系统是模拟模糊物体( 如云,草,山等) 的常用方法,可以 用来生成一般的毛绒物体。但是,粒子一般是在显示时直接绘制的,实际上难以 按其形状绘制高清晰度物体。 m o n o t o y a - - v o s m e d i a n o 和h a m m e 6 1 提出了用n u r b s 曲面来定义头发的形状 和动作,由关键头发扩展出n u r b s 曲面块,多个n u r b s 曲面块重叠起来,形成视觉 连贯的头发曲面,从而实现简单的头发模拟。 2 0 0 5 年,微软亚洲研究小组和香港大学的y w e i ,e o f e k ,l q u a na n d h s h u m l l 8 1 提出了基于图像的绘制方法。传统图形绘制技术均是面向景物的几何造 4 西北师范大学硕士学位论文第一章绪论 头发具有各向异性的特点,光照模型的选择,是否考虑头发之间的阴影效果, 直接决定了头发渲染的结果是否具有真实感。 各种不同的模型方法都以获得具有象照片一样逼真的3 d 头发模型为目的, 很多研究人员都在致力于头发建模和头发渲染的研究并且取得了一定的成功。 i 2 头发模拟的研究现状 以前的头发研究方法可以分为两种:一种基于单根头发或一缕头发的物理属 性及动力学特征,对单根头发或一缕头发进行建模,另外一种基于流体流动( f l u i d f l o w ) 及体绘制( v o l u m e t r i cr e n d e r i n g ) 技术,这种技术是通过数学方程对发型进行 建模但并不提供头发或头发束的几何模型。 二十几年前,c s u r i t i 】最早使用多边形来模拟头发,他对头发的处理使用了 成千上万个多边形,但是人们不能接受它的效果,而是要求得到满足更高视觉需 求的头发,对头发的几何形状、头发的发型、头发的颜色光泽都有更高的要求。 近年来,虚拟现实技术得以发展,头发模拟技术也随之得以提高。一种好的模拟 方法要解决三个问题:头发形状建模、头发动画、头发渲染,并且这三个方面互 相影响,解决一个方面的问题会引出其它的相关问题。例如:单根头发的形状、头 发的密度、决定了几千根头发渲染后的效果。 计算机图形学中的头发模拟在效果、时间、可行性等方面都还远远不如人意, 发型大多是短发和极简单的发型,还没有一种大家公认的理想方法成为建立头发 模型的标准,因此人们在头发模拟问题上作了很多研究。 已存在的典型方法有:几何造型方法( g e o m e t r i cm o d e l ) 、粒子模型( p a r t i c a l b a s e dm o d e l ) 、体纹理映射方法( v o l u m ed e n s i t ym o d e l ) 和基于图像的绘制 ( i m a g e db a s e dr e n d e r i n g ) 方法。 几何造型方法对单根头发建模,确定头发生长点,判定头发生长方向,用各 种曲面做成发型网罩,在网罩上“繁殖”多根头发。后来m i l l e r 建立了绘制丝状 元素的光照模型,并把毛发按照分段丝状元素来造型。 1 9 8 8 年,w e i l 提出了一种空间上头发图像动画的电视技术 9 1 。 1 9 8 9 年,p e r l i n 介绍了一种运用b o o l e a n 模型较形象地得到头发形状的方法。 从1 9 8 9 年起,人们开始用体绘制和三维纹理映射的方法绘制毛绒曲面,直接 应用了光线跟踪体绘制技术。虽然绘制时间上的开销较大,但这种方法产生了最 有说服力的毛绒物体图形。p e r l i na n dh o f f e r t l 7 1 用体密度模型( 体密度模型也 西北师范大学硕士学位论文 第一章绪论 型而设计的,因而绘制过程涉及到复杂的建模、消隐和光亮度计算等。尽管通过 可见性预计算技术及场景几何简化技术可大大减少需处理景物的面片数目,但对 于象头发这种高度复杂的场景,现有的计算机硬件仍无法实时绘制。而基于图像 的绘制方法从多角度拍摄真实感图像,对于真人发型的模拟非常逼真,此方法针 对一个现实中存在的真实的头发进行模拟。 1 3 基于图像的建模方法( i m a g e - b a s e dm o d e i i n g ) 基于图像的建模技术( i m a g e b a s e dm o d e l i n g ) 是将待建三维空间实体的有 限幅图像样本,在一定的图像处理算法和视觉计算算法的基础上来直接构造出三 维场景的技术。 1 3 1 双目立体视觉原理理论介绍 借助于双目效应的双目立体成像技术,可以用于实时显示三维图像。双目效 应之所以使人产生立体感觉,是由于人的双眼有6 7 c m 的距离。当双眼同时观看 同一物体时,就会在两只眼睛的视网膜上,留下稍有差异的两个不同的物体的像, 这种差别称作“立体视差”。立体视差经视觉神经传给大脑,同时,在观察不同远 近、不同大小的物体的过程中,眼球还要转动,调节两眼视轴汇聚角度的大小和 对物体进行扫描观察。这些观察过程中得到的空问视觉信息,再加上人们观察客 观物体的经验,一起反映给大脑,产生了对物体的立体感觉,可见在双眼中形成 “立体视差信息”是获得立体感的必要条件。获得立体视差信号,用两台摄像机 模仿人的双眼就可以,分别从左、右不同角度同时摄像,记录下使人产生立体感 的信号,并将这两路信号经过一定的组合,显示在显示器上,便可形成立体图像。 双目立体视觉三维测量就是基于视差原理,图1 1 所示为简单的平视双目 立体成像原理图,两摄像机的投影中心的连线的距离,即基线距为b 。摄像机坐 标系的原点在摄像机镜头的光心处,坐标系如图l l 所示。事实上摄像机的成像 平面在镜头的光心后,图l 一1 中将左右成像平面绘制在镜头的光心前f 处,这个 虚拟的图像平面坐标系u o l v 、u 0 2 v 的u 轴和v 轴与和摄像机坐标系的x 轴和y 轴 方向一致,这样可以简化计算过程。左右图像坐标系的原点在摄像机光轴与平面 的交点0 1 和0 2 。空日j 中某点p 在左图像和右图像中相应的坐标分别为p 1 ( u ,v 。) 和p 2 ( u :,v :) 。假定两摄像机的图像在同一个平面上,则点p 图像坐标的y 坐标相 西北师范大学硕士学位论文 第一章绪论 同,即v i = v 。由三角几何关系得到: b , - , ! ? p x c y c f 图1 1 双目视觉差成像原理 铲,笋屹= 学h = 吃= 手 上式中( x 。,y 。,z c ) 为点p 在左摄像机坐标系中的坐标,b 为基线距,f 为 两个摄像机的焦距,( u ,v ,) 和( u 。v 2 ) 分别为点p 在左图像和右图像中的坐标。 视差定义为某一点在两幅图像中相应点的位置差: d = 眠叫= 等 由此可计算出空间中某点p 在左摄像机坐标系中的坐标为: fb “l x2 1 产 ,r :生兰 7 d z ,:堕 d 因此,只要能够找到空间中某点在左右两个摄像机成像平面上的相应点,并 6 西北师范大学硕士学位论文 第一章绪论 且通过摄像机标定获得摄像机的内外参数,就可以确定这个点的三维坐标。 由上述双目视觉系统的基本原理可知,为了获得三维空间中某点的三维坐 标,需要在左右两个摄像机成像平面上都存在该点的相应点。立体视觉系统的一 般结构为交叉摆放的两个摄像机从不同角度观测同一被测物体,这样通过求得两 个图像中相应点的图像坐标,便可以由双目立体视觉测量原理求取三维空间坐标。 事实上,获取两幅图像也可以由一个摄像机实现,如一个摄像机通过给定方式的 运动,在不同位置观测同一个静止的物体,或者通过光学成像方式将两幅图像投 影到一个摄像机,都可以满足要求。 1 3 1 单视图 有研究者曾尝试用单视图创建三维实体模型。例如使用单视图对人脸三维模 型的建模,尽管投影时丢失了深度信息,不过借助于关于人脸的一些专门知识, 这种做法还是可行的。 1 2 年l j 用正面图像来建模,深度信息根据人脸度量学信息, 从一个数据库中获取。 1 3 则借助手工编辑来添加一些人对物体形状的主观判断, 可根据任意视角的一幅图像创建三维模型。 1 3 2 正、侧视图 基于立体视觉原理,由两幅图像即可恢复出三维信息。而根据实体位置分布 的情况,选择正面和侧面视图是一个比较自然的想法。有人较早利用正面和侧面 视图,按通用模型特定化的框架创建三维实体模型的研究工作。系统用事先已校 准的两台摄像机拍摄人脸的正面和侧面图像。在背景分割之后,算法用曲线模板 匹配的方法在侧面图像上定位出各个特征点,据此可以限制j 下面图像上特征的搜 索范围,并基于边缘线索来定位出这些特征。在得到这些二维特征点之后,系统 用二维的径向基函数在正面和侧面视图上分别进行模型拟合,之后再融合从两个 视图得到的结果,从而获得特定实体的三维几何形状,最后,系统再进行渲染以 得到真实感模型。 有许多利用工f 面视图和侧面视图建立实体的模型的研究。从体上总来说,其 处理的流程都大致相同,主要是在二维特征监测、模型修正算法上存在差异,例 如利用颜色、边缘等多线索,通过实体特征点间的相互关系来对准模型,之后再 对各部分具体求精,取得了比较好的二维特征检测效果。 总之,利用两幅视图可以简单、快速的完成建模,流程中的手工干预也比较 7 西北师范大学硕士学位论文第一章绪论 少。不过,这里实际上假定两幅视图h j 的位置变换关系已知,因此对数据采集时 两幅视图的要求较高。 1 4 本课题意义 纵观以前的各种建模方式,他们对模拟头发都有各自的贡献,但是粒子方法 难以获得真实感极强的头发,体纹理绘制方法难以表现头发的造型。大多数头发 模拟研究者还是采用几何造型法,但往往难以达到时间要求,或者效果不够逼真, 而且以往头发造型和绘制对发型构造的研究很少,这些方面都正在努力改进,尽 管困难重重,每种方法在某些地方总会给人以提示和借鉴。 发型的构造是头发模拟中必须解决的难题,但是不管哪种模拟方法,却都需 要构造发型。建模方法很多,但发型的生成极其困难,为了形成逼真的发型,研 究人员经常以真人头发为原型手工制作发罩,在发罩的帮助下进行下一步建模; 在头发的三棱柱模型中,通过改变三棱柱的参数来产生一根头发的三维数据,尽可 能更象真实的发型;还有用n u r b s 曲面来定义头发的形状,大大减少了工作量,但 是头发发型是由一块块的n u r b s 曲面构造的。 分析目自f 现有的头发模拟方法中发型构造的现状,可知,基于几何造型的方 法通常利用成熟的造型软件手工搭建模型。这种方法工作量极大,结果不够精确, 绘制效果也不够逼真。基于图像绘制的方法通常用场景的一个图像集合和与之对 应的深度映射束表达场景模型。基于图像绘制的主要优点是,它提供了一种对结 果图像中每个像素只需要固定计算量,而与场景复杂度无关的绘制方法,但对于 大规模场景则需要很多照片,使存储成为瓶颈,而且,系统能提供的场景交互手 段有限,对于很多应用领域不能满足要求。 迄今为止,很少见到有关发型重建的有效方法,文献 8 , 1 6 提供的交互式 工具可获得每根头发的几何形态,从而得到真实的重建效果,它的重建过程需要 大量的手工干预,工作量很大。文献 1 7 通过研究对象头发在不同光照条件下的 成像机理,提出了抽取每根头发的几何位置并最终重建真实发型的方法,但该方 法需要很多输入图像作为数据源,并且不能恢复很复杂的卷曲发型;文献 1 0 使 用多幅已标定图像共同确定每根头发的方位,从而可以重建卷曲发型,只是需要 很精确的相机标定。以上这些都是从细处着手,从局部出发重构对象发型的方法。 实际上,决定发型最终视觉效果的并非每根头发的具体状态,而是所有头发相互 作用后共同形成的整体轮廓,从整体概念出发,造型法、形变法、剪影建模等方 8 西北师范大学硕士学位论文 第一章绪论 法,都可以应用到发型重建过程中。 把几何造型和基于图像绘制结合起来是一种有效的方法,在基于图像的三 维建模方法的启示下,本论文提出一种基于草图的头发模拟的方案,通过简单的 交互,对单根控制头发进行几何建模,得到控制头发的发型,通过相邻控制头发 之间的插值,进行头发的繁殖,能够得到真实感较强的3 d 发型。 文中提出的基于头发草图的头发三维重建方法,虽然不能恢复如文献 t 8 中那样复杂的发型,但是有如下优点: 1 能用平面的发型草图恢复出三维头发; 2 对艺术家的平面发型作品进行立体重建; 3 不需要大量的输入图像; 4 计算过程简单、快速; 1 5 本文主要工作和内容安排 迄今为止,有很多研究人员都在从事头发建模方法的研究,但是发型的获得 一直没有一种公认的方法,本论文从二维草图入手对发型的三维建模进行了研究。 主要完成的工作有: ( 1 ) 提出了一种基于草图的发型建模算法,以草图作为输入,该算法把基于 图像的建模技术与头发特点相结合,结合人眼视觉特性,进行发型三维建模,结 果表明,此方法是可行的,并有较好的效果; ( 2 ) 对头发生成中遇到的各种问题进行了逐步分析,并提出了在本算法中的 处理办法; ( 3 ) 在对发型算法研究的基础上,进行了头发繁殖,并对发型进行了绘制。 本论文组织结构安排如下: 第一章介绍了头发模拟问题,介绍了头发模拟的研究现状; 第一章头发模拟算法的提出; 第三章基于几何造型方法的三维头发模型的基本过程介绍,提出基于草图 的发型建模算法; 第四章头发繁殖,头发渲染; 第五章总结与展望。 9 西北师范大学硕士学位论文 第二章头发模拟算法的提出 第二章头发模拟算法的提出 2 1 计算机生成头发的主要问题 用计算机显示头发,一般需要先有头部3 d 模型,在头部模型上确定头发生长 区域,产生头发生长点,定义头发生长方向,对头发进行渲染。 头发生成过程必须解决的问题图2 1 头发生成过程所示,主要有:头部建模、 头发形状建模、头发造型、头发绘制及渲染。利用已有3 d 建模工具可以方便的对 头部建模,得到头部模型的三维数据,也很容易从整个头部模型中获取生长头发 的区域,因此,头发生成的主要问题是:头发发型建模、头发渲染。 2 1 1 头发发型建模 图2 1 头发生成过程 头发的形状指单根头发的形状,大量单根头发最终生成发型。计算机显示器 能够直接显示的只能是二维数据,但是一根头发的生长方向是三维空间中一根不 规则的曲线,要表示一根头发,从真人头发做的发罩上得到一根头发的坐标值是 最常用的方法,这样的制作过程所耗费的人力、物力及时自j 都是相当可观的,得 到头发的形状数据,将成为后续建模工作的基础;在以往的研究中,有人用n u r b s 曲线来表示一根头发的走向,并且形成多个n u r b s 曲面来模拟发罩的形状,形成 头发的发型,但是这种方法构造的发型是比较单一的,并且在视觉上没有单根头 发的印象。 发型似乎只能由发型师在真人和模特身上实现,如何简便的得到一个好的发 型作为建模的基础? 其实,仔细观察图2 2 美术家们用自己的画笔在画布上画出 的各种肖像草图,很少的几笔,只是十几万根头发中的几报,一个轮廓,却能展 i o 西北师范大学硕士学位论文第二章头发模拟算法的提出 现给观众一个活生生的人物形象。这给我的计算机头发发型设计一个很大的启示, 于是我考虑利用平面图中的发型来生成三维发型。 图2 - - 2 草图示例 对于图2 2 中的几幅发型草图进行观察,会发现草图中线条代表的信息有: a ) 头发的正面轮廓:最外面的线条正是头发轮廓,头发的样式、厚度及正面 头发在x 轴、y 轴最大值、最小值得以确定: b ) 头发的弯曲程度及走向:从图中容易看到代表一绺头发的一根头发的所有 信息,其生长方向很明显。两根线条之问的头发应和这两根线条相似,可以由这 两根头发进行组合生成; c ) 发缝:在图中很容易找到头发的发缝,这个信息可以帮助我们正确的确认 那些头发之间可以合成,例如位于发缝两边的头发不能合成: d ) 头发的长度;一根线条的点的坐标信息,可以帮助我们获得头发的长度。 这些信息,正是一个三维头发发型的j 下面在平面上的j 下交投影,同样,从正 面、侧面及后面的草图上,也可获得三维头发发型的正面、侧面、后面在平面上 的正交投影。如果已知三维空间的同一个点在x o y 平面及y o z 平面上的正投影值, 就可得到一个点的三维坐标值。 不同面的正交投影可看作是将头部三维坐标中的某一维坐标值置为o 。侧面 草图表现的是头部侧面的头发在二维平面y o z 上的正投影,假设草图头发上的一 个点p l ( y ,z ) 的二维坐标值是三维空问上头发上一点p ( x ,y ,z ) 的投影,其中, p l 点可看作是p 点的x 值为0 时在坐标,点p ( x ,y ,z ) 和点p 1 ( y ,z ) 中的y ,z 值是相同的,如图2 3 侧面草图上一根头发同恢复到三维空间后的对照关系所 示,如果将侧面头发草图上的头发点信息再恢复到三维空间,则可得到这一侧头 发点对应的三维空间中的部分数据( y ,z ) ,但是没有x 值,所以必须求p 点的x 值。 正面草图表现的是头部j 下面的头发在二维平面x o y 上的正投影。对于上述的 西北师范大学硕士学位论文 第二章头发模拟算法的提出 一根三维头发上的一个点p ( x ,y ,z ) ,它在正面草图x o y 平面上一定有投影,假设 p 的投影点是p 2 ( x ,y ) ,这里的x 值正是刚才要求的x 值。一个三维点由两个投影 点可以恢复,已知两个方向上的投影头发,一根三维头发也可以由这两根头发合 成。 , f 、。 广 夕 苌t z 图2 - - 3 侧面草图上一根头发同恢复到三维空间后的对照关系 下面的问题是如何找到一根三维头发在x o y 和y o z 平面上的两个投影,为找 到这样的一对头发,可通过操作者主观选择,通过观察,对不同面的草图头发进 行配对,这样可以尽量减少误差。 找到一根三维头发在x o y 和y o z 平面上的两个投影,也就是两个平面草图上 的两根头发,可以用正面草图上头发的( x ,y ) 值,侧面草图上头发的( y ,z ) 值,合 成一根三维头发。 讨论了头发上一个三维点的合成,就可将其用于整根头发,以至于整个头部 头发,所有头发的合成应在给定4 幅草图的情况下进行。在这4 幅草图中,使正 面草图分别和左侧、右侧草图中的z 值大于0 的头发近似配对,得到前半个头部 的头发,背面草图分别和左侧、右侧草图中的z 值小于0 的头发近似配对,得到 后半个头部的头发。如果对发型不满意,还可在配对过程中对控制头发再进行平 移,适当的调整发型。 从平面草图构造出发型,恢复出头发发型的三维数据是本文的创新点,利用 4 幅草图可以使数据更精确,获得一个发型的基本数据,成为头发建模后续工作的 基础数据。 在得到了初始模型后,要恢复整个发型的结构和完整的可视表面,还需要借 助三角化、线性或非线性插值、参数表面的拟合、误差校j 下等手段和纹理映射技 术来完成整个重建工作。 因为发型由草图合成,所以得到的发型数据是很少的几根表示发型特点的头 发,称为“关键头发”或“控制头发”,其它的头发可由这些控制头发进行“繁殖” 1 2 西北师范大学颈士学位论文 第= 章头发模拟算法的提出 图2 4 生成的发型、一根头发生成多根头发示意图 产生,实际上,相邻的控制头发是一绺头发的边界,一对控制头发之间的其它头 发相邻走向相似,长度介于这两根边界头发的长度之间,如图2 4 中第二和第三 图所示,可对其进行线性插值,长出一根新头发;另外。在人的头部,一根头发 和它周围的多根头发走向往往几乎一致,所以图2 4 中右边两幅图所示,可使一 根头发周围产生数根相似的头发。根据这些特点,可得到大量头发的数据,然后 就可以使用这些数据显示头发。 2 1 2 头发渲染 头发的渲染有很多种方法,但需要渲染大量的头发,而每根头发的横截面积 又极小,细长且任意弯曲的特点使头发的绘制难度加大,对于这样精细形状的物 体绘制的光照模型也很难选择,而且绘制方法不同效果也不同。可以采用不同的 方法绘制头发,可以用面模型,然后再其上加纹理的方法,也可采用粒子系统来 快速绘制,粒子的轨迹也就是头发的走向,也可一根一根头发逐根绘制,本文对 头发逐根绘制。 对头发进行最后的显示时,应采用一种形状呈现单根头发,也就是单根头发 的建模问题,在本文中采用了三棱柱模型。将一根头发的数据分成2 0 段,每段是 一个三棱柱,2 0 个三棱柱首尾相接就成为一根头发。 2 2 算法的流程 头发发型构造和渲染的问题有了理论基础后,头发模拟算法的思路也逐渐形 成。本文算法的流程在图2 5 中给以描述。 首先给同一个发型从正面、后面、左侧、右侧不同方向准备4 幅不同的草图, 此草图要求如图2 2 中所示,必须能表现出某一面发型的轮廓,画出关键的几笔, 西北师范大学硕士学位论文第二章头发模拟算法的提出 并且是平行于某坐标轴的草图,能够从中采集出表现发型特点的几根头发的二维 坐标值。 【 开始 1 0 头部模璎数据的准备。 准备草图 从草图得到平面头发数据 2 d 数据合并生成3 d 头发数据 + 繁殖头发 上 将头发映射至头皮 0 绘制头发 士 结束 图2 5 头发模拟算法流程圈 再从草图中读取头发点坐标,并将其存储在数据文件中,为了便于头发平移, 头发数掘的坐标都是相对于第一个点即发根的偏移量。 利用正面头发2 d 数据和左侧面头发2 d 数据合成头部 j 面左侧的头发3 d 数 据,并将此数据存储起来,依此类推合成其它各面的数据,从而最终得到整个头 部发型数据。此时的发型数据只是有限的几根头发,但它几乎包含了该发型的全 部特征。 对这些头发的相邻头发之间反复进行插值得到一组头发,因为在离一根控制 头发距离很小的头皮上,头发都有几乎相同的长度、走向,所以经过对这根控制 头发的复制可得到一缕头发,通过以上两个原则进行多次复制即可得到满头的大 量头发数据,这些3 d 数据以文件形式存储起来作为最终绘制的输入数据。 在确定头发的绘制方法后,经过映射让发根定位在头皮上,因为单根头发要采用三棱柱 模型,将所有头发都以画若干个三棱柱的方法最终得以显示。 1 4 西北师范大学硕士学位论文 第二章头发模拟算法的提出 2 3 小结 本章首先介绍了一般头发模拟过程要解决的主要问题,然后提出了自己的基 于草图的头发发型构造方法,并在此基础上提出一个头发模拟算法,给出了算法 的流程。 西北师范大学硕士学位论文第三章模拟算法的形成与实现 第三章模拟算法的形成与实现 3 1 草图的获得及对草图的要求 在构造发型时,人们并不是直接将头发绘制在头部模型上,经常先用椭圆球 来近似表示头部,然后再进行映射。如果头部的宽度为a j 高度为b ,以椭圆球中 心为圆点,则头皮上的一点p 坐标( x ,y ,z ) 应满足以下方程: x = a y 2 b 2 + z 2 a = l 椭圆球在四个侧面的投影都是一个满足公式x 2 a 2 + y 2 b 2 = 1 的椭圆,在每个 侧面的草图上确定和椭圆中心相对应的一点为圆心。 为了更好地合成头发的三维数据,采用的草图的头部宽度和高度值或者宽高 比至少应保持一致,也就是应该描述的是同一个发型的不同侧面。 本算法要求的草图很容易生成,可以从画图程序得到,也可以借助扫描仪输 入同一个发型的一组草图,还可以是经过计算机简单处理的真人头发照片,只要 从正面、后面、左侧面、右侧面4 个方向的草图,能够体现出从平行于y 轴的方 向观察时的发型特征,并且草图中每根头发轮廓足够清楚就可以。以下图3 一l 四个方向的草图就是一组满足要求的草图。 3 2 头部建模 图3 一 四个方向的草图 头部建模的方法相对成熟,利用3 d sm a x 就可进行头部建模,但是,头发建 模时的数据格式却不同于3 d sm a x 的文件格式,后期的绘制工作是在v i s u a lc + + 使用o p e n g l 编程实现的,因此必须将头部模型的3 d sm a x 的文件格式输出为 o p e n g l 可以识别的格式。针对3 d sm a x 的文件格式,仔细分析其中的数据结构, 1 6 西北师范大学硕士学位论文第三章模拟算法的形成与实现 已经有人开发出了针对该文件的读入方法,以下列出的读取3 d sm a x 文件的程序 源代码可以从网上免费下载。a s e 文件( 3 d sm a xa s c i ie x p o r t 输出的文件) 以 文本的形式保存了3 d 模型的所有信息,这种文件有一个好处就是它非常容易读 取,也非常容易进行修改,只需一般文本编辑软件就可以了,如写字板、记事本 等。3 d sm a x 文件转换成o p e n g l 文件的读入转换模型:从3 d s 文件中读出数 据,使用一个工具v i e w 3 d s e x e 。在命令行中输入模型文件的名称,如 v i e w 3 d s e x em o d e l 3 d s ,或者直接将3 d s 文件拖到v i e w 3 d s 上,选择菜单中的 e x p o r to p e n g lcc o d e 菜单项,将生成o p e n g l 程序,在程序的初始化部分加入 如下代码: m o d e i = g l 3 d s i n t i a l i z e _ m o d e l n a m e 0 ; 其中,m o d e l n a m e 是对应的3 d s 模型的名称,该函数定义在模型的h 文件中。 绘制采用如下代码: g l c a l l l i s t ( m o d e l ) ; 这一问题的解决使得头部建模和头发建模在不同建模方式下生成数据,同时 在一个场景下绘制成为可能。 3 2 1 头部模型及其数据提取 借助现成的各种3 d 建模工具例如3 d sm a x 可以对头部进行三角形建模,并 且将头皮中长头发的部分进行分离,这部分头皮模型上可以生长头发,正如下面 图3 2 所示。 为了能脱离3 d sm a x 环境,将头皮模型数据输出为头发渲染时所需的数据格 式,要将它的各个三角形顶点坐标输出,保存成为一个文件,为最终将头发移殖 在头皮上做准备。在3 d sm a x 环境中,可以很方便地得到模型中三角形顶点的三 维坐标。 图3 2 长头发的区域及头皮上一点与椭球上一点的对应关系 1 7 西北师范大学硕士学位论文 第三章模拟算法的形成与实现 用三角形面片建造头部模型是较常见的方法,但是它对于确定头发的生长区 域及生长点比较困难。此外一般情况下,研究丌发的人体头部模型只是近似椭球 的形状,如果就
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/IEC 8663:2025 EN Information technology - Brain-computer interfaces - Vocabulary
- 国家能源内江市2025秋招面试专业追问及参考综合管理岗位
- 中国移动铜陵市2025秋招笔试行测经典题及答案
- 中国广电荆州市2025秋招笔试行测题库及答案通信技术类
- 国家能源六盘水市2025秋招面试专业追问及参考综合管理岗位
- 中国广电昌吉回族自治州2025秋招供应链采购类专业追问清单及参考回答
- 防城港市中石油2025秋招面试半结构化模拟题及答案安全环保与HSE岗
- 鞍山市中石油2025秋招面试半结构化模拟题及答案炼油工艺技术岗
- 西安市中石油2025秋招面试半结构化模拟题及答案油品分析质检岗
- 郴州市中储粮2025秋招笔试粮食政策与企业文化50题速记
- 2025离婚起诉状民事诉状(离婚案件用)
- 前端Vue3项目实战教程
- 智算中心高性能计算系统设计方案
- 中央八项规定精神应知应会测试题有答案【夺分金卷】附答案详解
- 2025年茅台酒厂考试试题及答案
- (20250731)房屋市政工程基孔肯雅热、登革热防控检查(自查)表
- 新媒体渠道管理办法
- 2025年浙江省人事考试工作(4月26日事业单位笔试)笔试历年典型考题及考点剖析附带答案详解
- (医疗质量及标准)JCI医院评审标准(第四版)版
- 机械加工工艺与工具知识测试试卷
- 沈阳停车收费管理办法
评论
0/150
提交评论