CN111681302A - 一种3d虚拟形象的生成方法、装置、电子设备及存储介质 - Google Patents
一种3d虚拟形象的生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111681302A CN111681302A CN202010324047.9A CN202010324047A CN111681302A CN 111681302 A CN111681302 A CN 111681302A CN 202010324047 A CN202010324047 A CN 202010324047A CN 111681302 A CN111681302 A CN 111681302A
- Authority
- CN
- China
- Prior art keywords
- bone
- skeleton
- position information
- initial
- bounding box
- 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 53
- 210000000988 bone and bone Anatomy 0.000 claims abstract description 258
- 238000013507 mapping Methods 0.000 claims description 48
- 239000011159 matrix material Substances 0.000 claims description 48
- 230000008859 change Effects 0.000 claims description 27
- 238000004891 communication Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 abstract description 7
- 230000009471 action Effects 0.000 abstract description 6
- 238000010801 machine learning Methods 0.000 abstract description 5
- 238000012549 training Methods 0.000 abstract description 4
- 230000000875 corresponding effect Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 210000003127 knee Anatomy 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 210000000707 wrist Anatomy 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 210000004247 hand Anatomy 0.000 description 1
- 210000002414 leg Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请涉及一种3D虚拟形象的生成方法、装置、电子设备及存储介质。该技术方案通过视频中2D形象的2D骨骼数据计算出相应的3D骨骼数据,从而驱动2D形象对应的3D虚拟形象进行运动。这样,无需训练用于采集3D骨骼数据的机器学习算法,根据视频就可直接准确地驱动虚拟形象运动,且避免直接计算3D骨骼数据对系统资源消耗过大,降低CPU的占用率,针对动作复杂且时间较长的骨骼动画具有显著的性能优势。
Description
技术领域
本申请涉及计算机图形处理技术领域,尤其涉及一种3D虚拟形象的生成方法、装置、电子设备及存储介质。
背景技术
随着3D计算机动画技术的发展,虚拟形象在游戏、AR、VR、MR等领域运用越来越广泛。
目前,虚拟形象的绘制常用骨骼动画来实现。在骨骼动画中,模型具有互相连接的“骨骼”组成的骨架结构,通过改变骨骼的朝向和位置来为模型生成动画。
但是,现有机器学习算法学习到的是2D骨骼的位置,如何通过2D骨骼位置的变化驱动虚拟形象运动,是目前急需解决的技术问题。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请实施例提供了一种3D虚拟形象的生成方法、装置、电子设备及存储介质。
第一方面,本申请实施例提供了一种3D虚拟形象的生成方法,包括:
采集2D视频的视频帧中2D形象的第一2D骨骼位置信息;
获取所述第一2D骨骼位置信息相对于第一3D骨骼位置信息的映射矩阵,所述映射矩阵根据初始2D骨架及初始3D骨架生成;
根据所述映射矩阵将所述第一2D骨骼位置信息转换为第一3D骨骼位置信息;
根据所述第一3D骨骼位置信息及所述初始3D骨架的第二3D骨骼位置信息计算骨骼变化信息;
根据所述第一3D骨骼位置信息及所述骨骼变化信息确定3D骨骼数据;
根据所述3D骨骼数据及所述初始3D骨架确定所述2D形象对应的3D虚拟形象。
可选的,所述方法还包括:
构建所述初始2D骨架对应的第一2D骨骼包围盒及所述初始3D骨架对应的3D骨骼包围盒;
根据所述第一2D骨骼包围盒和3D骨骼包围盒计算所述映射矩阵。
可选的,所述根据所述第一2D骨骼包围盒和3D骨骼包围盒计算所述映射矩阵,包括:
将所述3D骨骼包围盒的深度坐标值设置为相同,得到第二2D骨骼包围盒;
获取所述第一2D骨骼包围盒上预设个数的第一预设位置点,及所述第二2D骨骼包围盒上所述预设个数的第二预设位置点,所述第一预设位置点在所述第一2D骨骼包围盒上的位置与所述第二预设位置点在所述第二2D骨骼包围盒上的位置相同;
根据所述第一预设位置点和第二预设位置点的坐标计算所述映射矩阵。
可选的,在所述构建所述初始2D骨架对应的第一2D骨骼包围盒及所述初始3D骨架对应的3D骨骼包围盒之前,所述方法还包括:
识别所述视频帧中的2D形象;
当确定所述2D形象处于预设状态时,创建所述初始2D骨架和所述初始3D骨架。
可选的,根据所述映射矩阵将所述第一2D骨骼位置信息转换为所述第一3D骨骼位置信息,包括:
从根骨骼遍历所述2D形象的2D骨架;
将所述2D骨架中骨骼的第一2D骨骼位置信息乘以所述映射矩阵,得到所述骨骼对应的所述第一3D骨骼位置信息。
可选的,所述根据所述初始3D骨架的第二3D骨骼位置信息及所述第一3D骨骼位置信息计算每个骨骼的骨骼变化信息,包括:
获取初始3D骨架中的第二3D骨骼位置信息;
根据所述第二3D骨骼位置信息及所述第一3D骨骼位置信息计算所述骨骼的缩放量和旋转量;
根据所述缩放量和旋转量得到所述骨骼变化信息。
可选的,所述根据所述第二3D骨骼位置信息及所述第一3D骨骼位置信息计算所述骨骼的缩放量,包括:
根据所述第一3D骨骼位置信息确定子骨骼与其父骨骼之间的第一长度,根据所述第二3D骨骼位置信息确定所述子骨骼与其父骨骼之间的第二长度;
根据所述第一长度与所述第二长度的比值确定所述缩放量。
可选的,所述根据所述第二3D骨骼位置信息及所述第一3D骨骼位置信息计算每个骨骼的旋转量,包括:
根据所述第一3D骨骼位置信息确定子骨骼与其父骨骼的第一向量,根据所述第二3D骨骼位置信息确定所述子骨骼与其父骨骼的第二向量;
确定所述第一向量和所述第二向量的向量积及夹角;
根据所述向量积及所述夹角计算所述旋转量。
第二方面,本申请实施例提供了一种3D虚拟形象的生成装置,包括:
采集模块,用于采集2D视频的视频帧中2D形象的第一2D骨骼位置信息;
获取模块,用于获取所述第一2D骨骼位置信息相对于第一3D骨骼位置信息的映射矩阵,所述映射矩阵根据初始2D骨架及初始3D骨架生成;
转换模块,用于根据所述映射矩阵将所述第一2D骨骼位置信息转换为第一3D骨骼位置信息;
变化计算模块,用于根据所述第一3D骨骼位置信息及所述初始3D骨架的第二3D骨骼位置信息计算骨骼变化信息;
确定模块,用于根据所述第一3D骨骼位置信息及所述骨骼变化信息确定3D骨骼数据;
驱动模块,用于根据所述3D骨骼数据及所述初始3D骨架确定所述2D形象对应的3D虚拟形象。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行计算机程序时,实现上述方法步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
通过视频中2D形象的2D骨骼数据计算出相应的3D骨骼数据,从而驱动2D形象对应的3D虚拟形象进行运动。这样,无需训练用于采集3D骨骼数据的机器学习算法,根据视频就可直接准确地驱动虚拟形象运动,且避免直接计算3D骨骼数据对系统资源消耗过大,降低CPU的占用率,针对动作复杂且时间较长的骨骼动画具有显著的性能优势。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种3D虚拟形象的生成方法的流程图;
图2为本申请另一实施例提供的一种3D虚拟形象的生成方法的流程图;
图3为本申请另一实施例提供的一种3D虚拟形象的生成方法的流程图;
图4为本申请另一实施例提供的一种3D虚拟形象的生成方法的流程图;
图5为本申请另一实施例提供的一种3D虚拟形象的生成方法的流程图;
图6为本申请实施例提供的一种3D虚拟形象的生成装置的框图;
图7为本申请另一个实施例提供的一种3D虚拟形象的生成装置的框图;
图8为本申请另一个实施例提供的一种3D虚拟形象的生成装置的框图;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例,通过从视频中识别2D形象的2D骨骼数据,并将该2D骨骼数据转化为3D骨骼数据,从而实现基于2D视频驱动3D虚拟形象的运动。
视频实际上由连续的静态图像组成,连续的图像变化超过每秒24帧时,根据视觉暂留原理,看上去是平滑的视觉效果。每张静态图像可以看作是视频帧。因此,如果将每个视频帧中的2D骨骼数据均转换为3D骨骼数据,通过将该3D骨骼数据应用到对应的3D虚拟形象中,可以通过连续视频帧对应的3D骨骼数据的变化来驱动该3D虚拟形象的运动。
下面首先对本发明实施例所提供的一种3D虚拟形象的生成方法进行介绍。
图1为本申请实施例提供的一种3D虚拟形象的生成方法的流程图。如图1所示,该方法包括以下步骤:
步骤S11,采集2D视频的视频帧中2D形象的第一2D骨骼位置信息。
对于视频中的每一帧,均需识别其中2D形象的2D骨架,采集2D骨架中各个骨骼的第一2D骨骼位置信息,2D骨骼位置信息包括骨骼点在二维空间中的坐标。
例如,可以通过机器学习算法识别视频每一帧中2D骨架的各个骨骼点的位置信息,该机器学习算法可以通过卷积神经网络模型训练得到。其中,2D骨架中的骨骼点可以包括下述预先设定的部位:1、头(Head),2、肩中央(ShoulderCenter),3、左肩(ShoulderLeft),4、右肩(ShoulderRight),5、左肘(ElbowLeft),6、右肘(ElbowRight),7、左腕(WristLeft),8、右腕(WristRight),9、左手(HandLeft),10、右手(HandRight),11、脊柱(Spine),12、髋中央(HipCenter),13、左髋(HipLeft),14、右髋(HipRight),15、左膝(KneeLeft),16、右膝(KneeRight),17、左髁(AnkleLeft),18、右髁(AnkleRight),19、左脚(FootLeft),20、右脚(FootRight)。
为了使得对虚拟形象的控制更加精确,尤其是对面部、手部等部位的运动变化进行精准控制,可以增加这些部位骨骼点的数量。
步骤S12,获取第一2D骨骼位置信息相对于第一3D骨骼位置信息的映射矩阵,映射矩阵根据初始2D骨架及初始3D骨架生成。
其中,该映射矩阵可以根据初始状态下基于初始2D骨架和初始3D骨架计算得到。或者,可以根据一般或者标准(统计平均或者最接近的)的2D骨架与对应的3D骨架之间的映射关系得到该映射矩阵。
还可以采用PNP(Perspective-n-Point,多点透视成像)算法,计算出2D点与3D点的映射关系。为准确得到映射矩阵,分别选择位置相同的至少4个2D点和4个3D点进行求解。
步骤S13,根据映射矩阵将第一2D骨骼位置信息转换为第一3D骨骼位置信息。
将第一2D骨骼点的坐标乘以该映射矩阵,即可得到骨骼点在三维空间中的位置,即得到第一3D骨骼位置信息。具体地,该步骤S13包括:从根骨骼遍历2D形象的2D骨架;将2D骨架中骨骼的第一2D骨骼位置信息乘以映射矩阵,得到骨骼对应的第一3D骨骼位置信息。
步骤S14,根据第一3D骨骼位置信息及初始3D骨架的第二3D骨骼位置信息计算骨骼变化信息。
在2D空间到3D空间的转换过程中,除了根骨骼只有位置发生变化,其他子骨骼相对于父骨骼除位置变化外,还可能发生了缩放和/或旋转。因此,除了计算每个骨骼在3D空间中的位置信息外,还需要确定骨骼之间的大小和方向上的变化情况。
步骤S15,根据第一3D骨骼位置信息及骨骼变化信息确定3D骨骼数据。
每个视频帧中,各个骨骼在3D空间中的状态可由其位置信息、缩放及旋转情况确定。每个骨骼的当前3D骨骼数据可以通过包括其位置信息、缩放量及旋转量的矩阵表示。
步骤S16,根据3D骨骼数据及初始3D骨架确定2D形象对应的3D虚拟形象。
基于视频帧对应的3D骨骼数据,可以得到初始3D骨架中各个骨骼的当前位置、大小、方向等,从而可以生成2D形象所对应的3D虚拟形象。在得到每一帧图像的3D骨骼数据后,将连续帧组合起来,从视觉上即可得到3D虚拟形象的运动情况。
本实施例中,通过视频中2D形象的2D骨骼数据计算出相应的3D骨骼数据,从而驱动2D形象对应的3D虚拟形象进行运动。这样,无需训练用于采集3D骨骼数据的机器学习算法,根据视频就可直接准确地驱动虚拟形象运动,且避免直接计算3D骨骼数据对系统资源消耗过大,降低CPU的占用率,针对动作复杂且时间较长的骨骼动画具有显著的性能优势。
本实施例的方法还包括初始化过程,在初始化过程中,构建初始2D骨架和初始3D骨架,以及计算2D骨骼到3D骨骼的映射矩阵。
图2为本申请另一实施例提供的一种3D虚拟形象的生成方法的流程图。首先,当视频中的目标物符合一定条件时,确定进入初始化阶段,因此,如图2所示,该方法包括:
步骤S21,识别视频帧中的2D形象;
步骤S22,当确定2D形象处于预设状态时,创建初始2D骨架和初始3D骨架。
例如,目标物为人体,将人体出现站立张开双臂、双腿的动作作为进入初始化阶段的条件,或者也可将人体的其他有标志性的动作作为进入初始化阶段的条件。若目标物为动物、机器人等其他形象,也可设定其相应的动作作为进入初始化的条件。
图3为本申请另一实施例提供的一种3D虚拟形象的生成方法的流程图。在初始化过程中,在得到初始2D骨架和初始3D骨架后,如图3所示,该方法还包括:
步骤S31,构建初始2D骨架对应的第一2D骨骼包围盒及初始3D骨架对应的3D骨骼包围盒。
其中,该2D骨骼包围盒的形状可以为长方形、正方形、圆形、三角形等等。3D骨骼包围盒的形状需要与2D骨骼包围盒形状相对应,即3D骨骼包围盒在2D骨骼包围盒所在二维平面上的形状应与2D骨骼包围盒的形状相同。
例如,2D骨骼包围盒为长方形,则3D骨骼包围盒为长方体;2D骨骼包围盒为圆形,则3D骨骼包围盒可以为球体;等等。
步骤S32,根据第一2D骨骼包围盒和3D骨骼包围盒计算映射矩阵。
本实施例中,可以分别在骨骼包围盒上选择4个相同位置点来计算映射矩阵。具体计算方法如下:
图4为本申请另一实施例提供的一种3D虚拟形象的生成方法的流程图。如图4所示,步骤S32,包括:
步骤S41,将3D骨骼包围盒的深度坐标值设置为相同,得到第二2D骨骼包围盒。
将3D骨骼包围盒映射到第一2D骨骼包围盒所在二维平面上,得到第二2D骨骼包围盒。这样,可以选择相同位置的点用于后续映射矩阵的计算。
步骤S42,获取第一2D骨骼包围盒上预设个数的第一预设位置点,及第二2D骨骼包围盒上预设个数的第二预设位置点,第一预设位置点在第一2D骨骼包围盒上的位置与第二预设位置点在第二2D骨骼包围盒上的位置相同。
例如,第一2D骨骼包围盒和第二2D骨骼包围盒均为长方形,可以选择两个2D骨骼包围盒的4个顶点用于后续映射矩阵的计算。
步骤S43,根据第一预设位置点和第二预设位置点的坐标计算映射矩阵。
具体的,需要根据第一预设位置点在二维空间中的坐标(ui,vi),以及第二预设位置点在三维空间中的坐标(Xi,Yi,Zi)计算该映射矩阵。
本实施例中,将2D骨骼点的坐标(uj,vj)乘以该映射矩阵M,即可得到骨骼点在三维空间中的坐标(Xj,Yj,Zj),即得到3D骨骼位置信息。
图5为本申请另一实施例提供的一种3D虚拟形象的生成方法的流程图。如图5所示,步骤S14包括:
步骤S51,获取初始3D骨架中的第二3D骨骼位置信息;
步骤S52,根据第二3D骨骼位置信息及第一3D骨骼位置信息计算骨骼的缩放量和旋转量;
步骤S53,根据缩放量和旋转量得到骨骼变化信息。
可选的,步骤S52中,根据第二3D骨骼位置信息及第一3D骨骼位置信息计算骨骼的缩放量,包括:
步骤A1,根据第一3D骨骼位置信息确定子骨骼与其父骨骼之间的第一长度,根据第二3D骨骼位置信息确定子骨骼与其父骨骼之间的第二长度。
例如,初始状态下,父骨骼点O1和子骨骼点A1之间的距离,第二长度为d1;当前视频帧中,父骨骼点O2和子骨骼点A2之间的距离,第一长度为d2。
可选的,步骤S52中,根据第二3D骨骼位置信息及第一3D骨骼位置信息计算每个骨骼的旋转量,包括:
步骤B1,根据第一3D骨骼位置信息确定子骨骼与其父骨骼的第一向量,根据第二3D骨骼位置信息确定子骨骼与其父骨骼的第二向量。
步骤B2,确定第一向量和第二向量的向量积及夹角。
步骤B3,根据向量积及夹角计算旋转量。
综上,可以看到对于子骨骼A2,其对应的缩放量旋转量在确定当前视频帧对应的3D骨架时,需要根据每个骨骼的坐标以及每个子骨骼的缩放量和旋转量得到整个3D骨架的3D骨骼数据,第j个子骨骼对应的3D骨骼数据如下:
通过各个骨骼的3D骨骼数据,实现对虚拟形象的运动驱动。
下述为本申请装置实施例,可以用于执行本申请方法实施例。
图6为本申请实施例提供的一种3D虚拟形象的生成装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图6所示,该3D虚拟形象的生成装置包括:
采集模块601,用于采集2D视频的视频帧中2D形象的第一2D骨骼位置信息;
获取模块602,用于获取第一2D骨骼位置信息相对于第一3D骨骼位置信息的映射矩阵,映射矩阵根据初始2D骨架及初始3D骨架生成;
转换模块603,用于根据映射矩阵将第一2D骨骼位置信息转换为第一3D骨骼位置信息;
变化计算模块604,用于根据第一3D骨骼位置信息及初始3D骨架的第二3D骨骼位置信息计算骨骼变化信息;
确定模块605,用于根据第一3D骨骼位置信息及骨骼变化信息确定3D骨骼数据;
驱动模块606,用于根据3D骨骼数据及初始3D骨架确定2D形象对应的3D虚拟形象。
图7为本申请另一个实施例提供的一种3D虚拟形象的生成装置的框图,如图7所示,该装置还包括:
构建模块607,用于构建初始2D骨架对应的第一2D骨骼包围盒及初始3D骨架对应的3D骨骼包围盒;
矩阵计算模块608,用于根据第一2D骨骼包围盒和3D骨骼包围盒计算映射矩阵。
可选的,矩阵计算模块608,用于将3D骨骼包围盒的深度坐标值设置为相同,得到第二2D骨骼包围盒;获取第一2D骨骼包围盒上预设个数的第一预设位置点,及第二2D骨骼包围盒上预设个数的第二预设位置点,第一预设位置点在第一2D骨骼包围盒上的位置与第二预设位置点在第二2D骨骼包围盒上的位置相同;根据第一预设位置点和第二预设位置点的坐标计算映射矩阵。
图8为本申请另一个实施例提供的一种3D虚拟形象的生成装置的框图,如图8所示,该装置还包括:
识别模块609,用于在构建初始2D骨架对应的第一2D骨骼包围盒及初始3D骨架对应的3D骨骼包围盒之前,识别视频帧中的2D形象;
创建模块610,用于当确定2D形象处于预设状态时,创建初始2D骨架和初始3D骨架。
可选的,转换模块603,用于从根骨骼遍历2D形象的2D骨架;将2D骨架中骨骼的第一2D骨骼位置信息乘以映射矩阵,得到骨骼对应的第一3D骨骼位置信息。
可选的,变化计算模块604,用于获取初始3D骨架中的第二3D骨骼位置信息;根据第二3D骨骼位置信息及第一3D骨骼位置信息计算骨骼的缩放量和旋转量;根据缩放量和旋转量得到骨骼变化信息。
可选的,变化计算模块604,用于根据第一3D骨骼位置信息确定子骨骼与其父骨骼之间的第一长度,根据第二3D骨骼位置信息确定子骨骼与其父骨骼之间的第二长度;根据第一长度与第二长度的比值确定缩放量。
可选的,变化计算模块604,用于根据第一3D骨骼位置信息确定子骨骼与其父骨骼的第一向量,根据第二3D骨骼位置信息确定子骨骼与其父骨骼的第二向量;确定第一向量和第二向量的向量积及夹角;根据向量积及夹角计算旋转量。
本申请实施例还提供一种电子设备,如图9所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的计算机程序时,实现以下上述方法实施例的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,P C I)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下上述方法实施例的步骤。
需要说明的是,对于上述装置、电子设备及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
进一步需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (11)
1.一种3D虚拟形象的生成方法,其特征在于,包括:
采集2D视频的视频帧中2D形象的第一2D骨骼位置信息;
获取所述第一2D骨骼位置信息相对于第一3D骨骼位置信息的映射矩阵,所述映射矩阵根据初始2D骨架及初始3D骨架生成;
根据所述映射矩阵将所述第一2D骨骼位置信息转换为第一3D骨骼位置信息;
根据所述第一3D骨骼位置信息及所述初始3D骨架的第二3D骨骼位置信息计算骨骼变化信息;
根据所述第一3D骨骼位置信息及所述骨骼变化信息确定3D骨骼数据;
根据所述3D骨骼数据及所述初始3D骨架确定所述2D形象对应的3D虚拟形象。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
构建所述初始2D骨架对应的第一2D骨骼包围盒及所述初始3D骨架对应的3D骨骼包围盒;
根据所述第一2D骨骼包围盒和3D骨骼包围盒计算所述映射矩阵。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一2D骨骼包围盒和3D骨骼包围盒计算所述映射矩阵,包括:
将所述3D骨骼包围盒的深度坐标值设置为相同,得到第二2D骨骼包围盒;
获取所述第一2D骨骼包围盒上预设个数的第一预设位置点,及所述第二2D骨骼包围盒上所述预设个数的第二预设位置点,所述第一预设位置点在所述第一2D骨骼包围盒上的位置与所述第二预设位置点在所述第二2D骨骼包围盒上的位置相同;
根据所述第一预设位置点和第二预设位置点的坐标计算所述映射矩阵。
4.根据权利要求2所述的方法,其特征在于,在所述构建所述初始2D骨架对应的第一2D骨骼包围盒及所述初始3D骨架对应的3D骨骼包围盒之前,所述方法还包括:
识别所述视频帧中的2D形象;
当确定所述2D形象处于预设状态时,创建所述初始2D骨架和所述初始3D骨架。
5.根据权利要求1所述的方法,其特征在于,根据所述映射矩阵将所述第一2D骨骼位置信息转换为所述第一3D骨骼位置信息,包括:
从根骨骼遍历所述2D形象的2D骨架;
将所述2D骨架中骨骼的第一2D骨骼位置信息乘以所述映射矩阵,得到所述骨骼对应的所述第一3D骨骼位置信息。
6.根据权利要求5所述的方法,其特征在于,所述根据所述初始3D骨架的第二3D骨骼位置信息及所述第一3D骨骼位置信息计算每个骨骼的骨骼变化信息,包括:
获取初始3D骨架中的第二3D骨骼位置信息;
根据所述第二3D骨骼位置信息及所述第一3D骨骼位置信息计算所述骨骼的缩放量和旋转量;
根据所述缩放量和旋转量得到所述骨骼变化信息。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第二3D骨骼位置信息及所述第一3D骨骼位置信息计算所述骨骼的缩放量,包括:
根据所述第一3D骨骼位置信息确定子骨骼与其父骨骼之间的第一长度,根据所述第二3D骨骼位置信息确定所述子骨骼与其父骨骼之间的第二长度;
根据所述第一长度与所述第二长度的比值确定所述缩放量。
8.根据权利要求6所述的方法,其特征在于,所述根据所述第二3D骨骼位置信息及所述第一3D骨骼位置信息计算每个骨骼的旋转量,包括:
根据所述第一3D骨骼位置信息确定子骨骼与其父骨骼的第一向量,根据所述第二3D骨骼位置信息确定所述子骨骼与其父骨骼的第二向量;
确定所述第一向量和所述第二向量的向量积及夹角;
根据所述向量积及所述夹角计算所述旋转量。
9.一种3D虚拟形象的生成装置,其特征在于,包括:
采集模块,用于采集2D视频的视频帧中2D形象的第一2D骨骼位置信息;
获取模块,用于获取所述第一2D骨骼位置信息相对于第一3D骨骼位置信息的映射矩阵,所述映射矩阵根据初始2D骨架及初始3D骨架生成;
转换模块,用于根据所述映射矩阵将所述第一2D骨骼位置信息转换为第一3D骨骼位置信息;
变化计算模块,用于根据所述第一3D骨骼位置信息及所述初始3D骨架的第二3D骨骼位置信息计算骨骼变化信息;
确定模块,用于根据所述第一3D骨骼位置信息及所述骨骼变化信息确定3D骨骼数据;
驱动模块,用于根据所述3D骨骼数据及所述初始3D骨架确定所述2D形象对应的3D虚拟形象。
10.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述计算机程序时,实现权利要求1-8任一项所述的方法步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-8任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010324047.9A CN111681302A (zh) | 2020-04-22 | 2020-04-22 | 一种3d虚拟形象的生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010324047.9A CN111681302A (zh) | 2020-04-22 | 2020-04-22 | 一种3d虚拟形象的生成方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111681302A true CN111681302A (zh) | 2020-09-18 |
Family
ID=72433604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010324047.9A Pending CN111681302A (zh) | 2020-04-22 | 2020-04-22 | 一种3d虚拟形象的生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111681302A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112541969A (zh) * | 2021-01-21 | 2021-03-23 | 深圳市桔子智能信息科技有限公司 | 一种三维人体模型骨骼动态转移绑定方法 |
CN113727187A (zh) * | 2021-08-31 | 2021-11-30 | 平安科技(深圳)有限公司 | 基于骨架迁移的动画视频处理方法、装置及相关设备 |
CN113989928A (zh) * | 2021-10-27 | 2022-01-28 | 南京硅基智能科技有限公司 | 一种动作捕捉和重定向方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106485773A (zh) * | 2016-09-14 | 2017-03-08 | 厦门幻世网络科技有限公司 | 一种用于生成动画数据的方法和装置 |
US20180322680A1 (en) * | 2017-05-08 | 2018-11-08 | Microsoft Technology Licensing, Llc | Creating a mixed-reality video based upon tracked skeletal features |
CN108876921A (zh) * | 2017-05-08 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 三维装扮模型处理方法、装置、计算机设备和存储介质 |
-
2020
- 2020-04-22 CN CN202010324047.9A patent/CN111681302A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106485773A (zh) * | 2016-09-14 | 2017-03-08 | 厦门幻世网络科技有限公司 | 一种用于生成动画数据的方法和装置 |
US20180322680A1 (en) * | 2017-05-08 | 2018-11-08 | Microsoft Technology Licensing, Llc | Creating a mixed-reality video based upon tracked skeletal features |
CN108876921A (zh) * | 2017-05-08 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 三维装扮模型处理方法、装置、计算机设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
张小蒙 等: "基于改进分段铰链变换的人体重建技术", 图学学报 * |
郭瑾 等: "一种视频驱动的三维虚拟人动画实现方法", 微型电脑应用 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112541969A (zh) * | 2021-01-21 | 2021-03-23 | 深圳市桔子智能信息科技有限公司 | 一种三维人体模型骨骼动态转移绑定方法 |
CN112541969B (zh) * | 2021-01-21 | 2022-04-12 | 深圳市桔子智能信息科技有限公司 | 一种三维人体模型骨骼动态转移绑定方法 |
CN113727187A (zh) * | 2021-08-31 | 2021-11-30 | 平安科技(深圳)有限公司 | 基于骨架迁移的动画视频处理方法、装置及相关设备 |
CN113727187B (zh) * | 2021-08-31 | 2022-10-11 | 平安科技(深圳)有限公司 | 基于骨架迁移的动画视频处理方法、装置及相关设备 |
CN113989928A (zh) * | 2021-10-27 | 2022-01-28 | 南京硅基智能科技有限公司 | 一种动作捕捉和重定向方法 |
CN113989928B (zh) * | 2021-10-27 | 2023-09-05 | 南京硅基智能科技有限公司 | 一种动作捕捉和重定向方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7337104B2 (ja) | 拡張現実によるモデル動画多平面インタラクション方法、装置、デバイス及び記憶媒体 | |
WO2021169839A1 (zh) | 一种基于骨骼关键点的动作还原方法以及装置 | |
CN111681302A (zh) | 一种3d虚拟形象的生成方法、装置、电子设备及存储介质 | |
CN111968165B (zh) | 动态人体三维模型补全方法、装置、设备和介质 | |
CN110363817B (zh) | 目标位姿估计方法、电子设备和介质 | |
WO2011075082A1 (en) | Method and system for single view image 3 d face synthesis | |
CN106296598A (zh) | 三维姿态处理方法、系统及拍摄终端 | |
CN113936090A (zh) | 三维人体重建的方法、装置、电子设备及存储介质 | |
EP4365841A1 (en) | Object pose detection method and apparatus, computer device, and storage medium | |
Vochten et al. | Comparison of rigid body motion trajectory descriptors for motion representation and recognition | |
CN110008873B (zh) | 面部表情捕捉方法、系统及设备 | |
Cohen et al. | 3D body reconstruction for immersive interaction | |
CN112734628B (zh) | 一种经三维转换后的跟踪点的投影位置计算方法及系统 | |
Ogawara et al. | Grasp recognition using a 3D articulated model and infrared images | |
CN106096565A (zh) | 基于传感网络的移动机器人与静态传感器的任务协作方法 | |
CN113724378B (zh) | 三维建模方法和装置、计算机可读存储介质及计算机设备 | |
CN113223103A (zh) | 素描画生成的方法、装置、电子设备及介质 | |
CN117095131B (zh) | 物体运动关键点的三维重建方法、设备及存储介质 | |
CN108108694A (zh) | 一种人脸特征点定位方法及装置 | |
CN116958450B (zh) | 一种面向二维数据的人体三维重建方法 | |
CN116382456A (zh) | 一种用户姿态映射交互方法、系统、装置 | |
CN116382455A (zh) | 用户姿态交互方法及系统及装置及介质 | |
CN115222809B (zh) | 目标位姿估计方法、装置、计算设备及存储介质 | |
JP7473012B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
Budge | 1.1 Computer Vision in Robotics |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200918 |
|
RJ01 | Rejection of invention patent application after publication |