三维真实人体在线虚拟试衣系统的制作方法

文档序号:13447336阅读:658来源:国知局
三维真实人体在线虚拟试衣系统的制作方法

本发明涉及数字化服装领域、三维模型技术,尤其是面向真人的在线三维虚拟试衣技术和系统方法。



背景技术:

目前国内一些研究机构提出了不同的虚拟试衣概念,一些试衣产品已经进入商业市场或处于在尝试应用阶段。最早的虚拟试衣是通过站在大屏幕前借助ar技术实现,这些还只能看正面试衣效果,属于静态试衣。现阶段已有一些动态试衣的应用出现,可以让顾客左右转身看试衣效果,比如vipodium。国内做得较好的有淘宝3d试衣间,其与京东及优衣库3d试衣间的不同是可以实现消费者在试衣的时候动态走动,且可以360度切换角度。在技术实现上,淘宝3d试衣间仍是通过用户上传大量图片,由二维图像恢复出相应的三维场景来实现。该方法比较成熟,早在3d试衣间之前就已经有广泛应用于vr和一些人机互动游戏中。除此之外,另一种试衣系统实现则采用不同的人体模型采集方法,消费者站在一个有摄像头的电脑前可以自动扫描人体数据。其优点是360度实时渲染,消费者可以360度转身欣赏试衣效果。

现有的试衣系统基本可以实现让用户有“穿上”衣服的效果,但在逼真效果上还存在用户体验真实度低的缺点,主要原因是目前的技术在实现如下功能:面料考量的因素、衣服的材质、垂坠感、褶皱和上身的动态效果等方面还达不到逼真、实时性好等要求。

申请号为201310451721x,公开日为20150415的发明专利申请中公开了一种“应用于淘宝网的虚拟试衣系统”,其建立3d服装模型,然后虚拟到3d人体模特上看试穿效果;申请号为2010106068692,公开日为20110504的发明专利申请中公开了一种“面向真人的服装三维虚拟试衣方法”,其根据真人三维测量数据构建的三维真人人体模型,然后将服装衣片虚拟地“缝”在三维真人人体模型上;申请号为2012102498506,公开日为20121226的发明专利申请中公开了一种“基于3d真实人体模型及服装模型的网络虚拟试衣系统”,其利用摄像头拍摄消费者的正面、侧面照,自动生成3d人体模型,然后客户根据人体模特模型的试穿效果确定是否适合自己身材的尺码,这三种形式都是以图片生成3d人体模型;另有一些不同的方式,比如:在申请号为2016107112878,公开日为20161109的发明专利申请中公开了一种“一种智能仿真试衣系统及其应用方法”,是通过3d传感器实现人体扫描获得动态的3d虚拟人体模型;在申请号为2015104845656,公开日为20151209的发明专利申请中公开了“一种基于kinect的全息虚拟试衣系统”,是利用kinect体感摄像机获得人体骨骼模型;在申请号为2015101623930、公开日为20150708的发明专利申请中公开了一种“基于衣服特征点的身体扫描及运动捕捉方法”,是通过用户穿有带图像特征点集合纹理的衣服站在单目摄像头前,然后对衣服上每个网格在网上搜索该网格id号对应的信息,从而获得所有的人体三维信息,建立三维人体模型;在申请号为2007100795564、公开日为20080903的发明专利申请中公开了一种“真实人体三维立体虚拟试衣系统”,是从软件系统的角度将虚拟试衣系统划分为四个子系统:建立采集真实人体数据子系统、建立合成三维数字人体模特子系统、三维数字人体模型虚拟试衣子系统和通讯子系统。

但是,服装的穿着效果与布料特性密切关系,迄今为止,考虑布料褶皱和面料质感等的布料特性的试衣系统未有相关报导。



技术实现要素:

本发明是为避免上述现有技术所存在的不足,提供一种三维真实人体在线虚拟试衣系统,通过对布料建立服装力学布料模型,将服装力学布料模型看作一个粒子系统,通过物理力学分析实现布料褶皱、面料质感等实际效果,提高3d试衣实时性和效果逼真;使用户可以在摄像头前360度转动或走动欣赏不同角度试衣效果;并且可以感受到服装面料质感、垂坠感、褶皱、大小合身程度等,并能根据识别人体意图实实时呈现不同动作后的衣服效果。

本发明为解决技术问题采用如下技术方案:

本发明三维真实人体在线虚拟试衣系统的特点是:

建立服装力学布料模型:利用服装力学布料模型模拟布料质点的拓扑结构,通过添加连接边,使布料模型形成三角网格,以方便对曲面进行光顺,从而为用户呈现美观的外形;所述服装力学布料模型将布料视为一组离散质点的集合,考虑布料的约束力,对质点建立力学模型,所述布料的约束力包括拉伸刚度、弯曲刚度和阻尼;布料的弯曲和褶皱的行为通过质点之间的互相作用力产生连续运动实现,并用于模拟不同材质或不同精度布料特征化弯曲变形行为,提高布料弯曲变形效果的逼真性;针对布料的阻尼,利用热核函数产生热温度作为每个质点的初始阻尼值,在传递完所有质点后加入阻尼系数用于防止布料抖动;

采用全局与局部混合的方法实现人体三维模型与服装力学布料模型的匹配:对于人体在穿上服装时起支撑作用的支撑点区域质点采取局部策略进行支撑点力学分析,按肩膀、胸部、腰部、臀部至胯部的顺序自上而下完成匹配;对于人体在穿上服装时仅对面料有接触但不起支撑作用的接触部位,包括胸部到腰部之间的部位,对于接触部位质点只考虑重力约束力;

利用不同的标记和判断策略处理布料自我碰撞和布料与人体碰撞,将人体视为不考虑皮肤形变的关节型刚体,根据布料质点的方向判断质点在人体三维模型内还是外,通过曲线拟合判断需施加的人体对布料的支撑力,采用隐式累计分法计算变形位置,建立匹配策略和碰撞检测响应机制,避免布料与人体以及布料自身发生不合理的穿透,从而确保正确的位置关系。

本发明三维真实人体在线虚拟试衣系统的特点也在于:针对人体360度旋转,按如下方式实现布料模型跟随人体动作变化的逼真效果:

在人体旋转时,布料网格上的顶点在外力、内部弹簧弹力和布料摩擦力作用下,布料各个质点再次运动起来;

在人体旋转后,从全局考虑模型的动力学方程出发,是根据每个质点施加的力,建立拉格朗日动力学方程,运用隐式欧拉积分法进行计算出下一时刻质点的速度和位置;

当人体运动停止时,为了防止布料运动不停和二次褶皱,在支撑点处质点上额外加上阻尼力,保持整个系统稳定,防止布料持续变形或旋转。

本发明三维真实人体在线虚拟试衣系统的特点也在于:

为捕捉人体意图,将人体三维模型转化为人体骨骼模型,利用sfm(structurefrommotion)运动求取结构技术捕捉人体运动动作,包括,用户在试衣时习惯性将衣袖拉上去一点认为这样更美观,以及用户认为衣服穿着位置不合适,用手拉动衣服调整穿着位置,服装力学布料模型模拟人体运动动作后服装相应部位的褶皱效果。

本发明三维真实人体在线虚拟试衣系统的特点也在于:按如下方式实现模型的简化和几何压缩:

针对服装力学布料模型和人体三维模型的点云模型特征,利用扰动拉普拉斯谱分析方法对点云进行简化,获得简化模型,所述简化模型保留原点云边界完整性,保留原点云拓扑结构、点云密度特征,并且能抵抗噪声和小幅度扰动;

对模型中顶点位置进行量化表达,并以aabb树结构存储,以所述简化模型作为网格的初始模型,针对初始模型进行迭代生成细分的多分辨率逼近模型,新顶点的位置通过细分由沿着法向面中心点到新顶点计算获得,因此法向网格生成规则的重构网格,从而提高压缩精度。

与已有技术相比,本发明有益效果体现在:

1、本发明系统实时采集人体点云,不需要另行配备设备生成360度图片,再上传到平台生成三维模型;大大减少了中间环节,比如不需第三方平台实现人体图片采集等;本方法只需要一个摄像头即可实现,所有过程都集成为一体,不需要借助第三方平台。

2、本发明系统可以实现360度人体转动的实时匹配,并能实现布料垂直感、衣服褶皱、弹性拉伸等真实逼真的效果,甚至可以实现捕捉人体意图:比如,用户在试衣时习惯性将衣袖拉上去一点认为这样更美观,或者用户认为衣服穿着位置不合适,会用手拉动衣服调整穿着位置等等,其服装力学模型可以模拟衣袖上拉后的褶皱效果。

3、本发明系统为简化试衣系统、提高了3d试衣实时性和效果逼真,用户可以在摄像头前360度转动或走动欣赏不同角度试衣效果;并且可以感受到服装面料质感、垂坠感、褶皱、大小合身程度等;同时根据识别人体意图实实时呈现不同动作后的衣服效果。

附图说明

图1为实现本发明虚拟试衣方法的过程示意图;

图2为本发明系统中建立布料网格模型示意图;

图3为本发明系统中布料力学分析、变形和网格调整示意图;

图4为本发明系统中服装初始绑定状态图;

具体实施方式

建立服装力学布料模型:

1、按照布料质点物理连接结构建立经典的网格模型,每个网格的顶点为布料的质点,每个质点具有力和方向,边为布料的弹性值;对每个质点建立力学模型,考虑重力和接触力的约束,求解每步布料与人体、布料与布料碰撞后的网格形状,整个衣服的网格模型以aabb树即axis-alignedboundingbox的数据结构进行存储。

2、将布料网格模型三角化用于曲面光顺。通过插值、松弛迭代对曲面进行光顺,使模拟的褶皱规则均匀,并且能有效避免在关节弯曲处产生凹陷瑕疵。

3、采取全局-局部混合法策略。对支撑点区域采取局部力学分析,作为静态平滑区域;对某些非支撑区域,利用几何方法进行平滑;对运动中的布料从全局考虑建立和求解约束动力学方程,计算质点运动状态和变形。

按如下方式实现人体三维模型与服装力学布料模型的匹配:

1、人体三维模型与服装力学布料模型匹配分为两个阶段:

第一阶段:在初始绑定状态时,要求用户伸张四肢尽量保持与衣服的位置相同,在初始状态下,布料模型是静态平衡的。试衣系统要匹配初始状态下人体模型与布料模型匹配,需要先依次分析人体模型支撑点肩部、胸部、腰部、臀部位置与模特模型对应位置;

第二阶段:确定布料模型变化的目标位置及方向,运用网格逆向运动学meshik理论对衣服网格模型进行调整,将质点变换到目标位置上。

2、检测人体穿衣比较紧身部位,例如臀部,需要拉伸布料。利用拟合方法,不断调整网格质点的形状,最后到达目标位置。此时会引起布料的变形,那么此时根据前一时刻对布料质点分析计算出的布料状态,分析当前时刻对质点的拉伸分布,采用隐式积分计算当前时刻的褶皱曲线,最后得到布料自我碰撞后的布料形状。

3、人体模型绑定初始状态后,检测人体与布料的碰撞点。然后利用局部策略,基于物理力学理论,自上而下对每个质点进行力学分析,产生质点运动。

4、对于其他部位,采取局部策略,例如胸部到腰部之间,此部分人体对布料接触不起主要支撑力作用,尤其在检测周围接触点数量少后,对这些部位质点主要采取只考虑重力约束力。

按如下方式实现人体360度旋转时,服装力学布料模型跟随人体动作变化的逼真效果:

1、根据布料每个质点受到的力,建立拉格朗日动力学方程。并运用隐式欧拉积分法进行每一步计算,计算出下一时刻质点的速度和位置。

2、衣服上的质点跟随人体模型一起移动、旋转,当人体模型停止后,布料的运动也需要停止下来,此时采用增加阻尼策略,使运动停止下来。

3、将人体模型抽象成骨骼模型,检测关节点,根据人体关节点的运动,建立模式识别功能,可以实现捕捉人体意图。通过人体意图判断,从而模拟出一些提拉衣服后的褶皱效果。

为了实现实时效果,需要考虑压缩模型,减少存储体积,即几何压缩。针对布料的质点模型和人体的点云模型特征,利用扰动拉普拉斯谱分析方法,即perturbedlaplacianspectra方法,对点云简化和重构,较好地保留原点云边界完整性,保留原点云拓扑结构、点云密度特征,能够抵抗噪声和小幅度扰动。然后对模型中顶点位置进行量化表达,并以aabb树结构进行存储。以所述简化的模型作为网格的初始模型,对初始模型进行迭代生成细分的多分辨率逼近模型。由于新顶点的位置通过细分由沿着法向该面中心点到新顶点来计算,所以法向网格能生成比较规则的重构网格。

按图1所示流程实现虚拟试衣过程:

1、设计者上传服装数据

服装设计图通常为autodeskdxf格式,设计者上传服装数据至服装数据库,并且上传布料拉伸刚度、弯曲刚度、布料弹力等参数;对输入的服装数据进行解析,将这些cad数据生成为网格,质点为顶点,和质点连接的边为网格边,以aabb树数据格式存储,并添加约束力。布料网格模型中添加连接边,使布料模型变成如图2所示的三角网格,表示弹簧力,根据胡克定律,弹簧的弹性系数与弹簧拉伸长度相乘。图中虚线表示三角化后的网格。

2、绑定服装初始状态

将衣服的衣片放在模特模型的包围盒前后的两个平面,利用运动学和动力学分析,调节衣片初始位置直到到达预定的初始位置上,此时整个衣服系统是静态平衡的;图4所示为模型绑定状态下的正反面姿态。

3、用户人体模型采集

用户站在摄像头前,保持设定的初始姿态。利用摄像头连续采集正面和背面图像,对采集的图像进行轮廓提取、特征提取、基于视点的轴变形等处理,并参考人体模型和修正人体关节交叉点等点位置,获得人体三维模型。

4、模型几何简化、压缩

针对布料的质点模型和人体的点云模型特征,利用扰动拉普拉斯谱分析方法(perturbedlaplacianspectra),对点云简化或重构。然后对模型中顶点位置进行量化表达,并以aabb树结构存储,以简化的模型作为网格的初始模型,对初始模型进行迭代生成细分的多分辨率逼近模型。

5、碰撞检测和响应

5.1将人体模型抽象为骨骼模型,得到人体各处关节,先按肩部、胸部、腰部和臀部的顺序依次分析人体模型支撑点位置与模特模型对应位置处的力学模型。

5.2支撑点周围的质点由于约束力不同会出现原先不附着皮肤位置质点附着皮肤或者相反,且质点在支撑力、重力、布料弹力、摩擦力作用下产生质点运动,并向周围点扩散。

5.3碰撞检测通过图元求交测试判断两个或多个物体是否发生碰撞,将质点标记为自我碰撞、与人体碰撞和未碰撞。

5.4周围的布料产生变形或褶皱,建立拉格朗日动力学方程,利用隐式欧拉积分法进行计算,计算质点的速度和位置,并将质点的速度和位置保存在aabb树结构中。

6、布料褶皱和变形策略

6.1、检测人体穿衣比较紧身部位,例如臀部,需要拉伸布料。利用拟合方法,不断调整网格质点的形状,最后到达目标位置。

6.2、对于其他部位,采取局部策略,例如胸部到腰部之间,由于大部分衣服布料与人体接触较少,在检测周围接触点数量后,主要采取对质点只考虑重力约束力。

6.3.布料的变形,是根据前一时刻对布料质点分析计算出的布料状态,分析当前时刻对质点的拉伸分布,采用隐式积分计算当前时刻的褶皱曲线,得到布料自我碰撞后的布料形状。如图3所示,在网格变形时添加虚拟点p,在平衡状态时,p点的合力即为q点的合力,p点在受到挤压后变形。

7、曲面几何光顺处理

将布料网格模型三角化用于曲面光顺。通过插值、松弛迭代对曲面进行光顺。如图3,变形后继续添加虚拟点以最小的边为细分网格的边长实现整合网格。其中,a’点、b’点和p’点处的灰色圆圈表示变形后的位置,q点和b点处的黑色实心圆圈表示新添加的虚拟点。

8、人体模型与布料模型匹配

检测服装模型中质点与人体模型的碰撞点,并判断这些点是人体模型内点还是外点,若是外点,判断为附着皮肤;若为内点,需要考虑弹力系数导致衣服被绷紧或拉伸。给这些质点额外施加一个更大的拉伸力或者支撑力,建立力学模型,由于施加的支持力是一个未知数,可以采用拟合的方法,求解网格逆向运动学(meshik),不断调整支撑力和网格形状,最终达到布料质点目标位置。

9、人体转动,骨骼模型提取

在人体转动时建立人体骨骼模型,捕捉人体运动动作,借助sfm(structurefrommotion运动求取结构)技术进行实现。

10、转动时布料褶皱、变形策略

在人体转动零时刻时,将静止状态与人体碰撞点目标速度和位置看作旋转时布料点的目标速度和位置。建立质点动力学模型,利用隐式欧拉积分法计算出下一时刻质点的速度和位置。

11、阻尼(damping)策略

对每个质点建立力学模型,在质点受到作用力后,布料模型质点开始运动、并向周围扩散,当停止或者传播完衣服所有质点后,给定一个阻尼力让运动停止,从而防止布料持续变形或抖动。人体旋转时,布料网格上的顶点在外力、内部弹簧弹力和布料摩擦力作用下,布料各个质点再次运动起来。当人体运动停止时,在主要支撑点处额外加上阻尼力,防止布料运动不停和二次褶皱(post-buckling),保持整个系统稳定。

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