CN116958337A - 虚拟对象动画生成方法、装置、电子设备及可读存储介质 - Google Patents
虚拟对象动画生成方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN116958337A CN116958337A CN202310244258.5A CN202310244258A CN116958337A CN 116958337 A CN116958337 A CN 116958337A CN 202310244258 A CN202310244258 A CN 202310244258A CN 116958337 A CN116958337 A CN 116958337A
- Authority
- CN
- China
- Prior art keywords
- information
- target object
- corrected
- video
- posture
- 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 76
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 230000033001 locomotion Effects 0.000 claims abstract description 94
- 230000008859 change Effects 0.000 claims abstract description 59
- 238000012549 training Methods 0.000 claims description 104
- 230000009471 action Effects 0.000 claims description 47
- 238000012545 processing Methods 0.000 claims description 26
- 230000015654 memory Effects 0.000 claims description 23
- 238000001514 detection method Methods 0.000 claims description 10
- 238000005457 optimization Methods 0.000 claims description 10
- 210000003108 foot joint Anatomy 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 238000011478 gradient descent method Methods 0.000 claims description 6
- 206010034719 Personality change Diseases 0.000 claims description 4
- 230000036544 posture Effects 0.000 description 149
- 238000005516 engineering process Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 26
- 238000013473 artificial intelligence Methods 0.000 description 15
- 210000000988 bone and bone Anatomy 0.000 description 15
- 238000012937 correction Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 9
- 238000010801 machine learning Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 230000003993 interaction Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 210000001015 abdomen Anatomy 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000037237 body shape Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006698 induction 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
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 238000002945 steepest descent method Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供了一种虚拟对象动画生成方法、装置、设备及计算机可读存储介质;方法包括:获取待处理视频,确定所述待处理视频中目标对象的初始三维姿态信息、二维姿态信息和脚部接地信息;基于目标对象的初始三维姿态信息确定相邻视频帧之间的姿态变化信息;基于目标对象的初始三维姿态信息和姿态变化信息,确定目标对象的待修正姿态信息;基于目标对象的二维姿态信息和脚部接地信息对目标对象的待修正姿态信息进行修正处理,得到目标对象的修正后姿态信息,将所述修正后姿态信息动作重定向至虚拟对象,生成与所述待处理视频对应的虚拟对象动画视频。通过本申请,能够不仅能够提高动作捕捉效率,还能够保证生成的虚拟对象动画的连贯性和合理性。
Description
技术领域
本申请涉及图像处理技术,尤其涉及一种虚拟对象动画生成方法、装置、电子设备及可读存储介质。
背景技术
目前动作重定向广泛应用于动画制作和电影制作中,而动作捕捉是动作重定向的一项关键技术。动作捕捉是指通过对物体在三维空间中的运动进行记录,并将其运动轨迹模拟到数字模型中。例如,通过检测、记录表演者的肢体在三维空间的运动轨迹,捕获表演者的姿态动作,将捕获的姿态动作转换为数字化的抽象动作,以控制软件应用中的虚拟模型做出和表演者相同的动作,生成动画序列。近年来,动作捕捉技术被广泛应用于虚拟现实、三维游戏、人体生物工程学等很多领域。相关技术中动作捕捉可以通过光学动作捕捉方法、惯性动作捕捉方法以及端到端的视频动作捕捉方法实现。光学动作捕捉方法和惯性动作捕捉需要借助外部设备和场地进行动作捕捉,成本较高。端到端的视频动作捕捉方法,受限于训练数据不足,泛化能力较弱,动作捕捉效果较差,从而导致将捕捉到的动作重定向至虚拟对象时,动作连贯性差、执行动作不准确等问题。
发明内容
本申请实施例提供一种虚拟对象动画生成方法、装置及计算机可读存储介质,能够在降低动作捕捉成本的前提下,保证通过动作捕捉所获得动作的精确性。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种虚拟对象动画生成方法,所述方法包括:
获取待处理视频,确定所述待处理视频中目标对象的初始三维姿态信息、二维姿态信息和脚部接地信息;
基于所述目标对象的初始三维姿态信息,确定相邻视频帧之间的的姿态变化信息;
基于所述目标对象的初始三维姿态信息和所述姿态变化信息,确定所述目标对象的待修正姿态信息;
基于所述目标对象的二维姿态信息和脚部接地信息对所述目标对象的待修正姿态信息进行修正处理,得到所述目标对象的修正后姿态信息;
将所述修正后姿态信息动作重定向至虚拟对象,生成与所述待处理视频对应的虚拟对象动画视频。
本申请实施例提供一种虚拟对象动画生成装置,包括:
第一获取模块,用于获取待处理视频,确定所述待处理视频中目标对象的初始三维姿态信息、二维姿态信息和脚部接地信息;
第一确定模块,用于基于所述目标对象的初始三维姿态信息确定所述相邻视频帧之间的姿态变化信息;
第二确定模块,用于基于所述目标对象的初始三维姿态信息和所述相邻视频帧之间的姿态变化信息确定所述目标对象的待修正姿态信息;
第一处理模块,用于基于所述目标对象的二维姿态信息和脚部接地信息对所述目标对象的待修正姿态信息进行修正处理,得到所述目标对象的修正后姿态信息;
动作重定向模块,用于将所述修正后姿态信息动作重定向至虚拟对象,生成与所述待处理视频对应的虚拟对象动画视频。
本申请实施例提供一种电子设备,所述电子设备包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述存储器中存储的计算机可执行指令时,实现本申请实施例提供的虚拟对象动画生成方法。
本申请实施例提供一种计算机可读存储介质,存储有计算机可执行指令,用于被处理器执行时,实现本申请实施例提供的虚拟对象动画生成方法。
本申请实施例提供一种计算机程序产品,包括计算机程序或计算机可执行指令,述计算机程序或计算机可执行指令被处理器执行时,实现本申请实施例提供的虚拟对象动画生成方法。
本申请实施例具有以下有益效果:
在获取待处理视频后,首先确定所述待处理视频中目标对象的初始三维姿态信息、二维姿态信息和脚部接地信息,然后基于所述目标对象的初始三维姿态信息确定所述相邻视频帧之间的姿态变化信息,该姿态变化信息作为运动先验和各个视频帧的初始三维姿态信息确定出待修正姿态信息,再基于所述目标对象的二维姿态信息和脚部接地信息对所述目标对象的待修正姿态信息进行修正处理,得到所述目标对象的修正后姿态信息,由于目标对象的待修正姿态信息结合了基于作为运动先验的姿态变化信息确定出的,在对待修正姿态信息进行修正时,实际上是对姿态变化信息进行修正,不仅能够提高修正效率,从而提高动作捕捉效率,还能够保证将所述修正后姿态信息动作重定向至虚拟对象所得到的虚拟对象动画视频的动作连贯性和合理性。
附图说明
图1是本申请实施例提供的动作捕捉***100架构的结构示意图;
图2是本申请实施例提供的服务器400的结构示意图;
图3A是本申请实施例提供的虚拟对象动画生成方法的一种流程示意图;
图3B是本申请实施例提供的确定目标对象的初始三维姿态信息、二维姿态信息和脚部接地信息的实现流程示意图;
图3C是本申请实施例提供的确定姿态变化信息的实现流程示意图;
图3D是本申请实施例提供的训练运动先验模型的实现流程示意图;
图4A是本申请实施例提供的确定待修正姿态信息的实现流程示意图;
图4B是本申请实施例提供的对待修正姿态信息进行修正处理的实现流程示意图;
图4C是本申请实施例提供的确定重投影误差的实现流程示意图;
图5A是本申请实施例提供的确定先验信息的实现流程示意图;
图5B是本申请实施例提供的确定正则误差的实现流程示意图;
图5C是本申请实施例提供的虚拟对象动画生成方法的另一种流程示意图;
图6是本申请实施例提供的关节点树的示意图;
图7A是本申请实施例提供的SMPL模型建立的基模板下得到的人体mesh;
图7B是本申请实施例提供的SMPL模型建立的基模板下得到的人体mesh;
图7C是本申请实施例提供的调整形状参数后得到的人体模型示意图;
图8A是本申请实施例提供的虚拟对象动画生成方法的再一种流程示意图;
图8B是本申请实施例提供的虚拟对象动画生成方法的整体处理流程示意图;
图9是本申请实施例提供的3D姿态估计模块的网络结构示意图;
图10A是本申请实施例提供的2D姿态估计模块的网络结构示意图;
图10B是本申请实施例提供的脚部接地预测模块的网络结构示意图;
图10C是本申请实施例提供的变分自编码器的示意图;
图10D是本申请实施例提供的运动先验模型的网络结构示意图;
图11是本申请实施例提供的虚拟对象动画生成方法在虚拟引擎中的应用界面示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)动作捕捉,又称运动捕捉,是指通过对物体在三维空间中的运动进行记录,并将其运动轨迹模拟到数字模型中。
2)多人蒙皮线性模型(Skinned Multi-Person Linear Model,SMPL),是一种裸体的(skinned)、基于顶点(vertex-based)的人体三维模型,能够精确地表示人体的不同形状(shape)和姿态(pose)。
虚拟对象动画生成方法中一个关键技术为动作捕捉,为了更好地理解本申请实施例提供的虚拟对象动画生成方法,首先对相关技术中提供的光学动作捕捉方法、惯性动作捕捉方法以及端到端的视频动作捕捉方法的实现过程及存在的缺点进行说明。
光学动作捕捉***基于计算机视觉原理,由多个高速相机从不同角度对目标特征点的连续性识别,同时结合骨骼解算的算法来完成动作捕捉。理论上对于空间中的任意一个点,只要它能同时被两台以上相机所见,就可以确定这一时刻该点在空间中的3D位置。当相机以高帧率连续拍摄时,从图像序列中就可以得到该点的运动轨迹。该技术需要搭建专门的场地,要求周围无明显干扰,需要专门演员穿戴光学动作捕捉设备捕捉动作。虽然光学动作捕捉技术的捕捉结果精度高,但需要有场地、设备和人员的要求,使用成本高。
惯性动作捕捉技术需要在人体的重要节点佩戴集成加速度计,陀螺仪和磁力计等惯性传感器设备,传感器设备捕捉目标物体的运动数据,包括身体部位的姿态、方位等信息,再将这些数据通过数据传输设备传输到数据处理设备中,经过数据修正、处理后,最终建立起三维模型,并使得三维模型随着人体真正、自然地运动起来。该技术需要专业表演者穿戴特定设备,由于惯性设备的精度问题,捕捉效果比光学动作捕捉技术差,且无法解决虚拟角色脚跟紧贴地面的问题。
端对端的视频动作捕捉方法需要获取真实环境下的3D人体数据,困难较大,该技术在实现时,不仅需要摄像机,还需要额外的设备,因此采用将图片作为网络输入来直接输出3D位置是很困难的。为了解决数据不足的问题,这种方案采用更换背景,更换人体衣服的方式进行训练,捕捉效果不是十分理想。
基于此,本申请实施例提供一种虚拟对象动画生成方法、装置、设备和计算机可读存储介质,能够在端到端预测的基础上,引入人体动作先验,通过进一步迭代优化使得精度满足实际应用需求,同时相比于光学动作捕捉和惯性动作捕捉,该方案不需要额外的场景和设备,只需要单目视频即可,扩展了动作捕捉的应用场景。下面说明本申请实施例提供的计算机设备的示例性应用,本申请实施例提供的设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。下面,将说明设备实施为服务器时示例性应用。
参见图1,图1是本申请实施例提供的动作捕捉***100的架构示意图,为实现支撑一个动作捕捉应用,终端(示例性示出了终端200-1和终端200-2)通过网络300连接服务器400,网络300可以是广域网或者局域网,又或者是二者的组合。
在动作捕捉***中,终端200至少用于采集视频,将采集的视频上传至网络300,或者通过网络300发送至服务器400,由服务器400进行动作捕捉处理或存储至数据库500。终端200可以利用终端中的图像采集装置进行视频采集。
服务器400获取待处理视频,该待处理视频可以是从终端200获取的视频,也可以是从数据库500获取的预先存储的视频,还可以是从网络300中下载的视频。然后服务器400确定待处理视频中目标对象的初始三维姿态信息、二维姿态信息和脚部接地信息;再基于目标对象的初始三维姿态信息,确定相邻视频帧之间的姿态变化信息;基于目标对象的初始三维姿态信息和姿态变化信息,确定目标对象的待修正姿态信息;基于目标对象的二维姿态信息和脚部接地信息对目标对象的待修正姿态信息进行修正处理,得到目标对象的修正后姿态信息,最后将修正后姿态信息动作重定向至虚拟对象,生成与待处理视频对应的虚拟对象动画视频。由于目标对象的待修正姿态信息结合了基于作为运动先验的姿态变化信息确定出的,在对待修正姿态信息进行修正时,实际上是对姿态变化信息进行修正,不仅能够提高修正效率,从而提高动作捕捉效率,还能够保证将所述修正后姿态信息动作重定向至虚拟对象所得到的虚拟对象动画视频的动作的连贯性和合理性。之后服务器400将虚拟对象动画视频发送至终端200,以使得终端200播放虚拟对象动画视频,其中,在虚拟对象动画视频中所述虚拟对象执行所述修正后的姿态信息对应的动作。
在一些实施例中,服务器400可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端200可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
参见图2,图2是本申请实施例提供的服务器400的结构示意图,图2所示的服务器400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。服务器400中的各个组件通过总线***440耦合在一起。可理解,总线***440用于实现这些组件之间的连接通信。总线***440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线***440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作***451,包括用于处理各种基本***服务和执行硬件相关任务的***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他电子设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作***设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图2示出了存储在存储器450中的虚拟对象动画生成装置455,其可以是程序和插件等形式的软件,包括以下软件模块:第一获取模块4551、第一确定模块4552、第二确定模块4553、第一处理模块4554和动作重定向模块4555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的虚拟对象动画生成方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。
将结合本申请实施例提供的服务器的示例性应用和实施,说明本申请实施例提供的虚拟对象动画生成方法。
为了更好地理解本申请实施例提供的虚拟对象动画生成方法,首先对人工智能、人工智能的各个分支,以及本申请实施例提供的虚拟对象动画生成方法所涉及的应用领域进行说明。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。本申请实施例提供的虚拟对象动画生成方法主要涉及机器学习方向,下面进行说明。
机器学习(ML,Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
下面,说明本申请实施例提供的虚拟对象动画生成方法,如前所述,实现本申请实施例的虚拟对象动画生成方法的电子设备可以是服务器。因此下文中不再重复说明各个步骤的执行主体。
参见图3A,图3A是本申请实施例提供的图像处理方法的一种流程示意图,将结合图3A示出的步骤进行说明。
在步骤101中,获取待处理视频,确定所述待处理视频中目标对象的初始三维姿态信息、二维姿态信息和脚部接地信息。
其中,待处理视频为单目视频,也即是通过单个图像采集装置采集到的视频。待处理视频中目标对象执行一系列动作,而不是静止不动的。目标对象可以是自然人、数字人,还可以是虚拟角色。待处理视频可以从利用终端中的图像采集装置采集得到,待处理视频也可以是从网络中下载的,还可以是从其他设备发送至服务器的。
在一些实施例中,参见图3B,图3A中步骤101中的“确定所述待处理视频中目标对象的初始三维姿态信息、二维姿态信息和脚部接地信息”,可以通过以下步骤1011至步骤1014实现,下面结合图3B进行说明。
在步骤1011中,获取训练好的三维姿态估计模型、训练好的二维姿态估计模型和训练好的脚部接地检测模型。
获取预设的初始三维姿态估计模型、初始二维姿态估计模型和初始脚部接地检测模型,获取包括多个第一训练视频帧的第一训练视频,分别对各个第一训练视频帧中目标对象的三维姿态信息、二维姿态信息和脚部接地信息进行标注,得到对应的三维标注、二维标注和接地标注,然后利用各个第一训练视频帧及其对应的三维标注,对初始三维姿态估计模型进行训练,得到训练好的三维姿态估计模型;利用各个第一训练视频帧及其对应的二维标注,对初始二维姿态估计模型进行训练,得到训练好的二维姿态估计模型;利用各个第一训练视频帧及其对应的接地标注,对初始脚部接地检测模型进行训练,得到训练好的脚部接地检测模型。
在步骤1012中,利用所述训练好的三维姿态估计模型,对所述待处理视频进行姿态估计,得到所述待处理视频中目标对象的初始三维姿态信息。
获取构建的关节点树和待处理视频中的视频帧总数N,关节点树是根据预定义的多个关节点及其相互影响关系构建的树。
将N个视频帧中的第i个视频帧输入至训练好的三维姿态估计模型,对该第i个视频帧中的目标对象进行姿态估计,得到该第i个视频帧中目标对象的初始三维姿态信息。该初始三维姿态信息包括第i个视频帧中目标对象的每个关节点相对于其父节点的旋转,以及整个骨架的朝向旋转和偏移,其中i=1,2,…,N。
在步骤1013中,利用所述训练好的二维姿态估计模型,对所述待处理视频进行姿态估计,得到所述目标对象的二维姿态信息。
将N个视频帧中的第i个视频帧输入至训练好的二维姿态估计模型,对该第i个视频帧中的目标对象进行姿态估计,得到该第i个视频帧中目标对象的初始二维姿态信息。该初始二维姿态信息至少包括第i个视频帧中目标对象的各关节点的位置,其中i=1,2,…,N。假设目标对象若预定义有24个关节点,第j个关节点的姿态坐标可以表示为(mj,nj),则第i个视频帧中目标对象的初始二维姿态信息可以表示为24*2维的一个特征矩阵。
在一些实施例中,目标对象的二维姿态信息中还可以包括预设的关节点的置信度信息,该置信度信息用于表征各个关节点的姿态坐标的可信程度,一个关节点的置信度信息越大,表征该关节点的姿态坐标的可信程度越高。
在步骤1014中,利用所述训练好的脚部接地检测模型,对所述目标对象的二维姿态信息进行预测处理,得到所述目标对象的脚部接地信息。
将步骤1013中得到的第i个视频帧中目标对象的二维姿态信息,输入至训练好的脚部接地检测模型,确定该第i个视频帧中目标对象脚部是否接地,得到该第i个视频帧中目标对象的脚部接地信息。该脚部接地信息可以表示为4维向量(rf,rb,lf,lb),其中rf用于描述右脚尖是否接地,rb用于描述右脚跟是否接地,lf用于描述左脚尖是否接地,lb用于描述左脚跟是否接地;当接地时,对应部赋值1,否则赋值0。
在步骤102中,基于所述目标对象的初始三维姿态信息,确定所相邻视频帧之间的姿态变化信息。
这里,初始三维姿态信息可以包括初始姿态参数和初始形状参数。假设当前视频帧为第i个视频帧,步骤102在实现时,基于运动先验模型对第i个视频帧的初始姿态参数进行预测处理,得到目标对象从第i-1个视频帧到第i个视频帧的姿态变化信息。这里需要说明的是,基于运动先验模型确定目标对象从第i-1个视频帧到第i个视频帧的姿态变化信息,是一个估计值,不同于根据目标对象在第i-1个视频帧的初始姿态参数和目标对象在第i个视频帧的初始姿态参数确定的目标对象从第i-1个视频帧到第i个视频帧的姿态变化信息。其中i=1,2,…,N-1,N为待处理视频的视频帧总数。
在一些实施例中,参见图3C,图3A中的步骤102可以通过以下步骤1021至步骤1022实现,下面结合图3C进行说明。
在步骤1021中,获取训练好的运动先验模型。
在一些实施例中,参见图3D,在步骤1021之前,可以通过以下步骤211至步骤215得到训练好的运动先验模型,下面结合图3D进行说明。
在步骤211中,获取训练视频和预设的运动先验模型。
其中训练视频中包括多个训练视频帧,训练视频中的目标对象执行一系列动作。运动先验模型可以为神经网络模型或者深度学习模型。运动先验模型用于预测相邻两个视频帧中目标对象的姿态变化信息。
在步骤212中,将第k个训练视频帧和第k+1个训练视频帧确定为第k个训练数据对。
获得训练视频中包括M个训练视频帧,将相邻的两个训练视频帧作为一个训练数据对,可以组成M-1个训练数据对,第k个训练数据对由第k个训练视频帧和第k+1个训练视频帧组成。其中,k=1,2,…,M-1,M为训练视频的视频帧总数。
在步骤213中,对所述第k个训练数据对中的两个训练视频帧进行编码处理,得到所述第k个训练数据对中两个训练视频帧在隐空间的编码结果。
这里,首先获取第k个训练数据对中两个训练视频帧的训练姿态参数,然后对两个训练视频帧的训练姿态参数进行编码处理,得到第k个训练数据对中两个训练视频帧在隐空间的编码结果。对训练姿态参数进行编码的编码器可以为变分自编码器,该变分自编码器是预先利用大量人体3D姿态的数据集训练得到的编码器,进行训练的数据集包括的人体3D姿态,是人体能够做出的姿态,通过对第k个训练数据对中的第k个训练视频帧和第k+1个训练视频帧的训练姿态参数在隐空间中编码,可以防止出现人体无法做出的姿态。
在步骤214中,基于所述第k个训练数据对中两个训练视频帧在隐空间的编码结果,确定所述第k个训练数据对中两个训练视频帧的预测变化信息。
在一些实施例中,确定第k个训练视频帧在隐空间的编码结果和第k+1个训练视频帧在隐空间的编码结果的编码差异信息,然后再利用解码器对编码差异信息进行解码处理,得到第k个训练数据对中两个训练视频帧的预测变化信息。
在步骤215中,基于各个训练数据对中两个训练视频帧的预测变化信息对所述预设的运动先验模型的参数进行调整,得到训练好的运动先验模型。
在一些实施例中,可以基于第k个训练视频帧的训练姿态参数和第k+1个训练视频帧的训练姿态参数,确定第k个训练视频帧与第k+1个训练视频帧的参考变化信息,然后确定各个训练数据对的参考变化信息与预测变化信息的变化差值,利用变化差值对运动先验模型的参数进行调整,得到训练好的运动先验模型。
在一些实施例中,运动先验模型可以包括编码器、解码器和变化确定模块,其中,变化确定模块的参数可以是通过多个编码差异信息所确定出的变化均值和变化标准差确定的。该训练好的运动先验模型中变化确定模块可以是符合正态分布的模型。
通过上述步骤211至步骤215,首先将训练视频中的两两相邻的训练视频帧构成多个训练数据对,然后再利用变分自编码器对各个训练数据对中包括的两个训练视频帧进行编码处理,从而能够保证得到的编码结果所对应的姿态是人体可以做出的姿态,然后再通过编码结果确定各个训练数据对中两个训练视频帧的预测变化信息,并基于多个姿态变化信息对运动先验模型的参数进行调整,得到训练好的运动先验模型。
在步骤1022中,利用所述训练好的运动先验模型,对所述目标对象的初始姿态参数进行预测处理,得到相邻视频帧之间的姿态变化信息。
在一些实施例中,首先利用训练好的运动先验模型中的编码器对目标对象在各个视频帧中的初始姿态参数进行编码处理,得到目标对象在各个视频帧对应的编码结果,然后再利用训练好的运动先验模型中的姿态变化确定模块对编码结果进行预测处理,得到各个预测结果,最后利用训练好的运动先验模型中的解码器对预测结果进行解码处理,得到相邻视频帧之间的姿态变化信息。
该姿态变化信息与姿态参数的维度是一样的,例如可以是24*3。
通过上述步骤1021和步骤1022,利用训练好的运动先验模型,确定出目标对象在相邻视频帧之间的姿态变化信息,能够保证执行动作的连贯性。
在步骤103中,基于所述目标对象的初始三维姿态信息和所述姿态变化信息,确定所述目标对象的待修正姿态信息。
在一些实施例中,参见图4A,图3A中的步骤103可以通过以下步骤1031至步骤1035实现,下面结合图4A进行说明。
在步骤1031中,将所述待处理视频划分为多个视频片段。
在一些实施例中,可以首先获取待处理视频的视频总帧数,然后基于视频总帧数确定视频片段中包括的视频帧数,从而利用该视频帧数将待处理视频划分为多个视频片段。视频总帧数可以是视频帧数的整倍数,以保证每个视频片段中的视频帧数是相同的。例如视频总帧数可以是500帧,视频帧数可以是50,那么可以将待处理视频划分成10个视频片段,每个视频片段包括50个视频帧。
在一些实施例中,可以直接按照预设的视频帧数将待处理视频划分为多个视频片段。例如,可以按照视频帧数为45,对待处理视频进行划分,如此,只有最后一个视频片段中包括的视频帧数可能是小于45的,其他视频片段中均包括45个视频帧。
在步骤1032中,当确定第i个视频帧为视频片段中的第一帧时,将所述目标对象的初始三维姿态信息确定为目标对象的待修正姿态信息。
其中,i=1,2,…,N,N为所述待处理视频的视频帧总数,第i个视频帧为目标对象所在的当前视频帧。
在本申请实施例中,以视频片段的第一个视频帧的初始三维姿态信息作为基准,因此将目标对象在第一个视频帧的初始三维姿态信息确定为目标对象的待修正姿态信息。
在步骤1033中,当确定第i个视频帧不为视频片段中的第一帧时,获取目标对象在第(i-1)个视频帧的修正后姿态信息。
其中,修正后姿态信息包括修正后姿态参数和修正后形状参数。
在步骤1034中,基于目标对象从第(i-1)个视频帧到第i个视频帧的姿态变化信息与目标对象在第(i-1)个视频帧对应的修正后姿态参数,确定所述目标对象的待修正姿态参数。
在一些实施例中,将目标对象从第(i-1)个视频帧到第i个视频帧的姿态变化信息与目标对象在所述第(i-1)个视频帧对应的修正后姿态参数的累加和,确定为目标对象的待修正姿态参数。
在步骤1035中,将所述目标对象对应的初始形状参数和所述目标对象的待修正姿态参数确定为所述目标对象的待修正姿态信息。
由于人物的高矮胖瘦一般不会因执行不同动作而有太大的变化,因此在本申请实施例中,将所述目标对象在第i个视频帧对应的初始形状参数和目标对象在第i个视频帧的待修正姿态参数确定为所述目标对象在第i帧的待修正姿态信息。
在上述步骤1031至步骤1035中,首先将待处理视频划分为多个视频片段,并将每个视频片段的第一个视频帧作为基准信息,能够降低误差累积量,并且在确定待修正姿态信息时,以目标对象的初始形状参数确定为待修正形状参数,能够降低数据处理量,另外,由于视频片段中除第一帧之外的目标对象在其他视频帧的待修正姿态参数是将前一帧的修正后的姿态参数与姿态变化信息累加得到的,因此可以理解为在修正时,仅对姿态变化信息进行修正,不仅能够提高修正效率,还能够保证动作的连贯性和自然性。
在步骤104中,基于所述目标对象的二维姿态信息和脚部接地信息对所述目标对象的待修正姿态信息进行修正处理,得到目标对象的修正后姿态信息。
在一些实施例中,参见图4B,图3A中的步骤104可以通过以下步骤1041至步骤1045实现,下面结合图4B进行说明。
在步骤1041中,基于目标对象的待修正姿态信息、二维姿态信息和相机参数确定所述第i个视频帧的重投影误差。
其中,待修正姿态信息包括待修正姿态参数和待修正形状参数,二维姿态信息包括目标对象的各个关节点的参考坐标信息和所述各个关节点的置信度。相机参数包括相机外参和相机内参。
在一些实施例中,参见图4C,图4B中的步骤1041可以通过以下步骤411至步骤414实现,下面结合图4C进行说明。
在步骤411中,基于所述目标对象的待修正姿态信息和二维姿态信息,确定所述目标对象的各个关节点的相机坐标信息。
在一些实施例中,可以利用公式(1-1)确定目标对象的各个关节点的相机坐标信息:
其中,为人体基本姿态网格信息,θi为目标对象在第i个视频帧中的待修正姿态参数,βi为目标对象在第i个视频帧中的待修正形状参数,Bs为形状参数对应的线性变换矩阵,Bp为姿态参数对应的线性变换矩阵,J(β)i为二维姿态信息。
通过公式(1-1)得到的各个关节点的相机坐标信息为各个关节点在相机坐标系下的三维坐标。
在步骤412中,基于所述相机参数和所述目标对象的各个关节点的相机坐标信息,确定所述各个关节点的图像坐标信息。
在一些实施例中,可以通过公式(1-2)确定各个关节点的图像坐标信息:
其中,[xj,,yj]为第j个关节点的图像坐标信息,[Xj,Yj,Zj]为第j个关节点的相机坐标信息,f为相机焦距。
在步骤413中,基于所述各个关节点的图像坐标信息和所述各个关节点的参考坐标信息,确定所述各个关节点的坐标误差。
在一些实施例中,各个关节点的参考坐标信息可以是从二维姿态信息中获取的,确定各个关节点的图像坐标信息和参考坐标信息之间的距离,并将该距离确定为各个关键点的坐标误差。
在步骤414中,基于所述各个关节点的坐标误差和所述各个关节点的置信度,确定所述目标对象的重投影误差。
在一些实施例中,可以通过公式(1-3)确定第i个视频帧的重投影误差:
其中,ωj为第j个关节点对应的置信度,ΔCj为第j个关节点的坐标误差。表示Geman-McClure惩罚函数,σ设置为100。
在上述步骤411至步骤414中,在确定目标对象在第i个视频帧的重投影误差时,引入惩罚函数,该惩罚函数主要用来惩罚异常值,从而能够使得迭代优化更稳定。
在步骤1042中,基于所述目标对象的待修正姿态信息,确定所述目标对象的先验信息。
其中,先验信息包括姿态先验信息和形状先验信息;待修正姿态信息包括待修正姿态参数和待修正形状参数。
在一些实施例中,参见图5A,图4B中的步骤1042可以通过以下步骤421至步骤424实现,下面结合图5A进行说明。
在步骤421中,基于所述目标对象的待修正形状参数,确定所述目标对象的形状先验信息。
在一些实施例中,目标对象的待修正形状参数是指目标对象在第i个视频帧中的待修正形状参数,目标对象的形状先验信息是指目标对象在第i个视频帧中的形状先验信息。待修正形状参数是用向量表示的,例如可以是1*10的向量,在该步骤中可以将表示待修正形状参数的向量的模确定为形状先验信息。
在步骤422中,对所述目标对象的待修正姿态参数进行编码处理,得到所述待修正姿态参数在隐空间的编码结果。
在一些实施例中,可以利用变分自编码器对目标对象在第i个视频帧中的待修正姿态参数进行编码处理,得到所述待修正姿态参数在隐空间的编码结果。通过变分自编码器对待修正姿态参数进行编码处理,能够保证编码结果对应的姿态是人体能够做出的动作。
在步骤423中,基于所述待修正姿态参数在隐空间的编码结果,确定所述目标对象的姿态先验信息。
该编码结果可以用向量表示,例如可以是32维向量。在一些实施例中,目标对象的姿态先验信息是指目标对象在第i个视频帧的姿态先验信息,将表示编码结果的向量的模确定为目标对象的姿态先验信息。
在步骤424中,基于所述目标对象的形状先验信息和所述目标对象的姿态先验信息,确定所述目标对象的先验信息。
在一些实施例中,可以获取形状先验信息对应的第一权重和姿态先验信息对应的第二权重,然后在利用第一权重和第二权重,对形状先验信息和姿态先验信息进行加权求和,得到目标对象的先验信息。
在上述步骤421至步骤424中,通过目标对象的待修正形状参数确定形状先验信息,对待修正姿态参数进行编码,并基于编码结果确定姿态先验信息,能够保证姿态先验信息能够表征人体可以做出的动作,从而通过形状先验和姿态先验对人体姿态在帧间变化的合理性进行约束。
在步骤1043中,基于目标对象在所述第(i-1)个视频帧中的脚部接地信息和修正后姿态信息,以及目标对象在第i个视频帧中的脚部接地信息和待修正姿态信息,确定目标对象的正则项误差。
在一些实施例中,参见图5B,图4B中的步骤1043可以通过以下步骤431至步骤434实现,下面结合图5B进行说明。
在步骤431中,基于所述目标对象在第(i-1)个视频帧中的修正后姿态信息和目标对象在所述第i个视频帧中的待修正姿态信息,确定所述目标对象的各个关节点的位置差值和所述目标对象的各条骨骼的长度差值。
在一些实施例中,从目标对象在第(i-1)个视频帧中的修正后姿态信息中获取各个关节点的第(i-1)个位置坐标,从目标对象在第i个视频帧中的待修正姿态信息获取各个关节点的第i个位置坐标,然后在基于各个关节点的第(i-1)个位置坐标和第i个位置坐标确定各个关节点的位置差值。再基于各条骨骼上的两个关节点的第(i-1)个位置坐标确定各条骨骼的第(i-1)个长度值,基于各条骨骼上的两个关节点的第i个位置坐标确定各条骨骼的第i个长度值,并确定出各条骨骼的长度差值。
在步骤432中,基于所述目标对象在第(i-1)个视频帧中的脚部接地信息和所述中目标对象在第i个视频帧的脚部接地信息确定目标对象的脚部速度误差。
在一些实施例中,首先确定目标对象在第(i-1)个视频帧中的左脚尖和目标对象在第i个视频帧中的左脚尖的第一速度差值,确定目标对象在第(i-1)个视频帧中的左脚跟和目标对象在第i个视频帧中的左脚跟的第二速度差值,确定目标对象在第(i-1)个视频帧中的右脚尖和目标对象在第i个视频帧中的右脚尖的第三速度差值,确定目标对象在第(i-1)个视频帧中的右脚跟和目标对象在第i个视频帧中的右脚跟的第四速度差值,再将第一速度差值与左脚尖的脚部接地信息相乘得到第一乘积、将第二速度差值与左脚跟的脚部接地信息相乘得到第二乘积、第三速度差值与右脚尖的脚部接地信息相乘得到第三乘积、将第四速度差值与右脚跟的脚部接地信息相乘得到第四乘积,最后将第一乘积、第二乘积、第三乘积和第四乘积的和确定为脚部速度误差。
在步骤433中,确定所述目标对象的脚部关节与地面的高度差。
在一些实施例中,确定目标对象的脚部关节的第i个位置坐标,然后基于第i个位置坐标确定脚部关节与地面的高度差。
在步骤434中,基于所述目标对象的各个关节点的位置差值、所述目标对象的各条骨骼的长度差值、所述目标对象的脚部速度误差和脚部关节点与地面的高度差,确定目标对象的正则项误差。
在一些实施例中,获取关节点的位置差值对应的第三权重、骨骼长度差值对应的第四权重、脚部速度误差对应的第五权重和高度差对应的第六权重,再基于第三权重、死死权重、第五权重和第六权重对关节点的位置差值、骨骼长度差值、脚部速度误差和高度差进行加权求和,得到第i个视频帧的正则项误差。
在本申请实施例中,利用不同的权重对各个差值或者先验信息进行加权是为了将不同的差值或者先验信息映射到统一的数值范围,从而使得不同误差或先验信息的约束效果趋于平衡。
在上述步骤431至步骤434中,通过关节点的位置差值约束各个关节点在相邻帧中位置应该比较接近,通过骨骼长度差值约束骨骼在不同帧中的长度应该保持一致,通过脚部速度约束相邻两帧脚部均接地,则脚步移动速度为0,通过脚关节点与地面的高度差约束如果某一帧脚部接地,则脚部关节点距离地面高度小于某个阈值,例如设置该阈值为2厘米,如此能够通过正则项误差保证人体姿态的合理性。
在步骤1044中,基于所述目标对象的重投影误差值、先验信息和正则项误差,确定所述目标对象的总误差。
在一些实施例中,将重投影误差值、先验信息和正则项误差的和确定为目标对象在第i个视频帧中的总误差。
在步骤1045中,利用梯度下降法对所述目标对象的待修正姿态信息进行迭代优化,直至所述目标对象的总误差达到最小值,得到目标对象的修正后姿态信息。
梯度下降法是一个一阶最优化算法,也可称为最陡下降法,要使用梯度下降法找到一个函数的局部极小值,必须向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索,在目标对象的总误差达到最小值时,得到目标对象的修正后的姿态信息。
在步骤105中,将所述修正后姿态信息动作重定向至虚拟对象,生成与所述待处理视频对应的虚拟对象动画视频。
在一些实施例中,参见图5C,在步骤105可以通过下述的步骤1051至步骤1052实现,以下具体说明。
在步骤105 1中,获取待驱动的虚拟对象的肢体网格信息。
在一些实施例中,待驱动的虚拟对象可以是游戏中的虚拟对象,还可以是动画中的虚拟对象,或者虚拟现实中的虚拟对象。虚拟对象的肢体网格信息包括虚拟对象中各个网格点的坐标信息。
在步骤1052中,基于所述虚拟对象的肢体网格信息,将所述修正后姿态信息通过动作重定向适配至所述虚拟对象,以驱动所述虚拟对象执行所述修正后姿态信息对应的动作。
在一些实施例中,可以基于待驱动的虚拟对象的肢体网格信息确定出与目标对象对应的各个关节点的坐标信息,然后通过动作重定向***将目标对象的各个关节点与虚拟对象的各个关节点匹配,得到匹配信息,从而基于匹配信息将所述目标对象修正后的姿态信息通过动作重定向适配至所述虚拟对象,以驱动所述虚拟对象执行所述修正后的姿态信息对应的动作。
通过上述步骤1051至步骤1052,能够将捕捉到的姿态信息,通过动作重定向技术适配至任意虚拟对象,从而提高修正后姿态信息的利用率。
在本申请实施例提供的虚拟对象动画生成方法中,在获取待处理视频后,首先确定所述待处理视频中目标对象的初始三维姿态信息、二维姿态信息和脚部接地信息,然后基于所述目标对象的初始三维姿态信息确定所述相邻视频帧之间的姿态变化信息,该姿态变化信息作为运动先验和各个视频帧的初始三维姿态信息确定出待修正姿态信息,再基于所述目标对象的二维姿态信息和脚部接地信息对所述目标对象的待修正姿态信息进行修正处理,得到所述目标对象的修正后姿态信息,由于视频帧的待修正姿态信息结合了基于作为运动先验的姿态变化信息确定出的,在对待修正姿态信息进行修正时,实际上是对姿态变化信息进行修正,不仅能够提高修正效率,从而提高动作捕捉效率,还能够保证将所述修正后姿态信息动作重定向至虚拟对象所得到的虚拟对象动画视频的动作连贯性和合理性。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例提供的虚拟对象动画生成方法可以应用于虚拟数字人驱动、动画制作等应用场景。
在说明本申请实施例提供的虚拟对象动画生成方法之前,首先对本申请实施例涉及的多人蒙皮线性(Skinned Multi-Person Linear,SMPL)以及SMPL模型的作用进行说明。
SMPL模型可以对人体的形状比如胖瘦高矮,和人体动作的姿态进行定义。为了定义一个人体的动作,需要对人体的每个可以活动的关节点进行参数化,当改变某个关节点的参数的时候,那么人体的姿态就会跟着改变。
SMPL模型是一个统计模型,是利用大量扫描的人体形状计算得到的平均人体mesh,该模型通过两种类型的统计参数对人体进行描述:
一、形状参数(shape parameters):一组形状参数有着10个维度的数值去描述一个人的形状,每一个维度的值都可以解释为人体形状的某个指标,比如高矮、胖瘦等。
二、姿态参数(pose parameters):一组姿态参数有着24×3维度的数字去描述某个时刻人体的动作姿态,其中的24表示的是24个定义好的人体关节点,其中的3指的是该节点相对于其父节点的旋转角度的轴角式表达(axis-angle representation),对于这24个节点,在本申请实施例中定义了一组如图6所示的关节点树。
SMPL模型的作用过程分为三步:
一、基于形状的混合成形(Shape Blend Shapes)。
在这个阶段,将一个如图7A所示的基模版(或者称为统计上的均值模版)作为整个人体的基本姿态,这个基模版通过统计得到,用N=6890个端点(vertex)表示整个网格(mesh),每个端点有着(x,y,z)三维空间坐标,随后通过形状参数β去描述人体姿态和这个基本姿态的偏移量,叠加上去就形成了最终期望的人体姿态,如图7B所示。这个过程是一个线性的过程,其中/>就是一个对形状参数β的一个线性矩阵的矩阵乘法过程。此处得到的人体mesh的姿态称之为静默姿态(rest pose,也称为T-pose),因为其并没有考虑姿态参数的影响。
二、基于姿态的混合成形(Pose Blend Shapes)
当根据指定的形状参数β对人体mesh进行形状的指定后,就可以得到如图7B所示的一个具有特定胖瘦、高矮的人体mesh。在静默姿态的人体mesh上叠加姿态参数θ,得到如图7C所示的具有特定胖瘦、高矮、姿态的人体mesh。由于特定的动作可能会影响到人体局部的具体形状变化,举个例子,一般人体站立的时候可能看不出小肚子,但是坐下时,可能小肚子就会凸出来了,因此姿态参数θ也会一定程度影响到静默姿态的mesh形状。
三、蒙皮(Skinning)
在之前的阶段中,都只是对静默姿态下的mesh进行计算,当人体骨骼点运动时,由端点(vertex)组成的“皮肤”将会随着骨骼点(joint)的运动而变化,这个过程称之为蒙皮。蒙皮过程可以认为是皮肤节点随着骨骼点的变化而产生的加权线性组合,简单来说,就是距离某个具体的骨骼点越近的端点,其跟随着该骨骼点旋转/平移等变化的影响越强。
基于上述分析,如果要得到一个人体的mesh模型,只需要得到SMPL参数化人体模型的形状参数β和姿态参数θ即可,因此本申请实施例的整个算法流程也就是估计这两个参数的问题。
本申请实施例提供的虚拟对象动画生成方法可以通过图8A所示的步骤801至步骤804实现,该虚拟对象动画生成方法的整体处理流程如图8B所示,以下结合图8A和图8B进行说明。
在步骤801中,获取视频流。
该视频流既可以是使用普通的相机录制动作片段,也可以是直接下载网络上的包含人体动作的相关视频。
在步骤802中,对于输入视频,利用3D姿态估计模型预测人体3D姿态。
该步骤对应图8B中阶段一,阶段一中的3D姿态估计模块的网络结构示意图如图9所示,下面结合图9对步骤802的实现过程进行说明。首先输入视频,也即时序图像,然后对对视频中的每个视频帧进行特征提取得到每个视频帧对应的视频特征,然后通过GPU对视频特征进行姿态预测,得到时序特征,并对得到的时序特征进行回归和集成,得到每一帧图像对应的SMPL参数化人体模型的形状参数和姿态参数,作为图8B的阶段二中3D姿态修正模块的初值。
在步骤803中,基于迭代优化方法,修正3D姿态。
在一些实施例中,对于输入视频,首先利用2D姿态估计模型预测人体2D姿态,再将2D姿态输入到脚部接地预测模型中,预测人体脚部接地状态,在3D姿态修正模块中,根据人体2D姿态和脚部接地状态,对人体3D姿态进一步调优,获得精度更高的人体3D姿态。
该步骤对应图8B中阶段二,参见图8B,阶段二包括2D姿态估计模块811、脚部接地预测模块812和3D姿态修正模块813,图10A为本申请实施例提供的2D姿态估计模块的网络结构示意图,如图10A所示,2D姿态估计模块的输入为2D图像,首先将该2D图像划分为多个图像区域,然后通过编码器1001对多个图像区域进行编码处理,得到图像的编码结果,并通过解码器1002对编码结果进行解码处理,从而得到图像中人体对应的2D关键点。在该步骤中得到的2D关键点作为3D姿态修正模块中迭代优化的监督信号
图10B为本申请实施例提供的脚部接地预测模块的网络结构示意图,如图10B所示,该脚部接地预测模块包括多个隐藏层层,通过多个隐藏层对输入的2D关键点序列进行预测处理,输出每一帧图像中左右脚是否接触地面,作为3D姿态修正模块中迭代优化时正则项的判断信号。
需要说明的是,在该步骤中,并不是对步骤802中得到的初始的3D姿态进行修正。而是需要利用运动先验模型基于步骤802中得到的各个视频帧的3D姿态,预测出当前帧姿态到下一帧姿态的变化量,然后再当当前帧修正后的姿态与该变化量的和确定出下一帧待修正姿态,从而利用3D姿态修正模块根据人体2D姿态和脚部接地状态,对下一帧待修正姿态进一步调优,获得精度更高的姿态。
图10D为运动先验模型的网络结构示意图,运动先验模型为变分自编码器,在大量人体3D姿态数据集上训练而来,该模型根据当前帧的人体姿态预测当前帧姿态到下一帧姿态的变化量,通过大量数据学习,建模人体姿态在帧间变化的合理性。
一种应用方式可以为:将待优化的视频分为N个片段,每个片段为45帧,之前每一帧都优化一组姿态参数,应用运动先验后,只有每个片段的第一帧优化一组姿态参数,后续每一帧只需要优化前一帧到下一帧的变化量即可。
3D姿态修正模块为本申请实施例的算法核心。将迭代优化总目标函数定义为EJ(β,θ,K;Jest)+Eprior+Ereg,其中β表示人体形状参数,θ表示人体姿态参数,K表示相机参数;Jest表示模型预测的2d关键点坐标。3D姿态修正模块在算法管线中的作用:以阶段一中预测的3d人体姿态为初值,以阶段二中预测的2d关键点为监督信号,利用梯度下降法对3d人体姿态进行迭代优化,使得总目标函数最小化。
目标函数的各部分详细介绍如下:
1)重投影误差,可以表示为公式(2-1):
其中,ωi表示2D关键点模型预测的该2D关键点的置信度,作为加权系数;
Jest,i表示第i个2d关键点在图像上的坐标;
Rθ(J(β)i表示形状参数β和姿态参数θ输入到SMPL参数化人体模型后得到的第i个关节点在相机坐标系下的坐标;
ΠK表示将相机坐标系中的点坐标[X,Y,Z]投影到图像坐标系的点坐标[x,y],具体计算公式为其中f表示相机焦距,算法中设置为默认值1060;
表示Geman-McClure惩罚函数,σ设置为100,主要用来惩罚目标函数中的异常值,使得迭代优化更稳定。
2)先验项,可以表示为公式(2-2):
a.形状先验,可以表示为公式(2-3):
Eshape=||β||2 (2-3);
其中,β表示SMPL参数化人体模型中的形状参数,可以为10维向量;该形状先验项的物理意义为约束人体的形状参数不要偏离平均人体过大。
b.姿态先验,可以表示为公式(2-4):
Epose=||θlatent||2 (2-4);
其中,θlatent表示SMPL参数化人体模型的姿态参数在隐空间的编码,可以为32维向量;该姿态先验项的物理意义为约束人体的姿态参数不要偏离正常姿态过大;
θlatent的编码采用了如图10C所示的变分自编码器,动作先验变分自编码器在大量人体3D姿态的数据集上训练而来,因此在隐空间中编码了人体常见的姿态,可以防止出现一些人体无法做出的姿态。
3)正则项,可以表示为公式(2-5):
Ereg=λsEsmooth+λbEbone_length+λcvEcontact_vel+λchEcontact_height (2-5);
其中,Esmooth表示3D关节点在相邻帧中位置应该比较接近;
Ebone_length表示骨骼在不同帧中的长度应该保持一致;
Econtact_vel表示如果相邻两帧脚部均接地,则脚部速度误差为0;
Econtact_height表示如果某一帧脚部接地,则脚部关节点距离地面高度小于某个阈值,算法中设置该阈值为2厘米。
在步骤804中,将标准人体上的3D姿态通过动作重定向适配到不同的人物角色上。
该步骤对应图8B中阶段三,为动作重定向,该步骤在算法管线中的作用是:将算法计算得到的SMPL参数化人体上动作迁移到其他目标角色上。
图11是本申请实施例提供的虚拟对象动画生成方法在虚拟引擎中的应用界面示意图,虚拟引擎可以为虚拟引擎5(UE5),如图11所示,在应用界面中,选择“动作面板”,文件类型选择“视频”,点击“选取文件”,上传符合要求的格式(如mp4格式)的视频;然后点击“生成”按键,等待算法运行完成获取人体动作;最后在其展示人物上查看获取的人体动作效果。
本申请实施例提供的虚拟对象动画生成方法,优化的整体方案,能够保证视频动捕获得的动作精确性,在舞蹈、走路等场景下,人物动作可以和视频中几乎保持一致。通过3D姿态修正模块中运动先验的引入,能够保证走路场景下人体移动的合理性,大幅度提升视频动态捕捉的效果。
可以理解的是,在本申请实施例中,涉及到视频帧信息等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
下面继续说明本申请实施例提供的虚拟对象动画生成装置455的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器440的虚拟对象动画生成装置455中的软件模块可以包括:
第一获取模块4551,用于获取待处理视频,确定所述待处理视频中目标对象的初始三维姿态信息、二维姿态信息和脚部接地信息;
第一确定模块4552,用于基于所述目标对象的初始三维姿态信息,确定相邻视频帧之间的姿态变化信息;
第二确定模块4553,用于基于所述目标对象的初始三维姿态信息和所述姿态变化信息,确定所述目标对象的待修正姿态信息;
第一处理模块4554,用于基于所述目标对象的二维姿态信息和脚部接地信息对所述目标对象的待修正姿态信息进行修正处理,得到所述目标对象的修正后姿态信息;
动作重定向模块4555,用于将所述修正后姿态信息动作重定向至虚拟对象,生成与所述待处理视频对应的虚拟对象动画视频。
在一些实施例中,所述初始三维姿态信息包括初始姿态参数和初始形状参数,所述第一确定模块4551,还用于:
获取训练好的运动先验模型;
利用所述训练好的运动先验模型,对所述目标对象的初始姿态参数进行预测处理,得到所述相邻视频帧之间的姿态变化信息。
在一些实施例中,所述第一确定模块4551,还用于:
将所述待处理视频划分为多个视频片段;
当确定第i个视频帧为视频片段中的第一帧时,将所述目标对象的初始三维姿态信息确定为所述目标对象的待修正姿态信息,i=1,2,…,N,N为所述待处理视频中的视频帧总数,第i个视频帧为目标对象所在的当前视频帧;
当确定第i个视频帧不为视频片段中的第一帧时,获取所述目标对象在第(i-1)个视频帧的修正后姿态信息,所述修正后姿态信息包括修正后姿态参数和修正后形状参数;
基于所述目标对象从第(i-1)个视频帧到第i个视频帧的姿态变化信息与所述目标对象在第(i-1)个视频帧的修正后姿态参数,确定所述目标对象的待修正姿态参数;
将所述目标对象对应的初始形状参数和所述目标对象的待修正姿态参数确定为所述目标对象的待修正姿态信息。
在一些实施例中,所述第一处理模块4554,还用于:
基于所述目标对象的待修正姿态信息、二维姿态信息和相机参数,确定所述所述目标对象的重投影误差;
基于所述目标对象的待修正姿态信息确定所述目标对象的先验信息,所述先验信息包括姿态误差和形状误差;
基于目标对象在所述第(i-1)个视频帧中的脚部接地信息和修正后姿态信息,以及目标对象在第i个视频帧中的脚部接地信息和待修正姿态信息,确定所述目标对象的正则项误差;
基于所述目标对象的重投影误差值、先验信息和正则项误差,确定所述目标对象的总误差;
利用梯度下降法对所述目标对象的待修正姿态信息进行迭代优化,直至所述目标对象的总误差达到最小值,得到所述目标对象的修正后姿态信息。
在一些实施例中,所述二维姿态信息包括目标对象的各个关节点的参考坐标信息和所述各个关节点的置信度,所述第一处理模块4554,还用于:
基于所述目标对象的待修正姿态信息和二维姿态信息,确定所述目标对象的各个关节点的相机坐标信息;
基于所述相机参数和所述目标对象的各个关节点的相机坐标信息,确定所述各个关节点的图像坐标信息;
基于所述各个关节点的图像坐标信息和所述各个关节点的参考坐标信息,确定所述各个关节点的坐标误差;
基于所述各个关节点的坐标误差和所述各个关节点的置信度,确定所述目标对象的重投影误差。
在一些实施例中,所述待修正姿态信息包括待修正姿态参数和待修正形状参数,所述第一处理模块4554,还用于:
基于所述目标对象的待修正形状参数,确定所述目标对象的形状先验信息;
对所述目标对象的待修正姿态参数进行编码处理,得到所述待修正姿态参数在隐空间的编码结果;
基于所述待修正姿态参数在隐空间的编码结果,确定所述目标对象的姿态先验信息;
基于所述目标对象的形状先验信息和所述目标对象的姿态先验信息,确定所述目标对象的先验信息。
在一些实施例中,所述第一处理模块4554,还用于:
基于目标对象在所述第(i-1)个视频帧中的修正后姿态信息和所述目标对象在第i个视频帧中的待修正姿态信息,确定所述目标对象的各个关节点的位置差值和所述目标对象的各条骨骼的长度差值;
基于目标对象在所述第(i-1)个视频帧中的脚部接地信息和所述目标对象在第i个视频帧中的脚部接地信息,确定目标对象的脚部速度误差;
确定所述目标对象的脚部关节与地面的高度差;
基于所述目标对象的各个关节点的位置差值、所述目标对象的各条骨骼的长度差值、所述目标对象的脚部速度误差和脚部关节点与地面的高度差,确定所述目标对象的正则项误差。
在一些实施例中,所述虚拟对象动画生成装置455,还包括:
第二获取模块,用于获取训练视频和预设的运动先验模型,其中训练视频中包括多个训练视频帧;
第三确定模块,用于将第k个训练视频帧和第k+1个训练视频帧确定为第k个训练数据对,其中,k=1,2,…,M-1,M为训练视频的视频帧总数;
第二处理模块,用于对所述第k个训练数据对中的两个训练视频帧进行编码处理,得到所述第k个训练数据对中两个训练视频帧在隐空间的编码结果;
第四确定模块,用于基于所述第k个训练数据对中两个训练视频帧在隐空间的编码结果,确定所述第k个训练数据对中两个训练视频帧的预测变化信息;
训练模块,用于基于各个训练数据对中两个训练视频帧的预测变化信息对所述预设的运动先验模型进行训练,得到训练好的运动先验模型。
在一些实施例中,所述第一获取模块4551,还用于:
获取训练好的三维姿态估计模型、训练好的二维姿态估计模型和训练好的脚部接地检测模型;
利用所述训练好的三维姿态估计模型,对所述待处理视频进行姿态估计,得到所述待处理视频中目标对象的初始三维姿态信息;
利用所述训练好的二维姿态估计模型,对所述待处理视频进行姿态估计,得到所述目标对象的二维姿态信息;
利用所述训练好的脚部接地检测模型,对所述目标对象的二维姿态信息进行预测处理,得到所述目标对象的脚部接地信息。
在一些实施例中,所述动作重定向模块4555,还用于:
获取待驱动的虚拟对象的肢体网格信息;
基于所述虚拟对象的肢体网格信息,将所述修正的姿态信息通过动作重定向适配至所述虚拟对象,以驱动所述虚拟对象执行所述修正后姿态信息对应的动作。
这里需要指出的是:以上虚拟对象动画生成装置实施例项的描述,与上述方法描述是类似的,具有同方法实施例相同的有益效果。对于本申请虚拟对象动画生成装置实施例中未披露的技术细节,本领域的技术人员请参照本申请方法实施例的描述而理解。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机可执行指令,该计算机程序或计算机可执行指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机可执行指令,处理器执行该计算机可执行指令,使得该电子设备执行本申请实施例上述的虚拟对象动画生成方法。
本申请实施例提供一种存储有计算机可执行指令的计算机可读存储介质,其中存储有计算机可执行指令,当计算机可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的虚拟对象动画生成方法,例如,如图3A、图5C示出的虚拟对象动画生成方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,计算机可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,计算机可执行指令可以但不一定对应于文件***中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,HyperText Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (14)
1.一种虚拟对象动画生成方法,其特征在于,所述方法包括:
获取待处理视频,确定所述待处理视频中目标对象的初始三维姿态信息、二维姿态信息和脚部接地信息;
基于所述目标对象的初始三维姿态信息,确定相邻视频帧之间的姿态变化信息;
基于所述目标对象的初始三维姿态信息和所述姿态变化信息,确定所述目标对象的待修正姿态信息;
基于所述目标对象的二维姿态信息和脚部接地信息对所述目标对象的待修正姿态信息进行修正处理,得到所述目标对象的修正后姿态信息;
将所述修正后姿态信息动作重定向至虚拟对象,生成与所述待处理视频对应的虚拟对象动画视频。
2.根据权利要求1中所述的方法,其特征在于,所述初始三维姿态信息包括初始姿态参数和初始形状参数,所述基于所述目标对象的初始三维姿态信息,确定相邻视频帧之间的姿态变化信息,包括:
获取训练好的运动先验模型;
利用所述训练好的运动先验模型,对所述目标对象的初始姿态参数进行预测处理,得到相邻视频帧之间的姿态变化信息。
3.根据权利要求2中所述的方法,其特征在于,所述基于所述各个视频帧中目标对象的初始三维姿态信息和所述姿态变化信息确定所述目标对象的待修正姿态信息,包括:
将所述待处理视频划分为多个视频片段;
当确定第i个视频帧为视频片段中的第一帧时,将所述目标对象的初始三维姿态信息确定为所述目标对象的待修正姿态信息,i=1,2,…,N,N为所述待处理视频中的视频帧总数,第i个视频帧为目标对象所在的当前视频帧;
当确定第i个视频帧不为视频片段中的第一帧时,获取所述目标对象在第(i-1)个视频帧的修正后姿态信息,所述修正后姿态信息包括修正后姿态参数和修正后形状参数;
基于所述目标对象从第(i-1)个视频帧到第i个视频帧的姿态变化信息与所述目标对象在第(i-1)个视频帧的修正后姿态参数,确定所述目标对象的待修正姿态参数;
将所述目标对象对应的初始形状参数和所述目标对象的待修正姿态参数确定为所述目标对象的待修正姿态信息。
4.根据权利要求1中所述的方法,其特征在于,所述基于所述目标对象的二维姿态信息和脚部接地信息对所述目标对象的待修正姿态信息进行修正处理,得到所述目标对象的修正后姿态信息,包括:
基于所述目标对象的待修正姿态信息、二维姿态信息和相机参数,确定所述所述目标对象的重投影误差;
基于所述目标对象的待修正姿态信息确定所述目标对象的先验信息,所述先验信息包括姿态误差和形状误差;
基于目标对象在所述第(i-1)个视频帧中的脚部接地信息和修正后姿态信息,以及目标对象在第i个视频帧中的脚部接地信息和待修正姿态信息,确定所述目标对象的正则项误差;
基于所述目标对象的重投影误差值、先验信息和正则项误差,确定所述目标对象的总误差;
利用梯度下降法对所述目标对象的待修正姿态信息进行迭代优化,直至所述目标对象的总误差达到最小值,得到所述目标对象的修正后姿态信息。
5.根据权利要求4中所述的方法,其特征在于,所述二维姿态信息包括目标对象的各个关节点的参考坐标信息和所述各个关节点的置信度,所述基于所述目标对象的待修正姿态信息、二维姿态信息和相机参数确定所述目标对象的重投影误差,包括:
基于所述目标对象的待修正姿态信息和二维姿态信息,确定所述目标对象的各个关节点的相机坐标信息;
基于所述相机参数和所述目标对象的各个关节点的相机坐标信息,确定所述各个关节点的图像坐标信息;
基于所述各个关节点的图像坐标信息和所述各个关节点的参考坐标信息,确定所述各个关节点的坐标误差;
基于所述各个关节点的坐标误差和所述各个关节点的置信度,确定所述目标对象的重投影误差。
6.根据权利要求4中所述的方法,其特征在于,所述待修正姿态信息包括待修正姿态参数和待修正形状参数,所述基于所述目标对象的待修正姿态信息确定,所述目标对象的先验信息,包括:
基于所述目标对象的待修正形状参数,确定所述目标对象的形状先验信息;
对所述目标对象的待修正姿态参数进行编码处理,得到所述待修正姿态参数在隐空间的编码结果;
基于所述待修正姿态参数在隐空间的编码结果,确定所述目标对象的姿态先验信息;
基于所述目标对象的形状先验信息和所述目标对象的姿态先验信息,确定所述目标对象的先验信息。
7.根据权利要求4中所述的方法,其特征在于,所述基于所述目标对象在第(i-1)个视频帧中的脚部接地信息和修正后姿态信息,以及目标对象在第i个视频帧中的脚部接地信息和待修正姿态信息,确定目标对象的正则项误差,包括:
基于目标对象在所述第(i-1)个视频帧中的修正后姿态信息和所述目标对象在第i个视频帧中的待修正姿态信息,确定所述目标对象的各个关节点的位置差值和所述目标对象的各条骨骼的长度差值;
基于目标对象在所述第(i-1)个视频帧中的脚部接地信息和所述目标对象在第i个视频帧中的脚部接地信息,确定目标对象的脚部速度误差;
确定所述目标对象的脚部关节与地面的高度差;
基于所述目标对象的各个关节点的位置差值、所述目标对象的各条骨骼的长度差值、所述目标对象的脚部速度误差和脚部关节点与地面的高度差,确定所述目标对象的正则项误差。
8.根据权利要求2至7任一项所述的方法,其特征在于,所述方法还包括:
获取训练视频和预设的运动先验模型,其中训练视频中包括多个训练视频帧;
将第k个训练视频帧和第k+1个训练视频帧确定为第k个训练数据对,其中,k=1,2,…,M-1,M为训练视频的视频帧总数;
对所述第k个训练数据对中的两个训练视频帧进行编码处理,得到所述第k个训练数据对中两个训练视频帧在隐空间的编码结果;
基于所述第k个训练数据对中两个训练视频帧在隐空间的编码结果,确定所述第k个训练数据对中两个训练视频帧的预测变化信息;
基于各个训练数据对中两个视频帧的姿态变化信息对所述预设的运动先验模型的参数进行调整,得到训练好的运动先验模型。
9.根据权利要求1中所述的方法,其特征在于,所述确定所述待处理视频中目标对象的初始三维姿态信息、二维姿态信息和脚部接地信息,包括:
获取训练好的三维姿态估计模型、训练好的二维姿态估计模型和训练好的脚部接地检测模型;
利用所述训练好的三维姿态估计模型,对所述待处理视频进行姿态估计,得到所述待处理视频中目标对象的初始三维姿态信息;
利用所述训练好的二维姿态估计模型,对所述待处理视频进行姿态估计,得到所述目标对象的二维姿态信息;
利用所述训练好的脚部接地检测模型,对所述目标对象的二维姿态信息进行预测处理,得到所述目标对象的脚部接地信息。
10.根据权利要求1至7任一项所述的方法,其特征在于,所述将所述修正后姿态信息动作重定向至虚拟对象,生成与所述待处理视频对应的虚拟对象动画视频,包括:
获取待驱动的虚拟对象的肢体网格信息;
基于所述虚拟对象的肢体网格信息,将所述修正后姿态信息通过动作重定向适配至所述虚拟对象,以驱动所述虚拟对象执行所述修正后姿态信息对应的动作,生成与所述待处理视频对应的虚拟对象动画视频。
11.一种虚拟对象动画生成装置,其特征在于,所述装置包括:
第一获取模块,用于获取待处理视频,确定所述待处理视频中目标对象的初始三维姿态信息、二维姿态信息和脚部接地信息;
第一确定模块,用于基于所述目标对象的初始三维姿态信息,确定相邻视频帧之间的姿态变化信息;
第二确定模块,用于基于所述目标对象的初始三维姿态信息和所述姿态变化信息,确定所述目标对象的待修正姿态信息;
第一处理模块,用于基于所述目标对象的二维姿态信息和脚部接地信息对所述目标对象的待修正姿态信息进行修正处理,得到所述目标对象的修正后姿态信息;
动作重定向模块,用于将所述修正后姿态信息动作重定向至虚拟对象,生成与所述待处理视频对应的虚拟对象动画视频。
12.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述存储器中存储的计算机可执行指令时,实现权利要求1至10任一项所述的方法。
13.一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令被处理器执行时实现权利要求1至10任一项所述的方法。
14.一种计算机程序产品,包括计算机程序或计算机可执行指令,其特征在于,所述计算机程序或计算机可执行指令被处理器执行时实现权利要求1至10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310244258.5A CN116958337A (zh) | 2023-03-06 | 2023-03-06 | 虚拟对象动画生成方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310244258.5A CN116958337A (zh) | 2023-03-06 | 2023-03-06 | 虚拟对象动画生成方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116958337A true CN116958337A (zh) | 2023-10-27 |
Family
ID=88453669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310244258.5A Pending CN116958337A (zh) | 2023-03-06 | 2023-03-06 | 虚拟对象动画生成方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116958337A (zh) |
-
2023
- 2023-03-06 CN CN202310244258.5A patent/CN116958337A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mao et al. | History repeats itself: Human motion prediction via motion attention | |
CN112614213B (zh) | 人脸表情确定方法、表情参数确定模型、介质及设备 | |
KR20220025023A (ko) | 애니메이션 처리 방법 및 장치, 컴퓨터 저장 매체 그리고 전자 디바이스 | |
CN113496507A (zh) | 一种人体三维模型重建方法 | |
CN112991503B (zh) | 一种基于蒙皮权重的模型训练方法、装置、设备及介质 | |
CN112085835B (zh) | 三维卡通人脸生成方法、装置、电子设备及存储介质 | |
Liu | Aerobics posture recognition based on neural network and sensors | |
Ma et al. | Human motion gesture recognition based on computer vision | |
CN113592895A (zh) | 一种运动信息确定方法、设备及计算机可读存储介质 | |
Mourot et al. | Underpressure: Deep learning for foot contact detection, ground reaction force estimation and footskate cleanup | |
CN114170353B (zh) | 一种基于神经网络的多条件控制的舞蹈生成方法及*** | |
Liu et al. | Key algorithm for human motion recognition in virtual reality video sequences based on hidden markov model | |
Wang et al. | Swimmer’s posture recognition and correction method based on embedded depth image skeleton tracking | |
CN116977502A (zh) | 运动重定向方法、装置、电子设备及计算机可读存储介质 | |
Li et al. | [Retracted] Human Motion Representation and Motion Pattern Recognition Based on Complex Fuzzy Theory | |
Chang et al. | [Retracted] Visual Sensing Human Motion Detection System for Interactive Music Teaching | |
CN114333069B (zh) | 对象的姿态处理方法、装置、设备及存储介质 | |
Eom et al. | Data‐Driven Reconstruction of Human Locomotion Using a Single Smartphone | |
CN116485953A (zh) | 数据处理方法、装置、设备和可读存储介质 | |
CN113592986B (zh) | 基于神经网络的动作生成方法、装置及计算设备 | |
CN116958337A (zh) | 虚拟对象动画生成方法、装置、电子设备及可读存储介质 | |
Qianwen | Application of motion capture technology based on wearable motion sensor devices in dance body motion recognition | |
Chen et al. | Movement Evaluation Algorithm‐Based Form Tracking Technology and Optimal Control of Limbs for Dancers | |
Peng et al. | Research on Action Recognition Method of Dance Video Image Based on Human‐Computer Interaction | |
CN115994944A (zh) | 三维关键点预测方法、训练方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40099456 Country of ref document: HK |