CN114758213A - 一种服装模型的布料解算方法、设备和存储介质 - Google Patents
一种服装模型的布料解算方法、设备和存储介质 Download PDFInfo
- Publication number
- CN114758213A CN114758213A CN202011609645.7A CN202011609645A CN114758213A CN 114758213 A CN114758213 A CN 114758213A CN 202011609645 A CN202011609645 A CN 202011609645A CN 114758213 A CN114758213 A CN 114758213A
- Authority
- CN
- China
- Prior art keywords
- model
- human body
- target
- dimensional
- posture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 165
- 239000004744 fabric Substances 0.000 title claims abstract description 40
- 238000003860 storage Methods 0.000 title claims description 14
- 230000008569 process Effects 0.000 claims abstract description 61
- 238000004364 calculation method Methods 0.000 claims abstract description 36
- 238000004088 simulation Methods 0.000 claims abstract description 28
- 238000003062 neural network model Methods 0.000 claims abstract description 15
- 238000004519 manufacturing process Methods 0.000 claims abstract description 4
- 230000033001 locomotion Effects 0.000 claims description 48
- 210000000988 bone and bone Anatomy 0.000 claims description 26
- 238000013528 artificial neural network Methods 0.000 claims description 23
- 238000004891 communication Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 19
- 230000009471 action Effects 0.000 claims description 11
- 238000013135 deep learning Methods 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 10
- 230000011218 segmentation Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 claims description 8
- 230000037237 body shape Effects 0.000 claims description 7
- 239000000463 material Substances 0.000 abstract description 9
- 230000036544 posture Effects 0.000 description 96
- 230000000694 effects Effects 0.000 description 37
- 230000008859 change Effects 0.000 description 26
- 238000012549 training Methods 0.000 description 15
- 238000001514 detection method Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 12
- 238000005259 measurement Methods 0.000 description 11
- 210000002414 leg Anatomy 0.000 description 9
- 238000013461 design Methods 0.000 description 7
- 238000013178 mathematical model Methods 0.000 description 6
- 239000002775 capsule Substances 0.000 description 5
- 230000035515 penetration Effects 0.000 description 5
- 210000003491 skin Anatomy 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 210000003205 muscle Anatomy 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 210000003414 extremity Anatomy 0.000 description 3
- 238000012966 insertion method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000009958 sewing Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008602 contraction Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 210000000689 upper leg Anatomy 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000004323 axial length Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 244000309466 calf Species 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013016 damping Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 210000002615 epidermis Anatomy 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 235000004213 low-fat Nutrition 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000000053 physical method Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000036548 skin texture Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 210000001364 upper extremity Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0641—Shopping interfaces
- G06Q30/0643—Graphical representation of items or shoppers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Business, Economics & Management (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computer Graphics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种服装模型的布料解算方法,包括:(1)制作处于初始姿态的三维基础人台;(2)获取三维服装模型;(3)将三维服装模型贴合到初始姿态的三维基础人台模型;(4)使用神经网络模型获取人体模型的二级信息;(5)根据二级信息获取目标人体模型的姿态和体型参数;(6)将参数输入基础人台模型中进行拟合,获得目标姿态和目标体型;(7)驱动人体模型的骨骼从初始姿态向目标姿态移动;(8)生成动画序列;(9)获得完成换装的三维目标人体模型。本发明对模型拟合和服装模型布料模拟进行了优化,形成初始姿态到目标姿态的动画系列,并使用每帧都进行布料解算的方法优化了驱动过程,使得整个拟合过程真实度更好。
Description
技术领域
本发明属于虚拟换装领域,具体涉及一种服装模型的布料解算方法,尤其是在插帧驱动方式下服装模型的布料解算方法、设备和存储介质。
背景技术
随着互联网技术的发展,网上购物方式越来越普及。相比于实体店购物,网上在线购物具有商品种类多、购物方便等优势。但是,在网上购买商品,也存在一些不易解决的问题,最主要的就是无法实地查看要买的商品。在所有的商品种类中,服装商品这个问题最为突出。相比于实体店购物中可以实时地换装查看服装效果,在线服装购物无法提供针对消费者本身的效果图,只能提供模特试衣的图片,有的甚至根本没有试衣图片,消费者无法实时直观地获取服装和自身体型形象的匹配程度。造成了大量的退换货。
针对这一问题,经营者尝试利用虚拟试衣技术为消费者提供模拟试衣效果解决这一问题。当然,现实中还存在其他可以使用虚拟换衣试衣技术的场合,比如网络游戏中。因此,这一技术得到了较快的发展。
虚拟试衣是指用户不用实际换上想要观看穿着效果的衣服,也能在终端屏幕上实时查看“换装”效果的一种技术应用。现有的换装技术应用主要包括平面试衣和三维虚拟试衣技术。前者基本上是采集用户的图片,采集衣服的图片,然后进行裁剪和拼接,形成“穿衣”后的图像,但这类图像由于简单粗暴的图像处理方式而造成真实度较差,完全没有考虑到用户的实际体型,只是把服装生搬硬套到用户照片上,不能满足用户的需求。后者通常通过三维采集设备采集人的三维信息并结合服装的特征进行合成,或者通过手动输入用户提供的身体数据信息,并按照一定的规则虚拟生成一个人体三维模型,然后与服装贴图进行结合。整体上来说,这类三维虚拟试衣需要进行大量的数据采集或者三维数据计算,硬件成本高,在普通用户中不易推广。
随着云计算技术、人工智能技术和智能终端处理能力的发展,产生了从二维人体虚拟图像,生成三维人体模型,换装三维衣物模型后实现虚拟试衣的技术。此类技术主要包括三个步骤:(1)对用户提供的个人身体信息进行处理,得到目标人体模型;(2)对服装信息进行处理得到服装模型;(3)将人体模型和服装模型融合在一起,生成人穿着该服装的三维模型或者图像。
但是,由于流程设计、模型参数选择、神经网络的训练方法等诸多不确定因素的累积,最终生成的换衣图片质量并不如传统的三维虚拟试衣技术。这其中,人体模型的拟合因为是其基础步骤,其完成人体模型从初始姿态运动到目标姿态的动作,并且后面的穿衣过程也必须以前面生成的目标人体模型为基础,所以,一旦目标人体模型生成的不准确,容易产生人体模型与试衣者体型差距过大、皮肤纹理丢失、身体部位丢失等问题;此外,因为需要将服装模型跟随人体模型从标准姿态运动到目标姿态,这其中会涉及到服装模型和人体模型的随动和干涉问题,进而影响最终的生成的换衣模型效果。
在一般的计算机视觉领域中,人体建模的初始步骤有很多种,通常包括使用3D扫描设备对真实人体进行全方位扫描,基于多视角景深照相的三维重建方法,以及给定单张或者多张图像结合神经网络模型和标准人体模型的方法实现三维重建这三大类。
从互联网生态的特点出发,从单张图像直接输出最终完成换装的人体模型无疑是最优选的,用户无需亲临现场,只需一张照片,即可完成整个换衣过程。这其中,如何通过一张姿态各异的照片而获得最接近人体真实姿态的人体模型,就成为重中之重。
现有技术中,通过二维图像构造人体模型的方法通常有几类:(1)基于回归的方法,通过卷积神经网络重建出体素表示的人体模型,算法首先根据输入图片估计人体主要关节点的位置,然后根据关键点位置估计出给定指定大小体素网格中,根据其内部每个单元体素是否被占用,从而用内部占用体素的整个形状来描述重建出的人体形状;(2)基于单张图片的人体重建,该方法同时估计出人体三维形状和姿态,该方法首先在图像上对简单的人体骨骼关键点进行了粗略的标注,然后根据这些粗关键点进行人体模型的初始匹配和拟合,得到人体大致形状。(3)用23个骨骼节点来表示人体骨架,然后用每个骨骼节点的旋转来表示整个人体的姿态,同时,用6890个顶点位置来表达人体形状,在拟合过程中,给定骨骼节点位置,同时拟合出形状和姿态的参数,从而进行三维人体重建;或者先用CNN模型来预测图像上的关键点,然后采用SMPL模型进行拟合,得到初始的人体模型。接着,用拟合得到的形状参数来回归一个人体关节包围盒,每个关节对应一个包围盒,用轴长和半径来表示其包围盒。最后,结合初始模型和回归得到的包围盒从而得到三维人体重建。以上方法存在建模速度较慢,其建模精度不够,并且重建效果强依赖所创建的身体和姿态数据库的问题。
现有技术一公开了一种基于体测数据的人体建模方法,包括:获取体测数据;根据所述体测数据,通过预先训练好的预测模型对预先创建的人体模型进行线性回归,拟合得到预测人体模型,所述预先创建的人体模型包括预先定义的多组标记特征点以及对应的标准形状基,所述体测数据包括与每组标记特征点对应的测量数据;根据所述预测人体模型,得到目标人体模型,所述目标人体模型包括测量数据、目标形状基以及目标形状系数。但是这种方法,对体测数据要求非常高,包括体长数据与围长数据,比如身高、臂长、肩宽、腿长、小腿长、大腿长、脚板长,头围、胸围、腰围、大腿围等,不仅测量还要计算。确实节约了计算量,但是用户体验却非常不好,程序很繁琐。并且在人体模型的训练上,参考了SMPL模型的训练方式。
SMPL模型是一种参数化人体模型,是马普所提出的一种人体建模方法,该方法可以进行任意的人体建模和动画驱动。这种方法与传统的LBS的最大的不同在于其提出的人体姿态影像体表形貌的方法,这种方法可以模拟人的肌肉在肢体运动过程中的凸起和凹陷。因此可以避免人体在运动过程中的表面失真,可以精准的刻画人的肌肉拉伸以及收缩运动的形貌。该方法中β和θ是其中的输入参数,其中β代表是个人体高矮胖瘦、头身比等比例的10个参数,θ是代表人体整体运动位姿和24个关节相对角度的75个参数。但是这种模型生成方式,核心是训练数据的大量积累,获得体型和形状基之间的关系,但是,这种关系由于互相之间具有极强的关联性,每个形状基之间无法做到独立控制,不容易进行解耦合操作,比如,胳膊和腿之间也存在一定关联关系,胳膊动的时候腿理论上也会跟着运动,很难在SMPL模型上实现针对不同特点体型的改进。在模型的驱动过程中,这种模型的特点依然严重影响着模型最终的驱动效果,要运动就整体进行运动,无法实现部分的单独插帧移动,与本发明所采用的人体模型所体现的各个部分能够独立控制差异明显,在模型驱动效果上还有很大提升空间。
现有技术二公开了一种基于骨骼驱动的虚拟服装变形仿真方法,包括:(1)载入虚拟服装的三维网格模型和人体骨骼模型;(2)借鉴虚拟人的骨骼模型的创建方法,为导入的服装模型匹配骨骼系统;(3)按照骨骼的长度将服装模型分段,分段计算的多边形网格在该段的圆柱状包围盒,当骨骼进行运动时,服装网格和包围盒也将随之产生相应的变形;(4)对变形后的服装模型和人体模型进行碰撞检测。所述步骤(3)又分为:(31)根据所述骨骼长度将骨骼均分为若干段,对附着在每一段骨骼上的服装的多边形网格计算最小圆柱包围盒;(32)关节位置附近所述包围盒会相交,远离关节的位置所述包围盒不会相交,根据所述包围盒相交的情况,多边形网格的顶点采用不同的变形方法。没有相交的所述包围盒的顶点直接绕关节进行刚性变形,而属于相交包围盒的顶点进行基于物理方法的柔性变形,施加相应的约束,形成动态效果。所述步骤(4)中,对变形后的服装网格和人体模型进行碰撞检测方法为:将所述人体模型同样分段包裹在所述圆柱形包围盒中,如果衣物的模型在变形的过程中侵入了所述包围盒,则将该节点沿射线方向移出包围盒。该方法使整个仿真变形过程简单易行,降低了服装和人体模型的碰撞检测的计算量,但是该方法还是属于传统的碰撞计算最终位移的方式,人体模型和服装模型都属于一步到位的情况,并没有考虑到模型运动中的具体情况,只是以一种方式简单代替之,典型的缺点就是失真比较大,在追求模拟效果的场合效果达不到要求。
现有技术三公开了一种布人碰撞的方法,包括:根据获取到的立体人模信息确定人体总包围盒;将人体总包围盒划分为若干空间单元,并为划分后的空间单元建立对应的存储空间;根据构成立体人模的三角面信息,确定三角面包围盒;根据三角面包围盒确定三角面包围盒所占据的空间单元;判断服装裁片顶点与三角面的位置关系,并将距离服装裁片顶点最近的三角面信息记录在服装裁片顶点所在的空间单元所对应的存储空间;并行计算各存储空间中服装裁片顶点与三角面的空间位置关系,进而将内陷的服装裁片顶点外移。但是该方法聚焦于碰撞系统的改进,但还是属于传统的碰撞计算最终位移的方式,没有把整个驱动过程进行分解细化,一次性碰撞模拟出最终的服装模型状态,在模拟效果上存在较大不足。
由此可见,在人体模型从初始位置到目标姿态的过程中,存在多种不同的驱动和拟合方法,目前大多数方法都着重于提高处理的速度,以满足动漫或者游戏的要求。但是,在某些情形下,对最终衣物模型模拟质量的要求是更重要的,如何提供一种输入信息简单直接易得,计算量不超过终端设备承受力,效果优秀的服装模型模拟方法是亟需解决的问题。
发明内容
基于上述问题,本发明提供了一种克服上述问题的服装模型的布料解算方法、设备和存储介质。借助于自制人体模型逐帧驱动方式的特殊选择,可以逐帧对服装模型进行模拟和修复,使得最终生成的服装模型在形态和真实度上更接近原始图片的状态。
本发明提供一种服装模型的布料解算方法,所述方法包括:(1)制作处于初始姿态的三维基础人台,初始姿态参数的获得由基础人台模型的初始化参数确定;(2)获取三维服装模型;(3)将三维服装模型贴合到初始姿态的三维基础人台模型;(4)使用神经网络模型根据二维人体图像获取人体模型的二级信息;(5)根据二级信息由神经网络模型回归预测获取目标人体模型的姿态和体型参数,所述三维人体姿态和体型参数与三维基础人台的骨骼和若干个基参数相对应;(6)将获得的若干组基和骨骼参数输入基础人台模型中进行拟合,获得目标姿态和目标体型;(7)驱动人体模型的骨骼从初始姿态向目标姿态移动;(8)生成从初始姿态到目标姿态的动画序列;(9)获得与目标人体二维图像的姿态相同且完成三维服装模型换装的三维目标人体模型。
优选的,所述驱动过程还包括:采用插帧的方式从初始姿态驱动人体模型骨骼移动到目标姿态;由骨骼的移动带动人体模型网格的跟随移动;驱动服装模型逐帧跟随人体模型移动到目标姿态;服装模型布料解算过程与人体模型网格移动过程同步进行,在所有骨骼完成每一帧的运动后进行布料的物理模拟计算。
优选的,在获得骨骼信息的初始状态以及目标姿态状态参数之后,从初始姿态驱动骨骼移动到目标姿态,通过线性插值或最近邻插值的插帧方式,形成初始姿态到目标姿态的骨骼信息时间序列,在驱动过程中,所有的骨骼关节点作为一个整体,在模拟骨骼运动时,所有的骨骼一起移动。
优选的,采用LBS和DQS两种蒙皮算法生成人体模型网格,同时将人体模型的顶点网格建模为刚体,在到达目标位置时,结合设置的网格碰撞体计算网格的位置,避免出现网格互穿。
优选的,生成动画序列的过程中,人体模型网格的移动同样采用插帧的方式进行,每一帧驱动骨骼运动之后,都通过标准人体模特的权重参数计算得到当前状态的人体模型顶点即面信息,更新当前的人体模型网格状态并记录保存。
优选的,布料解算引入网格碰撞体系统,逐帧计算人体模型网格和衣服模型网格的状态,模拟计算物理世界中的碰撞运动过程,进而确定衣服模型每帧后的最终位置。
优选的,将人体模型的顶点网格建模为刚体,将衣服模型的网格建模为非刚体,使用物理引擎模拟刚体与非刚体之间的碰撞关系,在布料解算的过程中计算刚体和非刚体之间的碰撞,同时考虑服装模型自身网格之间的连接作用力。
优选的,所述获取目标人体模型的参数的步骤还包括,1)获取目标人体的二维图像;2)处理获得目标人体的二维人体轮廓图像;3)将二维人体轮廓图像代入经过深度学习的第一神经网络进行关节点的回归;4)获得目标人体的关节点图;获取人体各部分语义分割图;身体关键点;身体骨骼点;5)将生成的目标人体的关节点图、语义分割图,身体骨骼点以及关键点信息代入经过深度学习的第二神经网络进行人体姿态和体型参数的回归;6)获得输出的三维人体参数,包括三维人体动作姿态参数和三维人体体型参数。
此外,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现前面任一所述的方法步骤。
一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现前面任一所述的方法步骤。
本发明的有益效果是:
1、模型拟合效果好,穿模少。传统的为了驱动模型为了能完整地拟合出目标人体的姿态,在从初始姿态(pose)到目标姿态的变化过程中,通常采用整体一步到位的移动方式,这种方式计算量小,模型边界条件和位置条件变化大,真实度下降很多,并且容易产生穿模。我们注意到,人体模型在移动过程中,实际上肢体各个部分的网格运动规律是不一样的,有的网格变化比较明显,有的网格变化不明显,相应的,有的网格运动剧烈,有的网格基本没什么运动。如果采用一步即从初始位置达到目标位置的方式,有一些部位会产生明显的失真或者变形,而有些部位则还原度尚可,总体视觉效果比较差,很容易让人看到各种不合理的细节。针对这种特点,为了能逼真地拟合出目标人体的运动姿态,更好地配合布料模拟解算,在骨骼从初始姿态到目标姿态的变化过程中,我们采用了经过优化的插帧法来完成,和传统的插针法比较,我们的目标姿态的骨骼信息由模型回归预测得到,同时,生成从初始姿态移动到目标姿态的动画序列;通过线性插值,最近邻插值等插帧方式,形成初始姿态到目标姿态的骨骼信息时间序列。我们创造性地利用若干帧动画序列的累积,避免了采用一步到位的驱动方式,在每一帧小幅度驱动人体模型的同时,逐帧进行布料解算。使得每一帧后,布料解算的效果都是从上一帧解算后的效果上继续模拟,并且计算量小,模型变化小,真实度在每一帧解算后基本没有减弱,人体模型网格和服装模型网格的碰撞结果和模拟效果都可以达到较好水平,服装模型整体的解算效果远远优于一步到位的方法,虽然速度上受到影响,但模拟效果更真实、还原度更好。
2、人体模型精确可控。在逐帧驱动的过程中,我们的自制基础人台因为可以控制更多的细节,所以在细节的真实度和还原度上比传统的人体模型要好。目前流行的基于单图像的人体重建方法主要分为重建参数化人体模型,比如SMPL模型,主要通过大量的人体模型实例来进行深度学习和训练,体型和形状基之间的关系是一种整体关联关系,解耦合难度很大,无法随心所欲地控制想要控制的身体部分,导致生成的模型不能达到与真实人体姿态和体型的高度一致性,此外,如果进一步应用于后续的穿衣过程,也会导致对人体表面几何细节的表现能力有限,无法很好地重建出人体表面衣物的细节纹理。但是我们的人体模型,不是通过训练得到的,参数之间存在基于数学原理的对应关系,也就是说,我们的各组参数之间没有互相牵连的关系,是各自独立的,因此我们的模型在变换过程中更具有解释性,可以更好地表征身体某一个部分或者特定部位的形状和位置变化。也就是说,在人体骨骼和网格的逐帧移动过程中,我们自制的基础人台,可以更好地还原出真实世界中的肢体移动情况和衣物跟随移动的状态。
3、优化的插帧方式。在整体驱动方式上,我们采用了经过优化的插帧法来完成,和传统的插帧法比较,我们的目标姿态的骨骼信息由神经网络模型回归预测得到,同时,生成从初始姿态移动到目标姿态的动画序列;通过线性插值,最近邻插值等插帧方式,形成初始姿态到目标姿态的骨骼信息时间序列。生成动画序列的过程中,采用网格mesh插帧的方式进行处理;插帧速度的设置为前后距离初始点和目标点的位置慢,中间运动过程快;尤其重要的是,在模型达到最终目标姿态时静止数帧,使得模型在高速运动后,在静止前得到一个有效的缓冲,进而得到整个完整动画序列,人体模型的姿态拟合准确度更高。这样的做法比起匀速插帧更贴近真实物理世界运动规律,人体姿态仿真出来的效果更佳,并且可以减少相当的处理时间。
4、高频度创造性使用分级深度神经网络。现有技术中也会使用神经网络模型,但是由于输入条件、输入参数、训练方式的不同,导致神经网络模型发挥的功能和作用有较大差异。本发明在获取人体模型二级信息和模型身体数据方面,针对不同的目的分别使用不同的神经网络,利用不同输入条件和训练方式的神经网络模型,实现了人体在复杂的背景下的精准轮廓分离,人体的语义分割,关键点和关节点的确定,排除了宽松衣物、发型的影响,做到最大程度上逼近人体的真实体型和形态。充分利用了深度学习网络的优势,能够在各种复杂的场景中,高精度还原人体的姿态和体型。并且后一级神经网络输出的参数包含姿态pose和体型shape两个类别,可以分别控制动作和体型,并且结合我们的参考模型,可以精准的复制人体模型的姿态和体型。
本发明对基础人台和目标人体模型的拟合和解算方式进行了优化,形成初始姿态到目标姿态的动画系列,通过独立操作和控制性更佳的自有基础人台,并使用逐帧驱动的方式完成骨骼带动人体表皮网格移动的全过程,并通过逐帧的服装模型布料解算,使得整个驱动过程的累积画面效果达到了较高水平。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例的完整人体模型驱动过程以及布料解算流程示意图;
图2为一个实施例的模型参数获得模块的处理流程示意图;
图3为一个实施例的人体模型建模处理流程示意图;
图4为本发明的系统示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
下面结合附图对本发明实施例描述的人体模型的分段驱动方法进行详细说明。
如图1-3所示,本发明提供一种服装模型的布料解算方法,所述方法包括:(1)制作处于初始姿态的三维基础人台,初始姿态参数的获得由基础人台模型的初始化参数确定;(2)获取三维服装模型;(3)将三维服装模型贴合到初始姿态的三维基础人台模型;(4)使用神经网络模型根据二维人体图像获取人体模型的二级信息;(5)根据二级信息由神经网络模型回归预测获取目标人体模型的姿态和体型参数,所述三维人体姿态和体型参数与三维基础人台的骨骼和若干个基参数相对应;(6)将获得的若干组基和骨骼参数输入基础人台模型中进行拟合,获得目标姿态和目标体型;(7)驱动人体模型的骨骼从初始姿态向目标姿态移动;(8)生成从初始姿态到目标姿态的动画序列;(9)获得与目标人体二维图像的姿态相同且完成三维服装模型换装的三维目标人体模型。当然,这些步骤之间并不必然遵守严格的前后顺序,因为有一些步骤本身就是独立的准备步骤,放置顺序并不对最终成果产生决定性影响。
由此可见,本发明的拟合方法大致涉及四个部分的步骤。一是生成三维基础人台(标准人体模型);二是将三维服装模型贴合上基础人台;三是获得目标姿态人体模型的参数;四是让标准人体模型的体型和姿态拟合为与目标人体模型一致,并且衣服模型跟随移动到目标人体模型的位置。
第一部分是预先设计建模一些基础人台。主要工作内容为:结合数学模型构造三维基础人台,即基础人台或基础人台。马普所的SMPL人体模型可以避免人体在运动过程中的表面失真,可以精准的刻画人的肌肉拉伸以及收缩运动的形貌。该方法中β和0是其中的输入参数,其中β代表是个人体高矮胖瘦、头身比等比例的10个参数,θ是代表人体整体运动位姿和24个关节相对角度的75个参数。β参数是shape Blend pose参数,可以通过10个增量模板控制人体形状变化,具体而言,每个参数控制人体形态的变化可以通过动图来刻画。通过研究参数变化的连续动画,我们可以清楚地看到每一个控制人体形态参数的连续变化,都会引起人体模型的局部甚至整体的连锁变化,为了体现人体肌肉组织的运动,SMPL人体模型的每一个参数的线性变化,都会引起大面积的网格变化。形象的讲,例如在调整β1的参数时,模型会直接把β1的参数变化理解为身体的整个变化,你可能只想调整一下腰部的比例,但是模型会强制把腿部、胸部、甚至手部的胖瘦一起帮你调整。这种工作模式虽然可以大大简化工作流程,提高效率,但是对追求建模效果的项目来说,确实非常不方便的。因为SMPL人体模型终究是一个通过西方人体照片和测量数据训练出来的符合西方人体型的模型,其形体变化的规律基本符合西方人的通常变化曲线,应用在亚洲人的人体模型建模中,则会出现很多问题,比如胳膊和腿的比例,腰身的比例,脖子的比例,腿长和胳膊长度等。通过我们的研究,如果在本发明驱动方法的基础上,硬性套用SMPL人体模型,则无法完成分段移动的最低要求,导致无法充分实现技术目的。
为此,我们采用了自制人体模型的方式来完善技术可行性。其核心是自建人体blend体型基来实现人体精准的独立操控。所述三维基础人台具有骨骼点和模型网格的数学权值关系,骨骼点的确定可关联确定目标人体姿态的人体模型;所述三维基础人台由若干个形体基参数以及若干根骨骼参数限定,所述若干个形体基构成整个人体模型网格,每个形体基分别由基参数单独控制变化,互不影响。优选的,所述三维基础人台(基础人台)由20个形体基的参数以及170根骨骼参数构成。所谓精准操控,一方面是增加了控制的参数,没有沿用马普所的十个β控制参数,这样,可以调整的参数除了通常的胖瘦,还加入了手臂的长度,腿部的长度,腰部、臀部和胸部的胖瘦等,在骨骼参数方面把参数提高了一倍以上,大大丰富了可以调整参数的范围,为精细化设计基础人台提供了良好的基础。所谓独立操控,可以理解为每一个基都是单独进行操控的,比如腰、腿、手、头部等,每根骨骼也是可以单独进行长度的调整,互相之间独立,并且不会产生形体上的联动,这样就能比较好的进行人体模型的精细化调整。不再显得模型“傻大笨粗”,总也不能调整到设计师满意的形态。我们现有的模型,体现出来的是一种数学原理上的对应关系,实际上就相当于我们从人工审美和数据统计分析两个部分去重新设计这个模型,使其按照我们的设计规则去生成我们认为符合亚洲人体型的正确模型,显著区别于SMPL人体模型的大数据训练模型,所以我们的参数变换更具有可解释性,可以更好地表征人体模型局部的形体变化,并且,这种变化是基于数学原理的方式,各个参数之间没有影响,胳膊和腿之间保持了完全独立状态。实际上,设计了这么多不同的参数,就是为了可以避免大数据训练出来人体模型的缺陷,在更多维度上对人体模型进行精准控制,不局限于高度等寥寥几个指标,大幅提升建模效果。
所述三维人体模型具有骨骼点和模型网格的数学权值关系,骨骼点的确定可关联确定目标人体姿态的人体模型。在这一部分,沿用上一部分生成的这两种参数,就可以代入预先设计好的人体模型进行3D人体模型的构造。这两类参数与马普所的人体SMPL模型参数名称相似,但实际所包含的内容相差较大。因为两者的基础并不一样,也就是说,本发明采用自制三维基础人台(基础人台),马普所的SMPL模型采用大数据训练生成的基础人台,两个模型的生成计算方式不同,虽然最后都体现为生成的3D人体模型,但是其内涵相差较大。在这一步骤后,就会得到一个初步的3D人体模型,包括骨骼位置和长短信息的人体模型的网格(mesh)。
第二部分主要是生成三维服装模型。在生成三维服装模型的现有技术中,存在几种不同的方法。目前,比较传统的服装三维模型建立方式是基于二维衣服裁片的设计与缝合方法。这种方法需要一定的服装专业知识来对样板进行设计。另一种较为新颖的三维建模方法是基于手绘的,可以通过用户手绘的线条信息生成简单的服装模型。还有一种是在获取服装图片信息的基础之上,综合使用图像处理技术与图形仿真技术,最终生成虚拟三维服装模型。在图片中通过轮廓检测与分类获取服装轮廓与尺码,通过机器学习的方法从轮廓中找出的边与边的关键点,通过关键点对应关系生成缝合信息,最后在三维空间中对服装进行物理缝合的仿真,获取服装穿着在人体上的真实效果。此外,还有映射法,数学模型仿真法等方法,本发明对这一部分并不作出特别的限定,但是,三维服装模型需要匹配到标准人体模型上,总的要求是基于已适配到标准人体模型上的服装模型,通过布料物理模拟的方式,适配到目标姿态下的人体模型上,且保证服装的自然性和合理性。
所以通常要满足一些基本要求,包含但不限于以下几点:a.要和标准人台的初始姿态完全贴合不穿模;b.输出为均匀的四边面;c.模型的UV需要展开平铺紧凑对齐,并且贴图须通过photoshop工具人工对齐UV;d.进行过顶点合并;e.输出模型应均匀减面,参考标准总面数不超过15w面/套;f.需要在主流服装设计软件里调节材质,解算10帧动画观察布料效果,达到预期并把材质参数保存;g.需要在主流设计软件里里调节渲染材质,预览一张渲染,保证材质lambert属性合理。
第三部分是对获取的人体图像进行处理,获得生成人体模型所需要的参数信息。以前,这些骨骼关键点的选取通常是通过人工进行,但是这种方式效率很低,不适应互联网时代快节奏的要求,因此,在神经网络大行其道的今天,利用经过深度学习的神经网络代替人工进行关键点的选取,成为了潮流。但是,如何高效地利用神经网络则是一个需要进一步研究的问题。总体上讲,我们采用了二级神经网络加数据“精修”的思路来构建我们的参数获得体系。如图2-3所示,我们采用经过深度学习的神经网络来生成这些参数,主要包括以下子步骤:1)获取目标人体的二维图像;2)处理获得目标人体的二维人体轮廓图像;3)将二维人体轮廓图像代入经过深度学习的第一神经网络进行关节点的回归;4)获得目标人体的关节点图;获取人体各部分语义分割图;身体关键点;身体骨骼点;5)将生成的目标人体的关节点图、语义分割图,身体骨骼点以及关键点信息代入经过深度学习的第二神经网络进行人体姿态和体型参数的回归;6)获得输出的三维人体参数,包括三维人体动作姿态参数和三维人体体型参数。
所述目标人体的二维图像可以为任意姿势和任意着装的包括人体像的二维图像。二维人体轮廓图像的获取利用目标检测算法,所述目标检测算法是基于卷积神经网络的目标区域快速生成网络。
在将二维人体图像输入第一神经网络模型之前,还包括训练神经网络的过程,训练样本包括标注原始关节点位置的标准二维人体图像,所述原始关节点位置由人工在二维人体图像上进行高准确度地标注。在这里,首先获取目标图像,并利用目标检测算法对目标图像进行人体检测。人体检测并不是使用测量仪器对真实人体进行检测,本发明中实际是指对于任意一幅给定的图像,通常是包含足够信息的二维照片,比如人脸,人的四肢和身体要求全部包括在图片中。然后,采用一定的策略对给定的图像进行搜索,以确定给定的图像中是否包含人体,如果给定的图像中包含人体,则给出人体的位置、大小等参数。在本实施例中,在获取目标图像中的人体关键点之前,需要对目标图像进行人体检测,以获取目标图像中标注人体位置的人体框,因为我们输入的图片可以是任何图片,所以不可避免的存在一些非人体图像的背景,比如桌子椅子、大树汽车楼房等,要通过一些成熟的算法把这些无用的背景去除。
同时,我们还要进行语义分割、关节点检测、骨骼检测和边缘检测,收集到了这些1D的点信息和2D的面信息,就可以为后面生成3D人体模型打下良好的基础。使用第一级神经网络生成人体的关节点图,可选地,目标检测算法可以为基于卷积神经网络的目标区域快速生成网络。该第一神经网络需要进行大量的数据训练,由人工对一些从网络收集来的照片进行关节点标注,然后输入神经网络进行训练,经过深度学习的神经网络,基本可以做到输入照片后就能立即获得和人工标注关节点一样准确率和效果的关节点图,同时效率是人工标注的数十倍甚至数百倍。
本发明中,获得照片中人体的关节点位置,只是完成了第一步,获得了1D的点信息,还要根据这些1D的点信息生成2D的面信息,这些工作都可以通过神经网络模型以及现有技术中的成熟算法来完成。本发明由于重新设计了神经网络模型参与工作的流程和介入时机,合理设计了各种条件和参数,使得参数的生成工作更加高效,人工参与的程度降低,非常适合互联网应用场景,比如在虚拟换装的节目中,用户无需等待,基本上是瞬时就可以获得换装结果,对提高节目对用户的吸引力有着至关重要的作用。
在获得了相关的1D的点信息和2D的面信息后,就可以将这些参数或者结果,目标人体的关节点图、语义分割图,身体骨骼点和/或关键点信息作为输入项代入经过深度学习的第二神经网络进行人体姿态和体型参数的回归。经过第二神经网络的回归计算,就可以立即输出若干组三维人体参数,包括三维人体动作姿态参数和三维人体体型参数。优选的,根据三维基础人台(基础人台)、预测三维人体模型、标注原始关节点位置的标准二维人体图像以及包括预测关节点位置的标准二维人体图像设计神经网络的损失函数。
第四部分是将人体模型的参数和人体模型进行拟合,并将服装模型与人体模型进行匹配,也是本发明的创新点所在。
优选的,所述驱动过程还包括:采用插帧的方式从初始姿态驱动人体模型骨骼移动到目标姿态;由骨骼的移动带动人体模型网格的跟随移动;驱动服装模型逐帧跟随人体模型移动到目标姿态;服装模型布料解算过程与人体模型网格移动过程同步进行,在所有骨骼完成每一帧的运动后进行布料的物理模拟计算。
为了能逼真地拟合出目标人体的运动姿态,更好地配合布料模拟解算,在骨骼从初始姿态到目标姿态的变化过程中,我们设计了采用插帧法来从模型模拟机理上实现服装模型的高真实性和还原性。因为人体模型在驱动过程中,实际上是一个反复计算反复验证的过程,当参数代入模型计算时,如果计算量较小,模型模拟出来的结果就越贴近真实的结果,反之,计算的跨度越大,模型出现失真的程度就会迅速增大。在我们的发明中,把初始位置到目标位置的移动过程分解成若干个小幅度的动作,通过按时间顺序插帧的方式生成了从初始姿态移动到目标姿态的动画序列。插帧方式可以选择线性插值,最近邻插值等,形成初始姿态到目标姿态的骨骼信息时间序列,并在此基础上,形成了以时间为顺序的一系列过程动画。利用整个动作分解为若干帧动画序列的方式,每一帧的模型移动幅度非常小,最终累积形成大范围的动作,避免了采用一步到位的驱动方式。通过初始pose到目标pose之间的插帧,在每一帧小幅度驱动人体模型的同时,逐帧进行布料解算,碰撞体计算和验证。使得每一帧后,布料解算的效果都是从上一帧解算后的效果上继续模拟,借助于真实度在每一帧后基本没有减弱的特点,人体模型网格和服装模型网格的碰撞结果和模拟效果都可以达到较好水平,从而在到达目标pose时,服装模型整体的解算效果远远由于一步到位的方法,获得服装模型最终更真实、还原度更好的视觉效果。
优选的,在获得骨骼信息的初始状态以及目标姿态状态参数之后,从初始姿态驱动骨骼移动到目标姿态,通过线性插值或最近邻插值的插帧方式,形成初始姿态到目标姿态的骨骼信息时间序列,在驱动过程中,所有的骨骼关节点作为一个整体,在模拟骨骼运动时,所有的骨骼一起移动。这种方式可以保证所有骨骼关节点的移动都符合运动幅度较小的要求,并且可以使得动作的变化有所简化,有利于后续的人体网格随动和衣物模型的小幅度变化。
优选的,采用LBS和DQS两种蒙皮算法生成人体模型网格,同时将人体模型的顶点网格建模为刚体,在到达目标位置时,结合设置的网格碰撞体计算网格的位置,避免出现网格互穿。
人体刚性模型是人体模型的一种,通常是将人体各结构部分假设成受外力作用时不发生形状和大小改变的刚体而建立的人体模型。一般以人体测量的统计资料为基础,它反映人体各功能块之间比较精确的数量关系,是一种数学模型。用于反映人体各部分相互关系及力、速度和运动距离等特征的假想系统。人体模型按性质不同分为数学模型和实体模型两类。数学模型指将人体各结构部分假设为刚体,以精确的数学关系描述人体的情况,也称为人体刚性模型。建立数学模型,需以长期的观测结果为基础,并借助统计技术和手段才能实现。实体模型也称模拟人或假人,指按需要将人体抽象、简化为若干数量的功能块,以各功能块的相互关系模拟人体情况。实体模型按应用情境不同分为提举模型、弹跳模型、碰撞模型、服装模型等。有些情况下人体模型以特定的人体尺寸测量数据为依据,而在另一些情况下人体模型仅保持各身体部分的相对关系。在一些流行三维建模软件中(比如Unity3D),其物理组件为使用者提供了碰撞体组件。碰撞体是物理组件的一类,它与刚体一起促使碰撞发生。碰撞体是简单形状,如方块、球形或者胶囊形,在Unity 3D中每当一个主题被创建时,它会自动分配一个合适的碰撞器。一个立方体会得到一个Box Collider(立方体碰撞体),一个球体会得到一个Sphere Collider(球体碰撞体),一个胶囊体会得到一个Capsule Collider(胶囊体碰撞体)等。在Unity 3D的物理组件使用过程中,碰撞体需要与刚体一起添加到人体对象上才能触发碰撞。刚体一定要绑定在被碰撞的对象上才能产生碰撞效果,而碰撞体则不一定要绑定刚体。当然,现有技术中存在各种各样的碰撞体系统,有多种方法对碰撞方式做改进,对碰撞结果做优化。这并不是我们讨论的重点,本发明的重要创新点还是在于连续利用成序列动画完成一系列的碰撞计算,经过这些步骤,使用生成的蒙皮权重和骨架的变形矩阵,对三维人体模型的表面网格做相同的变形,可选的变形方法包括线性混合蒙皮LBS(Linear Blending Skinning)、双四元数蒙皮DQS(Dual QuatemionSkinning)。人体模型的骨骼处于最合理的位置,人体模型网格也将处于最合理的位置。进而通过碰撞模拟计算,使得人体模型和服装模型的贴合更接近真实情况。在一个实施例中,我们也可以设计布料和人体模型的碰撞方法,还可以包括重力或风力模拟算法,在人体模型的网格基础上进行碰撞体建立,碰撞体可以由多个胶囊体组成,同时对服装模型进行布料物理模拟,具体为对各网格和网格之间及网格相邻基数和偶数之间的顶点进行弹簧拉力阻尼模拟计算,然后通过网格顶点和碰撞体的碰撞,计算出布料各顶点的相对坐标及世界坐标,代入模型后得到一个外观形状贴近自然状态的服装模型。
优选的,布料解算引入网格碰撞体系统,逐帧计算人体模型网格和衣服模型网格的状态,模拟计算物理世界中的碰撞运动过程,进而确定衣服模型每帧后的最终位置。将人体模型的顶点网格建模为刚体,将衣服模型的网格建模为非刚体,使用物理引擎模拟刚体与非刚体之间的碰撞关系,在布料解算的过程中计算刚体和非刚体之间的碰撞,同时考虑服装模型自身网格之间的连接作用力。
利用物理仿真和碰撞检测,解决前序步骤中三维人体模型和三维服装模型可能存在的穿模问题(也可称为贯穿,穿透);虽然人体模型的表面网格已处于最合理的位置,但由于人体模型的体型与服装不匹配等因素,服装模型与人体模型相互贯穿的现象经常发生。通常使用物理仿真中的碰撞处理方法解决相互贯穿问题。可以使用的碰撞处理方法包括基于人体表面体素化的方法、基于距离场的方法、基于人体包围盒的方法。
传统上,只需做一次变形,便将人体模型从初始的姿势变形到目标模型的姿势;而本发明中,需要缓慢的将人体模型变驱动到目标姿势。这是因为达到人体模型目标姿势的过程需要配合物理仿真和碰撞处理,以获得真实的试穿效果,如果变形过大,人体模型和服装模型之间将出现过大的穿透问题,碰撞处理也无法很好解决,导致服装仿真效果较差。
在这一部分,人体模型网格要完成从初始姿态向目标姿态的变化。因为我们输入的只是一张照片,照片上的目标人体姿态通常是和基础人台是不一样的,这时,为了能拟合出目标人体的姿态,就要完成从初始姿态到目标姿态的变化。为了更加逼真地模拟模型的运动状态,若干组基和骨骼参数在标准三维人体参数模型中进行拟合驱动时,还包括以下环节:
优选的,生成动画序列的过程中,人体模型网格的移动采用插帧的方式进行,每一帧驱动骨骼运动之后,都通过标准人体模特的权重参数计算得到当前状态的人体模型顶点即面信息,更新当前的人体模型网格状态并记录保存。采用插帧方式,可以充分利用自制基础人台的特点,发挥单独控制的优势;同时,插帧方式也可以保证与本发明相关联的其他创新性技术方案的能够完整实施。因为在虚拟换衣这个项目上,我们采用了众多的创新性方法,来保证人体模型、衣物模型以及两者配合的处理速度和生成效果。其中,采用自适应的方法驱动人体模型移动也是其中重要的手段,而本发明正是与这种方法中并行的优化方法之一。主要的效果就是将移动的过程进行分解,并且对分解出来的结果进行多重手段的再处理和再优化,调整处理速度、数据量和处理效果之间的平衡。
结合图1至图3描述的根据本发明实施例的三维服装模型的布料解算方法可以由处理人体拟合设备来实现。图4是示出根据发明实施例的处理布料解算的设备的硬件结构300示意图。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现前面所述的方法和步骤。
以及一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现前面所述的方法和步骤。
如图4所示,本实施例中的实现人体拟合和布料解算的设备300包括:处理器301、存储器302、通信接口303和总线310,其中,处理器301、存储器302、通信接口303通过总线310连接并完成相互间的通信。
具体地,上述处理器301可以包括中央处理器(CPU),或者特定集成电路(ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器302可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器302可包括HDD、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器302可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器302可在处理人体图像设备300的内部或外部。在特定实施例中,存储器302是非易失性固态存储器。在特定实施例中,存储器302包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
通信接口303,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
总线310包括硬件、软件或两者,将处理人体模型的设备300的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线310可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
也就是说,图4所示的设备300可以被实现为包括:处理器301、存储器302、通信接口303和总线310。处理器301、存储器302和通信接口303通过总线310连接并完成相互间的通信。存储器302用于存储程序代码;处理器301通过读取存储器302中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行本发明任一实施例中的布料解算方法,从而实现结合图1至图3描述的方法和设备。
本发明实施例还提供一种计算机存储介质,该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现本发明实施例提供的布料解算方法。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种服装模型的布料解算方法,所述方法包括:
1)制作处于初始姿态的三维基础人台,初始姿态参数的获得由基础人台模型的初始化参数确定;
2)获取三维服装模型;
3)将三维服装模型贴合到初始姿态的三维基础人台模型;
4)使用神经网络模型根据二维人体图像获取人体模型的二级信息;
5)根据二级信息由神经网络模型回归预测获取目标人体模型的姿态和体型参数,所述三维人体姿态和体型参数与三维基础人台的骨骼和若干个基参数相对应;
6)将获得的若干组基和骨骼参数输入基础人台模型中进行拟合,获得目标姿态和目标体型;
7)驱动人体模型的骨骼从初始姿态向目标姿态移动;
8)生成从初始姿态到目标姿态的动画序列;
9)获得与目标人体二维图像的姿态相同且完成三维服装模型换装的三维目标人体模型。
2.根据权利要求1所述的方法,其特征在于,所述驱动过程还包括:采用插帧的方式从初始姿态驱动人体模型骨骼移动到目标姿态;由骨骼的移动带动人体模型网格的跟随移动;驱动服装模型逐帧跟随人体模型移动到目标姿态;服装模型布料解算过程与人体模型网格移动过程同步进行,在所有骨骼完成每一帧的运动后进行布料的物理模拟计算。
3.根据权利要求1所述的方法,其特征在于,在获得骨骼信息的初始状态以及目标姿态状态参数之后,从初始姿态驱动骨骼移动到目标姿态,通过线性插值或最近邻插值的插帧方式,形成初始姿态到目标姿态的骨骼信息时间序列,在驱动过程中,所有的骨骼关节点作为一个整体,在模拟骨骼运动时,所有的骨骼一起移动。
4.根据权利要求3所述的方法,其特征在于,采用LBS和DQS两种蒙皮算法生成人体模型网格,同时将人体模型的顶点网格建模为刚体,在到达目标位置时,结合设置的网格碰撞体计算网格的位置,避免出现网格互穿。
5.根据权利要求1所述的方法,其特征在于,生成动画序列的过程中,人体模型网格的移动同样采用插帧的方式进行,每一帧驱动骨骼运动之后,都通过标准人体模特的权重参数计算得到当前状态的人体模型顶点即面信息,更新当前的人体模型网格状态并记录保存。
6.根据权利要求5所述的方法,其特征在于,布料解算引入网格碰撞体系统,逐帧计算人体模型网格和衣服模型网格的状态,模拟计算物理世界中的碰撞运动过程,进而确定衣服模型每帧后的最终位置。
7.根据权利要求6所述的方法,其特征在于,将人体模型的顶点网格建模为刚体,将衣服模型的网格建模为非刚体,使用物理引擎模拟刚体与非刚体之间的碰撞关系,在布料解算的过程中计算刚体和非刚体之间的碰撞,同时考虑服装模型自身网格之间的连接作用力。
8.根据权利要求1所述的方法,其特征在于,所述获取目标人体模型的参数的步骤还包括,1)获取目标人体的二维图像;2)处理获得目标人体的二维人体轮廓图像;3)将二维人体轮廓图像代入经过深度学习的第一神经网络进行关节点的回归;4)获得目标人体的关节点图;获取人体各部分语义分割图;身体关键点;身体骨骼点;5)将生成的目标人体的关节点图、语义分割图,身体骨骼点以及关键点信息代入经过深度学习的第二神经网络进行人体姿态和体型参数的回归;6)获得输出的三维人体参数,包括三维人体动作姿态参数和三维人体体型参数。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一所述的方法步骤。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现权利要求1-8任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011609645.7A CN114758213A (zh) | 2020-12-28 | 2020-12-28 | 一种服装模型的布料解算方法、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011609645.7A CN114758213A (zh) | 2020-12-28 | 2020-12-28 | 一种服装模型的布料解算方法、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114758213A true CN114758213A (zh) | 2022-07-15 |
Family
ID=82324468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011609645.7A Pending CN114758213A (zh) | 2020-12-28 | 2020-12-28 | 一种服装模型的布料解算方法、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114758213A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115147324A (zh) * | 2022-08-01 | 2022-10-04 | 聚好看科技股份有限公司 | 一种人体模型和衣物模型的融合方法及设备 |
CN116029148A (zh) * | 2023-02-17 | 2023-04-28 | 上海百琪迈科技(集团)有限公司 | 一种服装模型与人体模型的摩擦效果实现方法及系统 |
CN116051694A (zh) * | 2022-12-20 | 2023-05-02 | 百度时代网络技术(北京)有限公司 | 虚拟形象生成方法、装置、电子设备以及存储介质 |
CN116187051A (zh) * | 2023-02-17 | 2023-05-30 | 上海百琪迈科技(集团)有限公司 | 一种服装模型与人体模型的绑定方法、系统及设备 |
CN116524088A (zh) * | 2023-07-03 | 2023-08-01 | 深圳星坊科技有限公司 | 珠宝虚拟试戴方法、装置、计算机设备和存储介质 |
CN116664733A (zh) * | 2023-07-28 | 2023-08-29 | 腾讯科技(深圳)有限公司 | 虚拟服装预测方法、装置、设备及计算机可读存储介质 |
CN116797699A (zh) * | 2023-08-28 | 2023-09-22 | 武汉博润通文化科技股份有限公司 | 基于三维立体技术的智能动画建模方法及系统 |
CN116956524A (zh) * | 2023-09-21 | 2023-10-27 | 厦门大学 | 一种智能服装的布线方法、装置、介质及智能服装 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018154331A1 (en) * | 2017-02-27 | 2018-08-30 | Metail Limited | Method of generating an image file of a 3d body model of a user wearing a garment |
CN108537888A (zh) * | 2018-04-09 | 2018-09-14 | 浙江大学 | 一种基于骨架的快速试衣方法 |
CN109145788A (zh) * | 2018-08-08 | 2019-01-04 | 北京云舶在线科技有限公司 | 基于视频的姿态数据捕捉方法和系统 |
CN109523345A (zh) * | 2018-10-18 | 2019-03-26 | 河海大学常州校区 | 基于虚拟现实技术的WebGL虚拟试衣系统和方法 |
WO2020131518A1 (en) * | 2018-12-19 | 2020-06-25 | Seddi, Inc. | Learning-based animation of clothing for virtual try-on |
CN114119906A (zh) * | 2020-08-27 | 2022-03-01 | 北京陌陌信息技术有限公司 | 一种服装模型自适应驱动方法、设备和存储介质 |
CN114119908A (zh) * | 2020-08-27 | 2022-03-01 | 北京陌陌信息技术有限公司 | 一种服装模型驱动方法、设备和存储介质 |
-
2020
- 2020-12-28 CN CN202011609645.7A patent/CN114758213A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018154331A1 (en) * | 2017-02-27 | 2018-08-30 | Metail Limited | Method of generating an image file of a 3d body model of a user wearing a garment |
CN108537888A (zh) * | 2018-04-09 | 2018-09-14 | 浙江大学 | 一种基于骨架的快速试衣方法 |
CN109145788A (zh) * | 2018-08-08 | 2019-01-04 | 北京云舶在线科技有限公司 | 基于视频的姿态数据捕捉方法和系统 |
CN109523345A (zh) * | 2018-10-18 | 2019-03-26 | 河海大学常州校区 | 基于虚拟现实技术的WebGL虚拟试衣系统和方法 |
WO2020131518A1 (en) * | 2018-12-19 | 2020-06-25 | Seddi, Inc. | Learning-based animation of clothing for virtual try-on |
CN114119906A (zh) * | 2020-08-27 | 2022-03-01 | 北京陌陌信息技术有限公司 | 一种服装模型自适应驱动方法、设备和存储介质 |
CN114119908A (zh) * | 2020-08-27 | 2022-03-01 | 北京陌陌信息技术有限公司 | 一种服装模型驱动方法、设备和存储介质 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115147324B (zh) * | 2022-08-01 | 2024-03-22 | 聚好看科技股份有限公司 | 一种人体模型和衣物模型的融合方法及设备 |
CN115147324A (zh) * | 2022-08-01 | 2022-10-04 | 聚好看科技股份有限公司 | 一种人体模型和衣物模型的融合方法及设备 |
CN116051694B (zh) * | 2022-12-20 | 2023-10-03 | 百度时代网络技术(北京)有限公司 | 虚拟形象生成方法、装置、电子设备以及存储介质 |
CN116051694A (zh) * | 2022-12-20 | 2023-05-02 | 百度时代网络技术(北京)有限公司 | 虚拟形象生成方法、装置、电子设备以及存储介质 |
CN116187051A (zh) * | 2023-02-17 | 2023-05-30 | 上海百琪迈科技(集团)有限公司 | 一种服装模型与人体模型的绑定方法、系统及设备 |
CN116029148B (zh) * | 2023-02-17 | 2023-09-19 | 上海百琪迈科技(集团)有限公司 | 一种服装模型与人体模型的摩擦效果实现方法及系统 |
CN116029148A (zh) * | 2023-02-17 | 2023-04-28 | 上海百琪迈科技(集团)有限公司 | 一种服装模型与人体模型的摩擦效果实现方法及系统 |
CN116187051B (zh) * | 2023-02-17 | 2024-03-29 | 上海百琪迈科技(集团)有限公司 | 一种服装模型与人体模型的绑定方法、系统及设备 |
CN116524088B (zh) * | 2023-07-03 | 2023-09-19 | 深圳星坊科技有限公司 | 珠宝虚拟试戴方法、装置、计算机设备和存储介质 |
CN116524088A (zh) * | 2023-07-03 | 2023-08-01 | 深圳星坊科技有限公司 | 珠宝虚拟试戴方法、装置、计算机设备和存储介质 |
CN116664733A (zh) * | 2023-07-28 | 2023-08-29 | 腾讯科技(深圳)有限公司 | 虚拟服装预测方法、装置、设备及计算机可读存储介质 |
CN116664733B (zh) * | 2023-07-28 | 2024-01-30 | 腾讯科技(深圳)有限公司 | 虚拟服装预测方法、装置、设备及计算机可读存储介质 |
CN116797699A (zh) * | 2023-08-28 | 2023-09-22 | 武汉博润通文化科技股份有限公司 | 基于三维立体技术的智能动画建模方法及系统 |
CN116797699B (zh) * | 2023-08-28 | 2023-12-15 | 武汉博润通文化科技股份有限公司 | 基于三维立体技术的智能动画建模方法及系统 |
CN116956524A (zh) * | 2023-09-21 | 2023-10-27 | 厦门大学 | 一种智能服装的布线方法、装置、介质及智能服装 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114758213A (zh) | 一种服装模型的布料解算方法、设备和存储介质 | |
CN114119908A (zh) | 一种服装模型驱动方法、设备和存储介质 | |
CN114202629A (zh) | 一种人体模型的建立方法、系统、设备和存储介质 | |
Yang et al. | Physics-inspired garment recovery from a single-view image | |
CN113496507B (zh) | 一种人体三维模型重建方法 | |
CN114663199B (zh) | 一种动态展示的实时三维虚拟试衣系统及方法 | |
Ye et al. | Reverse innovative design—an integrated product design methodology | |
CN110428493B (zh) | 基于网格形变的单图像人体三维重建方法及系统 | |
Yang et al. | Detailed garment recovery from a single-view image | |
CN114119907A (zh) | 一种人体模型的拟合方法、设备和存储介质 | |
CA2863097C (en) | System and method for simulating realistic clothing | |
CN114119905A (zh) | 一种虚拟试衣方法、系统、设备和存储介质 | |
CN114119906A (zh) | 一种服装模型自适应驱动方法、设备和存储介质 | |
CN107924579A (zh) | 生成个性化3d头部模型或3d身体模型的方法 | |
Zhu et al. | An efficient human model customization method based on orthogonal-view monocular photos | |
CN114119910A (zh) | 一种服装模型匹配人体模型的方法、设备和存储介质 | |
CN114119911A (zh) | 一种人体模型神经网络训练方法、设备和存储介质 | |
Magnenat-Thalmann et al. | 3d web-based virtual try on of physically simulated clothes | |
CN114119912A (zh) | 一种人体模型的快速拟合方法、设备和存储介质 | |
Yang et al. | Synbody: Synthetic dataset with layered human models for 3d human perception and modeling | |
CN114693570A (zh) | 一种人体模型图像的融合处理方法、设备和存储介质 | |
Zheng et al. | Image-based clothes changing system | |
CN114202630A (zh) | 一种光照匹配的虚拟试衣方法、设备和存储介质 | |
Shi et al. | Automatic 3D virtual fitting system based on skeleton driving | |
CN114119913A (zh) | 一种人体模型的驱动方法、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |