CN112634418B - 一种人体模型穿模可见性检测方法、装置及电子设备 - Google Patents
一种人体模型穿模可见性检测方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112634418B CN112634418B CN202011610252.8A CN202011610252A CN112634418B CN 112634418 B CN112634418 B CN 112634418B CN 202011610252 A CN202011610252 A CN 202011610252A CN 112634418 B CN112634418 B CN 112634418B
- Authority
- CN
- China
- Prior art keywords
- human body
- vertex
- model
- frame
- body model
- 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
- 230000000149 penetrating effect Effects 0.000 title claims abstract description 52
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000000007 visual effect Effects 0.000 claims abstract description 27
- 230000033001 locomotion Effects 0.000 claims abstract description 20
- 230000009471 action Effects 0.000 claims description 46
- 210000000689 upper leg Anatomy 0.000 claims description 24
- 238000004891 communication Methods 0.000 claims description 18
- 244000309466 calf Species 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 12
- 210000000245 forearm Anatomy 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 3
- 238000012937 correction Methods 0.000 abstract description 16
- 230000035515 penetration Effects 0.000 description 15
- 210000002414 leg Anatomy 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 210000003414 extremity Anatomy 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- 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
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例提供了一种人体模型穿模可见性检测方法、装置及电子设备,上述方法包括:针对每一帧三维网格,获取该帧穿模三维网格对应的人体模型的各个三角形的各个顶点的坐标数据;以及,将该帧三维网格对应的人体模型穿模区域的所有三角形的顶点确定为穿模顶点;获取摄像机的坐标数据;针对每个穿模顶点,基于该穿模顶点的坐标数据、摄像机的坐标数据和人体模型的各个三角形的各个顶点的坐标数据,确定该穿模顶点与人体模型的各个三角形之间的遮挡关系;若该帧三维网格对应的人体模型中所有穿模顶点均在摄像机的视角不可见,则确定该帧三维网格对应的该帧动作姿态下的人体模型的穿模不可见。采用上述方法,降低了对人体模型穿模修正的人工消耗。
Description
技术领域
本发明涉及图像处理技术领域,特别是涉及一种人体模型穿模可见性检测方法、装置及电子设备。
背景技术
目前,由于在动画制作以及电影特效中对于3D虚拟人物的应用越来越广泛,3D虚拟人物的制作也越来越重要。目前,3D虚拟人物的制作主要包括:通过动作捕捉技术捕捉目标人物的各种动作,然后将所捕捉到的动作迁移到指定的3D人体模型上,驱动3D人体模型做出各种动作。但是在将所捕捉到的动作迁移到指定的3D人体模型的过程中存在很多问题,比如由于目标人物和需要驱动的3D人体模型的身材不一样,可能导致驱动3D人体模型做出一些不符合物理原理的动作,例如,如图1所示,可能导致驱动的3D人体模型110把手101伸入肢体102内部。这种驱动3D人体模型做出一些不符合物理原理的动作的情况被称为“穿模”。
目前当检测到人体模型存在穿模问题时,主要是通过人工修正的方式对人体模型的穿模进行修正。然而,通过人工对人体模型的穿模进行逐帧修正,这种方式人工消耗巨大。因此,如何降低对人体模型穿模修正中的人工消耗成为了一个亟待解决的问题。
发明内容
本发明实施例的目的在于提供一种人体模型穿模可见性检测方法、装置及电子设备,以降低对人体模型穿模修正中的人工消耗。
为了达到上述目的,本发明实施例提供了一种人体模型穿模可见性检测方法,包括:
针对每一帧三维网格,获取该帧三维网格对应的人体模型的各个三角形的各个顶点的坐标数据;以及,将该帧三维网格对应的人体模型的穿模区域的所有三角形的顶点确定为穿模顶点;其中,人体模型的蒙皮由多个三角形拼接形成;每帧三维网格对应该帧动作姿态下的人体模型,每帧三维网格包括:该帧动作姿态下的人体模型的蒙皮信息;
获取摄像机的坐标数据;所述摄像机用于固定人体模型的显示角度;
针对每个穿模顶点,基于该穿模顶点的坐标数据、摄像机的坐标数据和人体模型的各个三角形的各个顶点的坐标数据,确定该穿模顶点与人体模型的各个三角形之间的遮挡关系;若该穿模顶点被人体模型的至少一个三角形遮挡,则表示该穿模顶点在摄像机的视角不可见;
若该帧三维网格对应的人体模型中所有穿模顶点均在摄像机的视角不可见,则确定该帧三维网格对应的该帧动作姿态下的人体模型的穿模不可见。
进一步的,在所述针对每个穿模顶点,基于该穿模顶点的坐标数据、摄像机的坐标数据和人体模型的各个三角形的各个顶点的坐标数据,确定该穿模顶点与人体模型的各个三角形之间的遮挡关系之后,还包括:
若该帧三维网格对应的人体模型中存在至少一个穿模顶点在摄像机的视角可见,则确定该帧三维网格对应的该帧动作姿态下的人体模型的穿模可见。
进一步的,所述获取该帧三维网格对应的人体模型的各个三角形的各个顶点的坐标数据,包括:
针对原始人体模型,获取该帧三维网格对应的原始人体模型的各个三角形的各个顶点的坐标数据;或者,
针对基于原始人体模型进行简化后的人体模型,获取该帧三维网格对应的简化后的人体模型的各个三角形的各个顶点的坐标数据;或者,
针对处于T-Pose(T字母姿势)动作姿态下的人体模型的多个预设部位对应的多个预设区域,获取该帧三维网格对应的处于T-Pose动作姿态下的人体模型的多个预设区域所包括的多个三角形的各个顶点的坐标数据;人体模型的每个预设部位对应一个预设区域,人体模型的每个预设部位对应的预设区域为基于该预设部位的两个指定人体关节点所确定的区域,且预设区域包括该预设部位的两个指定人体关节点;人体模型包括多个关节点;处于T-Pose动作姿态下的人体模型的多个预设部位包括:左小手臂、右小手臂、左大手臂、右大手臂、左小腿部、右小腿部、左大腿部和右大腿部。
进一步的,所述针对每个穿模顶点,基于该穿模顶点的坐标数据、摄像机的坐标数据和人体模型的各个三角形的各个顶点的坐标数据,确定该穿模顶点与人体模型的各个三角形之间的遮挡关系,包括:
基于人体模型的各个三角形的各个顶点的坐标数据,计算每个三角形的法向量;
针对每个穿模顶点,基于该穿模顶点的坐标数据、摄像机的坐标数据和人体模型的各个三角形的法向量,采用如下公式确定该穿模顶点与人体模型的各个三角形之间的遮挡关系:
其中,A、B和C为人体模型的三角形ABC的三个顶点,为三角形ABC的法向量;I为穿模顶点,S为摄像机的空间坐标,P为向量/>与三角形ABC所在平面的交点,λ为常数参数;
若且/>与/>方向相反,则确定穿模顶点P被人体模型的三角形ABC遮挡。
为了达到上述目的,本发明实施例还提供了一种人体模型穿模可见性检测装置,包括:
第一数据获取模块,用于针对每一帧三维网格,获取该帧三维网格对应的人体模型的各个三角形的各个顶点的坐标数据;以及,将该帧三维网格对应的人体模型的穿模区域的所有三角形的顶点确定为穿模顶点;其中,人体模型的蒙皮由多个三角形拼接形成;每帧三维网格对应该帧动作姿态下的人体模型,每帧三维网格包括:该帧动作姿态下的人体模型的蒙皮信息;
第二数据获取模块,用于获取摄像机的坐标数据;所述摄像机用于固定人体模型的显示角度;
遮挡关系确定模块,用于针对每个穿模顶点,基于该穿模顶点的坐标数据、摄像机的坐标数据和人体模型的各个三角形的各个顶点的坐标数据,确定该穿模顶点与人体模型的各个三角形之间的遮挡关系;若该穿模顶点被人体模型的至少一个三角形遮挡,则表示该穿模顶点在摄像机的视角不可见;
穿模可见性确定模块,用于若该帧三维网格对应的人体模型中所有穿模顶点均在摄像机的视角不可见,则确定该帧三维网格对应的该帧动作姿态下的人体模型的穿模不可见。
进一步的,所述穿模可见性确定模块,还用于若该帧三维网格对应的人体模型中存在至少一个穿模顶点在摄像机的视角可见,则确定该帧三维网格对应的该帧动作姿态下的人体模型的穿模可见。
进一步的,所述第一数据获取模块,具体用于针对原始人体模型,获取该帧三维网格对应的原始人体模型的各个三角形的各个顶点的坐标数据;或者,针对基于原始人体模型进行简化后的人体模型,获取该帧三维网格对应的简化后的人体模型的各个三角形的各个顶点的坐标数据;或者,针对处于T-Pose(T字母姿势)动作姿态下的人体模型的多个预设部位对应的多个预设区域,获取该帧三维网格对应的处于T-Pose动作姿态下的人体模型的多个预设区域所包括的多个三角形的各个顶点的坐标数据;人体模型的每个预设部位对应一个预设区域,人体模型的每个预设部位对应的预设区域为基于该预设部位的两个指定人体关节点所确定的区域,且预设区域包括该预设部位的两个指定人体关节点;人体模型包括多个关节点;处于T-Pose动作姿态下的人体模型的多个预设部位包括:左小手臂、右小手臂、左大手臂、右大手臂、左小腿部、右小腿部、左大腿部和右大腿部。
进一步的,所述遮挡关系确定模块,具体用于基于人体模型的各个三角形的各个顶点的坐标数据,计算每个三角形的法向量;针对每个穿模顶点,基于该穿模顶点的坐标数据、摄像机的坐标数据和人体模型的各个三角形的法向量,采用如下公式确定该穿模顶点与人体模型的各个三角形之间的遮挡关系:
其中,A、B和C为人体模型的三角形ABC的三个顶点,为三角形ABC的法向量;I为穿模顶点,S为摄像机的空间坐标,P为向量/>与三角形ABC所在平面的交点,λ为常数参数;若且/>与/>方向相反,则确定穿模顶点P被人体模型的三角形ABC遮挡。
为了达到上述目的,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述人体模型穿模可见性检测方法步骤。
为了达到上述目的,本发明实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述人体模型穿模可见性检测方法步骤。
为了达到上述目的,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述人体模型穿模可见性检测方法步骤。
采用本发明实施例提供的方法,针对每一帧三维网格,获取该帧三维网格对应的人体模型的各个三角形的各个顶点的坐标数据;以及,将该帧三维网格对应的人体模型的穿模区域的所有三角形的顶点确定为穿模顶点;获取摄像机的坐标数据;所述摄像机用于固定人体模型的显示角度;针对每个穿模顶点,基于该穿模顶点的坐标数据、摄像机的坐标数据和人体模型的各个三角形的各个顶点的坐标数据,确定该穿模顶点与人体模型的各个三角形之间的遮挡关系;若该穿模顶点被人体模型的至少一个三角形遮挡,则表示该穿模顶点在摄像机的视角不可见;若该帧三维网格对应的人体模型中所有穿模顶点均在摄像机的视角不可见,则确定该帧三维网格对应的该帧动作姿态下的人体模型的穿模不可见。即通过检测每帧三维网格对应的人体模型的穿模部位是否被遮挡,若穿模部位被遮挡,即穿模部位在摄像机的视角不可见,也就是说穿模部位并不影响模型的展示,因此可以免去对穿模部位不可见的人体模型的穿模修正,因此可以降低对人体模型穿模修正中的人工消耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为发生穿模现象的人体模型示意图;
图2为本发明实施例提供的人体模型穿模可见性检测方法的一种流程图;
图3为以三维网格形式表示的人体模型的一种示意图;
图4为以三维网格形式表示的人体模型的另一种示意图;
图5为人体模型的穿模区域的示意图;
图6为两种视角的人体模型的示意图;
图7为穿模顶点被人体模型的三角形遮挡的示意图;
图8为本发明实施例提供的人体模型穿模可见性检测装置的一种结构图;
图9为本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
由于现有的通过人工对每一帧图像中人体模型的穿模进行修正的方式人工消耗巨大,为了降低对人体模型穿模修正中的人工消耗,本发明实施例提供了一种人体模型穿模可见性检测方法、装置及电子设备。
参见图2,图2为人体模型穿模可见性检测方法的一种流程,包括:
步骤201,针对每一帧三维网格,获取该帧三维网格对应的人体模型的各个三角形的各个顶点的坐标数据;以及,将该帧三维网格对应的人体模型的穿模区域的所有三角形的顶点确定为穿模顶点。
本发明实施例中,人体模型的蒙皮由多个三角形拼接形成;每帧三维网格对应该帧动作姿态下的人体模型,每帧三维网格包括:该帧动作姿态下的人体模型的蒙皮信息。
参见图3,图3中人体模型301、人体模型302和人体模型303均处于T-Pose(T字母姿态)动作姿态下。且图3中人体模型301、人体模型302和人体模型303蒙皮均由多个三角形拼接形成。
本发明实施例中,针对人体模型的每帧姿态动作,可以获取该帧动作姿态下的人体模型的蒙皮中所有的三角形信息,作为该帧动作姿态下的人体模型对应的一帧三维网格。举例说明,本步骤中,可以获取图3中人体模型301蒙皮的多个三角形,作为处于T-Pose(T字母姿态)动作姿态下的人体模型301对应的一帧三维网格。
具体的,本发明实施例中,针对每帧三维网格,可以获取该帧三维网格对应的该帧动作姿态下的原始人体模型的蒙皮的各个三角形的各个顶点的坐标数据;也可以针对基于原始人体模型简化后的人体模型,获取该帧三维网格对应的该帧动作姿态下的简化后的人体模型的蒙皮的各个三角形的各个顶点的坐标数据。参见图3,人体模型301、人体模型302和人体模型303的蒙皮均由多个三角形拼接形成。其中,人体模型301为蒙皮由4万个三角形构成的原始人体模型,人体模型302为:基于原始人体模型301简化后,由1万个三角形拼接形成蒙皮的简化后的人体模型;人体模型303为:基于原始人体模型301简化后,由5千万个三角形拼接形成蒙皮的简化后的人体模型。
本发明实施例中也可以针对处于T-Pose(T字母姿势)动作姿态下的人体模型的多个预设部位对应的多个预设区域,获取该帧三维网格对应的处于T-Pose动作姿态下的人体模型的多个预设区域所包括的多个三角形的各个顶点的坐标数据;人体模型的每个预设部位对应一个预设区域,人体模型的每个预设部位对应的预设区域为基于该预设部位的两个指定人体关节点所确定的区域,且预设区域包括该预设部位的两个指定人体关节点;人体模型包括多个关节点;处于T-Pose动作姿态下的人体模型的多个预设部位包括:左小手臂、右小手臂、左大手臂、右大手臂、左小腿部、右小腿部、左大腿部和右大腿部。具体的,参见图4,可以获取人体模型的左小手臂对应的预设区域401所包括的人体模型中多个三角形的各个顶点的坐标数据、左大手臂对应的预设区域402所包括的人体模型中多个三角形的各个顶点的坐标数据、右小手臂对应的预设区域403所包括的人体模型中多个三角形的各个顶点的坐标数据、右大手臂对应的预设区域404所包括的人体模型中多个三角形的各个顶点的坐标数据、左小腿部对应的预设区域405所包括的人体模型中多个三角形的各个顶点的坐标数据、左大腿部对应的预设区域406所包括的人体模型中多个三角形的各个顶点的坐标数据、右小腿部对应的预设区域407所包括的人体模型中多个三角形的各个顶点的坐标数据、右大腿部对应的预设区域408所包括的人体模型中多个三角形的各个顶点的坐标数据。
本发明实施例中,还可以针对每帧三维网格,将该帧三维网格对应的人体模型的穿模区域的所有三角形的顶点确定为穿模顶点。例如,参见图5,可以针对人体模型510中的穿模区域501,将穿模区域501中的所有三角形的顶点确定为穿模顶点。
步骤202,获取摄像机的坐标数据;摄像机用于固定人体模型的显示角度。
其中,摄像机所固定人体模型的显示角度可以认为是观众看到人体模型的视角。举例说明,参见图6,图6中左侧的人体模型610和右侧的人体模型610处于不同的摄像机的显示角度下,并且,左侧的人体模型610在摄像机的显示角度下可以看到人体模型610的穿模区域601,右侧的人体模型610在摄像机的显示角度下看不到人体模型610的穿模区域。
步骤203,针对每个穿模顶点,基于该穿模顶点的坐标数据、摄像机的坐标数据和人体模型的各个三角形的各个顶点的坐标数据,确定该穿模顶点与人体模型的各个三角形之间的遮挡关系;若该穿模顶点被人体模型的至少一个三角形遮挡,则表示该穿模顶点在摄像机的视角不可见。
具体的,本发明实施例中,确定穿模顶点与人体模型的各个三角形之间的遮挡关系可以包括如下步骤A1-步骤A2:
步骤A1:基于人体模型的各个三角形的各个顶点的坐标数据,计算每个三角形的法向量。
举例说明,参见图7,向量/>为人体模型中三角形ABC的法向量。
步骤A2:针对每个穿模顶点,基于该穿模顶点的坐标数据、摄像机的坐标数据和人体模型的各个三角形的法向量,采用如下公式确定该穿模顶点与人体模型的各个三角形之间的遮挡关系:
其中,A、B和C为人体模型的三角形ABC的三个顶点,为三角形ABC的法向量;I为穿模顶点,S为摄像机的空间坐标,P为向量/>与三角形ABC所在平面的交点,λ为常数参数;
若且/>与/>方向相反,则确定穿模顶点P被人体模型的三角形ABC遮挡;
若且/>与/>方向相同,则确定穿模顶点P未被人体模型的三角形ABC遮挡。
其中,穿模顶点P被人体模型的三角形ABC遮挡表示穿模顶点P在摄像机的视角不可见。即若该穿模顶点被人体模型的至少一个三角形遮挡,则表示该穿模顶点在摄像机的视角不可见。
如果穿模顶点P未被人体模型的三角形ABC遮挡,并且人体模型中没有一个三角形可以遮挡穿模顶点P,则表示穿模顶点P在摄像机的视角可见。
举例说明,如图7所示,A、B和C为人体模型的三角形ABC的三个顶点,为三角形ABC的法向量;I1为穿模顶点,S1为摄像机的空间坐标,P1为向量/>与三角形ABC所在平面的交点。首先计算出三角形ABC的法向量/>向量/>与三角形ABC所在平面的交点P1可以表示为:/>基于/>可以计算出:/>继续计算/>若/>表示所计算的P1点在线段I1S1上,若/>与方向相反,表示P1点在三角形ABC内,则确定穿模顶点P1被人体模型的三角形ABC遮挡;若与/>方向相同,表示P1点在三角形ABC外,则确定穿模顶点P1被人体模型的三角形ABC遮挡。
步骤204,若该帧三维网格对应的人体模型中所有穿模顶点均在摄像机的视角不可见,则确定该帧三维网格对应的该帧动作姿态下的人体模型的穿模不可见。
本发明实施例中,若该帧三维网格对应的人体模型中所有穿模顶点均在摄像机的视角不可见,则确定该帧三维网格对应的人体模型的穿模不可见。如图6中,人体模型610处于右侧这种角度时,人体模型610的穿模部位的所有穿模顶点均在摄像机的视角不可见,则确定该帧三维网格对应的人体模型610的穿模不可见。并且,穿模不可见的图像中穿模并没有展示在观众眼前,也就是说穿模并没有带来实际不好的观看体验,因此针对穿模不可见的图像不需要工作人员花费人工修正穿模。因此,对于不可见的穿模可以免去人工修正,降低了对人体模型穿模修正中的人工消耗。
本发明实施例中,若该帧三维网格对应的人体模型中存在至少一个穿模顶点在摄像机的视角可见,则确定该帧三维网格对应的该帧动作姿态下的人体模型的穿模可见。也就是说,若该帧三维网格对应的人体模型中存在至少一个穿模顶点在摄像机的视角可见,则表示该帧三维网格对应的人体模型的穿模部位未被完全遮挡,摄像机的视角仍然可以看到穿模部位,因此可以确定该帧三维网格对应的人体模型的穿模可见。并且,针对穿模部位仍可见的图像,需要工作人员人工修正人体模型的穿模。
采用本发明实施例提供的方法,针对每一帧三维网格,获取该帧三维网格对应的人体模型的各个三角形的各个顶点的坐标数据;以及,将该帧三维网格对应的人体模型的穿模区域的所有三角形的顶点确定为穿模顶点;获取摄像机的坐标数据;所述摄像机用于固定人体模型的显示角度;针对每个穿模顶点,基于该穿模顶点的坐标数据、摄像机的坐标数据和人体模型的各个三角形的各个顶点的坐标数据,确定该穿模顶点与人体模型的各个三角形之间的遮挡关系;若该穿模顶点被人体模型的至少一个三角形遮挡,则表示该穿模顶点在摄像机的视角不可见;若该帧三维网格对应的人体模型中所有穿模顶点均在摄像机的视角不可见,则确定该帧三维网格对应的该帧动作姿态下的人体模型的穿模不可见。即通过检测每帧三维网格对应的人体模型的穿模部位是否被遮挡,若穿模部位被遮挡,即穿模部位在摄像机的视角不可见,也就是说穿模部位并不影响模型的展示,因此可以免去对穿模部位不可见的人体模型的穿模修正,因此可以降低对人体模型穿模修正中的人工消耗。
基于同一发明构思,根据本发明上述实施例提供的人体模型穿模可见性检测方法,相应地,本发明另一实施例还提供了一种人体模型穿模可见性检测装置,其结构示意图如图8所示,具体包括:
第一数据获取模块801,用于针对每一帧三维网格,获取该帧三维网格对应的人体模型的各个三角形的各个顶点的坐标数据;以及,将该帧三维网格对应的人体模型的穿模区域的所有三角形的顶点确定为穿模顶点;其中,人体模型的蒙皮由多个三角形拼接形成;每帧三维网格对应该帧动作姿态下的人体模型,每帧三维网格包括:该帧动作姿态下的人体模型的蒙皮信息;
第二数据获取模块802,用于获取摄像机的坐标数据;所述摄像机用于固定人体模型的显示角度;
遮挡关系确定模块803,用于针对每个穿模顶点,基于该穿模顶点的坐标数据、摄像机的坐标数据和人体模型的各个三角形的各个顶点的坐标数据,确定该穿模顶点与人体模型的各个三角形之间的遮挡关系;若该穿模顶点被人体模型的至少一个三角形遮挡,则表示该穿模顶点在摄像机的视角不可见;
穿模可见性确定模块804,用于若该帧三维网格对应的人体模型中所有穿模顶点均在摄像机的视角不可见,则确定该帧三维网格对应的该帧动作姿态下的人体模型的穿模不可见。
可见,采用本发明实施例提供的装置,针对每一帧三维网格,获取该帧三维网格对应的人体模型的各个三角形的各个顶点的坐标数据;以及,将该帧三维网格对应的人体模型的穿模区域的所有三角形的顶点确定为穿模顶点;获取摄像机的坐标数据;所述摄像机用于固定人体模型的显示角度;针对每个穿模顶点,基于该穿模顶点的坐标数据、摄像机的坐标数据和人体模型的各个三角形的各个顶点的坐标数据,确定该穿模顶点与人体模型的各个三角形之间的遮挡关系;若该穿模顶点被人体模型的至少一个三角形遮挡,则表示该穿模顶点在摄像机的视角不可见;若该帧三维网格对应的人体模型中所有穿模顶点均在摄像机的视角不可见,则确定该帧三维网格对应的该帧动作姿态下的人体模型的穿模不可见。即通过检测每帧三维网格对应的人体模型的穿模部位是否被遮挡,若穿模部位被遮挡,即穿模部位在摄像机的视角不可见,也就是说穿模部位并不影响模型的展示,因此可以免去对穿模部位不可见的人体模型的穿模修正,因此可以降低对人体模型穿模修正中的人工消耗。
进一步的,所述穿模可见性确定模块804,还用于若该帧三维网格对应的人体模型中存在至少一个穿模顶点在摄像机的视角可见,则确定该帧三维网格对应的该帧动作姿态下的人体模型的穿模可见。
进一步的,所述第一数据获取模块801,具体用于针对原始人体模型,获取该帧三维网格对应的原始人体模型的各个三角形的各个顶点的坐标数据;或者,针对基于原始人体模型进行简化后的人体模型,获取该帧三维网格对应的简化后的人体模型的各个三角形的各个顶点的坐标数据;或者,针对处于T-Pose(T字母姿势)动作姿态下的人体模型的多个预设部位对应的多个预设区域,获取该帧三维网格对应的处于T-Pose动作姿态下的人体模型的多个预设区域所包括的多个三角形的各个顶点的坐标数据;人体模型的每个预设部位对应一个预设区域,人体模型的每个预设部位对应的预设区域为基于该预设部位的两个指定人体关节点所确定的区域,且预设区域包括该预设部位的两个指定人体关节点;人体模型包括多个关节点;处于T-Pose动作姿态下的人体模型的多个预设部位包括:左小手臂、右小手臂、左大手臂、右大手臂、左小腿部、右小腿部、左大腿部和右大腿部。
进一步的,所述遮挡关系确定模块803,具体用于基于人体模型的各个三角形的各个顶点的坐标数据,计算每个三角形的法向量;针对每个穿模顶点,基于该穿模顶点的坐标数据、摄像机的坐标数据和人体模型的各个三角形的法向量,采用如下公式确定该穿模顶点与人体模型的各个三角形之间的遮挡关系:
其中,A、B和C为人体模型的三角形ABC的三个顶点,为三角形ABC的法向量;I为穿模顶点,S为摄像机的空间坐标,P为向量/>与三角形ABC所在平面的交点,λ为常数参数;若且/>与/>方向相反,则确定穿模顶点P被人体模型的三角形ABC遮挡。
可见,采用本发明实施例提供的装置,通过检测每帧三维网格对应的人体模型的穿模部位是否被遮挡,若穿模部位被遮挡,即穿模部位在摄像机的视角不可见,也就是说穿模部位并不影响模型的展示,因此可以免去对穿模部位不可见的人体模型的穿模修正,因此可以降低对人体模型穿模修正中的人工消耗。
本发明实施例还提供了一种电子设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,
存储器903,用于存放计算机程序;
处理器901,用于执行存储器903上所存放的程序时,实现如下步骤:
针对每一帧三维网格,获取该帧三维网格对应的人体模型的各个三角形的各个顶点的坐标数据;以及,将该帧三维网格对应的人体模型的穿模区域的所有三角形的顶点确定为穿模顶点;其中,人体模型的蒙皮由多个三角形拼接形成;每帧三维网格对应该帧动作姿态下的人体模型,每帧三维网格包括:该帧动作姿态下的人体模型的蒙皮信息;
获取摄像机的坐标数据;所述摄像机用于固定人体模型的显示角度;
针对每个穿模顶点,基于该穿模顶点的坐标数据、摄像机的坐标数据和人体模型的各个三角形的各个顶点的坐标数据,确定该穿模顶点与人体模型的各个三角形之间的遮挡关系;若该穿模顶点被人体模型的至少一个三角形遮挡,则表示该穿模顶点在摄像机的视角不可见;
若该帧三维网格对应的人体模型中所有穿模顶点均在摄像机的视角不可见,则确定该帧三维网格对应的该帧动作姿态下的人体模型的穿模不可见。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中任一所述的人体模型穿模可见性检测方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的人体模型穿模可见性检测方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备及存储介质而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种人体模型穿模可见性检测方法,其特征在于,包括:
针对每一帧三维网格,获取该帧三维网格对应的人体模型的各个三角形的各个顶点的坐标数据;以及,将该帧三维网格对应的人体模型的穿模区域的所有三角形的顶点确定为穿模顶点;其中,人体模型的蒙皮由多个三角形拼接形成;每帧三维网格对应该帧动作姿态下的人体模型,每帧三维网格包括:该帧动作姿态下的人体模型的蒙皮信息;
获取摄像机的坐标数据;所述摄像机用于固定人体模型的显示角度;
针对每个穿模顶点,基于该穿模顶点的坐标数据、摄像机的坐标数据和人体模型的各个三角形的各个顶点的坐标数据,确定该穿模顶点与人体模型的各个三角形之间的遮挡关系;若该穿模顶点被人体模型的至少一个三角形遮挡,则表示该穿模顶点在摄像机的视角不可见;
若该帧三维网格对应的人体模型中所有穿模顶点均在摄像机的视角不可见,则确定该帧三维网格对应的该帧动作姿态下的人体模型的穿模不可见。
2.根据权利要求1所述的方法,其特征在于,在所述针对每个穿模顶点,基于该穿模顶点的坐标数据、摄像机的坐标数据和人体模型的各个三角形的各个顶点的坐标数据,确定该穿模顶点与人体模型的各个三角形之间的遮挡关系之后,还包括:
若该帧三维网格对应的人体模型中存在至少一个穿模顶点在摄像机的视角可见,则确定该帧三维网格对应的该帧动作姿态下的人体模型的穿模可见。
3.根据权利要求1所述的方法,其特征在于,所述获取该帧三维网格对应的人体模型的各个三角形的各个顶点的坐标数据,包括:
针对原始人体模型,获取该帧三维网格对应的原始人体模型的各个三角形的各个顶点的坐标数据;或者,
针对基于原始人体模型进行简化后的人体模型,获取该帧三维网格对应的简化后的人体模型的各个三角形的各个顶点的坐标数据;或者,
针对处于T-Pose(T字母姿势)动作姿态下的人体模型的多个预设部位对应的多个预设区域,获取该帧三维网格对应的处于T-Pose动作姿态下的人体模型的多个预设区域所包括的多个三角形的各个顶点的坐标数据;人体模型的每个预设部位对应一个预设区域,人体模型的每个预设部位对应的预设区域为基于该预设部位的两个指定人体关节点所确定的区域,且预设区域包括该预设部位的两个指定人体关节点;人体模型包括多个关节点;处于T-Pose动作姿态下的人体模型的多个预设部位包括:左小手臂、右小手臂、左大手臂、右大手臂、左小腿部、右小腿部、左大腿部和右大腿部。
4.根据权利要求1所述的方法,其特征在于,所述针对每个穿模顶点,基于该穿模顶点的坐标数据、摄像机的坐标数据和人体模型的各个三角形的各个顶点的坐标数据,确定该穿模顶点与人体模型的各个三角形之间的遮挡关系,包括:
基于人体模型的各个三角形的各个顶点的坐标数据,计算每个三角形的法向量;
针对每个穿模顶点,基于该穿模顶点的坐标数据、摄像机的坐标数据和人体模型的各个三角形的法向量,采用如下公式确定该穿模顶点与人体模型的各个三角形之间的遮挡关系:
其中,A、B和C为人体模型的三角形ABC的三个顶点,为三角形ABC的法向量;I为穿模顶点,S为摄像机的空间坐标,P为向量/>与三角形ABC所在平面的交点,λ为常数参数;
若且/>与/>方向相反,则确定穿模顶点P被人体模型的三角形ABC遮挡。
5.一种人体模型穿模可见性检测装置,其特征在于,包括:
第一数据获取模块,用于针对每一帧三维网格,获取该帧三维网格对应的人体模型的各个三角形的各个顶点的坐标数据;以及,将该帧三维网格对应的人体模型的穿模区域的所有三角形的顶点确定为穿模顶点;其中,人体模型的蒙皮由多个三角形拼接形成;每帧三维网格对应该帧动作姿态下的人体模型,每帧三维网格包括:该帧动作姿态下的人体模型的蒙皮信息;
第二数据获取模块,用于获取摄像机的坐标数据;所述摄像机用于固定人体模型的显示角度;
遮挡关系确定模块,用于针对每个穿模顶点,基于该穿模顶点的坐标数据、摄像机的坐标数据和人体模型的各个三角形的各个顶点的坐标数据,确定该穿模顶点与人体模型的各个三角形之间的遮挡关系;若该穿模顶点被人体模型的至少一个三角形遮挡,则表示该穿模顶点在摄像机的视角不可见;
穿模可见性确定模块,用于若该帧三维网格对应的人体模型中所有穿模顶点均在摄像机的视角不可见,则确定该帧三维网格对应的该帧动作姿态下的人体模型的穿模不可见。
6.根据权利要求5所述的装置,其特征在于,所述穿模可见性确定模块,还用于若该帧三维网格对应的人体模型中存在至少一个穿模顶点在摄像机的视角可见,则确定该帧三维网格对应的该帧动作姿态下的人体模型的穿模可见。
7.根据权利要求5所述的装置,其特征在于,所述第一数据获取模块,具体用于针对原始人体模型,获取该帧三维网格对应的原始人体模型的各个三角形的各个顶点的坐标数据;或者,针对基于原始人体模型进行简化后的人体模型,获取该帧三维网格对应的简化后的人体模型的各个三角形的各个顶点的坐标数据;或者,针对处于T-Pose(T字母姿势)动作姿态下的人体模型的多个预设部位对应的多个预设区域,获取该帧三维网格对应的处于T-Pose动作姿态下的人体模型的多个预设区域所包括的多个三角形的各个顶点的坐标数据;人体模型的每个预设部位对应一个预设区域,人体模型的每个预设部位对应的预设区域为基于该预设部位的两个指定人体关节点所确定的区域,且预设区域包括该预设部位的两个指定人体关节点;人体模型包括多个关节点;处于T-Pose动作姿态下的人体模型的多个预设部位包括:左小手臂、右小手臂、左大手臂、右大手臂、左小腿部、右小腿部、左大腿部和右大腿部。
8.根据权利要求5所述的装置,其特征在于,所述遮挡关系确定模块,具体用于基于人体模型的各个三角形的各个顶点的坐标数据,计算每个三角形的法向量;针对每个穿模顶点,基于该穿模顶点的坐标数据、摄像机的坐标数据和人体模型的各个三角形的法向量,采用如下公式确定该穿模顶点与人体模型的各个三角形之间的遮挡关系:
其中,A、B和C为人体模型的三角形ABC的三个顶点,为三角形ABC的法向量;I为穿模顶点,S为摄像机的空间坐标,P为向量/>与三角形ABC所在平面的交点,λ为常数参数;若且/>与/>方向相反,则确定穿模顶点P被人体模型的三角形ABC遮挡。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-4任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011610252.8A CN112634418B (zh) | 2020-12-30 | 2020-12-30 | 一种人体模型穿模可见性检测方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011610252.8A CN112634418B (zh) | 2020-12-30 | 2020-12-30 | 一种人体模型穿模可见性检测方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112634418A CN112634418A (zh) | 2021-04-09 |
CN112634418B true CN112634418B (zh) | 2024-04-19 |
Family
ID=75286798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011610252.8A Active CN112634418B (zh) | 2020-12-30 | 2020-12-30 | 一种人体模型穿模可见性检测方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112634418B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110665230A (zh) * | 2019-09-26 | 2020-01-10 | 腾讯科技(深圳)有限公司 | 虚拟世界中的虚拟角色控制方法、装置、设备及介质 |
CN111127668A (zh) * | 2019-12-26 | 2020-05-08 | 网易(杭州)网络有限公司 | 一种角色模型生成方法、装置、电子设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006097681A1 (en) * | 2005-03-17 | 2006-09-21 | British Telecommunications Public Limited Company | Method of tracking objects in a video sequence |
-
2020
- 2020-12-30 CN CN202011610252.8A patent/CN112634418B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110665230A (zh) * | 2019-09-26 | 2020-01-10 | 腾讯科技(深圳)有限公司 | 虚拟世界中的虚拟角色控制方法、装置、设备及介质 |
CN111127668A (zh) * | 2019-12-26 | 2020-05-08 | 网易(杭州)网络有限公司 | 一种角色模型生成方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112634418A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9990780B2 (en) | Using computed facial feature points to position a product model relative to a model of a face | |
US20170186219A1 (en) | Method for 360-degree panoramic display, display module and mobile terminal | |
US11282264B2 (en) | Virtual reality content display method and apparatus | |
US9082213B2 (en) | Image processing apparatus for combining real object and virtual object and processing method therefor | |
CN114785996B (zh) | 虚拟现实视差校正 | |
WO2018214697A1 (zh) | 图形处理方法、处理器和虚拟现实系统 | |
WO2017113731A1 (zh) | 360度全景显示方法、显示模块及移动终端 | |
US11562545B2 (en) | Method and device for providing augmented reality, and computer program | |
CN110443884B (zh) | 手部运动重建方法和装置 | |
JP2017187861A (ja) | 情報処理装置およびその制御方法 | |
US10147240B2 (en) | Product image processing method, and apparatus and system thereof | |
CN112882576B (zh) | Ar交互方法、装置、电子设备及存储介质 | |
CN112802208B (zh) | 一种航站楼内三维可视化方法及装置 | |
CN105630152A (zh) | 处理视觉数据的设备和方法以及相关的计算机程序产品 | |
CN113763440A (zh) | 一种图像处理方法、装置、设备及存储介质 | |
WO2017113729A1 (zh) | 360度图像加载方法、加载模块及移动终端 | |
CN113724391A (zh) | 三维模型构建方法、装置、电子设备和计算机可读介质 | |
US20240013415A1 (en) | Methods and systems for representing a user | |
CN113870439A (zh) | 用于处理图像的方法、装置、设备以及存储介质 | |
US20180286130A1 (en) | Graphical image augmentation of physical objects | |
US20230260218A1 (en) | Method and apparatus for presenting object annotation information, electronic device, and storage medium | |
CN112634418B (zh) | 一种人体模型穿模可见性检测方法、装置及电子设备 | |
CN110378948B (zh) | 3d模型重建方法、装置及电子设备 | |
JP7341736B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
Kim et al. | Real‐Time Human Shadow Removal in a Front Projection System |
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 |