CN115617429A - 一种数据处理方法及相关设备 - Google Patents

一种数据处理方法及相关设备 Download PDF

Info

Publication number
CN115617429A
CN115617429A CN202110797678.7A CN202110797678A CN115617429A CN 115617429 A CN115617429 A CN 115617429A CN 202110797678 A CN202110797678 A CN 202110797678A CN 115617429 A CN115617429 A CN 115617429A
Authority
CN
China
Prior art keywords
action
limb
motion
information
state
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
Application number
CN202110797678.7A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110797678.7A priority Critical patent/CN115617429A/zh
Priority to PCT/CN2022/104524 priority patent/WO2023284634A1/zh
Publication of CN115617429A publication Critical patent/CN115617429A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/308Details of the user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请实施例公开了一种数据处理方法及相关设备,可以应用于动画制作等场景。该方法包括:通过第一信息与第一动作状态得到n组动作状态,并基于第一动作状态与n组动作状态对目标对象的肢体动作进行处理得到第一图像与n个图像,从而基于第一图像与n个图像生成目标视频。由于第一脚本中的第一动作类型与第一动作属性这种较高层的语义更加高效、直观、可理解,相较于现有技术中需要用户输入低层的控制信号,可以减少用户的工作量与专业要求,进而提升后续生成目标视频的效率。

Description

一种数据处理方法及相关设备
技术领域
本申请实施例涉及动画技术领域,尤其涉及一种数据处理方法及相关设备。
背景技术
人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论,动画自动生成等。
目前,角色动画自动生成技术常应用在游戏、动画视频创作、交互式应用中,例如在游戏中通过鼠标、键盘控制角色执行特定动作。
然而,在上述角色动画自动生成技术中,需要用户输入控制信号,例如实时的速度、方向等。因此,如何在减少用户的工作量的情况下生成角色动画是亟待解决的技术问题。
发明内容
本申请实施例提供了一种数据处理方法及相关设备。相较于现有技术中需要用户输入低层的控制信号,可以减少用户的工作量与专业要求,进而提升后续生成目标视频的效率。
本申请实施例第一方面提供了一种数据处理方法,可以应用于可以应用于儿童教育动画、短视频动画、宣传动画、综艺动画、影视预演动画等的自动、快速制作,或游戏中觉得的自动动作控制,或用于交互式应用中自动生成角色动作等场景。该方法可以由数据处理设备执行,也可以由数据处理设备的部件(例如处理器、芯片、或芯片系统等)执行。该方法包括:获取第一信息,第一信息包括第一动作类型以及第一动作属性,第一动作类型用于描述第一肢体动作,第一动作属性用于描述第一肢体动作发生的过程;获取第一动作状态;基于第一动作状态与第一信息得到n组动作状态,n为正整数;获取目标对象;基于第一动作状态对目标对象的肢体动作进行处理得到第一图像;基于n组动作状态对目标对象的肢体动作进行处理得到n个图像;基于第一图像和n个图像生成目标视频,目标视频与第一动作类型和第一动作属性相关。例如,第一动作类型为“走”,第一动作属性为“走”对应的参数:“目标(或称为位移)”、“行进路径”。即第一动作类型与第一动作属性属于高级语义,并不需要用户具有太多的技术要求,适用的用户群体较为广泛。
本申请实施例中,通过第一信息与第一动作状态得到n组动作状态,并基于第一动作状态与n组动作状态对目标对象的肢体动作进行处理得到第一图像与n个图像,从而基于第一图像与n个图像生成目标视频。由于第一脚本中的第一动作类型与第一动作属性这种较高层的语义更加高效、直观、可理解,相较于现有技术中需要用户输入低层的控制信号,可以减少用户的工作量与专业要求,进而提升后续生成目标视频的效率。
可选地,在第一方面的一种可能的实现方式中,上述步骤:获取第一信息,包括:获取用户输入的第一脚本,第一脚本包括第一动作类型与第一动作属性;或者,显示第一用户界面,第一用户界面包括动作类型选项和/或动作属性选项;响应用户在第一用户界面的第一操作,从动作类型选项中确定第一动作类型,和/或从动作属性选项中选择第一动作属性。可以理解的是,实际应用中,还可以有其他方式获取第一信息,具体此处不做限定。
该种可能的实现方式中,可以通过用户界面与用户进行交互,使得用户可以通过输入具有高层语义的脚本,获取通用的角色动画(即目标对象的视频),提升对技术能力较差的用户对制作视频的体验。
可选地,在第一方面的一种可能的实现方式中,上述步骤:获取第一动作状态,包括:获取第二动作状态,第二动作状态用于表示第一动作状态之前的历史动作状态;将第二动作状态与第一信息输入训练好的第一网络得到第一动作状态;或者,向用户显示第二用户界面,第二用户界面包括动作状态区域;响应用户在第二用户界面的第二操作,从动作状态区域中确定第一动作状态;或者,获取预先设置的第一动作状态。可以理解的是,实际应用中,还可以有其他方式获取第一动作状态,具体此处不做限定。
该种可能的实现方式中,可以通过用户界面与用户进行交互的方式获取第一动作状态,提升用户对制作视频的体验。
可选地,在第一方面的一种可能的实现方式中,上述步骤:基于第一动作状态与第一信息得到n组动作状态,包括:将第一动作状态与第一信息输入训练好的第一网络得到n组动作状态,第一网络用于根据第三动作状态、第一动作类型与第一动作属性获取第四动作状态,第三动作状态到第四动作状态的变化与第一动作类型相关。
该种可能的实现方式中,通过第三运动状态与第一网络得到第四动作状态,由于第一网络经过训练得到,进而使得生成的n组动作状态更符合第一动作类型。
可选地,在第一方面的一种可能的实现方式中,上述训练好的第一网络是通过以第一训练数据作为第一网络的输入,以第一损失函数的值小于第一阈值为目标对第一网络进行训练获取,第一训练数据包括第三动作状态、第一动作类型以及与第一动作属性,第三动作状态包括第一肢体动作对应关节的第三坐标、第三转角、第三速度中的至少一个;第一损失函数用于指示第一网络输出的第四动作状态与第一目标动作状态之间的差异,第四动作状态包括第一肢体动作对应关节的第四坐标、第四转角、第四速度中的至少一个;第一目标动作状态包括第一目标坐标、第一目标转角、第一目标速度中的至少一个;第一目标动作状态与第三动作状态属于同一个动作视频中相邻两帧对应的动作状态。
该种可能的实现方式中,通过对第一网络的训练,使得后续根据上一时刻的动作状态、动作类型与动作属性得到的下一刻的动作状态更加符合动作类型。
可选地,在第一方面的一种可能的实现方式中,上述的目标对象为三维模型,目标对象用于执行第一肢体动作。具体地,第一动作类型与第一动作属性对应的第一肢体动作可以重定向至目标对象,从而可以生成通用的角色动画。
可选地,在第一方面的一种可能的实现方式中,上述步骤还包括:获取n的数值;基于第一动作状态与第一信息得到n组动作状态,包括:基于第一动作状态与第一信息通过第一网络得到输出并进行迭代,得到n组动作状态。
该种可能的实现方式中,通过引入预测动作状态的次数,或者称为动作状态的数量,提升制作视频的灵活性,进而提升用户体验。
可选地,在第一方面的一种可能的实现方式中,上述的。结束条件包括第一肢体动作的完成进度、第一动作类型的结束时刻、第一动作属性中的参数中的至少一项相关,结束条件是预先设置的或者用户在第三用户界面上输入的。例如:第一动作类型为“走”,则结束条件可以是与第一动作属性(“目标”)。若目标是其他角色,则走到其他角色的位置后,可以停止预测,即停止走的动作。若结束条件包括第一肢体动作的完成进度,该完成进度可以根据第一信息、第一动作状态、第一动作类型的第一时间段(第一起始时刻与第一结束时刻)预测处理得到。具体的,将第一信息、第一动作状态与第一时间段输入第一网络得到得到n组动作状态以及完成进度。
该种可能的实现方式中,通过引入结束条件,可以确定预测动作状态的次数,或者说动作状态的数量,进而提升用户体验。
可选地,在第一方面的一种可能的实现方式中,上述步骤还包括:获取环境信息,环境信息包括与目标对象交互的道具、对象、目标对象所处的地形中的至少一种;基于第一动作状态与第一信息得到n组动作状态,包括:基于第一动作状态、第一信息以及环境信息得到n组动作状态以及与n组动作状态对应的n个环境接触信息,n个环境接触信息中的一个环境接触信息用于表示环境接触信息对应的动作状态中的关节是否与环境信息接触;基于n组动作状态对目标对象的肢体动作进行处理得到n个图像,包括:基于n组动作状态与环境接触信息对目标对象的肢体动作进行处理得到n个图像。其中,道具可以包括可能与目标对象接触的树木、工具、或者承载角色的凳子、车辆等,具体此处不做限定。其中,上述获取环境信息(或称为场景)的方式可以是通过用户导入场景模型文件(例如用户创建并导入场景,或者用户从数据库中选择场景等)的方式、用户在设备显示的用户界面上搭建场景等方式,具体此处不做限定。
该种可能的实现方式中,通过引入环境信息预测环境接触信息,进而可以生成与环境(道具、其他角色等)交互的动画,提升生成动画的多样性。
可选地,在第一方面的一种可能的实现方式中,上述步骤还包括:获取第二信息,第二信息包括第二动作类型以及第二动作属性,第二动作类型用于描述第二肢体动作,第二动作属性用于描述第二肢体动作发生的过程;获取第五动作状态;基于第五动作状态与第二信息得到m组动作状态,m为正整数;基于第五动作状态对目标对象的肢体动作进行处理得到第二图像;基于m组动作状态对目标对象的肢体动作进行处理得到m个图像;基于第一图像和n个图像生成目标视频,包括:基于第一图像、n个图像、第二图像以及m个图像生成目标视频。
该种可能的实现方式中,目标视频包括第一动作类型对应的第一肢体动作与第二动作类型对应的第二肢体动作,例如第一动作类型是走,第二动作类型是跑,则生成的目标视频可以是包括走与跑对应的有序图像,即可以生成连贯的动作视频。
可选地,在第一方面的一种可能的实现方式中,上述的第一信息还包括第一动作类型的第一时间段,第二信息还包括第二动作类型的第二时间段;基于第一图像、n个图像、第二图像以及m个图像生成目标视频,包括:基于第一图像、n个图像、第二图像、m个图像、第一时间段以及第二时间段生成目标视频,第一时间段对应第一图像与n个图像,第二时间段对应第二图像与m个图像。
该种可能的实现方式中,基于第一动作类型的第一时间段与第二动作类型的第二时间段对第一图像、n个图像、第二图像以及m个图像进行处理生成目标视频。可以保证目标视频的连续性。
可选地,在第一方面的一种可能的实现方式中,上述步骤:基于第五动作状态与第二信息得到m组动作状态,包括:将第五动作状态与第二信息输入训练好的第二网络得到m组动作状态,第二网络用于根据第六动作状态、第二动作类型与第二动作属性获取第七动作状态,第六动作状态到第七动作状态的变化与第二动作类型相关。
该种可能的实现方式中,通过第五动作状态与第二网络可以得到m组动作状态,由于第二网络经过训练得到,进而使得生成的动作状态更符合第二动作类型。
可选地,在第一方面的一种可能的实现方式中,上述训练好的第二网络是通过以第二训练数据作为第二网络的输入,以第二损失函数的值小于第二阈值为目标对第二网络进行训练获取,第二训练数据包括第六动作状态、第二动作类型以及与第二动作属性,第六动作状态包括第二肢体动作对应关节的第六坐标、第六转角、第六速度中的至少一个;第二损失函数用于指示第二网络输出的第七动作状态与第二目标动作状态之间的差异,第七动作状态包括第二肢体动作对应关节的第七坐标、第七转角、第七速度中的至少一个;第二目标动作状态包括第二目标坐标、第二目标转角、第二目标速度中的至少一个;第二目标动作状态与第六动作状态属于同一个动作视频中相邻两帧对应的动作状态。
该种可能的实现方式中,通过对第二网络的训练,使得后续根据第六动作状态、第二动作类型与第二动作属性预测的第七动作状态更加符合第二动作类型。
可选地,在第一方面的一种可能的实现方式中,上述步骤还包括:获取第三信息,第三信息包括第三动作类型以及第三动作属性,第三动作类型用于描述第三肢体动作,第三动作属性用于描述第三肢体动作发生的过程,第三肢体动作对应的第三肢体为第一肢体动作对应的第一肢体中的局部肢体;获取第八动作状态;基于第八动作状态与第三信息得到p组动作状态,p为正整数;基于第一动作状态对目标对象的肢体动作进行处理得到第一图像,包括:基于第三肢体与第一肢体的覆盖关系使用第八动作状态对应的目标对象的肢体动作覆盖第一动作状态对应的目标对象的肢体动作得到第一图像;基于n组动作状态对目标对象的肢体动作进行处理得到n个图像,包括:基于第三肢体与第一肢体的覆盖关系使用p组动作状态对应的目标对象的肢体动作覆盖n组动作状态对应的目标对象的肢体动作得到n个图像。
该种可能的实现方式中,通过局部肢体(即第三肢体)与第一肢体的覆盖关系,将局部肢体对应的肢体动作覆盖至第一肢体对应的肢体动作,可以调整第一动作序列中某个局部的动作,即通过引入多个局部肢体动作可以生成动作复杂的动画。
可选地,在第一方面的一种可能的实现方式中,上述步骤还包括:获取面部信息,面部信息包括面部表情类型以及与面部表情类型对应的表情属性,面部表情类型用于描述目标对象的面部动作,表情属性用于描述面部动作的幅度;基于面部信息与第一关联关系获取面部表情序列,第一关联关系用于表示面部信息与面部表情序列的关联关系;基于第一动作状态对目标对象的肢体动作进行处理得到第一图像,包括:基于第一动作状态与面部表情序列对目标对象的肢体动作与面部动作进行处理得到第一图像;基于n组动作状态对目标对象的肢体动作进行处理得到n个图像,包括:基于n组动作状态与面部表情序列对目标对象的肢体动作与面部动作进行处理得到n个图像。其中,面部表情类型可以包括中性、高兴、悲伤、惊讶、愤怒、厌恶、恐惧、惊喜、疲惫、尴尬、蔑视等中的任意一种。
该种可能的实现方式中,通过面部信息获取面部表情序列,使得后续生成的视频不仅包括动作类型,还可以包括面部表情,可以用于生成对细节要求较高的动画,或者说可以生成高质量的动画。
可选地,在第一方面的一种可能的实现方式中,上述步骤还包括:获取文本信息,该文本信息可以包括目标对象的台词以及该台词对应的语气;基于文本信息生成语音片段;基于语音片段生成口型序列,口型序列用于描述目标对象的口型;基于第一动作状态对目标对象的肢体动作进行处理得到第一图像,包括:基于第一动作状态与口型序列对目标对象的肢体动作与面部动作进行处理得到第一图像;基于n组动作状态对目标对象的肢体动作进行处理得到n个图像,包括:基于n组动作状态与口型序列对目标对象的肢体动作与面部动作进行处理得到n个图像。
该种可能的实现方式中,还可以通过第五信息获取口型序列,使得后续生成的视频中的目标对象的口型可以根据语音片段(或者目标对象的台词)变化,使得生成的视频具有的细节更加丰富。
可选地,在第一方面的一种可能的实现方式中,上述步骤:基于第一图像和n个图像生成目标视频,包括:基于第一图像、n个图像以及语音片段生成目标视频。
该种可能的实现方式中,还可以引入语音片段,从而可以生成具有与动作、表情、口型相对应的动画,适用于高质量动画的制作场景。
可选地,在第一方面的一种可能的实现方式中,上述的第一动作类型包括走、跑、跳跃、坐下、站起、蹲下、躺下、拥抱、拳击、挥剑、跳舞等中的至少一种。
可选地,在第一方面的一种可能的实现方式中,上述的第一动作属性包括目标位置、位移、行进路径、动作速度、动作发生的频率、动作的幅度、动作的朝向等中的至少一种。
例如,第一动作类型是踢,则第一动作属性可以是动作速度、动作的朝向。又例如,第一动作类型是坐下,则第一动作属性是目标位置。
该种可能的实现方式中,第一动作类型与第一动作属性这种较高层的语义更加高效、直观、可理解,相较于现有技术中需要用户输入低层的控制信号,可以减少用户的工作量与专业要求,进而提升后续生成目标视频的效率。
本申请实施例第二方面提供了一种数据处理设备,可以应用于可以应用于儿童教育动画、短视频动画、宣传动画、综艺动画、影视预演动画等的自动、快速制作,或游戏中觉得的自动动作控制,或用于交互式应用中自动生成角色动作等场景。该数据处理设备包括:
获取单元,用于获取第一信息,第一信息包括第一动作类型以及第一动作属性,第一动作类型用于描述第一肢体动作,第一动作属性用于描述第一肢体动作发生的过程;
获取单元,还用于获取第一动作状态;
预测单元,用于基于第一动作状态与第一信息得到n组动作状态,n为正整数;
获取单元,还用于获取目标对象;
处理单元,用于基于第一动作状态对目标对象的肢体动作进行处理得到第一图像;
处理单元,还用于基于n组动作状态对目标对象的肢体动作进行处理得到n个图像;
生成单元,用于基于第一图像和n个图像生成目标视频,目标视频与第一动作类型和第一动作属性相关。
可选地,在第二方面的一种可能的实现方式中,上述的获取单元,具体用于获取用户输入的第一脚本,第一脚本包括第一动作类型与第一动作属性;或者,获取单元,具体用于显示第一用户界面,第一用户界面包括动作类型选项和/或动作属性选项;获取单元,具体用于响应用户在第一用户界面的第一操作,从动作类型选项中确定第一动作类型,和/或从动作属性选项中选择第一动作属性。
可选地,在第二方面的一种可能的实现方式中,上述的获取单元,具体用于获取第二动作状态,第二动作状态用于表示第一动作状态之前的历史动作状态;获取单元,具体用于将第二动作状态与第一信息输入训练好的第一网络得到第一动作状态;或者,获取单元,具体用于向用户显示第二用户界面,第二用户界面包括动作状态区域;获取单元,具体用于响应用户在第二用户界面的第二操作,从动作状态区域中确定第一动作状态;或者,获取单元,具体用于获取预先设置的第一动作状态。
可选地,在第二方面的一种可能的实现方式中,上述的预测单元,具体用于将第一动作状态与第一信息输入训练好的第一网络得到n组动作状态,第一网络用于根据第三动作状态、第一动作类型与第一动作属性获取第四动作状态,第三动作状态到第四动作状态的变化与第一动作类型相关。
可选地,在第二方面的一种可能的实现方式中,上述的训练好的第一网络是通过以第一训练数据作为第一网络的输入,以第一损失函数的值小于第一阈值为目标对第一网络进行训练获取,第一训练数据包括第三动作状态、第一动作类型以及第一动作属性,第三动作状态包括第一肢体动作对应关节的第三坐标、第三转角、第三速度中的至少一个;第一损失函数用于指示第一网络输出的第四动作状态与第一目标动作状态之间的差异,第四动作状态包括第一肢体动作对应关节的第四坐标、第四转角、第四速度中的至少一个;第一目标动作状态包括第一目标坐标、第一目标转角、第一目标速度中的至少一个;第一目标动作状态与第三动作状态属于同一个动作视频中相邻两帧对应的动作状态。
可选地,在第二方面的一种可能的实现方式中,上述的目标对象为三维模型,目标对象用于执行第一肢体动作。
可选地,在第二方面的一种可能的实现方式中,上述的获取单元,还用于获取n的数值;预测单元,具体用于基于第一动作状态与第一信息通过第一网络得到输出并进行迭代,得到n组动作状态。
可选地,在第二方面的一种可能的实现方式中,上述的获取单元,还用于获取结束条件,结束条件包括第一肢体动作的完成进度、第一动作类型的结束时刻、第一动作属性中的参数中的至少一项相关,结束条件是预先设置的或者用户在第三用户界面上输入的;获取单元,具体用于基于结束条件确定n的数值。
可选地,在第二方面的一种可能的实现方式中,上述的获取单元,还用于获取环境信息,环境信息包括与目标对象交互的道具、对象中的至少一种;预测单元,具体用于基于第一动作状态、第一信息以及环境信息得到n组动作状态以及与n组动作状态对应的n个环境接触信息,n个环境接触信息中的一个环境接触信息用于表示环境接触信息对应的动作状态中的关节是否与环境信息接触;处理单元,具体用于基于n组动作状态与环境接触信息对目标对象的肢体动作进行处理得到n个图像。
可选地,在第二方面的一种可能的实现方式中,上述的获取单元,还用于获取第二信息,第二信息包括第二动作类型以及第二动作属性,第二动作类型用于描述第二肢体动作,第二动作属性用于描述第二肢体动作发生的过程;获取单元,还用于获取第五动作状态;预测单元,还用于基于第五动作状态与第二信息得到m组动作状态,m为正整数;处理单元,还用于基于第五动作状态对目标对象的肢体动作进行处理得到第二图像;处理单元,还用于基于m组动作状态对目标对象的肢体动作进行处理得到m个图像;生成单元,具体用于基于第一图像、n个图像、第二图像以及m个图像生成目标视频。
可选地,在第二方面的一种可能的实现方式中,上述的第一信息还包括第一动作类型的第一时间段,第二信息还包括第二动作类型的第二时间段;生成单元,具体用于基于第一图像、n个图像、第二图像、m个图像、第一时间段以及第二时间段生成目标视频,第一时间段对应第一图像与n个图像,第二时间段对应第二图像与m个图像。
可选地,在第二方面的一种可能的实现方式中,上述的预测单元,具体用于将第五动作状态与第二信息输入训练好的第二网络得到m组动作状态,第二网络用于根据第六动作状态、第二动作类型与第二动作属性获取第七动作状态,第六动作状态到第七动作状态的变化与第二动作类型相关。
可选地,在第二方面的一种可能的实现方式中,上述训练好的第二网络是通过以第二训练数据作为第二网络的输入,以第二损失函数的值小于第二阈值为目标对第二网络进行训练获取,第二训练数据包括第六动作状态、第二动作类型以及与第二动作属性,第六动作状态包括第二肢体动作对应关节的第六坐标、第六转角、第六速度中的至少一个;第二损失函数用于指示第二网络输出的第七动作状态与第二目标动作状态之间的差异,第七动作状态包括第二肢体动作对应关节的第七坐标、第七转角、第七速度中的至少一个;第二目标动作状态包括第二目标坐标、第二目标转角、第二目标速度中的至少一个;第二目标动作状态与第六动作状态属于同一个动作视频中相邻两帧对应的动作状态。
可选地,在第二方面的一种可能的实现方式中,上述的获取单元,还用于获取第三信息,第三信息包括第三动作类型以及第三动作属性,第三动作类型用于描述第三肢体动作,第三动作属性用于描述第三肢体动作发生的过程,第三肢体动作对应的第三肢体为第一肢体动作对应的第一肢体中的局部肢体;获取单元,还用于获取第八动作状态;预测单元,还用于基于第八动作状态与第三信息得到p组动作状态,p为正整数;处理单元,具体用于基于第三肢体与第一肢体的覆盖关系使用第八动作状态对应的目标对象的肢体动作覆盖第一动作状态对应的目标对象的肢体动作得到第一图像;处理单元,具体用于基于第三肢体与第一肢体的覆盖关系使用p组动作状态对应的目标对象的肢体动作覆盖n组动作状态对应的目标对象的肢体动作得到n个图像。
可选地,在第二方面的一种可能的实现方式中,上述的获取单元,还用于获取面部信息,面部信息包括面部表情类型以及与面部表情类型对应的表情属性,面部表情类型用于描述目标对象的面部动作,表情属性用于描述面部动作的幅度;获取单元,还用于基于面部信息与第一关联关系获取面部表情序列,第一关联关系用于表示面部信息与面部表情序列的关联关系;处理单元,具体用于基于第一动作状态与面部表情序列对目标对象的肢体动作与面部动作进行处理得到第一图像;处理单元,具体用于基于n组动作状态与面部表情序列对目标对象的肢体动作与面部动作进行处理得到n个图像。
可选地,在第二方面的一种可能的实现方式中,上述的获取单元,还用于获取文本信息;生成单元,还用于基于文本信息生成语音片段;生成单元,还用于基于语音片段生成口型序列,口型序列用于描述目标对象的口型;处理单元,具体用于基于第一动作状态与口型序列对目标对象的肢体动作与面部动作进行处理得到第一图像;处理单元,具体用于基于n组动作状态与口型序列对目标对象的肢体动作与面部动作进行处理得到n个图像。
可选地,在第二方面的一种可能的实现方式中,上述的生成单元,具体用于基于第一图像、n个图像以及语音片段生成目标视频。
可选地,在第二方面的一种可能的实现方式中,上述的第一动作类型包括走、跑、跳跃、坐下、站起、蹲下、躺下、拥抱、拳击、挥剑、跳舞等中的至少一种。
可选地,在第二方面的一种可能的实现方式中,上述的第一动作属性包括目标位置、位移、行进路径、动作速度、动作发生的频率、动作的幅度、动作的朝向等中的至少一种。
本申请第三方面提供了一种数据处理设备,该数据处理设备执行前述第一方面或第一方面的任意可能的实现方式中的方法。
本申请第四方面提供了一种数据处理设备,包括:处理器,处理器与存储器耦合,存储器用于存储程序或指令,当程序或指令被处理器执行时,使得该数据处理设备实现上述第一方面或第一方面的任意可能的实现方式中的方法。
本申请第五方面提供了一种计算机可读介质,其上存储有计算机程序或指令,当计算机程序或指令在计算机上运行时,使得计算机执行前述第一方面或第一方面的任意可能的实现方式中的方法。
本申请第六方面提供了一种计算机程序产品,该计算机程序产品在计算机上执行时,使得计算机执行前述第一方面或第一方面的任意可能的实现方式中的方法。
其中,第二、第三、第四、第五、第六方面或者其中任一种可能实现方式所带来的技术效果可参见第一方面或第一方面不同可能实现方式所带来的技术效果,此处不再赘述。
从以上技术方案可以看出,本申请实施例具有以下优点:通过第一信息与第一动作状态得到n组动作状态,并基于第一动作状态与n组动作状态对目标对象的肢体动作进行处理得到第一图像与n个图像,从而基于第一图像与n个图像生成目标视频。由于第一脚本中的第一动作类型与第一动作属性这种较高层的语义更加高效、直观、可理解,相较于现有技术中需要用户输入低层的控制信号,可以减少用户的工作量与专业要求,进而提升后续生成目标视频的效率。
附图说明
图1为本发明实施例提供的一种人工智能主体框架示意图;
图2为本申请实施例提供的系统架构的结构示意图;
图3为本申请实施例提供的预测网络训练方法的一个流程示意图;
图4为本申请实施例提供的一种关节架构示例图;
图5为本申请实施例提供的数据处理方法一个流程示意图;
图6为本申请实施例提供的数据处理方法另一个流程示意图;
图7为本申请实施例提供的一种第一脚本的结构示例图;
图8至图11为本申请实施例提供的几种用户界面的示意图;
图12为本申请实施例提供的一种第二脚本的结构示例图;
图13为本申请实施例提供的一种环境信息的示例图;
图14为本申请实施例提供的数据处理方法另一个流程示意图;
图15为本申请实施例提供的一种目标对象的示例图;
图16为本申请实施例提供的一种第一肢体动作的示意图;
图17为本申请实施例提供的一种第一图像的示意图;
图18为本申请实施例提供的另一种第一肢体动作的示意图;
图19为本申请实施例提供的一种n个图像中的某一个图像的示意图;
图20为本申请实施例提供的另一种第一脚本的结构示例图;
图21为本申请实施例提供的另一种第一脚本的结构示例图;
图22为本申请实施例提供的另一种用户界面的示意图;
图23为本申请实施例提供的一种第二肢体动作的示意图;
图24为本申请实施例提供的一种肢体动作的示意图;
图25为本申请实施例提供的一种m个图像中的某一个图像的示意图;
图26为本申请实施例提供的一种第二脚本的结构示例图;
图27至图30为本申请实施例提供的另几种用户界面的示意图;
图31为本申请实施例提供的一种第二局部肢体动作的示意图;
图32为本申请实施例提供的一种基于第二局部肢体动作更新第一肢体动作的示意图;
图33为本申请实施例提供的一种基于第二局部肢体动作更新肢体动作的示意图;
图34为本申请实施例提供的一种使用第二局部肢体动作更新后n个图像中的某一个图像的示意图;
图35为本申请实施例提供的一种第三脚本的结构示例图;
图36至图39为本申请实施例提供的另几种用户界面的示意图;
图40为本申请实施例提供的一种第四脚本的结构示例图;
图41至图43为本申请实施例提供的另几种用户界面的示意图;
图44为本申请实施例提供的数据处理设备的一个结构示意图;
图45为本申请实施例提供的数据处理设备的另一个结构示意图;
图46为本申请实施例提供的数据处理设备的另一个结构示意图。
具体实施方式
本申请实施例提供了一种数据处理方法及相关设备。相较于现有技术中需要用户输入低层的控制信号,可以减少用户的工作量与专业要求,进而提升后续生成目标视频的效率。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。
为了便于理解,下面先对本申请实施例主要涉及的相关术语和概念进行介绍。
1、神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以Xs和截距1为输入的运算单元,该运算单元的输出可以为:
Figure BDA0003163326210000101
其中,s=1、2、……n,n为大于1的自然数,Ws为Xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
2、深度神经网络
深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有很多层隐含层的神经网络,这里的“很多”并没有特别的度量标准。从DNN按不同层的位置划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。当然,深度神经网络也可能不包括隐藏层,具体此处不做限定。
深度神经网络中的每一层的工作可以用数学表达式
Figure BDA0003163326210000102
来描述:从物理层面深度神经网络中的每一层的工作可以理解为通过五种对输入空间(输入向量的集合)的操作,完成输入空间到输出空间的变换(即矩阵的行空间到列空间),这五种操作包括:1、升维/降维;2、放大/缩小;3、旋转;4、平移;5、“弯曲”。其中1、2、3的操作由完成,4的操作由
Figure BDA0003163326210000103
完成,5的操作则由α()来实现。这里之所以用“空间”二字来表述是因为被分类的对象并不是单个事物,而是一类事物,空间是指这类事物所有个体的集合。其中,是权重向量,该向量中的每一个值表示该层神经网络中的一个神经元的权重值。该向量W决定着上文所述的输入空间到输出空间的空间变换,即每一层的权重W控制着如何变换空间。训练深度神经网络的目的,也就是最终获取训练好的神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。因此,神经网络的训练过程本质上就是学习控制空间变换的方式,更具体的就是学习权重矩阵。
3、卷积神经网络
卷积神经网络(convolutional neuron network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使同一个可训练的滤波器与一个输入的图像或者卷积特征平面(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,都能使用同样的学习获取的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。
卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习获取合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。本申请实施例中的分离网络、识别网络、检测网络、深度估计网络等网络都可以是CNN。
4、反向传播算法
卷积神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的超分辨率模型中参数的大小,使得超分辨率模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的超分辨率模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的超分辨率模型的参数,例如权重矩阵。
5、循环神经网络
在传统的神经网络中模型中,层与层之间是全连接的,每层之间的节点是无连接的。但是这种普通的神经网络对于很多问题是无法解决的。比如,预测句子的下一个单词是什么,因为一个句子中前后单词并不是独立的,一般需要用到前面的单词。循环神经网络(recurrent neural network,RNN)指的是一个序列当前的输出与之前的输出也有关。具体的表现形式为网络会对前面的信息进行记忆,保存在网络的内部状态中,并应用于当前输出的计算中。
6、前馈神经网络
前馈神经网络(feedforward neural network,FNN)是最早发明的简单人工神经网络。在前馈神经网络中,各神经元分别属于不同的层。每一层的神经元可以接收前一层神经元的信号,并产生信号输出到下一层。第0层称为输入层,最后一层称为输出层,其它中间层称为隐藏层。整个网络中无反馈,信号从输入层向输出层单向传播。
7、多层感知器(multilayer perceptron,MLP)
多层感知器,也可以称为多层感知机,是一种前馈人工神经网络模型,其将输入的多个数据集映射到单一的输出的数据集上。
8、Transformer:一种由自注意力机制和前馈网络组成的神经网络结构。
9、损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到神经网络能够预测出真正想要的目标值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(lossfunction)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
10、动画
虚拟创作的视频内容,包括2D平面上显示的动画视频,以及增强现实(augmentedreality,AR)、虚拟现实(virtual reality,VR)、全息显示等3D显示设备上显示的3D动画内容;其风格不仅仅是卡通风格,还包括写实风格,如数字人动画、特效影视等。
11、角色
角色可以包括二足角色或四足角色等。其中,二足角色指二足站立的人形角色、拟人化动物、机器人、怪兽等;四足角色是指四足站立的角色,可以是四足动物、四足怪兽等。
12、标准角色
标准角色:对于二足角色,其标准角色为符合标准人形的一个角色模型;对于四足角色,其标准角色为符合标准四足动物形态的一个角色模型。
13、角色绑定:将骨骼嵌入到模型中,并计算模型每个顶点相对于每个骨骼的权重。
14、动作重定向:将一个角色的肢体、面部动作迁移到另一个形态不同的角色上并保证动作与原始动作一致。
15、混合变形(blendshape):对网格进行变形以实现多种预定义网格的组合的技术。
16、通用角色动画:包括角色肢体动作、面部表情和口型,能够与环境交互,且具有情节故事的角色动画,如短视频、卡通动画、综艺、影视等。
17、重定向
重定向技术就是一种将动画数据从一个骨架拷贝到另外一个骨架的过程,相当于“拷贝”过程。动画重定向技术在很多地方已经得到很广泛的应用,比如目前3A级主机游戏常用的动作捕捉技术就是基于这个原理来实现的——将真实人物的动作通过图像识别等技术生成动画信息应用到虚拟的角色身上,保存成动画数据。
下面介绍本申请实施例提供的系统架构。
参见附图1,本发明实施例提供了一种系统架构100。如所述系统架构100所示,数据采集设备160用于采集训练数据,本申请实施例中训练数据包括:动作状态、动作类型以及与动作类型对应的动作属性,其中,动作类型用于描述肢体动作序列,动作属性用于描述与肢体动作序列相关的参数,动作状态用于确定肢体动作序列中的肢体动作。进一步的,训练数据还可以包括环境信息(例如道具、地形、其他角色等)和/或环境接触信息(例如肢体动作与道具的接触信息)、完成进度(例如:数值在0-1之间)。并将训练数据存入数据库130,训练设备120基于数据库130中维护的训练数据训练得到目标模型/规则101。下面将更详细地描述训练设备120如何基于训练数据得到目标模型/规则101,该目标模型/规则101能够用于实现本申请实施例提供的数据处理方法。本申请实施例中的目标模型/规则101具体可以为预测网络。需要说明的是,在实际的应用中,所述数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备120也不一定完全基于数据库130维护的训练数据进行目标模型/规则101的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备120训练得到的目标模型/规则101可以应用于不同的系统或设备中,如应用于图1所示的执行设备110,所述执行设备110可以是终端,如手机终端,平板电脑,笔记本电脑,AR/VR,车载终端等,还可以是服务器或者云端等。在附图1中,执行设备110配置有I/O接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向I/O接口112输入数据,所述输入数据在本申请实施例中可以包括:动作类型、动作属性以及动作状态;可选地,输入数据还可以包括角色周边的环境信息、角色的关节与环境的接触信息、完成进度等。当然,输入数据也可以是角色的动作视频。另外该输入数据可以是用户输入的,也可以是用户通过拍摄设备上传的,当然还可以来自数据库,具体此处不做限定。
预处理模块113用于根据I/O接口112接收到的输入数据(若输入数据为动作视频)进行预处理,在本申请实施例中,预处理模块113可以用于基于动作属性对动作视频中的动作片段进行分组,以便于后续对于每组数据训练一个机器学习模型。
在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。
最后,I/O接口112将处理结果,如上述得到的预测动作状态返回给客户设备140,从而提供给用户。
值得说明的是,训练设备120可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则101,该相应的目标模型/规则101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
在附图1中所示情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向I/O接口112发送输入数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端,采集如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由I/O接口112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。
值得注意的是,附图1仅是本发明实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在附图1中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。
如图1所示,根据训练设备120训练得到目标模型/规则101,该目标模型/规则101在本申请实施例中可以是预测网络,具体的,在本申请实施例提供的网络中,预测网络可以使用多层感知机(MLP)、长短期记忆网络(long short-term memory,LSTM)、图卷积神经网络(graph convolutional networks,GCN)、图神经网络(graph neural networks,GNN)、transformer等,具体此处不做限定。
下面介绍本申请实施例提供的一种芯片硬件结构。
图2为本发明实施例提供的一种芯片硬件结构,该芯片包括神经网络处理器20。该芯片可以被设置在如图1所示的执行设备110中,用以完成计算模块111的计算工作。该芯片也可以被设置在如图1所示的训练设备120中,用以完成训练设备120的训练工作并输出目标模型/规则101。
神经网络处理器20可以是神经网络处理器(neural-network processing unit,NPU),张量处理器(tensor processing unit,TPU),或者图形处理器(graphicsprocessing unit,GPU)等一切适合用于大规模异或运算处理的处理器。以NPU为例:神经网络处理器20作为协处理器挂载到主中央处理器(central processing unit,CPU)(hostCPU)上,由主CPU分配任务。NPU的核心部分为运算电路203,控制器204控制运算电路203提取存储器(权重存储器或输入存储器)中的数据并进行运算。
在一些实现中,运算电路203内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路203是二维脉动阵列。运算电路203还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路203是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器202中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器201中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器208中。
向量计算单元207可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元207可以用于神经网络中非卷积/非FC层的网络计算,如池化(Pooling),批归一化(Batch Normalization),局部响应归一化(Local Response Normalization)等。
在一些实现种,向量计算单元能207将经处理的输出的向量存储到统一缓存器206。例如,向量计算单元207可以将非线性函数应用到运算电路203的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元207生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路203的激活输入,例如用于在神经网络中的后续层中的使用。
统一存储器206用于存放输入数据以及输出数据。
权重数据直接通过存储单元访问控制器205(direct memory accesscontroller,DMAC)将外部存储器中的输入数据搬运到输入存储器201和/或统一存储器206、将外部存储器中的权重数据存入权重存储器202,以及将统一存储器206中的数据存入外部存储器。
总线接口单元(bus interface unit,BIU)210,用于通过总线实现主CPU、DMAC和取指存储器209之间进行交互。
与控制器204连接的取指存储器(instruction fetch buffer)209,用于存储控制器204使用的指令。
控制器204,用于调用指存储器209中缓存的指令,实现控制该运算加速器的工作过程。
一般地,统一存储器206,输入存储器201,权重存储器202以及取指存储器209均为片上(On-Chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic random accessmemory,简称DDR SDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他可读可写的存储器。
下面结合附图对本申请实施例的预测网络的训练方法和数据处理方法进行详细的介绍。
首先,结合图3对本申请实施例的预测网络的训练方法进行详细介绍。图3所示的方法可以由预测网络的训练装置来执行,该预测网络的训练装置可以是云服务器,也可以是终端设备,例如,电脑、服务器等运算能力足以用来执行预测网络的训练方法的装置,也可以是由云服务器和终端设备构成的系统。示例性地,训练方法可以由图1中的训练设备120、图2中的神经网络处理器20执行。
可选地,训练方法可以由CPU处理,也可以由CPU和GPU共同处理,也可以不用GPU,而使用其他适合用于神经网络计算的处理器,本申请不做限制。
请参阅图3,本申请提供的预测网络的训练方法可以包括步骤301至步骤304。下面对步骤301至步骤304进行详细说明。
步骤301、获取动作数据集。
获取多类常用角色(或称为目标对象)的动作数据集(也可以称为动作捕捉数据集或多个动作视频),该动作数据集中包括多个动作片段,每一个动作片段可以包括一个或多个帧数据,每一个动作片段对应一个动作类型,并标识动作片段的动作类型。或者获取动作数据集后,根据一个动作片段对应一个动作类型的规则拆分动作数据集得到多个动作片段。进一步的,对于动作数据集中同一时刻包括多个动作类型的动作片段可以进行舍弃,这样可以确保一个动作片段对应一个动作类型,有助于提升后续训练的预测网络更加准确。
本申请实施例中角色可以是指人体、动物、机器人、拟人化动物、怪兽等,可以是二足角色,也可以是四足角色,还可以是多足角色等,具体此处不做限定。本方法实施例仅以角色是人体为例进行描述。
本申请实施例中,获取动作数据集的方式可以是用户输入的,也可以是用户通过拍摄设备采集上传的,还可以是来自数据库等,具体此处不做限定。
其中,上述的动作类型用于描述人体或动物的肢体动作(或肢体动作序列)。
本申请实施例中肢体动作仅以是全身肢体的动作为例进行描述,可以理解的是,肢体动作也可以是指全身肢体中部分肢体(或称为局部肢体)的动作等,具体此处不做限定。
可选地,动作片段的动作类型可以描述全身肢体动作,例如:走、跑、跳跃、坐下、站起、蹲下、躺下、拥抱、拳击、挥剑、跳舞等。动作片段的动作类型也可以描述局部肢体动作,例如:抬头、挥手、踢腿、摇尾巴等,具体此处不做限定。
可选地,为了得到角色与环境交互的动画,还可以从数据库(例如道具库)中选取一个或多个道具模型、其他角色模型,插入到上述的动作片段中,随机修改道具或其他角色的尺寸、长宽高比例等,并根据插入的道具或其他角色(或称为其他对象)修正动作片段中的动作,即使得动作片段匹配道具或其他角色,进而获取环境几何信息、角色的关节与环境的接触标签。其中,环境几何信息用于表示距离角色在一定范围内的道具、其他角色、地形等。例如:环境几何信息用于表示以角色当前位置为中心,5米半径,高度2米内的周边插入的道具或其他角色等。接触标签用于表示角色的关节与道具或其他角色是否接触(或者接触位置)。
本申请实施例中的关节可以用于确定角色的肢体动作,关节可以理解为是能活动的骨连结,或者骨骼与骨骼的连接处。关节的类型有多种情况,本申请实施例仅以图4所示的关节类型为例进行描述,可以理解的是,关节的类型还可以是指九大关节(脚关节、踝关节、膝关节、胯关节、腰关节、肩关节、肘关节、腕关节、肘关节)等,当然,还可以是根据实际需要设置关节的类型(例如还可以包括尾巴、犄角对应的关节等),具体此处不做限定。其中,图4所示的关节类型包括头(head)、颈关节(neck)、胸廓关节(thorax)、胸部关节(chest)、脊柱关节(spine)、根节点(root)、锁骨关节(collar)、肩关节(shoulder)、肘关节(elbow)、腕关节(wrist)、髋关节(hip)、膝关节(knee)、踝关节(ankle)、趾关节(toe)。其中,根节点为骨盆顶点。对于角色关节的数量可以是一个或多个,例如,以人体角色为例,锁骨节点、肩关节、肘关节、腕关节、膝关节、踝关节、趾关节的数量是2个,即锁骨节点1、锁骨节点2、肩关节1、肩关节2、肘关节1、肘关节2、腕关节1、腕关节2、膝关节1、膝关节2、踝关节1、踝关节2、趾关节1、趾关节2。
步骤302、基于动作属性对多个动作片段进行分组。
获取多个动作片段后确定每个动作片段的动作类型对应的动作属性,该动作属性用于描述与第一肢体动作相关的参数。并基于动作属性对多个动作片段进行分组。即动作属性一致的多个动作片段分在一组。本申请实施例中的一个动作属性可以对应一个或多个动作类型。示例性的,动作类型以及与动作类型相关的动作属性可以如表1所示:
表1
动作类型 动作属性
目标、路径
跳跃 方向、幅度
目标、路径
抬头 幅度
摇头 幅度、频率
挥手 幅度
其中,表1中的动作类型与动作属性只是举例,实际应用中,可以根据实际需要设置,例如,走的动作属性还可以包括步长等。跑的动作类型还可以包括动作的速度等等。具体此处不做限定。由表1可以看出,动作类型为“走”和“跑”对应的动作属性都是“目标、路径”,则可以将动作类型为“走”的动作片段与动作类型为“跑”的动作片段划分为一个组。其中,目标可以理解为是目标位置或者位移,用于表示肢体动作结束时的所在位置。路径可以理解为是行进路径。方向可以理解为是动作朝向、幅度为动作的幅度或者动作对应某部分肢体的动作幅度、频率为动作发生的频率或者为动作对应某部分肢体对应的动作频率。
为了方便理解上述基于动作属性对多个动作片段进行分组,下面以两组动作片段为例进行描述,请参阅表2:
表2
组别 动作类型 动作属性
第一组动作片段 走、跑、跳 目标、路径
第二组动作片段 扔、踢、投 目标、方向、速度
其中,动作类型为“走”、“跑”、“跳”对应的动作属性都是“目标、路径”,则可以将动作类型为“走”的动作片段、动作类型为“跑”以及动作类型为“跳”的动作片段划分为一个组(即第一组动作片段)。动作类型为“扔”、“踢”、“投”对应的动作属性都是“目标、方向、速度”,则可以将动作类型为“扔”的动作片段、动作类型为“踢”以及动作类型为“投”的动作片段划分为一个组(即第二组动作片段)。
步骤303、获取每组动作片段中第一帧数据的第一帧信息与第二帧数据的第二帧信息。
根据动作属性对多个动作片段进行分组之后,可以获取每组动作片段中第一帧数据的第一帧信息与第二帧数据的第二帧信息。其中,第一帧数据的发生时刻在第二帧数据的发生时刻之前,进一步的,第二帧数据可以是第一帧的下一帧数据。第一帧信息可以包括第一帧数据的动作状态、第一帧数据对应的动作类型与动作属性。第一帧数据的动作状态可以包括第一帧数据中第一肢体动作对应关节的坐标、转角、速度等中的至少一个。第二帧信息与第一帧信息类似,第二帧信息可以包括第二帧数据的状态(或称为第一目标动作状态)、第二帧数据对应的动作类型与动作属性,第一目标动作状态可以包括第二帧数据中第一肢体动作对应关节的第一目标坐标、第一目标转角、第一目标速度等中的至少一个。
换句话说,上述也可以理解为是:对每组动作片段中的每一帧数据,或取当前帧数据与下一帧数据的动作状态,该动作状态包括关节的坐标、转角、速度等中的至少一个。
可选地,若第一帧数据是动作片段中第一帧对应的数据,则上述的第一帧数据的动作状态还可以理解为是初始动作状态,该初始动作状态包括肢体动作的初始朝向、肢体动作对应关节的初始转角、肢体动作中根节点的坐标。初始朝向可以理解为是角色第一肢体的朝向(或者称为角色身体的朝向),或者角色肢体的整体旋转。该朝向可以包括东、南、西、北,当然也可以包括更细致的划分,例如:东南、东北、西北等,具体此处不做限定。例如:0代表东,90代表北、180代表西、-90代表南。初始转角为第一肢体动作对应各个关节的转角,该转角可以用姿态角、四元数、欧拉角、轴角等表示,姿态角可以理解用于表示关节的姿态,相当于绕x、y、z轴的角度。根节点的初始位置可以用(x,z)表示,该根节点的初始位置可以理解为是根节点在地面的投影。
示例性的,初始朝向是0,根节点坐标(0,0),初始朝向为0(即肢体的朝向是东)。
可选地,各组动作片段中包括的动作片段数量可以是一个或多个,具体此处不做限定,如表2所示,第一组动作片段中与第二组动作片段中分别包括3个动作类型的动作片段。
可选地,第一帧信息还可以包括第一帧数据的完成进度,第二帧信息还可以包括第二帧数据的完成进度。其中,第一帧数据的完成进度用于表示第一帧数据所在的动作片段中,达到第一帧数据所消耗的时长与该动作片段总时长的比值,第二帧数据的完成进度用于表示第二帧数据所在的动作片段中,达到第二帧数据所消耗的时长与该动作片段总时长的比值,比值在0-1(或者0%-100%)之间。另外,第一帧数据与第二帧数据可以在一个动作片段中,也可以在不同的动作片段中,具体此处不做限定。
步骤304、对于每组动作片段,训练与每组第一动作片段对应的预测网络。
对于动作属性一致的每组动作片段,训练一个预测网络。即保证一个预测网络对应的一组动作片段对应动作属性包含的变量一致。
训练好的预测网络是以训练数据作为预测网络的输入,以损失函数的值小于某一阈值为目标对预测网络进行训练得到。该训练数据包括每组动作片段中的第一帧信息(例如包括第一帧数据的动作状态、第一动作类型、第一动作属性),损失函数用于指示预测网络预测的动作状态与第二帧信息中第一目标动作状态之间的差异。
在该情况下,以损失函数的值小于某一阈值为目标对预测网络进行训练,也就是不断缩小预测网络输出的下一帧的动作状态与下一帧的实际动作状态(即第二帧信息中的第一目标动作状态)之间的差异。该训练过程可以理解为预测任务。损失函数可以理解为预测任务对应的损失函数。第一目标动作状态与第一帧数据的动作状态属于采集到的同一个动作数据,或者理解为是属于同一个动作数据视频中相邻两帧对应的动作状态。
换句话说,对于每组动作片段,训练一个机器学习模型,输入当前帧的动作状态、动作类型、动作属性,输出下一帧的动作状态。当前帧的动作状态到下一帧的动作状态的变化与相应的动作片段相关。
示例性的,对于动作属性为“目标”、“路径”的第一组动作片段(例如:走、跑、跳),训练的预测网络可以称为第一网络。对于动作属性为“目标”的全身肢体动作片段(例如:坐下),训练的预测网络可以称为第二网络。对于动作属性为“目标”的局部肢体动作片段(例如:瞧/盯着),训练的预测网络可以称为第三网络。对于动作属性为“幅度”的动作片段(例如:挥手),训练的预测网络可以称为第四网络。
可选地,预测网络的输入可以包括当前帧的动作状态、动作类型与动作属性,输出下一帧的动作状态。预测网络的输入也可以包括第一时刻的动作状态、动作类型、动作属性、环境几何,输出包括第二时刻的动作状态、环境接触标签。预测网络的输入还可以包括第一时刻的动作状态、动作类型、动作属性、环境几何,输出包括第二时刻的动作状态、环境接触标签、完成进度等。其中,第二时刻为第一时刻的下一时刻。输入与输出的具体情况可以根据实际需要设置,具体此处不做限定。
本申请实施例中的损失函数根据实际情况的输入与输出进行调整,具体此处不做限定。
本申请实施例中获取训练数据可以是通过直接录制角色动作的方式获取,也可以是根据上述步骤301至步骤303的方式获取,还可以是通过用户输入图像信息、视频信息的方式获取,在实际应用中,还有其他方式获取训练数据,对于训练数据的获取方式具体此处不做限定。
本申请实施例中的预测网络可以使用多层感知机(MLP)、长短期记忆网络(longshort-term memory,LSTM)、图卷积神经网络(graph convolutional networks,GCN)、图神经网络(graph neural networks,GNN)、transformer等,具体此处不做限定。
示例性地,预测网络的结构可以如图5所示,预测网络包括状态编码网络、环境编码网络、属性编码网络、门控网络、动作生成网络以及状态解码网络其中,状态编码网络用于编码第一时刻的动作状态得到状态向量。环境编码网络用于编码环境几何(或者称为环境几何信息)得到环境向量。属性编码网络用于编码动作属性得到属性向量。门控网络用于基于动作类型生成混合系数。动作生成网络包括多组网络参数(数量大于等于该模型负责的动作类型数量)。将上述的状态向量、环境向量与属性向量拼接得到一个向量(可以称为拼接向量),并将拼接后的向量与混合系数输入动作生成网络,将动作生成网络的多组网络参数按照混合系数加权平均得到的网络参数作为动作生成网络当前的网络参数参与推理(也可以理解为是更新动作生成网络中网络参数的过程),动作生成网络用于基于拼接向量与混合系数生成向量。将动作生成网络的输出向量输入到状态解码网络,输出第二时刻的运动状态、环境接触和完成进度。
当然,图5所示中的预测网络可以包括更多或更少的结构,例如预测网络可以不包括环境编码网络,即输入也可以不包括环境几何。对预测网络的具体结构此处不做限定。
上述中的不同网络其结构可以相同也可以不同,网络结构举例:如可以是多层感知机,包括三层全连接层,相邻两层之间有一层非线性激活层。
可选地,使用反向传播算法将误差从最后一层传播到第一层,并使用梯度下降算法优化更新模型参数,迭代以上过程直至模型收敛或误差不在下降或迭代次数达到阈值等终止条件。
需要说明的是,训练过程也可以不采用前述训练方法而采用其他训练方法,此处不做限定。
下面结合附图对本申请实施例提供的数据处理方法进行详细的介绍。本申请实施例中的数据处理方法可以由终端设备或云服务器执行,也可以由终端设备与云服务器共同执行,下面分别进行描述。
请参阅图6,本申请实施例提供的数据处理方法一个实施例,该方法可以由数据处理设备(终端设备/云服务器)执行,也可以由数据处理设备的部件(例如处理器、芯片、或芯片系统等)执行,该实施例包括步骤601至步骤607。
本申请实施例提供的数据处理方法可以应用于儿童教育动画、短视频动画、宣传动画、综艺动画、影视预演动画等的自动、快速制作,或游戏中觉得的自动动作控制,或用于交互式应用中自动生成角色动作的场景。
可以理解的是,上述几种场景只是举例,在实际应用中,还可以有其他应用场景,具体此处不做限定。
步骤601,获取第一信息。
本申请实施例中的第一信息包括第一动作类型以及第一动作属性。其中,第一动作类型用于描述第一肢体动作,第一动作属性用于描述第一肢体动作发生的过程。
可选地,第一肢体动作为全身肢体动作,第一动作类型包括走、跑、跳跃、坐下、站起、蹲下、躺下、拥抱、拳击、挥剑、跳舞等。第一动作属性包括目标位置、位移、路径(即行进路径)、动作速度、动作发生的频率、动作的幅度、动作的朝向等。
示例性的,第一动作类型为“走”,第一动作属性为“目标”、“路径”。其中,“走”对应的肢体动作为全身肢体动作。
可选地,第一信息还包括第一动作类型的第一起始时刻和/或第一结束时刻,包括第一起始时刻与第一结束时刻可以理解为是包括第一时间段。
本实施例中动作类型、动作属性、肢体动作、关节、根节点等描述与前述图3所示实施例中对应的描述类似,此处不再赘述。
本申请实施例中的第一信息可以称为第一脚本块。
本申请实施例中获取第一信息的方式有多种,可以获取一个角色或多个角色的第一信息。为了方便描述,本申请实施例仅站在一个角色(例如:Tom)的角度描述获取第一信息。
第一种,获取第一信息(也可以称为第一脚本块)。
可选地,第一脚本块包括第一动作类型、第一动作属性、第一起始时刻。当然,第一脚本块还可以包括第一结束时刻和/或第一结束时刻。
示例性的,第一脚本块的格式可以如图7所示,其中,第一脚本块的第一起始时刻为00:00:02.2;第一结束时刻为00:00:05.5;第一动作类型为走(walk),第一动作属性包括目标(target)与路径(trajectory),目标为Jerry,路径为自动(auto)。目标为Jerry可以理解为目标位置是Jerry所在的位置。
第二种,通过用户对第一用户界面的第一操作获取第一信息。
可选地,设备(终端设备或云服务器)向用户显示第一用户界面,该第一用户界面可以包括动作类型选项与动作属性选项,用户可以通过对第一用户界面的第一操作(例如:点击、滑动、拖拽等操作),从动作类型选项中确定第一动作类型,从动作属性选项中确定第一动作属性。当然,第一动作属性的确定方式也可以基于用户选择的第一动作类型自动显示与第一动作类型匹配的第一动作属性,第一动作属性的确定方式具体此处不做限定。
可选地,该第一用户界面用于用户编辑第一脚本块。该第一用户界面可以包括脚本块编辑界面,进一步的,该第一用户界面还可以包括脚本块时间线界面与动画预览界面等。其中,脚本块编辑界面用于用户选择脚本块的动作类型、动作属性,进一步的还可以包括起始时刻与结束时刻。
示例性的,以第一脚本块包括时间段(即起始时刻与结束时刻)为例,第一用户界面可以如图8所示,该第一用户界面包括动画预览界面(动画未示出)、脚本块编辑界面、脚本时间线界面。其中,动画预览界面可以包括播放图标(图中未示出)、进度时间段(图中未示出)。脚本块编辑界面包括脚本块名称区域102,起始时刻103区域、结束时刻104区域、类型选项105、属性区域106,脚本时间线界面包括第一角色107区域、第二角色108区域、第一脚本块区域101。当然,区域104还可以根据类型的确定自动显示,也可以根据用户的操作确定,具体此处不做限定。其中,用户可以通过在区域102中输入脚本块的名称进而确定进行编辑的脚本块(例如第一脚本块),也可以点击区域101进而确定待编辑的脚本块(例如第一脚本块)。以点击区域101确定待编辑的脚本块为例。如图9所示,用户可以点击区域101,设备响应用户的点击操作,确定待编辑的脚本块为第一脚本块。由于第一脚本块对应的是动作类型与动作属性,设备可以将显示的“类型”改为“动作类型”、“属性”改为“动作属性”。进一步的,如图10所示,用户可以通过区域103与104对起始时刻与结束时刻进行编辑,还可以点击动作类型,设备响应用户的点击操作,显示下拉菜单,该下拉菜单中包括多个动作类型选项,再根据用户的选择确定第一动作类型,这里以用户点击“走”图标201为例,动作属性区域自动显示与“走”相匹配的第一动作属性(即“目标”、“路径”)。至此,第一脚本块(即第一信息)的编辑操作结束,设备可以显示如图11所示的界面,其中,第一脚本块的第一起始时刻为00:00:02.2;第一结束时刻为00:00:05.5;第一动作类型为走,第一动作属性包括目标与路径,其中,目标可以是默认的位置、角色或道具,或者是用户点击动画预览界面中的其他角色、道具、空白位置等方式确定。同理,路径可以是默认的,也可以是用户在动画预览界面画出的线路。此外,用户还可以在脚本时间线界面中滑动、拖拽光标301,进而调整第一脚本块的第一起始时刻和/或第一结束时刻,具体此处不做限定。
可以理解的是,图8至图11只是编辑第一信息的第一用户界面的几种举例,在实际应用中,还可以有其他形式的用户界面,例如不包括结束时刻、动画预览界面等,具体此处不做限定。
第三种,获取预先设置的第一信息。
可选地,用户可以提前设置第一信息,第一信息包括第一动作类型与第一动作属性。另外第一信息还可以包括第一起始时刻和/或第一结束时刻。
示例性的,预先设置的第一信息(或者称为第一脚本块)包括的第一起始时刻为00:00:02.2;第一结束时刻为00:00:05.5;第一动作类型为走(walk),第一动作属性包括目标(target)与路径(trajectory),目标为Jerry,路径为自动(auto)。
可以理解的是,上述获取第一信息几种方式只是举例,在实际应用中,还可以有其他方式获取第一信息,具体此处不做限定。
步骤602,获取第一动作状态。
本申请实施例中第一动作状态有多种情况,下面分别描述:
第一种,第一动作状态为初始运动状态。
可选地,第一动作状态可以是第一肢体动作的初始动作状态,该第一动作状态包括第一肢体动作的初始朝向、第一肢体动作对应关节的初始转角、第一肢体动作中根节点的坐标。其中,对于朝向、转角、根节点等的描述可以参考前述图3所示实施例的步骤303中的描述,具体此处不做限定。
可选地,若第一动作状态为初始运动状态,则第一动作状态的获取方式可以是通过用户对第二用户界面的第二操作获取第一动作状态,具体可以是设备向用户显示第二用户界面,该第二用户界面包括动作状态区域,用户可以对动作状态区域进行点击、填写等操作,进而确定第一动作状态。
另外,还可以通过用户输入第一脚本的方式获取第一动作状态,该种情况与前述获取第一信息的第一种方式类似。示例性的,该种方式可以参考图12,其中图12包括第一动作状态与上述的第一信息,该第一动作状态中的初始位置为(0,0),初始朝向为0。
第二种,第一动作状态不是初始动作状态。
该种情况下的第一动作状态可以包括第一肢体动作对应关节的坐标、转角、速度等中的至少一个。
该种情况下,第一动作状态的获取方式可以是用户提前设置,也可以是通过将第二动作状态与第一信息输入第一网络的方式得到。该第二动作状态包括第一肢体动作对应关节的第二坐标、转角、速度等中的至少一个。可以理解为是该第一动作状态与第二动作状态可以是后续目标视频中相邻两帧对应的动作状态,或者说第二动作状态在第一动作状态之前(即第二动作状态用于表示第一动作状态之前的历史动作状态)。即用之前的动作状态(即第二动作状态)、动作类型、动作属性预测之后的动作状态(即第一动作状态)。
可以理解的是,上述获取第一动作状态的几种方式只是举例,在实际应用中,还可以有其他方式获取第一动作状态,具体此处不做限定。
可选地,为了获取与环境交互类的动画,设备还可以获取场景的环境几何信息(或者称为环境信息),其中,该环境几何信息包括道具、地形、其他角色等。道具包括可能与角色接触的树木、工具、或者承载角色的凳子、车辆等,具体此处不做限定。其中,上述获取场景的方式可以是通过用户导入场景模型文件(例如用户创建并导入场景,或者用户从数据库中选择场景、默认环境场景等)的方式,又或者是用户在设备显示的用户界面上搭建场景等方式,具体此处不做限定。
示例性的,获取的环境信息可以如图13所示,该环境信息中包括树木、箱子等。
步骤603,基于第一动作状态与第一信息得到n组动作状态。
获取第一动作状态与第一信息之后,可以基于第一动作状态与第一信息得到n组动作状态,n组动作状态中的每组动作状态都可以用于获取一个肢体动作,换句话说,可以根据n组动作状态获取第一肢体动作序列(或称为第一动作片段),其中,n为正整数。
可选地,可以将第一动作状态与第一信息输入训练好的第一网络中得到n组动作状态,具体的,可以参考图14所示的预测网络,该预测网络与图5所示的预测网络类似,相同的结构此处不再赘述。图14所示的预测网络在推理阶段(即在预测n组动作状态的过程中),可以将第一动作状态与第一信息输入第一网络得到一组动作状态,再将该组动作状态与第一信息输入第一网络得到下一组动作状态。再将下一组动作状态与第一信息输入第一网络得到下下一组动作状态。以此类推,可以得到n组动作状态。即预测可以迭代多次,直至满足结束条件,迭代结束,从而获取预测的n组动作状态。其中,该训练好的第一网络可以是通过前述图3所示的训练方法训练得到,也可以是通过其他方式训练得到,具体此处不做限定。其中,n组动作状态中的每组动作状态都可以包括第一肢体动作对应关节的坐标、转角、速度等中的至少一项。另外,第一网络的输入还可以包括环境几何信息,输出包括环境接触信息,该环境接触信息用于表示第一肢体动作对应的关节是否与环境几何信息中的道具、其他角色接触。进而可以根据环境接触信息调整第一动作片段。
可选地,还可以获取n的数值,具体可以是获取结束条件,再根据结束条件确定n的数值。该第一动作类型的结束条件可以包括第一肢体动作的完成进度、第一动作类型的结束时刻、第一动作属性中的参数中的至少一项相关。例如:第一动作类型是“走”,第一动作属性包括“目标”、“路径”,则结束条件可以是第一动作类型的第一结束时刻,也可以是走到“目标”所在位置时结束预测。
另外,该结束条件可以是预先设置的或者用户在第三用户界面上输入的或者通过第一网络预测得到的。
可选地,若第一信息中包括第一时间段或者第一结束时刻,则可以将第一结束时刻、第一动作状态与第一信息输入第一网络得到下一时刻的动作状态以及该下一时刻动作状态的完成进度,该完成进度表示从初始到达下一刻动作状态的时长与第一动作类型对应的第一动作片段的时长的比值。一般情况下,完成进度用0-1表示,0表示开始,1表示第一动作类型对应的动作片段结束。
可选地,若已经获取了环境几何信息,则可以将环境几何信息、第一动作状态与第一信息输入第一网络得到n组动作状态以及n组动作状态对应的n个环境接触信息,n个环境接触信息中的每个环境接触信息指示该环境接触信息对应的动作状态的关节是否与环境几何信息中的道具、角色等接触。
示例性的,训练好的第一网络是通过以第一训练数据作为第一网络的输入,以第一损失函数的值小于第一阈值为目标对第一网络进行训练获取,第一训练数据包括第三动作状态、第一动作类型以及与第一动作属性,第三动作状态包括第一肢体动作对应关节的第三坐标、第三转角、第三速度中的至少一个。第一损失函数用于指示第一网络输出的第四动作状态与第一目标动作状态之间的差异,第四动作状态包括第一肢体动作对应关节的第四坐标、第四转角、第四速度中的至少一个;第一目标动作状态包括第一目标坐标、第一目标转角、第一目标速度中的至少一个;第一目标动作状态与第三动作状态属于采集到的同一个动作数据,或者说是属于同一个动作视频中相邻两帧对应的动作状态。可以理解的是,第一网络训练的过程中,输入也可以增加环境几何信息、第一时间段、第一结束时刻中的至少一种,即训练过程与推理过程的输入一致。
步骤604,获取目标对象。
本申请实施例中获取目标对象的方式有多种,可以是从数据库中选取三维模型作为目标对象、也可以是用户尽力角色的三维模型并输入设备中,还可以是接收其他设备发送的,具体此处不做限定。
本申请实施例中的目标对象与第一动作类型、第一动作属性相关。也可以理解为是第一动作类型对应的第一动作片段重定向至目标对象,得到该目标对象的第一动作片段。
示例性的,目标对象如图15所示。
步骤605,基于第一动作状态对目标对象的肢体动作进行处理得到第一图像。
设备获取第一动作状态之后,可以基于第一动作状态对目标对象的肢体动作(即第一肢体动作)进行处理得到第一图像。
可选地,设备获取第一动作状态之后,可以先根据第一动作状态对应的关节信息(例如第一肢体动作的初始朝向、第一肢体动作对应关节的初始转角、第一肢体动作中根节点的坐标,或者又例如第一肢体动作对应关节的坐标、转角、速度等中的至少一个)确定1个第一肢体动作,并将该1个第一肢体动作重定向至目标对象,进而得到第一图像。
示例性的,若第一动作状态是第一动作类型“走”的初始动作状态,则根据初始状态中的关节信息确定的1个第一肢体动作可以如图16所示,将该1个第一肢体动作重定向至目标对象的第一肢体动作得到的第一图像可以如图17所示。可以理解的是,图17所示的图像中包括环境几何信息(即图17中的树木、绿地、箱子等),实际应用中,也可以没有环境几何信息。
步骤606,基于n组动作状态对目标对象的肢体动作进行处理得到n个图像。
设备获取n组动作状态之后,可以基于n组动作状态对目标对象的肢体动作(即第一肢体动作)进行处理得到n个图像。
可选地,设备获取n组动作状态之后,可以先根据n组动作状态对应的关节信息(例如第一肢体动作的初始朝向、第一肢体动作对应关节的初始转角、第一肢体动作中根节点的坐标,或者又例如第一肢体动作对应关节的坐标、转角、速度等中的至少一个)确定n个第一肢体动作,并将n个第一肢体动作重定向至目标对象,进而得到n个图像。
示例性的,假设n为6,则n组动作状态相关联的6个第一肢体动作可以参考图18中的2-7号对应的肢体动作,其中1号肢体动作相当于第一动作状态关联的1个第一肢体动作。
可选地,设备获取了n组动作状态对应的n个环境接触信息之后,可以基于n组动作状态与n个环境接触信息对目标对象的第一肢体动作进行处理得到n个图像。也可以理解为是基于n组动作状态与n个环境接触信息确定n个第一肢体动作,再将n个第一肢体动作重定向至目标对象,进而得到n个图像。
示例性的,图19可以理解为是基于n组动作状态对目标对象的第一肢体动作进行处理得到n个图像中的某一个图像(例如对应图18中第5号第一肢体动作对应的图像)。
步骤607,基于第一图像和n个图像生成目标视频。
设备获取第一图像与n个图像之后,可以根据预测n组动作状态的时序、第一图像与n个图像生成目标视频,该目标视频与第一动作类型、第一动作属性相关。
示例性的,若第一动作类型是走,则该目标视频是关于目标对象走的视频。
可任选地可以根据实际需要设置帧率,并根据帧率、动作状态的生成时序、第一图像以及n个图像生成目标视频。其中,对于第一脚本块对应的图像包括:第一图像、n个图像。
示例性的,图17与图19可以理解为是目标视频中的某两帧图像。
可以理解的是,本申请实施例中的目标视频可以理解为是关于目标对象的动画。
本申请实施例中,一方面,通过脚本中的类型与属性这种较高层的语义更加高效、直观、可理解,相较于现有技术中需要用户输入低层的控制信号,可以减少用户的工作量,进而提升后续生成目标视频的效率。另一方面,相较于现有技术中每一帧都要用户输入控制信号,本申请可以基于第一动作状态与第一信息预测n组动作状态,即相当于基于脚本获取一段时间段的动作序列,减少用户的操作与技术要求,提升用户体验与生成动画的效率。另一方面,通过交互界面等方式可以灵活调整第一信息使得生成的动画通用性较强。
在一种可能实现的方式中,还可以包括获取第二信息;获取第五动作状态;基于第五动作状态与第二信息预测m组动作状态;基于第五动作状态对目标对象的肢体动作进行处理得到第二图像;基于m组动作状态对目标对象的肢体动作进行处理得到m个图像。该种情况下,步骤601具体可以是基于第一图像、n个图像、第二图像、m个图像生成目标视频。下面分别描述:
可选地,设备还可以获取第二信息,该第二信息与第一信息类似,第二信息包括第二动作类型以及第二动作属性。其中,第二动作类型用于描述第二肢体动作,第二动作属性用于描述第二肢体动作发生的过程。第一肢体与第二肢体可以是指全身肢体,第一肢体带动的关节与第二肢体带动的关节可以相同或不同。
可选地,第二肢体动作为全身肢体动作,第二动作类型包括走、跑、跳跃、坐下、站起、蹲下、躺下、拥抱、拳击、挥剑、跳舞等。第二动作属性包括目标位置、位移、路径(即行进路径)、动作速度、动作发生的频率、动作的幅度、动作的朝向等。
示例性的,第二动作类型为“坐下”,第二动作属性为“目标”。其中,“坐下”对应的肢体动作为全身肢体动作。
可以理解的是,还可以获取更多或更少数量对应全身肢体动作的动作类型与动作属性,具体此处不做限定,下面仅以获取两个全身肢体动作对应的动作类型(即第一动作类型与第二动作类型)与动作属性为例进行描述。
可选地,第一信息还包括第一动作类型的第一起始时刻和/或第一结束时刻,包括第一起始时刻与第一结束时刻可以理解为是包括第一时间段。若第一信息不包括第一结束时刻,可以理解为执行第一动作类型对应的第一肢体动作之后,立即执行后续动作类型对应的肢体动作。若第一信息包括第一结束时刻,则根据后续动作类型对应信息的起始时刻,进行后续操作。
可选地,第二信息与上述第一信息类似,第二信息还包括第二动作类型的第二起始时刻和/或第二结束时刻,包括第二起始时刻与第二结束时刻可以理解为是包括第二时间段。若第二信息不包括第二结束时刻,可以理解为执行第二动作类型对应的第二肢体动作之后,立即执行后续动作类型对应的肢体动作。若第二信息包括第二结束时刻,则根据后续动作类型对应信息的起始时刻,进行后续操作。其中,第一时间段与第二时间段可以不重叠或头尾相接,可选地,第一时间段的第一起始时刻早于第二时间段的第二起始时刻。上述的头尾相接可以理解为是:第一时间段的第一结束时刻与第二时间段的第二开始时刻相同。不重叠可以理解为是:第一时间段与第二时间段之间存在空闲时间段,该空闲时间段内没有动作类型对应的肢体动作。
可选地,上述的第一信息与第二信息对应全身肢体动作。
本申请实施例中的第一信息可以称为第一脚本块,第二信息可以称为第二脚本块,即全身肢体动作对应的第一脚本包括第一脚本块与第二脚本块。当然,全身肢体动作可以包括更多的脚本块,具体此处不做限定。换句话说,可以获取更多或更少数量对应全身肢体动作的动作类型与动作属性,下面仅以获取两个全身肢体动作对应的动作类型与动作属性为例进行描述。
本申请实施例中获取第一脚本的方式有多种,下面以获取第一信息与第二信息为例进行描述。本申请实施例中,可以获取一个角色或多个角色的第一脚本,为了方便描述,本申请实施例仅站在一个角色(例如:Tom)的角度描述获取第一脚本。
第一种,获取第二脚本块。
可选地,第二脚本块包括第二动作类型与第二动作属性。可以理解的是,第二脚本块还可以包括第二时间段(即第二起始时刻与第二结束时刻)。
当然,前述获取第一脚本块与获取第二脚本块可以是获取第一脚本的方式获取。
示例性的,以第一脚本包括两个脚本块为例,第一脚本的格式可以如图20所示,其中,第一脚本块的第一起始时刻为00:00:02.2;第一结束时刻为00:00:05.5;第一动作类型为走(walk),第一动作属性包括目标(target)与路径(trajectory),目标为Jerry,路径为自动(auto)。第二脚本块的第二起始时刻为00:00:05.5;第二结束时刻为00:00:08;第二动作类型为坐下(seat),第二动作属性包括目标(target),目标为箱子(box)。
示例性的,第一脚本的格式还可以如图21所示,包括第一动作状态、第一脚本块与第二脚本块,其中第一脚本块与第二脚本块与图10中的第一脚本块与第二脚本块类似,第一动作状态与图12中的第一动作状态类似,此处不再赘述。
第二种,通过用户对第一用户界面的第一操作获取第二脚本块。
可选地,设备(终端设备或云服务器)向用户显示第一用户界面,该第一用户界面可以包括动作类型选项与动作属性选项,用户可以通过对第一用户界面的第一操作(例如:点击、滑动、拖拽等操作),从动作类型选项中确定第一动作类型,从动作属性选项中确定第一动作属性。当然,第一动作属性的确定方式也可以基于用户选择的第一动作类型自动显示与第一动作类型匹配的第一动作属性,第一动作属性的确定方式具体此处不做限定。
可选地,该第一用户界面用于用户编辑第一脚本。该第一用户界面可以包括脚本块编辑界面,进一步的,该第一用户界面还可以包括脚本块时间线界面与动画预览界面等。其中,脚本块编辑界面用于用户选择脚本块的动作类型、动作属性,进一步的还可以包括起始时刻与结束时刻。
示例性的,第二脚本块(即第二信息)的操作与第一脚本块类似,此处不再赘述,如图22所示,第二脚本块的第二起始时刻为00:00:05.5;第二结束时刻为00:00:08;第二动作类型为坐下,第二动作属性包括目标(例如箱子或用户在动画预览界面点击的位置)。
可以理解的是,图22只是编辑第一脚本的第一用户界面的一种举例,在实际应用中,还可以有其他形式的用户界面,例如不包括结束时刻、动画预览界面等,具体此处不做限定。
第三种,获取预先设置的第二信息。
可选地,用户可以提前设置第二信息,第二信息包括第二动作类型与第二动作属性。另外第二信息还可以包括第二起始时刻和/或第二结束时刻。
示例性的,预先设置的第二信息(或者称为第二脚本块)的第二起始时刻为00:00:05.5;第二结束时刻为00:00:08;第二动作类型为坐下(seat),第二动作属性包括目标(target),目标为箱子(box)。
可以理解的是,上述获取第二信息的几种方式只是举例,在实际应用中,还可以有其他方式获取第二信息,具体此处不做限定。
在一种可能实现的方式中,还可以获取与第二信息对应的第五动作状态,若第一信息的第一结束时刻是第二信息的第一起始时刻,则第五动作状态可以是上述n组动作状态中的第n个动作状态,即第一动作类型与第二动作类型是连续的。当然,第五动作状态还可以与第一动作状态类似,第五动作状态也可以包括第二肢体动作的初始朝向、第二肢体动作对应关节的初始转角、第二肢体动作中根节点的坐标。或者第五动作状态包括第二肢体动作对应关节的坐标、转角、速度等中的至少一个。可以理解的是,对于全身肢体动作来说。全身肢体动作对应的关节可以理解为是全身关节。
可选地,获取第二信息与第五动作状态之后,可以基于第二信息与第五动作状态预测m组动作状态,m为正整数。m组动作状态中的每组动作状态都可以用于获取一个肢体动作,换句话说,可以根据m组动作状态获取第二肢体动作序列(或称为第二动作片段)。
可选地,可以将第五动作状态与第二信息输入训练好的第二网络中得到m组动作状态。该种情况与前述第一网络的输入输出类似,此处不再赘述。其中,m组动作状态中的每组动作状态都可以包括第二肢体动作对应关节的坐标、转角、速度等中的至少一项。当然,如果第一信息中的第一动作属性与第二信息中的第二动作属性一致,则第一网络与第二网络可以相同。
示例性的,训练好的第二网络是通过以第二训练数据作为第二网络的输入,以第二损失函数的值小于第二阈值为目标对第二网络进行训练获取,第二训练数据包括第六动作状态、第三动作类型以及与第三动作属性,第六动作状态包括第二肢体动作对应关节的第七坐标、第七转角、第七速度中的至少一个。第二损失函数用于指示第二网络输出的第七动作状态与第二目标动作状态之间的差异,第七动作状态包括第二肢体动作对应关节的第七坐标、第七转角、第七速度中的至少一个;第二目标动作状态包括第二目标坐标、第二目标转角、第二目标速度中的至少一个;第二目标动作状态与第六动作状态属于采集到的同一个动作数据,或者理解为是属于同一个动作视频中相邻两帧对应的动作状态。
另外,基于第二信息与第五动作状态预测m组动作状态中,也可以引入第二动作类型的结束条件、第二动作类型的环境几何信息等。第二动作类型的结束条件可以用于确定m的数量。该第二动作类型的结束条件可以包括第二肢体动作的完成进度、第二动作类型的结束时刻、第二动作属性中的参数中的至少一项相关。例如:第二动作类型是“坐下”,第二动作属性包括“目标”,则结束条件可以是第二动作类型的第二结束时刻,也可以是坐到“目标”所在位置时结束预测。另外,该结束条件是预先设置的或者用户在第三用户界面上输入的或者通过第二网络预测得到的。其余描述可参考前述第一动作状态的结束条件的相关描述,具体此处不再赘述。
可选地,设备获取第五动作状态之后,可以基于第五动作状态对目标对象的肢体动作(即第二肢体动作)进行处理得到第二图像。具体可以先根据第五动作状态的关节信息(例如第二肢体动作的初始朝向、第二肢体动作对应关节的初始转角、第二肢体动作中根节点的坐标,或者又例如第二肢体动作对应关节的坐标、转角、速度等中的至少一个)确定1个第二肢体动作,并将1个第二肢体动作重定向至目标对象的肢体动作,进而得到第二图像。
可选地,设备获取m组动作状态之后,可以基于m组动作状态对目标对象的第二肢体动作进行处理得到m个图像。
同理,还可以获取m组动作状态对应的m个环境接触信息,可以基于m组动作状态与m个环境接触信息对目标对象的第二肢体动作进行处理得到m个图像。也可以理解为是基于m组动作状态与m个环境接触信息确定m个第二肢体动作,再将m个第二肢体动作重定向至目标对象,进而得到m个图像。该m个环境接触信息的获取方式可以参考前述n个环境接触信息的获取方式,此处不再赘述。
示例性的,假设m为4,则m组动作状态相关联的4个第二肢体动作可以参考图23中的2-5对应的肢体动作,其中1号的肢体动作相当于第二动作状态关联的1个第二肢体动作,或者理解为是第二图像对应的1个第二肢体动作。
另外,若获取了n个第一肢体动作与m个第二肢体动作,则可以先拼接n个第一肢体动作与m个第二肢体动作得到n+m个肢体动作
示例性的,2+n+m的肢体动作可以如图24所示,1号第一肢体动作对应的第一图像,2-7号的第一肢体动作对应n个图像。8号第二肢体动作对应的第二图像,9-12号的第二肢体动作对应m个图像。
示例性的,图25可以理解为是基于m组动作状态对目标对象的第二肢体动作进行处理得到m个图像中的某一个图像。
当然,若各个脚本都包括各自的时间段,则可以根据各个脚本对应的时间段以及各个脚本对应的图像生成目标视频(上述的第一信息还包括第一动作类型的第一时间段,第二信息还包括第二动作类型的第二时间段;基于第一图像、n个图像、第二图像以及m个图像生成目标视频,包括:基于第一图像、n个图像、第二图像、m个图像、第一时间段以及第二时间段生成目标视频,第一时间段对应第一图像与n个图像,第二时间段对应第二图像与m个图像。该种可能的实现方式中,基于第一动作类型的第一时间段与第二动作类型的第二时间段对第一图像、n个图像、第二图像以及m个图像进行处理生成目标视频。可以保证目标视频的连续性。)。另外,还可以根据实际需要设置帧率,并根据帧率、时间段以及图像生成目标视频。其中,对于第一脚本对应的图像包括:第一图像、n个图像、第二图像、m个图像。
该种情况下,步骤601具体可以是基于第一图像、n个图像、第二图像、m个图像生成目标视频。
示例性的,图25可以理解为是目标视频中某一帧的图像。
示例性的,若第一动作类型是走,第二动作类型是坐下,则该目标视频是关于目标对象走、坐下的视频。
另外,对于第一脚本包括脚本块的数量可以是一个或多个,如果是一个,则第一脚本包括第一信息,如果是两个,则第一脚本包括第一信息与第二信息。当然,也可以包括更多的信息(包括全身肢体动作对应的动作类型、动作属性)。
在另一种可能实现的方式中,还可以包括获取第三信息;获取第八动作状态;基于第八动作状态与第三信息预测p组动作状态。该种情况下,步骤605具体可以是基于第三肢体与第一肢体的覆盖关系使用第八动作状态对应的目标对象的肢体动作覆盖第一动作状态对应的目标对象的肢体动作得到第一图像;步骤606具体可以是基于第三肢体与第一肢体的覆盖关系使用p组动作状态对应的目标对象的肢体动作覆盖n组动作状态对应的目标对象的肢体动作得到n个图像。下面分别描述:
可选地,还可以获取第一局部肢体对应的第三信息,第三信息包括第三动作类型以及第三动作属性。其中,第三动作类型用于描述第三肢体动作,第三动作属性用于描述第三肢体动作发生的过程。第三肢体可以是第一肢体或第二肢体中的第一局部肢体。
可选地,第三肢体动作为局部肢体动作,第三动作类型包括抬头、踢腿、挥手、摇尾巴等。第三动作属性包括目标位置、位移、路径(即行进路径)、动作速度、动作发生的频率、动作的幅度、动作的朝向等。
示例性的,第三动作类型为“盯着”,第三动作属性为“目标”。其中,“盯着”对应的肢体动作为部分肢体动作,例如主要是头部。
当然,还可以获取第二局部肢体对应的第四信息,第四信息包括第四动作类型以及第四动作属性。其中,第四动作类型用于描述第四肢体动作,第四动作属性用于描述第四肢体动作发生的过程。第四肢体可以是第一肢体或第二肢体中的第二局部肢体。
可选地,第四肢体动作为局部肢体动作,第四动作类型包括抬头、踢腿、挥手、摇尾巴等。第四动作属性包括目标位置、位移、路径(即行进路径)、动作速度、动作发生的频率、动作的幅度、动作的朝向等。
示例性的,第四动作类型为“挥手”,第四动作属性为“幅度”。其中,“挥手”对应的肢体动作为部分肢体动作,例如主要是手臂。
可选地,第三信息与第四信息对应局部肢体动作。
可选地,第三信息还包括第三动作类型的第三起始时刻和/或第三结束时刻,包括第三起始时刻与第三结束时刻可以理解为是包括第三时间段。同理,第四信息与第三信息类似,第四信息还包括第四动作类型的第四起始时刻和/或第四结束时刻,包括第四起始时刻与第四结束时刻可以理解为是包括第四时间段。其中,第三时间段与第四时间段可以重叠或不重叠,具体此处不做限定。
本申请实施例中的第三信息可以称为第三脚本块,第四信息可以称为第四脚本块,即局部肢体动作对应的第二脚本包括第三脚本块与第四脚本块。当然,局部肢体动作可以包括更多的脚本块,具体此处不做限定。换句话说,可以获取更多或更少数量对应局部肢体动作的动作类型与动作属性,下面仅以获取两个局部肢体动作对应的动作类型与动作属性为例进行描述。
本申请实施例中获取第二脚本的方式有多种,下面以获取第三信息与第四信息为例进行描述。本申请实施例中,可以获取一个角色或多个角色的第二脚本,为了方便描述,本申请实施例仅站在一个角色(例如:Tom)的角度描述获取第二脚本。
第一种,获取第二脚本。
可选地,获取局部肢体动作对应的第三信息与第四信息的方式可以与获取第一脚本的方式类似。即获取第二脚本,第二脚本包括第三信息(也可以称为第三脚本块)与第四信息(也可以称为第四脚本块)。其中,第三脚本块包括第三动作类型、第三动作属性、第三起始时刻。当然,第三脚本块还可以包括第三结束时刻。第四脚本块包括第四动作类型与第四动作属性。可以理解的是,第三脚本块还可以包括第三结束时刻,进一步的,第四脚本块还可以包括第四时间段(即第四起始时刻与第四结束时刻)。
示例性的,以第二脚本包括两个脚本块为例,第二脚本的格式可以如图26所示,其中,第三脚本块的第三起始时刻为00:00:0.1;第三结束时刻为00:00:05.5;第三动作类型为瞧(look at),第三动作属性包括目标(target),目标为Jerry的脸(Jerry-face)。第四脚本块的第四起始时刻为00:00:03;第四结束时刻为00:00:05;第四动作类型为挥手(wavehand),第四动作属性包括周期性的幅度(period),周期性的幅度为0.5。
第二种,通过用户对第一用户界面的第一操作获取第二脚本。
可选地,获取局部肢体动作对应的第二脚本(即第三信息与第四信息)的方式可以与获取第一脚本(即第一信息与第二信息)的方式类似。设备(终端设备或云服务器)向用户显示第一用户界面,该第一用户界面可以包括动作类型选项与动作属性选项,用户可以通过对第一用户界面的操作,从动作类型选项中确定第三动作类型,从动作属性选项中确定第三动作属性。当然,第三动作属性的确定方式也可以基于用户选择的第三动作类型自动显示与第三动作类型匹配的第三动作属性,第三动作属性的确定方式具体此处不做限定。
可选地,该第一用户界面用于用户编辑第二脚本。该第一用户界面可以包括脚本块编辑界面,进一步的,该用户界面还可以包括脚本块时间线界面与动画预览界面等。其中,脚本块编辑界面用于用户选择脚本块的动作类型、动作属性,进一步的还可以包括起始时刻与结束时刻。
示例性的,以第二脚本包括两个脚本块以及两个脚本块都包括时间段(即起始时刻与结束时刻)为例,第一用户界面可以如图8所示,该第一用户界面包括动画预览界面(动画未示出)、脚本块编辑界面、脚本时间线界面。其中,动画预览界面可以包括播放图标(图中未示出)、进度时间段(图中未示出)。脚本块编辑界面包括脚本块名称区域102,起始时刻103区域、结束时刻104区域、类型选项105、属性区域106,脚本时间线界面包括第一角色107区域、第二角色108区域、第一脚本块区域101。当然,区域104还可以根据类型的确定自动显示,也可以根据用户的操作确定,具体此处不做限定。其中,用户可以通过在区域102中输入脚本块的名称进而确定进行编辑的脚本块(例如第一脚本块),也可以点击区域101进而确定待编辑的脚本块(例如第一脚本块)。以点击区域101确定待编辑的脚本块为例。如图27所示,用户可以点击区域109,设备响应用户的点击操作,确定待编辑的脚本块属于二级动作脚本(即第二脚本),或者确定待编辑的脚本块为第四脚本块。由于第二脚本对应的是动作类型与动作属性,设备可以将显示的“类型”改为“动作类型”、“属性”改为“动作属性”。进一步的,用户可以通过区域103与104对起始时刻进行编辑,如图28所示,用户还可以点击动作类型,设备响应用户的点击操作,显示下拉菜单,该下拉菜单中包括多个动作类型选项,再根据用户的选择确定第四动作类型,这里以用户点击“挥手”图标401为例。至此,第四脚本块的编辑操作结束,设备可以显示如图29所示的界面,其中,第四脚本块的第四起始时刻为00:00:03;第四结束时刻为00:00:05;第四动作类型为挥手,第四动作属性包括幅度,其中,幅度可以是默认值,或者是用户设置等方式确定。这里以幅度是0.5为例。此外,用户还可以在脚本时间线界面中滑动、类似于图11中的拖拽光标301,进而调整第四脚本块的第四起始时刻和/或第四结束时刻,具体此处不做限定。
同理,第三脚本块的操作与第四脚本块类似,此处不再赘述,如图30所示,第三脚本块的第三起始时刻为00:00:05.5;第三结束时刻为00:00:08;第三动作类型为抬头(也可以理解为是瞧),第三动作属性包括幅度。换句话说,第三肢体动作对应的第三肢体(即第一局部肢体)可以理解为是头部(对应的关节包括头与颈关节),第四肢体动作对应的第四肢体(即第二局部肢体)可以理解为是臂部(对应的关节可以包括肩关节、肘关节与腕关节)。
可以理解的是,图27至图30只是编辑第二脚本的第一用户界面的几种举例,在实际应用中,还可以有其他形式的用户界面,例如不包括结束时刻、动画预览界面等,具体此处不做限定。
第三种,获取预先设置的第二脚本。
可选地,用户可以提前设置第三信息与第四信息,第三信息包括第三动作类型与第三动作属性。另外第三信息还可以包括第三起始时刻和/或第三结束时刻。第四信息包括第四动作类型与第四动作属性。另外第四信息还可以包括第四起始时刻和/或第四结束时刻。
示例性的,预先设置的第三信息(或者称为第三脚本块)包括的第三起始时刻为00:00:05.5;第三结束时刻为00:00:08;第三动作类型为抬头(也可以理解为是瞧)。第四信息(或者称为第四脚本块)包括的第四起始时刻为00:00:03;第四结束时刻为00:00:05;第四动作类型为挥手,第四动作属性包括幅度。
可以理解的是,上述获取第三信息和/或第四信息的几种方式只是举例,在实际应用中,还可以有其他方式获取第三信息和/或第四信息,具体此处不做限定。
可选地,还可以获取与第三信息对应的第八动作状态以及与第四信息对应的第九动作状态。该第八动作状态可以包括第三肢体动作(或称为第一局部肢体动作)对应关节的坐标、转角、速度等中的至少一个。该第九动作状态可以包括第四肢体动作(或称为第二局部肢体动作)对应关节的坐标、转角、速度等中的至少一个。
可选地,获取第三信息与第八动作状态之后,可以基于第三信息与第八动作状态预测p组动作状态,p为正整数。p组动作状态中的每组动作状态都可以用于获取一个局部肢体动作,换句话说,可以根据p组动作状态获取第三肢体动作序列(或称为第一局部肢体动作序列)。
可选地,获取第四信息与第九动作状态之后,可以基于第四信息与第九动作状态预测q组动作状态,q为正整数。q组动作状态中的每组动作状态都可以用于获取一个局部肢体动作,换句话说,可以根据q组动作状态获取第四肢体动作序列(或称为第二局部肢体动作序列)。
可选地,可以将第八动作状态与第三信息输入训练好的第三网络中得到p组动作状态。该种情况与前述第一网络的输入输出类似,此处不再赘述。其中,p组动作状态中的每组动作状态都可以包括第三肢体动作(第一局部肢体)对应关节的坐标、转角、速度等中的至少一项。
可选地,可以将第九动作状态与第四信息输入训练好的第四网络中得到q组动作状态。该种情况与前述第一网络的输入输出类似,此处不再赘述。其中,p组动作状态中的每组动作状态都可以包括第三肢体动作(第一局部肢体)对应关节的坐标、转角、速度等中的至少一项。其中,第三网络、第四网络的训练方式可以如前述图3所示的训练方法类似,此处不再赘述。
示例性的,若第三肢体动作为头部,则头部对应的关节可以包括图4中的头与颈关节。若第四肢体动作为臂部,则臂部对应的关节可以包括图4中的肩关节、肘关节以及腕关节。
另外,基于第三信息与第八动作状态预测p组动作状态中,也可以引入第三动作类型的结束条件、第三动作类型的环境几何信息等。第三动作类型的结束条件可以用于确定p的数量。该第三动作类型的结束条件可以包括第三肢体动作的完成进度、第三动作类型的结束时刻、第三动作属性中的参数中的至少一项相关。基于第四信息与第九动作状态预测q组动作状态中,也可以引入第四动作类型的结束条件、第四动作类型的环境几何信息等。第四动作类型的结束条件可以用于确定q的数量。该第四动作类型的结束条件可以包括第四肢体动作的完成进度、第四动作类型的结束时刻、第四动作属性中的参数中的至少一项相关。
可选地,设备获取第八动作状态后,可以先根据第八动作状态对应的关节信息确定第一局部肢体动作,并根据第一局部肢体与第一肢体的覆盖关系,使用第一局部肢体动作覆盖至第一肢体动作后,将覆盖后的第一肢体动作重定向至目标对象,进而得到第一图像。
可以理解的是,若第一信息还有第一动作类型对应的第一时间段,第三信息还包括第三动作类型对应的第三时间段,则根据第一局部肢体与第一肢体的覆盖关系以及第三时间段与第一时间段的覆盖关系,使用第一局部肢体动作覆盖至第一肢体动作后,将覆盖后的第一肢体动作重定向至目标对象,进而得到第一图像。
可选地,设备获取第九动作状态后,可以先根据第九动作状态对应的关节信息确定第二局部肢体动作,并根据第二局部肢体与第一肢体的覆盖关系,使用第二局部肢体动作覆盖至第一肢体动作后,将覆盖后的第一肢体动作重定向至目标对象,进而得到第一图像。
可以理解的是,若第一信息还有第一动作类型对应的第一时间段,第四信息还包括第四动作类型对应的第四时间段,则根据第二局部肢体与第一肢体的覆盖关系以及第四时间段与第一时间段的覆盖关系,使用第二局部肢体动作覆盖至第一肢体动作后,将覆盖后的第一肢体动作重定向至目标对象,进而得到第一图像。
可选地,若前述获取了p组动作状态对应的第一局部肢体动作,若第一局部肢体与第一肢体具有覆盖关系,则可以先根据第一局部肢体与第一肢体的覆盖关系,使用p组动作状态对应的目标对象的第一局部肢体动作分别覆盖第一动作状态对应的目标对象的第一肢体动作得到n个图像。若第一局部肢体与第二肢体具有覆盖关系,则可以先根据第一局部肢体与第二肢体的覆盖关系,使用p组动作状态对应的目标对象的第一局部肢体动作分别覆盖第五动作状态对应的目标对象的第二肢体动作得到m个图像。一般情况下,p小于n。
可选地,若前述获取了q组动作状态对应的第二局部肢体动作,若第一局部肢体与第一肢体具有覆盖关系,则还可以先根据第二局部肢体与第一肢体的覆盖关系,使用q组动作状态对应的目标对象的第二局部肢体动作分别覆盖第一动作状态对应的目标对象的第一肢体动作得到n个图像。若第一局部肢体与第二肢体具有覆盖关系,则可以先根据第二局部肢体与第二肢体的覆盖关系,使用q组动作状态对应的目标对象的第二局部肢体动作分别覆盖第五动作状态对应的目标对象的第二肢体动作得到m个图像。一般情况下,q小于n。
示例性的,假设q为4,则q组动作状态相关联的4个第二局部肢体动作可以参考图31中的2-5对应的肢体动作,其中1号的第二局部肢体动作相当于第九动作状态关联的1个第二局部肢体动作。则使用第二局部肢体动作覆盖第一肢体动作得到更新后的第一肢体动作可以如图32所示。从图32中可以看出,第一肢体动作中的手臂动作已被第二局部肢体动作替换。
另外,若获取了n个第一肢体动作、m个第二肢体动作以及q个第二局部肢体动作,则可以先拼接n个第一肢体动作与m个第二肢体动作得到n+m个肢体动作,并根据第二局部肢体与第一肢体/第二肢体的覆盖关系,更新n+m个肢体动作。
示例性的,更新后的2+n+m的肢体动作可以如图33所示,1号第一肢体动作对应的第一图像,2-7号的第一肢体动作对应n个图像,其中3-7号的第一肢体动作是用第二局部肢体动作覆盖后的肢体动作。8号第二肢体动作对应的第二图像,9-12号的第二肢体动作对应m个图像。
示例性的,图34可以理解为是使用q组动作状态对应目标对象的第二局部肢体动作覆盖n组动作状态对应的目标对象的第一肢体动作进行处理得到n个图像中的某一个图像。
示例性的,根据各自的时间段和/或覆盖关系拼接全身肢体动作与局部肢体动作拼接得到如前述图33所示的动作序列。
上述方式中,使得设备获取的n个图像具有一个或多个全身肢体动作以及一个或多个局部肢体动作,以便于后续生成复杂的角色动画(即关于目标对象的视频)。为了方面理解,简单说一下根据第一脚本与第二脚本获取用于重定向的肢体动作的流程:第一脚本可以理解为是用于生成全身动作,第二脚本可以理解为是用于生成局部肢体动作,用第二脚本生成的局部肢体动作依次覆盖第一脚本生成的全身动作的对应时间段内的对应部位的动作。当然,若没有第二脚本,则确定第一脚本对应的全身动作作为重定向目标对象的动作。
示例性的,若第一动作类型是走,第四动作类型是挥手,则该目标视频是关于目标对象边走边挥手的视频。
对于第二脚本包括脚本块的数量可以是一个或多个,如果是一个,则第二脚本包括第三信息,如果是两个,则第二脚本包括第三信息与第四信息。当然,也可以包括更多的信息(包括局部肢体动作对应的动作类型、动作属性)。
当然,若各个脚本都包括各自的时间段,则可以根据各个脚本对应的时间段以及各个脚本对应的图像生成目标视频。另外,还可以根据实际需要设置帧率,并根据帧率、时间段以及图像生成目标视频。其中,对于第一脚本对应的图像包括:第一图像、n个图像、第二图像、m个图像。第一脚本与第二脚本对应的图像包括:使用局部肢体动作更新后的第一图像、使用局部肢体动作更新后的n个图像、使用局部肢体动作更新后的第二图像、使用局部肢体动作更新后的m个图像。
可选地,若n个图像是根据第一局部肢体动作更新后的n个图像,则目标视频与第一动作类型、第一动作属性、第三动作类型、第三动作属性相关。若n个图像是根据第二局部肢体动作更新后的n个图像,则目标视频与第一动作类型、第一动作属性、第四动作类型、第四动作属性相关。若n个图像是根据第一局部肢体动作与第二局部肢体动作更新后的n个图像,则目标视频与第一动作类型、第一动作属性、第三动作类型、第三动作属性、第四动作类型、第四动作属性相关。
在另一种可能实现的方式中,可选地,还可以包括获取面部信息;基于第一面部信息与第一关联关系获取面部表情序列;该种情况下,步骤605具体可以是基于第一动作状态与面部表情序列对目标对象的肢体动作与面部动作进行处理得到第一图像。步骤606具体可以是基于n组动作状态与面部表情序列对目标对象的肢体动作与面部动作进行处理得到n个图像。下面分别描述:
可以理解的是,也可以基于m组动作状态与面部表情序列对目标对象的肢体动作与面部动作进行处理得到m个图像(即用面前表情序列更新m个图像),下面仅以面部表情序列更新n个图像为例进行描述。
可选地,设备还可以获取面部信息(也可以称为第三脚本),该面部信息的数量可以是一个或多个,本申请实施例仅以面部信息包括两个为例进行描述。面部信息可以包括面部表情类型以及与面部表情类型对应的表情属性。其中,面部表情类型用于描述目标对象的面部动作,表情属性用于描述面部动作的幅度。本申请实施例中的面部表情类型(例如第一面部表情类型与第二面部表情类型)可以包括中性、高兴、悲伤、惊讶、愤怒、厌恶、恐惧、惊喜、疲惫、尴尬、蔑视等。表情属性(例如第一表情属性与第二表情属性)用于代表面部表情的级别、幅度或范围等,表情属性可以通过0-1来体现上述面部表情的表现程度。该面部信息用于获取目标对象的面部表情序列。
其中,获取面部信息的方式与前述获取第一信息的方式类似,可以由多种情况,下面分别描述:
第一种,获取第三脚本。
可选地,第三脚本包括第一面部信息与第二面部信息。其中,第一面部信息可以包括第一面部表情类型以及与第一面部表情类型对应的第一表情属性,第一面部表情类型用于描述目标对象的第一面部动作,表情属性用于描述第一面部动作的幅度。第二面部信息可以包括第二面部表情类型以及与第二面部表情类型对应的第二表情属性,第二面部表情类型用于描述目标对象的第二面部动作,表情属性用于描述第二面部动作的幅度。可以理解的是,第一面部信息还可以包括第五时间段(第五起始时刻与第五结束时刻),第二面部信息还可以包括第六时间段(第六起始时刻与第六结束时刻)。
示例性的,以第三脚本包括两个面部信息为例,第三脚本的格式可以如图35所示,其中,第一面部信息的第五起始时刻为00:00:0.5;第五结束时刻为00:00:02;第一面部表情类型为惊讶(surprised),第一表情属性包括级别(level),级别为0.8。第二面部信息的第六起始时刻为00:00:05.5;第六结束时刻为00:00:08;第二面部表情类型为微笑(smile),第二表情属性包括级别(level),级别为0.6。
第二种,通过用户对用户界面的操作获取第三脚本。
可选地,设备(终端设备或云服务器)向用户显示用户界面,该用户界面可以包括表情类型选项与表情属性选项,用户可以通过对用户界面的操作,从表情类型选项中确定第一面部表情类型,从表情属性选项中确定第一表情属性。当然,第一表情属性的确定方式也可以基于用户选择的第一面部表情类型自动显示与第一面部表情类型匹配的第一表情属性,第一表情属性的确定方式具体此处不做限定。
可选地,该用户界面用于用户编辑第三脚本。该用户界面可以包括脚本块编辑界面,进一步的,该用户界面还可以包括脚本块时间线界面与动画预览界面等。其中,脚本块编辑界面用于用户选择脚本块的动作类型、动作属性,进一步的还可以包括起始时刻与结束时刻。
示例性的,以第三脚本包括两个脚本块(即第一面部信息与第二面部信息)以及两个脚本块都包括时间段(即起始时刻与结束时刻)为例,用户界面可以如前述图8所示,图8的相关描述可以参考前述第一脚本或第二脚本的相关描述,此处不再赘述。如图36所示,用户可以点击区域501,设备响应用户的点击操作,确定待编辑的脚本块属于第三脚本(即第一面部信息)。由于第三脚本对应的是面部表情类型与表情属性,设备可以将显示的“类型”改为“表情类型”、“属性”改为“表情属性”。进一步的,如图37所示,用户可以通过起始时刻、结束时刻区域对第五时间段进行编辑,还可以点击表情类型,设备响应用户的点击操作,显示下拉菜单,该下拉菜单中包括多个面部表情类型选项,再根据用户的选择确定第一面部表情类型,这里以用户点击“惊讶”图标601为例。至此,第一面部信息的编辑操作结束,设备可以显示如图38所示的界面,其中,第一面部信息的第五起始时刻为00:00:0.5;第五结束时刻为00:00:02;第一面部表情类型为惊讶,第一表情属性为0.8。此外,用户还可以在脚本时间线界面中滑动、拖拽光标,进而调整第一面部信息的第五起始时刻和/或第五结束时刻,具体此处不做限定。
同理,第二面部信息的操作与第一面部信息类似,此处不再赘述,如图39所示,第二面部信息的第六起始时刻为00:00:02;第六结束时刻为00:00:08;第二面部表情类型为微笑,第二表情属性为0.6。
可以理解的是,图36至图39只是编辑第三脚本的用户界面的几种举例,在实际应用中,还可以有其他形式的用户界面,例如不包括结束时刻、动画预览界面等,具体此处不做限定。
本申请实施例中两种获取第三脚本的方式只是举例,在实际应用中,还可以有其他方式获取第三脚本,具体此处不做限定。
另外,设备获取面部信息(即第三脚本)之后,可以根据面部信息与第一关联关系确定面部表情序列,该第一关联关系用于表示面部信息与面部表情序列的关联关系。这里的第一关联关系可以理解为是表情字典。该表情字典包括多个级别的表情基。例如多个表情基包括120帧时长的5级的笑、60帧时长的8级的惊讶。上述的第一关联关系可以是设备构建,也可以设备从数据库或接收其他设备发送的方式获取,具体此处不做限定。
可选地,若将第一关联关系理解为是一个面部表情模型,则该模型的输入包括表情类型、级别、时长。模型的输出包括表情片段的矩阵(即表情序列)。
可选地,基于第一面部信息获取第一表情片段,基于第二面部信息获取第二表情片段,再拼接第一表情片段与第二表情片段得到表情序列。进一步的,若第一面部信息与第二面部信息在时序上不是连续的,存在空闲时间段,则可以将空闲时间段内的表情设置为中性表情。在拼接多个表情片段时,使用插值过渡的方式,从而获取表情序列。另外,还可以在闭眼或瞪眼外的面部表情外,增加周期性的眨眼对应的混合变形(blendshape)序列,从而更新表情序列。
可选地,设备获取面部表情序列之后,可以基于第一动作状态与面部表情序列对目标对象的肢体动作(即第一肢体动作)与面部动作进行处理得到第一图像。具体可以先根据第一动作状态的关节信息与面部表情序列确定1个第一肢体动作与面部动作,并将1个第一肢体动作与面部动作重定向至目标对象的肢体动作与面部动作,进而得到第一图像。同理,设备获取面部表情序列之后,可以基于第五动作状态与面部表情序列对目标对象的肢体动作(即第二肢体动作)与面部动作进行处理得到第二图像。
可选地,设备获取面部表情序列(可以包括前述第一表情片段和/或第二表情片段)之后,可以基于n组动作状态与面部表情序列对目标对象的肢体动作(即第一肢体动作)与面部动作进行处理得到n个图像。具体可以先根据n组动作状态的关节信息与面部表情序列确定n个第一肢体动作与面部动作,并将n个第一肢体动作与面部动作重定向至目标对象的肢体动作与面部动作,进而得到n个图像。同理,设备获取面部表情序列之后,可以基于m组动作状态与面部表情序列对目标对象的肢体动作(即第二肢体动作)与面部动作进行处理得到m个图像。
可选地,设备获取第二图像与m个图像之后,可以根据预测n组动作状态的时序、第一图像与n个图像、预测m组动作状态的时序、第二图像与m个图像生成目标视频。该目标视频与第一动作类型、第一动作属性、第二动作类型、第二动作属性相关。
对于第三脚本包括面部信息的数量可以是一个或多个,如果是一个,则第三脚本包括第一面部信息或第二面部信息,如果是两个,则第三脚本包括第一面部信息与第二面部信息。当然,也可以包括更多的面部信息(包括目标对象对应的面部表情类型、表情属性)。
当然,若各个脚本都包括各自的时间段,则可以根据各个脚本对应的时间段以及各个脚本对应的图像生成目标视频。另外,还可以根据实际需要设置帧率,并根据帧率、时间段以及图像生成目标视频。其中,对于第一脚本对应的图像包括:第一图像、n个图像、第二图像、m个图像。第一脚本与第二脚本对应的图像包括:使用局部肢体动作更新后的第一图像、使用局部肢体动作更新后的n个图像、使用局部肢体动作更新后的第二图像、使用局部肢体动作更新后的m个图像。第一脚本与第三脚本对应的图像包括:使用面部表情序列(例如:包括第一表情片段和/或第二表情片段)更新后的第一图像、使用面部表情序列更新后的n个图像、使用面部表情序列更新后的第二图像、使用面部表情序列更新后的m个图像。
可选地,若n个图像是根据第一表情片段更新后的n个图像,则目标视频与第一动作类型、第一动作属性、第一面部表情类型、第一表情属性相关。若n个图像是根据第二表情片段更新后的n个图像,则目标视频与第一动作类型、第一动作属性、第二面部表情类型、第二表情属性相关。若n个图像是根据第一表情片段与第二表情片段更新后的n个图像,则目标视频与第一动作类型、第一动作属性、第一面部表情类型、第一表情属性、第二面部表情类型、第二表情属性相关。
在另一种可能实现的方式中,可选地,还可以包括获取文本信息;基于文本信息生成语音片段;基于语音片段生成口型序列;该种情况下,步骤605具体可以是基于第一动作状态与口型序列对目标对象的肢体动作与面部动作进行处理得到第一图像。步骤606具体可以是基于n组动作状态与口型序列对目标对象的肢体动作与面部动作进行处理得到n个图像;步骤607具体可以是基于第一图像、n个图像以及语音片段生成目标视频。下面分别描述:
可以理解的是,也可以基于m组动作状态与口型序列对目标对象的肢体动作与面部动作进行处理得到m个图像(即用口型序列更新m个图像),下面仅以口型序列更新n个图像为例进行描述。
可选地,设备还可以获取文本信息(也可以称为第四脚本),该文本信息的数量可以是一个或多个,本申请实施例仅以文本信息包括两个为例进行描述。文本信息可以包括台词以及与该台词对应的语气。其中,语气可以理解为是台词的属性,该语气可以根据实际需要设置,例如语气可以包括陈述、感叹、疑问等。例如:语气还可以与前述的面部表情对应,可以包括惊讶、高兴等。该文本信息用于获取文本信息对应的语音片段以及目标对象的口型序列。
其中,获取文本信息的方式与前述获取第一信息的方式类似,可以由多种情况,下面分别描述:
第一种,获取第四脚本。
可选地,第四脚本包括第一文本信息与第二文本信息。其中,第一文本信息可以包括第一台词以及与第一台词对应的第一语气。第二文本信息可以包括第二台词以及与第二台词对应的第二语气。可以理解的是,第一文本信息还可以包括第七起始时刻与第七结束时刻,第二文本信息还可以包括第八起始时刻与第八结束时刻。当然,第七结束时刻也可以根据第一台词对应的第一语音片段的语音时长决定,第八结束时刻也可以根据第二台词对应的第二语音片段的语音时长决定。
示例性的,以第四脚本包括两个文本信息为例,第四脚本的格式可以如图40所示,其中,配置信息中的角色为“Tom”;第一文本信息的第七起始时刻为00:00:01;第一台词为:吉瑞,你在那里做什么?(Jerry,what are you doing here?),第一语气为惊讶(astonished)。第二文本信息的第八起始时刻为00:00:06;第二台词为:很高兴再次遇见你!(It’s really nice to see you again!),第二语气为高兴(delighted)。
第二种,通过用户对用户界面的操作获取第四脚本。
可选地,设备(终端设备或云服务器)向用户显示用户界面,该用户界面可以包括台词编辑区域与语气编辑区域(例如空白区域或语气选项),用户可以通过对用户界面的操作(例如填写、点击等),即在台词编辑区域中输入第一台词,在语气编辑区域中输入第一台词对应的第一语气。当然,第一语气的确定方式也可以是用户在语气选项中选择,具体此处不做限定。
示例性的,以第四脚本包括两个文本信息以及两个文本信息都包括起始时刻为例,用户界面可以如图8所示,图8的相关描述可以参考前述第一脚本或第二脚本的相关描述,此处不再赘述。如图41所示,用户可以点击区域701,设备响应用户的点击操作,确定待编辑的脚本块属于第四脚本(即台词脚本),或者确定待编辑的脚本块为第一文本信息。由于第四脚本对应的是台词与语气,设备可以将显示的“类型”与“属性”改为“台词”、“语气”。进一步的,用户可以通过对起始时刻进行编辑,还可以在脚本块编辑界面输入第一台词:“吉瑞,你在那里做什么?”以及第一语气:“惊讶”。至此,第一文本信息的编辑操作结束,设备可以显示如图42所示的界面,其中,第一文本信息的第七起始时刻为00:00:01;第一台词为:吉瑞,你在那里做什么?(Jerry,what are you doing here?),第一语气为惊讶(astonished)。此外,用户还可以在脚本时间线界面中滑动、拖拽光标,进而调整第一文本信息的第七起始时刻,具体此处不做限定。
同理,第二文本信息的操作与第一文本信息类似,此处不再赘述,如图43所示,第二文本信息的第八起始时刻为00:00:06;第二台词为:很高兴再次遇见你!(It’sreallynice to see you again!),第二语气为高兴(delighted)。
可以理解的是,图41至图43只是编辑第四脚本的用户界面的几种举例,在实际应用中,还可以有其他形式的用户界面,例如不包括动画预览界面等,具体此处不做限定。
本申请实施例中两种获取第四脚本的方式只是举例,在实际应用中,还可以有其他方式获取第四脚本,具体此处不做限定。
另外,设备获取文本信息(即第四脚本)之后,可以基于文本信息生成语音片段,再基于语音片段生成口型序列,口型序列用于描述目标对象的口型。可选地,可以将文本信息中的台词输入语音生成模型得到语音片段。
示例性的,延续上述举例,该第四脚本包括第一文本信息与第二文本信息,则第四脚本的语音片段可以包括第一语音片段与第二语音片段。其中,第一语音片段为:吉瑞,你在那里做什么?(Jerry,what are you doing here?)对应的语音片段,第二语音片段为:很高兴再次遇见你!(It’s really nice to see you again!)对应的语音片段。
可选地,设备获取语音片段后,可以基于一个或多个语音片段生成一个或多个混合变形(blendshape)序列。
可选地,可以将语音片段输入口型合成模型生成关于口型的blendshape序列。
示例性的,延续上述举例,该第四脚本包括第一文本信息与第二文本信息,则第四脚本的blendshape序列可以包括第一blendshape序列与第二blendshape序列。其中,第一blendshape序列对应第一台词的口型,第二blendshape序列对应第二台词的口型。
可选地,设备获取口型序列之后,可以基于第一动作状态与口型序列对目标对象的肢体动作(即第一肢体动作)与口型动作(或者称为嘴部动作)进行处理得到第一图像。具体可以先根据第一动作状态的关节信息与口型序列确定1个第一肢体动作与口型动作,并将1个第一肢体动作与口型动作重定向至目标对象的肢体动作与口型动作,进而得到第一图像。同理,设备获取口型序列之后,可以基于第五动作状态与口型序列对目标对象的肢体动作(即第二肢体动作)与口型动作进行处理得到第二图像。
可以理解的是,一般获取口型序列时,也会获取面部表情序列,即可以基于第一动作状态、面部表情序列以及口型序列对目标对象的肢体动作(即第一肢体动作)、面部动作以及口型动作进行处理得到第一图像。具体的,可以使用口型序列以及该口型序列对应时间段的面部表情序列进行加权平均,并在连接处使用插值过渡,最终输出面部动作的blendshape序列(包括面部与嘴部)。
可选地,设备获取口型序列之后,可以基于n组动作状态与口型序列对目标对象的肢体动作(即第一肢体动作)与口型动作(或者称为嘴部动作)进行处理得到n个图像。具体可以先根据n组动作状态的关节信息与口型序列确定n个第一肢体动作与口型动作,并将n个第一肢体动作与口型动作重定向至目标对象的肢体动作与口型动作,进而得到n个图像。同理,设备获取口型序列之后,可以基于m组动作状态与口型序列对目标对象的肢体动作(即第二肢体动作)与口型动作进行处理得到m个图像。
可以理解的是,一般获取口型序列时,也会获取面部表情序列,即可以基于n组动作状态、面部表情序列以及口型序列对目标对象的肢体动作(即第一肢体动作)、面部动作以及口型动作进行处理得到n个图像。
进一步的,设备可以播放该目标视频。当然,若包括第四脚本,即之前获取了语音片段,则设备在播放目标视频的时候可以播放语音片段。或者理解为,可以先对图像、语音片段进行图像轨与音频轨的合成得到目标视频。从而生成具有与动作、表情、口型相对应的动画,适用于高质量动画的制作场景。
对于第四脚本包括文本信息的数量可以是一个或多个,如果是一个,则第四脚本包括第一文本信息或第二文本信息,如果是两个,则第四脚本包括第一文本信息与第二文本信息。当然,也可以包括更多的文本信息(包括目标对象对应的台词、台词对应的语气)。
当然,若各个脚本都包括各自的时间段,则可以根据各个脚本对应的时间段以及各个脚本对应的图像生成目标视频。另外,还可以根据实际需要设置帧率,并根据帧率、时间段以及图像生成目标视频。其中,对于第一脚本对应的图像包括:第一图像、n个图像、第二图像、m个图像。第一脚本与第二脚本对应的图像包括:使用局部肢体动作更新后的第一图像、使用局部肢体动作更新后的n个图像、使用局部肢体动作更新后的第二图像、使用局部肢体动作更新后的m个图像。第一脚本与第三脚本对应的图像包括:使用面部表情序列(例如:包括第一表情片段和/或第二表情片段)更新后的第一图像、使用面部表情序列更新后的n个图像、使用面部表情序列更新后的第二图像、使用面部表情序列更新后的m个图像。第一脚本与第四脚本对应的图像包括:使用口型序列更新后的第一图像、使用面部表情序列更新后的n个图像、使用口型序列更新后的第二图像、使用口型序列更新后的m个图像。
可选地,若n个图像是根据口型序列更新后的n个图像,则目标视频与第一动作类型、第一动作属性、台词、台词对应的语气相关。
上述方式中,使得设备获取的第一图像具有肢体动作、面部动作以及口型,以便于后续生成复杂的角色动画(即关于目标对象的视频)。可选地,若上述第一脚本(用于获取全身肢体动作)、第二脚本(用于获取局部肢体动作)、第三脚本(用于获取面部表情序列)以及第四脚本(用于获取口型序列)都包括各自的时间段,则可以根据各自的时间段和/或覆盖关系(例如、局部肢体与全身肢体的覆盖关系)拼接得到一个动作序列。
本申请实施例中包括的脚本可以是包括第一脚本,也可以包括第一脚本与第二脚本,也可以包括第一脚本与第三脚本,也可以包括第一脚本与第四脚本,还可以包括第一脚本、第二脚本与第三脚本,还可以包括第一脚本、第二脚本与第四脚本,还可以包括第一脚本、第二脚本、第三脚本与第四脚本等,具体此处不做限定。
本申请实施例中,一方面,通过脚本中的类型与属性这种较高层的语义更加高效、直观、可理解,相较于现有技术中需要用户输入低层的控制信号,可以减少用户的工作量,进而提升后续生成目标视频的效率。另一方面,相较于现有技术中每一帧都要用户输入控制信号,本申请可以基于第一动作状态与第一信息预测n组动作状态,即相当于基于脚本获取一段时间段的动作序列,减少用户的操作与技术要求,提升用户体验与生成动画的效率。另一方面,通过交互界面等方式可以灵活调整或设置各种类型的脚本使得生成的动画通用性较强,可以应用于目标对象的复杂动作(例如肢体、面部动作、口型动作)。
可以理解的是,图6所示的方法也可以由终端设备与云服务器共同执行。例如,终端设备根据与用户的交互获取第一信息与第一动作状态,并向云服务器发送第一信息与第一动作状态。云服务器根据第一动作状态与第一信息预测n组动作状态。云服务器获取目标对象,云服务器基于第一动作状态对目标对象的肢体动作进行处理得到第一图像,云服务器基于n组动作状态对目标对象的肢体动作进行处理得到n个图像。云服务器基于第一图像与n个图像生成目标视频。云服务器向终端设备发送目标视频。终端设备播放目标视频。当然,云服务器也可以获取第一图像与n个图像之后,向终端设备发送第一图像与n个图像。终端设备再基于第一图像与n个图像生成目标视频,并播放目标视频。图6所示实施例中的步骤可以由终端设备执行,也可以由云服务器执行,还可以由终端设备与云服务器共同执行,具体此处不做限定。
上面对本申请实施例中的数据处理方法进行了描述,下面对本申请实施例中的数据处理设备进行描述,请参阅图44,本申请实施例中数据处理设备的一个实施例包括:
获取单元4401,用于获取第一信息,第一信息包括第一动作类型以及第一动作属性,第一动作类型用于描述第一肢体动作,第一动作属性用于描述第一肢体动作发生的过程;
获取单元4401,还用于获取第一动作状态;
预测单元4402,用于基于第一动作状态与第一信息预测n组动作状态,n为正整数;
获取单元4401,还用于获取目标对象;
处理单元4403,用于基于第一动作状态对目标对象的肢体动作进行处理得到第一图像;
处理单元4403,还用于基于n组动作状态对目标对象的肢体动作进行处理得到n个图像;
生成单元4404,用于基于第一图像和n个图像生成目标视频,目标视频与第一动作类型和第一动作属性相关。
本实施例中,数据处理设备中各单元所执行的操作与前述图3或图6所示实施例中描述的类似,此处不再赘述。
本实施例中,一方面,通过脚本中的类型与属性这种较高层的语义更加高效、直观、可理解,相较于现有技术中需要用户输入低层的控制信号,可以减少用户的工作量,进而提升后续生成单元4404生成目标视频的效率。另一方面,相较于现有技术中每一帧都要用户输入控制信号,预测单元4402用于基于第一动作状态与第一信息预测n组动作状态,即相当于获取一段时间段的动作序列,减少用户的操作与技术要求,提升用户体验与生成动画的效率。另一方面,通过灵活调整各个脚本使得生成的动画通用性较强。
参阅图45,本申请提供的另一种数据处理设备的结构示意图。该数据处理设备可以包括处理器4501、存储器4502和通信接口4503。该处理器4501、存储器4502和通信接口4503通过线路互联。其中,存储器4502中存储有程序指令和数据。
存储器4502中存储了前述图3或图6所示对应的实施方式中,由设备执行的步骤对应的程序指令以及数据。
处理器4501,用于执行前述图3或图6所示实施例中任一实施例所示的由设备执行的步骤。
通信接口4503可以用于进行数据的接收和发送,用于执行前述图3或图6所示实施例中任一实施例中与获取、发送、接收相关的步骤。
一种实现方式中,数据处理设备可以包括相对于图45更多或更少的部件,本申请对此仅仅是示例性说明,并不作限定。
本申请实施例还提供了另一种数据处理设备,如图46所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该数据处理设备可以为包括手机、平板电脑等任意终端设备,以数据处理设备是手机为例:
图46示出的是与本申请实施例提供的数据处理设备-手机的部分结构的框图。参考图46,手机包括:射频(Radio Frequency,RF)电路4610、存储器4620、输入单元4630、显示单元4640、传感器4650、音频电路4660、无线保真(wireless fidelity,WiFi)模块4670、处理器4680、以及电源4690等部件。本领域技术人员可以理解,图46中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图46对手机的各个构成部件进行具体的介绍:
RF电路4610可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器4680处理;另外,将设计上行的数据发送给基站。通常,RF电路4610包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路4610还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器4620可用于存储软件程序以及模块,处理器4680通过运行存储在存储器4620的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器4620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器4620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元4630可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元4630可包括触控面板4631以及其他输入设备4632。触控面板4631,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板4631上或在触控面板4631附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板4631可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器4680,并能接收处理器4680发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板4631。除了触控面板4631,输入单元4630还可以包括其他输入设备4632。具体地,其他输入设备4632可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元4640可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元4640可包括显示面板4641,可选的,可以采用液晶显示器(LiquidCrystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板4641。进一步的,触控面板4631可覆盖显示面板4641,当触控面板4631检测到在其上或附近的触摸操作后,传送给处理器4680以确定触摸事件的类型,随后处理器4680根据触摸事件的类型在显示面板4641上提供相应的视觉输出。虽然在图46中,触控面板4631与显示面板4641是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板4631与显示面板4641集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器4650,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板4641的亮度,接近传感器可在手机移动到耳边时,关闭显示面板4641和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线、IMU、SLAM传感器等其他传感器,在此不再赘述。
音频电路4660、扬声器4661,传声器4662可提供用户与手机之间的音频接口。音频电路4660可将接收到的音频数据转换后的电信号,传输到扬声器4661,由扬声器4661转换为声音信号输出;另一方面,传声器4662将收集的声音信号转换为电信号,由音频电路4660接收后转换为音频数据,再将音频数据输出处理器4680处理后,经RF电路4610以发送给比如另一手机,或者将音频数据输出至存储器4620以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块4670可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图46示出了WiFi模块4670,但是可以理解的是,其并不属于手机的必须构成。
处理器4680是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器4620内的软件程序和/或模块,以及调用存储在存储器4620内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器4680可包括一个或多个处理单元;优选的,处理器4680可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器4680中。
手机还包括给各个部件供电的电源4690(比如电池),优选的,电源可以通过电源管理系统与处理器4680逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该手机所包括的处理器4680可以执行前述图3或图6所示实施例中数据处理设备的功能,此处不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。
当使用软件实现所述集成的单元时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。

Claims (41)

1.一种数据处理方法,其特征在于,所述方法包括:
获取第一信息,所述第一信息包括第一动作类型以及第一动作属性,所述第一动作类型用于描述第一肢体动作,所述第一动作属性用于描述所述第一肢体动作发生的过程;
获取第一动作状态;
基于所述第一动作状态与所述第一信息得到n组动作状态,n为正整数;
获取目标对象;
基于所述第一动作状态对所述目标对象的肢体动作进行处理得到第一图像;
基于所述n组动作状态对所述目标对象的肢体动作进行处理得到n个图像;
基于所述第一图像和所述n个图像生成目标视频,所述目标视频与所述第一动作类型和所述第一动作属性相关。
2.根据权利要求1所述的方法,其特征在于,所述获取第一信息,包括:
获取用户输入的第一脚本,所述第一脚本包括所述第一动作类型与所述第一动作属性;
或者,
显示第一用户界面,所述第一用户界面包括动作类型选项和/或动作属性选项;
响应所述用户在所述第一用户界面的第一操作,从所述动作类型选项中确定所述第一动作类型,和/或从所述动作属性选项中选择所述第一动作属性。
3.根据权利要求1或2所述的方法,其特征在于,所述获取第一动作状态,包括:
获取第二动作状态,所述第二动作状态用于表示所述第一动作状态之前的历史动作状态;
将所述第二动作状态与所述第一信息输入训练好的第一网络得到所述第一动作状态;
或者,
向用户显示第二用户界面,所述第二用户界面包括动作状态区域;
响应用户在所述第二用户界面的第二操作,从所述动作状态区域中确定所述第一动作状态;
或者,
获取预先设置的所述第一动作状态。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述基于所述第一动作状态与所述第一信息得到n组动作状态,包括:
将所述第一动作状态与所述第一信息输入训练好的第一网络得到所述n组动作状态,所述第一网络用于根据第三动作状态、所述第一动作类型与所述第一动作属性获取第四动作状态,所述第三动作状态到所述第四动作状态的变化与所述第一动作类型相关。
5.根据权利要求3或4所述的方法,其特征在于,所述训练好的第一网络是通过以第一训练数据作为所述第一网络的输入,以第一损失函数的值小于第一阈值为目标对第一网络进行训练获取,所述第一训练数据包括第三动作状态、所述第一动作类型以及所述第一动作属性,所述第三动作状态包括所述第一肢体动作对应关节的第三坐标、第三转角、第三速度中的至少一个;
所述第一损失函数用于指示所述第一网络输出的第四动作状态与第一目标动作状态之间的差异,所述第四动作状态包括所述第一肢体动作对应关节的第四坐标、第四转角、第四速度中的至少一个;所述第一目标动作状态包括第一目标坐标、第一目标转角、第一目标速度中的至少一个;所述第一目标动作状态与所述第三动作状态属于同一个动作视频中相邻两帧对应的动作状态。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述目标对象为三维模型,所述目标对象用于执行所述第一肢体动作。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
获取n的数值;
所述基于所述第一动作状态与所述第一信息得到n组动作状态,包括:
基于所述第一动作状态与所述第一信息通过所述第一网络得到输出并进行迭代,得到所述n组动作状态。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
获取结束条件,所述结束条件包括所述第一肢体动作的完成进度、所述第一动作类型的结束时刻、所述第一动作属性中的参数中的至少一项相关,所述结束条件是预先设置的或者用户在第三用户界面上输入的;
所述获取n的数值,包括:
基于所述结束条件确定所述n的数值。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述方法还包括:
获取环境信息,所述环境信息包括与所述目标对象交互的道具、对象中的至少一种;
所述基于所述第一动作状态与所述第一信息得到n组动作状态,包括:
基于所述第一动作状态、所述第一信息以及所述环境信息得到所述n组动作状态以及与所述n组动作状态对应的n个环境接触信息,所述n个环境接触信息中的一个环境接触信息用于表示所述环境接触信息对应的动作状态中的关节是否与所述环境信息接触;
所述基于所述n组动作状态对所述目标对象的肢体动作进行处理得到n个图像,包括:
基于所述n组动作状态与所述环境接触信息对所述目标对象的肢体动作进行处理得到所述n个图像。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述方法还包括:
获取第二信息,所述第二信息包括第二动作类型以及第二动作属性,所述第二动作类型用于描述第二肢体动作,所述第二动作属性用于描述所述第二肢体动作发生的过程;
获取第五动作状态;
基于所述第五动作状态与所述第二信息得到m组动作状态,m为正整数;
基于所述第五动作状态对所述目标对象的肢体动作进行处理得到第二图像;
基于所述m组动作状态对所述目标对象的肢体动作进行处理得到m个图像;
所述基于所述第一图像和所述n个图像生成目标视频,包括:
基于所述第一图像、所述n个图像、所述第二图像以及所述m个图像生成所述目标视频。
11.根据权利要求10所述的方法,其特征在于,所述第一信息还包括所述第一动作类型的第一时间段,所述第二信息还包括所述第二动作类型的第二时间段;
所述基于所述第一图像、所述n个图像、所述第二图像以及所述m个图像生成所述目标视频,包括:
基于所述第一图像、所述n个图像、所述第二图像、所述m个图像、所述第一时间段以及所述第二时间段生成所述目标视频,所述第一时间段对应所述第一图像与所述n个图像,所述第二时间段对应所述第二图像与所述m个图像。
12.根据权利要求11中任一项所述的方法,其特征在于,所述基于所述第五动作状态与所述第二信息得到m组动作状态,包括:
将所述第五动作状态与所述第二信息输入训练好的第二网络得到所述m组动作状态,所述第二网络用于根据第六动作状态、所述第二动作类型与所述第二动作属性获取第七动作状态,所述第六动作状态到所述第七动作状态的变化与所述第二动作类型相关。
13.根据权利要求12所述的方法,其特征在于,所述训练好的第二网络是通过以第二训练数据作为所述第二网络的输入,以第二损失函数的值小于第二阈值为目标对第二网络进行训练获取,所述第二训练数据包括第六动作状态、所述第二动作类型以及与所述第二动作属性,所述第六动作状态包括第二肢体动作对应关节的第六坐标、第六转角、第六速度中的至少一个;
所述第二损失函数用于指示所述第二网络输出的第七动作状态与第二目标动作状态之间的差异,所述第七动作状态包括所述第二肢体动作对应关节的第七坐标、第七转角、第七速度中的至少一个;所述第二目标动作状态包括第二目标坐标、第二目标转角、第二目标速度中的至少一个;所述第二目标动作状态与所述第六动作状态属于同一个动作视频中相邻两帧对应的动作状态。
14.根据权利要求1至13中任一项所述的方法,其特征在于,所述方法还包括:
获取第三信息,所述第三信息包括第三动作类型以及第三动作属性,所述第三动作类型用于描述第三肢体动作,所述第三动作属性用于描述所述第三肢体动作发生的过程,所述第三肢体动作对应的第三肢体为所述第一肢体动作对应的第一肢体中的局部肢体;
获取第八动作状态;
基于所述第八动作状态与所述第三信息得到p组动作状态,p为正整数;
所述基于所述第一动作状态对所述目标对象的肢体动作进行处理得到第一图像,包括:
基于所述第三肢体与所述第一肢体的覆盖关系使用所述第八动作状态对应的所述目标对象的肢体动作覆盖所述第一动作状态对应的所述目标对象的肢体动作得到所述第一图像;
基于所述n组动作状态对所述目标对象的肢体动作进行处理得到n个图像,包括:
基于所述第三肢体与所述第一肢体的覆盖关系使用所述p组动作状态对应的所述目标对象的肢体动作覆盖所述n组动作状态对应的所述目标对象的肢体动作得到所述n个图像。
15.根据权利要求1至14中任一项所述的方法,其特征在于,所述方法还包括:
获取面部信息,所述面部信息包括面部表情类型以及与所述面部表情类型对应的表情属性,所述面部表情类型用于描述所述目标对象的面部动作,所述表情属性用于描述所述面部动作的幅度;
基于所述面部信息与第一关联关系获取面部表情序列,所述第一关联关系用于表示所述面部信息与所述面部表情序列的关联关系;
所述基于所述第一动作状态对所述目标对象的肢体动作进行处理得到第一图像,包括:
基于所述第一动作状态与所述面部表情序列对所述目标对象的肢体动作与面部动作进行处理得到所述第一图像;
所述基于所述n组动作状态对所述目标对象的肢体动作进行处理得到n个图像,包括:
基于所述n组动作状态与所述面部表情序列对所述目标对象的肢体动作与面部动作进行处理得到所述n个图像。
16.根据权利要求1至15中任一项所述的方法,其特征在于,所述方法还包括:
获取文本信息;
基于所述文本信息生成语音片段;
基于所述语音片段生成口型序列,所述口型序列用于描述所述目标对象的口型;
所述基于所述第一动作状态对所述目标对象的肢体动作进行处理得到第一图像,包括:
基于所述第一动作状态与所述口型序列对所述目标对象的肢体动作与面部动作进行处理得到所述第一图像;
所述基于所述n组动作状态对所述目标对象的肢体动作进行处理得到n个图像,包括:
基于所述n组动作状态与所述口型序列对所述目标对象的肢体动作与面部动作进行处理得到所述n个图像。
17.根据权利要求16所述的方法,其特征在于,所述基于所述第一图像和所述n个图像生成目标视频,包括:
基于所述第一图像、所述n个图像以及所述语音片段生成所述目标视频。
18.根据权利要求1至17中任一项所述的方法,其特征在于,所述第一动作类型包括走、跑、跳跃、坐下、站起、蹲下、躺下、拥抱、拳击、挥剑、跳舞中的至少一种。
19.根据权利要求1至18中任一项所述的方法,其特征在于,所述第一动作属性包括位移、行进路径、动作速度、动作发生的频率、动作的幅度、动作的朝向中的至少一种。
20.一种数据处理设备,其特征在于,所述设备包括:
获取单元,用于获取第一信息,所述第一信息包括第一动作类型以及第一动作属性,所述第一动作类型用于描述第一肢体动作,所述第一动作属性用于描述所述第一肢体动作发生的过程;
所述获取单元,还用于获取第一动作状态;
预测单元,用于基于所述第一动作状态与所述第一信息得到n组动作状态,n为正整数;
所述获取单元,还用于获取目标对象;
处理单元,用于基于所述第一动作状态对所述目标对象的肢体动作进行处理得到第一图像;
所述处理单元,还用于基于所述n组动作状态对所述目标对象的肢体动作进行处理得到n个图像;
生成单元,用于基于所述第一图像和所述n个图像生成目标视频,所述目标视频与所述第一动作类型和所述第一动作属性相关。
21.根据权利要求20所述的设备,其特征在于,所述获取单元,具体用于获取用户输入的第一脚本,所述第一脚本包括所述第一动作类型与所述第一动作属性;
或者,
所述获取单元,具体用于显示第一用户界面,所述第一用户界面包括动作类型选项和/或动作属性选项;
所述获取单元,具体用于响应所述用户在所述第一用户界面的第一操作,从所述动作类型选项中确定所述第一动作类型,和/或从所述动作属性选项中选择所述第一动作属性。
22.根据权利要求20或21所述的设备,其特征在于,所述获取单元,具体用于获取第二动作状态,所述第二动作状态用于表示所述第一动作状态之前的历史动作状态;
所述获取单元,具体用于将所述第二动作状态与所述第一信息输入训练好的第一网络得到所述第一动作状态;
或者,
所述获取单元,具体用于向用户显示第二用户界面,所述第二用户界面包括动作状态区域;
所述获取单元,具体用于响应用户在所述第二用户界面的第二操作,从所述动作状态区域中确定所述第一动作状态;
或者,
所述获取单元,具体用于获取预先设置的所述第一动作状态。
23.根据权利要求20至22中任一项所述的设备,其特征在于,所述预测单元,具体用于将所述第一动作状态与所述第一信息输入训练好的第一网络得到所述n组动作状态,所述第一网络用于根据第三动作状态、所述第一动作类型与所述第一动作属性获取第四动作状态,所述第三动作状态到所述第四动作状态的变化与所述第一动作类型相关。
24.根据权利要求22或23所述的设备,其特征在于,所述训练好的第一网络是通过以第一训练数据作为所述第一网络的输入,以第一损失函数的值小于第一阈值为目标对第一网络进行训练获取,所述第一训练数据包括所述第三动作状态、所述第一动作类型以及所述第一动作属性,所述第三动作状态包括所述第一肢体动作对应关节的第三坐标、第三转角、第三速度中的至少一个;
所述第一损失函数用于指示所述第一网络输出的所述第四动作状态与第一目标动作状态之间的差异,所述第四动作状态包括所述第一肢体动作对应关节的第四坐标、第四转角、第四速度中的至少一个;所述第一目标动作状态包括第一目标坐标、第一目标转角、第一目标速度中的至少一个;所述第一目标动作状态与所述第三动作状态属于同一个动作视频中相邻两帧对应的动作状态。
25.根据权利要求20至24中任一项所述的设备,其特征在于,所述目标对象为三维模型,所述目标对象用于执行所述第一肢体动作。
26.根据权利要求20至25中任一项所述的设备,其特征在于,所述获取单元,还用于获取n的数值;
所述预测单元,具体用于基于所述第一动作状态与所述第一信息通过所述第一网络得到输出并进行迭代,得到所述n组动作状态。
27.根据权利要求26所述的设备,其特征在于,所述获取单元,还用于获取结束条件,所述结束条件包括所述第一肢体动作的完成进度、所述第一动作类型的结束时刻、所述第一动作属性中的参数中的至少一项相关,所述结束条件是预先设置的或者用户在第三用户界面上输入的;
所述获取单元,具体用于基于所述结束条件确定所述n的数值。
28.根据权利要求20至27中任一项所述的设备,其特征在于,所述获取单元,还用于获取环境信息,所述环境信息包括与所述目标对象交互的道具、对象中的至少一种;
所述预测单元,具体用于基于所述第一动作状态、所述第一信息以及所述环境信息得到所述n组动作状态以及与所述n组动作状态对应的n个环境接触信息,所述n个环境接触信息中的一个环境接触信息用于表示所述环境接触信息对应的动作状态中的关节是否与所述环境信息接触;
所述处理单元,具体用于基于所述n组动作状态与所述环境接触信息对所述目标对象的肢体动作进行处理得到所述n个图像。
29.根据权利要求20至28中任一项所述的设备,其特征在于,所述获取单元,还用于获取第二信息,所述第二信息包括第二动作类型以及第二动作属性,所述第二动作类型用于描述第二肢体动作,所述第二动作属性用于描述所述第二肢体动作发生的过程;
所述获取单元,还用于获取第五动作状态;
所述预测单元,还用于基于所述第五动作状态与所述第二信息得到m组动作状态,m为正整数;
所述处理单元,还用于基于所述第五动作状态对所述目标对象的肢体动作进行处理得到第二图像;
所述处理单元,还用于基于所述m组动作状态对所述目标对象的肢体动作进行处理得到m个图像;
所述生成单元,具体用于基于所述第一图像、所述n个图像、所述第二图像以及所述m个图像生成所述目标视频。
30.根据权利要求29所述的设备,其特征在于,所述第一信息还包括所述第一动作类型的第一时间段,所述第二信息还包括所述第二动作类型的第二时间段;
所述生成单元,具体用于基于所述第一图像、所述n个图像、所述第二图像、所述m个图像、所述第一时间段以及所述第二时间段生成所述目标视频,所述第一时间段对应所述第一图像与所述n个图像,所述第二时间段对应所述第二图像与所述m个图像。
31.根据权利要求30中任一项所述的设备,其特征在于,所述预测单元,具体用于将所述第五动作状态与所述第二信息输入训练好的第二网络得到所述m组动作状态,所述第二网络用于根据第六动作状态、所述第二动作类型与所述第二动作属性获取第七动作状态,所述第六动作状态到所述第七动作状态的变化与所述第二动作类型相关。
32.根据权利要求31所述的设备,其特征在于,所述训练好的第二网络是通过以第二训练数据作为所述第二网络的输入,以第二损失函数的值小于第二阈值为目标对第二网络进行训练获取,所述第二训练数据包括所述第六动作状态、所述第二动作类型以及与所述第二动作属性,所述第六动作状态包括第而是肢体动作对应关节的第六坐标、第六转角、第六速度中的至少一个;
所述第二损失函数用于指示所述第二网络输出的所述第七动作状态与第二目标动作状态之间的差异,所述第七动作状态包括所述第二肢体动作对应关节的第七坐标、第七转角、第七速度中的至少一个;所述第二目标动作状态包括第二目标坐标、第二目标转角、第二目标速度中的至少一个;所述第二目标动作状态与所述第六动作状态属于同一个动作视频中相邻两帧对应的动作状态。
33.根据权利要求20至32中任一项所述的设备,其特征在于,所述获取单元,还用于获取第三信息,所述第三信息包括第三动作类型以及第三动作属性,所述第三动作类型用于描述第三肢体动作,所述第三动作属性用于描述所述第三肢体动作发生的过程,所述第三肢体动作对应的第三肢体为所述第一肢体动作对应的第一肢体中的局部肢体;
所述获取单元,还用于获取第八动作状态;
所述预测单元,还用于基于所述第八动作状态与所述第三信息得到p组动作状态,p为正整数;
所述处理单元,具体用于基于所述第三肢体与所述第一肢体的覆盖关系使用所述第八动作状态对应的所述目标对象的肢体动作覆盖所述第一动作状态对应的所述目标对象的肢体动作得到所述第一图像;
所述处理单元,具体用于基于所述第三肢体与所述第一肢体的覆盖关系使用所述p组动作状态对应的所述目标对象的肢体动作覆盖所述n组动作状态对应的所述目标对象的肢体动作得到所述n个图像。
34.根据权利要求20至33中任一项所述的设备,其特征在于,所述获取单元,还用于获取面部信息,所述面部信息包括面部表情类型以及与所述面部表情类型对应的表情属性,所述面部表情类型用于描述所述目标对象的面部动作,所述表情属性用于描述所述面部动作的幅度;
所述获取单元,还用于基于所述面部信息与第一关联关系获取面部表情序列,所述第一关联关系用于表示所述面部信息与所述面部表情序列的关联关系;
所述处理单元,具体用于基于所述第一动作状态与所述面部表情序列对所述目标对象的肢体动作与面部动作进行处理得到所述第一图像;
所述处理单元,具体用于基于所述n组动作状态与所述面部表情序列对所述目标对象的肢体动作与面部动作进行处理得到所述n个图像。
35.根据权利要求20至34中任一项所述的设备,其特征在于,所述获取单元,还用于获取文本信息;
所述生成单元,还用于基于所述文本信息生成语音片段;
所述生成单元,还用于基于所述语音片段生成口型序列,所述口型序列用于描述所述目标对象的口型;
所述处理单元,具体用于基于所述第一动作状态与所述口型序列对所述目标对象的肢体动作与面部动作进行处理得到所述第一图像;
所述处理单元,具体用于基于所述n组动作状态与所述口型序列对所述目标对象的肢体动作与面部动作进行处理得到所述n个图像。
36.根据权利要求35所述的设备,其特征在于,所述生成单元,具体用于基于所述第一图像、所述n个图像以及所述语音片段生成所述目标视频。
37.根据权利要求20至36中任一项所述的设备,其特征在于,所述第一动作类型包括走、跑、跳跃、坐下、站起、蹲下、躺下、拥抱、拳击、挥剑、跳舞中的至少一种。
38.根据权利要求20至37中任一项所述的设备,其特征在于,所述第一动作属性包括位移、行进路径、动作速度、动作发生的频率、动作的幅度、动作的朝向中的至少一种。
39.一种数据处理设备,其特征在于,包括:包括处理器,所述处理器和存储器耦合,所述存储器存储有程序,当所述存储器存储的程序指令被所述处理器执行时实现权利要求1至19中任一项所述的方法。
40.一种计算机可读存储介质,包括程序,当所述程序在计算机上运行时,使得所述计算机执行如权利要求1至19中任一项所述的方法。
41.一种计算机程序产品,其特征在于,所述计算机程序产品在计算机上执行时,使得所述计算机执行如权利要求1至19中任一项所述的方法。
CN202110797678.7A 2021-07-14 2021-07-14 一种数据处理方法及相关设备 Pending CN115617429A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110797678.7A CN115617429A (zh) 2021-07-14 2021-07-14 一种数据处理方法及相关设备
PCT/CN2022/104524 WO2023284634A1 (zh) 2021-07-14 2022-07-08 一种数据处理方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110797678.7A CN115617429A (zh) 2021-07-14 2021-07-14 一种数据处理方法及相关设备

Publications (1)

Publication Number Publication Date
CN115617429A true CN115617429A (zh) 2023-01-17

Family

ID=84855620

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110797678.7A Pending CN115617429A (zh) 2021-07-14 2021-07-14 一种数据处理方法及相关设备

Country Status (2)

Country Link
CN (1) CN115617429A (zh)
WO (1) WO2023284634A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116048708A (zh) * 2023-03-31 2023-05-02 成都大前研软件开发有限公司 基于人工智能的软件窗口调整方法、系统、设备和介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245638A (zh) * 2019-06-20 2019-09-17 北京百度网讯科技有限公司 视频生成方法和装置
CN110310350B (zh) * 2019-06-24 2021-06-11 清华大学 基于动画的动作预测生成方法和装置
US10964084B2 (en) * 2019-06-25 2021-03-30 Adobe Inc. Generating realistic animations for digital animation characters utilizing a generative adversarial network and a hip motion prediction network
CN111223170B (zh) * 2020-01-07 2022-06-10 腾讯科技(深圳)有限公司 动画生成方法、装置、电子设备和存储介质
CN111292401B (zh) * 2020-01-15 2022-05-03 腾讯科技(深圳)有限公司 动画处理方法、装置、计算机存储介质及电子设备
CN111311714A (zh) * 2020-03-31 2020-06-19 北京慧夜科技有限公司 一种三维动画的姿态预测方法和系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116048708A (zh) * 2023-03-31 2023-05-02 成都大前研软件开发有限公司 基于人工智能的软件窗口调整方法、系统、设备和介质
CN116048708B (zh) * 2023-03-31 2024-02-23 成都齐之之知识产权运营有限公司 基于人工智能的软件窗口调整方法、系统、设备和介质

Also Published As

Publication number Publication date
WO2023284634A1 (zh) 2023-01-19

Similar Documents

Publication Publication Date Title
Lee et al. Interactive character animation by learning multi-objective control
US20230274511A1 (en) Displaying virtual content in augmented reality using a map of the world
US10551993B1 (en) Virtual reality content development environment
CN110930483B (zh) 一种角色控制的方法、模型训练的方法以及相关装置
WO2021143261A1 (zh) 一种动画实现方法、装置、电子设备和存储介质
CN111260764B (zh) 一种制作动画的方法、装置及存储介质
US11055891B1 (en) Real time styling of motion for virtual environments
US20230177755A1 (en) Predicting facial expressions using character motion states
WO2023284634A1 (zh) 一种数据处理方法及相关设备
CN115222847A (zh) 一种基于神经网络的动画数据生成方法、装置及相关产品
CN113559500B (zh) 动作数据的生成方法、装置、电子设备及存储介质
CN117115314A (zh) 一种动作生成方法、训练方法以及装置
CN114092639A (zh) 上身姿态重构方法、装置、电子设备及存储介质
CN116468827A (zh) 数据处理方法及相关产品
CN117149034A (zh) 一种图像处理方法及其相关设备
CN116983623A (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