基于运动数据重定向的内容生成方法、装置及计算机设备

文档序号:9433 发布日期:2021-09-17 浏览:87次 英文

基于运动数据重定向的内容生成方法、装置及计算机设备

技术领域

本申请实施例涉及网络直播及短视频

技术领域

,尤其涉及一种基于运动数据重定向的内容生成方法、装置及计算机设备。

背景技术

运动数据重定向是指将源对象的运动数据重定向到与其在骨骼长度、比例,甚至是拓扑结构不同的目标对象上,即在保持原始运动特征的前提下,根据目标对象的骨架结构对源对象的运动数据进行编辑和修改的过程。

目前,运动数据重定向已经被广泛应用于驱动虚拟人物合成动画内容,或者,应用于驱动真实人物合成专业动作视频内容。但是,由于现有的基于运动数据重定向生成内容的方式,往往是基于运动数据交叉重构实现的,因而会造成内容中动作失真且内容生成效率低下的问题,并且运动数据交叉重构需要目标对象的一系列人体关键点集合作为输入,故也会造成数据难以获取且获取成本较高的问题。

发明内容

本申请实施例提供了一种基于运动数据重定向的内容生成方法、装置及计算机设备,可以解决动作失真且生成效率低下的技术问题,该技术方案如下:

第一方面,本申请实施例提供了一种基于运动数据重定向的内容生成方法,包括步骤:

响应客户端发送的目标内容生成请求,解析所述目标内容生成请求,获取源对象做出至少一个目标动作时采集的第一运动数据以及目标对象做出任意一个动作时采集的第二运动数据;

根据所述第一运动数据、所述第二运动数据和预训练好的转换因子计算模型,得到目标转换因子,其中,所述目标转换因子用于将所述第一运动数据中所述源对象的骨骼长度转换为所述目标对象的骨骼长度,所述骨骼长度基于运动数据中人体关键点的位置确定;

根据所述第一运动数据、所述目标转换因子和预设的运动数据重定向函数,得到重定向后的第一运动数据;

根据所述重定向后的第一运动数据,生成所述目标对象做出所述至少一个目标动作的目标内容;

将所述目标内容发送至所述客户端,其中,所述客户端将所述目标内容显示在交互界面中。

第二方面,本申请实施例提供了一种基于运动数据重定向的内容生成装置,包括:

第一响应单元,用于响应客户端发送的目标内容生成请求,解析所述目标内容生成请求,获取源对象做出至少一个目标动作时采集的第一运动数据以及目标对象做出任意一个动作时采集的第二运动数据;

第一获取单元,用于根据所述第一运动数据、所述第二运动数据和预训练好的转换因子计算模型,得到目标转换因子,其中,所述目标转换因子用于将所述第一运动数据中所述源对象的骨骼长度转换为所述目标对象的骨骼长度,所述骨骼长度基于运动数据中人体关键点的位置确定;

重定向单元,用于根据所述第一运动数据、所述目标转换因子和预设的运动数据重定向函数,得到重定向后的第一运动数据;

内容生成单元,用于根据所述重定向后的第一运动数据,生成所述目标对象做出所述至少一个目标动作的目标内容;

显示单元,用于将所述目标内容发送至所述客户端,其中,所述客户端将所述目标内容显示在交互界面中。

第三方面,本申请实施例提供了一种计算机设备,处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述方法的步骤。

第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述方法的步骤。

在本申请实施例中,服务器响应客户端发送的目标内容生成请求,解析目标内容生成请求,获取源对象做出至少一个目标动作时采集的第一运动数据以及目标对象做出任意一个动作时采集的第二运动数据,再根据第一运动数据、第二运动数据和预训练好的转换因子计算模型,得到目标转换因子,其中,该目标转换因子用于将第一运动数据中源对象的骨骼长度转换为目标对象的骨骼长度,骨骼长度基于运动数据中人体关键点的位置确定,之后,根据第一运动数据目标转换因子和预设的运动数据重定向函数,得到重定向后的第一运动数据,基于重定向后的第一运动数据,生成目标对象做出至少一个目标动作的目标内容,最后,服务器将所述目标内容发送至客户端,客户端将目标内容显示在交互界面中。本申请实施例通过源对象做出至少一个目标动作时采集的第一运动数据、目标对象做出任意一个动作时采集的第二运动数据和预训练好的转换因子计算模型,即可得到目标转换因子,由于该目标转换因子仅用于改变骨骼长度,而不改变骨骼之间的夹角,因而可以有效避免生成内容中动作的失真,提高内容生成效率,并且,由于预训练好的转换因子计算模型只需要目标对象做出任意一个动作时采集的第二运动数据作为输入,因而也降低了运动数据的采集难度和采集成本。

为了更好地理解和实施,下面结合附图详细说明本申请的技术方案。

附图说明

图1为本申请实施例提供的基于运动数据重定向的内容生成方法的一个应用场景示意图;

图2为本申请实施例提供的基于运动数据重定向的内容生成方法的另一应用场景示意图;

图3为本申请第一实施例提供的基于运动数据重定向的内容生成方法的流程示意图;

图4为本申请第一实施例提供的基于运动数据重定向的内容生成方法中S101的流程示意图;

图5为本申请实施例提供的基于运动数据重定向的内容生成方法的又一应用场景示意图;

图6为本申请第一实施例提供的基于运动数据重定向的内容生成方法的另一流程示意图;

图7为本申请实施例提供的转换因子计算模型的训练过程示意图;

图8为本申请实施例提供的第一运动数据的重定向过程示意图;

图9为本申请实施例提供的转换因子计算模型的结构示意图;

图10为本申请第二实施例提供的基于运动数据重定向的内容生成方法的流程示意图;

图11为本申请第三实施例提供的基于运动数据重定向的内容生成装置的结构示意图;

图12为本申请第四实施例提供的计算机设备的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”/“若”可以被解释成为“在……时”或“当……时”或“响应于确定”。

本领域技术人员可以理解,本申请所使用的“客户端”、“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他诸如个人计算机、平板电脑之类的通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(PersonalCommunications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(GlobalPositioningSystem,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“客户端”、“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“客户端”、“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。

本申请所称的“服务器”、“客户端”、“服务节点”等名称所指向的硬件,本质上是具备个人计算机等效能力的计算机设备,为具有中央处理器(包括运算器和控制器)、存储器、输入设备以及输出设备等冯诺依曼原理所揭示的必要构件的硬件装置,计算机程序存储于其存储器中,中央处理器将存储在外存中的程序调入内存中运行,执行程序中的指令,与输入输出设备交互,借此完成特定的功能。

需要指出的是,本申请所称的“服务器”这一概念,同理也可扩展到适用于服务器机群的情况。依据本领域技术人员所理解的网络部署原理,所述各服务器应是逻辑上的划分,在物理空间上,这些服务器既可以是互相独立但可通过接口调用的,也可以是集成到一台物理计算机或一套计算机机群的。本领域技术人员应当理解这一变通,而不应以此约束本申请的网络部署方式的实施方式。

请参阅图1,图1为本申请实施例提供的基于运动数据重定向的内容生成方法的一个应用场景示意图,该应用场景包括本申请实施例提供的客户端101和服务器102,客户端101与服务器102进行交互。

所述客户端101所指向的硬件,本质上是指计算机设备,具体地,如图1所示,其可以是智能手机、智能交互平板和个人计算机等类型的计算机设备。所述客户端101可以通过公知的网络接入方式接入互联网,与服务器102建立数据通信链路。

所述服务器102作为一个业务服务器,其可以负责进一步连接起相关音频数据服务器、视频流服务器以及其他提供相关支持的服务器等,以此构成逻辑上相关联的服务机群,来为相关的终端设备,例如图1中所示的客户端101提供服务。

本申请实施例中,用户可以点击访问安装在客户端101上的应用程序(例如YY),在应用程序中进行内容的浏览、生成以及上传等操作,其中,该内容可以为短视频、用户动态以及新闻等。

请参阅图2,图2为本申请实施例提供的基于运动数据重定向的内容生成方法的另一应用场景示意图,该应用场景为网络直播场景,该应用场景下客户端101分为主播客户端1011和观众客户端1012,主播客户端1011与观众客户端1012通过服务器102进行交互。

其中,所述主播客户端1011是指发送网络直播视频的一端,通常来说是网络直播中主播(即,直播主播用户)所采用的客户端。

所述观众客户端1012是指接收和观看网络直播视频的一端,通常来说是网络直播中观看视频的观众(即,直播观众用户)所采用的客户端。

同样地,所述主播客户端1011和所述观众客户端1013所指向的硬件,本质上都是指计算机设备。

本申请实施例中,所述主播客户端1011与观众客户端1012可以加入同一个直播间(即直播频道),上述的直播间是指依靠互联网技术实现的一种聊天室,通常具备音视频播控功能。主播用户通过主播客户端1011在直播间内进行直播,观众客户端1012的观众可以登录服务器102进入直播间观看上直播。

在直播间内,主播用户与观众用户之间可通过语音、视频、文字等公知的线上交互方式来实现互动,一般是主播用户以音视频流的形式为观众用户表演节目,并且在互动过程中还可产生经济交易行为。

具体地,对于观众用户来说,其可以点击访问安装在观众客户端1012上的应用程序(例如YY),选择进入任意直播间观看直播,并且在直播过程中观众用户与主播用户之间可以进行多种形式的线上互动,例如:观众用户可以向主播赠送虚拟礼物,主播用户也可以通过直播间提供的功能刺激观众用户互动行为的产生。

基于上述应用场景,本申请实施例提供了一种基于运动数据重定向的内容生成方法。请参阅图3,图3为本申请第一实施例提供的基于运动数据重定向的内容生成方法的流程示意图,该方法包括如下步骤:

S101:响应客户端发送的目标内容生成请求,解析所述目标内容生成请求,获取源对象做出至少一个目标动作时采集的第一运动数据以及目标对象做出任意一个动作时采集的第二运动数据。

S102:根据所述第一运动数据、所述第二运动数据和预训练好的转换因子计算模型,得到目标转换因子,其中,所述目标转换因子用于将所述第一运动数据中所述源对象的骨骼长度转换为所述目标对象的骨骼长度,所述骨骼长度基于运动数据中人体关键点的位置确定。

S103:根据所述第一运动数据、所述目标转换因子和预设的运动数据重定向函数,得到重定向后的第一运动数据。

S104:根据所述重定向后的第一运动数据,生成所述目标对象做出所述至少一个目标动作的目标内容。

S105:将所述目标内容发送至所述客户端,其中,所述客户端将所述目标内容显示在交互界面中。

在本实施例中,主要是以服务器为执行主体对基于运动数据重定向的内容生成方法进行阐述,具体如下:

针对步骤S101,客户端发送目标内容生成请求至服务器,服务器响应所述客户端发送的目标内容生成请求,解析所述目标内容生成请求,获取源对象做出至少一个目标动作时采集的第一运动数据以及目标对象做出任意一个动作时采集的第二运动数据。

在本申请实施例中,运动数据为用于驱动虚拟人物合成动画内容,或者,用于驱动真实人物合成动作视频内容的数据,通常情况下,运动数据中包括某一对象(可以为虚拟人物或者真实人物)在不同时间戳下的人体关键点的位置集合。

简单来说,若运动数据是用于驱动虚拟人物合成动画内容的,那么运动数据中就包括每一帧动画画面中虚拟人物的各个人体关键点的位置信息,若运动数据是用于驱动真实人物合成动作视频内容的,那么运动数据中就包括每一帧动作视频画面中真实人物的各个人体关键点的位置信息。

其中,人体关键点的位置信息用于定位对象在各帧画面中的头部位置以及肢体位置。在一个可选的实施例中,人体关键点包括但不限于头顶、五官、颈部以及四肢主要关节点等。

由于对于不同的对象来说,即使做出相同的动作序列,也会由于身材、体型的不同导致运动数据是不一致的,因此,为了生成目标对象(可以为虚拟人物或者真实人物)做出至少一个目标动作的目标内容,则需要对源对象做出至少一个目标动作的运动数据进行重定向,即,对本申请实施例中提及的第一运动数据进行运动数据重定向。

在进行运动数据重定向之前,服务器需先获取源对象做出至少一个目标动作时采集的第一运动数据以及目标对象做出任意一个动作时采集的第二运动数据。

具体地,在一个可选的实施例中,客户端发送的目标内容生成请求中就包括源对象做出至少一个目标动作时采集的第一运动数据以及目标对象做出任意一个动作时采集的第二运动数据,因而,服务器在解析目标内容生成请求后,可直接获取目标内容生成请求中源对象做出至少一个目标动作时采集的第一运动数据以及目标对象做出任意一个动作时采集的第二运动数据。

可以理解的是,在此种情况下,对于第一运动数据和第二运动数据的采集是由客户端执行的。

在另一个可选的实施例中,对于第一运动数据和第二运动数据的采集是由服务器执行,或者由服务器连接的运动数据采集设备执行。

客户端发送的目标内容生成请求中包括的是源内容标识和包含目标对象的人体关键点的静态影像,之后服务器响应目标内容生成请求,根据解析得到的源内容标识和包含目标对象的人体关键点的静态影像,获取源对象做出至少一个目标动作时采集的第一运动数据以及目标对象做出任意一个动作时采集的第二运动数据。

具体地,请参阅图4,步骤S101中解析所述目标内容生成请求,获取源对象做出至少一个目标动作时采集的第一运动数据以及目标对象做出任意一个动作时采集的第二运动数据的步骤包括S1011~S1013,如下所示:

S1011:解析所述目标内容生成请求,获取源内容标识和包含所述目标对象的所述人体关键点的静态影像;其中,所述源内容标识对应的源内容为所述源对象做出至少一个所述目标动作的动态影像。

S1012:根据所述源内容,采集所述第一运动数据,其中,所述第一运动数据包括所述源对象做出至少一个所述目标动作时所述人体关键点的位置信息。

S1013:根据所述静态影像,采集所述第二运动数据,其中,所述第二运动数据包括所述目标对象做出所述静态影像中的动作时所述人体关键点的位置信息。

在本实施例中,服务器在解析目标内容生成请求得到源内容标识和包含所述目标对象的所述人体关键点的静态影像之后,根据源内容标识调取对应的源内容。

其中,所述源内容标识对应的源内容为所述源对象做出至少一个所述目标动作的动态影像,所述动态影像可以为动画或者视频,关于其具体格式在此不进行限定。

在一个可选的实施例中,所述静态影像可以为目标对象的全身照,全身照中目标对象做出的动作在此不进行限定,所述静态影像包括目标对象的人体关键点即可。

之后,服务器基于所述源内容和所述静态影像,分别采集所述第一运动数据和所述第二运动数据。

具体地,服务器可以将所述源内容和所述静态影像分别输入至预设的运动数据采集模型中,得到所述第一运动数据和所述第二运动数据,或者,服务器也可以将所述源内容和所述静态影像发送至运动数据采集设备中,并接收运动数据采集设备返回的所述第一运动数据和所述第二运动数据。

其中,采集到的所述第一运动数据包括所述源对象做出至少一个所述目标动作时所述人体关键点的位置信息,采集到的所述第二运动数据包括所述目标对象做出所述静态影像中的动作时所述人体关键点的位置信息。

在本申请实施例中,针对不同应用场景,触发客户端生成目标内容生成请求的过程是不同的,具体可以参见本申请第二实施例中的详细说明,从而以确定本申请实施例所提出的方法可以具体如何在短视频场景以及网络直播场景中应用。

针对步骤S102,服务器根据所述第一运动数据、所述第二运动数据和预训练好的转换因子计算模型,得到目标转换因子。

在一个可选的实施例中,所述预训练好的转换因子计算模型可以设置在服务器102中,服务器102在获取到第一运动数据和第二运动数据之后,将其输入至预训练好的转换因子计算模型,得到目标转换因子。

在另一个可选的实施例中,为了减轻服务器102的负载,请参阅图5,图5为本申请实施例提供的基于运动数据重定向的内容生成方法的又一应用场景示意图,该场景中,服务器102与运动数据处理服务器103连接,构成逻辑上相关联的服务集群,运动数据处理服务器103可以用于对运动数据进行处理,还可以用于进行转换因子计算模型的训练。

服务器102在获取到第一运动数据和第二运动数据之后,可以将其发送至运动数据处理服务器103中,运动数据处理服务器103中设置有预训练好的转换因子计算模型,其在接收到第一运动数据和第二运动数据之后,将第一运动数据和第二运动数据输入至预训练好的转换因子计算模型,得到目标转换因子,并将目标转换因子返回至服务器102。

其中,所述目标转换因子用于将所述第一运动数据中所述源对象的骨骼长度转换为所述目标对象的骨骼长度,所述骨骼长度基于运动数据中人体关键点的位置确定。

在本申请实施例中,骨骼是指连接人体关键点所形成的边,骨骼长度是指相对骨骼长度,例如:将头部关键点至中臀部关键点之间的骨骼长度设置为1,那么连接其他人体关键点形成的骨骼的相对骨骼长度则可以是相对于1的缩放比例,通过采用相对骨骼长度可以更便于进行运动数据的重定向。

下面将针对转换因子计算模型的训练过程进行详细说明,转换因子计算模型的训练过程可以在服务器102或者运动数据处理服务器103中进行,在此不进行限定。具体地,请参阅图6,图6为本申请第一实施例提供的基于运动数据重定向的内容生成方法的另一流程示意图,在执行步骤S102之前,还包括步骤S106~S109,具体如下:

S106:获取所述源对象的运动数据样本和随机转换因子;其中,所述源对象的运动数据样本为所述源对象做出若干个动作时采集的运动数据。

S107:根据所述运动数据样本、所述随机转换因子和预设的运动数据逆向重定向函数,得到逆向重定向后的运动数据样本,其中,所述预设的运动数据逆向重定向函数基于所述随机转换因子的倒数转换所述运动数据样本中所述源对象的骨骼长度。

S108:从所述运动数据样本中随机获取所述源对象做出一个动作时采集的运动数据。

S109:根据所述随机转换因子、所述运动数据样本、所述逆向重定向后的运动数据样本、所述源对象做出一个动作时采集的运动数据、预设的模型损失函数和预设的模型优化算法,对所述转换因子计算模型进行训练,得到所述预训练好的转换因子计算模型。

在一个可选的实施例中,该转换因子计算模型可以为任意一种深度学习模型,例如:循环神经网络模型、长短期记忆网络模型等。在另一个可选的实施例中,该转换因子计算模型也可以为若干个深度学习模型的集成模型,例如:转换因子计算模型中可以包括用于动作编码的第一深度学习模型、用于编码的第二深度学习模型以及用于预测的第三深度学习模型。

在未对转换因子计算模型进行训练之前,需要先获取所述源对象的运动数据样本和随机转换因子。

其中,所述源对象的运动数据样本为所述源对象做出若干个动作时采集的运动数据。此处,对于源对象做出的动作不进行限定,其可以为任意的若干个动作。

在本实施例中,将第i个源对象的运动数据样本表示为Xi表示第i个源对象的运动数据样本中包括ti×k×2个实数,其中,ti是指运动数据样本的序列长度,可以理解为源对象所做的若干个动作的数量,k是指某一动作下人体关键点的数目,2表示运动数据样本是二维的运动数据样本,由两个坐标确定一个人体关键点的位置。

所述随机转换因子是服务器通过任意随机数生成算法生成的,其可以为任意正数。

在获取到随机转换因子之后,服务器根据运动数据样本、所述随机转换因子和预设的运动数据逆向重定向函数,得到逆向重定向后的运动数据样本。

在理解预设的运动数据逆向重定向函数之前,先对预设的运动数据重定向函数进行说明。

假设调用预设的运动数据重定向函数对运动数据A(对象A做出任意一个动作时采集的运动数据)进行处理,那么,在预设的运动数据重定向函数中会先根据运动数据A中人体关键点的位置获取到对象A的骨骼长度,再基于转换因子将对象A的骨骼长度进行变换,例如:缩短、拉长或保持不变,之后,再根据变换后的骨骼长度计算出人体关键点的位置,进而得到基于该转换因子重定向后的运动数据。

需要说明的是,本申请实施例中预设的运动数据重定向函数仅改变骨骼长度,不改变骨骼对之间的夹角大小。

所述预设的运动数据逆向重定向函数基于所述随机转换因子的倒数转换所述运动数据样本中所述源对象的骨骼长度,得到逆向重定向后的运动数据样本。

在本实施例中,将随机转换因子表示为αi,预设的运动数据重定向函数表示为f,预设的运动数据逆向重定向函数表示为f-1,逆向重定向后的运动数据样本表示为Xi',那么Xi'=f-1(Xii)。

通过对运动数据样本进行逆向重定向操作,使得在训练转换因子计算模型时,不需要采集成对的运动数据,即,不需要采集由不同对象做出相同动作的运动数据,能够极大程度地降低数据获取难度和获取成本。

除了对运动数据样本逆向重定向之外,还需要从所述运动数据样本Xi中随机获取所述源对象做出一个动作时采集的运动数据xi,其中,xi∈Rk×2,表示第i个源对象做出一个动作时采集的运动数据中包括k×2个实数,k是指某一动作下人体关键点的数目,2表示运动数据样本是二维的运动数据样本,由两个坐标确定一个人体关键点的位置。

之后,根据所述随机转换因子αi、所述运动数据样本Xi、所述逆向重定向后的运动数据样本Xi'、所述源对象做出一个动作时采集的运动数据xi、预设的模型损失函数和预设的模型优化算法,对所述转换因子计算模型进行训练,得到所述预训练好的转换因子计算模型。

其中,预设的模型损失函数可以为任意一种损失函数,例如:均方误差损失函数、交叉熵损失函数等,在此不进行限定。

预设的模型优化算法也可以为任意一种深度学习优化算法,例如:Momentum优化算法、RMSProp优化算法或者Adam优化算法等。

具体地,在训练开始之前,需要先随机初始化所述转换因子计算模型的可训练参数,得到初始化后的所述转换因子计算模型,之后将所述运动数据样本、所述逆向重定向后的运动数据样本和所述源对象做出一个动作时采集的运动数据输入初始化后的所述转换因子计算模型,得到将所述逆向重定向后的运动数据样本转化为所述运动数据样本的预测转换因子,再之后根据所述预测转换因子、所述随机转换因子、预设的模型损失函数和预设的模型优化算法迭代训练所述转换因子计算模型的所述可训练参数,直至所述转换因子计算模型输出的所述预测转换因子与所述随机转换因子的误差满足预设误差阈值,得到预训练好的所述转换因子计算模型。

在一个可选的实施例中,其中,Fθ表示可训练参数为θ的转换因子计算模型,θ表示还未训练好的可训练差参数,表示预测转换因子,L表示预设的损失函数,表示使达到最小值满足预设误差阈值时的θ值,也就是预训练好的可训练参数

请参阅图7,图7为本申请实施例提供的转换因子计算模型的训练过程示意图。如图7所示,获取所述源对象的运动数据样本Xi和随机转换因子αi,之后根据随机转换因子αi,对源对象的运动数据样本Xi逆向重定向,得到逆向重定向后的运动数据样本Xi',并且,从所述运动数据样本Xi中随机获取所述源对象做出一个动作时采集的运动数据xi,之后根据所述随机转换因子αi、所述运动数据样本Xi、所述逆向重定向后的运动数据样本Xi'、所述源对象做出一个动作时采集的运动数据xi、预设的模型损失函数L和预设的模型优化算法,对所述转换因子计算模型进行训练,得到所述预训练好的转换因子计算模型,即得到预训练好的可训练参数

在一个可选的实施例中,第一运动数据可以表示为Xs,Xs∈Rts×k×2表示源对象做出至少一个目标动作时采集的第一运动数据中包括ts×k×2个实数,ts是指第一运动数据中目标动作的数量,k是指某一动作下人体关键点的数目,2表示运动数据样本是二维的运动数据样本,由两个坐标确定一个人体关键点的位置。

第二运动数据可以表示为xt,xt∈Rk×2表示目标对象做出任意一个动作时采集的第二运动数据中包括k×2个实数。

目标转换因子表示为α,那么 为预训练好的可训练参数,表示预训练好的转换因子计算模型。

请参阅图8,图8为本申请实施例提供的第一运动数据的重定向过程示意图。由图8可以清楚地了解到,在得到预训练好的可训练参数之后,就可以将第一运动数据Xs和第二运动数据xt输入至预训练好的转换因子计算模型中,得到目标转换因子α。

下面针对S103进行说明,如图8所示,根据所述第一运动数据Xs、所述目标转换因子α和预设的运动数据重定向函数f,得到重定向后的第一运动数据Xt,Xt=f(Xs,α)。

在一个可选的实施例中,请参阅图9,图9为本申请实施例提供的转换因子计算模型的结构示意图,如图9所示,预训练好的转换因子计算模型中包括动作编码子模型、运动编码子模型和转换因子预测子模型。在将第一运动数据和第二运动数据输入该预训练好的转换因子计算模型之后,第一运动数据输入至运动编码子模型中,得到运动编码子模型输出的编码后的第一运动数据,第二运动数据输入动作编码子模型中,得到动作编码子模型输出的编码后的第二运动数据,再之后,将所述编码后的第一运动数据和编码后的第二运动数据输入转换因子预测模型,得到所述转换因子预测模型输出的所述目标转换因子。

动作编码子模型和运动编码子模型的区别在于从功能角度来说,动作编码子模型是针对某一动作对应的运动数据进行编码,而运动编码子模型是针对至少一个动作对应的运动数据进行编码,在一个可选的实施例中,动作编码子模型和运动编码子模型在未训练前可以是采用相同的模型架构,但是在训练好之后其内的模型参数可能会存在差异。

下面将针对S104进行说明,服务器根据重定向后的第一运动数据,生成所述目标对象做出所述至少一个目标动作的目标内容。

重定向后的第一运动数据中包括目标对象做出至少一个目标动作时人体关键点的位置集合,即,也可以理解为目标对象在不同时间戳下的人体关键的位置结合。

服务器基于重定向后的第一运动数据即可以生成目标对象做出至少一个目标动作的目标内容。

例如:假设源对象为一个舞蹈家(真实人物),第一运动数据为舞蹈家做出至少一个舞蹈动作时采集的运动数据,目标对象为一个残疾人(真实人物),第二运动数据为残疾人坐着时采集的运动数据,那么在根据第一运动数据、第二运动数据和预训练好的转换因子计算模型,得到目标转换因子之后,就可以利用这个目标转换因子对第一运动数据重定向,得到重定向后的第一运动数据,重定向后的第一运动数据中由人体关键点位置确定的骨骼长度,将由源对象的骨骼长度转变目标对象的骨骼长度,因而,基于重定向后的第一运动数据生成的目标内容就是该残疾人做出至少一个舞蹈动作的内容。

再例如:假设源对象为一个玩家(真实人物),第一运动数据为玩家做出至少一个搞笑动作时采集的运动数据,目标对象为一个卡通人物(虚拟人物),第二运动数据为卡通人物站立时采集的运动数据,那么在根据第一运动数据、第二运动数据和预训练好的转换因子计算模型,得到目标转换因子之后,就可以利用这个目标转换因子对第一运动数据重定向,得到重定向后的第一运动数据,重定向后的第一运动数据中由人体关键点位置确定的骨骼长度,将由源对象的骨骼长度转变目标对象的骨骼长度,因而,基于重定向后的第一运动数据生成的目标内容就是该卡通人物做出至少一个搞笑动作的内容。

为了能够使的生成的目标内容更为逼真,本方法还需要获取目标对象做出所述任意一个动作时采集的所述目标对象的表面纹理数据,之后根据重定向后的第一运动数据和目标对象的所述表面纹理数据,生成目标对象做出所述至少一个目标动作的目标内容。

在一个可选的实施例中,表面纹理数据还包括目标对象的人脸表面的纹理数据以及目标对象的肢体(即骨骼)表面的纹理数据,包括皮肤纹理和服饰纹理等。

在本实施例中,通过采集目标对象的表面纹理数据,能够使生成的目标内容更为逼真,效果更好。

在另一个可选的实施例中,若目标对象是虚拟人物,那么可以直接获取目标对象对应的虚拟人物运动模型。

在虚拟人物运动模型中已经存储了目标对象的各种纹理信息,只需将重定向后的第一运动数据输入至目标对象对应的虚拟人物运动模型中,即可生成所述目标对象做出所述至少一个目标动作的所述目标内容。

在本实施例中,由于减少了目标对象的表面纹理信息的提取过程,能够进一步提升目标内容的生成速度。

下面将针对步骤S105进行说明,服务器将所述目标内容发送至所述客户端,客户端接收到该目标内容,并将目标内容添加至交互界面中显示。

其中,该交互界面在不同的应用场景下是不同的,在短视频应用场景下,该交互界面可以是用户的短视频生成界面,在网络直播应用场景下,该交互界面可以是直播间界面,在此不进行限定。

本申请实施例通过源对象做出至少一个目标动作时采集的第一运动数据、目标对象做出任意一个动作时采集的第二运动数据和预训练好的转换因子计算模型,即可得到目标转换因子,由于该目标转换因子仅用于改变骨骼长度,而不改变骨骼之间的夹角,因而可以有效避免生成内容中动作的失真,提高内容生成效率,并且,由于预训练好的转换因子计算模型只需要目标对象做出任意一个动作时采集的第二运动数据作为输入,因而也降低了运动数据的采集难度和采集成本。

请参阅图10,图10为本申请第二实施例提供的基于运动数据重定向的内容生成方法的流程示意图,在执行步骤S101~S105的基础上,所述方法还包括步骤S110~S111,具体如下:

S110:响应主播客户端发送的直播互动请求,解析所述直播互动请求,存储所述直播互动请求中的所述源内容。

S111:发送内容生成弹窗数据至加入直播间的观众客户端,其中,所述观众客户端根据所述内容生成弹窗数据,在直播间界面中显示所述内容生成弹窗,所述观众客户端响应对所述内容生成弹窗的触发指令,获取观众上传的所述静态影像,将包括所述静态影像和所述源内容标识的所述目标内容生成请求发送至服务器。

步骤S110~S111用于说明在网络直播应用场景下,如何触发观众客户端生成目标生成请求并发送至服务器。

具体地,服务器响应主播客户端发送的直播互动请求,解析所述直播互动请求,存储所述直播互动请求中的所述源内容。其中,所述源内容可以是在直播间的视频窗口中播放的至少一帧视频画面,例如:主播跳舞的视频内容。

在一个可选的实施例中,可以通过如下方式触发主播客户端发送该直播互动请求。服务器下发直播互动控件数据至主播客户端,主播客户端接收直播互动控件数据,根据所述直播互动控件数据,在直播间界面中显示直播互动控件,主播通过与直播互动控件进行交互,触发主播客户端执行直播互动控件关联的进程,例如:录制视频窗口中播放的视频画面,并基于录制的视频画面生成直播互动请求,发送直播互动请求至服务器。

之后,服务器响应主播客户端发送的直播互动请求,解析直播互动请求,发送内容生成弹窗数据至加入直播间的观众客户端。

其中,内容生成弹窗数据用于在直播间界面中显示该内容生成弹窗,内容生成弹窗中会显示有相关的提示说明,引导观众用户去生成目标内容,即生成观众用户做出主播所做的动作的目标视频。所述提示说明可以包括源内容和引导话术等

在一个可选的实施例中,内容生成弹窗中包括照片上传控件和确认互动控件,观众用户通过与照片上传控件交互,上传包括自身人体关键点的静态影像,例如全身照,之后点击确认互动控件,发出对内容生成弹窗的触发指令,观众客户端响应对内容生成弹窗的触发指令,获取观众用户上传的静态影像,将包括所述静态影像和源内容标识的目标内容生成请求发送至服务器。

在本实施例中详细说明了在网络直播场景下如何触发观众客户端生成目标生成请求并发送至服务器,从而以便于更加明确基于运动数据重定向的内容生成方法如何应用于网络直播场景中。

此外,在本申请实施例中还要说明在短视频场景下,如何触发观众客户端生成目标生成请求并发送至服务器,具体如下:

在短视频场景下无需区分观众客户端和主播客户端,均以客户端统称。

在一个可选的实施例中,可以在交互界面中增加内容生成功能,具体地,可以将第一内容生成组件显示在短视频生成界面中,用户可以浏览第一内容生成组件中的内容,例如:短视频,选择其中某一个短视频作为源内容,并上传包括自身人体关键点的静态影像,例如全身照,之后触发客户端执行第一内容生成组件关联的进程,生成包括所述静态影像和源内容标识的目标内容生成请求,将目标内容生成请求发送至服务器。

在另一个可选的实施例中,可以直接在短视频浏览界面中每个短视频的下方显示第二内容生成组件,用户可以通过点击第二内容生成组件上传包括自身人体关键点的静态影像,例如全身照,之后触发客户端执行第二内容生成组件关联的进程,生成包括该第二内容生成组件关联的源内容标识和静态影像的目标内容生成请求,将目标内容生成请求发送至服务器。

在本实施例中举例说明了在短视频应用场景下如何触发观众客户端生成目标生成请求并发送至服务器,从而以便于更加明确基于运动数据重定向的内容生成方法如何应用于短视频应用场景中。

请参见图11,为本申请第三实施例提供的基于运动数据重定向的内容生成装置的结构示意图。该装置可以通过软件、硬件或两者的结合实现成为服务器的全部或一部分。该装置11包括:

第一响应单元111,用于响应客户端发送的目标内容生成请求,解析所述目标内容生成请求,获取源对象做出至少一个目标动作时采集的第一运动数据以及目标对象做出任意一个动作时采集的第二运动数据;

第一获取单元112,用于根据所述第一运动数据、所述第二运动数据和预训练好的转换因子计算模型,得到目标转换因子,其中,所述目标转换因子用于将所述第一运动数据中所述源对象的骨骼长度转换为所述目标对象的骨骼长度,所述骨骼长度基于运动数据中人体关键点的位置确定;

重定向单元113,用于根据所述第一运动数据、所述目标转换因子和预设的运动数据重定向函数,得到重定向后的第一运动数据;

内容生成单元114,用于根据所述重定向后的第一运动数据,生成所述目标对象做出所述至少一个目标动作的目标内容;

显示单元,用于将所述目标内容发送至所述客户端,其中,所述客户端将所述目标内容显示在交互界面中。

需要说明的是,上述实施例提供的基于运动数据重定向的内容生成装置在执行基于运动数据重定向的内容生成方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分为不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于运动数据重定向的内容生成装置与基于运动数据重定向的内容生成方法属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。

请参见图12,为本申请第四实施例提供的计算机设备的结构示意图。如图12所示,该计算机设备12可以包括:处理器120、存储器121以及存储在该存储器121并可以在该处理器120上运行的计算机程序122,例如:基于运动数据重定向的内容生成方法;该处理器120执行该计算机程序122时实现上述第一实施例至第二实施例中的步骤。

其中,该处理器120可以包括一个或多个处理核心。处理器120利用各种接口和线路连接计算机设备12内的各个部分,通过运行或执行存储在存储器121内的指令、程序、代码集或指令集,以及调用存储器121内的数据,执行计算机设备12的各种功能和处理数据,可选的,处理器120可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programble LogicArray,PLA)中的至少一个硬件形式来实现。处理器120可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责触摸显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器120中,单独通过一块芯片进行实现。

其中,存储器121可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器121包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器121可用于存储指令、程序、代码、代码集或指令集。存储器121可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控指令等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器121可选的还可以是至少一个位于远离前述处理器120的存储装置。

本申请实施例还提供了一种计算机存储介质,该计算机存储介质可以存储有多条指令,该指令适用于由处理器加载并执行上述所示实施例的方法步骤,具体执行过程可以参见所示实施例的具体说明,在此不进行赘述。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。

本发明并不局限于上述实施方式,如果对本发明的各种改动或变形不脱离本发明的精神和范围,倘若这些改动和变形属于本发明的权利要求和等同技术范围之内,则本发明也意图包含这些改动和变形。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:一种基于虚拟现实的图像信息生成方法、装置和可读介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!