CN115147324B - 一种人体模型和衣物模型的融合方法及设备 - Google Patents
一种人体模型和衣物模型的融合方法及设备 Download PDFInfo
- Publication number
- CN115147324B CN115147324B CN202210918654.7A CN202210918654A CN115147324B CN 115147324 B CN115147324 B CN 115147324B CN 202210918654 A CN202210918654 A CN 202210918654A CN 115147324 B CN115147324 B CN 115147324B
- Authority
- CN
- China
- Prior art keywords
- model
- vertex
- clothing
- clothes
- human body
- 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.)
- Active
Links
- 238000007500 overflow downdraw method Methods 0.000 title abstract description 11
- 238000000034 method Methods 0.000 claims abstract description 35
- 230000036544 posture Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 14
- 210000000988 bone and bone Anatomy 0.000 claims description 8
- 230000035515 penetration Effects 0.000 abstract description 15
- 238000001514 detection method Methods 0.000 abstract description 14
- 238000004364 calculation method Methods 0.000 abstract description 9
- 230000004927 fusion Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 13
- 230000000694 effects Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 2
- 238000007499 fusion processing Methods 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 210000003414 extremity Anatomy 0.000 description 1
- 210000000245 forearm Anatomy 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- 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
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请涉及VR技术领域,提供一种人体模型和衣物模型的融合方法及设备,将人体模型和衣物模型驱动为预设姿态,使人体模型整体处于一个平面上,提高人体模型的顶点是否被衣物模型遮蔽判断的准确性;判断过程中,针对人体模型的每个顶点,建立垂直于人体模型所在平面且方向相反的两条射线,根据两条射线与衣物模型的相交属性确定顶点是否被衣物模型遮蔽,并删除被遮蔽的顶点后,重新建立人体模型与衣物模型顶点间的拓扑关系,得到融合后的目标模型。由于目标模型的顶点数量更小,能够节省人体动画的计算性能,且将目标模型反向驱动回原始姿态后可直接进行动画,从而解决人体模型和衣物模型的穿模现象,整个过程无需进行碰撞检测,实时性更强。
Description
技术领域
本申请涉及虚拟现实(Virtual Reality,VR)技术领域,提供一种人体模型和衣物模型的融合方法及设备。
背景技术
传统的是三维人体动画过程中,人体模型和衣物模型是独立动画的,这样,人体模型和衣物模型会分开驱动,这样,不可避免的会产生人体模型和衣物模型的穿模现象,即人体模型的部分区域穿透到衣物模型中。穿模现象有悖于人的现实认知,严重影响了模型的真实性。
目前,大多通过人体模型和衣物模型的碰撞检测来解决穿模问题,然而,碰撞检测会极大的消耗计算性能,降低角色动画的性能,进而影响整个系统的实时性。因此,在节约计算性能的情况下,解决三维人体动画过程中人体模型和衣物模型的穿模现象是亟待解决的问题。
发明内容
本申请提供一种人体模型和衣物模型的融合方法及设备,用于提高人体模型和衣物模型融合的真实性。
一方面,本申请提供一种人体模型和衣物模型的融合方法,包括:
根据预设姿态的骨骼动画数据,分别驱动人体模型和衣物模型为预设姿态;
遍历人体模型的每个顶点,确定以所述顶点为原点、垂直于所述人体模型所在的平面且方向相反的两条射线;
根据每个顶点对应的两条射线与所述衣物模型的相交属性,确定相应的顶点是否被所述衣物模型遮蔽;
删除被遮蔽的各个顶点,重新建立所述人体模型与衣物模型顶点间的拓扑关系,得到融合后的目标模型,并将所述目标模型反向驱动回原始姿态。
另一方面,本申请提供一种重建设备,包括处理器、存储器和显示屏,所述显示屏、所述存储器和所述处理器通过总线连接;
所述存储器存储有计算机程序,所述处理器根据所述计算机程序,执行以下操作:
根据预设姿态的骨骼动画数据,分别驱动人体模型和衣物模型为预设姿态;
遍历人体模型的每个顶点,确定以所述顶点为原点、垂直于所述人体模型所在的平面且方向相反的两条射线;
根据每个顶点对应的两条射线与所述衣物模型的相交属性,确定相应的顶点是否被所述衣物模型遮蔽;
删除被遮蔽的各个顶点,重新建立所述人体模型与衣物模型顶点间的拓扑关系,得到融合后的目标模型,并将所述目标模型反向驱动回原始姿态,通过所述显示屏进行显示。
另一方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机设备执行本申请实施例提供的一种人体模型和衣物模型的融合方法。
本申请提供的人体模型和衣物模型的融合方法及设备中,根据预设姿态的骨骼动画数据,分别驱动人体模型和衣物模型为预设姿态,这样,分别使人体模型和衣物模型各自的整体处于一个平面上,提高人体模型的顶点是否被衣物模型遮蔽判断的准确性;在顶点是否被衣物模型遮蔽的判断过程中,针对人体模型的每个顶点,建立垂直于人体模型所在的平面且方向相反的两条射线,通过两条射线与衣物模型的相交属性,确定相应的顶点是否被衣物模型遮蔽,并删除被遮蔽的顶点后,重新建立人体模型与衣物模型顶点间的拓扑关系,得到融合后的目标模型。由于融合后的目标模型的顶点数量小于人体模型和衣物模型这两个独立模型的顶点总数,数据量更小,从而节省了驱动时的计算性能;并且,将目标模型反向驱动回原始姿态后,可直接对目标模型这个整体进行动画,从而解决人体模型和衣物模型的穿模现象,提高人体动画的真实性,整个过程无需进行碰撞检测,实时性更强。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的人体模型和衣物模型的穿模现象示意图;
图2为本申请实施例提供的人体模型的划分方法示意图;
图3为本申请实施例提供的为人体模型添加衣物模型后的效果示意图;
图4为本申请实施例提供的人体模型和衣物模型的融合方法流程图;
图5为本申请实施例提供的人体模型的整体不在一个平面的效果示意图;
图6为本申请实施例提供的去掉人体形态后衣物模型的平面效果图;
图7为本申请实施例提供的人体模型和衣物模型驱动后的效果图;
图8为本申请实施例提供的人体模型的顶点射线投射方式示意图;
图9为本申请实施例提供的确定人体模型的顶点是否被衣物模型遮蔽的方法流程图;
图10为本申请实施例提供的人体模型和衣物模型的截面示意图;
图11为本申请实施例提供的另一人体模型和衣物模型的截面示意图;
图12为本申请实施例提供的删除被遮蔽的人体模型的顶点后的截面示意图;
图13为本申请实施例提供的人体模型和衣物模型的融合后的截面示意图;
图14为本申请实施例提供的另一人体模型和衣物模型的融合后的截面示意图;
图15为本申请实施例提供的人体模型和衣物模型自动融合的完整方法流程图;
图16为本申请实施例提供的重建设备的硬件结构图;
图17为本申请实施例提供的重建设备的功能结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
传统的人体模型和衣物模型独立的角色动画过程中,由于人物和衣物分开驱动,不可避免的会产生人体模型和衣物模型的穿模现象,如图1所示,人体模型的部分区域穿透到衣物模型中。
为了解决穿模这种异常现象,大多数方法会在角色动画过程中对整个角色模型(包括人体模型和衣物模型)进行全局的碰撞检测,其中,碰撞检测方法包括先验检测和后验检测。先验检测是在碰撞发生前进行检测,一般通过预测模型的运动轨迹来避免穿模现象的发生。后验检测是在碰撞发生后进行检测,可在模型运动之后对模型顶点之间的空间关系进行判断,纠正模型顶点位置使其不再穿模。然而,无论哪种碰撞检测方式,往往都需要极大的计算量,这会显著降低角色动画的性能。此外,基于物理的角色驱动方法往往也需要较大的计算量,如果对人体模型和衣物模型分别进行驱动,由于数据量较大,驱动的实时性较差。
目前,解决穿模现象的较佳方法为:预先将人体模型手动划分为若干个独立的模型组件,如图2所示,自动或人为判断每个组件是否全部被衣物模型遮蔽,并根据判断结果,将被遮挡的模型组件删除不作驱动和渲染,以解决穿模问题。但该方法需要进行大量人工预处理,不够智能化,效率较低。
在三维人体动画过程中,为人体模型添加衣物模型后,如图3所示,实际上人体模型的大部分人体区域是被衣物模型遮盖的,人眼无法看到。而这部分被衣物模型遮盖的人体区域的驱动,不仅影响驱动效率,还容易造成人体模型和衣物模型的穿模现象。
鉴于此,本申请实施例提供了一种人体模型和衣物模型的融合方法及设备,通过将被衣物模型遮盖的人体模型部分顶点进行删除,并对部分顶点删除后的剩余人体模型和衣物模型进行自然融合,这样人体模型和衣物模型就成为了一个独立的目标模型,由于融合后的目标模型的顶点数量小于人体模型和衣物模型这两个独立模型的顶点总数,融合后的目标模型的数据量更小,从而节省了驱动时的计算性能;并且,将人体模型和衣物模型自动融合为一个目标模型后,人体模型和衣物模型无需在分开驱动,在人体动画中可直接驱动融合后的目标模型,这样,在不进行碰撞检测的情况下,便可解决人体模型和衣物模型的穿模现象,有效提高人体模型和衣物模型的驱动性能,提高角色动画的真实性。
参见图4,为本申请实施例提供的人体模型和衣物模型的融合方法流程图,该流程主要包括以下几步:
S401:根据预设姿态的骨骼动画数据,分别驱动人体模型和衣物模型为预设姿态。
本申请的实施例中,通过顶点射线的投射方式判断人体模型的顶点是否被衣物模型遮蔽,为保证投射的准确性,该方法要求人体模型整体上应该处于一个平面上,这样,才能更加准确的判断人体模型的顶点是否被衣物模型遮蔽。然而,在实际三维人体动画过程中,人体模型的整体可能并不处于一个平面上。例如,如图5所示,包含添加衣物模型后的人体模型的侧视图(a)和正视图(b),在图5中,当人体模型的手臂部分具有一个前倾的姿势时(在图5中用方框圈出,侧视图效果更佳明显),人体模型整体上没有处于一个平面,这样,就会导致衣物模型的袖口部位遮蔽顶点的判断不准确。
为方便描述人体模型整体不在一个平面对本申请实施例的影响,将图5中人体形态去掉,效果如图6所示,可以发现,在衣物模型袖口内(在图6中用方框圈出),人体模型的部分小臂区域的顶点发射射线后,也不会与衣物模型相交,这样,这部分顶点会被判定为非遮蔽的顶点而保留下来,而实际上这部分顶点是位于衣物模型的袖口内测的,降低了遮蔽顶点判断的准确性。
在人体建模和角色动画领域中,一般会针对人体模型预先创建一些基础的骨骼动画数据,如站立、跑步、走路等动画,通过组合各种骨骼动画数据将模型应用到不同的场景中。因此,为解决上述问题,在判断人体模型的顶点是否被衣物模型遮蔽时,在S401中,可根据预先准备好的预设姿态的骨骼动画数据,将人体模型和衣物模型分别驱动为预设姿态,从而使人体模型整体上处于一个面上,且衣物模型与人体模型的姿态保持一致。
可选的,预设姿态为Tpose姿态。其中,Tpose为常见的基础动画姿势,且骨骼动画数据制作完成后具备一定的通用性,因此,在执行S401时,不会增加较多角色动画的工作量。
如图7所示,(a)为驱动后的人体模型和衣物模型的T pose姿态的侧视图,(b)为驱动后的人体模型和衣物模型的Tpose姿态的正视图,有此可见,驱动后的人体模型的整体处于一个平面上。
在S401中,本申请实施例对驱动算法不做限制性要求,例如,可以采用常见的基于几何的线性混合蒙皮(Linear Blending Skinning,LBS)算法或双四元数蒙皮(DualQuaternion Skinning,DQS)算法,还可以采用基于物理的位置动力学(Position-Base-Dynamic,PBD)算法或快速投影蒙皮(Fast Projective Skinning,FPS)算法。
S402:遍历人体模型的每个顶点,确定以该顶点为原点、垂直于人体模型所在的平面且方向相反的两条射线。
在人体模型和衣物模型的融合过程中,最关键的是确定出人体模型中被衣物模型遮蔽的所有顶点,具体可采用顶点射线的投射方式进行判断。
在S402中,针对人体模型中的每个顶点,以该顶点为原点,发射两条垂直于人体模型所在的平面且方向相反的射线。如图8所示,实心黑点表示人体模型中的顶点,虚线为该顶点对应的两条射线,当射线垂直于人体模型所在的平面时,必垂直与人体模型所在的平面垂直的平面。
S403:根据每个顶点对应的两条射线与衣物模型的相交属性,确定相应的顶点是否被衣物模型遮蔽。
在S403中,针对每个顶点,根据该顶点的两条射线与衣物模型的相交属性,确定该顶点是否被衣物模型遮蔽。
在判断人体模型的顶点是否被衣物模型遮蔽时,如果仅用该顶点对应的射线与衣物模型是否相交来判断遮蔽情况,对于一些特殊情况,则无法准确的判断出来。例如,衣物模型为裙子时,实际上人腿应该是穿过裙子最下侧的,而按照相交判断方法,会得到一个在最下侧封闭的裙子,形状为一个实心的棱台,这与实际情况不符。
为解决上述问题,本申请实施例在判断人体模型的顶点是否被衣物模型遮蔽时,引入了一个设定的距离阈值,当人体模型的顶点到该顶点对应的射线与衣物模型的交点的距离小于距离阈值时,才将该顶点判定为被衣物模型遮蔽的顶点,这样,针对一些特殊的情况(如衣物模型为裙子时),会在衣物模型最下侧靠上的位置处封闭,衣物模型内部的肢体也能在一定程度上得到保留。
具体实施时,以一个顶点为例,该顶点是否被衣物模型遮蔽的判定过程参见图9,主要包括以下几步:
S403_1:确定该顶点的两条射线是否与衣物模型相交,若均相交,执行S4032,若有一条相交,则执行S4036,若均不相交,则执行S40311。
参见图10和图11,为人体模型和衣物模型的两个截面图,在图10和图11中,外层实线表示衣物模型的截面,内层虚线表示人体模型的截面,实心圆点表示人体模型的顶点,虚线箭头为从顶点发出的两条射线,外层实线上的实心三角形表示射线与衣物模型的交点。从图10和图11可知,每个顶点的两条射线与衣物模型的相交属性包括:两条射线均与衣物模型相交,两条射线中的仅有一条射线与衣物模型相交,以及两条射线均未与衣物模型相交。
在S403_1中,根据该顶点的两条射线与衣物模型不同的相交属性,可采用不同的方式确定该顶点是否被衣物模型遮蔽。
S403_2:分别确定该顶点与两条射线和衣物模型的两个交点的第一距离。
在S403_2中,当该顶点的两条射线均与衣物模型相交时(如图10中的C顶点和图11中的E顶点),分别记录这两条射线与衣物模型的交点的三维坐标结合该顶点的三维坐标,分别确定该顶点与两个交点的第一距离。
S403_3:确定最小第一距离是否小于预设距离阈值,若是,执行S403_4,否则,执行S403_5。
在S403_3中,从该顶点与衣物模型的两个交点间的第一距离中选择出最小第一距离,并将最小第一距离与预设距离阈值进行比较,若最小第一距离小于预设距离阈值,表明该顶点可能为遮蔽顶点,若最小第一距离不小于预设距离阈值,表明该顶点可能为非遮蔽顶点。
其中,预设距离阈值可根据实际情况进行设置,本申请不做限制性要求。
S403_4:确定该顶点被衣物模型遮蔽。
例如,如图10的C顶点,该顶点的两条射线均与衣物模型相交,C顶点与右相射线和衣物模型的交点间的第一距离,小于C顶点与左向射线和衣物模型的交点间的第一距离,且C顶点与右相射线和衣物模型的交点间的第一距离小于预设距离阈值,则C顶点被衣物模型遮蔽。
S403_5:确定该顶点未被衣物模型遮蔽。
例如,如图11的E顶点,该顶点的两条射线均与衣物模型相交,E顶点与右相射线和衣物模型的交点间的第一距离,小于E顶点与左向射线和衣物模型的交点间的第一距离,但C顶点与右相射线和衣物模型的交点间的第一距离大于预设距离阈值,则E顶点未被衣物模型遮蔽。
S403_6确定未与衣物模型相交的另一条射线与人体模型是否相交,若是,执行S403_7,否则,执行S403_10。
在S403_6中,当该顶点的两条射线中一条射线与衣物模型相交,而另一条射线未与衣物模型相交时(如图10中的B顶点和D顶点,以及图11中的F顶点),记录一条射线与衣物模型的交点的三维坐标,并确定与衣物模型未相交的另一条射线与人体模型的相交关系,并根据该相交关系进一步判断该顶点是否被衣物模型遮蔽。
S403_7:确定该顶点与一条射线和衣物模型的交点间的第二距离。
在S403_7中,当与衣物模型未相交的另一条射线与人体模型的相交关系为相交时,即与衣物模型未相交的另一条射线与人体模型存在交点(顶点自身不算交点),根据记录的一条射线与衣物模型的交点的三维坐标,结合该定点的三维坐标,确定该顶点与一条射线和衣物模型的交点间的第二距离。
S403_8确定第二距离是否小于预设距离阈值,若是执行S403_9,否则执行S403_10。
在S403_8中,将第二距离与预设距离阈值进行比较,若第二距离小于预设距离阈值,表明该顶点可能为遮蔽顶点,若第二距离不小于预设距离阈值,表明该顶点可能为非遮蔽顶点。
S403_9:确定该顶点被衣物模型遮蔽。
例如,如图10的B顶点,该顶点的右向射线与衣物模型相交,左向射线与衣物模型不相交,且B顶点的左相射线与人体模型相交,B顶点与右向射线和衣物模型的交点间的第二距离小于预设距离阈值,则B顶点被衣物模型遮蔽。
S403_10:确定该顶点未被衣物模型遮蔽。
例如,如图11的F顶点,该顶点的右向射线与衣物模型相交,左向射线与衣物模型不相交,且F顶点的左相射线与人体模型相交,F顶点与右向射线和衣物模型的交点间的第二距离大于预设距离阈值,则F顶点未被衣物模型遮蔽。
在本申请的实施例中,当两条射线中一条与衣物模型相交,而另一条射线与衣物模型不相交,且与人体模型的相交关系为不相交时,无需计算第二距离,可直接确定该顶点未被衣物模型遮蔽。
例如,如图10的D顶点,该顶点的右向射线与衣物模型不相交,左向射线与衣物模型相交,且D顶点的右相射线与人体模型不相交,则D顶点未被衣物模型遮蔽。
S403_11:确定该顶点未被衣物模型遮蔽。
例如,如图8中的A顶点,A顶点的右相射线和左向射线与衣物模型均不相交,则确定A顶点未被衣物模型遮蔽。
S404:删除被遮蔽的各个顶点,重新建立人体模型与衣物模型顶点间的拓扑关系,得到融合后的目标模型,并将目标模型反向驱动回原始姿态。
参见图12,为删除图10中被衣物模型遮蔽的顶点后的效果图。
在S404中,被衣物模型遮蔽的顶点不会被人眼看到,因此,可将被衣物模型遮蔽的各个顶点删除,减少模型的数据量,从而节省了驱动时的计算性能。
删除被衣物模型遮蔽的各个顶点后,重新建立人体模型的剩余顶点与衣物模型的所有顶点间的拓扑关系,使衣物模型的所有顶点和人体模型中未被遮蔽的顶点重新组织为一个独立且完整的目标模型,如图13和图14所示。为了与真实姿态相匹配,得到目标模型后,按照标准Tpose动画,将目标模型反向驱动回原始姿态。通过将人体模型和衣物模型自动融合为一个目标模型,在人体动画中可直接驱动融合后的目标模型,无需分开驱动人体模型和衣物模型,从而在不进行碰撞检测的情况下,解决人体动画中人体模型和衣物模型的穿模现象,提高角色动画的真实性。
本申请实施例中人体模型和衣物模型完整的自动融合过程参见图15,主要包括以下几步:
S1501:根据Tpose的骨骼动画数据,驱动人体模型和衣物模型为Tpose姿态。
S1502:针对人体模型的每个顶点,确定以该顶点为原点、垂直于人体模型所在的平面且方向相反的两条射线。
S1503确定两条射线与衣物模型是否相交,若相交执行S1504,若不相交执行S1511。
S1504:记录射线与衣物模型交点的三维坐标。
S1505确定两条射线与衣物模型是否均有交点,若是执行S1506,若否则执行S1507。
S1506:分别计算该顶点与两个交点间的距离,并选择出最小的一个距离。
S1507:确定与衣物模型没有交点的射线是否与人体模型相交,若相交,执行S1508,若不相交,执行S1511。
S1508:计算该顶点与射线和衣物模型的一个交点间的距离。
S1509:确定距离是否小于预设距离阈值,若是,执行S1510,否则,执行S1511。
S1510:该顶点为被衣物模型遮蔽的顶点。
S1511:该顶点为未被衣物模型遮蔽的顶点。
S1512:确定是否遍历人体模型的所有顶点,若是,执行S1513,否则返回S1502。
S1513:删除被衣物模型遮蔽的人体模型的各个顶点。
S1514:重新建立衣物模型的所有顶点和人体模型的剩余顶点间的拓扑关系,得到融合后的目标模型。
S1515:将目标模型从T pose姿态反向驱动回原始姿态。
本申请提供的人体模型和衣物模型的融合方法中,衣物模型和人体模型融合的关键在于找出人体模型中被衣物模型遮蔽的顶点,通过将人体模型和衣物模型驱动为预设姿态,这样,分别使人体模型和衣物模型各自的整体处于一个平面上,从而提高人体模型的顶点是否被衣物模型遮蔽判断的准确性。在判断顶点是否被衣物模型遮蔽的过程中,采用顶点射线投射方式,针对人体模型的每个顶点,建立垂直于人体模型所在的平面且方向相反的两条射线,根据两条射线与衣物模型的相交情况,从而确定该顶点是否被衣物模型遮蔽,且在两条射线与衣物模型相交时,引入预设距离阈值进行一步判断该顶点是否被衣物模型遮蔽,进一步提高遮蔽判断的准确性。通过删除被遮蔽的顶点,重新建立人体模型与衣物模型顶点间的拓扑关系,得到融合后的目标模型,由于融合后的目标模型的顶点数量小于人体模型和衣物模型这两个独立模型的顶点总数,数据量更小,从而节省了驱动时的计算性能;且将目标模型反向驱动回原始姿态后,可直接对目标模型这个整体进行动画,无需在将人体模型和衣物模型分开驱动,从而解决人体模型和衣物模型的穿模现象,提高人体动画的真实性,整个过程无需进行碰撞检测,实时性更强。
基于相同的技术构思,本申请实施例提供一种重建设备,该重建设备可以是具有数据处理能力的笔记本电脑、台式计算机、智能手机、平板、VR眼镜、AR眼镜等客户端,重建设备可实现上述实施例中人体模型和衣物模型的融合方法的步骤,且能达到相同的技术效果。
参见图16该重建设备包括处理器1601、存储器1602和显示屏1603,所述显示屏1603、所述存储器1602和所述处理器1601通过总线1604连接;
所述存储器1602存储有计算机程序,所述处理器1601根据所述计算机程序,执行以下操作:
根据预设姿态的骨骼动画数据,分别驱动人体模型和衣物模型为预设姿态;
遍历人体模型的每个顶点,确定以所述顶点为原点、垂直于所述人体模型所在的平面且方向相反的两条射线;
根据每个顶点对应的两条射线与所述衣物模型的相交属性,确定相应的顶点是否被所述衣物模型遮蔽;
删除被遮蔽的各个顶点,重新建立所述人体模型与衣物模型顶点间的拓扑关系,得到融合后的目标模型,并将所述目标模型反向驱动回原始姿态,通过所述显示屏1603进行显示。
可选的,所述处理器1601根据每个顶点对应的两条射线与所述衣物模型的相交属性,确定相应的顶点是否被所述衣物模型遮蔽,具体操作为:
针对每个顶点,执行以下操作:
若所述顶点的两条射线均与所述衣物模型不相交,则确定所述顶点未被所述衣物模型遮蔽;
若所述顶点的两条射线均与所述衣物模型相交,则根据所述顶点分别与两条射线和所述衣物模型的两个交点的第一距离,确定所述顶点是否被所述衣物模型遮蔽;
若所述顶点的两条射线中一条射线与所述衣物模型相交,则根据未与所述衣物模型相交的另一条射线与所述人体模型的相交关系,确定所述顶点是否被所述衣物模型遮蔽。
可选的,所述处理器1601根据所述顶点分别与两条射线和所述衣物模型的两个交点的第一距离,确定所述顶点是否被所述衣物模型遮蔽,具体操作为:
确定所述顶点分别与两条射线和所述衣物模型的两个交点间的最小第一距离;
若所述最小第一距离小于预设距离阈值,则确定所述顶点被所述衣物模型遮蔽;
若所述最小第一距离不小于所述预设距离阈值,则确定所述顶点未被所述衣物模型遮蔽。
可选的,所述处理器1601根据未与所述衣物模型相交的另一条射线与所述人体模型的相交关系,确定所述顶点是否被所述衣物模型遮蔽,具体操作为:
当所述另一条射线与所述人体模型相交时,确定所述顶点与所述一条射线和所述衣物模型的交点间的第二距离,若所述第二距离小于预设距离阈值,则确定所述顶点被所述衣物模型遮蔽,否则,确定所述顶点未被所述衣物模型遮蔽;
当所述另一条射线与所述人体模型不相交时,确定所述顶点未被所述衣物模型遮蔽。
可选的,所述预设姿态为Tpose姿态。
需要说明的是,图16仅是一种示例,给出重建设备实现本申请实施例提供的人体模型和衣物模型的融合方法步骤所必要的硬件。
本申请实施例图16中涉及的处理器可以是中央处理器(Central ProcessingUnit,CPU),通用处理器,图形处理器(Graphics Processing Unit,GPU)数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-specific IntegratedCircuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。
参见图17,为本申请实施例提供的重建设备的功能结构图,该重建设备主要包括驱动模块1701、投射模块1702、判断模块1703、融合模块1704,其中:
驱动模块1701,用于根据预设姿态的骨骼动画数据,分别驱动人体模型和衣物模型为预设姿态;
投射模块1702,用于遍历人体模型的每个顶点,确定以所述顶点为原点、垂直于所述人体模型所在的平面且方向相反的两条射线;
判断模块1703,用于根据每个顶点对应的两条射线与所述衣物模型的相交属性,确定相应的顶点是否被所述衣物模型遮蔽;
融合模块1704,用于删除被遮蔽的各个顶点,重新建立所述人体模型与衣物模型顶点间的拓扑关系,得到融合后的目标模型,并将所述目标模型反向驱动回原始姿态。
上述各功能模块的具体实现参见前述实施例,在此不再重复描述。
本申请实施例还提供一种计算机可读存储介质,用于存储一些指令,这些指令被执行时,可以完成前述实施例中一种人体模型和衣物模型的融合方法。
本申请实施例还提供一种计算机程序产品,用于存储计算机程序,该计算机程序用于执行前述实施例中一种人体模型和衣物模型的融合方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种人体模型和衣物模型的融合方法,其特征在于,包括:
根据预设姿态的骨骼动画数据,分别驱动人体模型和衣物模型为预设姿态;
遍历人体模型的每个顶点,确定以所述顶点为原点、垂直于所述人体模型所在的平面且方向相反的两条射线;
根据每个顶点对应的两条射线与所述衣物模型的相交属性,确定相应的顶点是否被所述衣物模型遮蔽;
删除被遮蔽的各个顶点,重新建立所述人体模型与衣物模型顶点间的拓扑关系,得到融合后的目标模型,并将所述目标模型反向驱动回原始姿态。
2.如权利要求1所述的方法,其特征在于,所述根据每个顶点对应的两条射线与所述衣物模型的相交属性,确定相应的顶点是否被所述衣物模型遮蔽,包括:
针对每个顶点,执行以下操作:
若所述顶点的两条射线均与所述衣物模型不相交,则确定所述顶点未被所述衣物模型遮蔽;
若所述顶点的两条射线均与所述衣物模型相交,则根据所述顶点分别与两条射线和所述衣物模型的两个交点的第一距离,确定所述顶点是否被所述衣物模型遮蔽;
若所述顶点的两条射线中一条射线与所述衣物模型相交,则根据未与所述衣物模型相交的另一条射线与所述人体模型的相交关系,确定所述顶点是否被所述衣物模型遮蔽。
3.如权利要求2所述的方法,其特征在于,所述根据所述顶点分别与两条射线和所述衣物模型的两个交点的第一距离,确定所述顶点是否被所述衣物模型遮蔽,包括:
确定所述顶点分别与两条射线和所述衣物模型的两个交点间的最小第一距离;
若所述最小第一距离小于预设距离阈值,则确定所述顶点被所述衣物模型遮蔽;
若所述最小第一距离不小于所述预设距离阈值,则确定所述顶点未被所述衣物模型遮蔽。
4.如权利要求2所述的方法,其特征在于,所述根据未与所述衣物模型相交的另一条射线与所述人体模型的相交关系,确定所述顶点是否被所述衣物模型遮蔽,包括:
当所述另一条射线与所述人体模型相交时,确定所述顶点与所述一条射线和所述衣物模型的交点间的第二距离,若所述第二距离小于预设距离阈值,则确定所述顶点被所述衣物模型遮蔽,否则,确定所述顶点未被所述衣物模型遮蔽;
当所述另一条射线与所述人体模型不相交时,确定所述顶点未被所述衣物模型遮蔽。
5.如权利要求1-4中任一项所述的方法,其特征在于,所述预设姿态为Tpose姿态。
6.一种重建设备,其特征在于,包括处理器、存储器和显示屏,所述显示屏、所述存储器和所述处理器通过总线连接;
所述存储器存储有计算机程序,所述处理器根据所述计算机程序,执行以下操作:
根据预设姿态的骨骼动画数据,分别驱动人体模型和衣物模型为预设姿态;
遍历人体模型的每个顶点,确定以所述顶点为原点、垂直于所述人体模型所在的平面且方向相反的两条射线;
根据每个顶点对应的两条射线与所述衣物模型的相交属性,确定相应的顶点是否被所述衣物模型遮蔽;
删除被遮蔽的各个顶点,重新建立所述人体模型与衣物模型顶点间的拓扑关系,得到融合后的目标模型,并将所述目标模型反向驱动回原始姿态,通过所述显示屏进行显示。
7.如权利要求6所述的重建设备,其特征在于,所述处理器根据每个顶点对应的两条射线与所述衣物模型的相交属性,确定相应的顶点是否被所述衣物模型遮蔽,具体操作为:
针对每个顶点,执行以下操作:
若所述顶点的两条射线均与所述衣物模型不相交,则确定所述顶点未被所述衣物模型遮蔽;
若所述顶点的两条射线均与所述衣物模型相交,则根据所述顶点分别与两条射线和所述衣物模型的两个交点的第一距离,确定所述顶点是否被所述衣物模型遮蔽;
若所述顶点的两条射线中一条射线与所述衣物模型相交,则根据未与所述衣物模型相交的另一条射线与所述人体模型的相交关系,确定所述顶点是否被所述衣物模型遮蔽。
8.如权利要求7所述的重建设备,其特征在于,所述处理器根据所述顶点分别与两条射线和所述衣物模型的两个交点的第一距离,确定所述顶点是否被所述衣物模型遮蔽,具体操作为:
确定所述顶点分别与两条射线和所述衣物模型的两个交点间的最小第一距离;
若所述最小第一距离小于预设距离阈值,则确定所述顶点被所述衣物模型遮蔽;
若所述最小第一距离不小于所述预设距离阈值,则确定所述顶点未被所述衣物模型遮蔽。
9.如权利要求7所述的重建设备,其特征在于,所述处理器根据未与所述衣物模型相交的另一条射线与所述人体模型的相交关系,确定所述顶点是否被所述衣物模型遮蔽,具体操作为:
当所述另一条射线与所述人体模型相交时,确定所述顶点与所述一条射线和所述衣物模型的交点间的第二距离,若所述第二距离小于预设距离阈值,则确定所述顶点被所述衣物模型遮蔽,否则,确定所述顶点未被所述衣物模型遮蔽;
当所述另一条射线与所述人体模型不相交时,确定所述顶点未被所述衣物模型遮蔽。
10.如权利要求6-9中任一项所述的重建设备,其特征在于,所述预设姿态为Tpose姿态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210918654.7A CN115147324B (zh) | 2022-08-01 | 2022-08-01 | 一种人体模型和衣物模型的融合方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210918654.7A CN115147324B (zh) | 2022-08-01 | 2022-08-01 | 一种人体模型和衣物模型的融合方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115147324A CN115147324A (zh) | 2022-10-04 |
CN115147324B true CN115147324B (zh) | 2024-03-22 |
Family
ID=83413733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210918654.7A Active CN115147324B (zh) | 2022-08-01 | 2022-08-01 | 一种人体模型和衣物模型的融合方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115147324B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109427007A (zh) * | 2018-09-17 | 2019-03-05 | 叠境数字科技(上海)有限公司 | 基于多视角的虚拟试衣方法 |
CN113610960A (zh) * | 2021-07-19 | 2021-11-05 | 福建凯米网络科技有限公司 | 一种三维模型合并时防穿模的方法、装置及存储介质 |
CN114119907A (zh) * | 2020-08-27 | 2022-03-01 | 北京陌陌信息技术有限公司 | 一种人体模型的拟合方法、设备和存储介质 |
CN114758213A (zh) * | 2020-12-28 | 2022-07-15 | 北京陌陌信息技术有限公司 | 一种服装模型的布料解算方法、设备和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102543605B1 (ko) * | 2020-11-16 | 2023-06-20 | (주)클로버추얼패션 | 온라인 피팅 방법 및 장치 |
US11544884B2 (en) * | 2020-12-11 | 2023-01-03 | Snap Inc. | Virtual clothing try-on |
-
2022
- 2022-08-01 CN CN202210918654.7A patent/CN115147324B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109427007A (zh) * | 2018-09-17 | 2019-03-05 | 叠境数字科技(上海)有限公司 | 基于多视角的虚拟试衣方法 |
CN114119907A (zh) * | 2020-08-27 | 2022-03-01 | 北京陌陌信息技术有限公司 | 一种人体模型的拟合方法、设备和存储介质 |
CN114758213A (zh) * | 2020-12-28 | 2022-07-15 | 北京陌陌信息技术有限公司 | 一种服装模型的布料解算方法、设备和存储介质 |
CN113610960A (zh) * | 2021-07-19 | 2021-11-05 | 福建凯米网络科技有限公司 | 一种三维模型合并时防穿模的方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115147324A (zh) | 2022-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bares et al. | Virtual 3D camera composition from frame constraints | |
Rossignac et al. | Interactive inspection of solids: cross-sections and interferences | |
US5894308A (en) | Interactively reducing polygon count in three-dimensional graphic objects | |
EP2051533B1 (en) | 3D image rendering apparatus and method | |
US10825223B2 (en) | Mixed reality animation | |
Kim et al. | Six-degree-of-freedom haptic rendering using incremental and localized computations | |
CN105979360A (zh) | 一种渲染图像的处理方法及装置 | |
WO1999026198A2 (en) | System and method for merging objects into an image sequence without prior knowledge of the scene in the image sequence | |
US9978176B2 (en) | Simplifying small mesh components with redundant backs | |
Garg et al. | Computational design of reconfigurables. | |
Bénard et al. | Computing smooth surface contours with accurate topology | |
WO2022048468A1 (zh) | 平面轮廓识别方法、装置、计算机设备和存储介质 | |
CN102799435B (zh) | 一种3d控件交互方法及系统 | |
Leão et al. | Altered reality: Augmenting and diminishing reality in real time | |
Mustafa et al. | Multi-person implicit reconstruction from a single image | |
CN115147324B (zh) | 一种人体模型和衣物模型的融合方法及设备 | |
JP7078564B2 (ja) | 画像処理装置及びプログラム | |
CN112712044A (zh) | 人脸追踪方法、装置、电子设备和存储介质 | |
US11217016B1 (en) | Systems and methods for generating a proxy mesh for an artist-authored mesh using conformed smoothing | |
Jovane et al. | Topology-aware camera control for real-time applications | |
CN116670719A (zh) | 一种图形处理方法、装置及电子设备 | |
US11354861B1 (en) | Systems and methods for generating a proxy mesh for a polygonal mesh that includes sub-meshes | |
JPS625482A (ja) | 三次元ワイヤ−フレ−ムモデルの隠線処理方法 | |
Grabner | Smooth high-quality interactive visualization | |
US20140118342A1 (en) | Information processing apparatus and drawing method |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |