CN111589138B - 动作预测方法、装置、设备及存储介质 - Google Patents
动作预测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111589138B CN111589138B CN202010371398.5A CN202010371398A CN111589138B CN 111589138 B CN111589138 B CN 111589138B CN 202010371398 A CN202010371398 A CN 202010371398A CN 111589138 B CN111589138 B CN 111589138B
- Authority
- CN
- China
- Prior art keywords
- action sequence
- prediction
- target
- sample
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/56—Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
- A63F13/573—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using trajectories of game objects, e.g. of a golf ball according to the point of impact
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/60—Methods for processing data by generating or executing the game program
- A63F2300/64—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
- A63F2300/646—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car for calculating the trajectory of an object
Abstract
本申请公开了一种动作预测方法、装置、设备及存储介质,属于人工智能技术领域。方法包括:获取参考动作序列和动作预测模型,参考动作序列包括至少两帧连续的骨骼数据,动作预测模型包括目标预测模型和目标修正模型;将参考动作序列输入目标预测模型,通过目标预测模型预测得到参考动作序列对应的初步预测动作序列,初步预测动作序列包括至少一帧初步预测骨骼数据;利用目标修正模型对初步预测动作序列进行修正,得到参考动作序列对应的目标预测动作序列。在此种动作预测的过程中,不仅关注输入的参考动作序列,还关注目标预测模型预测得到的初步预测动作序列,关注的信息较丰富,有利于提高动作预测的准确度,动作预测的效果较好。
Description
技术领域
本申请实施例涉及人工智能技术领域,特别涉及一种动作预测方法、装置、设备及存储介质。
背景技术
随着人工智能技术的发展,有效地预测人体动作在计算视觉领域的多方面应用中发挥着重要作用,例如,人机交互、智能安防、虚拟现实健康观察、自动驾驶和人体目标跟踪等。然而,由于人体各部分关节在动作中的非线性和高度时空依赖性,预测未来可能的人体动作是一项非常具有挑战性的任务。
相关技术中,将动作序列输入单级预测模型,利用单级预测模型进行人体动作的预测。在此种动作预测的过程中,仅关注输入的动作序列,关注的信息较局限,动作预测的准确度较低。
发明内容
本申请实施例提供了一种动作预测方法、装置、设备及存储介质,可用于提高动作预测的准确度。所述技术方案如下:
一方面,本申请实施例提供了一种动作预测方法,所述方法包括:
获取参考动作序列和动作预测模型,所述参考动作序列包括至少两帧连续的骨骼数据,所述动作预测模型包括目标预测模型和目标修正模型;
将所述参考动作序列输入所述目标预测模型,通过所述目标预测模型预测得到所述参考动作序列对应的初步预测动作序列,所述初步预测动作序列包括至少一帧初步预测骨骼数据;
利用所述目标修正模型对所述初步预测动作序列进行修正,得到所述参考动作序列对应的目标预测动作序列。
另一方面,提供了一种动作预测装置,所述装置包括:
获取单元,用于获取参考动作序列和动作预测模型,所述参考动作序列包括至少两帧连续的骨骼数据,所述动作预测模型包括目标预测模型和目标修正模型;
预测单元,用于将所述参考动作序列输入所述目标预测模型,通过所述目标预测模型预测得到所述参考动作序列对应的初步预测动作序列,所述初步预测动作序列包括至少一帧初步预测骨骼数据;
修正单元,用于利用所述目标修正模型对所述初步预测动作序列进行修正,得到所述参考动作序列对应的目标预测动作序列。
在一种可能实现方式中,所述目标修正模型包括至少两个依次连接的目标修正子模型,所述修正单元,还用于将所述初步预测动作序列输入所述至少两个依次连接的目标修正子模型中的第一个目标修正子模型,通过所述第一个目标修正子模型修正得到修正动作序列;对于所述至少两个依次连接的目标修正子模型中的除第一个目标修正子模型外的其他任一目标修正子模型,将通过前一个目标修正子模型修正得到的修正动作序列输入所述任一目标修正子模型,通过所述任一目标修正子模型修正得到修正动作序列;将通过所述至少两个依次连接的目标修正子模型中的最后一个目标修正子模型修正得到的修正动作序列作为所述参考动作序列对应的目标预测动作序列。
在一种可能实现方式中,所述获取单元,还用于获取训练数据集,所述训练数据集包括样本动作序列和所述样本动作序列对应的标准动作序列,所述样本动作序列包括至少两帧连续的骨骼数据,所述标准动作序列包括至少一帧标准骨骼数据;
所述装置还包括:
训练单元,用于利用所述训练数据集中的样本动作序列和标准动作序列对初始预测模型进行训练,得到目标预测模型;利用所述训练数据集中的样本动作序列和标准动作序列对初始修正模型进行训练,得到目标修正模型。
在一种可能实现方式中,所述训练单元,还用于将所述训练数据集中的第一样本动作序列输入初始预测模型,通过所述初始预测模型预测得到所述第一样本动作序列对应的第一预测动作序列;利用所述第一样本动作序列对应的第一预测动作序列和所述第一样本动作序列对应的标准动作序列之间的预测损失函数,反向更新所述初始预测模型的参数,得到参数更新后的预测模型;响应于不满足第一训练终止条件,利用所述训练数据集中的样本动作序列和标准动作序列继续对所述参数更新后的预测模型进行训练,直至满足所述第一训练终止条件,将满足所述第一训练终止条件时得到的预测模型作为目标预测模型。
在一种可能实现方式中,所述训练单元,还用于将所述训练数据集中的第二样本动作序列输入所述目标预测模型,通过所述目标预测模型预测得到所述第二样本动作序列对应的第一预测动作序列;利用所述初始修正模型对所述第二样本动作序列对应的第一预测动作序列进行修正,得到所述第二样本动作序列对应的第二预测动作序列;利用所述第二样本动作序列对应的第二预测动作序列和所述第二样本动作序列对应的标准动作序列之间的第一修正损失函数,反向更新所述初始修正模型的参数,得到参数更新后的修正模型;响应于不满足第二训练终止条件,利用所述训练数据集中的样本动作序列和标准动作序列继续对所述参数更新后的修正模型进行训练,直至满足所述第二训练终止条件,将满足所述第二训练终止条件时得到的修正模型作为目标修正模型。
在一种可能实现方式中,所述训练单元,还用于确定第一目标误差;利用所述第一目标误差对所述第二样本动作序列对应的第一预测动作序列进行调整;利用所述初始修正模型对所述第二样本动作序列对应的调整后的第一预测动作序列进行修正,得到所述第二样本动作序列对应的第二预测动作序列。
在一种可能实现方式中,所述训练单元,还用于从所述训练数据集中选取任一第一候选样本动作序列,将所述第一候选样本动作序列输入第一参考预测模型,通过所述第一参考预测模型预测得到所述第一候选样本动作序列对应的第一预测动作序列,所述第一参考预测模型的参数与所述目标预测模型的参数一致;基于所述第一候选样本动作序列对应的第一预测动作序列和所述第一候选样本动作序列对应的标准动作序列,确定第一标准误差;基于所述第二样本动作序列对应的第一预测动作序列和所述第一标准误差,利用生成式对抗网络生成第一目标误差。
在一种可能实现方式中,所述训练单元,还用于将所述训练数据集中的第三样本动作序列输入初始预测模型,通过所述初始预测模型预测得到所述第三样本动作序列对应的第一预测动作序列;利用所述初始修正模型对所述第三样本动作序列对应的第一预测动作序列进行修正,得到所述第三样本动作序列对应的第二预测动作序列;利用所述第三样本动作序列对应的第二预测动作序列和所述第三样本动作序列对应的标准动作序列之间的第二修正损失函数,反向更新所述初始预测模型的参数和所述初始修正模型的参数,得到参数更新后的预测模型和参数更新后的修正模型;响应于不满足第三训练终止条件,利用所述训练数据集中的样本动作序列和标准动作序列继续对所述参数更新后的预测模型进行训练,利用所述训练数据集中的样本动作序列和标准动作序列继续对所述参数更新后的修正模型进行训练,直至满足第三训练终止条件,将满足第三训练终止条件时得到的预测模型作为目标预测模型,将满足第三训练终止条件时得到的修正模型作为目标修正模型。
在一种可能实现方式中,所述训练单元,还用于确定第二目标误差;利用所述第二目标误差对所述第三样本动作序列对应的第一预测动作序列进行调整;利用所述初始修正模型对所述第三样本动作序列对应的调整后的第一预测动作序列进行修正,得到所述第三样本动作序列对应的第二预测动作序列。
在一种可能实现方式中,所述训练单元,还用于从所述训练数据集中选取任一第二候选样本动作序列,将所述第二候选样本动作序列输入第二参考预测模型,通过所述第二参考预测模型预测得到所述第二候选样本动作序列对应的第一预测动作序列,所述第二参考预测模型的参数与初始预测模型的当前参数一致;基于所述第二候选样本动作序列对应的第一预测动作序列和所述第二候选样本动作序列对应的标准动作序列,确定第二标准误差;基于所述第三样本动作序列对应的第一预测动作序列和所述第二标准误差,利用生成式对抗网络生成第二目标误差。
在一种可能实现方式中,所述初始修正模型包括至少两个依次连接的初始修正子模型,所述训练单元,还用于利用所述训练数据集中的样本动作序列和标准动作序列对所述至少两个依次连接的初始修正子模型进行训练,得到至少两个依次连接的目标修正子模型。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现上述任一所述的动作预测方法。
另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现上述任一所述的动作预测方法。
本申请实施例提供的技术方案至少带来如下有益效果:
利用包括目标预测模型和目标修正模型的动作预测模型进行动作预测,目标预测模型根据输入的参考动作序列预测出初步预测动作序列,目标修正模型对初步预测动作序列进行修正,然后得到最终预测的目标预测动作序列。在此种动作预测的过程中,不仅关注输入的参考动作序列,还关注目标预测模型预测得到的初步预测动作序列,关注的信息较丰富,有利于提高动作预测的准确度,动作预测的效果较好。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种动作预测方法的实施环境的示意图;
图2是本申请实施例提供的一种动作预测方法的流程图;
图3是本申请实施例提供的一种训练得到动作预测模型的方法的流程图;
图4是本申请实施例提供的一种训练初始预测模型的过程示意图;
图5是本申请实施例提供的一种训练初始修正模型的过程示意图;
图6是本申请实施例提供的一种训练初始预测模型和初始修正模型的过程示意图;
图7是本申请实施例提供的一种动作序列的可视化效果示意图;
图8是本申请实施例提供的一种动作序列的可视化效果示意图;
图9是本申请实施例提供的一种动作序列的可视化效果示意图;
图10是本申请实施例提供的一种动作预测装置的示意图;
图11是本申请实施例提供的一种动作预测装置的示意图;
图12是本申请实施例提供的一种终端的结构示意图;
图13是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例提供的方案涉及人工智能的计算机视觉技术。计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像修复、图像识别、图像语义理解、图像检索、OCR(Optical Character Recognition,光学字符识别)、视频处理、视频语义理解、视频内容识别、人体动作预测、三维物体重建、3D(3-Dimension,三维)技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
随着人工智能技术的发展,有效地预测人体动作在计算视觉领域的多方面应用中发挥着重要作用,例如,人机交互、智能安防、虚拟现实健康观察、自动驾驶和人体目标跟踪等。然而,由于人体各部分关节在动作中的非线性和高度时空依赖性,预测未来可能的人体动作是一项非常具有挑战性的任务。
对此,本申请实施例提供了一种动作预测方法。请参考图1,其示出了本申请实施例提供的动作预测方法的实施环境的示意图。该实施环境可以包括:终端11和服务器12。
其中,终端11和服务器12均可以利用本申请实施例提供的方法进行动作预测。终端11可以捕捉人体的参考动作序列,然后将参考动作序列发送至服务器12进行后续处理,服务器12可以利用动作预测模型对参考动作序列进行处理,得到参考动作序列对应的目标预测动作序列,然后可以将目标预测动作序列发送至终端11;当然,终端11也可以直接利用动作预测模型对捕捉的参考动作序列进行处理,从而得到参考动作序列对应的目标预测动作序列。需要说明的是,动作预测模型既可以通过终端11训练得到,可以通过服务器12训练得到,本申请实施例对此不加以限定。
在一种可能实现方式中,终端11可以是任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品,例如PC(Personal Computer,个人计算机)、手机、智能手机、PDA(Personal Digital Assistant,个人数字助手)、可穿戴设备、掌上电脑PPC(Pocket PC)、平板电脑、智能车机、智能电视、智能音箱等。服务器12可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。终端11与服务器12通过有线或无线网络建立通信连接。
本领域技术人员应能理解上述终端11和服务器12仅为举例,其他现有的或今后可能出现的终端或服务器如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
基于上述图1所示的实施环境,本申请实施例提供一种动作预测方法,以该方法应用于服务器12为例。如图2所示,本申请实施例提供的方法可以包括如下步骤:
在步骤201中,获取参考动作序列和动作预测模型,参考动作序列包括至少两帧连续的骨骼数据,动作预测模型包括目标预测模型和目标修正模型。
参考动作序列为已知的人体动作序列,用于作为预测后续未知的人体动作序列的参考依据。参考动作序列包括至少两帧连续的骨骼数据,以便于动作预测模型根据这至少两帧连续的骨骼数据预测出未来的动作序列。每帧骨骼数据用于表示人体在该帧对应的时间戳处的姿态。每帧骨骼数据中均包括多个关节的信息,多个关节的信息中除包括每个关节自身的信息外,还包括不同关节之间的关联信息。每个关节自身的信息用于指示该关节在该帧骨骼数据中的状态。在一种可能实现方式中,本申请实施例中的骨骼数据可以是指3D骨骼数据。
本申请实施例对每个关节自身的信息的表示方式不加以限定,示例性地,可以利用关节的轴角来表示每个关节自身的信息。在一种可能实现方式中,每帧骨骼数据可以用一张具有K(大于1的整数)个点的图来表示,K表示每帧骨骼数据中的关节的数量。示例性地,具有K个点的图可以表示为G=(V,E),其中,V={vi|i=1,…K}表示K个关节对应的点的集合,E={ei,j|i,j=1,…K}表示图中边的集合。一张具有K个点的图可以形象地表示出某一时刻的人体姿态。
需要说明的是,本申请实施例对参考动作序列中包括的骨骼数据的帧数以及每帧骨骼数据中包括的关节的数量不加以限定,可以根据经验进行设置,示例性地,参考动作序列中包括的骨骼数据的帧数可以设置为10帧,每帧骨骼数据中包括的关节的数量可以设置为32个。需要进一步说明的是,本申请实施例中的人体可以是指真实的人体,也可以是指机器人等利用人工智能技术创造出的非真实人体,本申请实施例对此同样不加以限定。
在一种可能实现方式中,服务器获取参考动作序列的过程可以为:终端捕捉至少两帧连续的骨骼数据,然后终端将捕捉到的至少两帧连续的骨骼数据作为参考动作序列发送至服务器,由此,服务器获取参考动作序列。也就是说,参考动作序列可以由终端捕捉得到。示例性地,终端可以安装有动作捕捉系统,在需要分析模拟人体动作的场景,当检测到人体产生动作时,终端可以启动该动作捕捉系统捕捉一段时间内的多帧骨骼数据,这一段时间内的多帧骨骼数据按照时间先后顺序排列,即可得到参考动作序列。需要说明的是,捕捉骨骼数据的时长与参考动作序列中包括的骨骼数据的帧数以及连续两帧之间的时间间隔有关。本申请实施例对连续两帧之间的时间间隔不加以限定,可以根据经验进行设置,例如,连续两帧之间的时间间隔可以设置为40ms(毫秒)。
动作预测模型是指用于根据参考动作序列,预测出参考动作序列对应的包括未来一帧或多帧骨骼数据的动作序列的模型。该动作预测模型包括两个部分,分别为目标预测模型和目标修正模型。目标预测模型用于初步预测出参考动作序列对应的未来动作序列,目标修正模型用于对目标预测模型输出的预测结果进行修正,以提高目标预测模型输出的预测结果的准确度。
动作预测模型可以预先训练得到,训练得到动作预测模型的过程既可以由终端执行,也可以由服务器执行,本申请实施例对此不加以限定。当训练得到动作预测模型的过程由终端执行时,服务器获取动作预测模型的方式可以为:服务器从终端获取动作预测模型。当训练得到动作预测模型的过程由服务器执行时,服务器获取动作预测模型的方式可以为:服务器直接提取动作预测模型。
本申请实施例以训练得到动作预测模型的过程由服务器执行为例进行说明。在服务器获取动作预测模型之前,需要先训练得到动作预测模型。服务器训练得到动作预测模型的过程详见图3所示的实施例,此处暂不赘述。
在步骤202中,将参考动作序列输入目标预测模型,通过目标预测模型预测得到参考动作序列对应的初步预测动作序列,初步预测动作序列包括至少一帧初步预测骨骼数据。
参考动作序列对应的初步预测动作序列是指由目标预测模型初步预测的该参考动作序列对应的未来动作序列。由于目标预测模型为训练好的预测模型,所以初步预测动作序列较大程度上接近真实的未来动作序列。初步预测动作序列包括至少一帧初步预测骨骼数据。
在一种可能实现方式中,初步预测动作序列包括的至少一帧初步预测骨骼数据是指与参考动作序列中的最后一帧骨骼数据连续的骨骼数据。也就是说,初步预测动作序列中的第一帧骨骼数据为预测的位于参考动作序列中的最后一帧骨骼数据的后一帧的骨骼数据。例如,假设参考动作序列中的最后一帧骨骼数据为第10帧骨骼数据,则初步预测动作序列中的第一帧骨骼数据为预测的第11帧骨骼数据。
需要说明的是,本申请实施例对初步预测动作序列中的骨骼数据的帧数不加以限定,可以由目标预测模型的网络结构决定。初步预测动作序列中的骨骼数据的帧数可以与参考动作序列中的骨骼数据的帧数相同,也可以与参考动作序列中的骨骼数据的帧数不同。
将参考动作序列输入目标预测模型,目标预测模型可以通过同时学习参考动作序列中的各帧骨骼数据得到各个关节的特征表示,进而预测各个关节在未来一帧或几帧骨骼数据中的状态,得到初步预测动作序列。需要说明的是,将参考动作序列输入目标预测模型可以是指将参考动作序列中的各帧骨骼数据同时输入目标预测模型。
在一种可能实现方式中,目标预测模型可以为GCN(Graph ConvolutionalNetwork,图卷积网络)模型。图卷积网络模型是一种用于处理图结构的数据的前向深度网络模型。当参考动作序列中的每帧骨骼数据用图来表示时,图卷积神经网络模型可以在参考动作序列中学习各关节在时间和空间变化上的已知信息,基于输入的参考动作序列初步建立人体姿态的时空相关性模型,得到参考动作序列对应的初步预测动作序列。图卷积神经网络模型可以基于每帧骨骼数据对应的图,利用邻接矩阵更新每个关节的特征表示,进而输出参考动作序列对应的初步预测动作序列。
图卷积网络模型中可以包括一个或多个图卷积层。假设参考动作序列中的每帧骨骼数据用一张具有K(大于1的整数)个点的图G=(V,E)来表示。则在图卷积网络模型中的第l个图卷积层中,每个d(d的取值为2或者3)维的关节的特征表示Hl(Hl属于d维欧式空间,即)可以通过带权重的邻接矩阵Al(Al属于K×K维欧式空间,即)定义的该关节的所有相邻的特征聚合进行更新。由此,各关节之间的空间结构关系可以完全编码,图卷积网络模型中的第l个图卷积层基于公式1输出一个K×d维的矩阵Hl+1(Hl+1属于d维欧式空间,即)作为图卷积网络模型中的第l+1个图卷积层的输入:
Hl+1=σ(AlHlWl)(公式1)
其中,σ(·)表示激活函数,Wl表示图卷积网络模型中的第l个图卷积层的可训练的参数矩阵。
在利用图卷积网络模型中的各个图卷积层依次进行处理后,可以得到参考动作序列对应的各关节的最终特征表示。然后图卷积网络模型中的预测层可以根据各关节的最终特征表示预测出参考动作序列对应的初步预测动作序列。
在步骤203中,利用目标修正模型对初步预测动作序列进行修正,得到参考动作序列对应的目标预测动作序列。
虽然初步预测动作序列较大程度上接近真实的未来动作序列,但是可能仍然存在一些预测误差,目标修正模型可以对初步预测动作序列进行修正,较大程度上消除预测误差,得到更加接近真实的未来动作序列的目标预测动作序列。目标修正模型从通过目标预测模型预测得到的初步预测动作序列中学习良好的特征表示,并通过恢复误差进一步推断关节的精确位置,实现局部关节角度的精调。
需要说明的是,由于目标预测动作序列是对初步预测动作序列进行修正后得到的,所以目标预测动作序列中的骨骼数据的帧数与初步预测动作序列中的骨骼数据的帧数相同,并且目标预测动作序列中的每帧骨骼数据与初步预测动作序列中的每帧骨骼数据一一对应。
在一种可能实现方式中,目标修正模型可以为图卷积网络模型,也就是说,利用图卷积网络模型对初步预测动作序列进行修正。需要说明的是,当目标预测预测模型也为图卷积网络模型时,由于这两个图卷积网络模型的用途不同,所以这两个图卷积网络模型的参数不同。
将初步预测动作序列输入目标修正模型,目标修正模型对初步预测动作序列进行修正,进而输出修正后的目标预测动作序列。在一种可能实现方式中,目标修正模型可以为一个整体的模型,目标修正模型也可以包括至少两个依次连接的目标修正子模型。
当目标修正模型包括至少两个依次连接的目标修正子模型时,利用目标修正模型对初步预测动作序列进行修正,得到参考动作序列对应的目标预测动作序列的过程可以为:将初步预测动作序列输入至少两个依次连接的目标修正子模型中的第一个目标修正子模型,通过第一个目标修正子模型修正得到修正动作序列;对于至少两个依次连接的目标修正子模型中的除第一个目标修正子模型外的其他任一目标修正子模型,将通过前一个目标修正子模型修正得到的修正动作序列输入该任一目标修正子模型,通过该任一目标修正子模型修正得到修正动作序列;将通过至少两个依次连接的目标修正子模型中的最后一个目标修正子模型修正得到的修正动作序列作为参考动作序列对应的目标预测动作序列。
利用至少两个依次连接的目标修正子模型可以对初步预测动作序列进行至少两次连续的修正,目标预测动作序列为经过至少两次连续的修正后最终输出的预测动作序列。此种情况可以一定程度上进一步提高动作序列的预测准确度。
在本申请实施例中,在给定参考动作序列X={x1,x2,…xN}(N为参考动作序列中的骨骼数据的帧数,N为不小于2的整数)的前提下,首先利用目标预测模型预测得到粗略的初步预测动作序列Y={y1,y2,…yT}(T为初步预测动作序列中的骨骼数据的帧数,T为不小于1的整数),然后将初步预测动作序列Y={y1,y2,…yT}作为目标修正模型的输入,利用目标修正模型对初步预测动作序列进行修正,以纠正预测误差,从而输出最终的精细化的目标预测动作序列。由目标预测模型和目标修正模型构成的动作预测模型可以视为一种简单有效的由粗到细的动作预测模型。目标修正模型关注目标预测模型预测得到的预测动作序列中的高层结构依赖性,在目标预测模型之后级联一个新的目标修正模型进行更精细化的预测,得到的参考动作序列对应的目标预测动作序列更加接近真实的动作序列,预测的准确度较高。
在本申请实施例中,利用包括目标预测模型和目标修正模型的动作预测模型进行动作预测,目标预测模型根据输入的参考动作序列预测出初步预测动作序列,目标修正模型对初步预测动作序列进行修正,然后得到最终预测的目标预测动作序列。在此种动作预测的过程中,不仅关注输入的参考动作序列,还关注目标预测模型预测得到的初步预测动作序列,关注的信息较丰富,有利于提高动作预测的准确度,动作预测的效果较好。
本申请实施例提供一种训练得到动作预测模型的方法,以该方法应用于服务器12为例。如图3所示,本申请实施例提供的方法可以包括如下步骤:
在步骤301中,获取训练数据集,训练数据集包括样本动作序列和样本动作序列对应的标准动作序列,样本动作序列包括至少两帧连续的骨骼数据,标准动作序列包括至少一帧标准骨骼数据。
训练数据集为用于训练得到动作预测模型的数据集。本申请实施例对训练数据集的来源不加以限定,示例性地,训练数据集可以来源于H3.6m(Human 3.6Million,数据量为360万的3D人体姿态)数据集、CMU-Mocap(Carnegie Mellon University Motion Capture,卡内基梅隆大学动作捕捉)数据集或者3DPW(3D姿态估计基准)数据集。其中,H3.6m数据集为目前最大也最具有挑战性的动作捕捉数据集,该数据集中包括15种不同的日常动作,既包括简单的周期性动作(如走路、吃饭等),又包括复杂的非周期性动作(如讨论、购买等)。在H3.6m数据集中,每秒包括25个帧,每帧为包括32个关节的信息的骨骼数据。
无论训练数据集来源于哪个数据集,训练数据集中均包括样本动作序列和样本动作序列对应的标准动作序列。样本动作序列的数量为多个,每个样本动作序列均对应一个标准动作序列。样本动作序列是指用于作为起始输入的已知动作序列,样本动作序列中包括至少两帧连续的骨骼数据。在一种可能实现方式中,各个样本动作序列中包括的骨骼数据的帧数相同,以保证模型的训练效果。本申请实施例对每个样本动作序列中包括的骨骼数据的帧数不加以限定。在一种可能实现方式中,用于实际预测的参考动作序列中包括的骨骼数据的帧数与用于训练的样本动作序列中包括的骨骼数据的帧数相同,以保证训练好的动作预测模型在实际预测过程中的预测效果。
每个样本动作序列均对应一个标准动作序列,标准动作序列包括至少一帧标准骨骼数据。标准动作序列为未来真实的动作序列,标准动作序列用于对模型预测出的动作序列进行监督。标准动作序列中的骨骼数据的帧数可以与样本动作序列中的骨骼数据的帧数相同,也可以与样本动作序列中的骨骼数据的帧数不同,本申请实施例对此不加以限定。示例性地,假设样本动作序列中的骨骼数据的帧数为10帧,标准动作序列中的骨骼数据的帧数可以为10帧,也可以为8帧。
在一种可能实现方式中,标准动作序列包括的至少一帧标准骨骼数据是指与样本动作序列中的最后一帧骨骼数据连续的骨骼数据。也就是说,标准动作序列中的第一帧骨骼数据与样本动作序列中的最后一帧骨骼数据是连续的两帧骨骼数据。例如,假设样本动作序列中包括第1帧至第10帧这10帧骨骼数据,假设标准动作序列中也包括10帧骨骼数据,则标准动作序列中包括的这10帧骨骼数据为第11帧至第20帧骨骼数据。
在步骤302中,利用训练数据集中的样本动作序列和标准动作序列对初始预测模型进行训练,得到目标预测模型;利用训练数据集中的样本动作序列和标准动作序列对初始修正模型进行训练,得到目标修正模型。
初始预测模型为未经训练的预测模型,目标预测模型为训练好的预测模型;初始修正模型为未经训练的修正模型,目标修正模型为训练好的修正模型。在获取训练数据集后,服务器即可利用训练数据集中的样本动作序列和标准动作序列对初始预测模型以及初始修正模型进行迭代训练,直至得到目标预测模型和目标修正模型。由于动作预测模型包括目标预测模型和目标修正模型,所以在得到目标预测模型和目标修正模型后,即得到动作预测模型。需要说明的是,本申请实施例中的训练过程为端到端的监督训练过程。在对初始预测模型和初始修正模型进行训练的过程中,可以利用训练数据集中的全部样本动作序列和对应的标准动作序列进行训练,也可以利用训练数据集中的部分样本动作序列和对应的标准动作序列进行训练,本申请实施例对此不加以限定。
在一种可能实现方式中,初始修正模型包括至少两个依次连接的初始修正子模型,每个初始修正子模型均用于对前一个模型输出的动作序列进行一次修正。在此种情况下,利用训练数据集中的样本动作序列和标准动作序列对初始修正模型进行训练,得到目标修正模型的过程为:利用训练数据集中的样本动作序列和标准动作序列对至少两个依次连接的初始修正子模型进行训练,得到至少两个依次连接的目标修正子模型。
在一种可能实现方式中,利用训练数据集中的样本动作序列和标准动作序列对初始预测模型进行训练,得到目标预测模型,以及利用训练数据集中的样本动作序列和标准动作序列对初始修正模型进行训练,得到目标修正模型这两个训练过程可以分开进行,也可以同时进行。也就是说,可以分开训练初始模型和初始修正模型,也可以同时训练初始模型和初始修正模型。
首先介绍分开训练初始预测模型和初始修正模型的过程。在分开训练初始预测模型和初始修正模型的过程中,先对初始预测模型进行训练,得到目标预测模型;然后在训练好的目标预测模型的基础上,对初始修正模型进行训练,得到目标修正模型。在一种可能实现方式中,对初始预测模型进行训练,得到目标预测模型的过程包括以下步骤3021至步骤3023:
步骤3021:将训练数据集中的第一样本动作序列输入初始预测模型,通过初始预测模型预测得到第一样本动作序列对应的第一预测动作序列。
本申请实施例中将用于单独训练初始预测模型的样本动作序列称为第一样本动作序列。第一样本动作序列可以是指训练数据集中的全部样本动作序列,也可以是指训练数据集中的部分样本动作序列,本申请实施例对此不加以限定。
第一样本动作序列的数量为多个,在将第一样本动作序列输入初始预测模型进行动作序列的初步预测的过程中,可以每次仅输入一个第一样本动作序列,也可以每次输入多个第一样本动作序列,本申请实施例对此不加以限定。对于每次输入多个第一样本动作序列的情况,可以通过初始预测模型预测得到每个第一样本动作序列对应的第一预测动作序列。需要说明的是,将第一样本动作序列输入初始预测模型可以是指将第一动作序列中的各帧骨骼数据同时输入初始预测模型。
第一样本动作序列对应的第一预测动作序列是初始预测模型预测得到的预测动作序列。第一样本动作序列对应的第一预测动作序列包括至少一帧初步预测骨骼数据。在一种可能实现方式中,第一样本动作序列对应的第一预测动作序列包括的少一帧初步预测骨骼数据是指与第一样本动作序列中的最后一帧骨骼数据连续的骨骼数据。需要说明的是,由于此时的初始预测模型还没训练好,所以第一样本动作序列对应的第一预测动作序列的准确度较差。
需要说明的是,第一样本动作序列对应的第一预测动作序列中的骨骼数据的帧数可以与第一样本动作序列中的骨骼数据的帧数相同,也可以与第一样本动作序列中的骨骼数据的帧数不同,这可以与初始预测模型的网络结构相关。
在一种可能实现方式中,初始预测模型可以为GCN(Graph ConvolutionalNetwork,图卷积网络)模型。图卷积网络模型是一种用于处理图结构的数据的前向深度网络模型。当第一样本动作序列中的每帧骨骼数据用图来表示时,图卷积神经网络模型可以在第一样本动作序列中学习各关节在时间和空间变化上的已知信息,基于输入的第一样本动作序列初步建立人体姿态的时空相关性模型,得到第一样本动作序列对应的第一预测动作序列。图卷积神经网络模型可以基于每帧骨骼数据对应的图,利用邻接矩阵更新每个关节的特征表示,进而输出第一样本动作序列对应的第一预测动作序列。
图卷积网络模型中可以包括一个或多个图卷积层,在利用图卷积网络模型中的各个图卷积层依次进行处理后,可以得到第一样本动作序列对应的各关节的最终特征表示。然后图卷积网络模型中的预测层可以根据各关节的最终特征表示预测出第一样本动作序列对应的第一预测动作序列。
步骤3022:利用第一样本动作序列对应的第一预测动作序列和第一样本动作序列对应的标准动作序列之间的预测损失函数,反向更新初始预测模型的参数,得到参数更新后的预测模型。
第一样本动作序列对应的第一预测动作序列为初始预测模型预测得到的初步预测的动作序列,该第一预测序列与真实的标准动作序列之间存在差异。将第一样本动作序列对应的第一预测动作序列和第一样本动作序列对应的标准动作序列之间的损失函数作为预测损失函数,利用预测损失函数反向更新初始预测模型的参数,得到参数更新后的预测模型。
在一种可能实现方式中,第一样本动作序列对应的第一预测动作序列和第一样本动作序列对应的标准动作序列之间的预测损失函数可以是指:第一样本动作序列对应的第一预测动作序列和第一样本动作序列对应的标准动作序列之间的均方损失函数。该预测损失函数可以根据如下公式2计算得到:
其中,LP表示预测损失函数;K(不小于1的整数)表示每帧骨骼数据中的关节的数量;N(不小于2的整数)表示输入的样本动作序列中的骨骼数据的帧数;T(不小于1的整数)表示输出的预测动作序列中的骨骼数据的帧数;hk,n表示第k(不小于1的整数)个关节在第n(不小于1的整数)帧骨骼数据中的标准值;h'k,n表示第k个关节在第n帧骨骼数据中的初步预测值。
需要说明的是,在利用预测损失函数反向更新初始预测模型的参数的过程中,可以在得到小批量数目的预测损失函数后,用小批量数目的预测损失函数计算平均预测损失函数,然后用平均预测损失函数反向更新一次初始预测模型的参数,得到参数更新后的预测模型。本申请实施例对小批量数目的取值不加以限定。示例性的,小批量数目的取值可以为256。
步骤3023:响应于不满足第一训练终止条件,利用训练数据集中的样本动作序列和标准动作序列继续对参数更新后的预测模型进行训练,直至满足第一训练终止条件,将满足第一训练终止条件时得到的预测模型作为目标预测模型。
训练初始预测模型的过程为迭代过程,每训练一次,判断是否满足第一训练终止条件。若不满足第一训练终止条件,则利用训练数据集中的样本动作序列和标准动作序列继续对参数更新后的预测模型进行训练,直至满足第一训练终止条件,将满足第一训练终止条件时得到的预测模型作为目标预测模型。
利用训练数据集中的样本动作序列和标准动作序列继续对参数更新后的预测模型进行训练的过程可以看作是步骤3021和步骤3022的循环过程。需要说明的是,每次循环过程均在前一次训练得到的参数更新后的预测模型的基础上进行。也就是说,每循环一次步骤3021和步骤3022,对前一次训练得到的参数更新后的预测模型的参数再更新一次。需要进一步说明的是,每次循环过程中输入预测模型(不同循环过程输入的预测模型可能具有不同的参数)的样本动作序列可以相同,也可以不同,本申请实施例对此不加以限定。
当全部的第一样本动作序列均参与过一次初始预测模型的参数的更新过程时,完成一次完整的迭代训练过程。完整的迭代训练过程的次数可以根据经验设置,本申请实施例对此不加以限定。示例性地,完整的迭代训练过程的次数可以为设置为50。此种情况下,每个第一样本动作序列均需参与50次初始预测模型的参数的更新过程。
在一种可能实现方式中,满足第一训练终止条件包括但不限于以下三种情况:
情况1、迭代训练次数达到次数阈值。
次数阈值可以根据经验设置,也可以根据应用场景灵活调整,本申请实施例对此不加以限定。在一种可能实现方式中,次数阈值可以根据完整的迭代训练过程的次数、第一样本动作序列的数量以及小批量数目进行设置。
情况2、预测损失函数小于第一损失阈值。
第一损失阈值可以根据经验设置,也可以根据应用场景自由调整,本申请实施例对此不加以限定。
情况3、预测损失函数收敛。
预测损失函数收敛是指随着迭代训练次数的增加,在参考次数的训练结果中,预测损失函数的波动范围在参考范围内。例如,假设参考次数为10次,参考范围为-10-3~10-3。若预测损失函数在10次的迭代训练结果中波动范围均在-10-3~10-3内,则认为预测损失函数收敛。
当满足上述任一种情况时,说明满足第一训练终止条件。将满足第一训练终止条件时得到的预测模型作为动作预测模型中的目标预测模型。由此,得到训练好的目标预测模型。
需要说明的是,在训练初始预测模型的过程中,不涉及后续的初始修正模型。在得到训练好的目标预测模型后,再在目标预测模型的基础上,对初始修正模型进行训练,得到目标修正模型。
示例性地,基于步骤3021至步骤3023训练初始预测模型的过程可以如图4所示。将第一样本动作序列41输入初始预测模型42,通过初始预测模型42预测得到第一样本动作序列41对应的第一预测动作序列43;利用第一预测动作序列43和第一样本动作序列41对应的标准动作序列44之间的预测损失函数反向更新初始预测模型的参数,直至满足第一训练终止条件,得到目标预测模型。
在一种可能实现方式中,在训练好的目标预测模型的基础上,对初始修正模型进行训练,得到目标修正模型的过程可以包括以下步骤302A至步骤302D:
步骤302A:将训练数据集中的第二样本动作序列输入目标预测模型,通过目标预测模型预测得到第二样本动作序列对应的第一预测动作序列。
本申请实施例中将用于在训练好的目标预测模型的基础上单独训练初始修正模型的样本动作序列称为第二样本动作序列。第二样本动作序列可以是指训练数据集中的全部样本动作序列,也可以是指训练数据集中的部分样本动作序列,本申请实施例对此不加以限定。此外,第二样本动作序列可以与第一样本动作序列相同,也可以与第一样本动作序列不同。
第二样本动作序列的数量为多个,在将第二样本动作序列输入目标预测模型,以对初始修正模型进行训练的过程中,可以每次仅输入一个第二样本动作序列,也可以每次输入多个第二样本动作序列,本申请实施例对此不加以限定。
该步骤302A的实现方式可以参见步骤3021,此处不再赘述。与步骤3021不同的是,步骤3021将第一样本动作序列输入未训练好的初始预测模型,该步骤302A将第二样本动作序列输入已经训练好的目标预测模型。
步骤302B:利用初始修正模型对第二样本动作序列对应的第一预测动作序列进行修正,得到第二样本动作序列对应的第二预测动作序列。
虽然目标预测模型为训练好的预测模型,目标预测模型输出的第二样本动作序列对应的第一预测动作序列较为准确,但仍存在误差,所以利用初始修正模型对第二样本动作序列对应的第一预测动作进行修正,以消除误差,进一步提高动作预测的准确度。需要说明的是,由于第二样本动作序列对应的第二预测动作序列是对第二样本动作序列对应的第一预测动作序列进行修正后得到的,所以第二预测动作序列中的骨骼数据的帧数与第一预测动作序列中的骨骼数据的帧数相同,并且第二预测动作序列中的每帧骨骼数据与第一预测动作序列中的每帧骨骼数据一一对应。
在一种可能实现方式中,初始修正模型可以为图卷积网络模型,也就是说,利用图卷积网络模型对第二样本动作序列对应的第一预测动作序列进行修正。
将第二样本动作序列对应的第一预测动作序列输入初始修正模型,初始修正模型对第二样本动作序列对应的第一预测动作序列进行修正,进而输出修正后的第二样本动作序列对应的第二预测动作序列。在一种可能实现方式中,初始修正模型可以为一个整体的模型,初始修正模型也可以包括至少两个依次连接的初始修正子模型。当初始修正模型包括至少两个依次连接的初始修正子模型时,利用初始修正模型对第二样本动作序列对应的第一预测动作序列进行修正,得到第二样本动作序列对应的第二预测动作序列的方式为:将第二样本动作序列对应的第一预测动作序列输入至少两个依次连接的初始修正子模型中的第一个初始修正子模型,通过第一个初始修正子模型修正得到初始修正动作序列;对于至少两个依次连接的初始修正子模型中的除第一个初始修正子模型外的其他任一初始修正子模型,将通过前一个初始修正子模型修正得到的初始修正动作序列输入该任一初始修正子模型,通过该任一初始修正子模型修正得到初始修正动作序列;将通过至少两个依次连接的初始修正子模型中的最后一个初始修正子模型修正得到的初始修正动作序列作为第二样本动作序列对应的第二预测动作序列。
利用至少两个依次连接的初始修正子模型对第二样本动作序列对应的第一预测动作序列进行至少两次连续的修正,第二样本动作序列对应的第二预测动作序列为经过至少两次连续的修正后最终输出的预测动作序列。此种情况可以一定程度上进一步提高动作序列的预测准确度。
在一种可能实现方式中,利用初始修正模型对第二样本动作序列对应的第一预测动作序列进行修正,得到第二样本动作序列对应的第二预测动作序列的方式包括但不限于以下两种:
方式一:利用初始修正模型直接对第二本动作序列对应的第一预测动作序列进行修正,得到第二样本动作序列对应的第二预测动作序列。
在一种可能实现方式中,利用初始修正模型直接对第二样本动作序列对应的第一预测动作序列进行修正的过程可以为:将第二样本动作序列对应的第一预测动作序列直接输入初始修正模型,由初始修正模型对第二样本动作序列对应的第一预测动作序列进行修正。第二样本动作序列对应的第二预测动作序列为初始修正模型最终输出的预测动作序列。
对于初始修正模型包括至少两个依次连接的初始修正子模型的情况,将第二样本动作序列对应的第一预测动作序列直接输入第一个初始修正子模型,第一个初始修正子模型对第二样本动作序列对应的第一预测动作序列修正一次后,将修正一次后的预测动作序列送入第二个初始修正子模型,以此类推,直至在最后一个初始修正子模型在对前一个初始修正子模型输出的预测动作序列进行修正后,得到最后一个初始修正子模型输出的第二样本动作序列对应的第二预测动作序列。
在此种方式一下,利用初始修正模型直接对目标预测模型预测得到的第二本动作序列对应的第一预测动作序列自身存在的误差进行修正,此种方式一下的训练耗时较短。
方式二:确定第一目标误差;利用第一目标误差对第二样本动作序列对应的第一预测动作序列进行调整;利用初始修正模型对第二样本动作序列对应的调整后的第一预测动作序列进行修正,得到第二样本动作序列对应的第二预测动作序列。
在此种方式二下,在进行修正之前,利用第一目标误差对第二样本动作序列对应的第一预测动作序列进行了调整,利用调整后的第一预测动作序列训练初始修正模型。第一目标误差用于干扰第二样本动作序列对应的第一预测动作序列,使第二样本动作序列对应的第一预测动作序列更加不准确,从而可以提高初始修正模型对不同骨骼数据的泛化能力。
在一种可能实现方式中,确定第一目标误差的方式包括但不限于以下两种:
方式a:将第一参考误差作为第一目标误差。
第一参考误差可以为动作序列中常见的误差,示例性地,第一参考误差可以包括关节平移误差和帧重复误差中的至少一个。第一参考误差可以为人工引入的常见误差。此种方式a下,第一目标误差的确定过程简单快捷。
方式b:基于生成式对抗网络生成第一目标误差。
在此种方式b下,第一目标误差为网络生成的误差,第一目标误差具有较强的泛化能力。在一种可能实现方式中,基于生成式对抗网络生成第一目标误差的过程可以包括以下步骤1至步骤3:
步骤1:从训练数据集中选取任一第一候选样本动作序列,将第一候选样本动作序列输入第一参考预测模型,通过第一参考预测模型预测得到第一候选样本动作序列对应的第一预测动作序列。
其中,第一参考预测模型的参数与目标预测模型的参数一致。
第一候选样本动作序列可以是指训练数据集中与当前训练初始修正模型所利用的第二样本动作序列不同的样本动作序列。从训练数据集中选取任一第一候选样本动作序列,利用该第一候选样本动作序列可以获得能够更好的改善初始修正模型的修正能力的第一目标误差。
第一参考预测模型的参数与目标预测模型的参数一致。需要说明的是,由于目标预测模型为训练好的预测模型,在训练初始修正模型的过程中参数保持不变,所以在训练初始修正模型的过程中,第一参考预测模型的参数也保持不变。
将第一候选样本动作序列输入第一参考预测模型,通过第一参考预测模型预测得到第一候选样本动作序列对应的第一预测动作序列的过程可以参见步骤3021,此处不再赘述。
步骤2:基于第一候选样本动作序列对应的第一预测动作序列和第一候选样本动作序列对应的标准动作序列,确定第一标准误差。
第一候选样本动作序列对应的标准动作序列为真实的未来动作序列,第一候选样本动作序列对应的第一预测动作序列为初步预测的未来动作序列,将第一候选样本动作序列对应的第一预测动作序列和第一候选样本动作序列对应的标准动作序列之间的误差作为第一标准误差,该第一标准误差为该第一候选样本动作序列对应的真实误差。
步骤3:基于第二样本动作序列对应的第一预测动作序列和第一标准误差,利用生成式对抗网络生成第一目标误差。
第一目标误差为生成式对抗网络在第二样本动作序列对应的第一预测动作序列的基础上生成的非常逼近第一标准误差的假误差。
生成式对抗网络中包括生成器和判别器,生成器用于根据第二样本动作序列对应的第一预测动作序列生成逐渐逼近第一标准误差的假误差来欺骗判别器,判别器用于根据第一标准误差判断出生成器生成的误差是真误差还是假误差。将第二样本动作序列对应的第一预测动作序列输入生成器,将第一标准误差输入判别器,然后生成器和判别器会通过对抗的方式不断更新参数,直至判别器无法判断生成器生成的误差为真误差还是假误差。此时,将生成器生成的误差作为第一目标误差。
在一种可能实现方式中,在通过对抗的方式不断更新参数的过程中,利用判别器损失函数更新判别器的参数,利用生成器损失函数更新生成器的参数,判别器损失函数可以根据如下公式3计算得到,生成器损失函数可以根据如下公式4计算得到:
LD=E[logD(δreal)]+E[log(1-D(G(δfake)))] (公式3)
LG=E[log(1-D(G(δfake)))] (公式4)
其中,LD表示判别器损失函数;LG表示生成器损失函数;D(δreal)表示判别器对标准误差的判别结果;D(G(δfake))表示判别器对生成器生成的误差的判别结果;E表示期望运算。在对抗训练的过程中,训练目标为最大化LD,最小化LG。
在上述步骤1至步骤3对应的方式b中,考虑到训练数据集中不同样本动作序列是不同的,为了提高修正模型的纠错能力和鲁棒性,引入了一种对抗学习机制在不同的样本动作序列之间传递泛化误差。生成式对抗网络中的生成器采用第二样本序列的第一预测动作序列作为条件信息,以对抗的方式生成逼近第一候选样本动作序列的真实误差的第一目标误差,并将利用第一目标误差调整后的预测动作序列反馈给修正模型。这种扩展提供了丰富的错误情况作为修正模型的输入,从而使修正模型获得更好的泛化性能。
无论是基于上述方式a还是方式b,在确定第一目标误差后,利用第一目标误差对第二样本动作序列对应的第一预测动作序列进行调整;然后再利用初始修正模型对第二样本动作序列对应的调整后的第一预测动作序列进行修正。在一种可能实现方式中,利用第一目标误差对第二样本动作序列对应的第一预测动作序列进行调整的方式可以为:将目标误差对应添加至第二样本动作序列对应的第一预测动作序列中的各帧骨骼数据中。
利用初始修正模型对第一样本动作序列对应的调整后的第一预测动作序列进行修正的过程可以为:将第一样本动作序列对应的调整后第一预测动作序列输入初始修正模型,由初始修正模型对该调整后的第一预测动作序列进行修正。
对于初始修正模型包括至少两个依次连接的初始修正子模型的情况,将第二样本动作序列对应的调整后的第一预测动作序列输入第一个初始修正子模型,第一个初始修正子模型对调整后的第一预测动作序列修正一次后,将修正一次后的预测动作序列送入第二个初始修正子模型,以此类推,直至在最后一个初始修正子模型在对前一个初始修正子模型输出的预测动作序列进行修正后,得到最后一个初始修正子模型输出的第二样本动作序列对应的第二预测动作序列。
在此种方式二下,在进行修正之前,利用第一目标误差对第二样本动作序列进行了调整,利用调整后的第一预测动作序列训练初始修正模型。基于此种方式二有利于得到具有更好的泛化能力的修正模型,进而使得训练好的修正模型能够对更多类型的数据进行良好的修正处理。
步骤302C:利用第二样本动作序列对应的第二预测动作序列和第二样本动作序列对应的标准动作序列之间的第一修正损失函数,反向更新初始修正模型的参数,得到参数更新后的修正模型。
第二样本动作序列对应的第二预测动作序列为对目标预测模型输出的第二样本动作序列对应的第一预测动作序列进行修正后得到的预测动作序列,该第二预测序列与真实的标准动作序列之间仍然存在一定的差异。将第二样本动作序列对应的第二预测动作序列和第二样本动作序列对应的标准动作序列之间的损失函数作为第一修正损失函数,利用第一修正损失函数反向更新初始修正模型的参数,得到参数更新后的修正模型。需要说明的是,由于目标预测模型为训练好的预测模型,所以此处仅利用第一修正损失函数反向更新初始修正模型的参数,目标预测模型的参数保持不变。
在一种可能实现方式中,第二样本动作序列对应的第二预测动作序列和第二样本动作序列对应的标准动作序列之间的第一修正损失函数可以是指:第二样本动作序列对应的第二预测动作序列和第二样本动作序列对应的标准动作序列之间的均方损失函数。该第一修正损失函数可以根据如下公式5计算得到:
其中,LR表示第一修正损失函数;K(不小于1的整数)表示每帧骨骼数据中的关节的数量;N(不小于2的整数)表示输入的样本动作序列中的骨骼数据的帧数;T(不小于1的整数)表示输出的预测动作序列中的骨骼数据的帧数;hk,n表示第k(不小于1的整数)个关节在第n(不小于1的整数)帧骨骼数据中的标准值;h″k,n表示第k个关节在第n帧骨骼数据中的修正后的预测值。
需要说明的是,在利用第一修正损失函数反向更新初始修正模型的参数的过程中,可以在得到小批量数目的第一修正损失函数后,用小批量数目的第一修正损失函数计算平均修正损失函数,然后用平均修正损失函数反向更新一次初始修正模型的参数,得到参数更新后的修正模型。本申请实施例对小批量数目的取值不加以限定。示例性的,小批量数目的取值可以为256。
步骤302D:响应于不满足第二训练终止条件,利用训练数据集中的样本动作序列和标准动作序列继续对参数更新后的修正模型进行训练,直至满足第二训练终止条件,将满足第二训练终止条件时得到的修正模型作为目标修正模型。
训练初始修正模型的过程为迭代过程,每训练一次,判断是否满足第二训练终止条件。若不满足第二训练终止条件,则利用训练数据集中的样本动作序列和标准动作序列继续对参数更新后的修正模型进行训练,直至满足第二训练终止条件,将满足第二训练终止条件时得到的修正模型作为目标修正模型。需要说明的是,在迭代训练初始修正模型的过程中,保持训练好的目标预测模型的参数不变。
利用训练数据集中的样本动作序列和标准动作序列继续对参数更新后的修正模型进行训练的过程可以看作是步骤302A至步骤302C的循环过程。需要说明的是,每次循环过程均在前一次训练得到的参数更新后的修正模型的基础上进行。也就是说,每循环一次步骤302A至步骤302C,对前一次训练得到的参数更新后的修正模型的参数再更新一次。需要进一步说明的是,每次循环过程中输入目标预测模型的样本动作序列可以相同,也可以不同,本申请实施例对此不加以限定。
在一种可能实现方式中,满足第二训练终止条件同样也可以包括三种情况,这三种情况可以参见步骤3023,此处不再赘述。当满足第二训练终止条件时,将满足第二训练终止条件时得到的修正模型作为动作预测模型中的目标修正模型。由此,得到训练好的目标修正模型。
示例性地,基于步骤302A至步骤302D训练初始修正模型的过程可以如图5所示。将第二样本动作序列51输入目标预测模型52,通过目标预测模型52预测得到第二样本动作序列51对应的第一预测动作序列53;将第一候选样本动作序列54输入与目标预测模型52的参数一致的第一参考预测模型55,得到第一候选样本动作序列54对应的第一预测动作序列56。基于第一候选样本动作序列54对应的第一预测动作序列56与第一候选样本动作序列54对应的标准预测动作序列57,确定第一标准误差。将第一预测动作序列53输入生成式对抗网络的生成器58,将第一标准误差输入生成式对抗网络的判别器59,基于对抗的方式生成第一目标误差。利用第一目标误差对第二样本动作序列51对应的第一预测动作序列53进行调整,然后利用初始修正模型60对调整后的第一预测动作序列进行修正,得到第二样本动作序列51对应的第二预测动作序列61,利用第二预测动作序列61和第二样本动作序列51对应的标准预测动作序列62之间的第一修正损失函数反向更新初始修正模型60的参数,直至满足第二训练终止条件,得到目标修正模型。
根据上述步骤3021至步骤3023以及上述步骤302A至302D,可以完成分开训练初始预测模型和初始修正模型的过程。需要说明的是,对于初始修正模型中包括至少两个依次连接的初始修正子模型的情况,在此种分开训练初始预测模型和初始修正模型的过程中,先训练初始预测模型,得到目标预测模型,然后再在目标预测模型的基础上,训练至少两个依次连接的初始修正子模型,直至得到至少两个依次连接的目标修正子模型。
在此种分开训练初始预测模型和初始修正模型的过程中,分别为预测模型和修正模型定义损失函数,以实现中级监督。在目标预测模型训练好后,再训练修正模型,使得修正模型能够通过充分学习粗略的预测动作序列中的高层结构依赖性来增强修正能力。分开进行两个训练过程的整个训练过程的目标函数可以根据公式6计算得到:
L=LP+LR (公式6)
其中,L表示整个训练过程的目标函数;LP表示预测损失函数;LR表示第一修正损失函数。整个训练过程的目标为最小化目标函数。
示例性地,分开训练初始预测模型和初始修正模型的过程可以如图6所示。先利用预测损失函数反向更新初始预测模型的参数,得到目标预测模型;然后再在目标预测模型的基础上,利用第一修正损失函数反向更新初始修正模型的参数,得到目标修正模型。需要说明的是,在该图6中,符号71表示梯度不回传,也就是说,利用预测损失函数反向更新初始预测模型的参数的过程和利用第一修正损失函数反向更新初始修正模型的参数的过程是分开进行的,以充分发挥修正模型的误差矫正能力并获取更为准确的预测动作序列。此外,符号72表示通过对抗的方式生成第一目标误差的分支仅在训练过程中接通,在模型的使用过程中不接通。
然后介绍同时训练初始预测模型和初始修正模型的过程。在同时训练初始预测模型和初始修正模型的过程中,同时得到目标预测模型和目标修正模型。在一种可能实现方式中,同时训练初始预测模型和初始修正模型的过程可以包括以下步骤302a至步骤302d:
步骤302a:将训练数据集中的第三样本动作序列输入初始预测模型,通过初始预测模型预测得到第三样本动作序列对应的第一预测动作序列。
本申请实施例中将用于同时训练初始预测模型和初始修正模型的样本动作序列称为第三样本动作序列。第三样本动作序列可以是指训练数据集中的全部样本动作序列,也可以是指训练数据集中的部分样本动作序列,本申请实施例对此不加以限定。此外,第三样本动作序列可以与第一样本动作序列或第二样本动作序列相同,也可以与第一样本动作序列和第二样本动作序列均不同。
第三样本动作序列的数量为多个,在将第三样本动作序列输入初始预测模型进行动作预测的过程中,可以每次仅输入一个第三样本动作序列,也可以每次输入多个第三样本动作序列,本申请实施例对此不加以限定。对于每次输入多个第三样本动作序列的情况,可以通过初始预测模型预测得到每个第三样本动作序列对应的第一预测动作序列。
该步骤302a的实现方式可以参见步骤3021,此处不再赘述。
步骤302b:利用初始修正模型对第三样本动作序列对应的第一预测动作序列进行修正,得到第三样本动作序列对应的第二预测动作序列。
初始预测模型预测得到的第三样本动作序列对应的第一预测动作序列的准确度较差,所以利用初始修正模型对第三样本动作序列对应的第一预测动作进行修正,以消除误差,提高动作预测的准确度。
在一种可能实现方式中,利用初始修正模型对第三样本动作序列对应的第一预测动作序列进行修正,得到第三样本动作序列对应的第二预测动作序列的方式包括但不限于以下两种:
方式1:利用初始修正模型直接对第三本动作序列对应的第一预测动作序列进行修正,得到第三样本动作序列对应的第二预测动作序列。
方式2:确定第二目标误差;利用第二目标误差对第三样本动作序列对应的第一预测动作序列进行调整;利用初始修正模型对第三样本动作序列对应的调整后的第一预测动作序列进行修正,得到第三样本动作序列对应的第二预测动作序列。
在一种可能实现方式中,第二目标误差既可以是指人为引入的第二参考误差,也可以是指基于生成式对抗网络生成的第二目标误差。当第二目标误差是指基于生成式对抗网络生成目标误差时,基于生成式对抗网络生成第二目标误差的过程可以为:从训练数据集中选取任一第二候选样本动作序列,将第二候选样本动作序列输入第二参考预测模型,通过第二参考预测模型预测得到第二候选样本动作序列对应的第一预测动作序列,第二参考预测模型的参数与初始预测模型的当前参数一致;基于第二候选样本动作序列对应的第一预测动作序列和第二候选样本动作序列对应的标准动作序列,确定第二标准误差;基于第三样本动作序列对应的第一预测动作序列和第二标准误差,利用生成式对抗网络生成第二目标误差。
需要说明的是,第二候选样本动作序列是指训练数据集中与当前训练初始预测模型和初始修正模型所利用的第三样本动作序列不同的样本动作序列。第二参考预测模型的参数与初始预测模型的当前参数一致是指第二参考预测模型的参数与当前训练过程中得到的预测模型的参数一致。随着训练过程的不断进行,初始预测模型的当前参数不断更新,第二参考预测模型的参数也不断更新。
在确定第二目标误差后,利用第二目标误差对第三样本动作序列对应的第一预测动作序列进行调整;然后再利用初始修正模型对第三样本动作序列对应的调整后的第一预测动作序列进行修正,得到第三样本动作序列对应的第二预测动作序列。在一种可能实现方式中,利用第二目标误差对第三样本动作序列对应的第一预测动作序列进行调整的方式可以为:将第二目标误差对应添加至第三样本动作序列对应的第一预测动作序列中的各帧骨骼数据中。
上述步骤302b的具体实现方式可以参见步骤302B,此处不再赘述。
步骤302c:利用第三样本动作序列对应的第二预测动作序列和第三样本动作序列对应的标准动作序列之间的第二修正损失函数,反向更新初始预测模型的参数和初始修正模型的参数,得到参数更新后的预测模型和参数更新后的修正模型。
第三样本动作序列对应的第二预测动作序列为对初始预测模型预测得到的第三样本动作序列对应的第一预测动作序列进行修正后得到的预测动作序列,该第二预测序列与真实的标准动作序列之间仍然存在一定的差异。将第三本动作序列对应的第二预测动作序列和第三样本动作序列对应的标准动作序列之间的损失函数作为第二修正损失函数,利用第二修正损失函数反向更新训练初始预测模型的参数和初始修正模型的参数,得到参数更新后的预测模型和参数更新后的修正模型。需要说明的是,参数更新后的预测模型和参数更新后的修正模型是在同一次训练过程中得到的。
在一种可能实现方式中,第三样本动作序列对应的第二预测动作序列和第三样本动作序列对应的标准动作序列之间的第二修正损失函数可以是指:第三样本动作序列对应的第二预测动作序列和第三样本动作序列对应的标准动作序列之间的均方损失函数。该第二修正损失函数可以根据公式5计算得到。
需要说明的是,在利用第二修正损失函数反向更新初始预测模型的参数和初始修正模型的参数的过程中,可以在得到小批量数目的第二修正损失函数后,用小批量数目的第二修正损失函数计算平均修正损失函数,然后用平均修正损失函数反向更新一次初始预测模型的参数和初始修正模型的参数,得到参数更新后的预测模型和参数更新后的修正模型。本申请实施例对小批量数目的取值不加以限定。示例性的,小批量数目的取值可以为256。
步骤302d:响应于不满足第三训练终止条件,利用训练数据集中的样本动作序列和标准动作序列继续对参数更新后的预测模型进行训练,利用训练数据集中的样本动作序列和标准动作序列继续对参数更新后的修正模型进行训练,直至满足第三训练终止条件,将满足第三训练终止条件时得到的预测模型作为目标预测模型,将满足第三训练终止条件时得到的修正模型作为目标修正模型。
训练初始预测模型和初始修正模型的过程为迭代过程,每训练一次,判断是否满足第三训练终止条件。若不满足第三训练终止条件,则利用训练数据集中的样本动作序列和标准动作序列继续对参数更新后的预测模型进行训练,利用训练数据集中的样本动作序列和标准动作序列继续对参数更新后的修正模型进行训练,直至满足第三训练终止条件,将满足第三训练终止条件时得到的预测模型作为目标预测模型,将满足第三训练终止条件时得到的修正模型作为目标修正模型。
利用训练数据集中的样本动作序列和标准动作序列继续对参数更新后的预测模型进行训练以及利用训练数据集中的样本动作序列和标准动作序列继续对参数更新后的修正模型进行训练是同时进行的。利用训练数据集中的样本动作序列和标准动作序列继续对参数更新后的预测模型进行训练,利用训练数据集中的样本动作序列和标准动作序列继续对参数更新后的修正模型进行训练的过程可以看作是步骤302a至步骤302c的循环过程。需要说明的是,每次循环过程均在前一次训练得到的参数更新后的预测模型和参数更新后的修正模型的基础上进行。也就是说,每循环一次步骤302a至步骤302c,对前一次训练得到的参数更新后的预测模型的参数以及更新后的修正模型的参数再更新一次。需要进一步说明的是,每次循环过程中输入预测模型(不同循环过程输入的预测模型可能具有不同的参数)的样本动作序列可以相同,也可以不同,本申请实施例对此不加以限定。
在一种可能实现方式中,满足第三训练终止条件同样也可以包括三种情况,这三种情况可以参见步骤3023,此处不再赘述。当满足第三终止条件时,将满足第三训练终止条件时得到的预测模型作为动作预测模型中的目标预测模型,将满足第三训练终止条件时得到的修正模型作为动作预测模型中的目标修正模型。
需要说明的是,对于初始修正模型中包括至少两个依次连接的初始修正子模型的情况,同时训练初始预测模型和至少两个依次连接的初始修正子模型,直至得到目标预测模型和至少两个依次连接的目标修正子模型。
同时训练初始预测模型和初始修正模型,有利于较少训练耗时。
无论是分开训练初始预测模型和初始修正模型,还是同时训练初始预测模型和初始修正模型,均可以得到训练好的目标预测模型和目标修正模型,也就是得到动作预测模型。
在一种可能实现方式中,本申请实施例的训练过程可以用Pytorch(一个开源的Python机器学习库)实现,在Nvidia Tesla V100显卡上的GPU(Graphics ProcessingUnit,图形处理器)中运行。在一种可能实现方式中,在利用损失函数更新模型参数的过程中,可以采用Adam(Adaptive Moment Estimation,适应性矩估计)优化算法进行优化。在优化过程中,学习率可以设置为0.002。
在一种可能实现方式中,在利用样本动作序列训练模型的过程中,可以使用DCT(Discrete Cosine Transform,离散余弦变换)对完整的样本动作序列进行编码,并且通过消除高频抖动保持同一时刻时域信息的完整表达和平滑一致性,从而解决长期的时间记忆问题。
在一种可能实现方式中,在训练得到动作预测模型后,可以分别对本申请实施例训练得到的动作预测模型以及相关技术中用于进行动作预测的模型进行测试,然后将本申请实施例训练得到的动作预测模型的测试结果与相关技术中的模型的测试结果进行比对,以验证本申请实施例训练得到的动作预测模型能够达到较好的预测性能。
在一种可能实现方式中,评估预测性能的方式包括但不限于定量评估和定性评估。定量评估过程中可以将预测动作序列与真实动作序列之间在角度空间中的MAE(MeanAngle Error,平均角度误差)作为评估指标,MAE越小,预测准确度越高。定性评估的过程可以是指将预测动作序列进行可视化比较。接下来,分别介绍定量评估过程和定性评估过程:
1、定量评估过程。
在定量评估过程中,分别利用三个不同的数据集对本申请训练得到的动作预测模型和相关技术中的用于进行动作预测的模型进行了定量比较,以证明本申请实施例得到的动作预测模型的稳健性。
(1)H3.6m数据集
相关技术中预测性能较好的两种模型分别循环神经网络模型和单级预测模型。利用H3.6m数据集分别对本申请实施例训练得到的动作预测模型、循环神经网络模型和单级预测模型进行了短期预测测试和长期预测测试。其中,短期预测测试是指在输入10帧骨骼数据的情况下,预测未来10帧(400ms)的骨骼数据。长期预测测试是指在输入10帧骨骼数据的情况下,预测未来25帧(1000ms)的骨骼数据。
短期预测测试:通过测量每个模型在80ms、160ms、320ms、400ms时的预测值和真实值之间的欧式距离,计算每个模型在短期预测H3.6m数据集中的15个动作(走路、吃饭、吸烟、讨论、指导、问候、打电话、摆姿势、购买、坐着、坐下、拍照、等待、遛狗、共同行走)的过程中的MAE平均值,这15个动作中既包括非周期动作(如,指导、问候、打电话等),也包括周期动作(如,走路、吃饭、吸烟等)。三个模型在短期预测H3.6m数据集中的15个动作的过程中的MAE平均值如表1所示。
表1
根据表1可知,在短期预测H3.6m数据集中的15个动作的过程中,本申请实施例提供的动作预测模型具有比相关技术中的循环神经网络模型和单级预测模型更精确的预测效果。说明本申请实施例提供的这种预测模型级联修正模型的动作预测模型的设计能够修正误差,提高预测准确度。
长期预测测试:通过测量每个模型在560ms和1000ms时的预测值和真实值之间的欧式距离,计算每个模型在长期预测H3.6m数据集中的4个动作(走路、吃饭、吸烟、讨论)的过程中的MAE平均值。三个模型在长期预测H3.6m数据集中的4个动作的过程中的MAE平均值如表2所示。
表2
560ms | 1000ms | |
循环神经网络模型 | 0.99 | 1.09 |
单级预测模型 | 0.90 | 1.27 |
动作预测模型 | 0.88 | 1.24 |
根据表2可知,在长期预测H3.6m数据集中的4个动作的过程中,本申请实施例提供的动作预测模型具有比相关技术中的单级预测模型更精确的预测效果。
(2)3DPW数据集
利用3DPW数据集分别对本申请实施例训练得到的动作预测模型和相关技术中的单级预测模型进行了短期预测测试和长期预测测试,通过测量每个模型在200ms、400ms、600ms、800ms和1000ms时的预测值和真实值之间的欧式距离,计算每个模型在预测3DPW数据集中的动作的过程中的MAE,如表3所示。
表3
200ms | 400ms | 600ms | 800ms | 1000ms | |
单级预测模型 | 0.64 | 0.95 | 1.12 | 1.22 | 1.27 |
动作预测模型 | 0.62 | 0.95 | 1.11 | 1.20 | 1.25 |
根据表3可知,在3DPW数据集(包括室内和室外动作)上,本申请实施例训练得到的动作预测模型的动作预测性能优于相关技术中的单级预测模型。
(3)CMU-Mocap数据集
利用CMU-Mocap数据集分别对本申请实施例训练得到的动作预测模型和相关技术中的单级预测模型进行了短期预测测试和长期预测测试,通过测量每个模型在80ms、160ms、320ms、400ms和1000ms时的预测值和真实值之间的欧式距离,计算每个模型在预测CMU-Mocap数据集中的8个动作(打篮球、发篮球信号、指挥交通、跳、跑、踢足球、走路、洗窗户)的过程中的MAE平均值。两个模型在预测CMU-Mocap数据集中的8个动作的过程中的MAE平均值如表4所示。
表4
80ms | 160ms | 320ms | 400ms | 1000ms | |
单级预测模型 | 0.25 | 0.39 | 0.68 | 0.79 | 1.33 |
动作预测模型 | 0.23 | 0.37 | 0.65 | 0.77 | 1.29 |
根据表4可知,在短期以及长期预测CMU-Mocap数据集中的8个动作的过程中,本申请实施例提供的动作预测模型具有比相关技术中的单级预测模型更精确的预测效果。
根据上述在H3.6m数据集、3DPW数据集和CMU-Mocap数据集上的定量评估过程可知,本申请实施例训练得到的动作预测模型在短期预测和长期预测方面基本上都优于相关技术中的模型。
2、定性评估过程。
在H3.6数据集中,以指导和问候这两个非周期动作作为代表性动作,对本申请实施例训练得到的动作预测模型和相关技术中的单级预测模型进行短期预测(400ms),然后将预测得到的动作序列进行了可视化比较。给定每个动作的10帧骨骼数据,动作预测模型和单级预测模型短期预测得到的动作序列的可视化效果如图7所示。根据图7可知,本申请实施例训练得到的动作预测模型在对指导和问候这两个动作的短期预测过程中,得到的动作序列更符合真实的动作序列(图中的虚线骨架)。与相关技术中的单级预测模型相比,本申请实施例训练得到的动作预测模型具有修正能力,能够产生高质量的动作预测结果,特别是对于含有多个微小动作的人体末端关节的非周期动作的预测。
在H3.6数据集中,以打电话为代表性动作,对本申请实施例训练得到的动作预测模型和相关技术中的两种不同的循环神经网络模型(循环神经网络模型1和循环神经网络模型2)进行长期预测(4s),然后将预测得到的动作序列进行了可视化比较。动作预测模型、循环神经网络模型1和循环神经网络模型2长期预测得到的动作序列以及真实动作序列的可视化效果如图8所示。根据图8可知,循环神经网络模型1预测的动作序列逐渐收敛到平均姿态,循环神经网络模型2预测的动作序列中的足部关节动作逐渐消失,而本申请实施例训练得到的动作预测模型能够准确预测动作序列。可视化结果表明,本申请实施例训练得到的动作预测模型在长期预测方面优于相关技术中的循环神经网络模型。
此外,进一步将本申请实施例训练得到的动作预测模型在H3.6数据集上的其他动作上(走路、吃饭、吸烟、拍照、问候和遛狗)进行了长期预测,长期预测得到的动作序列的可视化效果如图9所示。根据图9可知,本申请实施例训练得到的动作预测模型对周期性和非周期性的动作的预测结构均接近于实际情况。从本质上讲,可视化效果说明本申请实施例训练得到的动作预测模型能够在长期预测的过程中产生接近真实的预测动作序列。
与循环神经网络模型相比,本申请实施例提供的动作预测模型为前向神经网络模型,可以有效较少模型训练耗时。与循环神经网络模型进行动作预测相比利用本申请实施例提供的动作预测模型进行动作预测可以解决误差积累的问题,避免出现预测动作冻结于平均位姿的问题。与利用单级预测模型进行动作预测相比,利用本申请实施例提供的动作预测模型进行动作预测可以对粗略的预测结果进行进一步修正,有利于提高动作预测的准确度,尤其可以提高非周期动作的预测准确度。
在本申请实施例中,利用训练数据集中的样本动作序列和标准动作序列训练得到了目标预测模型和目标修正模型,进而可以得到包括目标预测模型和目标修正模型的动作预测模型。动作预测模型可以视为一个由粗到细的动作预测模型,利用动作预测模型进行动作预测的准确度较高,动作预测的效果较好。
参见图10,本申请实施例提供了一种动作预测装置,该装置包括:
获取单元1001,用于获取参考动作序列和动作预测模型,参考动作序列包括至少两帧连续的骨骼数据,动作预测模型包括目标预测模型和目标修正模型;
预测单元1002,用于将参考动作序列输入目标预测模型,通过目标预测模型预测得到参考动作序列对应的初步预测动作序列,初步预测动作序列包括至少一帧初步预测骨骼数据;
修正单元1003,用于利用目标修正模型对初步预测动作序列进行修正,得到参考动作序列对应的目标预测动作序列。
在一种可能实现方式中,目标修正模型包括至少两个依次连接的目标修正子模型,修正单元1003,还用于将初步预测动作序列输入至少两个依次连接的目标修正子模型中的第一个目标修正子模型,通过第一个目标修正子模型修正得到修正动作序列;对于至少两个依次连接的目标修正子模型中的除第一个目标修正子模型外的其他任一目标修正子模型,将通过前一个目标修正子模型修正得到的修正动作序列输入任一目标修正子模型,通过任一目标修正子模型修正得到修正动作序列;将通过至少两个依次连接的目标修正子模型中的最后一个目标修正子模型修正得到的修正动作序列作为参考动作序列对应的目标预测动作序列。
在一种可能实现方式中,获取单元1001,还用于获取训练数据集,训练数据集包括样本动作序列和样本动作序列对应的标准动作序列,样本动作序列包括至少两帧连续的骨骼数据,标准动作序列包括至少一帧标准骨骼数据;
参见图11,该装置还包括:
训练单元1004,用于利用训练数据集中的样本动作序列和标准动作序列对初始预测模型进行训练,得到目标预测模型;利用训练数据集中的样本动作序列和标准动作序列对初始修正模型进行训练,得到目标修正模型。
在一种可能实现方式中,训练单元1004,还用于将训练数据集中的第一样本动作序列输入初始预测模型,通过初始预测模型预测得到第一样本动作序列对应的第一预测动作序列;利用第一样本动作序列对应的第一预测动作序列和第一样本动作序列对应的标准动作序列之间的预测损失函数,反向更新初始预测模型的参数,得到参数更新后的预测模型;响应于不满足第一训练终止条件,利用训练数据集中的样本动作序列和标准动作序列继续对参数更新后的预测模型进行训练,直至满足第一训练终止条件,将满足第一训练终止条件时得到的预测模型作为目标预测模型。
在一种可能实现方式中,训练单元1004,还用于将训练数据集中的第二样本动作序列输入目标预测模型,通过目标预测模型预测得到第二样本动作序列对应的第一预测动作序列;利用初始修正模型对第二样本动作序列对应的第一预测动作序列进行修正,得到第二样本动作序列对应的第二预测动作序列;利用第二样本动作序列对应的第二预测动作序列和第二样本动作序列对应的标准动作序列之间的第一修正损失函数,反向更新初始修正模型的参数,得到参数更新后的修正模型;响应于不满足第二训练终止条件,利用训练数据集中的样本动作序列和标准动作序列继续对参数更新后的修正模型进行训练,直至满足第二训练终止条件,将满足第二训练终止条件时得到的修正模型作为目标修正模型。
在一种可能实现方式中,训练单元1004,还用于确定第一目标误差;利用第一目标误差对第二样本动作序列对应的第一预测动作序列进行调整;利用初始修正模型对第二样本动作序列对应的调整后的第一预测动作序列进行修正,得到第二样本动作序列对应的第二预测动作序列。
在一种可能实现方式中,训练单元1004,还用于从训练数据集中选取任一第一候选样本动作序列,将第一候选样本动作序列输入第一参考预测模型,通过第一参考预测模型预测得到第一候选样本动作序列对应的第一预测动作序列,第一参考预测模型的参数与目标预测模型的参数一致;基于第一候选样本动作序列对应的第一预测动作序列和第一候选样本动作序列对应的标准动作序列,确定第一标准误差;基于第二样本动作序列对应的第一预测动作序列和第一标准误差,利用生成式对抗网络生成第一目标误差。
在一种可能实现方式中,训练单元1004,还用于将训练数据集中的第三样本动作序列输入初始预测模型,通过初始预测模型预测得到第三样本动作序列对应的第一预测动作序列;利用初始修正模型对第三样本动作序列对应的第一预测动作序列进行修正,得到第三样本动作序列对应的第二预测动作序列;利用第三样本动作序列对应的第二预测动作序列和第三样本动作序列对应的标准动作序列之间的第二修正损失函数,反向更新初始预测模型的参数和初始修正模型的参数,得到参数更新后的预测模型和参数更新后的修正模型;响应于不满足第三训练终止条件,利用训练数据集中的样本动作序列和标准动作序列继续对参数更新后的预测模型进行训练,利用训练数据集中的样本动作序列和标准动作序列继续对参数更新后的修正模型进行训练,直至满足第三训练终止条件,将满足第三训练终止条件时得到的预测模型作为目标预测模型,将满足第三训练终止条件时得到的修正模型作为目标修正模型。
在一种可能实现方式中,训练单元1004,还用于确定第二目标误差;利用第二目标误差对第三样本动作序列对应的第一预测动作序列进行调整;利用初始修正模型对第三样本动作序列对应的调整后的第一预测动作序列进行修正,得到第三样本动作序列对应的第二预测动作序列。
在一种可能实现方式中,训练单元1004,还用于从训练数据集中选取任一第二候选样本动作序列,将第二候选样本动作序列输入第二参考预测模型,通过第二参考预测模型预测得到第二候选样本动作序列对应的第一预测动作序列,第二参考预测模型的参数与初始预测模型的当前参数一致;基于第二候选样本动作序列对应的第一预测动作序列和第二候选样本动作序列对应的标准动作序列,确定第二标准误差;基于第三样本动作序列对应的第一预测动作序列和第二标准误差,利用生成式对抗网络生成第二目标误差。
在一种可能实现方式中,初始修正模型包括至少两个依次连接的初始修正子模型,训练单元1004,还用于利用训练数据集中的样本动作序列和标准动作序列对至少两个依次连接的初始修正子模型进行训练,得到至少两个依次连接的目标修正子模型。
在本申请实施例中,利用包括目标预测模型和目标修正模型的动作预测模型进行动作预测,目标预测模型根据输入的参考动作序列预测出初步预测动作序列,目标修正模型对初步预测动作序列进行修正,然后得到最终预测的目标预测动作序列。在此种动作预测的过程中,不仅关注输入的参考动作序列,还关注目标预测模型预测得到的初步预测动作序列,关注的信息较丰富,有利于提高动作预测的准确度,动作预测的效果较好。
需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图12是本申请实施例提供的一种终端的结构示意图。该终端可以是:智能手机、平板电脑、笔记本电脑或台式电脑。终端还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端包括有:处理器1201和存储器1202。
处理器1201可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1201可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1201也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1202可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1202还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1201所执行以实现本申请中方法实施例提供的动作预测方法。
在一些实施例中,终端还可选包括有:外围设备接口1203和至少一个外围设备。处理器1201、存储器1202和外围设备接口1203之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1203相连。具体地,外围设备包括:射频电路1204、触摸显示屏1205、摄像头组件1206、音频电路1207、定位组件1208和电源1209中的至少一种。
外围设备接口1203可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1201和存储器1202。在一些实施例中,处理器1201、存储器1202和外围设备接口1203被集成在同一芯片或电路板上;在一些其他实施例中,处理器1201、存储器1202和外围设备接口1203中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1204用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1204通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1204将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1204包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1204可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1204还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1205用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1205是触摸显示屏时,显示屏1205还具有采集在显示屏1205的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1201进行处理。此时,显示屏1205还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1205可以为一个,设置在终端的前面板;在另一些实施例中,显示屏1205可以为至少两个,分别设置在终端的不同表面或呈折叠设计;在再一些实施例中,显示屏1205可以是柔性显示屏,设置在终端的弯曲表面上或折叠面上。甚至,显示屏1205还可以设置成非矩形的不规则图形,也即异形屏。显示屏1205可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1206用于采集图像或视频。可选地,摄像头组件1206包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1206还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1207可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1201进行处理,或者输入至射频电路1204以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1201或射频电路1204的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1207还可以包括耳机插孔。
定位组件1208用于定位终端的当前地理位置,以实现导航或LBS(Location BasedService,基于位置的服务)。定位组件1208可以是基于美国的GPS(Global PositioningSystem,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源1209用于为终端中的各个组件进行供电。电源1209可以是交流电、直流电、一次性电池或可充电电池。当电源1209包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端还包括有一个或多个传感器1210。该一个或多个传感器1210包括但不限于:加速度传感器1211、陀螺仪传感器1212、压力传感器1213、指纹传感器1214、光学传感器1215以及接近传感器1216。
加速度传感器1211可以检测以终端建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1211可以用于检测重力加速度在三个坐标轴上的分量。处理器1201可以根据加速度传感器1211采集的重力加速度信号,控制触摸显示屏1205以横向视图或纵向视图进行用户界面的显示。加速度传感器1211还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1212可以检测终端的机体方向及转动角度,陀螺仪传感器1212可以与加速度传感器1211协同采集用户对终端的3D动作。处理器1201根据陀螺仪传感器1212采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1213可以设置在终端的侧边框和/或触摸显示屏1205的下层。当压力传感器1213设置在终端的侧边框时,可以检测用户对终端的握持信号,由处理器1201根据压力传感器1213采集的握持信号进行左右手识别或快捷操作。当压力传感器1213设置在触摸显示屏1205的下层时,由处理器1201根据用户对触摸显示屏1205的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1214用于采集用户的指纹,由处理器1201根据指纹传感器1214采集到的指纹识别用户的身份,或者,由指纹传感器1214根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1201授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1214可以被设置在终端的正面、背面或侧面。当终端上设置有物理按键或厂商Logo时,指纹传感器1214可以与物理按键或厂商Logo集成在一起。
光学传感器1215用于采集环境光强度。在一个实施例中,处理器1201可以根据光学传感器1215采集的环境光强度,控制触摸显示屏1205的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1205的显示亮度;当环境光强度较低时,调低触摸显示屏1205的显示亮度。在另一个实施例中,处理器1201还可以根据光学传感器1215采集的环境光强度,动态调整摄像头组件1206的拍摄参数。
接近传感器1216,也称距离传感器,通常设置在终端的前面板。接近传感器1216用于采集用户与终端的正面之间的距离。在一个实施例中,当接近传感器1216检测到用户与终端的正面之间的距离逐渐变小时,由处理器1201控制触摸显示屏1205从亮屏状态切换为息屏状态;当接近传感器1216检测到用户与终端的正面之间的距离逐渐变大时,由处理器1201控制触摸显示屏1205从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图12中示出的结构并不构成对终端的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图13是本申请实施例提供的一种服务器的结构示意图,该服务器可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(Central Processing Units,CPU)1301和一个或多个存储器1302,其中,该一个或多个存储器1302中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器1301加载并执行,以实现上述各个方法实施例提供的动作预测方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条程序代码。该至少一条程序代码由一个或者一个以上处理器加载并执行,以实现上述任一种动作预测方法。
在示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,该至少一条程序代码由计算机设备的处理器加载并执行,以实现上述任一种动作预测方法。
可选地,上述计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-OnlyMemory,CD-ROM)、磁带、软盘和光数据存储设备等。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (11)
1.一种动作预测方法,其特征在于,所述方法包括:
获取参考动作序列和动作预测模型,所述参考动作序列包括至少两帧连续的骨骼数据,所述动作预测模型包括目标预测模型和目标修正模型;
将所述参考动作序列输入所述目标预测模型,通过所述目标预测模型预测得到所述参考动作序列对应的初步预测动作序列,所述初步预测动作序列包括至少一帧初步预测骨骼数据;
利用所述目标修正模型对所述初步预测动作序列进行修正,得到所述参考动作序列对应的目标预测动作序列;
其中,所述目标修正模型的获取过程,包括:
获取样本动作序列对应的第一预测动作序列,所述样本动作序列对应的第一预测动作序列为基于初始预测模型预测得到的初步的预测动作序列;
利用目标误差对所述样本动作序列对应的第一预测动作序列进行调整,利用初始修正模型对所述样本动作序列对应的调整后的第一预测动作序列进行修正,得到所述样本动作序列对应的第二预测动作序列,所述目标误差为在所述样本动作序列对应的第一预测动作序列的基础上利用生成式对抗网络生成的逼近标准误差的误差;
利用所述样本动作序列对应的第二预测动作序列和所述样本动作序列对应的标准动作序列之间的修正损失函数,反向更新所述初始修正模型的参数,得到所述目标修正模型。
2.根据权利要求1所述的方法,其特征在于,所述目标修正模型包括至少两个依次连接的目标修正子模型,所述利用所述目标修正模型对所述初步预测动作序列进行修正,得到所述参考动作序列对应的目标预测动作序列,包括:
将所述初步预测动作序列输入所述至少两个依次连接的目标修正子模型中的第一个目标修正子模型,通过所述第一个目标修正子模型修正得到修正动作序列;
对于所述至少两个依次连接的目标修正子模型中的除第一个目标修正子模型外的其他任一目标修正子模型,将通过前一个目标修正子模型修正得到的修正动作序列输入所述任一目标修正子模型,通过所述任一目标修正子模型修正得到修正动作序列;
将通过所述至少两个依次连接的目标修正子模型中的最后一个目标修正子模型修正得到的修正动作序列作为所述参考动作序列对应的目标预测动作序列。
3.根据权利要求1或2所述的方法,其特征在于,所述获取样本动作序列对应的第一预测动作序列之前,所述方法还包括:
将训练数据集中的第一样本动作序列输入初始预测模型,通过所述初始预测模型预测得到所述第一样本动作序列对应的第一预测动作序列;
利用所述第一样本动作序列对应的第一预测动作序列和所述第一样本动作序列对应的标准动作序列之间的预测损失函数,反向更新所述初始预测模型的参数,得到参数更新后的预测模型;
响应于不满足第一训练终止条件,利用所述训练数据集中的样本动作序列和标准动作序列继续对所述参数更新后的预测模型进行训练,直至满足所述第一训练终止条件,将满足所述第一训练终止条件时得到的预测模型作为目标预测模型。
4.根据权利要求3所述的方法,其特征在于,所述样本动作序列为所述训练数据集中的第二样本动作序列,所述目标误差为第一目标误差;
所述获取样本动作序列对应的第一预测动作序列,包括:
将所述训练数据集中的第二样本动作序列输入所述目标预测模型,通过所述目标预测模型预测得到所述第二样本动作序列对应的第一预测动作序列;
所述利用目标误差对所述样本动作序列对应的第一预测动作序列进行调整,利用初始修正模型对所述样本动作序列对应的调整后的第一预测动作序列进行修正,得到所述样本动作序列对应的第二预测动作序列,包括:
确定第一目标误差;利用所述第一目标误差对所述第二样本动作序列对应的第一预测动作序列进行调整;利用所述初始修正模型对所述第二样本动作序列对应的调整后的第一预测动作序列进行修正,得到所述第二样本动作序列对应的第二预测动作序列;
所述利用所述样本动作序列对应的第二预测动作序列和所述样本动作序列对应的标准动作序列之间的修正损失函数,反向更新所述初始修正模型的参数,得到所述目标修正模型,包括:
利用所述第二样本动作序列对应的第二预测动作序列和所述第二样本动作序列对应的标准动作序列之间的第一修正损失函数,反向更新所述初始修正模型的参数,得到参数更新后的修正模型;
响应于不满足第二训练终止条件,利用所述训练数据集中的样本动作序列和标准动作序列继续对所述参数更新后的修正模型进行训练,直至满足所述第二训练终止条件,将满足所述第二训练终止条件时得到的修正模型作为目标修正模型。
5.根据权利要求4所述的方法,其特征在于,所述标准误差为第一标准误差,所述确定第一目标误差,包括:
从所述训练数据集中选取任一第一候选样本动作序列,将所述第一候选样本动作序列输入第一参考预测模型,通过所述第一参考预测模型预测得到所述第一候选样本动作序列对应的第一预测动作序列,所述第一参考预测模型的参数与所述目标预测模型的参数一致;
基于所述第一候选样本动作序列对应的第一预测动作序列和所述第一候选样本动作序列对应的标准动作序列,确定第一标准误差,所述第一标准误差为所述第一候选样本动作序列对应的真实误差;
基于所述第二样本动作序列对应的第一预测动作序列和所述第一标准误差,利用所述生成式对抗网络生成第一目标误差,所述第一目标误差为逼近所述第一标准误差的误差。
6.根据权利要求1或2所述的方法,其特征在于,所述样本动作序列为训练数据集中的第三样本动作序列,所述目标误差为第二目标误差;
所述获取样本动作序列对应的第一预测动作序列,包括:
将训练数据集中的第三样本动作序列输入初始预测模型,通过所述初始预测模型预测得到所述第三样本动作序列对应的第一预测动作序列;
所述利用目标误差对所述样本动作序列对应的第一预测动作序列进行调整,利用初始修正模型对所述样本动作序列对应的调整后的第一预测动作序列进行修正,得到所述样本动作序列对应的第二预测动作序列,包括:
确定第二目标误差;利用所述第二目标误差对所述第三样本动作序列对应的第一预测动作序列进行调整;利用所述初始修正模型对所述第三样本动作序列对应的调整后的第一预测动作序列进行修正,得到所述第三样本动作序列对应的第二预测动作序列;
所述利用所述样本动作序列对应的第二预测动作序列和所述样本动作序列对应的标准动作序列之间的修正损失函数,反向更新所述初始修正模型的参数,得到所述目标修正模型,包括:
利用所述第三样本动作序列对应的第二预测动作序列和所述第三样本动作序列对应的标准动作序列之间的第二修正损失函数,反向更新所述初始预测模型的参数和所述初始修正模型的参数,得到参数更新后的预测模型和参数更新后的修正模型;
响应于不满足第三训练终止条件,利用所述训练数据集中的样本动作序列和标准动作序列继续对所述参数更新后的预测模型进行训练,利用所述训练数据集中的样本动作序列和标准动作序列继续对所述参数更新后的修正模型进行训练,直至满足第三训练终止条件,将满足第三训练终止条件时得到的预测模型作为目标预测模型,将满足第三训练终止条件时得到的修正模型作为目标修正模型。
7.根据权利要求6所述的方法,其特征在于,所述标准误差为第二标准误差,所述确定第二目标误差,包括:
从所述训练数据集中选取任一第二候选样本动作序列,将所述第二候选样本动作序列输入第二参考预测模型,通过所述第二参考预测模型预测得到所述第二候选样本动作序列对应的第一预测动作序列,所述第二参考预测模型的参数与初始预测模型的当前参数一致;
基于所述第二候选样本动作序列对应的第一预测动作序列和所述第二候选样本动作序列对应的标准动作序列,确定第二标准误差,所述第二标准误差为所述第二候选样本动作序列对应的真实误差;
基于所述第三样本动作序列对应的第一预测动作序列和所述第二标准误差,利用所述生成式对抗网络生成第二目标误差,所述第二目标误差为逼近所述第二标准误差的误差。
8.根据权利要求2所述的方法,其特征在于,所述初始修正模型包括至少两个依次连接的初始修正子模型,所述方法还包括:
利用训练数据集中的样本动作序列和标准动作序列对所述至少两个依次连接的初始修正子模型进行训练,得到至少两个依次连接的目标修正子模型。
9.一种动作预测装置,其特征在于,所述装置包括:
获取单元,用于获取参考动作序列和动作预测模型,所述参考动作序列包括至少两帧连续的骨骼数据,所述动作预测模型包括目标预测模型和目标修正模型;
预测单元,用于将所述参考动作序列输入所述目标预测模型,通过所述目标预测模型预测得到所述参考动作序列对应的初步预测动作序列,所述初步预测动作序列包括至少一帧初步预测骨骼数据;
修正单元,用于利用所述目标修正模型对所述初步预测动作序列进行修正,得到所述参考动作序列对应的目标预测动作序列;
其中,所述获取单元获取所述目标修正模型的过程,包括:
获取样本动作序列对应的第一预测动作序列,所述样本动作序列对应的第一预测动作序列为基于初始预测模型预测得到的初步的预测动作序列;
利用目标误差对所述样本动作序列对应的第一预测动作序列进行调整,利用初始修正模型对所述样本动作序列对应的调整后的第一预测动作序列进行修正,得到所述样本动作序列对应的第二预测动作序列,所述目标误差为在所述样本动作序列对应的第一预测动作序列的基础上利用生成式对抗网络生成的逼近标准误差的误差;
利用所述样本动作序列对应的第二预测动作序列和所述样本动作序列对应的标准动作序列之间的修正损失函数,反向更新所述初始修正模型的参数,得到所述目标修正模型。
10.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现如权利要求1至8任一所述的动作预测方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现如权利要求1至8任一所述的动作预测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010371398.5A CN111589138B (zh) | 2020-05-06 | 2020-05-06 | 动作预测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010371398.5A CN111589138B (zh) | 2020-05-06 | 2020-05-06 | 动作预测方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111589138A CN111589138A (zh) | 2020-08-28 |
CN111589138B true CN111589138B (zh) | 2022-08-02 |
Family
ID=72180361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010371398.5A Active CN111589138B (zh) | 2020-05-06 | 2020-05-06 | 动作预测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111589138B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113409384B (zh) * | 2021-08-17 | 2021-11-30 | 深圳市华汉伟业科技有限公司 | 一种目标物体的位姿估计方法和系统、机器人 |
CN114332939B (zh) * | 2021-12-30 | 2024-02-06 | 浙江核新同花顺网络信息股份有限公司 | 一种位姿序列生成方法和系统 |
CN115331309A (zh) * | 2022-08-19 | 2022-11-11 | 北京字跳网络技术有限公司 | 用于识别人体动作的方法、装置、设备和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104616498A (zh) * | 2015-02-02 | 2015-05-13 | 同济大学 | 基于马尔可夫链和神经网络的交通拥挤状态组合预测方法 |
CN108549863A (zh) * | 2018-04-11 | 2018-09-18 | 腾讯科技(深圳)有限公司 | 人体姿态预测方法、装置、设备及存储介质 |
CN109902729A (zh) * | 2019-02-18 | 2019-06-18 | 清华大学 | 基于序列状态演进的行为预测方法及装置 |
CN109948475A (zh) * | 2019-03-06 | 2019-06-28 | 武汉大学 | 一种基于骨架特征和深度学习的人体动作识别方法 |
CN111027692A (zh) * | 2019-11-04 | 2020-04-17 | 中国电子科技集团公司第十四研究所 | 一种目标运动态势预测方法及装置 |
-
2020
- 2020-05-06 CN CN202010371398.5A patent/CN111589138B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104616498A (zh) * | 2015-02-02 | 2015-05-13 | 同济大学 | 基于马尔可夫链和神经网络的交通拥挤状态组合预测方法 |
CN108549863A (zh) * | 2018-04-11 | 2018-09-18 | 腾讯科技(深圳)有限公司 | 人体姿态预测方法、装置、设备及存储介质 |
CN109902729A (zh) * | 2019-02-18 | 2019-06-18 | 清华大学 | 基于序列状态演进的行为预测方法及装置 |
CN109948475A (zh) * | 2019-03-06 | 2019-06-28 | 武汉大学 | 一种基于骨架特征和深度学习的人体动作识别方法 |
CN111027692A (zh) * | 2019-11-04 | 2020-04-17 | 中国电子科技集团公司第十四研究所 | 一种目标运动态势预测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111589138A (zh) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110121118B (zh) | 视频片段定位方法、装置、计算机设备及存储介质 | |
CN108615248B (zh) | 相机姿态追踪过程的重定位方法、装置、设备及存储介质 | |
WO2020224479A1 (zh) | 目标的位置获取方法、装置、计算机设备及存储介质 | |
CN110210571B (zh) | 图像识别方法、装置、计算机设备及计算机可读存储介质 | |
CN111325726A (zh) | 模型训练方法、图像处理方法、装置、设备及存储介质 | |
CN111589138B (zh) | 动作预测方法、装置、设备及存储介质 | |
CN110163380B (zh) | 数据分析方法、模型训练方法、装置、设备及存储介质 | |
CN111091166B (zh) | 图像处理模型训练方法、图像处理方法、设备及存储介质 | |
CN108288032B (zh) | 动作特征获取方法、装置及存储介质 | |
CN111062981A (zh) | 图像处理方法、装置及存储介质 | |
CN112036331A (zh) | 活体检测模型的训练方法、装置、设备及存储介质 | |
CN111104980B (zh) | 确定分类结果的方法、装置、设备及存储介质 | |
CN111192262A (zh) | 基于人工智能的产品缺陷分类方法、装置、设备及介质 | |
CN114332530A (zh) | 图像分类方法、装置、计算机设备及存储介质 | |
CN110796005A (zh) | 在线教学监控的方法、装置、电子设备及介质 | |
CN111581958A (zh) | 对话状态确定方法、装置、计算机设备及存储介质 | |
CN111738365B (zh) | 图像分类模型训练方法、装置、计算机设备及存储介质 | |
CN113516143A (zh) | 文本图像匹配方法、装置、计算机设备及存储介质 | |
CN111680697A (zh) | 实现领域自适应的方法、装置、电子设备及介质 | |
CN111753498A (zh) | 文本处理方法、装置、设备及存储介质 | |
CN110070143B (zh) | 获取训练数据的方法、装置、设备及存储介质 | |
CN112527104A (zh) | 确定参数确定方法、装置、设备及存储介质 | |
CN110232417B (zh) | 图像识别方法、装置、计算机设备及计算机可读存储介质 | |
CN111898535A (zh) | 目标识别方法、装置及存储介质 | |
CN110990549A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40027304 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |