修 毅, 王银辉
(北京服装学院 计算机信息中心, 北京 100029)
数字人体模型中腰部剖面曲线参数化变形算法
修 毅, 王银辉
(北京服装学院 计算机信息中心, 北京 100029)
针对基于特征的参数化人体造型方法在变形精度和个性化表现方面存在的问题,在深入分析人体部位造型和变化特点的基础上,提出一种新型的参数化人体造型和变形算法。首先,利用水平剖面横切获取人体模型的特征腰围围线,并引入人体特征尺寸参量,确定腰围围线上正面、背面和侧面的3个迭代初始轴和初始值;然后,利用角度加权平均计算出围线上各点的坐标,通过不断迭代实现腰围围线的变形;最后,在指定变形区内,根据其他相关围线的高度和腰围围线初始值,确定这些围线的迭代初始值,实现指定区域的其他围线变形,完成该区域的整体变形。研究结果表明,该数字化人体模型可依据指定特征尺寸,变形得到个性化人体模型。
人体剖面; 人体特征造型; 参数化变形; 腰围围线
近年来,数字化三维服装造型与设计技术已经成为三维服装CAD技术的发展方向。该技术包括三维人体建模、三维服装造型和虚拟展示,其中三维人体模型是该项技术的基础。目前,数字化人体模型主要采用非接触人体扫描技术或多角度拍摄图片技术获取点云数据,精确重构人体模型[1-2]。常用的重构人体模型的技术包括三角面片法、特征造型法和基于特征的参数化法。三角面片法按照人体点云数据分布规律,将相邻的3个点连接成三角形,将人体数据以三角网格形式表示[3]。该三角面片人体模型可根据需要,对人体数据进行各种处理,方便使用。
人体特征造型法通过预设和定义人体特征构建人体模型。人体特征模型可认为是由对象层、特征层和几何元素组成的。对象层为人体模型本身,特征层由一组人体特征尺寸组成,该层决定了人体的主要造型特征;几何元素层最终实现数字化人体的造型[4]。人体特征模型还可由特征点、特征线和特征面组成。特征点和特征线用于标识测量的位置,特征面用于标识人体表面的曲面特征[5-6]。这种特征模型突出了人体特征尺寸在数字化人体模型中的作用。
基于特征的参数化人体建模方法继续采用人体特征模型,同时对人体特征尺寸进行参量化,参数化模型可根据需要,随时调整人体模型的尺寸,实现以人体特征参量驱动数字化人体造型功能。文献[7]将参数化模型分为围度变形和高度变形2种。围度变形的基本原理是截面环的缩放,高度变形的基本原理是截面环的移动,截面环的变形转变为等值环变形,忽略人体围度变形特性,与实际人体曲面变化效果不一致。耿玉磊等[8]认为人体模型变形是由多因素驱动完成的:一是尺寸驱动基于截面等值环算法和基于模板插值算法;二是姿态驱动通过关节变形算法实现特定姿态变形;三是体型驱动基于特征面形状调整控制人体局部特征。该方法以等值环算法为基础,配合特征面的交互式操作对人体特征进行修正。等值环可确保围线长度变化准确,但人体变化形态不符合人体造型规律,而特征面的交互操作将改变围线长度,导致围线长度精度也无法满足要求。文献[9]将所有参数化人体模型存储在数字人体数据库中,当给定一组特征尺寸时,通过一个数值优化方案匹配数据库中的某个特定人体数据,找到一个人体模型作为这组尺寸的人体造型。该方案由于采用人体特征尺寸与数据库人体参数整体匹配,所以对于某一个特定的人体尺寸(如腰围)与数字模特库中人体尺寸无法实现准确匹配。
本文基于人体工学和服装工程学原理,深入分析人体形态特征和变形规律,提出一种新型的参数化人体模型构造和变形算法。该方法以人体模型为基础,经过剖分取得特征围线,再根据特定特征参量,驱动人体模型得到个性化人体模型。该方法为服装设计师提供了一种快捷、准确和柔性的人体模型,为个性化立体设计和裁剪提供理论参考。
1.1 人体特征
由于女性人体躯干部分形态复杂,变化丰富,因此,本文以女性躯干部分为例,基于人体工学和服装工程学原理,描述人体造型的特征和变形规律[10]。躯干特征及变形区域如图1所示。
图1 躯干特征及变形区域Fig.1 Feature and deformation domain of torso
人体前后中心线是人体的中心位置,由这2条中心线构成的前后剖面,将人体分为左右对称部分。由左右两侧的肩线和体侧线构成人体左右剖面,将人体分为前后2个部分。2个剖面是人体结构和变形的基准面。
人体躯干特征点主要包括颈侧点、后颈点、前颈点、肩点、腋窝点、胸高点、腋窝消失点、臀高点等,描述人体特征的关键位置。人体躯干特征线包括水平方向和长度方向2个部分;水平方向包括胸围线、腰围线、臀围线和肩线等;长度方向包括前中线、后中线、刀背线和体侧线等。这些特征点和特征线表达了人体造型的结构特征。
1.2 人体变形区域
当人体型发生变化,人体特征点的位置和特征尺寸的长度都会做出调整。在长度方向变化相对简单,在水平方向上主要体现了人体形态变化,一是特征尺寸要产生变化,成为新的人体特征尺寸,二是以特征尺寸为中心区域的人体曲面要做相应的调整,以匹配人体的形态变化。
在人体围度变形中,人体在正面、侧面和背面的变形呈现不同幅度和形态。对于女体胸部,其变形最大,侧面和后背变化几乎为零,表现为胸部高挺;对于人体腰部,腹部变形最多,侧腰和后腰变化相对较小,变形主要集中在腹部,表现为腹部隆起;对于人体的臀围,臀部变形最多,表现为翘臀。
根据人体特征线位置和变形规律,选择腰围线、胸围线和臀围线作为人体躯干主要特征线,以这些线为中心位置设置变形区域,将躯干分为腰围变形区、胸围变形区和臀围变形区等。
为确定这些变形区域的范围,需要再引入其他特征线:胸上围线、胸下围线、臀上围线、臀下围线等。腰部变形区以腰围线为中心,上至胸下围线,下至臀上围线的部分区域;胸围变形区以胸围线为中心,上至胸上围线,下至胸下围线的部分区域;臀围变形区以臀围线为中心,上至臀上围线,下至臀下围线的部分区域。
基于点云数据构建人体特征模型包括2个阶段:一是对点云数据进行处理,形成三角面片模型;二是利用空间平面剖分技术和空间曲线造型技术确定人体尺寸特征[11]。由这些人体特征所描述的人体模型即为基于特征的人体造型。
在人体三角面片模型中,利用水平剖面在胸围线、腰围线、臀围线等的位置上,对人体躯干进行横切,得到胸围围线、腰围围线、臀围围线等特征线。本文以水平剖面横切人体躯干求取腰围围线为例,说明水平剖分的实现过程。
2.1 水平剖面与人体模型线段求交
剖面与人体相交就是求取剖面与人体模型的三角面片边的交点。通过遍历人体模型上相关的三角面片,求取和这些三角面片3个边长的所有交点,水平剖面与人体相交如图2所示。
图2 水平剖面与人体相交Fig.2 Intersection of human body and cross section
空间点V0(x0,y0,z0)和V1(x1,y1,z1)构成三角面片的一条边V0V1,M是水平剖面,其法向量为(0,1,0),中心点坐标为(0,yH,0),其中yH为腰围线所在位置水平剖面高度,如图3所示。 水平剖面M的平面方程为
y=yH
直线V0V1的空间方程组为
式中:k值表示交点所在线段V0V1上的位置,求解2个方程的解既为交点坐标。当0≤k≤1时,表示交点在线段V0V1上,把此点存到围线点集中,否则表示交点在线段外面,舍弃。
图3 三角面片边与剖面相交Fig.3 Intersection of triangle and cross section
2.2 围线点集排序和凸包
围线点集中的点列是无序的,对围线点集进行排序是后续工作的基础。
假定人体左右对称,只对右半部分进行排序处理。在围线点集中,只有X坐标值和Z坐标值,围线点集排序如图4所示。为了便于排序,先分段排序,在AB段按X坐标值增序排列,在BC段按X坐标值降序排列,再将两端连在一起,实现ABC上围线点集的排序。
图4 围线点集的排序Fig.4 Sort of point set of girth curves
由围线点集组成的围线长度代表了人体在该位置的实际长度,但量体师在该部位用软尺绕人体1周测量时,会忽略人体肌肉或外形(如胸部等)产生的起伏变化,为此,需要求取围线点集的凸包,得到准确的人体测量值。
ABC是围线的有序点集。首先将ABC点集赋值给凸包点集,再对ABC上点集进行如下处理,求取该段的凸包点集:1)把ABC上的有序点集{Vi}的前两点V0、V1压入栈。2)从{Vi}第3点开始遍历{Vi},求Vi-Vi-1与Vi-1-Vi-2的叉积V。3)若V大于0,把Vi压入栈。若V小于0,从栈中弹出Vi-1,把Vi压入栈。4)重复2)、3),直到遍历{Vi}完成。栈中的点即是所求腰围线上的凸包。
在数字人体形变中,无论男体或女体,实现腰部区域的变形都是人体变形的基本要求。根据前后剖面和左右剖面将腰部围线分成前腰和后腰,并定义了3条迭代初始轴;然后根据变形前后腰围的长度计算出轴向初值,利用角度加权平均,通过迭代算法求出变形后腰围围线上各点坐标;最后完成腰围变形区域的其他围线的变形。
3.1 变形迭代初始值
设左右剖面与腰围围线的交点为B,前后剖面与腰围围线的交点为A和C,变形前后腰围围线的形状如图5所示。
图5 变形前后腰围围线的形状Fig.5 shape of waist curves before and after deformation
A点在AOC轴上移动决定了腹部变化量,B点沿着OB轴上向左右移动决定了人体模型宽度,C点在AOC轴上移动决定了后腰变化量。当给定OA增量较大,OB和OC增量较小时,变形后即呈现出腹部隆起的效果。
对于标准人体来说,前后腰一半的比例分别为0.255(即25.5%)和0.245(即24.5%);当人体尺寸发生变化时,前腰围线AB长度的一半占整个腰围长度的比例增加,设定为p,后腰围线BC长度的一半占整个腰围长度的比例减少到1-p[12]。
设W0表示人体腰围围线长度,W1表示变形后腰围围线长度。变形前,前腰围围线长度的一半为0.255×W0,后腰围围线长度的一半为0.245×W0,变形后,前腰围围线长度的一半为p×W1,后腰围围线长度的一半为(1-p)×W1。变形前后,前腰围围线长度一半的差为p×W1-0.255×W0,后腰围围线长度一半的差为(1-p)×W1-0.245×W0。
在OA轴上,设前腰围围线长度差与OA轴向的长度差构成圆周长与半径的近似关系,设ROA为OA轴方向上的长度差A0A1,则得到
ROA×π=2×(p×W1-0.255×W0)
同理,设ROC为OC轴方向上的长度差C0C1,得到后腰围围线长度差与OC轴向的长度差关系
Roc×π=2×((1-p)×W1-0.245×W0)
将2个等式左右相除,得到迭代量的比例关系
ROA∶ROC=(p×W1-0.255×W0)∶(W1-p×W1-0.245×W0)
当W0=69,W1=75,p=26.7%时,ROA∶ROC=4.26。
当W0=69,W1=81,p=27.8%时,ROA∶ROC=4.60。
3.2 腰围围线变形
在设定OA、OB和OC迭代变量初始值后,分别对前腰围围线和后腰围围线进行迭代处理,得到相应的前后腰围围线,再利用腰围围线的凸包求出腰围围线总长度,与由腰围特征参量值所表示的指定腰围进行比较,直到相等为止。腰围围线变形效果如图6所示。具体过程如下。
1)OA、OB和OC方向的迭代初始值分别为ROA×d、ROB×d和ROC×d(d为基本迭代增量);
2)设S0为凸包B0A0上一点,S0的变化量S0S1由ROA和ROB按照OS0与OA0、OB0夹角的加权平均得到,即
S0S1=(ROA×∠B0OS0+ROB×∠A0OS0)/∠A0OB0
图6 不同腰围围线变形效果Fig.6 Deformation result of different waist curve
3)由OS0与Z轴的夹角计算出点S1的x值和z值,即S1×z=S0×z+S0S1×cos∠ZOS0;S1×y=S0×y;S1×x=S0×x+S0S1×sin∠ZOS0;
4)由各点S1的空间坐标求出前腰围线A1B1长度;
5)同理,求出后腰围线B1C1长度;
6)求腰围围线ABC总长度,若与目标腰围围线长度的差值相等,则结束,否则,重复步骤2)~5)。
3.3 腰部其他围线变形
在此区域中,再层层切出腰部变形区的其他相邻围线,由腰围围线驱动相邻围线变形,重新生成腰部参数化模型。
腰部其他围线变形与腰围围线变形算法类似,差别在于其他围线的腹部、侧腰和后腰的迭代初始值有所变化。这些围线的腹部、侧腰和后腰变化量是根据该腰部围线与腰围围线的相对高度获得的。
设Ydw为胸下围高度,Yw为腰围线高度,Y为位于胸下围和腰围线之间的任意一个围线高度,相应的正面轴向迭代量分别为Rd、Rw和Ry,计算腰围变形区中其他围线的迭代初始值如图7所示。
图7 其他围线的迭代初始值Fig 7 Calculation of iteratively initial values of rest cures
由三角形相似原理,得到迭代量与围线高度的关系
经过整理,求得任意高度Y值上的正面轴向迭代量
由上式可看出,当腰部变形区域的上边界胸下围和下边界腰围的轴向迭代量和高度为已知时,变形区域内的任何腰部围线的轴向迭代量和相应高度构成函数关系,由高度值求得围线的迭代量初值。
同理,在其他2个轴向上,当在腰部变形区域内给定任何一个高度值,也可得到相应的迭代量。然后采用腰围围线算法求取腰部其他围线点的新位置。
当腰围围线长度比较大时,可添加腹围围线数据,以便更好地反映腰部区域的变形效果,腰围变形区的变形效果如图8所示。
图8 不同腰围变形区的变形效果Fig 8 Results of different waist deformation domain
在总结人体变形特征的前提下,本文提出的腰部曲线参数化变形算法包含3个基本要素:一是设定特征围线的迭代初始轴和初始值;二是利用角度加权平均,计算两迭代轴之间围线上点的变形增量,二者共同确定围线的变形特征;三是利用围线高度值,求取变形区域中其他围线的迭代初始值,完成区域其他围线的变形。
本文算法展现了利用标准人体模型,通过输入个体的围度特征尺寸,经过参量迭代算法处理,变形得到个性化的人体模型,并保证人体曲面的形状特征和围度特征数据的精度。其意义在于只要输入任何特定人体测量尺寸,就可方便构建个性化数字人体,为服装个性化定制提供理论参考。该算法适用于围线起伏不大,围线与其凸包基本一致的情况,因此,不仅对腰围区域适用,对围线起伏较小的人体其他部分也适用,例如手臂和下肢等,但对于围线起伏较大,如女体胸围围线,该算法还有进一步完善的空间。
在后续研究中,对于胸围围线的变形,将复杂的胸围围线分解成若干个形状单一的曲线,分别对每段曲线进行变形处理,然后合并成完整的胸围围线。胸围特征参量的值为胸围围线凸包长度,通过求出每次迭代的胸围围线凸包长度与特定胸围值进行比较,控制胸围围线的迭代过程,最终完成较为复杂的人体变形。
FZXB
[1] KIM S M,KANG T J. Garment pattern generation from body scan data [J]. Computer-Aided Design, 2003, 35(7): 611-618.
[2] WANG C C L, WANG Y, CHANG T K, et al. Virtual human modeling from photographs for garment in-dustry [J]. Computer-Aided Design, 2003, 35 (6): 577-589.
[3] CHENG S W, DEY T K, RAMOS E, et al. Sampling and meshing surface with guaranteed topology and geometry [J]. SIAM Journal Computing,2007 (37): 1199-1227.
[4] AU C K, YUEN M M F. A semantic feature language for sculptured object modeling [J]. Computer-Aided Design, 2000,32(1): 63-74.
[5] WANG Shuxia, QIN Shengfeng, GUAN Congying. Feature-based human model for digital apparel de-sign [J]. IEEE Transactions on Automation Science and Engineering, 2014, 11(2): 213-225.
[6] 崔树芹,余胜生,胡新荣. 3D试衣系统中个性化人体建模方法[J]. 华中科技大学学报(自然科学版),2009,37(10):25-28. CUI Shuqin, YU Shengsheng, HU Xinrong. The method of individualized human body modeling for 3D-virtual trying on systems[J]. Huazhong University of Science and Technology (Natural Edition), 2009, 37(10): 25-28.
[7] 陈龙,吴恩启,陆国栋. 面向服装设计的人体建模及人体参数化[J].计算机应用研究,2009, 26(8): 3169-3174. CHEN Long, WU Enqi, LU Guodong. Human body modeling and parameterization objecting to garment design[J]. Computer Application, 2009, 26(8): 3169-3174.
[8] 耿玉磊,陆国栋,邓卫燕,等. 面向服装CAD的多因素驱动人体模型变形技术研究[J]. 中国图像图形学报,2009, 14(11):2349-2355. GENG Yulei, LU Guodong, DENG Weiyan, et al. Research on multi-fator driven human models deformation technology in garment CAD[J]. Journal of Image and Graphics, 2009,14(11):2349-2355.
[9] WANG C C L. Parameterization and parametric design of mannequins [J]. Computer-Aided Design, 2005, 37(1): 83-98.
[10] 邱佩娜. 创意立裁 [M]. 北京:中国纺织出版社,2014:20-22. QIU Peina. Original 3D Tailor [M]. Beijing: China Textile & Apparel Press, 2014:20-22.
[11] 王银辉,修毅. 三维服装CAD设计系统中的空间曲线造型方法[J]. 北京服装学院学报(自然科学版),2016,36(2):64-70. WANG Yinhui, XIU Yi. Space curve modeling method in digital 3d garment design system[J]. Beijing Institute of Fashion Technology (Natural Edition), 2016, 36(2): 64-70.
[12] MAJA Mahnic, SLAVENKA Petrak. Investigation of the fit of computer-based parametric garment proto-types [J]. Journal of Fiber Bioengineering and Informatics, 2013, 6(1): 51-61.
Deformation algorithm of waist cross-section contour in digital mannequin model
XIU Yi, WANG Yinhui
(Computer Information Center, Beijing Institute of Fashion Technology, Beijing 100029, China)
Aiming at the problems of the feature-based parameter human modeling method on deformation precision and personalization representation, based on the analysis of the characteristics of the human body part modeling and deformation, this paper proposes a novel parameterization human modeling and deformation algorithm. At first the characteristic waist contour of the mannequin model is obtained by the cross cutting of the horizontal cross sections, then the characteristic dimension parameters of human body are introduced and 3 iteration initial axles and initial values on the front, back and lateral faces on the waist contour are determined; then the point coordinates of the waist contour are calculated by applying the weighted average of the included angles, and the deformation of the waist contour is realized. Finally, the iteration initial values of the contours are acquired in the specified deformation area according to the heights of other contours and the initial values of the waist contour, and the deformation of other contours in the specified deformation area is realized to complete the whole deformation of the area. A personalized human body model is obtained from the digital mannequin model by deforming based on the specified characteristic values.
human cross section; human characteristic modeling; parameterization deformation; waist contour
10.13475/j.fzxb.20160500406
2016-05-04
2016-09-06
修毅(1963—),男,教授,博士。研究方向为三维曲面造型及可视化,参数化设计,织物建模与仿真。E-mail: xiuyiks@126.com。
TP 391.72
A