CN111553968A - 一种三维人体重构动画的方法 - Google Patents

一种三维人体重构动画的方法 Download PDF

Info

Publication number
CN111553968A
CN111553968A CN202010390370.6A CN202010390370A CN111553968A CN 111553968 A CN111553968 A CN 111553968A CN 202010390370 A CN202010390370 A CN 202010390370A CN 111553968 A CN111553968 A CN 111553968A
Authority
CN
China
Prior art keywords
human body
dimensional
sequence
motion
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.)
Granted
Application number
CN202010390370.6A
Other languages
English (en)
Other versions
CN111553968B (zh
Inventor
纪刚
周亚敏
周萌萌
商胜楠
周粉粉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Lianhe Chuangzhi Technology Co ltd
Original Assignee
Qingdao Lianhe Chuangzhi Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qingdao Lianhe Chuangzhi Technology Co ltd filed Critical Qingdao Lianhe Chuangzhi Technology Co ltd
Priority to CN202010390370.6A priority Critical patent/CN111553968B/zh
Publication of CN111553968A publication Critical patent/CN111553968A/zh
Application granted granted Critical
Publication of CN111553968B publication Critical patent/CN111553968B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明属于三维动态图形处理技术领域,涉及一种三维人体重构动画方法;工艺步骤包括:S1、选取单人的视频段,输入训练好的生成对抗网络模型中,获得人体关节点三维旋转角序列;S2、采用Savizkg‑Golag五点二次平滑算法对运动过程中的每个关节点三维旋转角进行平滑处理;S3、创建一个初始三维卡通模型,将人体23个关节点与三维卡通模型关节点的相同关节点绑定;S4、将得到的三维旋转角更新至三维卡通模型中,利用Unity3D的渲染效果,实现三维卡通模型的姿态同步变化;所述方法采用生成对抗网络模型,不需要标定样本,降低了前期样本准备工作量;通过引入关节点二维坐标、三维坐标、三维旋转角、人体体型参数的偏差值以及对抗损失值,大大提升了模型精度。

Description

一种三维人体重构动画的方法
技术领域:
本发明属于三维动态图形处理技术领域,涉及一种人体三维姿态构建的方法,特别是一种三维人体重构动画的方法。
背景技术:
三维人体建模主要是利用计算机图形学和视觉方法,将现实中人体的三维姿态信息数字化的过程,其在3D电影、3D动画制作、3D游戏、虚拟试衣和虚拟现实等领域具有重要作用,三维人体建模是当前计算机图形学领域的研究热点之一;传统的三维人体重建方法对场景要求较高,一般需要复杂的标定,传统三维人体重建方法往往依托深度相机等工具的三维动画制作方式,计算复杂度高,建模时间长,用户体验差等问题。
在现有技术中,公开号为CN110020633A的中国专利,公开了一种姿态识别模型的训练方法、图像识别方法及装置;姿态识别模型的训练方法包括:将标注有人体关键点的样本图像,输入所述姿态识别模型包括的特征图模型,输出对应所述样本图像的特征图;将所述特征图输入所述姿态识别模型包括的二维模型,输出用于表征二维人体姿态的二维关键点参数;将从所述特征图中剪裁出的目标人体特征图及所述二维关键点信息,输入所述姿态识别模型包括的三维模型,输出用于表征三维人体姿态的三维姿态参数;结合所述二维关键点参数及所述三维姿态参数,构建目标损失函数;基于所述目标损失函数,更新所述姿态识别模型的模型参数。公开号为CN110427877A的中国专利,公开了一种基于结构信息的人体三维姿态估算的方法,包括以下步骤:将单目RGB图像输入到二维姿态检测器中,获取所述单目RGB图像中人体的各个关节的关节点坐标;构建人体姿态拓扑图及其拉普拉斯矩阵L;构建基于关节点结构信息的图卷积网络;在三维姿态估计数据集上对所述图卷积网络进行预训练;将所述姿态拓扑图及所述拉普拉斯矩阵L输入到所述图卷积网络中,输出人体三维姿态。本发明使用图卷积进行人体三维姿态识别,充分学习到人体的全身结构信息;利用注意力机制和兼顾关节局部结构的损失函数,从全局和局部两个方面学习关节点结构信息。
现有传统的三维人体重建方法步骤繁琐复杂,需要借助深度相机等工具的三维动画制作方式进行动画转换,计算复杂度高,建模时间长,不能够直接将视频转换为三维动画效果,人机交互功能不足,存在用户体验差等问题。
发明内容:
本发明的目的在于克服现有技术存在的缺点,寻求设计一种人体姿态与虚拟三维动画形象联动的方法,能够摒除传统方法需借助深度相机等工具的三维动画制作方式,实现简单、精准地将人体姿态以三维虚拟形象进行实时展示的动画制作。
为了实现上述目的,本发明涉及的一种三维人体重构动画方法,具体工艺步骤如下:
S1、获取人体三维姿态估计
将连续16帧图像组成的视频帧序列V={I1,I2,…,I16},使用HRNet(高分辨率网络)模型分别对单张图像进行高分辨率特征提取,获得高分辨率特征序列F={f1,f2,…,f16},将高分辨率特征序列F={f1,f2,…,f16}输入时间生成器,获得人体姿态参数序列P={p1,p2,…,p16},其中第i帧图像对应的人体姿态参数pi=(xi,Xiii);将人体姿态参数序列P={p1,p2,…,p16}输入运动判别器,得到概率值序列d={d1,d2,…,d16},通过概率值判断生成的人体运动姿态序列是否合理有效;同时构建时间生成器损失函数计算损失值,保证生成正确的人体姿态序列;采用运动判断器损失函数修正运动判断器,使得运动判断器能够正确判断输入的人体姿态序列是否真实合理;选定Train Dataset提供训练样本,进行生成对抗网络模型的对抗训练;选定AMASS数据集为生成对抗网络模型的对抗训练提供真实样本,帮助运动判别器区分真实和假冒样本;最终得到训练好的生成对抗网络模型;
选取总帧数为N的单人的视频段,输入训练好的生成对抗网络模型中,获得人体姿态参数序列P={p1,p2,…,pN},提取姿态参数中的关节点三维旋转角,组成人体关节点三维旋转角序列θpre={θ12,…,θN},得到人体三维姿态估计,其中第i帧的人体关节点三维旋转角
Figure BDA0002485494960000031
S2、平滑人体运动过程中关节点的三维旋转角
采用Savizkg-Golag五点二次平滑算法对运动过程中的每个关节点三维旋转角θi进行平滑处理,平滑窗口宽度为5,即对连续5帧图像中关节点n的三维旋转角θi进行平滑处理,Savizkg-Golag五点二次平滑算法的公式如下所示:
Figure BDA0002485494960000032
其中,
Figure BDA0002485494960000033
Figure BDA0002485494960000034
为平滑窗口中关节点n的绕x轴旋转角向量,
Figure BDA0002485494960000035
为关节点n平滑后的绕x轴旋转角向量,i表示窗口中心的帧序号,
Figure BDA0002485494960000036
Figure BDA0002485494960000037
分别为关节点n绕y轴和z轴的旋转角向量,
Figure BDA0002485494960000038
Figure BDA0002485494960000039
为关节点n平滑后的绕y和z轴的旋转角向量;
S3、绑定人体与三维卡通模型的关节点
S3.1创建三维卡通模型及其关节点
通过网络下载或者建模软件创建一个初始三维卡通模型,并利用开源软件blender创建生成其关节点集合Bv={b′head,b′left_hand,b′right_elbow,…,b′neck},Bv与人体关节点集合B保持相同的树状结构:
S3.2人体与三维卡通模型关节点绑定
引入开源的Unity3D动态链接库,创建字典项,实现人体23个关节点B={bhead,bleft_hand,bright_elbow,…,bneck}与三维卡通模型关节点Bv={b′head,b′left_hand,b′right_elbow,…,b′neck}的相同关节点的一对一绑定;
S4、更新三维卡通模型动作
将S2中计算得到的每一帧人体关节点的三维旋转角更新至三维卡通模型对应关节点的三维旋转角中,利用Unity3D的渲染效果,实现三维卡通模型的姿态同步变化。
本发明所述生成对抗网络模型由时间生成器和运动判别器组合构成;包括MPI-INF-3DHP数据集、Human3.6M数据集、3DPW数据集这三个数据集在内的Train Dataset将视频帧序列传输至HRNet模型,HRNet模型的输出端与时间生成器的接收端连接,时间生成器的输出端、AMASS数据集的输出端与运动判别器的接收端连接,AMASS数据集将真实样本Pr={pr1,pr2,…,pr16}传输给运动判别器;其中HRNet模型是特征提取用的网络模型,HRNet模型分为三个并行网络,第一行是主网络,第二、三行是子网络,其对应的特征图分辨率分别为rorg
Figure BDA0002485494960000041
Figure BDA0002485494960000042
特征图之间的融合是对应位置的元素加和,融合后特征图通道数不变;时间生成器由GRU_1、GRU_2、线性层构成,GRU_1和GRU_2为两个连续的门控循环单元,GRU门控机制能够保留之前的重要信息,选择性遗忘不重要的信息,保留人体姿态变化的历史有效信息,每个GRU的隐含单元个数均为1024;运动判别器包含GRU_3、GRU_4、Self-Attention、MLP,其中GRU_3和GRU_4为两个连续的门控循环单元;Self-Attention用来确定对结果贡献最大的帧;MLP为多层感知机,用于训练注意力权重;MLP包含一个输入层、一个隐含层、一个输出层,MLP输入层的神经元个数为1024,MLP隐含层的激活函数为tanh。
本发明所述步骤S1的具体过程为:
S1.1构建人体三维姿态估计的生成对抗网络模型,进行人体三维姿态估计S1.1.1高分辨率特征提取
对生成对抗网络模型进行模型训练时,获取Train Dataset的单人运动视频中连续的16帧图像,并将每帧图像的尺寸裁剪为256×192大小,剪裁后的16帧图像组成视频帧序列V={I1,I2,…,I16},作为一个处理单元;使用预训练的HRNet模型,分别对视频帧序列V中的单张图像进行高分辨率特征提取,获得高分辨率特征序列F={f1,f2,…,f16};
S1.1.2时间生成器(Temporal Generator)进行特征序列转化
将获得的高分辨率特征序列F={f1,f2,…,f16}输入时间生成器,经过时间生成器的GRU_1和GRU_2后,生成每一帧的隐含特征向量gi,gi通过线性层输出得到人体姿态参数pi,从而获得人体姿态参数序列P={p1,p2,…,p16};其中第i帧图像对应的人体姿态参数pi=(xi,Xiii),x、X、θ、β是由时间生成器生成的预测值,x表示第i帧图像中人体23个关节点B={bhead,bleft_hand,bright_elbow,…,bneck}的二维坐标,其长度为23×2=46,X表示第i帧图像中人体23个关节点的三维坐标,其长度为23×3=69,θ表示人体模型中心点0相对于世界坐标系的三维转换角度以及人体23个关节点相对其父节点的三维旋转角度,其长度为3+23×3=72,β为人体的体型参数,其长度为10,用于控制人体高矮胖瘦和肢体比例;
S1.1.3运动判别器(Motion Discriminator)对人体运动姿态序列是否合理有效进行判断
采用运动判别器来判断生成的人体运动姿态序列是否合理有效,运动判别器的判断过程具体如下:
S1.1.3.1、输入每一帧人体姿态参数pi,经过GRU_3和GRU_4,生成每一帧的隐含状态hi,并输入Self-Attention中获得注意力R={r1,r2,…,r1024};
S1.1.3.2、将上步骤S1.1.3.1中计算获得的注意力R输入MLP,最终输出人体姿态序列是否为真的概率值序列d={d1,d2,…,d16},其中若d>0.5即为真,人体运动姿态序列是合理有效的;若d≤0.5即为假,人体运动姿态序列是伪造不合理的;
S1.1.4构建时间生成器损失函数
时间生成器的作用就是将输入视频帧序列转换生成正确的人体姿态参数序列,为保证生成正确的人体姿态序列,构建时间生成器损失函数如下:
Figure BDA0002485494960000061
其中,Ladv=E[(d-1)2],λX=λx=300,λβ=0.06,λθ=60,λadv=2;对抗损失值Ladv为训练数据生成的人体姿态概率值序列d的期望,期望是根据期望公式和概率值计算得到;λ分别为各自损失值的系数;x、X、θ、β真实值是输入的训练数据,由Train Dataset数据集提供;
由上式可知,通过分别对人体姿态参数中的人体二维关节点坐标x、三维关节点坐标X、关节点三维旋转角θ、人体形状β进行预测值与真实值之间差值的2-范数运算,得到其损失值,损失值越低,人体姿态参数序列的正确性越大;
S1.1.5构建运动判断器损失函数
采用运动判断器损失函数修正运动判断器,使得运动判断器能够正确判断输入的人体姿态序列是真实的还是伪造不合理的,构建运动判断器损失函数如下:
LD=Ε[(dr-1)2]+Ε[(d)2]
其中,dr为AMASS数据集中真实的人体姿态参数序列经过运动判别器生成的概率值序列;
S1.1.6模型训练
选定MPI-INF-3DHP、Human3.6M、3DPW数据集组成的Train Dataset提供训练样本,进行生成对抗网络模型的对抗训练;选定AMASS数据集为生成对抗网络模型的对抗训练提供真实样本,帮助运动判别器区分真实和假冒样本;
按照步骤S1.1.1在训练模型时每16帧为一个处理单元,生成对抗网络模型的batch_size设为64,即表示一次训练同时输入64个处理单元;
S1.1.7获取人体三维姿态估计
选取总帧数为N的单人的视频段,输入训练好的生成对抗网络模型中,获得人体姿态参数序列P={p1,p2,…,pN},提取姿态参数中的关节点三维旋转角,组成人体关节点三维旋转角序列θpre={θ12,…,θN},得到人体三维姿态估计,其中第i帧的人体关节点三维旋转角
Figure BDA0002485494960000071
Figure BDA0002485494960000072
Figure BDA0002485494960000073
分别表示第i帧图像中人体第n个关节点相对于其父关节点绕x/y/z轴的旋转角,n∈{1,2,3,…,23}。
本发明与现有技术相比,所设计的三维人体重构动画的方法具有如下有益效果:能够直接将视频转换为三维动画效果,人机交互效果良好;采用生成对抗网络模型,不需要标定样本,大大降低前期样本准备工作量;借助AMASS模型参与模型训练,同时在损失函数计算中引入关节点二维坐标、三维坐标、三维旋转角、人体体型参数的偏差值以及对抗损失值,大大提升模型精度,本发明应用环境友好,极具市场前景。
附图说明:
图1为本发明涉及的生成对抗网络(GAN)模型的结构原理示意框图。
图2为本发明涉及的HRNet(高分辨率网络)模型的结构原理示意框图。
图3为本发明涉及的时间生成器的结构原理示意框图。
图4为本发明涉及的运动判别器的结构原理示意框图。
图5为本发明涉及的Self-Attention的结构原理示意框图。
图6为本发明涉及的人体的23个关节点的示意图。
图7为本发明涉及的人体关节点树状结构的示意图。
图8为本发明涉及的初始三维动画模型的示意图。
图9为本发明涉及的关节点集合Bv的树状结构的示意图。
图10为本发明涉及的待处理的原始视频帧的示意图。
图11为本发明涉及的对图10的原始视频帧处理得到的人体三维模型的示意图。
图12为本发明涉及的对图11的人体三维模型处理后得到的三维卡通模型的示意图。
具体实施方式:
下面通过实施例并结合附图对本发明作进一步说明。
实施例1:
本实施例涉及的一种三维人体重构动画的方法,工艺步骤如下:
S1、获取人体三维姿态估计
将连续16帧图像组成的视频帧序列V={I1,I2,…,I16},使用HRNet(高分辨率网络)模型分别对单张图像进行高分辨率特征提取,获得高分辨率特征序列F={f1,f2,…,f16},将高分辨率特征序列F={f1,f2,…,f16}输入时间生成器,获得人体姿态参数序列P={p1,p2,…,p16},其中第i帧图像对应的人体姿态参数pi=(xi,Xiii);将人体姿态参数序列P={p1,p2,…,p16}输入运动判别器,得到概率值序列d={d1,d2,…,d16},通过概率值判断生成的人体运动姿态序列是否合理有效;同时构建时间生成器损失函数计算损失值,保证生成正确的人体姿态序列;采用运动判断器损失函数修正运动判断器,使得运动判断器能够正确判断输入的人体姿态序列是否真实合理;选定Train Dataset提供训练样本,进行生成对抗网络模型的对抗训练;选定AMASS数据集为生成对抗网络模型的对抗训练提供真实样本,帮助运动判别器区分真实和假冒样本;最终得到训练好的生成对抗网络模型;
选取总帧数为N的单人的视频段,输入训练好的生成对抗网络模型中,获得人体姿态参数序列P={p1,p2,…,pN},提取姿态参数中的关节点三维旋转角,组成人体关节点三维旋转角序列θpre={θ12,…,θN},得到人体三维姿态估计,其中第i帧的人体关节点三维旋转角
Figure BDA0002485494960000091
具体过程如下:
S1.1构建人体三维姿态估计的生成对抗网络模型,进行人体三维姿态估计
本步骤中采用生成对抗网络(GAN)模型进行人体三维姿态估计,生成对抗网络模型的结构如图1所示:生成对抗网络模型由时间生成器(Temporal Generator)和运动判别器(Motion Discriminator)组合构成;其中Train Dataset(训练数据集)、AMASS数据集(AMASS Dataset)是生成对抗网络模型进行模型训练时用到的数据集,包括MPI-INF-3DHP数据集、Human3.6M数据集、3DPW数据集这三个数据集在内的Train Dataset将视频帧序列传输至HRNet模型,HRNet模型的输出端与时间生成器的接收端连接,时间生成器的输出端、AMASS数据集的输出端与运动判别器的接收端连接,AMASS数据集将真实样本Pr={pr1,pr2,…,pr16}传输给运动判别器;其中HRNet模型(HRNet Encoder)是特征提取用的现成的网络模型,HRNet结构如图2所示:图2中→表示卷积操作,↗表示最近邻插值上采样和1×1卷积操作,↘表示3×3下采样卷积操作;HRNet分为三个并行网络,如图2所示,第一行是主网络,第二、三行是子网络,其对应的特征图分辨率分别为rorg(原图分辨率)、
Figure BDA0002485494960000101
特征图之间的融合是对应位置的元素加和,融合后特征图通道数不变;时间生成器结构如图3所示,时间生成器由GRU_1、GRU_2、线性层(Linear Layer)构成,GRU_1和GRU_2为两个连续的门控循环单元(Gate Recurrent Unit),GRU门控机制能够保留之前的重要信息,选择性遗忘不重要的信息(GRU门控机制能够在模型训练过程中选择性的保留和遗忘一些信息,保留下来的信息如果能够在通过线性层后生成逼真的人体姿态,就说明保留的是重要信息,也就说明了遗忘的信息对生成逼真的人体姿态没有作用,为不重要的信息),保留人体姿态变化的历史有效信息,本步骤中GRU的隐含单元个数均为1024;运动判别器结构如图4所示,运动判别器包含GRU_3、GRU_4、Self-Attention、MLP,其中GRU_3和GRU_4为两个连续的门控循环单元;Self-Attention(自注意力机制)用来确定对结果贡献最大的帧,Self-Attention的结构如图5所示;MLP为多层感知机(Multi LayerPerceptron),用于训练注意力权重;MLP包含一个输入层、一个隐含层、一个输出层,MLP输入层的神经元个数为1024,MLP隐含层的激活函数为tanh;
S1.1.1高分辨率特征提取
对生成对抗网络模型进行模型训练时,获取Train Dataset的单人运动视频中连续的16帧图像,并将每帧图像的尺寸裁剪为256×192大小,剪裁后的16帧图像组成视频帧序列V={I1,I2,…,I16},作为一个处理单元;使用预训练的HRNet(高分辨率网络)模型,分别对视频帧序列V中的单张图像进行高分辨率特征提取;HRNet模型的主要特点是在特征提取的整个过程中使特征图(Feature Map)始终保持高分辨率,通过在高分辨率特征图主网络逐渐并行加入低分辨率特征图子网络、以及各并行主网络、子网络之间相互交换信息,实现多尺度融合与特征提取,最终输出每帧的高分辨率特征,由此获得高分辨率特征序列F={f1,f2,…,f16};
S1.1.2时间生成器(Temporal Generator)进行特征序列转化将获得的高分辨率特征序列F={f1,f2,…,f16}输入时间生成器,经过时间生成器的GRU_1和GRU_2后,生成每一帧的隐含特征向量gi,gi通过线性层输出得到人体姿态参数pi,从而获得人体姿态参数序列P={p1,p2,…,p16};其中第i帧图像对应的人体姿态参数pi=(xi,Xiii),由时间生成器生成x、X、θ、β的预测值,x表示第i帧图像中人体23个关节点B={bhead,bleft_hand,bright_elbow,…,bneck}的二维坐标,其长度为23×2=46,X表示第i帧图像中人体23个关节点的三维坐标,其长度为23×3=69,θ表示人体模型中心点0相对于世界坐标系的三维转换角度以及人体23个关节点相对其父节点的三维旋转角度(参考SMPL模型,将人体的23个关节点划分为树状结构,人体的23个关节点如图6所示,人体关节点树状结构如图7所示,其中父节点为下面有分支的节点,子节点为分支上的节点;每个子关节点从属于其父关节点),其长度为3+23×3=72,β为人体的体型参数,其长度为10,用于控制人体高矮胖瘦和肢体比例;
S1.1.3运动判别器(Motion Discriminator)对人体运动姿态序列是否合理有效进行判断
当只针对单张图像中的人体进行姿态估计时,由于缺乏动作连续性的辅助判断,很容易将错误的姿态判定为正常,因此本步骤中采用运动判别器来判断生成的人体运动姿态序列是否合理有效,防止上述问题发生,运动判别器的判断过程具体如下:
S1.1.3.1、输入每一帧人体姿态参数pi,经过GRU_3和GRU_4,生成每一帧的隐含状态hi,并输入Self-Attention中获得注意力R={r1,r2,…,r1024};
S1.1.3.2、将上步骤S1.1.3.1中计算获得的注意力R输入MLP,最终输出人体姿态序列是否为真的概率值序列d={d1,d2,…,d16},其中若d>0.5即为真,人体运动姿态序列是合理有效的;若d≤0.5即为假,人体运动姿态序列是伪造不合理的;
S1.1.4构建时间生成器损失函数
时间生成器的作用就是将输入视频帧序列转换生成正确的人体姿态参数序列,为保证生成正确的人体姿态序列,本步骤构建时间生成器损失函数如下:
Figure BDA0002485494960000121
其中,Ladv=E[(d-1)2],λX=λx=300,λβ=0.06,λθ=60,λadv=2;对抗损失值Ladv为训练数据生成的人体姿态概率值序列d的期望,期望是根据期望公式和概率值计算得到;λ分别为各自损失值的系数;
由上式中可以看到,本步骤分别对人体姿态参数中的人体二维关节点坐标x、三维关节点坐标X、关节点三维旋转角θ、人体形状β进行预测值与真实值之间差值的2-范数运算,得到其损失值,损失值越低,人体姿态参数序列的正确性越大;x、X、θ、β真实值是输入的训练数据,由Train Dataset数据集提供;
S1.1.5构建运动判断器损失函数
运动判断器的目标是能够准确判别人体姿态参数序列是否真实,采用运动判断器损失函数修正运动判断器,使得运动判断器能够正确判断输入的人体姿态序列是真实的还是伪造不合理的,本步骤构建运动判断器损失函数如下:
LD=Ε[(dr-1)2]+Ε[(d)2]
其中,dr为AMASS数据集中真实的人体姿态参数序列经过运动判别器生成的概率值序列;
S1.1.6模型训练
选定MPI-INF-3DHP、Human3.6M、3DPW数据集组成的Train Dataset提供训练样本,进行生成对抗网络模型的对抗训练;选定AMASS数据集为生成对抗网络模型的对抗训练提供真实样本,帮助运动判别器区分真实和假冒样本;
按照S1.1.1说明,训练模型时每16帧为一个处理单元,生成对抗网络模型的batch_size设为64,即表示一次训练同时输入64个处理单元;
S1.1.7获取人体三维姿态估计
选取总帧数为N的单人的视频段,输入训练好的生成对抗网络模型中,获得人体姿态参数序列P={p1,p2,…,pN},提取姿态参数中的关节点三维旋转角,组成人体关节点三维旋转角序列θpre={θ12,…,θN},得到人体三维姿态估计,其中第i帧的人体关节点三维旋转角
Figure BDA0002485494960000131
Figure BDA0002485494960000132
Figure BDA0002485494960000133
分别表示第i帧图像中人体第n个关节点相对于其父关节点绕x/y/z轴的旋转角,n∈{1,2,3,…,23};
S2、平滑人体运动过程中关节点的三维旋转角
为保障生成动画效果中三维模型的姿态变化更为平滑和真实,本发明中采用Savizkg-Golag五点二次平滑算法对运动过程中的每个关节点三维旋转角θi进行平滑处理,平滑窗口宽度为5,即对连续5帧图像中关节点n的三维旋转角θi进行平滑处理,Savizkg-Golag五点二次平滑算法的公式如下所示:
Figure BDA0002485494960000134
其中,
Figure BDA0002485494960000141
Figure BDA0002485494960000142
为平滑窗口中关节点n的绕x轴旋转角向量,
Figure BDA0002485494960000143
为关节点n平滑后的绕x轴旋转角向量,i表示窗口中心的帧序号,
Figure BDA0002485494960000144
Figure BDA0002485494960000145
分别为关节点n绕y轴和z轴的旋转角向量,
Figure BDA0002485494960000146
Figure BDA0002485494960000147
为关节点n平滑后的绕y和z轴的旋转角向量。
S3、绑定人体与三维卡通模型的关节点
S3.1创建三维卡通模型及其关节点
通过网络下载或者建模软件创建一个初始三维卡通模型,本发明中采用初始三维卡通模型如图8所示,并利用开源软件blender创建生成其关节点集合Bv={b′head,b′left_hand,b′right_elbow,…,b′neck},Bv与人体关节点集合B保持相同的树状结构,如图9所示:
S3.2人体与三维卡通模型关节点绑定
引入开源的Unity3D动态链接库,创建字典项,实现人体23个关节点B={bhead,bleft_hand,bright_elbow,…,bneck}与三维卡通模型关节点Bv={b′head,b′left_hand,b′right_elbow,…,b′neck}的相同关节点的一对一绑定。
S4、更新三维卡通模型动作
将S2中计算得到的每一帧人体关节点的三维旋转角更新至三维卡通模型对应关节点的三维旋转角中,利用Unity3D的渲染效果,实现三维卡通模型的姿态同步变化,如图所示,其中图10为原始视频帧,图11为对应帧的人体三维模型,图12为对应帧的三维卡通模型。
本实施例涉及的三维人体重构动画的的方法可以应用于人机互动娱乐的手机应用,利用摄像头拍摄的人的运动/跳舞视频生成其对应的虚拟三维卡通形象的运动/跳舞动画,可以应用于网络社交中,以极具趣味性的三维卡通形象和真实的肢体动作与网友进行互动,也可以应用到三维动画制作,直接由人表演动作后生成三维动画,极大简化三维动作制作的复杂度。

Claims (4)

1.一种三维人体重构动画方法,其特征在于:具体工艺步骤如下:
S1、获取人体三维姿态估计
将连续16帧图像组成的视频帧序列V={I1,I2,…,I16},使用HRNet(高分辨率网络)模型分别对单张图像进行高分辨率特征提取,获得高分辨率特征序列F={f1,f2,…,f16},将高分辨率特征序列F={f1,f2,…,f16}输入时间生成器,获得人体姿态参数序列P={p1,p2,…,p16},其中第i帧图像对应的人体姿态参数pi=(xi,Xiii);将人体姿态参数序列P={p1,p2,…,p16}输入运动判别器,得到概率值序列d={d1,d2,…,d16},通过概率值判断生成的人体运动姿态序列是否合理有效;同时构建时间生成器损失函数计算损失值,保证生成正确的人体姿态序列;采用运动判断器损失函数修正运动判断器,使得运动判断器能够正确判断输入的人体姿态序列是否真实合理;选定Train Dataset提供训练样本,进行生成对抗网络模型的对抗训练;选定AMASS数据集为生成对抗网络模型的对抗训练提供真实样本,帮助运动判别器区分真实和假冒样本;最终得到训练好的生成对抗网络模型;
选取总帧数为N的单人的视频段,输入训练好的生成对抗网络模型中,获得人体姿态参数序列P={p1,p2,…,pN},提取姿态参数中的关节点三维旋转角,组成人体关节点三维旋转角序列θpre={θ12,…,θN},得到人体三维姿态估计,其中第i帧的人体关节点三维旋转角
Figure FDA0002485494950000011
S2、平滑人体运动过程中关节点的三维旋转角
采用Savizkg-Golag五点二次平滑算法对运动过程中的每个关节点三维旋转角θi进行平滑处理,平滑窗口宽度为5,即对连续5帧图像中关节点n的三维旋转角θi进行平滑处理,Savizkg-Golag五点二次平滑算法的公式如下所示:
Figure FDA0002485494950000012
其中,
Figure FDA0002485494950000021
Figure FDA0002485494950000022
为平滑窗口中关节点n的绕x轴旋转角向量,
Figure FDA0002485494950000023
为关节点n平滑后的绕x轴旋转角向量,i表示窗口中心的帧序号,
Figure FDA0002485494950000024
Figure FDA0002485494950000025
分别为关节点n绕y轴和z轴的旋转角向量,
Figure FDA0002485494950000026
Figure FDA0002485494950000027
为关节点n平滑后的绕y和z轴的旋转角向量;
S3、绑定人体与三维卡通模型的关节点
S3.1创建三维卡通模型及其关节点
通过网络下载或者建模软件创建一个初始三维卡通模型,并利用开源软件blender创建生成其关节点集合Bv={b'head,b'left_hand,b'right_elbow,…,b'neck},Bv与人体关节点集合B保持相同的树状结构:
S3.2人体与三维卡通模型关节点绑定
引入开源的Unity3D动态链接库,创建字典项,实现人体23个关节点B={bhead,bleft_hand,bright_elbow,…,bneck}与三维卡通模型关节点Bv={b'head,b'left_hand,b'right_elbow,…,b'neck}的相同关节点的一对一绑定;
S4、更新三维卡通模型动作
将S2中计算得到的每一帧人体关节点的三维旋转角更新至三维卡通模型对应关节点的三维旋转角中,利用Unity3D的渲染效果,实现三维卡通模型的姿态同步变化。
2.根据权利要求1所述的三维人体重构动画方法,其特征在于:生成对抗网络模型由时间生成器和运动判别器组合构成;包括MPI-INF-3DHP数据集、Human3.6M数据集、3DPW数据集这三个数据集在内的Train Dataset将视频帧序列传输至HRNet模型,HRNet模型的输出端与时间生成器的接收端连接,时间生成器的输出端、AMASS数据集的输出端与运动判别器的接收端连接,AMASS数据集将真实样本Pr={pr1,pr2,…,pr16}传输给运动判别器。
3.根据权利要求2所述的三维人体重构动画方法,其特征在于:所述HRNet模型是特征提取用的网络模型,HRNet模型分为三个并行网络,第一行是主网络,第二、三行是子网络,其对应的特征图分辨率分别为rorg
Figure FDA0002485494950000031
特征图之间的融合是对应位置的元素加和,融合后特征图通道数不变;时间生成器由GRU_1、GRU_2、线性层构成,GRU_1和GRU_2为两个连续的门控循环单元,GRU门控机制能够保留之前的重要信息,选择性遗忘不重要的信息,保留人体姿态变化的历史有效信息,每个GRU的隐含单元个数均为1024;运动判别器包含GRU_3、GRU_4、Self-Attention、MLP,其中GRU_3和GRU_4为两个连续的门控循环单元;Self-Attention用来确定对结果贡献最大的帧;MLP为多层感知机,用于训练注意力权重;MLP包含一个输入层、一个隐含层、一个输出层,MLP输入层的神经元个数为1024,MLP隐含层的激活函数为tanh。
4.根据权利要求3所述的三维人体重构动画方法,其特征在于:所述步骤S1的具体过程为:
S1.1构建人体三维姿态估计的生成对抗网络模型,进行人体三维姿态估计S1.1.1高分辨率特征提取
对生成对抗网络模型进行模型训练时,获取Train Dataset的单人运动视频中连续的16帧图像,并将每帧图像的尺寸裁剪为256×192大小,剪裁后的16帧图像组成视频帧序列V={I1,I2,…,I16},作为一个处理单元;使用预训练的HRNet模型,分别对视频帧序列V中的单张图像进行高分辨率特征提取,获得高分辨率特征序列F={f1,f2,…,f16};
S1.1.2时间生成器(Temporal Generator)进行特征序列转化
将获得的高分辨率特征序列F={f1,f2,…,f16}输入时间生成器,经过时间生成器的GRU_1和GRU_2后,生成每一帧的隐含特征向量gi,gi通过线性层输出得到人体姿态参数pi,从而获得人体姿态参数序列P={p1,p2,…,p16};其中第i帧图像对应的人体姿态参数pi=(xi,Xiii),x、X、θ、β是由时间生成器生成的预测值,x表示第i帧图像中人体23个关节点B={bhead,bleft_hand,bright_elbow,…,bneck}的二维坐标,其长度为23×2=46,X表示第i帧图像中人体23个关节点的三维坐标,其长度为23×3=69,θ表示人体模型中心点0相对于世界坐标系的三维转换角度以及人体23个关节点相对其父节点的三维旋转角度,其长度为3+23×3=72,β为人体的体型参数,其长度为10,用于控制人体高矮胖瘦和肢体比例;
S1.1.3运动判别器(Motion Discriminator)对人体运动姿态序列是否合理有效进行判断
采用运动判别器来判断生成的人体运动姿态序列是否合理有效,运动判别器的判断过程具体如下:
S1.1.3.1、输入每一帧人体姿态参数pi,经过GRU_3和GRU_4,生成每一帧的隐含状态hi,并输入Self-Attention中获得注意力R={r1,r2,…,r1024};
S1.1.3.2、将上步骤S1.1.3.1中计算获得的注意力R输入MLP,最终输出人体姿态序列是否为真的概率值序列d={d1,d2,…,d16},其中若d>0.5即为真,人体运动姿态序列是合理有效的;若d≤0.5即为假,人体运动姿态序列是伪造不合理的;
S1.1.4构建时间生成器损失函数
时间生成器的作用就是将输入视频帧序列转换生成正确的人体姿态参数序列,为保证生成正确的人体姿态序列,构建时间生成器损失函数如下:
Figure FDA0002485494950000041
其中,Ladv=E[(d-1)2],λX=λx=300,λβ=0.06,λθ=60,λadv=2;对抗损失值Ladv为训练数据生成的人体姿态概率值序列d的期望,期望是根据期望公式和概率值计算得到;λ分别为各自损失值的系数;x、X、θ、β真实值是输入的训练数据,由Train Dataset数据集提供;
由上式可知,通过分别对人体姿态参数中的人体二维关节点坐标x、三维关节点坐标X、关节点三维旋转角θ、人体形状β进行预测值与真实值之间差值的2-范数运算,得到其损失值,损失值越低,人体姿态参数序列的正确性越大;
S1.1.5构建运动判断器损失函数
采用运动判断器损失函数修正运动判断器,使得运动判断器能够正确判断输入的人体姿态序列是真实的还是伪造不合理的,构建运动判断器损失函数如下:
LD=Ε[(dr-1)2]+Ε[(d)2]
其中,dr为AMASS数据集中真实的人体姿态参数序列经过运动判别器生成的概率值序列;
S1.1.6模型训练
选定MPI-INF-3DHP、Human3.6M、3DPW数据集组成的Train Dataset提供训练样本,进行生成对抗网络模型的对抗训练;选定AMASS数据集为生成对抗网络模型的对抗训练提供真实样本,帮助运动判别器区分真实和假冒样本;
按照步骤S1.1.1在训练模型时每16帧为一个处理单元,生成对抗网络模型的batch_size设为64,即表示一次训练同时输入64个处理单元;
S1.1.7获取人体三维姿态估计
选取总帧数为N的单人的视频段,输入训练好的生成对抗网络模型中,获得人体姿态参数序列P={p1,p2,…,pN},提取姿态参数中的关节点三维旋转角,组成人体关节点三维旋转角序列θpre={θ12,…,θN},得到人体三维姿态估计,其中第i帧的人体关节点三维旋转角
Figure FDA0002485494950000061
Figure FDA0002485494950000062
Figure FDA0002485494950000063
分别表示第i帧图像中人体第n个关节点相对于其父关节点绕x/y/z轴的旋转角,n∈{1,2,3,…,23}。
CN202010390370.6A 2020-05-11 2020-05-11 一种三维人体重构动画的方法 Active CN111553968B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010390370.6A CN111553968B (zh) 2020-05-11 2020-05-11 一种三维人体重构动画的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010390370.6A CN111553968B (zh) 2020-05-11 2020-05-11 一种三维人体重构动画的方法

Publications (2)

Publication Number Publication Date
CN111553968A true CN111553968A (zh) 2020-08-18
CN111553968B CN111553968B (zh) 2022-05-24

Family

ID=72004559

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010390370.6A Active CN111553968B (zh) 2020-05-11 2020-05-11 一种三维人体重构动画的方法

Country Status (1)

Country Link
CN (1) CN111553968B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112183316A (zh) * 2020-09-27 2021-01-05 中山大学 一种运动员人体姿态测量方法
CN112308952A (zh) * 2020-10-15 2021-02-02 复旦大学 模仿给定视频中人物动作的3d角色动作生成系统和方法
CN112870704A (zh) * 2021-03-18 2021-06-01 腾讯科技(深圳)有限公司 一种游戏数据处理方法、装置及存储介质
CN112949462A (zh) * 2021-02-26 2021-06-11 平安科技(深圳)有限公司 三维人体姿态的估计方法、装置、设备及存储介质
CN113051420A (zh) * 2021-04-15 2021-06-29 山东大学 一种基于文本生成视频机器人视觉人机交互方法及系统
CN113139424A (zh) * 2021-03-09 2021-07-20 杭州电子科技大学 面向人体高保真视觉内容的多特征协同生成系统及方法
CN113158766A (zh) * 2021-02-24 2021-07-23 北京科技大学 面向无人驾驶的基于姿态估计的行人行为识别方法
CN113762015A (zh) * 2021-01-05 2021-12-07 北京沃东天骏信息技术有限公司 一种图像处理方法和装置
CN116612495A (zh) * 2023-05-05 2023-08-18 阿里巴巴(中国)有限公司 图像处理方法及装置
CN117726760A (zh) * 2024-02-07 2024-03-19 之江实验室 一种用于视频的三维人体重建模型的训练方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090153569A1 (en) * 2007-12-17 2009-06-18 Electronics And Telecommunications Research Institute Method for tracking head motion for 3D facial model animation from video stream
WO2015188685A1 (zh) * 2014-06-12 2015-12-17 深圳奥比中光科技有限公司 基于深度相机的人体模型获取方法及网络虚拟试衣系统
CN107392097A (zh) * 2017-06-15 2017-11-24 中山大学 一种单目彩色视频的三维人体关节点定位方法
CN110427877A (zh) * 2019-08-01 2019-11-08 大连海事大学 一种基于结构信息的人体三维姿态估算的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090153569A1 (en) * 2007-12-17 2009-06-18 Electronics And Telecommunications Research Institute Method for tracking head motion for 3D facial model animation from video stream
WO2015188685A1 (zh) * 2014-06-12 2015-12-17 深圳奥比中光科技有限公司 基于深度相机的人体模型获取方法及网络虚拟试衣系统
CN107392097A (zh) * 2017-06-15 2017-11-24 中山大学 一种单目彩色视频的三维人体关节点定位方法
CN110427877A (zh) * 2019-08-01 2019-11-08 大连海事大学 一种基于结构信息的人体三维姿态估算的方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112183316A (zh) * 2020-09-27 2021-01-05 中山大学 一种运动员人体姿态测量方法
CN112183316B (zh) * 2020-09-27 2023-06-30 中山大学 一种运动员人体姿态测量方法
CN112308952A (zh) * 2020-10-15 2021-02-02 复旦大学 模仿给定视频中人物动作的3d角色动作生成系统和方法
CN112308952B (zh) * 2020-10-15 2022-11-18 复旦大学 模仿给定视频中人物动作的3d角色动作生成系统和方法
CN113762015A (zh) * 2021-01-05 2021-12-07 北京沃东天骏信息技术有限公司 一种图像处理方法和装置
CN113158766A (zh) * 2021-02-24 2021-07-23 北京科技大学 面向无人驾驶的基于姿态估计的行人行为识别方法
CN112949462B (zh) * 2021-02-26 2023-12-19 平安科技(深圳)有限公司 三维人体姿态的估计方法、装置、设备及存储介质
CN112949462A (zh) * 2021-02-26 2021-06-11 平安科技(深圳)有限公司 三维人体姿态的估计方法、装置、设备及存储介质
WO2022178951A1 (zh) * 2021-02-26 2022-09-01 平安科技(深圳)有限公司 三维人体姿态的估计方法、装置、设备及存储介质
CN113139424A (zh) * 2021-03-09 2021-07-20 杭州电子科技大学 面向人体高保真视觉内容的多特征协同生成系统及方法
CN112870704A (zh) * 2021-03-18 2021-06-01 腾讯科技(深圳)有限公司 一种游戏数据处理方法、装置及存储介质
CN112870704B (zh) * 2021-03-18 2022-11-18 腾讯科技(深圳)有限公司 一种游戏数据处理方法、装置及存储介质
CN113051420A (zh) * 2021-04-15 2021-06-29 山东大学 一种基于文本生成视频机器人视觉人机交互方法及系统
CN116612495A (zh) * 2023-05-05 2023-08-18 阿里巴巴(中国)有限公司 图像处理方法及装置
CN116612495B (zh) * 2023-05-05 2024-04-30 阿里巴巴(中国)有限公司 图像处理方法及装置
CN117726760A (zh) * 2024-02-07 2024-03-19 之江实验室 一种用于视频的三维人体重建模型的训练方法及装置
CN117726760B (zh) * 2024-02-07 2024-05-07 之江实验室 一种用于视频的三维人体重建模型的训练方法及装置

Also Published As

Publication number Publication date
CN111553968B (zh) 2022-05-24

Similar Documents

Publication Publication Date Title
CN111553968B (zh) 一种三维人体重构动画的方法
CN113496507B (zh) 一种人体三维模型重建方法
CN110188598B (zh) 一种基于MobileNet-v2的实时手部姿态估计方法
CN110599573B (zh) 一种基于单目相机的人脸实时交互动画的实现方法
WO2021012352A1 (zh) 一种人体动作编辑模型的生成方法、存储介质及电子设备
CN110473266A (zh) 一种基于姿态指导的保留源场景人物动作视频生成方法
CN113051420B (zh) 一种基于文本生成视频机器人视觉人机交互方法及系统
CN111862294B (zh) 基于ArcGAN网络的手绘3D建筑自动上色网络装置及方法
CN110310351A (zh) 一种基于草图的三维人体骨骼动画自动生成方法
CN113421328A (zh) 一种三维人体虚拟化重建方法及装置
CN104463788A (zh) 基于运动捕捉数据的人体运动插值方法
CN117496072B (zh) 一种三维数字人生成和交互方法及系统
CN113077545B (zh) 一种基于图卷积的从图像中重建着装人体模型的方法
CN111724459A (zh) 一种面向异构人体骨骼的运动重定向的方法及系统
CN110070605A (zh) 一种实时人体无标记动作捕获方法
CN111462274A (zh) 一种基于smpl模型的人体图像合成方法及系统
CN112819951A (zh) 一种基于深度图修复的带遮挡三维人体重建方法
CN117218246A (zh) 图像生成模型的训练方法、装置、电子设备及存储介质
CN113192186B (zh) 基于单帧图像的3d人体姿态估计模型建立方法及其应用
Zhu et al. Mvp-human dataset for 3d human avatar reconstruction from unconstrained frames
CN117711066A (zh) 一种三维人体姿态估计方法、装置、设备及介质
CN115049764B (zh) Smpl参数预测模型的训练方法、装置、设备及介质
CN115761801A (zh) 一种基于视频时序信息的三维人体姿态迁移方法
CN115810219A (zh) 一种基于rgb摄像头的三维手势追踪方法
CN113723163B (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
GR01 Patent grant
GR01 Patent grant