技术领域
[0001] 本
发明涉及的是一种计算机动画技术领域的方法,特别是一种基于多目视频的人体动画生成方法。
背景技术
[0002] 近年来随着数字娱乐业的蓬勃发展,计算机人体动画技术引起了越来越多的关注,在电影动画、三维游戏、
虚拟现实等领域具有广阔的应用前景。当前,如何生成逼真的人体动画已成为
计算机图形学研究中一个非常活跃的领域。
[0003] 近年来,基于运动捕捉的人体动画技术得到广泛应用,其基本思路是利用运动捕获设备高
精度实时地记录下人体每一个关节在三维空间中的
位置,经过后期处理,可以在计算机上重现这些运动数据,并且利用运动重定向方法驱动不同虚拟人物上产生相类似的运动,实现动画制作。目前,常用的运动捕获方法包括机械方法、电磁方法、光学方法和视频的方法。机械方法依靠机械装置来
跟踪和测量人体运动的轨迹,由于机械设备的尺寸和重量问题,使用不便;电磁式方法通过安装在人体关
节点的电磁接收器获取人体运动数据,其优点是速度快、实时性好,但其对
表演者的活动限制较大,不适用于剧烈的运动和表演;光学方法通过对目标上特定光点的监视和跟踪来完成运动捕捉的任务,其优点是表演者活动范围大,无
电缆、机械装置的限制,使用方便,但光学方法后处理时间长,且当运动复杂的时,不同的光点易混淆而产生错误的结果。
[0004] 概括起来,以上三类方法大多需要昂贵的
硬件,需要在人体关键部位粘贴标记,妨碍了人体的自由运动,且往往只能在特点的工作环境下应用。总的来说,用户更容易接受一种成本低、非强迫、非
接触式运动捕捉技术。视频方法由于只利用普通摄像机、无需标记点、对运动无限制,近年来得到研究者的重视。按照使用摄像机的数目不同,运动捕获的视频方法可分为单目视频方法、多目视频方法。
[0005] (1)单目视频方法:基于单目视频的人体运动捕获方法(文献1.苏延超,
艾海舟,劳世竑,图像和视频中基于部件检测器的人体
姿态估计,
电子与信息学报,2010,33(6):1413-1419)是个病态问题,由于深度信息的丢失导致图像与姿态之间的映射存在多义性,使得单目视频方法分析结果精度低,实际应用效果差。
[0006] (2)多目视频方法:相对于单目视频,多目视频由于利用了多视
角信息,可有效克服单目视频无法解决的映射多义、遮挡等难题,可有效提高运动分析的精度和鲁棒性。John利用多目视频实现了人体运动捕获(文献2.Vijay John,Emanuele Trucco,Spela Ivekovic.Markerless human articulated tracking using hierarchical particle swarm optimization.Image and Vision Computing.2010,28(11):1530-1547.),可支持三维人体动画生成。但该方法在高维人体空间中进行运动分析,计算效率低,难以满足实时应用需求;Zhao和Liu利用多目视频且在低维空间中进行运动数据捕获(文献3.Zhao Xu,Liu Yun Cai.Generative tracking of 3D human motion by hierarchical annealed genetic algorithm.Pattern Recognition.2008,41(8):2470-2483),但该方法利用多摄像机视觉之和建立评价函数,无法保证每个视角的最佳匹配,运动捕获的精度低。
发明内容
[0007] 本发明的目的在于提供一种基于多目视频的人体动画生成方法,从而实现基于视频的快速、逼真的三维人体动画生成。
[0008] 实现本发明的目的的技术解决方案为:一种基于多目视频的人体动画生成方法,包括以下步骤:
[0009] 步骤1:运动低维空间学习:利用人体运动捕获
数据库,采用高斯过程潜变量模型运动
降维方法,计算得到运动低维空间;
[0010] 步骤2:运动分析模型建模:建立低维姿态与图像特征的适应度函数,构建低维空间的姿态约束,建立基于约束多目标优化的人体运动分析模型;
[0011] 步骤3:人体姿态参数分析:采用多目标
粒子群优化人体运动分析方法,求解人体运动分析模型,计算得到人体姿态参数;
[0012] 步骤4:三维人体动画生成:利用人体姿态参数,采用运动重定向方法驱动三维人
体模型,生成三维人体动画。
[0013] 本发明步骤1包括:
[0014] 步骤1-1:采用
运动链方法,将高维人体姿态表示为y={yg,yk},y∈Y,Y为高维人体姿态空间;其中yg=(αx,βy,γz)表示人体根节点的朝向,αx,βy,γz分别表示根结点与三维坐标轴x,y,z的夹角,yk表示人体关节点的欧拉角;
[0015] 步骤1-2:从人体运动捕获数据库中选择一段人体运动捕获数据作为
训练数据,训练数据表示为{yt|t=1,...T},yt为t时刻的人体姿态,t=1,...,T,T为训练数据的数目,每个时刻对应一个训练数据;
[0016] 步骤1-3:采用高斯过程潜变量模型方法,对训练数据{yt|t=1,...T}中姿态的关节点欧拉角yk进行降维,得到关节点欧拉角yk的低维表示ys={y1,...,yD},ys∈Ys,Ys为关节点欧拉角yk的低维
状态空间,D为Ys的维度;
[0017] 步骤1-4:将高维人体姿态y={yg,yk}降维后得到的低维姿态表示为x={yg,ys}={yg,y1,...,yD},x∈X,X为运动低维空间。
[0018] 本发明步骤2包括:
[0019] 步骤2-1:对于多目视频中的视频v,v=1,2,...,V,V为视频总数,采用混合高斯模型
运动检测方法获取视频v中的人体剪影Zv;
[0020] 步骤2-2:对于视频v,采用双向剪影匹配方法,建立低维姿态x={yg,y1,...,yD}与人体剪影Zv的适应度函数fv(x,Zv),为每个视频v建立独立的目标函数,v=1,2,...,V;
[0021] 步骤2-3:对低维姿态x={yg,y1,...,yD},计算低维姿态的第d维yd的最大值max(yd)和最小值min(yd),d=1,2,...,D;则每个低维姿态的每一维yd都满足以下姿态约束:min(yd)<yd<max(yd),d=1,2,...,D;
[0022] 步骤2-4:基于适应度函数fv(x,Zv),v=1,2,...,V,以及姿态约束min(yd)<yd<max(yd),d=1,2,...,D,构建基于约束多目标优化的人体运动分析模型:
[0023]
[0024] 其中, 表示求解使目标函数F(x)最小的x的值。
[0025] 本发明步骤3包括:
[0026] 步骤3-1:初始化:随机产生N个粒子 i=1,...,N,组成初始粒子群pop(0),N为粒子群规模,初始化粒子 的位置Xi(0)和速度Vi(0);设置粒子 的个体极值 设置种群的全局极值
[0027] 其中,个体极值 表示个体 在整个
迭代过程中的最优解;粒子群全局极值gbest0表示粒子群pop(0)中所有粒子的最优解。
[0028] 步骤3-2:对于第k次迭代,k=0,...K,K为最大迭代次数,对粒子群pop(k)中每个粒子 进行更新,得到第k+1代的粒子 构成第k+1代粒子群pop(k+1);其中:K为最大迭代次数,pop(k)为初始粒子群pop(0)经过k次迭代后得到的种群;
[0029] 对粒子 的更新方法为:根据粒子 的速度Vi(k)和位置Xi(k),计算粒子 的速度Vi(k+1)和位置Xi(k+1);Vi(k+1)和Xi(k+1)的计算方法为:
[0030]
[0031] Xi(k+1)=Xi(k)+Vi(k+1));
[0032] 其中,ω为惯性权重,c1为个体
加速系数,c2为全局加速系数,rand1()和rand2()表示[0,1]间的随机数; 为粒子 的个体极值,gbestk为粒子群pop(k)的全局极值;
[0033] 步骤3-3:粒子约束:对粒子群pop(k+1)中的每个粒子判断yd的取值范围,d=1,2,...,D;如果yd>max(yd),则将yd的值设置为yd=max(yd);如果yd<min(yd),则将yd的值设置为yd=min(yd);其中,max(yd)为yd的最大值,min(yd)为yd的最小值;
[0034] 步骤3-4:个体极值 求解:将第k+1代粒子群pop(k+1)中的每个粒子 与其更新前对应的粒子 进行非劣性比较,i=1,...,N;若 非劣于 取 所在位置Xi(k+1)为粒子 的个体极值 即 若 非劣于 则进行赋值令
[0035] 步骤3-5:全局极值gbestk+1求解:把pop(k+1)中序值为1的粒子作为粒子群pop(k+1)的全局极值;其中,粒子 的序值指的粒子群pop(k+1)中优于 的所有粒子的个数;
[0036] 步骤3-6:进行赋值操作,k=k+1;当k≤K时,执行步骤3-2,否则执行步骤3-7;
[0037] 步骤3-7:输出,输出粒子群pop(K)的全局极值gbestK,即人体姿态参数。本发明与
现有技术相比,其显著优点:(1)在运动的非线性子空间中进行运动分析,提高运动分析的效率,具有更好的工程应用性;(2)借鉴多目标优化思路,采用多目标粒子群优化运动分析方法进行姿态优化,提高了运动分析的准确性,使得生成的三维人体动画更逼真。
[0038] 下面结合
附图对本发明作进一步详细描述。
附图说明
[0039] 图1是本发明基于多目视频的人体动画生成方法的
流程图;
[0040] 图2是由三个摄像机组成的摄像机网络部署图;
[0041] 图3是多个视角摄像机获取的人体图像;
[0042] 图4是单个摄像机获取的人体图像;
[0043] 图5是混合高斯模型运动检测方法得到的人体剪影;
[0044] 图6是多目标粒子群优化人体运动分析方法计算得到的人体姿态参数;
[0045] 图7是运动重定向方法驱动三维
人体模型得到的人体动画模型;
具体实施方式
[0046] 本发明公开了一种基于多目视频的人体动画生成方法,其处理流程如图1所示。包括以下步骤:首先,利用人体运动捕获数据,采用高斯过程潜变量模型运动降维方法,学习得到运动低维空间;其次,计算低维空间的姿态约束,建立低维姿态与图像特征的适应度函数,实现基于约束多目标优化的人体运动分析模型建模;再者,采用多目标粒子群优化人体运动分析方法,求解人体运动分析模型,计算得到视频中的人体姿态参数;最后,利用人体姿态参数,采用运动重定向方法驱动三维人体模型,生成三维人体动画。
[0047] 本发明实现中,采用了包括3个摄像机的摄像机网络,其部署如图2所示,三摄像机从表演者运动区域的左视角(摄像机1)、上视角(摄像机2)、下视角(摄像机3)进行
图像采集。图3是中三个视角摄像机获取的人体图像,图3中(a)为摄像机1采集的图像,图3中(b)为摄像机2采集的图像,图3中(c)为摄像机3采集的图像。下面分别介绍各
实施例部分的主要流程。
[0048] 本发明公开了一种基于多目视频的人体动画生成方法,所述方法包括以下步骤:
[0049] 步骤1,运动低维空间学习:利用人体运动捕获数据,采用高斯过程潜变量模型运动降维方法,学习得到运动低维空间。
[0050] 步骤1-1:采用运动链方法(文献3.Zhao Xu,Liu Yun Cai.Generative tracking of 3D human motion by hierarchical annealed genetic algorithm.Pattern Recognition.2008,41(8):2470-2483.),将高维人体姿态表示为y={yg,yk},y∈Y,Y为高维人体姿态空间。其中yg=(αx,βy,γz)表示人体根节点的朝向,αx,βy,γz分别表示根结点与三维坐标轴x,y,z的夹角,yk表示人体关节点的欧拉角。本发明实现中,人体关节点数为30,即欧拉角yk的维度为60。
[0051] 步骤1-2:从运动捕获数据库中选择一段运动捕获数据作为训练数据。将训练数据表示为{yt|t=1,...T},yt为t时刻的人体姿态,t=1,...,T,T为训练数据的数目。本发明实现中,人体运动捕获数据来源于卡耐基梅隆大学的运动捕获数据库(文献4.CMU.运动捕获数据库[DB/OL].http://mocap.cs.cmu.edu/,2014-01-10.),选取的运动数据类型为步行数据,运动数据数目T=386。
[0052] 步骤1-3:采用高斯过程潜变量模型方法(文献5.Raquel Urtasun,David J Fleet,Aaron Hertzmann,et al.Priors for people tracking from small training sets[A].Proceedings of the International Conference on Computer Vision[C].Beijing:IEEE Press,2005.403-410.),对运动捕获数据{yt|t=1,...T}中姿态的关节点欧拉角yk进行降维,得到关节点欧拉角yk的低维表示ys={y1,...,yD},ys∈Ys,Ys为关节点欧拉角yk的低维状态空间,D为Ys的维度。本发明实现中,低维空间Ys的维度D=6。
[0053] 步骤1-4:高维人体姿态y={yg,yk}降维后得到的低维姿态表示为x={yg,ys}={yg,y1,...,yD},x∈X,X为运动低维空间。
[0054] 步骤2,运动分析模型建模:建立低维姿态与图像特征的适应度函数,构建低维空间的姿态约束,实现基于约束多目标优化的人体运动分析模型建模;
[0055] 步骤2-1:对于多目视频中的视频v,v=1,2,...,V,V为视频数目,如图4所示,采用混合高斯模型运动检测方法(文献6.Stauffer C,Grimson W E L.Adaptive background mixture models for real-time tracking[A].In:Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Colorado,USA,1999:246-252.)获取视频v中的人体剪影Zv,如图5所示;本发明中,视频数目V=3。
[0056] 步骤2-2:对于视频v,采用双向剪影匹配方法(文献7 .L.Sigal,M.J.Black.HumanEva:Synchronized video and motion capture dataset for evaluation of articulated human motion.Int.J.Comput.Vis.87(1),4-27(2010)),建立低维姿态x={yg,y1,...,yD}与人体剪影Zv的适应度函数fv(x,Zv);为每个视频v建立独立的目标函数,v=1,2,...,V;
[0057] 步骤2-3:对低维姿态x={yg,y1,...,yD},计算yd的最大值max(yd)和最小值min(yd),d=1,2,...,D;则每个低维姿态的每一维yd都应满足以下约束:min(yd)<yd<max(yd),d=1,2,...,D;
[0058] 步骤2-4:基于适应度函数fv(x,Zv),v=1,2,...,V,以及姿态约束min(yd)<yd<max(yd),d=1,2,...,D,构建基于约束多目标优化的人体运动分析模型:
[0059]
[0060] 其中, 表示求解使目标函数F(x)最小的x的值。
[0061] 步骤3:人体姿态参数分析:采用多目标粒子群优化人体运动分析方法,求解人体运动分析模型,计算得到视频中的人体姿态参数;
[0062] 步骤3-1:初始化:随机产生N个粒子 i=1,...,N,组成初始粒子群pop(0),N为粒子群规模。初始化粒子 的位置Xi(0)和速度Vi(0);设置粒子 的个体极值 设置种群的全局极值 本发明实现中,粒子
群规模N=100。
[0063] 其中,个体极值 表示个体 在整个迭代过程中的最优解;粒子群全局极值gbest0表示粒子群pop(0)中所有粒子的最优解。
[0064] 步骤3-2:对于第k次迭代,k=0,...K,对粒子群pop(k)中每个粒子 进行更新,得到第k+1代的粒子 构成第k+1代粒子群pop(k+1)。其中:K为最大迭代次数,pop(k)为初始粒子群pop(0)经过k次迭代后得到的种群。本发明实现中,最大迭代次数K=50。
[0065] 对粒子 的更新方法为:根据粒子 的速度Vi(k)和位置Xi(k),计算粒子 的速度Vi(k+1)和位置Xi(k+1)。Vi(k+1)和Xi(k+1)的计算方法为:
[0066]
[0067] Xi(k+1)=Xi(k)+Vi(k+1))。
[0068] 其中,ω为惯性权重,c1为个体加速系数,c2为全局加速系数,rand1()和rand2()表示[0,1]间的随机数; 为粒子 的个体极值,gbestk为粒子群pop(k)的全局极值。本发明实现中,取为惯性权重ω=2,个体加速系数c1=2,全局加速系数c2=2。
[0069] 步骤3-3:粒子约束:对粒子群pop(k+1)中的每个粒子判断yd的取值范围,d=1,2,...,D。如果yd>max(yd),则将yd的值设置为yd=max(yd);如果yd<min(yd),则将yd的值设置为yd=min(yd)。其中,max(yd)为yd的最大值,min(yd)为yd的最小值;
[0070] 步骤3-4:个体极值 求解:将第k+1代粒子群pop(k+1)中的每个粒子 与其更新前对应的父代粒子 进行非劣性解比较,i=1,...,N。若 非劣于 取 所在位置Xi(k+1)为粒子 的个体极值 即 若 非劣于 则令
[0071] 步骤3-5:全局极值gbestk+1求解:把pop(k+1)中序值为1的粒子作为粒子群pop(k+1)的全局极值。其中,粒子 的序值指的粒子群pop(k+1)中优于 的所有粒子的个数。
[0072] 步骤3-6:k=k+1;当k≤K时,执行步骤3-2;否则执行步骤3-7;
[0073] 步骤3-7:输出:输出粒子群pop(K)的全局极值gbestK。计算结果如图6所示。
[0074] 步骤4,三维人体动画生成:利用人体姿态参数,采用运动重定向方法(文献8.罗忠祥,庄越挺,刘丰,潘
云鹤,基于
时空约束的运动编辑和运动重定向,
计算机辅助设计与图形学学报,2002,14(12):1146-1151)驱动三维人体模型,生成对应姿态参数的三维人体模型,如图7所示。
[0075] 对视频的每一
帧都采用以上方法进行计算,可得到对应的三维人体模型序列,最终生成三位人体动画。
[0076] 本发明提供了一种基于多目视频的人体动画生成方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。