一种面向三维服装模拟的纸样缝合信息自动设置方法与流程

文档序号:11953674阅读:559来源:国知局
一种面向三维服装模拟的纸样缝合信息自动设置方法与流程

本发明涉及一种三维服装模拟方法,特别涉及一种面向三维服装模拟的纸样缝合信息自动设置方法。



背景技术:

三维服装模拟在服装设计、虚拟试衣、计算机动画和游戏等方面有广泛的应用。真实感的三维服装模拟既可供服装设计师评价服装的设计效果,又能使消费者无需试穿即可了解着装效果。三维服装模拟技术通过模拟服装的制作过程减少服装的设计时间,大大缩短服装的设计周期。随着服装电子商务的发展,网上虚拟试衣技术的出现成为必然。它可将用户选中的衣服在虚拟模特身上进行试穿,实现远程的虚拟试衣,可以提高用户体验,增加服装的销售量,并降低服装的退货率。

三维服装模拟的流程一般是这样的:首先,读入一个三维的人体模型与二维的服装纸样,然后设置二维服装纸样的缝合信息,再将二维服装纸样放置到三维人体的周围,最后,采用基于物理的方法进行三维服装纸样的缝合模拟,形成三维服装模型。这里,服装纸样(Pattern)是指根据服装设计的款式和尺寸要求,通过专业的计算设计出的服装裁片,它是立体服装的平面表达。从几何角度来说,二维服装纸样是一个由直线和曲线组成的封闭多边形。服装纸样缝合信息的设置,即指定纸样的边界是怎样缝合在一起的,是三维服装模拟的重要步骤之一,它影响到服装模拟的效率和用户体验。这里。服装纸样的缝合信息设置既包括二维服装纸样的缝合信息,也包括三维服装纸样的缝合信息。其中,二维服装纸样和三维服装纸样是对应的,是同一纸样在平面和空间中形状的不同表示方式,目前,在大多数服装模拟系统中,服装纸样缝合信息的设置是通过交互的方法依次选择两根纸样的边界将它们设置为一组缝合对应边。例如,文献Pascal Volino and Nadia Magnenat Thalmann,Developing simulation techniques for an interactive clothing system.In Proc.of Virtual Systems and Multi-Media,1997(Pascal Volino and Nadia Magnenat Thalmann,面向一个交互试衣系统的模拟技术研发,虚拟系统和多媒体会议论文集,1997)就采用交互的方法。这种手工交互的方式,存在操作复杂、不直观和速度慢的缺点。文献Floraine Berthouzoz,Akash Garg,Danny M.Kaufman,Eitan Grinspun,Maneesh Agrawala,Parsing Sewing Patterns into 3D Garments,SIGGRAPH,2013(Floraine Berthouzoz,Akash Garg,Danny M.Kaufman,Eitan Grinspun,Maneesh Agrawala,面向三维服装的缝合纸样分析,SIGGRAPH会议,2013)提出了一种自动设置缝合边的方法。该方法采用机器学习和整数规划推测纸样的缝合关系,具有较高的准确率。但是,该方法依赖于详细的纸样几何信息和描述信息,如纸样的名称、位置、相邻关系、边界匹配关系等,对纸样设计师的工作具有很高的要求,而且该方法只适合于对称的服装。因此,该方法在实际中的应用具有一定的难度。为了解决该问题,本发明提出一种基于纸样几何信息的缝合信息自动设置方法,利用三维服装纸样的空间位置关系与纸样缝合边界的特征,实现智能、准确的纸样缝合信息设置,从而提高三维服装模拟的速度并提升用户体验。



技术实现要素:

本发明要解决的技术问题是提供一种用于三维服装纸模拟的纸样缝合信息自动设置方法,快速、准确地设置服装纸样边界的缝合关系,以便进行三维服装的缝合模拟。

为解决该技术问题,本发明采用的技术方案为:

一种面向三维服装模拟的纸样缝合信息自动设置方法,其特征在于包括下列步骤:

1)读入一个三维人体模型;

2)读入二维服装纸样;

3)将二维服装纸样摆放到三维人体模型周围;

4)自动识别服装纸样的缝合信息;

5)交互修改不正确的缝合信息,获得完整的服装纸样缝合信息。

在步骤1)中,三维人体模型可用三角形网格曲面或四边形网格曲面表示。三维人体模型可以是全身的人体模型,也可以是用于服装立体裁剪的2/3或半身人体模特的数字化模型。人体的姿势应该直立并且手臂是向两侧张开的,便于三维服装的缝制模拟。

在步骤2)中,二维服装纸样的边界是由直线与曲线组成的,二维服装纸样可以通过二维设计的方法直接设计得到,也可以通过三维曲面展开的方法设计得到。曲面展开的方法参见发明专利(授权号:20110312749.6一种基于立体裁剪的三维服装造型与纸样设计方法)中的方法。

在步骤3)中,将二维纸样放置到三维人体模型周围合适的位置,用于纸样缝合信息的识别与服装的缝合模拟。可以采用交互的方法,即用鼠标与手势等交互工具,将二维纸样进行旋转与移动,放置到三维人体模型表面附近的位置。三维纸样的空间位置应该与人体的部位对应,比如,前身纸样应该放置到人体上半身的前面,袖子应该放置到手臂的周围。纸样空间位置的放置也可以采用自动的方法,如发明专利(申请号:201510583218.9:一种三维服装纸样的空间位置自动设置方法)中的方法。该方法通过二维平面中二维纸样与人体轮廓的相对位置确定服装三维纸样在三维人体上的相对位置。

在步骤4)中,我们利用三维服装纸样的空间位置关系与纸样缝合边界的特征,自动识别纸样的缝合信息。二维服装纸样的缝合信息用于标明纸样的哪些边界是缝合在一起的。这样,在缝合三维服装时,分离的纸样将被缝合到一起成为三维服装。在三维服装缝合前,如果将所有已经设置好缝合信息的三维纸样摆放到三维人体模型的周围,可以观察到三维纸样的缝合边具有以下的特征与属性:

a)边长相似性:两根缝合的纸样边界线具有类似的长度;

b)曲率相似性:一般情况下,两根缝合边界线的曲率大小往往是类似的。在服装设计中,曲率相似性可以避免三维纸样缝合后发生较大的变形。

c)距离最短:对于两根具有缝合关系的三维纸样边界线中的任意一根,找出所有长度与它相似的三维纸样边界线,这两根边界线的距离往往是最短的。不过,距离最短不是必要的条件。

d)法向相对性:在正常情况下,两根缝合边界具有相对的法向。我们用三维纸样边界中点的法向表示纸样边界的法向,法向的方向是朝外的。在多层缝合的情况下,两根缝合边的法向是一致的。

e)非干涉性:一般情况下,连接两根三维纸样边界的缝合线不与人体模型相交,也不与其它三维纸样相交。

f)自身不缝合性:除了省道和皱褶的边界线与环状的纸样边界,一般情况下,同一片纸样中的两根边界线是不缝合到一起的。

g)非缝合边界:由于人体的拓扑结构,为了让衣服穿在人体身上,服装上必须存在一些非缝合边界,即不与其它边界进行缝合的边界。服装款式与类型的不同,非缝合边界也会有所变化。对于上衣来说,典型的非缝合边界包括领口线,袖口线和下摆线;对于无袖上衣来说,它不存在袖口线,这时袖笼线属于非缝合线;对于裤子来说,非缝合边界包括裤腰线和裤脚线。

h)缝合约束:根据服装与人体的结构关系,纸样的缝合关系存在一些规则与约束。比如,前片纸样的肩线一般与后片纸样的肩线缝合在一起,身体纸样的袖笼线只能与袖子纸样的袖笼线缝合在一起,袖子纸样的边界线(不包括袖笼线边界)不能与身体纸样的边界缝合等。

基于以上缝合边界的特征与属性,我们可以根据三维纸样边界之间距离优先的原则,检查缝合线的合理性,自动识别纸样的缝合边界信息。具体来说,对于每一根三维纸样边界,我们根据其长度和曲率相似性首先找出可能缝合的所有边界,再根据法向相对性、自身不缝合性和非干涉性等特性进行合理性检查,从所有潜在合理的缝合边界中找出最短距离的一根边界性,将其设置为缝合边界。

纸样边界缝合信息自动识别的算法用伪代码表示如下:

在以上的算法中,一些符号的表示意义如下:

·PNi表示第i片纸样,其中,i=0,1,,,M,M为纸样的数量。

·LNi,j表示纸样PNi的边界,其中,i=0,1,…,M,j=0,1,…,Ni,M为纸样的数量,Ni为纸样PNi上的边界线数量。

·SLi,j表示纸样边界LNi,j的缝合线。SLi,j={m,n}表示第i片纸样的第j根边界线与第m片纸样的第n根边界线缝合;SLi,j={-1,-1}表示边界线LNi,j没有缝合边。

在算法Line 1~3中,在自动识别缝合信息之前,我们需要对所有纸样的边界做预处理,包括:(a)计算纸样边界的长度;(b)计算纸样边界的曲率;(c)计算纸样边界的法向矢量;(d)人工设定或自动识别非缝合边界线与特殊边界线,包括衣领线、肩线、袖笼线、中心线等等。

非缝合边界线与特殊的边界线可以通过人工交互的方式进行设定,也可以根据纸样的特点以及它们与人体部位的相对关系自动识别。比如,对于带有下摆线的上衣纸样,它的下方不存在其它纸样,下摆线是该纸样最底部的一根边界线。对于衣领上的非缝合线,其所在的衣领纸样位于人体颈部附近最高的位置,纸样顶部的边界线属于非缝合线。

在算法Line 5~26中,对于每一根纸样边界,我们根据其长度和曲率相似性首先找出可能缝合的所有边界,再进行合理性检查,从所有潜在合理的缝合边界中找出最短距离的一根边界线,将其设置为缝合边界。在算法中,如果两根纸样边界线的长度和曲率差小于一定的阀值,我们就认为它们的长度与曲率是相似的。

在算法Line 21中,检查两根纸样边界缝合线的合理性主要是检查法向相对性、自身不缝合性、非干涉性和缝合约束。它们的检查方法如下:

1)法向相对性检查:假设两根边界线LNi,j和LNm,n,它们的中点分别为Pi,j和Pm,n,它们的法向分别为Ni,j和Nm,n,矢量Vi,j=Pm,n-Pi,j,Vm,n=Pi,j-Pm,n,法向相对性要求矢量Vi,j和Ni,j的夹角以及矢量Vm,n和Nm,n的夹角都小于90度。这里,中点和法向都是根据三维纸样进行计算的。

1)自身不缝合性检查:除了省道和环状的纸样边界,一般情况下,同一片纸样中的两根缝合线是不能缝合到一起的。因此,当一根缝合线连接同一片纸样上的两根边界时,需要检查它们是否属于省道线或者环状的纸样边界,否则它们会被认为是无效的缝合线。图6、(a)为一片上衣前片,其中,边界A和B组成一个省道。省道的特点是两根边界线相连,边界线长度类似,并且它们之间的夹角比较小。图6、(b)是袖子的纸样,它为环状的纸样,即边界A和B是缝合在一起的。在三维空间中,环状缝合的边界线也符合法向相对性的原则。环状缝合线的另一个特点是,在二维平面中,将缝合线向两端延伸,它不会与该纸样上的其它边界相交。如图6、(a)中的边界C和D,虽然它们的长度类似,也满足法向相对性,但是如果连接它们的中点,并且向两端延伸,则延长线会与其它边界线相交,因此,它们被认为是无效的缝合线。

2)非干涉性检查:一般情况下,缝合线不与人体模型相交,也不与其它三维纸样相交。如图7、(a)中,纸样边界A和B的连线与人体模型没有相交,它们之间的缝合线可能是合理的;纸样边界C和D的连线与人体模型相交,它们之间的缝合线被认为是不合理的。在图7、(b)中,纸样边界A和B的连线与另外一片纸样相交,则它们之间的缝合线会被认为是不合理的。干涉性的检查也是在三维空间中进行的。

3)缝合约束检查:通过缝合约束可以排除一些不合理的缝合线。首先要判断一根缝合线对应的纸样边界是否属于特定的边界线,如肩线、袖笼线、颈线、衣领线、中心线等。如果是的话,检查缝合线是否符合缝合的规则与约束,包括前片纸样的肩线必须与后片纸样的肩线缝合在一起,身体纸样的袖笼线只能与袖子纸样的袖笼线缝合在一起,袖子纸样的边界线(不包括袖笼线边界)不能与身体纸样的边界缝合等。

在自动识别纸样的缝合信息中,可能存在一些不正确或矛盾的缝合信息。假设三根边界线A、B、C,其中A与B之间的距离大于B与C之间的距离。如果A对应的缝合边界为B,而B对应的缝合边界为C。这时,如果A、B和C不属于多重缝合的关系,由于缝合线A与B的距离大于B与C的距离,我们认为B与C的缝合关系是有效的,而A与B之间的缝合关系是无效的。对于边界A,我们需要重新搜索其对应的缝合边界线。

在步骤5中,检查自动识别的缝合信息,修正不正确的缝合关系。在步骤4中,自动识别缝合边界后,可能存在少量不正确的缝合关系。因此,需要对错误的缝合关系进行修正。纸样边界缝合信息的修改可采用交互的方法:即交互地选择两根纸样的边界,增加或删除它们之间的缝合关系。

采用上述技术方案,设计师只要将二维服装纸样放置到三维人体周围合适的位置,就能自动计算出二维服装纸样的缝合对应关系。建立纸样的缝合关系后,需要对纸样的边界进行离散化,再对二维服装纸样进行网格化,用于进一步的三维服装缝合模拟。

该发明可以应用于服装设计相关的领域,可以提高三维服装设计的效率。相对手工交互或半自动的方法,该方法设置纸样缝合关系的速度快,自动化程度高;另外,该方法操作方便,设计师只要在三维人体模型周围摆放好三维纸样的位置就可以自动设置二维服装纸样的缝合对应关系。采用该技术方案降低了三维服装设计操作的复杂度,可以被专业的服装设计师和普通用户使用。

附图说明

图1:本发明总体流程图

图2:三维人体模型

图3:二维服装纸样

图4:三维服装纸样摆放在人体模型周围

图5:缝合关系示意图

图6:自身不缝合性

图7:缝合线的非干涉性

图8:三维服装纸样的缝合关系图

图9:二维服装纸样的缝合关系图

图10:缝合后的三维服装模型

具体实施方式

本实施例涉及一种服装纸样的缝合信息自动设置方法,它的总体步骤参见图1。

步骤1:在计算机中读入一个三维人体模型。三维人体模型可用三角形网格曲面或四边形网格曲面表示。图2显示的是一个用于服装设计的全身人体模型。该专利涉及的三维人体不仅包括全身人体,还包括各种用于服装立体裁剪的2/3身或半身的人体模型。人体的姿势应该直立并且手臂是向两侧张开的,便于三维服装的缝制模拟。

步骤2:读入二维服装纸样。二维服装纸样的边界是由直线与曲线组成的,如图3所示。二维服装纸样可以通过二维设计的方法直接设计得到,也可以通过三维曲面展开的方法设计得到。曲面展开的方法采用发明专利:一种基于立体裁剪的三维服装造型与纸样设计方法,2011年,专利授权号:20110312749.6中的方法。

步骤3:将二维服装纸样摆放到三维人体模型周围,如图4所示。其目的是便于纸样的缝合信息识别与服装的缝合模拟。三维纸样空间位置的放置可通过交互或自动方法实现。交互的方法采用鼠标与手势等交互工具,将二维纸样进行旋转与移动,放置到三维人体模型表面的周围。三维纸样的空间位置应该与人体的部位对应,比如,前身纸样应该放置到人体上半身的前面,袖子应该放置到手臂的周围。自动放置方法可采用发明专利(申请号:201510583218.9:一种三维服装纸样的空间位置自动设置方法)中的方法,通过二维平面中二维纸样与人体轮廓的相对位置确定三维服装纸样在三维人体上的相对位置。在将二维纸样放置到三维人体之前,需要将二维纸样进行网格化,使得将二维服装放置到三维空间后,三维纸样的形状会发生改变,能更贴近三维人体的表面,从而提高缝合信息识别的准确度和服装模拟的速度和质量。二维纸样网格化的方法参见文章Triangle:A two-dimensional quality mesh generator and Delauney triangulator.Jonathan Richard Shewchuk,University of California of Berkeley(三角形:一个高质量的二维网格生成器和Delauney三角化生成器,Jonathan Richard Shewchuk,加州大学伯克利分校)中的方法。

步骤4:利用三维服装纸样的空间位置关系与纸样缝合边界的特征,自动识别纸样的缝合信息。纸样的缝合信息通过缝合线表达出来。为了表示两根边界线具有缝合关系,我们用一根虚线连接两根纸样边界的中点,如图5、(a)所示。该虚线即为缝合线。在一般情况下,一根边界线仅对应另外一根边界线,我们称之为单一缝合。有时,一根纸样的边界线会与多根边界线缝合,我们称之为多重缝合。如图5、(b)所示,边界线A与边界线B和C缝合在一起。为了处理多重缝合的情况,我们在边界线A上按长度比例插入一个虚拟分割点将该边界线虚拟地分为两段,从而使得每一段边界线都对应一根边界线。这样,多重缝合的情况可以被转化为单一缝合的情况进行处理。因此,在自动识别纸样的缝合信息前,针对多重缝合的情况,我们需要交互地在一些二维纸样边界线上插入虚拟分割点。多重缝合还存在另外一种情况,就是多层布料缝合,如一根边界线与另外两根具有类似长度的边界线缝合在一起,而这两根边界线分别属于两片重叠的纸样。对于这种情况,我们可以按正常的缝合线进行处理。

我们采用的纸样缝合信息识别方法是:根据缝合边界的特征与属性,包括边长相似性、曲率相似性、距离最短、法向相对性、非干涉性、非缝合边界和缝合约束等,采用三维纸样边界距离优先的原则,检查缝合线的合理性,自动识别出纸样的缝合边界信息。具体来说,对于每一根纸样边界,我们根据其长度和曲率相似性首先找出可能缝合的所有边界,再根据法向相对性、自身不缝合性、非干涉性和缝合约束等特性进行合理性检查,从所有潜在合理的缝合边界中找出最短距离的一根边界性,将其设置为缝合边界。

纸样边界缝合信息自动识别的算法用伪代码表示如下:

在以上的算法中,一些符号的表示意义如下:

·PNi表示第i片纸样,其中,i=0,1,,,M,M为纸样的数量。

·LNi,j表示纸样PNi的边界,其中,i=0,1,…,M,j=0,1,…,Ni,M为纸样的数量,Ni为纸样PNi上的边界线数量。

·SLi,j表示纸样边界LNi,j的缝合线。SLi,j={m,n}表示第i片纸样的第j根边界线与第m片纸样的第n根边界线缝合;SLi,j={-1,-1}表示边界线LNi,j没有缝合边。

在算法Line 1~3中,在自动识别缝合信息之前,我们需要对所有纸样的边界做预处理,包括:(a)计算纸样边界的长度;(b)计算纸样边界的曲率;(c)计算纸样边界的法向矢量;(d)人工设定或自动识别非缝合边界线与特殊边界线,包括衣领线、肩线、袖笼线、中心线等等。

非缝合边界线与特殊的边界线可以通过人工交互的方式进行设定,也可以根据纸样的特点以及它们与人体部位的相对关系自动识别。比如,对于带有下摆线的上衣纸样,它的下方不存在其它纸样,下摆线是该纸样最底部的一根边界线。对于衣领上的非缝合线,其所在的衣领纸样位于人体颈部附近最高的位置,纸样顶部的边界线属于非缝合线。

在算法Line 5~26中,对于每一根纸样边界,我们根据其长度和曲率相似性首先找出可能缝合的所有边界,再进行合理性检查,从所有潜在合理的缝合边界中找出最短距离的一根边界线,将其设置为缝合边界。在算法中,如果两根纸样边界线的长度和曲率差小于一定的阀值,我们就认为它们的长度与曲率是相似的。

在算法Line 21中,检查两根纸样边界缝合线的合理性主要是检查法向相对性、自身不缝合性、非干涉性和缝合约束。它们的检查方法如下:

2)法向相对性检查:假设两根边界线LNi,j和LNm,n,它们的中点分别为Pi,j和Pm,n,它们的法向分别为Ni,j和Nm,n,矢量Vi,j=Pm,n-Pi,j,Vm,n=Pi,j-Pm,n,法向相对性要求矢量Vi,j和Ni,j的夹角以及矢量Vm,n和Nm,n的夹角都小于90度。这里,中点和法向都是根据三维纸样进行计算的。

3)自身不缝合性检查:除了省道和环状的纸样边界,一般情况下,同一片纸样中的两根缝合线是不能缝合到一起的。因此,当一根缝合线连接同一片纸样上的两根边界时,需要检查它们是否属于省道线或者环状的纸样边界,否则它们会被认为是无效的缝合线。图6、(a)为一片上衣前片,其中,边界A和B组成一个省道。省道的特点是两根边界线相连,边界线长度类似,并且它们之间的夹角比较小。图6、(b)是袖子的纸样,它为环状的纸样,即边界A和B是缝合在一起的。在三维空间中,环状缝合的边界线也符合法向相对性的原则。环状缝合线的另一个特点是,在二维平面中,将缝合线向两端延伸,它不会与该纸样上的其它边界相交。如图6、(a)中的边界C和D,虽然它们的长度类似,也满足法向相对性,但是如果连接它们的中点,并且向两端延伸,则延长线会与其它边界线相交,因此,它们被认为是无效的缝合线。

4)非干涉性检查:一般情况下,缝合线不与人体模型相交,也不与其它三维纸样相交。如图7、(a)中,纸样边界A和B的连线与人体模型没有相交,它们之间的缝合线可能是合理的;纸样边界C和D的连线与人体模型相交,它们之间的缝合线被认为是不合理的。在图7、(b)中,纸样边界A和B的连线与另外一片纸样相交,则它们之间的缝合线会被认为是不合理的。干涉性的检查也是在三维空间中进行的。

5)缝合约束检查:通过缝合约束可以排除一些不合理的缝合线。首先要判断一根缝合线对应的纸样边界是否属于特定的边界线,如肩线、袖笼线、颈线、衣领线、中心线等。如果是的话,检查缝合线是否符合缝合的规则与约束,包括前片纸样的肩线必须与后片纸样的肩线缝合在一起,身体纸样的袖笼线只能与袖子纸样的袖笼线缝合在一起,袖子纸样的边界线(不包括袖笼线边界)不能与身体纸样的边界缝合等。

在自动识别纸样的缝合信息中,可能存在一些不正确或矛盾的缝合信息。假设三根边界线A、B、C,其中A与B之间的距离大于B与C之间的距离。如果A对应的缝合边界为B,而B对应的缝合边界为C。这时,如果A、B和C不属于多重缝合的关系,由于缝合线A与B的距离大于B与C的距离,我们认为B与C的缝合关系是有效的,而A与B之间的缝合关系是无效的。对于边界A,我们需要重新搜索其对应的缝合边界线。

步骤5:检查自动识别的缝合信息,并修正不正确的缝合关系。采用步骤4的算法自动识别缝合信息后,可能存在少量不正确的纸样缝合关系。因此,需要对错误的缝合关系进行修正。纸样缝合信息的修改可采用交互的方法:即用鼠标等工具交互地选择两根纸样的边界,增加或删除它们之间的缝合关系,直到所有的缝合信息正确为止。图8显示三维的服装纸样及其缝合信息,其中,纸样边界上每对具有缝合关系的点用一根线连接起来,表示它们将被缝合到一起。图9显示二维纸样的缝合信息,其中,每两根具有缝合对应关系的纸样边界用一根虚线连接起来。该虚线就是缝合线,表示这两根边界具有缝合线关系。

建立纸样的缝合关系后,需要根据缝合对应关系重新将全部二维纸样进行网格化。在网格化之前,需要将二维纸样边界进行离散化。边界的离散化要求每两根缝合对应边界的离散点数量相同,以保证它们能被正确地缝合在一起。图9也显示了网格模型下的三维纸样网格。二维纸样网格化的方法与步骤3中的方法相同。在服装缝合模拟时,根据二维服装纸样在人体周围空间中的位置,采用物理模型,在缝合边上的每对网格顶点上施加拉力,就可以将二维服装纸样缝合为三维服装模型,如图10所示。

该实施例利用三维服装纸样的空间位置关系与纸样缝合边界的特征,通过自动识别的方法建立纸样缝合对应关系,为下一步的三维服装的缝合模拟做好准备。该方法具有速度快、准确度高、操作简单的特点。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1