APP下载

面向高级定制的个性化虚拟服装展示

2021-07-21林俊聪陈萌施渝斌雷钧郭诗辉高星廖明宏金小刚

浙江大学学报(理学版) 2021年4期
关键词:人体模型顶点矩阵

林俊聪,陈萌,施渝斌,雷钧,郭诗辉*,高星,廖明宏,金小刚

(1.厦门大学 信息学院,福建 厦门361005;2.浙江大学CAD&CG国家重点实验室,浙江 杭州310058)

对于服装品牌企业来说,服装订货会是营销工作中最重要的环节之一,其市场推广效果与当季销售业绩密切相关。订货会期间的时装秀是经销商选择产品、下订单的重要参考。但传统的真人时装秀常受场地租赁、模特数量、舞台灯光音响搭建等因素制约,在销售淡季为节约成本,往往展示的服装较少。而虚拟时装秀能较大程度降低展示成本,且可进行远程体验,避免奔波劳累,因此,广受业界关注。

随着国民生活水平的整体提高、消费观念的改变及与国际服装文化的融合,对个性化服装的要求与日俱增,服装高级定制已经成为一种趋势。对于高级定制而言,由于其消费群体和消费规模更小,虚拟时装秀的意义也就更大。然而,服装高级定制的用户对服装的合身与否有着极高的个性化要求,而真人时装秀大多采用标准身材的模特以凸显服装款式的效果,容易造成卖家秀和买家秀之间的巨大落差,影响消费者的体验,这不符合高级定制中用户对于理想服装尺寸的期待。如果能在面向高级定制的时装秀中引入个性化人体体形,不仅使消费者有更好的观赏体验,而且有助于降低心理期望和实际着装效果之间的落差。随着电子商务的快速发展以及计算机图形学和虚拟现实等相关技术的进步,近年来,三维虚拟试衣技术广受关注并得到大力推广,试图解决在网购服装过程中因尺寸不合身、外观与图片不符等造成的退换货问题。尽管尺寸是否合身也是虚拟试衣的核心问题之一,但是,由于目前的虚拟试衣系统主要面向大众消费,若侧重考虑固定的尺寸型号在不同个体上的着装效果,很难满足高定用户对服装尺寸的个性化精细要求。另外,试衣场景通常比较简单,也难以满足高级定制用户的观赏体验要求。

基于上述分析,本文提出了面向高级定制的虚拟服装展示系统,包含一个完整的秀场空间,通过虚拟现实头盔使高级定制用户徜徉其中,更好地沉浸于虚拟秀场。系统还提供了基于模特体形尺寸的参数化调整方法,可以生成与高级定制用户身形接近的三维虚拟模特模型。最后,提出了一种自适应的三维服装调整算法,可根据模特体型自动调整服装尺寸并进行服装适配。

1 相关工作

1.1 虚拟服装展示技术

虚拟服装展示技术经历了从二维平面设计、三维立体模型的静态模拟到基于虚拟现实、增强现实等高真实感的三维动态模拟过程。近年来,虚拟服装展示系统被广泛用于商场、虚拟试衣间、时装秀等。目前市面上的虚拟服装展示系统主要有3种:(1)基于裸眼3D技术用大屏幕展示人模穿上服装后的动态效果,这种展示系统的不足在于无法提供沉浸式的可视化体验。(2)基于增强现实技术的商场虚拟试衣间,如Topshop虚拟试衣镜[1]等,可实时观看服装穿在身上的效果,增强趣味性,但受商场环境影响较大,沉浸感较弱。(3)基于虚拟现实平台,如MENG等[2]建立的从虚拟缝合到基于物理的实时模拟交互式虚拟服装试穿系统,该系统不仅可带给用户高沉浸感,而且可通过虚拟设备让用户和系统有较强的互动性。此外,虚拟服装展示技术多与计算机辅助图形设计结合,其应用价值也广受学者关注。MENG等[3]提出了一种面向虚拟试穿、效果评估和风格编辑的计算机辅助设计方案,有助于加速服装设计过程。

本文介绍的虚拟服装展示系统与上述第3种虚拟服装展示平台的形式一致,除此之外,在对系统个性化打造方面提出了多样化的选择,新增多种模块供用户选择,进一步提高了用户与系统的交互性。

1.2 人体参数化建模

人体参数化建模将人体几何信息通过数学模型编码到由人体形状和姿势表示的参数化空间,已有多种参数化建模方法。AN-GUELOV等[4]于2005年首次提出基于边变形的SCAPE参数化人体模型;ZHOU等[5]在此模型基础上,通过2D图片重建三维骨骼,修改水平和垂直方向的人体骨骼,进行图片参数化;CHENG等[6]在SCAPE模型基础上通过Kinect,采集大量人体点云数据,构建人体参数数据库,将人体表面分为17个部分,分别对其进行模型表面坐标点控制。在构建人体参数数据库方面,WANG[7]通过采集大量人体点云数据,构建人体的特征线框,通过更改特征线框,实现对人体模型的参数化调整。

JAIN等[8]进一步简化SCAPE模型,提出了一种可直接在人体顶点坐标上运行的S-SCAPE参数化人体模型;为得到更加精确的人体模型,LEONID等[9]基于S-SCAPE模型和CAESAR大型人体数据库开发了免费的MPI参数化人体模型数据库;基于上述参数化人体模型,可利用人体体形语义参数实现对三维人体模型的参数化编辑;文献[10-12]通过线性映射的方式将诸如身高、体重等体形参数映射到三维人体模型空间;SEO等[13]通过径向基函数学习体形参数与人体模型空间的非线性映射关系。

本文在MPI人体模型数据库的基础上,建立体形语义参数与人模形状空间的线性映射关系,与已有方法的不同之处在于体形参数类别的设置及修改参数的交互方式设置。

1.3 三维服装动画与建模

由于三维服装动画建模的复杂性,如力学模型的建立、数值求解、碰撞检测和响应等,其一直是计算机图形学领域极具挑战性的课题。早期三维服装的生成主要基于物理模拟方法[14],该方法能实现逼真的服装悬垂效果和动画效果,但因其计算成本较高不适合虚拟试衣、游戏等高交互性应用场合。之后,提出了利用数据驱动的方法进行服装建模。KIM等[15]于2008年首次提出利用人体骨架姿势驱动服装变形的方法,在简单的线性蒙皮变形基础上增加了碰撞检测,获得了较好的建模效果;AGUIAR等[16]利用人体姿势、服装、少量元参数学习服装布料的变形模型,建立了一个快速稳定的服装变形系统;MENG等[17]提出了一种灵活的形状控制方法用于自动调整服装外观,以生成各种体形的服装产品;XU等[18]提出了一种将若干相近姿势的服装混合得到输入姿势的服装模型的方法,提供了一种生成高逼真度布料动画的实时方案;LAHNER等[19]提出的Deep Wrinkles框架,由实际捕获的数据生成准确且逼真的三维服装变形。不同于上述仅建立人体姿势或体形和服装变形关系的方法,GUAN等[20]建立了DRAPE模型,该模型同时考虑人体姿势和形状对服装建模的影响,可在任意姿势和任意形状下实现三维服装变形;WU等[21]提出了一种可快速自动地将三维服装拟合到不同形状和姿势的人体模型的方法。

本文结合虚拟时装秀的具体需求,借鉴蒙皮算法提出了一种能适配任意体形和尺寸的服装快速放样方法,在交互调整体形参数的同时,根据变化的三维模型实时自动地进行服装适配。

2 系统概述

如图1所示,虚拟服装展示系统分开始、T台和试衣间3个场景,每个场景对应一个功能模块,场景间可相互切换。开始场景,通过输入性别、身高和体重数据,系统自动生成具有语义属性的着装人体模型,若用户对生成效果不满意,可通过修改胸围、腰围、臀围进行精细化调整。T台场景,可展示经个性化调整后的着装人体模型走秀过程,从多个角度展示服装穿着效果,同时还可对场景参数进行个性化调整,包括背景、灯光和音乐,系统为此提供了多种预设方案。试衣间场景,提供虚拟试衣功能,可实时展示不同服装经个性化调整后的着装效果,系统内置几种不同款式的服装可供选择。

图1 虚拟服装展示系统功能模块Fig.1 The function module of virtual clothing display system

将HTC VIVE作为系统与用户的交互工具,可通过HTC VIVE设备观看服装的动态展示。不同于真实时装秀对场地的限制,在此系统中用户可多方位、自由变换视角欣赏走秀。此外,还可通过HTC VIVE手柄进行交互,如控制舞台的背景、灯光、音乐,选择服装和模特的外形,最大限度地打造用户喜欢的个性化服装展示效果。

3 基于语义参数的人体三维模型重建

采用线性回归方法建立人体体形语义参数与三维模型空间的映射关系。语义参数如表1所示,包括身高、体重等6个主要体形数据。

表1 人体体形语义参数Table 1 Body shape semantic parameters

对基本信息类参数,可从人体模型数据库中直接读取;对细致调整类参数,可借鉴文献[22]提出的横截面曲线凸包测量法,测量人体胸围、腰围、臀围的周长。采用Jarvis March算法[23]构造横截面凸包。假设一个人体模型有l个语义参数,则m个人体模型的语义参数矩阵可表示为

采用主成分分析(PCA)法在MPI人体模型基础上建立人体低维参数空间。已知MPI模型中每个人体都具有相同的拓扑结构,用Hi表示,每个人体网格有n个顶点,对于m个具有恒定连通性的人体网格模型,可将其表示为一个矩阵:

其中,gi为由网格模型Hi的n个顶点坐标组成的一个3n×1的向量。记模版人体为

其中,qi为k维空间下的权重为归一化的特征向量。

类似文献[12],用线性回归方法建立人体语义参数pi和人体形状空间qi的映射关系:

其中,T为相关矩阵,μ为相应的残差,用最小二乘法求解。

4 三维服装自适应变形

4.1 算法概述

在人体模型加载初始阶段,三维服装是放在自然的人体模型(未经语义参数变形的初始人体)上的。当生成具有预期语义属性的新人体模型时,需要将服装迁移至新模型。图2展示的为三维服装自适应算法流程。首先,利用尽可能保形(as-rigidas-possible,ARAP)参数化算法[24],计算由初始人体模型变换至目标人体模型的旋转矩阵,然后,将该旋转矩阵应用于初始服装模型,利用混合蒙皮算法建立三维服装顶点与人体模型顶点的联系,生成变形后的服装模型。

4.2 旋转矩阵计算

设H0为初始人体网格模型,顶点坐标为{v00,v01,…,v0n}。经预期语义属性变形后的人体网格模型为H1,顶点坐标为旋转变换矩阵Ri,将人体网格顶点与其1-ring点组成的三角片作为保持刚性变换的最小单元,用ARAP参数化算法计算。在完全刚性变形时,给定Ci0为变形前初始人体顶点v0i的单元,Ci1为变形后顶点v1i的单元,则存在旋转矩阵Ri:

图2 三维服装自适应算法流程Fig.2 The algoirithm flow of 3D clothing adaptive system

其中,N(i)为人体顶点的一组1-ring点。当为非完全刚性变形时,同样可通过最小化加权能量函数使刚性变形最大化,以此求得最佳近似旋转矩阵Ri,即

其中,wij为固定的余切边权重[25-26]。令变形前单元的边为e0ij=v0ij-v0i,变形后单元的边为e1i

j=v1ij-v1i,则上述最小化问题等同于

令Si为协方差矩阵,则有

其中,Di为包含权重wij的对角矩阵,Pi0为以e0ij为列向量的3×N(i)的矩阵,Pi1为以e1ij为列向量的3×N(i)的矩阵。对Si=UiΣiViT进行奇异值分解,则旋转矩阵Ri为

其中,Ui,Vi分别为Si分解后得到的2个正交矩阵,Σi为对角阵,对角线元素为奇异值。

4.3 服装形状更新

设H0中的初始服装网格模型为A0,顶点坐标为中的目标服装网格模型为A1,顶点坐标为对于每个初始服装顶点u0i,可找到其在初始人体H0中的k个邻近点N(i),将每个邻近点v0ij的旋转变换矩阵应用于u0i,得到相对于具有语义属性的人体模型的目标服装位置,即

其中,Rij表示第i个初始服装顶点u0i的邻近点v0j的旋转变换矩阵。

对u1ij进行加权求和,得到目标服装顶点u1i的坐标:

其中,权重wj通过计算u0i到v0ij的标准距离得到:

实验发现,通过上述线性插值计算得到的目标服装因体积损失产生了褶皱。为解决此问题,用对偶四元数方法[27]进行改进。首先,将三维人体旋转变换矩阵转换为对偶四元数的形式,再将三维服装各个顶点对应的人体顶点旋转变换矩阵的对偶四元数进行加权求和,然后,将求和后的对偶四元数变换为矩阵,最后,用此矩阵对初始服装顶点进行变换,得到目标服装顶点。对偶四元数插值算法的计算式为

4.4 算法实现

算法步骤如下:

输入 变形前服装网格顶点u0i;人体顶点的变换矩阵R1,R2,…,Rn;人体顶点索引j1,j2,…,jn;权重w1,w2,…wn。

输出 目标服装顶点u1i。

Step 1 将变换矩阵R1,R2,…,Rn转换为对偶四元数列表q̂1,q̂2,…,q̂n

Step 2 将初始服装顶点u0i对应的人体顶点旋转矩阵的对偶四元数加权求和得到q̂

Step 2.2 归一化q0=b0/||b0||,qr=br/||b0||

Step 3 将q̂转换为矩阵形式M

Step 4 计算目标服装顶点u1i=u0iM

5 系统设计

基于Unity 3D引擎用C#实现上述虚拟服装展示系统(图3)。

5.1 展示场景设计

5.1.1 开始场景

开始场景如图3(a)所示,内含秀场主题介绍、秀场海报等内容。该场景主要实现模特身形尺寸的参数化调整。如图3(b)所示,人体参数化界面包含三部分:

(1)左边为参数化编辑控制区,含人体基本参数调整和细节参数调整2个模块。人体基本参数包括性别、身高、体重,其中身高和体重分别以cm和kg为单位,标注在输入框中以提醒用户,交互方式为文本框输入。人体个性化细节参数包括胸围、腰围、臀围,基于并不是所有用户都知道自己的个性化参数这一考虑,将交互方式设为滑块拖动控制,如果将其设置为必须输入项,则会给用户带来不便。

(2)中间为人体模型展示区,初始加载时,该区域展示的为标准形状下穿着图示服装的人体模型。系统具有360°观看模型效果的功能,交互方式为鼠标拖拽,通过拖拽鼠标观看任意角度的着装效果。通过输入语义信息实现虚拟化的参数化编辑,包括人体模型变形和人体服装变形。服装变形过程与模型变形过程实时进行。

(3)右下角为场景切换区,包括T台和试衣间2个场景,交互方式为点选,用户选择后进入下一流程的相应场景。

5.1.2 T台场景

T台场景如图3(d)所示,内含U型T台、背景、灯光、人体模型等内容。该场景主要实现着装人体模型的动态展示,并个性化设置T台展示效果。在人体特征点标记基础上生成人体模型骨架[28],对参数化编辑后的人体模型,用Unity动画重定向方法将走路动画复用至人体模型。同时为人体服装添加cloth组件,实现布料模拟,最终生成动态展示效果,如图4所示。

图3(e)为使用HTC VIVE虚拟眼镜和操作手柄示意图,基于HTC VIVE追踪器的空间定位功能,用户通过走动实现多角度观看走秀效果。此外,为提供丰富有趣的体验,在该场景中加入个性化设置功能,主要包括6个模块,见图3(f)。

图3 虚拟服装展示系统场景Fig.3 T he scene of virtual clothing display system

图4 T台走秀序列Fig.4 Catwalk sequence diagram

(1)场景模块,为用户提供切换T台背景的功能,系统预设了3个背景。

(2)灯光模块,具有提供切换T台整体灯光主题的功能,系统预设了6种不同色彩、氛围的灯光方案,值得注意的是,这些不同的灯光方案产生的效果都是预先通过灯光烘焙方法生成的,在切换时只需更改场景的灯光贴图,因此可产生实时更改的效果。

(3)音乐模块,具有提供切换场景和播放音乐的功能,系统同样预设了6种不同音乐风格的方案。

(4)服装模块,提供场景切换,服装模块对应试衣间场景。

(5)人体模型模块,人体模型模块对应开始场景。

(6)退出系统。

5.1.3 试衣间场景

试衣间场景如图3(c)所示,内含试衣台、装饰衣架等,实现人体换装。其界面分3部分:

(1)左边为服装选择区,以二维图像方式展示系统内部预设的6种服装,包括3件上衣和3条裤装。

(2)中间部分为人体模型展示区,展示当前穿着未更换服装的具有语义属性的人体模型。用户点选服装后,即更换为穿着所选服装的具有语义属性的人体模型。值得注意的是,系统预设的服装均根据标准人体模型制作,因此在进行换装时,需增加服装变形的预计算操作,并将变形后的服装加载到人体上。

(3)右下角为场景切换模块,包括开始场景和T台场景,选择后进入下一流程的相应场景。

5.2 人体参数化设计

根据世界卫生组织统计的男女平均身高、体重数据,设置男性人体模型的初始身高为170 cm、体重为63 kg;女性人体模型的初始身高为160 cm、体重为54 kg。基于三维人体模型数据库计算得到初始人体模型胸围、腰围、臀围的平均值,人体参数化重建可描述为:(1)生成初始男性人体模型,如图5(a)所示;(2)输入性别、身高、体重,系统自动生成标准身形,如图5(b)所示;(3)通过滑块设置胸围、腰围、臀围参数,进一步调整身形,如图5(c)所示。

图5 人体参数化设计示意Fig.5 Parametric design of human body

6 实验结果与分析

在Win10x64、英 特 尔Xeon E5-2630、Nvidia Quadro K4200的台式机上进行实验。

6.1 人体参数化效果

为更好地评估上述人体参数化建模的效果,将其与直接使用PCA权重参数建模的效果进行对比,如图6所示。可见,当改变腰围时,基于PCA参数映射生成的结果,虽然直观上只改变了人体模型腰围的大小,但对腰部以下的区域都有影响。同样,当改变臀围时,基于PCA参数映射生成的结果会影响人模腰部,而本文建立的语义模型很好地孤立了人体各个部位,建模更加准确。此外,由于人的身高和体重具有相关性,在体重不变的情况下,改变身高,体形也会发生相应的变化。图6展示了身高参数变化时的结果对比。由图6可知,本文方法很好地建立了人体模型身高和体重的关系。当身高增加时,生成的人体模型变瘦,而基于PCA参数映射的方法仅改变身高,身形不变。

图6 PCA权重参数建模与人体参数化建模效果对比Fig.6 PCA weight parameters and semantic parameters effect comparison

6.2 服装自适应效果

图7 展示的为服装自适应算法得到的最终效果。图7中,(a)为初始人体模型,(b)为经语义变形后的目标人体模型,(c)为穿着初始服装的初始人体模型,(d)为穿着初始服装的目标人体模型,(e)为经算法变形后穿着合适服装的目标人体模型。可知,经服装自适应算法变形后的三维服装可以很好地匹配变形后的人体模型,生成自然的着装效果。本文服装自适应算法在一定程度上可保证服装版型和服装纹理不发生较大的改变,如裤子在变形后不会紧贴人模皮肤表面,而是保持了直筒的版型。

本文算法的变形效果一方面受与服装顶点关联的人体顶点数的影响,另一方面受蒙皮插值算法的影响。一般情况下,线性插值算法与对偶四元数插值算法的视觉效果差别不大,此时,服装变形效果主要与人体关联点数量相关,用变量K值控制,不同K值的服装变形效果如图8所示。K值越大,服装顶点受周围人体顶点数的约束越多,所产生的变形效果越精确,同时,计算时间也相应增加。当K值大于6后,随K值的增大,在视觉上服装变形效果不再明显,因此,本文取K=6作为变形效果和运行时间的平衡点。此外,当人体模型身形变化较大时,用线性插值算法计算得到的服装变形由于体积损失,在人体模型腋下部位会产生褶皱,见图9(a)。对偶四元数插值算法可很好地解决服装褶皱问题,生成更光滑、真实的服装变形效果,见图9(c)。

图7 服装自适应算法示意Fig.7 The results of clothing adaptive algorithm

图8 不同K值时的服装变形效果Fig.8 Clothing deformation effects with different K values

表2为本文算法的性能列表,算法运行时间与服装模型网格数呈正相关。初始人体模型加载时需进行人体模型1-ring点查找、服装模型邻近点查找预处理,耗时较长。但在后续人体模型个性化更改时可实时交互。此外,虽然对偶四元数混合蒙皮算法在服装变形效果上优于线性混合蒙皮算法,但其运行时间约为线性混合蒙皮算法的2倍。在实际应用中,可综合考虑服装变形效果和运行时间,选取最适合的算法。

图9 不同插值算法的服装变形效果Fig.9 Clothing deformation effects with different interpolation methods

表2 运行时间Table 2 The computation time cost

7 结 语

提出了一个面向高级定制的虚拟服装展示系统。首先,利用线性回归映射方法,在人体参数化模型基础上,建立了基于体形语义参数的重建三维人体模型框架;然后,根据ARAP参数化算法计算具有不同语义属性人体模型的转换矩阵,利用线性混合蒙皮算法和对偶四元数混合蒙皮算法,建立了人体顶点和服装顶点的变形关系,实现服装随体形的自适应变化,生成具有着装效果的三维人体模型;最后,在基于语义的三维人体建模和三维服装自适应变形基础上,在Unity环境下,通过集成骨骼动画技术、布料模拟技术、光线追踪技术,实现了包括个性化着装人体模型建立、虚拟换装和着装人体模型的动态走秀展示3个模块的动态虚拟服装展示系统。

然而,本文方法存在局限性。对三维服装展示效果的感知,一方面取决于三维人体模型形体参数与真实形体的一致性,另一方面受三维人体模型面部重建的影响,本文提出的系统未包括人脸建模功能。因此,未来可考虑加入人脸重建模块,通过照片重建等方式构建更加个性化的人体模型。而且在人体参数和服装参数设置,以及生成效果评估上,应更多地参照服装领域专家的意见,生成更符合现代高级定制用户需求的服装效果。

猜你喜欢

人体模型顶点矩阵
过非等腰锐角三角形顶点和垂心的圆的性质及应用(下)
过非等腰锐角三角形顶点和垂心的圆的性质及应用(上)
多项式理论在矩阵求逆中的应用
基于乘员体型的车辆安全性研究
Family makes 45—foot icicle in front yard
矩阵
矩阵
矩阵
体验创新:3D人体扫描仪测三围
人体模型内置摄像头为数据收集