MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}}); function MyAutoRun() {    var topp=$(window).height()/2; if($(window).height()>450){ jQuery(".outline_switch_td").css({ position : "fixed", top:topp+"px" }); }  }    window.onload=MyAutoRun; $(window).resize(function(){ var bodyw=$win.width(); var _leftPaneInner_width = jQuery(".rich_html_content #leftPaneInner").width(); var _main_article_body = jQuery(".rich_html_content #main_article_body").width(); var rightw=bodyw-_leftPaneInner_width-_main_article_body-25;   var topp=$(window).height()/2; if(rightw<0||$(window).height()<455){ $("#nav-article-page").hide(); $(".outline_switch_td").hide(); }else{ $("#nav-article-page").show(); $(".outline_switch_td").show(); var topp=$(window).height()/2; jQuery(".outline_switch_td").css({ position : "fixed", top:topp+"px" }); } }); 数据驱动的三维服装快速建模
  软件学报  2016, Vol. 27 Issue (10): 2574-2586   PDF    
数据驱动的三维服装快速建模
刘骊1, 王若梅2, 罗笑南2,3, 付晓东1, 刘利军1     
1. 云南省计算机技术应用重点实验室(昆明理工大学 信息工程与自动化学院), 云南 昆明 650500 ;
2. 中山大学 国家数字家庭工程技术研究中心, 广东 广州 510006 ;
3. 多媒体与智能软件技术北京市重点实验室(北京工业大学 城市交通学院), 北京 100124
摘要: 提出一种数据驱动的三维服装快速建模方法,可以从样本中快速生成新的三维服装模型.首先,输入三维服装模型集,通过形状款式分析,对三维服装进行语义分割.其次,将分割后的三维服装部件模型聚类为四大类(上身、下身、袖子、配件),构成三维服装部件库.然后,以服装部件模型的面积和边界周长比例为几何形状特征,定义度量服装部件重新组合的款式描述算子.最后,对三维服装部件模型聚类后的源模型进行优化,并通过自然拼接输出新的三维服装.实验结果表明,该方法提高了三维服装建模的效率,能较好地满足目前大规模三维服装数量的需求.
关键词: 三维服装建模     形状分析     语义分割     几何造型     数据驱动    
Data-Driven Method for Rapid 3D Garment Modeling
LIU Li1, WANG Ruo-Mei2, LUO Xiao-Nan2,3, FU Xiao-Dong1, LIU Li-Jun1     
1. Computer Technology Application Key Laboratory of Yunnan Province(Faculty of Information Engineering and Automation, Kunming University of Science and Technology), Kunming 650500, China ;
2. National Engineering Research Center of Digital Life, Sun Yat-Sen University, Guangzhou 510006, China ;
3. Beijing Key Laboratory of Multimedia and Intelligent Software Technology(College of Metropolitan Transportation, Beijing University of Technology), Beijing 100124, China
Foundation item: Foundation item: National Natural Science Foundation of China (61462051, 61272192, 61379112, 61462056); Applied Fundamental Research Project of Yunnan Province (2014FB133); Applied Fundamental Research Key Project of Yunnan Province (2014FA028); Nature Science Foundation of Kunming University of Science and Technology (201403119)
Abstract: This paper presents a data-driven method for rapid 3D garment modeling, which can efficiently generate new garments by examples. First, a semantic segmentation is applied to simultaneously segment and label the components in given 3D garments using shape analysis of garment styles. Second, the garment components are clustered into a garment component library with four categories including tops, bottoms, sleeves, and accessories. Third, a continuous style description of the 3D garments, characterized by the ratio of area and boundary length, is constructed to recommend components that can be regarded as a new 3D garment. The final new suitable garments are produced by optimizing two component meshes. Experimental results show that the presented method is able to satisfy the new requirements of online 3D model collections while ensuring the efficiency of 3D garment modeling.
Key words: D garment modeling     shape analysis     semantic segmentation     geometric modeling     data driven    

传统的三维服装建模方法[1]要经历包括制作二维裁剪、样板缝合、物理仿真等一系列复杂过程.直接从头设计并快速创建出三维服装模型并非易事, 只能生成有限的三维服装模型.目前由于三维服装获取技术的发展以及在互联网三维模型库、数字化服装定制、计算机娱乐角色动画以及游戏电影制作等领域的需求所牵引, 对三维服装模型的数量、处理精度、建模效率、复杂度、款式变化等方面提出了更高的要求.在不同的应用领域, 常常需要变换不同风格的服装以满足人物以及场景的需求.从建模与数据生成的角度来看, 迫切需要提出针对大规模三维服装的建模方法, 快速构建新的三维服装, 以满足用户对服装款式变化的需求.

· 相关工作

从无到有的创建以及编辑已有服装模型生成新的三维服装是典型的交互式建模方法.Liu等人[2]在其综述中给出了详尽的介绍.从无到有的典型实例有基于物理的三维服装建模方法[3]、基于三维扫描点云及多视角的重建方法[4]、基于单幅图像输入的三维服装建模方法[5].此外, 在传统三维服装设计领域, 需借助专业服装辅助设计系统等建模工具将二维样板生成三维服装模型.这些工具学习难度较高, 建模复杂, 要求用户具有专业设计知识.为简化这一复杂的建模过程, Wang等人[6]提出了基于人体特征二维样板的三维服装模型设计方法.此外, 针对服装工业制造的辅助设计, Meng等人[7]提出了在对服装模型的修改和编辑过程中考虑基于特征的放码以及在修改三维模型时, 采用二维样板与三维模型之间联动的方法[8].然而, 这些方法仍然需要用户做大量的二维裁剪以及样板制作等工作.Igarashi等人[9]则提出了交互式敏捷的服装建模方法, 该方法将服装设计、修改和展示合为一体, 实现了真正意义上的三维裁剪.基于草图的方法[10, 11]也广泛应用于三维服装建模中, 它是根据大量轮廓线以及缝合边界完成二维到三维的服装建模.Robson等人[12]提出基于内容感知草图的方法, 该草图基于一系列的关于服装款式和形状的特征.近期, Chen等人[13]提出了基于深度相机的三维服装建模方法, 能够获得具有真实感效果的三维服装模型.交互式建模方法不仅需要用户具有一定的服装专业知识背景, 而且其设计过程只能是单一的流程, 这使得生成的三维服装模型的数量受到了限制.

近年来, 编辑现有模型生成新的模型为三维建模提供了另一种途径[14].Funkhouser等人[15]最早提出用部件重新组合的方法来完成三维模型的构建.在此基础上, Chaudhuri等人[16, 17]提出在从无到有的建模方法中, 使用部件建议的方法.通过部件不同形状, 为构建的三维模型自动地从数据库中检索并推荐其相关部件给用户, 有效地辅助交互式几何建模过程.此外, 文献[18]提出了利用语法规则的思想用于编辑现有模型生成新的模型.这些方法基于数据生成的角度, 针对刚性物体模型, 提出基于部件组合的数据驱动建模的新思路.同时, 也启发研究者们利用现有模型快速构建有创意的大规模数量的三维服装.例如, Brouet等人[19]提出的保持设计的服装迁移方法就是一种可以基于不同体型下, 同一款式设计的三维服装自动生成的过程.这一方法充分利用放码、缩码、几何变形等机制, 快速获得不同体型下相同款式的三维服装模型, 该方法为三维服装建模提供了一条新的思路.Berthouzo等人[20]则利用计算机视觉领域以及高层次语义理解的理论方法, 用概率推理模型简化之前服装二维样板缝合线、轮廓线等复杂特征之间的关联, 自动匹配相关二维样板的省道、底边、褶皱线, 再利用交互式的敏捷的模拟方法[7]进行建模后快速获得不同款式的三维服装模型.然而, 这些方法由于涉及到存储大量的顶点信息以及放码等二维样板, 建模效率仍然不高.近期, Li等人[21]提出了基于样例的服装建模方法, 利用已有设计结果, 直接在三维人体模型上“组装”出新的服装模型, 让服装造型变得像搭积木一样容易.受到该方法的启发, 本文提出数据驱动的三维服装快速建模方法.与文献[21]不同的是, 本方法是通过形状分析与处理从样本中快速生成新的三维服装模型.

与刚性物体、人造物体建模等方法[22]不同, 保持服装款式以及款式约束的重新组合成为三维服装建模的最大难点.此外, 三维服装作为一种非刚性模型, 由于其具有款式复杂多样等特点, 除了要计算柔性形变、对齐、部分对应等问题, 还要提升建模效率和准确率.而高层次的面向语义的结构分析与处理方法[23]为快速构建新的三维服装提供了可能, 三维形状分析可直接应用于形状描述及模型匹配[24]、模型分割[25]、形状对应[26]以及形状检索[27]等.基于语义的网格分割[28]是近年来网格分割算法发展的趋势, 它涉及到对自然语义的理解以及结合机器学习等领域的知识, 这样符合人类认知的分割方法已经成功地应用于重网格化、变形、三维模型检索、网格参数化以及计算机建模等.基于语义的网格分割更好地将形状分析与模型的局部几何属性相结合, 克服了过分割等问题, 同时能够较好地将功能部件分割出来.

三维网格融合作为网格编辑的一种热门方法得到了许多科研人员的关注, 并且发展出了许多不同的融合算法.Biermann等人[29]提出一种三角网格曲面的切割和粘贴的融合方法:从源网格模型上剪切出一部分, 然后粘贴到目标网格模型上, 同时考虑融合边界的光滑连续性.之后, Sharf等人[30]也提出了交互式的切割和粘贴的网格编辑方法.Yu等人[31]提出了基于微分域的拉普拉斯编辑方法和泊松编辑方法, 几何编辑就是在尽量保持这些局部几何微分性质的条件下来改变网格形状.文献[32]提出了一种面向任意边界拓扑结构的网格融合方法, 该方法通过分割需要的网格模型并优化其位置, 在融合中采用隐式曲面光滑插值模型边界.文献[33]则提出了一种基于功能混合的网格融合新方法, 利用该方法融合的网格不受盘状拓扑结构的限制.对刚性物体模型来说, 这些方法能够获得较好的融合效果, 并给出了较好的解决方案.然而, 对于具有柔性、各向异性的三维服装来说, 融合后的细节保持仍具挑战性.

· 本文方法概述

本文提出了一种数据驱动的三维服装快速建模方法, 用于有效地分析、处理、生成新的三维服装模型, 从而满足目前大规模三维服装模型数量的需求.与现有方法相比, 该方法将服装的款式知识、形状知识与高效的编辑技术有机地结合起来, 针对已有的三维服装模型, 提出利用语义分割、款式描述算子、服装合成来快速生成新的三维服装.图 1描述了本文方法的主要流程.

Fig. 1 Overview of our approach 图 1 本文方法的流程

· 我们首先基于服装款式分析, 利用数据驱动和协同分析的方法对输入的三维服装模型集进行语义分割, 聚类出不同的服装原型部件, 并标注各部件的边界特征点, 形成三维服装部件库(见第1节);

· 基于服装部件库, 进一步提出基于款式描述算子的服装部件形状对应, 实现符合柔性服装款式约束的服装部件重新组合(见第2节);

· 最后, 建立基于加权迭代最近点的全局优化, 自然拼接生成新的三维服装模型(见第3节).

综上所述, 本文的创新点主要有3点.

· 一是以已有的服装模型集作为输入, 对具有不同款式原型部件的服装模型进行语义分割和聚类, 并定义了款式描述的部件形状对应;

· 二是将服装部件模型的面积比和边界长度比作为主要几何特征, 定义了度量柔性服装建模中服装部件重新组合的款式描述算子;

· 三是提出了一种基于款式描述算子的三维服装模型合成方法, 能够自然拼接生成新的款式多样的三维服装模型, 以满足目前大规模三维服装的需求.

本文方法为三维服装建模提供了一条新的用形状分析和处理方法快速构建三维服装的思路.

1 语义分割

通过观察与分析, 不难发现:一组三维服装模型通常具有相同的服装部件, 比单个三维服装蕴含了更丰富的形状款式语义.从理论上来说, 与其他较为复杂的刚性模型相比, 三维服装模型的形状具有更加明显的几何特征.因此, 利用三维服装模型之间的语义关联, 能对已有的三维服装模型集进行形状款式分析, 将具有款式结构一致的三维服装部件分割出来, 实现语义分割.区别于文献[34], 本文方法考虑了柔性服装模型的款式复杂性且可分割出具有相同语义标注的服装部件.

1.1 形状款式分析

服装的形状款式是与其结构有关的, 虽然服装款式变化多样, 但服装的组成结构总是一定的, 且其结构框架线也是一定的.根据文献[35]定义的具有合理完备性的服装形状款式和类别属性, 基于服装款式原型, 可将服装部件分为上身、下身、衣袖和配饰4类.

输入三维服装模型集合G:{Gi|GiM, i=1, 2, …, n}, 其中, Gi是基于三角网格表示的三维服装模型.对三维服装模型集合G进行形状款式分析, 将具有款式结构一致的三维服装部件分割出来, 用于实现语义分割.首先定义服装网格模型的每个三角面片gG, xg是每个三角面特征X的向量, 选取三维服装模型集合G的网格曲面的局部几何信息描述算子特征、服装部件结构上下文特征作为特征向量.假设lg是标注序列L对应的随机变量, 其中, L是预先定义的三维服装部件, 如袖子、上身、下身以及配饰, 如图 2(a)所示.成对特征θ是相邻三角面的二面角, Y是通过随机场方法(CRF)输出的分割标注.因此, 语义分割的数学描述为:已知输入的带标注的三维服装网格模型数据集$ {E^\ell } = [(x_g^1, l_g^1), …, (x_g^N, l_g^N)] $, 未标注的三维服装网格模型数据集${E^u} = [x_g^{N + 1}, …, x_g^M]$, 则通过CRF模型[36]可以建立如下条件概率函数:

Fig. 2 Example of semantic labeling for 3D garments, the training meshes includes labeled and unlabeled garment 图 2 三维服装模型语义标注示例, 标注过的以及未标注的服装网格模型集作为训练集

$ P(Y|X,\theta )=\frac{1}{Z(X,Y,\theta )}\exp \left( {{\Omega }^{{{E}^{\ell }}}}(X,Y)+{{\Phi }^{{{E}^{u}}}}(Y,\theta ) \right) $ (1)

其中, Z(X, Y, θ)是归一化分界函数, Ω(X, Y)是一元能量项, Φ(Y, θ)是二元能量项, 该公式是基于CRF模型的定义形式.Ω(X, Y)是正的条件概率能量函数, 其可定义为以下形式.

$ {\Omega ^{{E^\ell }}}(X, Y) = \sum\nolimits_{g = 1}^N {\log p} ({y_g}|{x_g}) $ (2)

Φ(Y, θ)表示对应于CRF模型下未标注过的服装网格模型集的负熵条件, 可将其定义为

$ {\Phi ^{{E^u}}}(Y, \theta ) = \sum\nolimits_{g = N + 1}^M {\sum\nolimits_Y^{} {p({y_g}|{x_g})\log } } p({y_g}|{x_g}) $ (3)

这里, 将基于CRF模型学习的分割公式转换成为求解最大化能量函数的问题.已知具有标注过和未标注过的服装网格模型集, 基于CRF模型学习到的分割可以定义为以下正则化熵的形式.

$ \gamma ( \cdot ) = \sum\nolimits_{g = 1}^N {\log p} ({y_g}|{x_g}) + \lambda \sum\nolimits_{g = N + 1}^M {\sum\nolimits_Y^{} {p({y_g}|{x_g})\log } } p({y_g}|{x_g}) $ (4)

其中, λ是权衡未标注数据的控制参数, 本文实验中, 设置λ∈[0.01, 0.05]时, 能够得到较为理想的结果.

1.2 语义分割算法

输入手工标注过的以及未标注的服装网格模型集作为训练集, 如图 2(b)图 2(c)所示.整个基于CRF模型学习的过程就是希望找到无标注的最小化条件熵, 以此获得与有标注的相关联的假定标注.对三维服装模型集合G进行语义分割的具体步骤如下.

Step 1. 对输入三维服装模型集合G进行形状分析, 选取三维服装模型集合G的网格曲面的局部几何信息描述算子特征、服装部件结构上下文特征作为特征向量, 通过随机场CRF方法进行语义标注;

Step 2. 再用惩罚条件似然函数定义在CRF模型下有标注的三维服装模型集合G中的三维服装网格模型集$ {E^\ell }$、未标注过的服装网格模型集Eu为在CRF模型下的负熵条件形式, 通过求解最大化能量函数获得基于CRF模型学习的分割;

Step 3. 通过修改JointBoost分类器来训练CRF模型:具体地, 首先使用基于马尔可夫随机场MRF下的置信传播BP近似推理算法, 再利用JiontBoost方法训练这些输入网格模型的分类器;

Step 4. 对CRF模型中的参数进行优化:通过穷举查找的方式在参数空间对网格进行优化, 并从网格上最小的点开始, 用MATLAB的预条件共轭梯度的数值估计梯度方式实现继续优化.

1.3 部件模型聚类

以语义分割后的不同类别的服装部件模型集作为输入, 进一步对三维服装的几何形状(如服装部件的构成、形状等)进行分析.Gi的一个子类为mji, C={TK}K=1, …, NGi所有子类的聚类, 每个聚类实质上对应于服装模型集中的每个功能部件, 且对每个聚类TK来说, 每个服装模型都有一个子类$ m_j^i \subset {\rm T} $基于高斯混合模型和贝叶斯网络, 将分割后的服装部件按款式原型自动聚类为4类:上身服装部件T、下身服装部件B、袖子部件S和配饰部件A, 形成三维服装部件库.

2 款式描述算子

在三维服装部件模型聚类后的各类中, 对每个部件模型m赋予一个用于描述其款式特征的几何属性r(m), 其中几何属性r(m)是以服装部件模型的面积和边界周长比例作为主要的几何形状特征, 并进一步定义连续款式描述算子来评价服装部件模型合成结果的优劣.通过观察不难发现, 服装部件有较好的结构特征, 也呈现出线性连续的变化情况, 可以用面积比例区分不同的部件模型, 袖子和上衣之间可以用袖笼边界长度比例来区分.因此, 以语义分割后的不同类别的服装部件模型集{Ci}, i=1, …, n作为输入, 定义服装部件模型的面积和边界周长比例为连续款式描述算子.对这些服装部件形状间的相似度进行度量, 进而度量服装部件重新组合的合理性.

款式描述算子中的比例可以线性化至区间[0, 1], 通常用来区分上身部件模型(如夹克与T恤), 下身部件模型(如短裤、半裙、长裤)以及可区分出配饰部件模型(如袖子、口袋和领带等).款式描述算子在二维空间下的几何描述如图 3(a)所示, X代表由夹克和长裤合成的服装模型, 而Y是由T恤和半裙部件合成的服装模型.基于定义的连续款式描述算子, 可以决定通过语义分割和聚类后的服装部件, 哪些可以用来合成新的服装模型.其中, 服装模型Z是由两个相关的上身部件Zt和下身部件Zb合成的, 将这两个部件模型与合成的服装模型之间的形状对应定义为在二维形状空间下的相似性度量.服装上、下身部件之间匹配的关联性度量定义为如下形式:

Fig. 3 Example of semantic labeling for 3D garments, the training meshes includes labeled and unlabeled garment 图 3 款式描述算子的定义、3种服装部件的组合关系以及满意的视觉效果实例

$ {P_{T, B}}(Z) = \frac{1}{n}\sum\nolimits_{i = 1}^n {\exp \left( { - \frac{{d_{T, B}^2(Z, {C_i})}}{{2{\sigma ^2}}}} \right)} $ (5)

其中, $ {d_{T, B}}(Z, {C_i}) = {\left\| {(r({Z^t}) - r(C_i^t), (r({Z^b}) - r(C_i^b)} \right\|_2}$表示的是Z, CiTB二维形状空间下的关联性距离, 实验结果表明, σ设置为0.5比较合适.同理, 可以定义服装上身部件和衣袖部件之间匹配的关联性度量为

$ {P_{T, S}}(Z) = \frac{1}{n}\sum\nolimits_{i = 1}^n {\exp \left( { - \frac{{d_{T, S}^2(Z, {C_i})}}{{2{\sigma ^2}}}} \right)} $ (6)

这里, Z, ZiTS二维形状空间下的关联性距离是${d_{T, S}}(Z, {C_i}) = {\left\| {(r({Z^t}) - r(C_i^t), (r({Z^s}) - r(C_i^s)} \right\|_2}$, 将以上定义扩展到三维空间中, 对于配饰部件与上身及下身之间的匹配的关联概率, 即为PT, B, S.合成的服装可以用服装部件间的形状对应的连续款式描述算子来表示, 即$C(t, b, s, a), t \in T, b \in B, s \in S, a \in A \cup \emptyset .$最后最大化对应形状部件描述符间的相似度, 即部件形状对应目标函数为如下形式:

$ P(C) = {P_{T, B}}(C) \times {P_{T, S}}(C) \times {P_{T, B, A}}(C) $ (7)

其中, C是度量三维服装部件模型聚类后的源模型和目标模型间组合关联性的距离, 这些模型包括上身部件库T、下身部件库B、袖子部件库S、配饰部件库A, P(C)是部件间匹配关联概率, PT, B(C)是上身部件与下身部件组合的概率, PT, S(C)是上身部件与袖子部件组合的概率, PT, B, A(C)是上身部件与下身部件及配饰部件组合的概率.

通过服装设计知识以及服装部件之间的关联概率, 进一步定义了配搭关联、缝合关联以及融合关联3种服装部件的组合关系, 如图 3(b)所示.当满足部件形状对应目标函数(部件间匹配关联概率最大)时, 能够获得视觉效果美观的服装模型, 且符合服装款式要求, 如图 3(c)所示.

配搭关联 A:两个目标服装部件曲面在几何上基本连续, 但在拓扑上不要求连续, 即两个部件拼接边界上的网格顶点不重合.当合成拼接之后, 两个部件模型仍然保持各自的拓扑结构.

缝合关联 S:两个目标服装部件曲面不仅在几何上连续, 而且在拓扑上也要求是连续的, 缝合完成后生成新的服装模型曲面是一个实体, 但袖笼的边界不能被合并.

融合关联 M:两个目标服装部件曲面不仅在几何上连续, 而且在拓扑上也要求是连续的, 合成拼接后的服装模型曲面是一个实体, 部件轮廓线也进行合并.

3 三维服装合成

三维服装的合成分为两个阶段:一是根据定义好的款式描述符, 再根据目标模型, 对三维服装部件模型聚类后的源模型进行全局优化; 二是通过自适应的服装部件自然拼接方法来实现三维服装部件模型聚类后的源模型和目标模型的自然拼接, 使得服装部件的网格融合效果更符合柔性服装的特征.

3.1 全局优化

由于各服装部件模型在服装合成中会出现尺度缩放, 因而, 还需要优化匹配三维服装部件间的空间位置.如图 4(a)所示, 已知两个服装部件模型ST, 为了辅助实现ST间的位置优化, 两个模型拼接的区域用红色点标注出来, 如图 4(b)所示.服装部件模型ST的拼接区域前后都有两个红色的点(给出了拼接的空间几何信息), 此外, 这些点在部件聚类时已加入语义标注.

首先, 通过基于ICP[37]求解计算出最优变换(R, t)以实现三维服装部件模型聚类后的源模型的形状优化.其形式如下:

$ {d_{ICP}}(S, T) = \mathop {\min }\limits_{R, t} d(RT + t, S) $ (8)

其中, R是三维服装部件模型聚类后的源模型的融合边界区域大小, t是优化的迭代次数.整个优化过程就是使得变换后的服装部件模型T'=RT+t尽量与原始服装部件模型S满足最小二乘下的最佳匹配.

然后, 对于服装部件模型S, 计算边界区域上每个点与其最接近目标形状边界点的测地线距离, 并确保重叠区域内点的位置变化的一致性, 以实现三维服装部件的位置优化.

不断轮替优化以上过程直到迭代结束, 三维服装部件拼接区域的形状及位置优化后的结果如图 4(c)所示.

Fig. 4 Global optimization for 3D garment component shape and placement 图 4 三维服装部件间形状及位置的全局优化

3.2 自然拼接算法

通过自适应的服装部件自然拼接方法来实现三维服装部件模型聚类后的源模型和目标模型的自然拼接, 使得服装部件的网格融合效果更符合柔性服装的特征.

图 5(a)所示, 分别输入衣袖部件作为源网格$S \subset {R^3}$, 衣身部件作为目标网格$T \subset {R^3}$, 从网格的疏密程度看, 衣袖部件模型比衣身部件模型更加稠密.用户在源网格$ \partial S$和目标网格$\partial T$的边界上指定的一对对应顶点(图中红色点所示).目标函数S′是将S融合到目标网格T后的网格, 且$\partial S$$\partial T$必须保持相同的拓扑结构.对于每个顶点vS, 计算其均值坐标λ1(V), …, λn(v)=MVC(V, ∂S), 对于每个顶点viS计算其Dirichlet边界条件diffi=T(vi)=S(vi), 并构造调和表面函数.

Fig. 5 Adaptive merging for different meshing of different 3D garment components 图 5 不同三维服装部件的自然拼接

三维服装部件自然拼接算法的具体步骤如下.

Step 1. 根据Neumann边界条件对三维服装部件模型聚类后的源模型求解拉普拉斯表面函数[38]:

$ \tilde S(v) = \sum\nolimits_{i = 1}^m {{\lambda _i}(v} )(\partial T-\partial S){v_i}, S' = S + \tilde S $ (9)

通过调整源网格的内点使得邻接于融合边界的三角形面片的切向量−nsi与-nti一致, 如图 5(b)所示.其中, nsi是三维服装部件模型聚类后的源模型三角形面片的切向量, nti是目标部件模型三角形面片的切向量; 服装部件自然拼接中的几何变换是在高维空间中, 源网格和目标网格的融合边界拓扑结构一致并且空间位置相等.

Step 2. 计算目标模型、三维服装部件模型聚类后的源模型的边界线上的垂直切向量的平均值.

$ \left\{ \begin{array}{*{35}{l}} {{{{n}'}}_{si}}=({{n}_{si-1}}+{{n}_{si}})/2 \\ {{{{n}'}}_{ti}}=({{n}_{ti-1}}+{{n}_{ti}})/2 \\ \end{array} \right. $ (10)

此平均值再与目标模型、三维服装部件模型聚类后的源模型的边界线上的每个顶点(-nsi, …, -nsl)和(-nti, …, -ntl)关联.

Step 3. 调整内点v相对于边界点vsi的切向量方向, 移动的距离按照相似三角形的比例关系计算得到顶点v移动的向量|vv′|(-nsi-nti).

Step 4. 对于其他的边界点, 先计算目标模型、三维服装部件模型聚类后的源模型的边界线上的垂直切向量的平均值, 然后计算该内点相对于平均值的偏移量, 其次计算出其他边界点的总的偏移量, 再与内点v的坐标相加后作为内点v沿切向量方向调整后的位置, 从而实现三维服装部件自然拼接中的保形变换, 其中, 总的偏移量是将所有内点的偏移量根据均值坐标加权求和得到.

Step 5. 通过部件间的成对分配, 进行合理的相对变换以及自然拼接后, 实现新的服装模型合成(如图 5(c)所示).

综上, 在三维服装合成的整个过程中, 不破坏服装模型的语义, 然后再输出新的三维服装模型, 即可得到三维服装快速建模模型.

4 实验结果与分析

本文方法的实现是在Intel Core i5-4590 3.3GHz CPU, IntelG41 Express Chipset, 4GB DDR3 Ram的硬件平台以及Visual Studio 2010和Graphite的软件平台上完成的.实验中使用到的各数据集(包括输入的三维服装、部件聚类、语义分割出的三维服装部件模型集和合成的服装集)见表 1.

Table 1 The statictis for datasets used in the experiment 表 1 实验中使用到的各数据集统计

4.1 定性对比分析

本文提出的数据驱动的三维服装快速建模方法是将服装的款式知识、形状知识与几何处理技术相结合, 快速生成新的三维服装模型.提供了一种新的用形状分析和处理方法快速构建三维服装的思路.表 2给出了本文方法与其他三维服装建模方法的比较.

Table 2 Comparison between our 3D garment modeling method and the other ones 表 2 本文方法与其他三维服装建模方法比较

表 2中, 三维服装建模的成本、复杂性、效率是用3层等级的指标进行评价, 分别是高、中、低.其中, 对于成本指标来说, 其单位为人民币(CNY), 范围分别是:高(>5000CNY), 中(2000~5000CNY), 低(< 2000CNY); 复杂性的评价主要与建模过程有关, 3个评价等级分别是:高(需要服装设计知识与软件工具的使用基础), 中(只需服装设计知识), 低(无需专业设计知识与软件工具的使用基础); 运行效率的时间单位是秒(s), 其3个评价指标分别为:高(20s~30s), 中(10s~20s), 低(0s~5s); 复用性是用两个指标进行评价, 包括有无逆向工程的建模过程.

4.2 部件关联分析

为了评价服装部件形状对应的准确性, 我们分析了用于度量服装模型合成的每一组服装部件形状ST对应的准确率, 该准确率可通过如下部件关联函数进行度量:

$ Coor.(l) = \frac{{\sum\nolimits_{i \in S} {\sum\nolimits_{j \in T} {{a_i}{a_j}} } \left| {\lambda ({l_i} = {l_j}) + \lambda ({k_i} = {k_j})-1} \right|}}{{\sum\nolimits_{i \in S} {\sum\nolimits_{j \in T} {{a_i}{a_j}} } }} $ (11)

其中, ai是三角面i的面积, l是每个形状对应的标注, k是手工标注, 这一准确率度量了对应的聚类中具有一致标注的三角面片的相似性.

图 6给出了用于实验的服装部件模型形状对应的统计评估结果, 展示了一些服装类别下的部件间对应的准确率, 第1行中给出的是上身类部件(不同衬衫和T恤)与下身类部件(包括半裙、短裤、长裤和牛仔裤).此外, 在上身类部件(如背心、连身背心)与袖子类部件之间的形状匹配对应率也较高, 如图 6中第2行所示.

Fig. 6 Statistical evaluation of the correspondence accuracy for garment components in percentage 图 6 三维服装部件间关联的准确率分析

4.3 服装合成结果

图 7(a)给出了实验中用于服装合成的部件数量分布直方图统计, 在三维服装合成中, 我们重复选用外套(coat)、衬衫(shirt)、袖子(sleeve)、短裤(short)、半群(skirt)、T恤(T-shirt)、背心(vest)、口袋(pocket)来进行实验.图 8(b)用于合成的三维服装中分割的初始服装模型数量分布的直方图统计, 在输入的三维服装初始模型基础上, 根据款式描述算子, 进一步组合生成新的三维服装模型.I1~I10分别表示:I1(衬衫), I2(毛衣), I3(夹克), I4(外套), I5(礼服), I6(T恤), I7(羊毛衫), I8(运动开衫), I9(短裤), I10(长裤).

Fig. 7 Quantitative evaluation of experimental data in the procedure of 3D garment synthesis 图 7 三维服装合成中实验数据的量化分析

为了进一步验证基于款式描述算子的三维服装合成方法的有效性, 我们给出了6个服装合成实例(男装和女装).图 8给出了服装合成结果及其对应组成的服装部件模型.合成后的服装已经是单个曲面, 没有裁片的纹理坐标.为了让缝合后的服装结果看上去不仅仅只是单个曲面, 我们利用Maya工具对例子中缝合后的没有UV的曲面进行纹理映射.对于女装来说, 图 8(a)展示了由衬衫和半裙部件模型可以合成新的连衣裙模型, 最后通过真实感纹理映射后得到的效果.图 8(b)展示了女士长外套是由连身长马甲与长袖部件组合而成的新模型(白点蓝色帆布面料真实感纹理映射后的效果).而图 8(c)中给出了利用女士T恤和半裙部件模型合成的女士连衣裙模型(红色丝绸面料真实感纹理映射后的效果).此外, 对于男装来说, 图 8(d)是使用短袖部件与男士背心合成的短袖T恤(星状蓝色牛仔面料真实感纹理映射后的效果).短袖部件与男士西装背心合成的短袖西装模型, 如图 8(e)所示.最后在图 8(f)中, 合成的长袖西装外套是用长袖和男士背心部件组合的.利用我们的方法, 可以快速生成由服装部件合成后的更多服装模型, 同时利用不同的真实感纹理映射后, 可以获得更多款式多样并具有不同真实感效果的三维服装模型.

Fig. 8 The results of 3D garment synthesis 图 8 三维服装合成结果

4.4 性能评价

本文提出的自然拼接方法采用了Neumann边界条件代替Dirichlet边界条件, 并采用插值方法代替了求解线性系统的数值方法, 从而把非线性的问题转化为了线性问题的求解, 能够较好地实现柔性服装融合边界的自然过渡.通过实验, 其结果表明, 文献[31]中的方法具有线性的时间复杂度, 内存开销较大; 而本文方法的内存开销较小, 主要依赖于求解线性系统的速度, 通常采用LU分解方法以获得比较高效的时间效率.图 9给出了本文提出的自然拼接算法与文献[31]方法之间的效率比较.

Fig. 9 Analysis of time performance between the method[31] and ours 图 9 本文方法与其他方法[31]间的效率比较

此外, 本文提出的自然拼接算法较之文献[31]中的方法而言, 在拼接效果以及时间效率上都有较大幅度的提高.表 3列出了所有实验模型的运行时间以及三维服装模型的几何信息数据以及算法效率的性能统计, 相关的实验测试均在三维几何数据处理的开放平台(Graphite)上进行.

Table 3 Performance statistics of the component mesh and the runtime for each tested example 表 3 实验例子中的服装部件模型的几何信息、算法性能统计

本文提出的三维服装快速建模中的运行时间主要依赖于自然拼接算法的运行时间, 其时间复杂度为O(LK), 其中, L是服装部件的类数, K是输入的服装模型的个数.

5 总结与展望

本文将服装的款式知识、形状知识与高效的网格编辑技术有机地结合起来, 从数据生成的角度, 提出了一种数据驱动的三维服装快速建模方法, 以满足目前大规模三维服装模型数量的需求.如何符合柔性服装款式的先验知识, 并对输入的服装模型进行语义分割和基于款式描述算子的服装部件重新组合是关键.本文方法效果理想、效率较高, 可以有效地应用于三维服装的快速建模.然而, 本文还存在一些不足:一是只考虑了几种简单服装的组合配对, 仅通过服装部件模型的面积和边界周长比例作为几何形状特征是不够的, 组合关联的款式描述算子仅针对上身、下身以及袖子等原型部件; 二是没有考虑人体模型, 不同特征的放码等; 三是修改模型中没有考虑二三维联动.

未来的工作中除了解决以上不足之外, 还将着重于三维服装建模中的内容创造、生成模型可制造等方面带来的挑战.此外, 进一步考虑柔性服装的配饰搭配、褶皱等细节、面料属性编辑以及借用语法规则思想来进行服装的快速建模等也是今后的工作, 并真正将该方法应用到更多的领域中, 如电子商务中的大规模服装定制、服装原型设计和虚拟服装等.

参考文献
[1] Volino P, Cordier F, Magnenat-Thalmann N. From early virtual garment simulation to interactive fashion design. Computer Aided Design, 2005, 37 (6) :593–608. [doi:10.1016/j.cad.2004.09.003]
[2] Liu YJ, Zhang DL, Yuen MM. A survey on CAD methods in garment design. Computers in Industry, 2010, 61 (6) :576–593. [doi:10.1016/j.compind.2010.03.007]
[3] Magnenat-Thalmann N. Modeling and Simulating Bodies and Garments. Springer-Verlag, 2010 :1–203. [doi:10.1007/978-1-84996-263-6]
[4] Bradley D, Popa T, Sheffer A, Heidrich W, Boubekeur T. Markerless garment capture. ACM Trans.on Graphics (TOG), 2008, 27 (3) :99:1–10. [doi:10.1145/1399504.1360698]
[5] Zhou B, Chen X, Fu Q, Guo K, Tan P. Garment modeling from a single image. Computer Graphics Forum, 2013, 32 (7) :85–91. [doi:10.1111/cgf.12215]
[6] Wang CC, Wang Y, Yuen MM. Feature based 3D garment design through 2D sketches. Computer-Aided Design, 2002, 35 (7) :659–672. [doi:10.1016/S0010-4485(02)00091-X]
[7] Meng YM, Wang CC, Jin XG. Flexible shape control for automatic resizing of apparel products. Computer-Aided Design, 2012, 44 (1) :68–76. [doi:10.1016/j.cad.2010.11.008]
[8] Meng YM, Mok PY, Jin XG. Computer aided clothing pattern design with 3D editing and pattern alteration. Computer-Aided Design, 2012, 44 (8) :721–734. [doi:10.1016/j.cad.2012.03.006]
[9] Umetani N, Kaufman DM, Igarashi T, Grinspun E. Sensitive couture for interactive garment modeling and editing. ACM Trans.on Graphics (TOG), 2011, 30 (4) :90:1–10. [doi:10.1145/2010324.1964985]
[10] Turquin E, Wither J, Boissieux L, Cani MP, Hughes JF. A sketch-based interface for clothing virtual characters. IEEE Computer Graphics and Applications, 2007, 1 :72–81. [doi:10.1109/MCG.2007.1]
[11] Decaudin P, Julius D, Wither J, Boissieux L, Sheffer A, Cani MP. Virtual garments:A fully geometric approach for clothing design. Computer Graphics Forum, 2006, 25 (3) :625–634. [doi:10.1111/j.1467-8659.2006.00982.x]
[12] Robson C, Maharik R, Sheffer A, Carr N. Context-Aware garment modeling from sketches. Computers & Graphics, 2011, 35 (3) :604–613. [doi:10.1016/j.cag.2011.03.002]
[13] Chen X, Zhou B, Lu F, Wang L, Bi L, Tan P. Garment modeling with a depth camera. ACM Trans.on Graphics (TOG), 2015, 34 (6) :1–12. [doi:10.1145/2816795.2818059]
[14] Hu SM, Yang YL, Lai YK. Research progress of digital geometry processing. Chinese Journal of Computers, 2009, 32 (8) :1451–1469(in Chinese with English abstract). [doi:10.3724/SP.J.1016.2009.01451]
[15] Funkhouser T, Kazhdan M, Shilane P, Min P, Kiefer W, Tal A, Rusinkiewicz S, Dobkin D. Modeling by example. ACM Trans.on Graphics (TOG), 2004, 23 :652–683. [doi:10.1145/1015706.1015775]
[16] Chaudhuri S, Koltun V. Data-Driven suggestions for creativity support in 3D modeling. ACM Trans.on Graphics (TOG), 2010, 29 (6) :183:1–10. [doi:10.1145/1882261.1866205]
[17] Chaudhuri S, Kalogerakis E, Guibas L, Koltun V. Probabilistic reasoning for assembly-based 3D modeling. ACM Trans.on Graphics (TOG), 2011, 30 (4) :35:1–10. [doi:10.1145/2010324.1964930]
[18] Guo XK, Lin JC, Xu K, Jin XG. Creature grammar for creative modeling of 3D monsters. Graphical Models (Special Issue of GMP 2014), 2014, 76 (5) :376–389. [doi:10.1016/j.gmod.2014.03.019]
[19] Brouet R, Sheffer A, Boissieux L, Cani MP. Design preserving garment transfer. ACM Trans.on Graphics (TOG), 2012, 31 (4) :36:1–11. [doi:10.1145/2185520.2185532]
[20] Berthouzoz F, Garg A, Kaufman DM, Grinspun E, Agrawala M. Parsing sewing patterns into 3D garments. ACM Trans.on Graphics (TOG), 2013, 32 (4) :85:1–10. [doi:10.1145/2461912.2461975]
[21] Li J, Lu G. Modeling 3D garments by examples. Computer-Aided Design, 2014, 49 :28–41. [doi:10.1016/j.cad.2013.12.005]
[22] Kalogerakis E, Chaudhuri S, Koller D, Koltun V. A probabilistic model for component-based shape synthesis. ACM Trans.on Graphics (TOG), 2012, 31 (4) :55:1–11. [doi:10.1145/2185520.2185551]
[23]
[24] Van KO, Zhang H, Hamarneh G, Cohen-Or D. A survey on shape correspondence. Computer Graphics Forum, 2011, 30 (6) :1681–1707. [doi:10.1111/j.1467-8659.2011.01884.x]
[25] Sun XP, Ji YJ, Wei XP. 3D mesh segmentation based on boundary strength. Ruan Jian Xue Bao/Journal of Software, 2010, 21 (增刊) :183–193. http://www.jos.org.cn/1000-9825/10020.htm
[26] Van KO, Tagliasacchi A, Sidi O, Zhang H, Cohen-Or D, Wolf L, Hamarneh G. Prior knowledge for part correspondence. Computer Graphic Forum, 2011, 30 (2) :553–562. [doi:10.1111/j.1467-8659.2011.01893.x]
[27] Raif M. Rustamov, Maks O, Omri A, Map-Based exploration of intrinsic shape differences and variability. ACM Trans.on Graphics (TOG), 2013, 32 (4) :72:1–11. [doi:10.1145/2461912.2461959]
[28] Bu S, Liu Z, Han J, Wu J, Ji R. Learning high-level feature by deep belief networks for 3-D model retrieval and recognition. IEEE Trans.on Multimedia, 2014, 16 (8) :2154–2167. [doi:10.1109/TMM.2014.2351788]
[29] Biermann H, Martin I, Bernardini F, Zorin D. Cut-and-Paste editing of multiresolution surfaces. ACM Trans.on Graphics (TOG), 2002, 21 (3) :312–321. [doi:10.1145/566654.566583]
[30] Sharf A, Blumenkrants M, Shamir A, Cohen-Or D. Snappaste:An interactive technique for easy mesh composition. The Visual Computer, 2006, 22 (9) :835–844. [doi:10.1007/s00371-006-0068-5]
[31] Yu YZ, Zhou K, Xu D, Shi X, Bao H, Guo B, Shum HY. Mesh editing with poisson-based gradient field manipulation. ACM Trans.on Graphics (TOG), 2004, 23 (3) :644–651. [doi:10.1145/1015706.1015774]
[32] Lin JC, Jin XG, Wang CC, Hui KC. Mesh composition on models with arbitrary boundary topology. IEEE Trans.on Visualization and Computer Graphics, 2008, 14 (3) :653–665. [doi:10.1109/TVCG.2007.70632]
[33] Jin XG, Lin JC, Wang CC, Feng JQ, Sun HQ. Mesh fusion using functional blending on topologically incompatible sections. The Visual Computer, 2006, 22 (4) :266–275. [doi:10.1007/s00371-006-0004-8]
[34] Kalogerakis E, Hertzmann A, Singh K. Learning 3D mesh segmentation and labeling. ACM Trans.on Graphics (TOG), 2010, 29 (4) :102:1–12. [doi:10.1145/1778765.1778839]
[35] Liu S, Song Z, Liu G, Xu C, Lu H, Yan S. Street-to-Shop:Cross-Scenario clothing retrieval via parts alignment and auxiliary set. In:Proc.of the IEEE Conf.on Computer Vision and Pattern Ecognition (CVPR), 2012 :1335–1337. [doi:10.1145/2393347.2396471]
[36] Lafferty J D, Mccallum A, Pereira FCN.Conditional random fields:Probabilistic models for segmenting and labeling sequence data.In:Brodley CE, Danyluk AP, eds.Proc.of the ICML 2001, the 18th Int'l Conf.on Machine Learning.San Francisco:Morgan Kaufmann Publishers Inc., 2001.282-289.
[37] Besl P, Mckay N. A method for registration of 3D shapes. IEEE Trans.on Pattern Analysis and Machine Intelligence, 1992, 14 (2) :239–256. [doi:10.1109/34.121791]
[14] 胡事民, 杨永亮, 来煜坤. 数字几何处理研究进展. 计算机学报, 2009,32 (8) :1451–1469. [doi:10.3724/SP.J.1016.2009.01451]
[25]