版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、虚拟服装中人体拓扑无关的试穿技术研究摘要:使用计算机辅助设计系统设计一件优雅的三维衣服是很耗时的,而且在一般情况下,衣服是基于某个参照人体模型设计的,所以需要一个试穿系统来将已设计好的衣服自动过渡到其他的人体模型身上,以提高已有设计的重用率;本文提供了一种基于人体代理网格和衣服网格参数化的试穿方法,该方法可自动将衣服试穿到与衣服的参照人体模型的体型或拓扑不一样的人体模型身上,试穿后的衣服可以被展平以进行仿真、制作等后续处理。该方法首先分别为参照人体模型和给定的目标人体模型生成代理网格,生成代理网格时,首先检测人体的六个特征点,并用这些特征点将人体分割为六个部分,然后分别为每个部分生成子代理网格
2、,最后将它们组合成完整的人体代理网格;接着基于参照人体模型的代理网格对衣服网格进行参数化,得到一个参数化数据集,该数据集独立于参照人体模型的体型和拓扑结构,并可以保存到磁盘文件中以方便重复利用和网络传输;通过解码该数据集到目标人体模型的代理网格就可以得到一件与目标人体模型大体合身的衣服。为了提高试穿质量,需要对该解码后的衣服网格做一些优化;本文通过使用参数化数据集中的形状特征向量集对衣服网格的形状进行迭代约束来消除衣服网格局部区域的扭曲现象,另外基于人体有向距离场来消除衣服网格与目标人体网格之间的穿透现象;为了展平最终试穿后的衣服网格,这里使用基于能量最小化的展平方法,其基本思想是首先获得一个
3、不太精确的初始展平网格,然后基于该网格构造一个质点-弹簧系统,最后迭代地释放该网格的能量来进行优化,当其能量达到预设的能量最小值时,就可以获得一个精确的展平网格。本文的试穿方法是自动的而且易于实现,试穿后的衣服可以保留其原始的类型特征,该方法可应用于虚拟服装设计与虚拟试衣等应用中。关键词:虚拟服装 服装建模 虚拟试穿 计算机辅助服装设计A Topology-independent Garment Fitting Method for Virtual ClothingUsing computer aided design system to design an elegant 3D garmen
4、t is usually time-consuming and the garment is often designed based on a reference human model, this largely reduce the reusability of existing design, thus a fitting system is necessarily to fit a garment to other human bodies. In this paper, we present a topology-independent 3D garment fitting met
5、hod based on proxy mesh and garment mesh parameterization. A garment can be fitted to another human model with different shape or topology as the reference human model of the garment, In addition, the fitted garment mesh can be flattened in order to do some post-processing such as simulation, produc
6、tion etc.Given a garment, we first generate a proxy mesh for the garments reference human body and the specified target human body respectively. To generate proxy mesh, we detect six feature points on the human body and these points divide the body into six parts, then a sub-proxy-mesh is created fo
7、r each part and these sub-meshes are later combined into a whole proxy mesh. With the proxy mesh generated, the garment mesh is parameterized based on the proxy mesh of the reference human body and a parameterized-dataset is obtained, the dataset is independent to the topology and shape of the refer
8、ence human model and can be stored into a disk file to facilitate reusing and network transmission. By decoding the dataset to the proxy mesh of the target human model, we can get a largely fitted garment.To improve the fitting quality, some optimizations should be enforced to the decoded garment me
9、sh. The local distortions on the garment mesh are alleviated by iteratively constraining the mesh using the shape feature vectors stored in the parameterized-dataset, and the penetrations between the garment and human body are resolved based on the signed-distance-field of the human body. After the
10、optimization, a well-fitted garment should be gained. To flatten the fitted garment mesh, an energy-minimization-based method is adopted. The basic idea of this method is: we first obtain an initial flattened mesh which is not very accurate and is later converted into a mass-spring system, then, the
11、 energy of the system is released iteratively and we should get a accurate mesh when the energy size reach to a predefined minimum value.The fitting method proposed in this paper is fully automatic, ease to implement and the original style of the fitted garment can be largely preserved, the method i
12、s potential to be integrated into some existing applications such as virtual garment design and virtual try-on system.Keywords: Virtual clothing, garment modeling, virtual try-on, computer aided garment design第一章 绪论这里加点项目的意义1.1 研究背景和现状这里加点总体背景和现状,引出下面几类1.1.1 布料仿真布料仿真是计算机图形学和纺织力学中的研究热点之一,它的不断发展使得计算机可
13、以仿真出真实复杂的布料;随着计算机硬件性能的提高,布料仿真也在计算机辅助服装设计、电子商务和电影制作等领域得到广泛应用;布料仿真中涉及到一系列物理和数学方面的问题,包括力学模型、数值积分和碰撞检测等。早期的布料仿真主要使用几何方法,LLoyd1和Collier2使用有限元方法结合实际测量的布料属性来预测布料在特定环境中的静止形态,如窗帘、桌布等;在图形学领域,Weil3最先利用有限元方法并结合启发式的物理约束来建模布料,该方法可以获得比较真实的静态布料效果;Kunii4尝试脱离物理约束来得到布料的最终形态,并用奇异性理论来预测布料上的褶皱;这些基于几何的方法可以获得较好的计算效率,但只能模拟简
14、单和静止的布料。为了动态模拟富有真实感的布料,基于物理的布料模型也得到了广泛研究;Terzopoulos5最先引入一个通用的力学模型来动态仿真布料和橡胶等柔性材料,其使用有限离散微分和隐式数值积分来求解力学方程;Volino6采用无结构的三角网格表示布料,并基于连续动力学导出了一个力学模型,使用有限体元计算共面力和弯曲力;另一种方法是基于质点-弹簧的布料模型,使用质点来离散布料,并用非线性弹簧将质点相互连接起来,质点间通过弹簧拉力相互作用,Eberhardt7通过该方法仿真出了逼真动态的布料动画,仿真结束后可以得到布料的最终静止形态。使用线性弹簧的简单质点-弹簧模型也比较流行,并且提出了很多在
15、真实感和效率方面的改进方法;Provot8通过限制质点间的张力提高了布料仿真的真实感和显式积分的速度;Volino9等人尝试在他们的简单质点-弹簧模型中准确建模面积改变对张力的影响,这个模型更接近于真实布料的物理属性;Van Gelder10提出了一个弹簧刚度的设定方法,使仿真的布料更接近于现实;Grinspun11通过能量函数将拉伸弹簧和弯曲弹簧统一了起来,质点受力的大小通过能量函数导出。图1.1:Bridson等人仿真的具有高细密褶皱的布料15除了布料物理模型的选择,数值积分方法也会对仿真的稳定性和效率产生重要影响;Terzopoulos5早期采用隐式时间积分方法,并用直接法求解导出的隐式
16、线性方程组,对于面积比较大的布料,这种方法比较低效,所示很多人倾向于使用前向欧拉、龙格-库塔等显式积分方法,但是在考虑阻尼力和超弹性限制时,显式方法一样是低效的;为了平衡稳定性和效率,Baraff和Witkin12继续使用隐式积分方法,并引入共轭梯度法迭代求解线性方程组,对于大的布料模型,缓解了效率问题,他们的力模型比较复杂,是基于连续势能函数导出的,该方法的主要缺点是隐式积分会阻碍布料上的褶皱细节的形成,减弱了布料的逼真度;Choi和Ko13通过引入布料的屈曲特性来优化力计算,使布料上的褶皱更容易形成,增强了真实感。隐式积分方法隐定,可以采用较大时间步长,而且没有显式方法的超弹性问题,但是每
17、一步迭代都需要求解一个大型的线性方程组,对于大的布料模型,效率较低,一些优化方法被提出;Desbrun14通过把内力划分为线性力和非线性力,并把非线性部分舍弃以近似Baraff和Witkin12的隐式积分,避免了在每一步求解线性方程组,在牺牲部分准确性的情况下提高了仿真效率;Bridson15专注于稳定有效地处理布料与物体间的碰撞和摩擦来仿真具有高细密褶皱的动态布料;关于布料仿真的详细调查报告可以参考Magnenat-Thalmann16的文章。1.1.2 计算机辅助服装设计随着布料建模技术的发展,可以实时稳定地模拟出富有真实感的动态布料,这使得布料交互技术和虚拟服装设计工具渐渐发展起来,在服
18、装设计领域中,这些工具可以有效地简化服装设计师的工作。近几年,许多基于几何的虚拟服装设计方面的技术被科研工作者提出;Kim和Park17通过把衣服网格投影到适配区域和造型区域实现了自动生成不同大小和风格的二维衣片,这些衣片可以进一步缝制成三维的服装。Wang18实现了一个虚拟服装设计系统,用户可以基于特征化的虚拟人体模特设计三维服装并且提供了裁剪、挤出等编辑工具;Decaudin19提出了一个纯几何的方法来建模虚拟服装,首先在三维数字模特身上绘制一些轮廓和标记,并通过它们构造一个可展的曲面,然后结合衣服的物理特性将该曲面网格转换成一件自然的三维服装;类似于Decaudin的方法,Turquin
19、20提出基于二维草图的三维虚拟服装生成方法,在虚拟三维模特的正面和背面绘制衣服的轮廓,然后计算模特与轮廓的相对距离并结合预先计算的距离场生成完整的三维服装网格;Igarashi21提出一个纯几何的服装设计方法,该方法在二维衣片和三维人体模特身上都绘制一些标记,通过这些标记的对应关系把二维衣片自动缝合到三维模特身上。图1.2:Umetani等人的将衣片编辑实时反映到三维仿真的服装设计工具26除了上面提到的几何方法,基于物理的方法也被广泛研究;Cordier22开发了一个基于万维网的服装应用,用户通过输入自己的体型参数可以获得一个定制的三维人体模特,然后可以试穿系统提供的各种各样的服装,并动态预览
20、试穿的效果;Luo和Yuen23提出一个可以立即将对二维衣片的编辑反映到三维服装仿真结果上的方法;Menget24开发了一个服装系统,该系统提供了很多基于物理的交互工具,如移动、拖拽等,通过它们可以方便将衣片缝合到三维模特身上;Mori25和Umetani26应用物理仿真技术自动将设计好的衣片缝合到人体模特身上,当编辑衣片时通过预测衣服网格的最终形状来呈现三维编辑结果,实现了二维设计与三维服装的实时连动交互。1.1.3 三维网格展平三维网格的展平在计算机辅助产品设计领域有很多应用,如鞋子和衣服的设计,在这些应用中,设计的合理性和可用性非常重要,展平时必须考虑到制作材料属性,因此展平时一般采用基
21、于能量或物理的方法;在计算机图形学领域,展平主要用来将三维网格展开成二维网格以方便纹理映射,这个过程也被称为网格参数化,为了获得好的纹理映射质量,应该尽可能防止网格发生变形,因此基于变形最小化问题的展平方法也经常被采用。McCartney27提出一个基于能量模型方法来展平在人体模型上设计的三维服装网格,通过释放网格上边的势能来对网格进行变形展开,在展平过程中支持动态添加省道,在该算法中,首先展平一个位于网格中间的三角形,然后展开与该三角形相邻的三角形,如此反复,直到所有三角形处理完成;Wang28提出一个基于质点-弹簧模型的能量函数来把三维的网格展平,并通过分析二维网格上的弹性势能分布来确定一
22、条切割线,这个方法已经应用到他们的计算机辅助三维服装设计软件中;Fan29也基于质点-弹簧模型提出了一个类似的展平方法;跟三维网格展平相反的是用二维网格拟合三维网格,Aono30提出一个将二维的布料拟合到三维模型的方法,用来自动化设计三维细毛织品的复合部分,该方法使用切比雪夫网模型来仿真二维编织布料的拟合过程,其为该模型设计了两种具体的仿真算法,第一种算法是通过有限差分方法求解切比雪夫净公式来进行拟合仿真,第二种算法把仿真拟合过程简化为曲面网格间的相交问题。图1.3:Jituo等人使用质点-弹簧模型对半圆环面进行展平36Sheffer31提出一种曲面参数化方法来将三角网格曲面映射到平面三角网,
23、该方法首先将网格曲面投影到一个由扭曲最小化方法来选定平面中,并通过求解一个非线性系统来不断约束初始获得的平面网格,实验证明该方法收敛很快,尽管收敛性无法保证;Levy32提出一个基于最小二乘近似的拟保角参数化方法,该方法使用一个目标函数来最小化角度变形,首先将复杂的曲面分解为一系列的可展面元,然后将这些面元展开之后合并起来得到最终的参数化结果,面元展开时可以保持其中三角形的原始朝向,所以不会出现三角形反转的现象,但是当面元的边界在纹理空间出现相交时,可能会出现重叠,在这种情况下,可以对面元再进行细分,直到不会发生重叠为止;Desbrun33提出一个内在参数化方法,其基本思想是最小化原始网格的各
24、种内在属性扭曲,并通过求解一个简单的稀疏线性方程组来获得最终的参数化结果,该方法只适应于不封闭的三角曲面;Azariadis 和 Aspragathos34提出了一种展开双重曲面的算法,算法包括定义起始导向轨迹、设计初始展开平面和优化展开平面三个步骤,为了获得一个裂缝和重叠尽可能少的初始展开平面,算法使用高斯曲率并结合用户的交互来最终确定导向轨迹;Azariadis 和 Aspragathos35提出了两种曲面展平算法,两种方法分别基于求解无约束和有约束的全局优化问题,第二种方法有局部的准确性控制,与前面的参数化展平方法不同的是,该方法中的能量函数和准确性约束是曲面的三角化方法导出的;Jitu
25、o 36提出一个基于质点-弹簧模型的展平方法,通过从网格中间开始向周围展开,减小了初始展平网格发生重叠的可能性。现有的基于能量的展开算法效率高并且在被展曲面相对简单时可以获得较好的展开效果,对于复杂曲面,这些方法不能保证获得满足度量标准的甚至有效的目标二维网格,而且计算效率相对于简单曲面可能会大大降低。1.1.4 虚拟服装试穿服装设计工具在一定程度上简化了服装设计师的工作,但是现有的设计工具专注于为一个参照人体模特设计服装,因此服装的尺寸只适合参照模特,而不适合其他的人体模特,使得已有的衣服设计得不到重复利用;但是,在服装工业领域中,当一件衣服被设计出来之后,衣服的板型需要进行过渡,以得到其他
26、不同大小但是相同风格的板型,以制作适合不同体型人体的服装;若可以将已设计的衣服自动试穿到跟参照人体模特体型不一样的其他模特身上,就可以重复利用已有的衣服设计,提高设计的重用率,为服装设计师节省时间和精力。图1.4:Wang等人将衣服试穿到各种体型的人体身上18近年来,一些基于几何参数化的方法被用于计算机辅助服装设计及在线虚拟服装商店系统中,以满足这些系统对三维服装可重用性的要求;在Wang18和Cordier22的文章中,根据用户输入的体型参数对基模特变形可以得到定制的虚拟人体模特,所有三维服装都是基于相应的基模特进行设计的,为了实现自动化试穿,Cordier22把服装网格上的每个顶点绑定到基
27、模特网格上离顶点最近的三角形、顶点或边上,而Wang18把服装网格上的每个顶点绑定到离其最近的固定数目的三角面片上,这样当基模特被定制之后,通过把参数化数据反参数化到定制的人体模特上,就可以得到适应于该定制模特体型的服装网格;Wang18和Cordier22的方法可以实现三维服装的自动化试穿,但是定制的模特的拓扑,即网格中的顶点数及顶点之间的连接,必须与基模特相同。随着三维人体建模技术的发展以及价格低廉的深度相机的发明,如微软的Kinect,可以扫描生成精细的三维人体网格37;因为Kinect便宜并且易于安装使用,用户可以扫描出跟自己体型匹配的个性化人体模型并将其导入到计算辅助设计或虚拟服装系
28、统中以获得更好的体验,因为个性化的人体模特可以由不同的扫描系统生成,因此网格的拓扑也一般不相同,因此应用程序应该可以处理跟参照模特不同体型及拓扑的人体模特的自动化试穿,但是已有的服装系统19,20,24,26要么不能实现自动化试穿,要么只能实现拓扑相关的自动化试穿18,22。1.2 本文的工作本文提供了一种基于人体代理网格和衣服网格参数化的自动试穿方法,该方法可将衣服自动试穿到与衣服的参照人体模型的体型或拓扑不一样的人体模型身上,另外试穿后的衣服可以被展平以进行仿真、制作等后续处理。这段太短了,要写半页以上,包括主要工作和贡献,比别人相比的创新之处。1.3 论文的结构第一章介绍了本课题的研究背
29、景和现状以及本文的主要工作与组织结构;第二章介绍了本文拓扑无关试穿方法的总体框架,并详细阐述了代理网格的生成规则和参数化与解码的细节,另外还介绍了一种参数化数据集的文件组织格式,以方便进行重复利用和网络传输;第三章详细描述了衣服网格的优化和展平,其中优化包括形状优化以及穿透处理,穿透处理是基于有向距离场的,该章中也提供了一个优化的有向距离场生成方法,最后介绍基于质点-弹簧系统的能量最小化方法展平试穿的衣服网格;第四章列出了本文试穿方法的一些实验结果,并对方法的每一步进行了性能上的评价和分析;第五章是对本文研究工作的总结,并指出了算法中的一些不足和需要改进的地方。第二章 衣服网格的参数化与解码这
30、里加入下面这个方法的概述。2.1拓扑无关试穿算法的框架图2.1:拓扑无关的虚拟服装试穿总体框架本文通过引入代理网格实现了拓扑无关的自动化试穿,如图2.1所示,试穿算法分为以下几个步骤:第一步:分别为参照人体模型和目标人体模型生成代理网格和;第二步:将衣服网格基于进行参数化,得到一个拓扑无关的参数化数据集;第三步:将参数化数据集解码到上,得到初步试穿的衣服网格;第四步:根据中的形状特征信息对进行形状优化以消除局部区域的扭曲现象;第五步:消除衣服网格与人体网格之间的穿透,得到最终的试穿衣服。其中形状优化与穿透消除统称为衣服网格的优化。本章介绍人体代理网格的生成规则以及衣服网格的参数化与解码,衣服网
31、格的优化与展平将在下一章进行描述。本章第2.2节介绍代理网格的生成规则,第2.3节讲述衣服网格参数化的具体细节,第2.4节描述参数化数据集的解码,第2.5节是对本章的总结。关于本章及后续章节中使用的一些名词及解释如下:参照人体模型:指原始衣服设计所参考的人体模型,如图2.1中的;源衣服网格:指在参照人体模型身上设计的原始衣服,如图2.1中的;目标人体模型:指待试穿衣服的人体模型,如图2.1中的;目标衣服网格:指试穿完成后的衣服,如图2.1中的。2.2生成人体模型的代理网格代理网格由特定的人体模型网格生成,对应的人体模型网格称为其代理网格的基网格,代理网格满足以下两个条件:(1)形状近似于它的基
32、网格,因为衣服网格的参数化和解码都依赖于代理网格;(2)无论基网格的形状和拓扑如何变化,代理网格的拓扑总是一致的,这也是实现拓扑无关试穿的基础。本节将描述代理网格的生成方法,第一小节讲述切面环的生成算法,第二小节讲述人体的自动分割,第三小节描述如何建立人体各个分割部分的代理网格,第四小节描述由各个部分的代理网格组合成完整的代理网格的方法。2.2.1 人体切面环的生成算法图2.2:人体模型的切面环人体切面环生成算法的输入是一个平面和一个三维人体模型,其中是平面的单位法向量,是原点离平面的有向距离,是人体模型的顶点集合,是人体模型的拓扑连接信息;算法的输出是平面与人体模型的交线集合,其中是按逆时针
33、方向排序的点集且和按角度等分切面环,图2.2显示了一个切面环;假定人体模型网格是二维流形的,所以交线是封闭环状的,这里称之为切面环。切面环生成算法分为以下几步,(1)将平面与人体模型的三角面片求交,得到一个无序线段集合;(2)将线段分组,每组对应一个切面环;(3)对每组线段进行校准,得到规则的切面环点集;下面对每一步进行详细描述。图2.3:平面与三角网格相交如图2.3所示,平面与人体模型的相交转化为平面与模型三角面片的相交,三角形与平面相交有三种情况,(a)相交于一条线段;(b)相交于一个点;(c)相交于整个三角形面;这里只需要a这种情况,因为可以将b看作a的特殊情况,即蜕化的线段,c出现的概
34、率非常小,所以在这里不予考虑;给定一个平面和一个三角形,首先对进行平面测试,判断是不是在平面的同侧,如果是,则不会与相交,否则将组成的三条边分别与平面求交,记录交点以及该交点所在边的编号;由于平面测试速度很快,而人体模型网格上的大部分三角形都不会与相交,所以可以提高整体的计算效率;判断在平面哪一侧的方法是计算到平面的距离,若则位于平面正侧,若位于平面负侧,否则位于平面内;给定线段,其与平面求交的方法是,计算线段两个端点到平面的距离和,若距离都大于0或小于0,则无交点,否则由下式计算交点:求得无序的线段集合之后,就需要对其进行分组了,使得同一组中的线段按序构成一个切面环,如图2.4所示;假设无序
35、线段集合,为线段的个数,是一个四元组,表示一条线段,表示线段的两个端点,表示两个端点所在边的编号(人体模型网格上的边都赋予一个唯一的编号),假设分组结果为,则分组算法如下:第一步:若为空,则算法结束,否则新增一个组到中,从中任取一条线段,将加入到的尾部,从中删除并置当前线段;第二步:在中找一条线段,使得或者,若未找到,则组处理完毕且中的线段按序构成一个切面环,返回第一步,否则转到第三步;第三步:若,则交换和,将加入到的尾部,从中删除并置当前线段,重复第二步。算法结束后,组集合中的每个组中的线段都按序构成一个切面环。图2.4:人体模型腿部的两个切面环线段集合对无序线段集合分组之后,还需要对每个组
36、进行校准,使得切面环上的点分布更均匀,以利于重建代理网格,切面环校准的输入是切面环线段集,输出是一个按逆时针排序的规则点集,如图2.5所示;假设切面环平行于坐标系X-Z平面,首先求得切面环的中心,通过将切面环上的各个点平均得到,然后选定一个指向正Z轴的基向量,以切面环的中心为起始点,基向量为方向向量可以确定一条射线,该射线与切面环线段相交得到第一个采样点,称为起始采样点,然后将基向量绕Y轴逆时针旋转一定角度,就可以确定其他的采样点,角度可以由计算,其中表示采样点的编号,表示采样点的个数,图2.5显示了时对人体模型腰部的切面环校准后的点集,其中标记为红色的点表示起始点;校准后的切面环将用于人体分
37、割和代理网格生成。图2.5:人体模型切面环的校准2.2.2 根据特征点进行人体分割图2.6:人体的五个特征点和七个关键水平截平面在建立代理网格之前,需要将人体进行分割,然后分别建立各个部分的代理网格;给定一个人体模型,首先需要检测到人体的五个特征点并确定七个关键的水平截平面,如图2.6所示,从下到上,五个人体特征点分别为:踝关节、胯部、腕关节、腋窝和下颈部,由人体特征确定的七个关键截面分别由A、LC、HC、W、LA、HA和N表示。为了有效地检测到这些人体特征,对人体模型的姿势有一定的要求,人体应该是站立的,两腿稍微分开且没有交叉,两条手臂应该指向下方以便获得更多的横截面,除了以上假设,对人体模
38、型的体型和几何信息没有要求。图2.7:人体模型朝向调整为了更好地检测这五个特征点,首先需要对人体的朝向进行调整,使得人体面向右手坐标系的正Z轴,相对于正Y轴站立,并且人体模型的中心与世界坐标系原点对齐,如图2.7所示;朝向调整是自动完成的,在加载人体模型之后,首先计算人体的方向包围盒,假设包围盒的中心为,包围盒局部坐标系的基分别为、和,其中方向包围盒在方向的长度最大,在方向的长度其次,在方向的长度最小,这是根据人体的姿势决定的;接着把人体模型的顶点从模型坐标系变换到方向包围盒坐标系,变换式子为:,其中为顶点的齐次坐标,为变换矩阵,经过变换之后,人体模型的方向包围盒坐标系将与世界坐标系对齐;为了
39、使人体相对于正Y轴站立,用平行于X-Z平面且在人体模型1/8高度处的平面去截人体模型网格,若得到的切面环的个数恰为2个,则不需调整,否则,说明人体是相对于负Y轴站立的,此时只需要将模型绕Z轴旋转180度即可校正;为了使模型面向正Z轴,用平行于X-Z平面且在人体模型1/16高度处的平面以及比稍高的平面分别去截人体模型网格,如图2.8所示,每个平面截得两个切面环,将切面环上的点投影到X-Z平面,然后求得各个平面对应的切面环上的点的Z坐标最大值和最小值,假设对应的Z坐标最大值和最小值为和,对应为和,则由下式计算和:若小于,则可断定人体模型已面向正Z轴,无需进行调整,否则将模型绕Y轴旋转180度进行校
40、正。图2.8:确定人体模型是否面向正Z轴人体模型的朝向调整正确之后,就可以检测特征点了,根据人体特征,踝关节在人体1/12高度处,下颈部在人体7/8高度处;为了确定胯部位置,从人体1/3高度处开始用平面去截人体模型,若截得的切面环的个数为2个,则将平面稍稍往上移动,直到截得的切面环的个数为1个为止,如图2.9所示,此时平面所在的高度即为胯部位置;腋窝和腕关节的位置可以由类似方法确定,从人体3/5高度处开始截,当切面环的个数由3个变成1个时,平面所在的高度就是腋窝的位置;从人体1/2高度处开始截,当切面环的个数变为3个的时候,再将平面稍稍往上移动,此时将平面所在的高度当作腕关节的位置。图2.9:
41、人体模型胯部的确定当五个人体特征点检测到之后,就可以确定七个关键截平面了,如图2.6所示,截平面A、W和N分别经过踝关节、腕关节和下颈部,LC和HC由通过胯部的截平面分别往下和往上偏移一定距离得到,LA和HA则由通过下颈部的截平面分别往下和往上偏移一定距离得到,在实验过程中,偏移的距离取0.01到0.02之间的值可以取得比较好的效果,使用偏移的原因是,代理网格只需要近似于其基网格,这样也可以减少代理网格的分辨率,进而提高参数化和解码过程的效率;人体模型被这七个关键截平面分割为六个部分,从下到上,它们是左腿、右腿、左手、右手、主体和上身,每个部分都由两个关键截平面确定,如表2.1所示。人体部分关
42、键截平面左腿A 和 LC右腿A 和 LC左手W 和 LA右手W 和 LA主体HC 和 LA上身HA 和 N表2.1:人体各个分割部分对应的关键截平面2.2.3 建立人体模型的代理网格为了建立人体模型的代理网格,首先需要为人体各个部分建立代理网格,然后将它们组合成完整的代理网格;为人体部分建立代理网格的方法是:首先在该部分对应的两个关键截平面之间插入一定数目的等距离截平面,然后用这些截平面截得一系列的切面环,通过连接相邻切面环上的采样点就可以建立该部分的代理网格,人体各个部分对应的切面环个数以及切面环上的采样点个数可以参考表2.2,切面环的生成方法可以参考第2.2.1节。下面以建立腿部的代理网格
43、为例进行说明,其他部分的代理网格可以由类似方法建立;首先在A和LC之间插入28个水平截面,这样在每条腿上可以截得30个切面环,图2.10显示人体部分切面环个数切面环上的采样点个数左腿3040右腿3040左手3020右手3020主体3080上身2080表2.2:人体各个部分的切面环个数以及切面环上的采样点个数了两个切面环点集,为了确定切面环属于左腿还是右腿,可以分别求得两个切面环的中心点,则中心点的x坐标更小的属于左腿,更大的属于右腿,中心点可以由切面环上的点集平均得到;分别将左右腿切面环上的点按相邻关系连接起来,如图2.11所示,连接顺序有两种,选择任意一种进行连接就可以建立左右腿的代理网格;
44、其他身体部分的网格可以按此方法分别建立,图2.12显示了人体的代理网格的所有部分。图2.10:腿部的两个切面环点集图2.11:相邻切面环顶点的两种连接方式人体六个部分的代理网格建立之后,需要将它们以一定的顺序组合在一起形成完整的代理网格,本文中的组合顺序为:左腿->右腿->主体->上身->左手->右手,为了更好地描述,这里定义三角网格的加法规则:其中表示顶点列表,表示三角形顶点索引列表,有了这个加法规则,人体模型完整的代理网格可由下式得到:因为为不同人体模型建立代理网格时,各个部分的建立规则都相同,而且各个部分的组合规则也相同,这就保证了在基网格的形状或拓扑不一样
45、的情况下,代理网格的拓扑总是一致的。图2.12:人体六个部分的代理网格2.3 基于代理网格参数化衣服网格2.3.1衣片网格的拼接在参数化衣服网格之前,可能需要将组成衣服网格的各个衣片拼接起来,形成无缝完整的衣服网格,以避免衣服试穿到其他体型的人体上之后,使得缝隙更明显,影响试穿效果;这个过程是可选的,跟三维衣服的设计工具有关,因为在本文中三维衣服是由二维的衣片通过物理仿真缝合起来的,缝合只是根据约束弹簧将衣片缝合边界上的顶点拉到一起,缝合完成之后,边界之间还是会有狭小的缝隙,如图2.13所示,所以缝合得到的衣服网格实际是由多片衣片网格组成的,所以需要衣片网格的拼接过程;反之,如果衣服设计工具可
46、以生成无缝的衣服网络,则拼接过程可以省去。给定两个衣片网格的拼接边界,拼接算法分为三步,第一步:使两条边界上的点的排列顺序一致;第二步:在点数少的边界上插入新点,使得两条边界上的点个数一致;第三步:生成桥接三角网格并且分裂某条边上插入了新点的三角形。下面详细描述这三个步骤。图2.13:衣片缝合后会出现狭小的缝隙给定的两个拼接边界和,假设描述这两条边界的点集分别为和,为了判断点的顺序是否一致,由到和到确定两个向量和,然后将两个向量进行点乘:,若小于某个阈值,则说明和上的点的分布顺序不一致,只需要把其中一条边界上的点倒置过来即可,这里将设为0.001。如果两个边界上的点个数不一致,则需要向点数少的
47、边界插入新点来使其达到一致,假设上的点数更少,则需要增加的点的个数;遍历中的点,找到点,使得到的距离最大,此时将线段的中点作为新点插入到的尾部,已插入点数增加1,重复执行直到等于为止,此时点插入完成,在插入过程中要将新插入的点所在的三角形边进行标记,以方便在第三步进行三角形分裂。两条边界上的点数一致时,就可以顺序连接各点,形成桥接网格,将两个衣片网格连接在一起,假设点的个数为,则对于,假设与边相邻的三角形的另一个顶点为,如果在向量的右侧,则按照和的顺序连接成两个三角形,否则连接和;如图2.14所示,如果有新插入的点,则需要将该点所在的三角形进行分裂,假设有三角形,且有一个插入点位于三角形的边上
48、,则将该三角形分裂为和。图2.14:桥接三角网格和三角形分裂2.3.2衣服网格的参数化对衣服网格进行拼接之后,就可以对衣服网格进行参数化了,参数化过程的本质是记录衣服网格相对于人体模型代理网格的空间关系,根据空间关系就可以在目标人体模型上重新恢复衣服网格,从而实现自动试穿;为了记录空间关系,可以将衣服网格上的顶点绑定到代理网格上离顶点最近的一个或者多个三角面片上面,绑定到多个三角面片上可以达到更好的效果,如图2.15所示,某顶点离两个三角形的距离相等,该顶点只绑定到图中左边的三角形,当两个三角形同时发生移动时,该顶点会偏向于左边的三角形,而实际上,应该是这两个三角面片都会对该顶点产生影响,如图
49、2.15所示。图2.15:将顶点绑定到一个(上)或多个面片(下)对顶点的影响当绑定到多个三角面片时,需要确定面片个数,面片个数过少会影响试穿的效果,面片个数过多又会影响参数化和解码的效率,在本文中,三角面片个数的最大值选为人体代理网格三角面片数的1/100;参数化的过程为:假设有衣服网格,其中为顶点列表,为三角形顶点索引列表,对于上的每一个顶点,执行以下四个步骤:图2.16:三角形的局部坐标系第一步:在代理网格上找到离顶点最近的个三角形,按距离从小到大排序并记录最小的距离,然后从三角形列表中删除离顶点的距离超过的三角形,因为这些三角形对的影响很小,忽略它们可以提高参数化和解码的效率;假设最后剩
50、余个三角形,构成三角形集合,其中由三个顶点组成;顶点到三角形的距离可由下式求得:第二步:对于面片集中的每个三角面片,计算出它的局部坐标系,如图2.16所示,的局部坐标系由三个基向量,和构成,以的质心为原点,从质心到的第一个顶点的单位化向量为基向量,的单位化法线为基向量,和的叉乘为基向量,可以用下面的公式表示:第三步:计算衣服顶点在每个三角面片的局部坐标系中的坐标,计算方法是质心到顶点确定一个向量,然后将该向量投影到局部坐标系的三个基向量上,用公式表示如下:第四步:计算每个三角面片对衣服顶点的影响权重,这里以顶点离的质心的距离作为权重的度量标准,距离越小,权重越大,反之权重越小,计算式如下,其中
51、为影响顶点的三角形个数,是一个很小的值,防止除数为零,这里设为。衣服网格上的每个顶点执行以上四个步骤之后,将被参数化到一个数据列表:其中是一个列表,表示顶点的参数化数据,是一个五元组,表示顶点对于三角形的参数化数据,表示三角形的编号,为衣服网格的顶点数。2.3.3衣服网格形状特征的参数化图2.17:顶点的形状特征向量由于解码过程依赖于目标人体模型的代理网格的网格信息,所以当目标人体模型表面的凹凸度与参照人体模型相差比较大的时候,解码后的衣服网格会出现比较大的扭曲;为了弥补这个缺陷,对衣服网格的局部形状进行参数化,参数化数据将用于对解码后的衣服网格进行优化,以提升试穿的效果。衣服网格的形状特征可
52、以由网格上每个顶点处的凹凸性来表示,凹凸性可以用曲率来量化,但曲率计算较复杂,这里使用一种更简便的方法,对于衣服网格上的顶点,通过局部形状特征向量来描述该顶点处的凹凸性,计算式子如下:其中是的相对顶点,由与相邻的所有顶点平均得到,形状特征向量即为从相对顶点到的向量,如图2.17所示;衣服网格上的所有顶点的形状特征向量组成一个参数化数据列表,其中为衣服网格的顶点个数,表征了衣服网格的形状特征。2.3.4参数化数据集的组织格式衣服网格经过网格参数化和形状特征参数化之后,得到两个参数化数据列表和,假设用来表示参数化后的衣服网格,则有:与的参照人体模型的体型和拓扑无关,即独立于衣服的参照人体模型,通过
53、解码可以将试穿到其他的人体模型上。为了方便重复利用和网络传输,可以将保存到磁盘文件中,文件存储三部分数据:、和,如图2.18所示,在文件头存储衣服网格的顶点个数和三角形个数,接下来有行,每一行保存一个顶点的参数化数据;接着用一行保存个形状特征向量,最后保存衣服网格的拓扑连接信息。衣服网格的顶点个数衣服网格的三角形数N1 t1,t2,tn1N2 t1,t2,tn2.Nn t1,t2,tnn图2.18:参数化数据集的文件格式2.4 参数化数据集的解码衣服网格参数化之后,得到参数化数据集,它独立于参照人体模型的体型和拓扑结构;给定一个目标人体模型,只需要按照2.2节的方法为其生成一个代理网格,然后根
54、据参数化数据集和就可以恢复出新的衣服网格,实现将衣服试穿到该目标人体模型上,这个过程称为解码,可以用下面的式子描述之:在参数化数据集中,每个衣服顶点对应于三部分信息,(1)绑定到的三角面片的编号集合;(2)在各三角面片坐标系中的局部坐标,其中;(3)各三角面片对该顶点的影响权重。解码的方法为:首先根据三角形编号集合从代理网格中找到对应的三角面片,并根据2.3.2节中的方法计算每个三角面片的局部坐标系,可以用局部坐标轴的基向量集合以及质心集合来表示,其中,则通过来下式解码出新的衣服顶点坐标:根据该方法可以解码得到目标衣服网格的所有顶点信息,结合中的衣服网格拓扑信息,就可以得到整个目标衣服网格。2
55、.5 本章总结本章详细描述了人体模型的代理网格的生成规则以及衣服网格的参数化与解码;本章提供了一个稳定的人体切面环的生成算法,另外根据人体的特征点进行人体分割,并为各个部分别建立代理网格,最后根据固定的顺序组合成完整的代理网格,保证了不同人体模型的代理网格拓扑总是一致的;另外通过限定顶点离三角面片的局部最大距离约束顶点绑定的三角面片数,在一定程度上提高了参数化和解码的效率;为了方便参数化数据集的重复利用和网络传输,设计了一个简单的参数化数据文件格式,该格式文件可以方便地被写入和读取。第三章:衣服网格的优化与展平3.1 概述本文第二章详细描述了人体模型代理网格的生成规则以及衣服网格的参数化和解码
56、;参数化数据集在目标人体模型的代理网格上解码之后,可以得到一个目标衣服网格,但是它受目标人体网格曲率的影响,在衣服网格的某些区域可能会出现扭曲,如图3.1所示;本章使用参数化数据集中的局部形状特征向量集合来迭代优化衣服网格的形状,由于该过程会移动衣服网格顶点的位置,所以衣服网格可能会与人体网格发生穿透,如图3.1所示,另外当目标人体模型的曲率相对于参照人体模型变化较大的时候,解码后的衣服网格也容易与人体发生穿透,如图3.2所示,这里通过为人体预先生成有向距离场来快速有效地消除穿透,另外,优化后的衣服网格可以展平成二维的衣片以进行后续处理;本章第3.2介绍人体有向距离场的生成方法,第3.3节描述
57、衣服网格的优化,包括衣服网格形状的优化和基于有向距离场消除穿透,最后第3.4节阐述基于能量最小化的衣服网格展平。图3.1:(左):衣服网格的扭曲,(右):穿透现象解码前解码后图3.2:人体模型曲率变化过大时引起网格穿透3.12 人体有向距离场的生成本节阐述人体有向距离场的生成方法,影响距离场计算效率的因素主要有三个:距离场的有效 3D子空间的选择、子空间的离散程度(距离场的分辨率)以及距离函数和符号函数的效率;本文只为人体的轴向包围盒空间计算距离场,通过将该空间离散成等体积的3D格子并只为与人体模型网格相交的格子进行距离计算,提高了计算效率;根据人体的体型特征和朝向来确定距离场的分辨率,既能保
58、证距离场的生成质量又能很好地控制计算成本;因本文距离场应用的需要,距离的计算采用点到三角形的精确距离,另外采用了一种基于局部平面测试的符号计算方法,可以快速判断被检测点位于人体模型的内部还是外部。3.12.1 有向距离场介绍距离场是包围某三角网格的空间体素集合,距离场中的每个体素点维护着该点到三角网格的最近距离;距离场可以是有向的也可以是无向的,在有向距离场中的体素点包含离三角网格的最近距离的同时,又维护着一个方向值,该值指示对应的体素点位于三角网格里面还是外面,方向值一般取1或-1,与距离值相乘得到有向距离;本文中的距离场是指有向距离场,用来指示被检测点位于人体模型网格里面还是外面。有向距离场是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年气球跑位意识教学设计
- 墙面阴阳角及门窗套收口施工方案
- 挥发性有机物污染修复施工方案及技术措施
- 2025-2026学年小学letusspell教学设计
- 3.1.1 走进桂林山水教学设计(2)-鲁教版高中地理必修第一册
- 2025-2026学年骄傲的玫瑰教学设计
- 2025-2026学年小学语文教学设计活动化
- 2025-2026学年纹绣上色教学设计
- 2026年安全生产的六项机制网络知识试题及答案
- 叉车使用单位安全例会制度
- 2026年新版事故应急处置卡模板(新版27类事故分类依据YJT 32-2025要求编制)
- 教育强国建设三年行动计划(2025-2027年)
- JG/T 156-2004竹胶合板模板
- 养生馆承包合同协议书
- SL631水利水电工程单元工程施工质量验收标准第1部分:土石方工程
- 2025中考重点中学自主招生数学试题及答案详解
- 江岸区2023-2024学年下学期期末七年级数学试卷(含答案)
- 虚拟电厂运营
- 隧道防水及二衬施工验收要求
- 会计管理费用明细科目大全35个
- 2022新能源光伏发电数据采集技术规范
评论
0/150
提交评论