CN113327312B - 虚拟角色的驱动方法、装置、设备以及存储介质 - Google Patents

虚拟角色的驱动方法、装置、设备以及存储介质 Download PDF

Info

Publication number
CN113327312B
CN113327312B CN202110586208.6A CN202110586208A CN113327312B CN 113327312 B CN113327312 B CN 113327312B CN 202110586208 A CN202110586208 A CN 202110586208A CN 113327312 B CN113327312 B CN 113327312B
Authority
CN
China
Prior art keywords
driving
information
switching
virtual character
drive
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
Application number
CN202110586208.6A
Other languages
English (en)
Other versions
CN113327312A (zh
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202110586208.6A priority Critical patent/CN113327312B/zh
Publication of CN113327312A publication Critical patent/CN113327312A/zh
Application granted granted Critical
Publication of CN113327312B publication Critical patent/CN113327312B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed

Abstract

本公开提供了虚拟角色的驱动方法、装置、设备、存储介质以及计算机程序产品,涉及人工智能技术领域,尤其涉及计算机视觉领域。具体实现方案为:获取虚拟角色模型;获取由实体对象产生的第一驱动信息,并基于第一驱动信息驱动虚拟角色模型;响应于第一驱动信息中包括驱动切换指令,获取第二驱动信息;将基于第一驱动信息驱动所述虚拟角色模型,切换为基于第二驱动信息驱动虚拟角色模型。虚拟角色的驱动方式可以进行切换,提高了虚拟角色驱动的灵活性。

Description

虚拟角色的驱动方法、装置、设备以及存储介质
技术领域
本公开涉及人工智能技术领域,具体涉及计算机视觉等领域,尤其涉及一种虚拟角色的驱动方法、装置、设备、存储介质以及计算机程序产品。
背景技术
随着人工智能技术的快速发展,虚拟偶像和虚拟主播也逐渐被广泛使用,这些虚拟角色的动作和表情均可以由真人主播的动作和表情进行实时控制。
发明内容
本公开提供了一种虚拟角色的驱动方法、装置、设备、存储介质以及计算机程序产品,提高了虚拟角色驱动的灵活性。
根据本公开的一方面,提供了一种虚拟角色的驱动方法,包括:获取虚拟角色模型;获取由实体对象产生的第一驱动信息,并基于第一驱动信息驱动虚拟角色模型;响应于第一驱动信息中包括驱动切换指令,获取第二驱动信息;将基于第一驱动信息驱动虚拟角色模型,切换为基于第二驱动信息驱动虚拟角色模型。
根据本公开的另一方面,提供了一种虚拟角色的驱动装置,包括:获取模块,被配置为获取虚拟角色模型;第一驱动模块,被配置为获取由实体对象产生的第一驱动信息,并基于第一驱动信息驱动虚拟角色模型;切换模块,被配置为响应于第一驱动信息中包括驱动切换指令,获取第二驱动信息;第二驱动模块,被配置为将基于第一驱动信息驱动虚拟角色模型,切换为基于第二驱动信息驱动虚拟角色模型。
根据本公开的又一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被上述至少一个处理器执行,以使上述至少一个处理器能够执行上述虚拟角色的驱动方法。
根据本公开的又一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,上述计算机指令用于使上述计算机执行上述虚拟角色的驱动方法。
根据本公开的再一方面,提供了一种计算机程序产品,包括计算机程序,上述计算机程序在被处理器执行时实现上述虚拟角色的驱动方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是本公开可以应用于其中的示例性系统架构图;
图2是根据本公开的虚拟角色的驱动方法的一个实施例的流程图;
图3是根据本公开的虚拟角色的驱动方法的另一个实施例的流程图;
图4是根据本公开的虚拟角色的驱动方法的又一个实施例的流程图;
图5是根据本公开的虚拟角色的驱动装置的一个实施例的结构示意图;
图6是用来实现本公开实施例的虚拟角色的驱动方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1示出了可以应用本公开的虚拟角色的驱动方法或虚拟角色的驱动装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送云平台的资源配额使用请求等。终端设备101、102、103上可以安装有各种客户端应用,例如虚拟角色生成应用等等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述电子设备中。其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以提供各种基于虚拟角色的服务。例如,服务器105可以对从终端设备101、102、103获取到的驱动信息进行分析和处理,并生成处理结果(例如对虚拟角色进行驱动等)。
需要说明的是,服务器105可以是硬件,也可以是软件。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器105为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
需要说明的是,本公开实施例所提供的虚拟角色的驱动方法一般由服务器105执行,相应地,虚拟角色的驱动装置一般设置于服务器105中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,其示出了根据本公开的虚拟角色的驱动方法的一个实施例的流程200。该驱动方法包括以下步骤:
步骤201、获取虚拟角色模型。
在本实施例中,虚拟角色模型通常是一个人物形象的3D模型。虚拟角色的驱动方法的执行主体(例如图1所示的服务器105)可以直接创建一个新的虚拟角色模型,或者从已有的虚拟角色模型库中选择一个虚拟角色模型。通常,可以先获取一个预先构建的基础角色模型,然后根据实际需求进行个性化修饰,例如,对基础角色模型的发型、脸型、身材和服饰等进行配置,最后得到需要的虚拟角色模型。
需要说明的是,本实施例中的虚拟角色模型可以用现有技术中的3D建模方法进行构建,在此不再赘述。
步骤202、获取由实体对象产生的第一驱动信息,并基于第一驱动信息驱动虚拟角色模型。
在本实施例中,虚拟角色模型需要通过实体对象进行实时驱动,其中,实体对象由真人担当。上述执行主体在获取到由实体对象当前产生的第一驱动信息后,可以根据第一驱动信息去驱动虚拟角色模型进行动作或表情。其中,第一驱动信息可以由一些外部设备进行采集,例如,可以使用图像传感器获取实体对象的脸部照片,并通过图像识别技术确定脸部照片中的面部表情,然后通过面部表情生成的第一的表情驱动信息。上述执行主体在接收到第一的表情驱动信息后,可以利用该信息变更虚拟角色模型的面部表情,以使虚拟角色模型的面部表情与实体对象保持一致。通过这种方式来驱动虚拟角色模型,得到的虚拟角色更加真实,更容易被观众所接受。
步骤203、响应于第一驱动信息中包括驱动切换指令,获取第二驱动信息。
在本实施例中,上述执行主体在接收到第一驱动信息后,除了如上述步骤202所述驱动虚拟角色模型之外,还需要同时检测第一驱动信息中是否包含有驱动切换指令。例如,如果对上述表情驱动信息进行分析后,发现实体对象做了预先指定的特定表情,如双眼同时闭合,则可以认为第一驱动信息中包括了驱动切换指令,此时可以进一步获取第二驱动信息。其中,第二驱动信息是不同于第一驱动信息的另一种驱动信息。例如,第二驱动信息可以是由与上述实体对象不同的另一个真人产生的驱动信息。
步骤204、将基于第一驱动信息驱动虚拟角色模型,切换为基于第二驱动信息驱动虚拟角色模型。
在本实施例中,上述执行主体在得到第二驱动信息后,首先需要断开第一驱动信息与虚拟角色模型之间的的驱动关系,使得虚拟角色模型不再被上述实体对象所驱动。然后,再基于第二驱动信息驱动虚拟角色模型,从而实现了对虚拟角色模型的驱动方式的切换。
本公开实施例提供的虚拟角色的驱动方法,首先获取虚拟角色模型,然后获取由实体对象产生的第一驱动信息,并基于第一驱动信息驱动虚拟角色模型;接着响应于第一驱动信息中包括驱动切换指令,获取第二驱动信息;最后将基于第一驱动信息驱动虚拟角色模型,切换为基于第二驱动信息驱动虚拟角色模型。通过从虚拟角色模型的第一驱动信号中获取驱动切换指令,使得实体对象在驱动虚拟形象模型的同时可以驱动切换操作,而不再需要额外的人力来触发相关功能,节省了人力成本,同时,快速的改变了虚拟角色的驱动源,提高了虚拟角色驱动的灵活性。
在本实施例的一些可选实现方式中,上述第一驱动信息包括:第一肢体动作信息、第一面部表情信息和第一声音信息中的至少一项。其中,第一肢体动作信息可以是由绑定在实体对象肢体上的动作捕捉设备采集的,也可以是通过机器视觉技术对实体对象的第一照片进行分析得到的,包括四肢和躯干的姿态以及位置信息。第一肢体动作信息还可以包括手指动作信息,手指动作信息可以是由绑定在实体对象手上的手指动作捕捉设备采集的,包括手指的姿态以及位置信息。第一面部表情信息可以是由固定在实体对象面前的图像传感器第一采集的,通过对采集到的图像进行分析,可以得到实体对象的眼球信息、嘴部形貌信息等作为面部表情信息;第一声音信息可以是由固定在实体对象嘴边的声音传感器第一采集的。上述执行主体可以利用第一肢体动作信息驱动虚拟角色模型的躯干和四肢动作,利用第一手指动作信息驱动虚拟角色模型的手指动作,利用第一面部表情信息驱动虚拟角色模型做出同样的面部表情,并利用第一声音信息驱动虚拟角色模型发出声音。
相应的,第一驱动信息中包括的驱动切换指令可以是第一肢体动作信息中包括的肢体动作指令、第一面部表情信息中包括的表情指令或第一声音信息包括的声音指令中的一项。这些指令都可以用于指示执行驱动切换操作。例如,如果检测到第一肢体动作信息中有预设的动作指令——“双臂同时举起”,则可以执行驱动切换操作。在本实施例中,实体对象可以通过多种方式触发驱动切换,进一步降低了虚拟角色驱动切换的操作难度。
进一步继续参考图3,其示出了根据本公开的虚拟角色的驱动方法的另一个实施例的流程300。该驱动方法包括以下步骤:
步骤301、获取虚拟角色模型。
在本实施例中,步骤301具体操作已在图2所示的实施例中步骤201进行了详细的介绍,在此不再赘述。
步骤302、获取由实体对象产生的第一驱动信息,并基于第一驱动信息驱动虚拟角色模型。
在本实施例中,步骤302具体操作已在图2所示的实施例中步骤202进行了详细的介绍,在此不再赘述。
在本实施例的一些实现方式中,在第一驱动信息包括第一声音信息的情况下,本实施例还包括下述步骤303A和步骤304A。
步骤303A、响应于第一声音信息中包含驱动切换关键字,确定接收到驱动切换指令。
在本实施例中,上述执行主体在接收到第一驱动信息后,除了如上述步骤302所述驱动虚拟角色模型之外,还需要同时检测第一驱动信息中的第一声音信息中是否包含有驱动切换关键字。其中,驱动切换关键字可以由用户(也即上述实体对象)预先指定,例如,“跳XX舞”或“唱XX歌”等。一旦从第一声音信息中检测到这些预设的驱动切换关键词,就可以认为接收到了驱动切换指令,需要执行驱动切换操作。
步骤304A、基于驱动切换关键字,获取第二驱动信息。
在本实施例中,上述执行主体在确认接收到驱动切换指令后,可以进一步获取与上述驱动切换关键字相关的第二驱动信息。具体地,第一声音信息中所包含的驱动切换关键字可以激活上述执行主体内置的AI助手,该AI助手可以根据驱动切换关键字的具体内容,选择合适的第二驱动信息。例如,当驱动切换关键字为“跳XX舞”时,AI助手可以获取与“XX舞”相关的第二驱动信息;当驱动切换关键字为“播放XX歌”时,AI助手可以获取与“XX歌”相关的第二驱动信息。
在本实施例的另一些实现方式中,在第一驱动信息包括第一肢体动作信息的情况下,本实施例还包括下述步骤303B和步骤304B。
步骤303B、响应于第一肢体动作信息中包含驱动切换动作,确定接收到驱动切换指令。
在本实施例中,上述执行主体在接收到第一驱动信息后,除了如上述步骤302所述驱动虚拟角色模型之外,还需要同时检测第一驱动信息中的第一肢体动作信息中是否包含有驱动切换动作。其中,驱动切换动作可以由用户(也即上述实体对象)预先指定,例如,双臂展开或双手比“V”字等。一旦从第一肢体信息中检测到这些预设的驱动切换动作,就可以认为接收到了驱动切换指令,需要执行驱动切换操作。
步骤304B、基于驱动切换动作,获取第二驱动信息。
在本实施例中,上述执行主体在确认接收到驱动切换指令后,可以进一步获取与上述驱动切换动作相关的第二驱动信息。具体地,可以预先保存一个驱动切换动作与第二驱动信息的对应关系表,然后从这个对应关系表中得到与驱动切换动作对应的第二驱动信息。例如,若每次虚拟形象进行直播时都会首先进行一个固定的唱跳表演,则可以基于双臂展开的驱动切换动作,获取与上述唱跳表演相关的第二驱动信息。
在本实施例的又一些实现方式中,在第一驱动信息包括第一面部表情信息的情况下,本实施例还包括下述步骤303C和步骤304C。
步骤303C、响应于第一面部表情信息中包含驱动切换表情,确定接收到驱动切换指令。
在本实施例中,上述执行主体在接收到第一驱动信息后,除了如上述步骤302所述驱动虚拟角色模型之外,还需要同时检测第一驱动信息中的第一面部表情信息中是否包含有驱动切换表情。其中,驱动切换表情可以由用户(也即上述实体对象)预先指定,例如,双眼闭合或吐舌头等。一旦从第一面部表情信息中检测到这些预设的驱动切换表情,就可以认为接收到了驱动切换指令,需要执行驱动切换操作。
步骤304C、基于驱动切换表情,获取第二驱动信息。
在本实施例中,上述执行主体在确认接收到驱动切换指令后,可以进一步获取与上述驱动切换表情相关的第二驱动信息。具体地,可以预先保存一个驱动切换表情与第二驱动信息的对应关系表,然后从这个对应关系表中得到与驱动切换表情对应的第二驱动信息。例如,若每次虚拟形象直播结束时都会演唱一首歌曲,则可以基于双眼闭合的驱动切换表情,获取与上述歌曲相关的第二驱动信息。
需要说明的是,步骤303A和304A是一组关联步骤,步骤303B和304B是另一组关联步骤,步骤303C和304C是又一组关联步骤。在本实施例中的驱动方法中,可以只包括上述一组关联步骤,也可以同时包括上述两组或三组关联步骤。当同时包括三组关联步骤时,可以同时检测步骤303A、303B和303C是否满足执行条件,并且在步骤304A、304B或304C执行完毕后,进一步执行步骤305。
步骤305、将基于第一驱动信息驱动虚拟角色模型,切换为基于第二驱动信息驱动虚拟角色模型。
在本实施例中,步骤305具体操作已在图2所示的实施例中步骤204进行了详细的介绍,在此不再赘述。
从图3中可以看出,与图2对应的实施例相比,本实施例中的基于虚拟角色的驱动方法在基于第一驱动信息驱动虚拟角色模型后,进一步从第一声音信息中检测驱动切换关键字,并基于该驱动切换关键字获取第二驱动信息。本实施例中的驱动切换指令为语音指令、动作指令或表情指令中的一种或多种,并隐藏在第一驱动信息中,整个切换过程自然流畅,难以被观看虚拟形象演出的观众察觉。
进一步继续参考图4,其示出了根据本公开的虚拟角色的驱动方法的又一个实施例的流程400。该驱动方法包括以下步骤:
步骤401、获取虚拟角色模型。
在本实施例中,步骤401具体操作已在图2所示的实施例中步骤201进行了详细的介绍,在此不再赘述。
步骤402、获取由实体对象产生的第一驱动信息,并基于第一驱动信息驱动虚拟角色模型。
在本实施例中,步骤402具体操作已在图2所示的实施例中步骤202进行了详细的介绍,在此不再赘述。
在本实施例中,第一驱动信息可以包括第一肢体动作信息。
步骤403、获取第一肢体动作信息中关键骨骼点的位移信息。
在本实施例中,上述执行主体获取的第一肢体动作信息中包含有关键骨骼点的位移信息。在进行肢体动作采集时,主要识别的是实体对象的关键骨骼点的位移轨迹,例如可以在关键骨骼点上绑定位移传感器或者通过图像处理技术对包括实体对象的连续图片进行识别,其中关键骨骼点可以是手肘、膝盖、手腕和脚腕等位置。关键骨骼点的位移轨迹和位移时间就构成了上述位移信息。
步骤404、根据位移信息计算关键骨骼点在第一时长内的第一平均位移速度。
在本实施例中,上述执行主体在得到关键骨骼点的位移轨迹和位移时间后,可以计算每一个关键骨骼点在第一时长内的单位时间位移量,得到各个关键骨骼点的位移速度,再将各个关键骨骼点的位移速度进行平均,就得到了上述平均位移速度。其中第一时长可以根据实际需要来设定,例如1分钟。第一时长的终止时刻可以是当前时刻,例如可以将当前时刻的前1分钟作为第一时长范围。关键骨骼点的平均位移速度可以在一定程度上代表肢体的运动速度。
步骤405、检测到第一平均位移速度大于速度阈值,确认第一肢体动作信息中包含驱动切换动作。
在本实施例中,上述执行主体在计算得到第一平均位移速度后,需要进一步判断第一平均位移速度后是否大于预设的速度阈值,若是,则可以确认第一肢体动作信息中包含驱动切换动作。
步骤406、响应于确认第一肢体动作信息中包含驱动切换动作,确定接收到驱动切换指令。
步骤407、基于驱动切换动作,获取第二驱动信息。
在本实施例中,步骤406-407具体操作已在图3所示的实施例中步骤303B和304B进行了详细的介绍,在此不再赘述。
本实施例中可以根据肢体动作的速度来确定是否进行驱动切换,当关键骨骼点的第一平均位移速度大于速度阈值时,说明动作难度增加,此时直接将驱动源切换为已经预存的第二驱动信息,实体对象就不再需要频繁进行高强度的表演,极大降低了实体对象对虚拟角色的驱动强度和难度。
在本实施例的另一些可选实现方式中,驱动切换指令也可以根据第一驱动信息中其他信息的生成难度自动检测生成。例如,如果第一肢体动作信息包括的手指动作信息中的动作速度大于一定速度阈值,则可以认为检测到驱动切换指令,上述执行主体中的AI助手可以自动获取跳舞类的第二驱动信息;如果第一面部表情信息的表情变化速度大于一定速度阈值,则可以认为检测到驱动切换指令,上述AI助手可以自动获取表情包类的第二驱动信息;如果第一声音信息的音调变化符合预设唱歌规则,则可以认为检测到驱动切换指令,上述AI助手可以自动获取演唱类的第二驱动信息。从而进一步提高了虚拟角色的驱动切换效率。
步骤408、将基于第一驱动信息驱动虚拟角色模型,切换为基于第二驱动信息驱动虚拟角色模型。在本实施例中,步骤408具体操作已在图2所示的实施例中步骤203进行了详细的介绍,在此不再赘述。
在本实施例的一些可选实现方式中,第二驱动信息包括:预先采集的由实体对象产生的第二肢体动作信息。第二驱动信息同样是由上述实体对象产生的,其与第一驱动信息的区别在于不是实时的,而是之前采集的并被保存在存储介质中的历史驱动信息。在需要使用的第二驱动信息的时候,可以直接从存储介质中读取并提供给虚拟角色模型。本实施例中的第第二肢体动作信息可以包括手指动作信息。由于第二驱动信息与第一驱动信息都是由同一个实体对象产生的,因此在驱动信息切换前后,虚拟角色的动作能维持较高的一致性,使得这种基于第二驱动信息的非实时驱动不易被观看虚拟角色表演的观众所察觉,扩展了虚拟角色的适用范围。
在本实施例的另一些可选实现方式中,第二驱动信息还包括:预先采集的由实体对象产生的第二声音信息和第二面部表情信息;或合成语音信息;或歌曲音频信息。具体地,第二驱动信息中还可以包括声音信息,其来源主要有三种。第一种声音信息是预先采集的由实体对象产生的第二声音信息,由于发声会引起面部表情的改变,因此同时采集的还有实体对象产生的第二面部表情信息,与其他历史驱动信息类似,第二声音信息是实体对象发出的声音,其基本还原了实体对象的实时声音信息,使得虚拟对象的演出更有感染力。第二种声音信息是通过TTS(Text To Speech,从文本到语音)技术得到的合成语音信息,其合成比较方便,能够得到十分丰富语音信息库,便于虚拟形象进行各类表演。第三种声音信息是直接播放的歌手演唱的歌曲音频,然后根据歌词驱动虚拟角色的面部表情来“对口型”,这样不需要实体对象发声,虚拟角色就可以展现较好的演唱效果。本实施例中的第二驱动信息是预先存在的信息,在驱动切换后,上述实体对象可以得到充分的休息时间,而虚拟形象则可以持续进行演出,增加了虚拟形象的可用时长,提高了虚拟角色的利用率。
在本实施例的一些可选实现方式中,第二肢体动作信息对应的关键骨骼点在第一时长内的第二平均位移速度大于第一平均位移速度,所述第一平均位移速度为第一驱动信息中包括的第一肢体动作信息对应的关键骨骼点在第一时长内的平均位移速度。其中,第一平均位移速度为第一驱动信息中包括的第一肢体动作信息对应的关键骨骼点在第一时长内的平均位移速度,其计算过程可以参考上述步骤403-404的描述。第二平均位移速度的计算方式与第一平均位移速度类似,同样可以参考上述步骤403-404的描述,计算第二平均位移速度时的第一时长的起始时刻,可以在第二肢体动作的持续时间内任意选择。本实施例中的第二平均位移速度大于第一平均位移速度,说明历史肢体动作的速度要大于实时肢体动作的速度,例如,实时肢体动作对应的实体对象可能是在与观众进行交谈对话,而历史肢体动作对应的实体对象可能是在进行唱跳表演。这样,实体对象就不再需要频繁进行高强度的表演,而是直接将之前的表演数据切换进来驱动虚拟角色模型即可,极大降低了实体对象对虚拟角色的驱动强度和难度。
步骤409、响应于第二驱动信息输出结束,恢复基于第一驱动信息驱动虚拟角色模型。
在本实施例中,上述执行主体在基于第二驱动信息驱动虚拟角色模型之后,还会对第二驱动信息的输出状态进行检测。由于第二驱动信息是保存的历史信息,因此其长度是有限的,在第二驱动信息输出结束后,要及时恢复第一驱动信息对虚拟角色模型的驱动,以避免虚拟角色处于无驱动状态,提高驱动的连贯性。
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种虚拟角色的驱动装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的虚拟角色的驱动装置500可以包括获取模块501,第一驱动模块502,切换模块503和第二驱动模块504。其中,获取模块501,被配置为获取虚拟角色模型;第一驱动模块502,被配置为获取由实体对象产生的第一驱动信息,并基于第一驱动信息驱动虚拟角色模型;切换模块503,被配置为响应于第一驱动信息中包括驱动切换指令,获取第二驱动信息;第二驱动模块504,被配置将基于第一驱动信息驱动虚拟角色模型,切换为基于第二驱动信息驱动虚拟角色模型。
在本实施例中,虚拟角色的驱动装置500中:获取模块501,第一驱动模块502,切换模块503和第二驱动模块504的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201-204的相关说明,在此不再赘述。
在本实施例的一些可选实现方式中,第一驱动信息包括:第一肢体动作信息、第一面部表情信息和第一声音信息中的至少一项。
在本实施例的一些可选实现方式中,切换模块503包括:第一切换单元,被配置为在第一驱动信息包括第一声音信息的情况下,响应于第一声音信息中包含驱动切换关键字,确定接收到驱动切换指令;第一获取单元,被配置为基于驱动切换关键字,获取第二驱动信息;和/或,第二切换单元,被配置为在第一驱动信息包括第一肢体动作信息的情况下,响应于所述第一肢体动作信息中包含驱动切换动作,确定接收到驱动切换指令;第二获取单元,被配置为基于驱动切换动作,获取第二驱动信息;和/或,第三切换单元,被配置为在第一驱动信息包括第一面部表情信息的情况下,响应于第一面部表情信息中包含驱动切换表情,确定接收到驱动切换指令;第三获取单元,被配置为基于驱动切换表情,获取第二驱动信息。
在本实施例的一些可选实现方式中,第二切换单元包括:获取子单元,被配置为获取第一肢体动作信息中关键骨骼点的位移信息;计算子单元,被配置为根据位移信息计算关键骨骼点在第一时长内的第一平均位移速度;检测子单元,被配置为检测到第一平均位移速度大于速度阈值,确认第一肢体动作信息中包含驱动切换动作;确定子单元,被配置为响应于确认第一肢体动作信息中包含驱动切换动作,确定接收到驱动切换指令。
在本实施例的一些可选实现方式中,第二驱动信息包括:预先采集的由实体对象产生的第二肢体动作信息。
在本实施例的一些可选实现方式中,第二驱动信息还包括:预先采集的由实体对象产生的第二声音信息和第二面部表情信息;或合成语音信息;或歌曲音频信息。
在本实施例的一些可选实现方式中,第二肢体动作信息中包括关键骨骼点在所述第一时长内的第二平均位移速度;第二平均位移速度大于第一平均位移速度。
在本实施例的一些可选实现方式中,驱动装置500还包括:恢复模块,被配置为响应于第二驱动信息输出结束,恢复基于第一驱动信息驱动所述虚拟角色模型。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如虚拟角色的驱动方法。例如,在一些实施例中,虚拟角色的驱动方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的虚拟角色的驱动方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行虚拟角色的驱动方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。服务器可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (16)

1.一种虚拟角色的驱动方法,所述方法包括:
获取虚拟角色模型;
获取由实体对象产生的第一驱动信息,并基于所述第一驱动信息驱动所述虚拟角色模型;
响应于所述第一驱动信息中包括驱动切换指令,获取第二驱动信息;
将基于所述第一驱动信息驱动所述虚拟角色模型,切换为基于所述第二驱动信息驱动所述虚拟角色模型;
其中,所述第一驱动信息包括第一肢体动作信息,以及
所述响应于所述第一驱动信息中包括驱动切换指令,获取第二驱动信息,包括:
获取所述第一肢体动作信息中关键骨骼点的位移信息;
根据所述位移信息计算关键骨骼点在第一时长内的第一平均位移速度;
检测到所述第一平均位移速度大于速度阈值,确认所述第一肢体动作信息中包含驱动切换动作;
响应于确认所述第一肢体动作信息中包含驱动切换动作,确定接收到驱动切换指令;
基于所述驱动切换动作,获取第二驱动信息。
2.根据权利要求1所述的方法,其中,所述第一驱动信息还包括:第一面部表情信息和第一声音信息中的至少一项。
3.根据权利要求2所述的方法,其中,所述响应于所述第一驱动信息中包括驱动切换指令,获取第二驱动信息还包括:
在所述第一驱动信息包括第一声音信息的情况下,响应于所述第一声音信息中包含驱动切换关键字,确定接收到驱动切换指令;基于所述驱动切换关键字,获取第二驱动信息;和/或,
在所述第一驱动信息包括第一面部表情信息的情况下,响应于所述第一面部表情信息中包含驱动切换表情,确定接收到驱动切换指令;基于所述驱动切换表情,获取第二驱动信息。
4.根据权利要求1所述的方法,其中,所述第二驱动信息包括:
预先采集的由所述实体对象产生的第二肢体动作信息。
5.根据权利要求4所述的方法,所述第二驱动信息还包括:
预先采集的由所述实体对象产生的第二声音信息和第二面部表情信息;或
合成语音信息;或
歌曲音频信息。
6.根据权利要求4所述的方法,其中,
所述第二肢体动作信息对应的关键骨骼点在第一时长内的第二平均位移速度大于第一平均位移速度,所述第一平均位移速度为第一驱动信息中包括的第一肢体动作信息对应的关键骨骼点在第一时长内的平均位移速度。
7.根据权利要求1-6任一项所述的方法,其中,还包括:
响应于所述第二驱动信息输出结束,恢复基于所述第一驱动信息驱动所述虚拟角色模型。
8.一种虚拟角色的驱动装置,所述装置包括:
获取模块,被配置为获取虚拟角色模型;
第一驱动模块,被配置为获取由实体对象产生的第一驱动信息,并基于所述第一驱动信息驱动所述虚拟角色模型;
切换模块,被配置为响应于所述第一驱动信息中包括驱动切换指令,获取第二驱动信息;
第二驱动模块,被配置将基于所述第一驱动信息驱动所述虚拟角色模型,切换为基于所述第二驱动信息驱动所述虚拟角色模型;
其中,所述第一驱动信息包括第一肢体动作信息,以及所述切换模块包括:
第二切换单元,被配置为包括:获取子单元,被配置为获取所述第一肢体动作信息中关键骨骼点的位移信息;计算子单元,被配置为根据所述位移信息计算关键骨骼点在第一时长内的第一平均位移速度;检测子单元,被配置为检测到所述第一平均位移速度大于速度阈值,确认所述第一肢体动作信息中包含驱动切换动作;确定子单元,被配置为响应于确认所述第一肢体动作信息中包含驱动切换动作,确定接收到驱动切换指令
第二获取单元,被配置为基于所述驱动切换动作,获取第二驱动信息。
9.根据权利要求8所述的装置,其中,所述第一驱动信息还包括:第一面部表情信息和第一声音信息中的至少一项。
10.根据权利要求9所述的装置,其中,所述切换模块还包括:
第一切换单元,被配置为在所述第一驱动信息包括第一声音信息的情况下,响应于所述第一声音信息中包含驱动切换关键字,确定接收到驱动切换指令;第一获取单元,被配置为基于所述驱动切换关键字,获取第二驱动信息;和/或,
第三切换单元,被配置为在第一驱动信息包括第一面部表情信息的情况下,响应于所述第一面部表情信息中包含驱动切换表情,确定接收到驱动切换指令;第三获取单元,被配置为基于所述驱动切换表情,获取第二驱动信息。
11.根据权利要求8所述的装置,所述第二驱动信息包括:
预先采集的由所述实体对象产生的第二肢体动作信息。
12.根据权利要求11所述的装置,所述第二驱动信息还包括:
预先采集的由所述实体对象产生的第二声音信息和第二面部表情信息;或
合成语音信息;或
歌曲音频信息。
13.根据权利要求11所述的装置,其中,
所述第二肢体动作信息对应的关键骨骼点在第一时长内的第二平均位移速度大于第一平均位移速度,所述第一平均位移速度为第一驱动信息中包括的第一肢体动作信息对应的关键骨骼点在第一时长内的平均位移速度。
14.根据权利要求8-13任一项所述的装置,其中,还包括:
恢复模块,被配置为响应于所述第二驱动信息输出结束,恢复基于所述第一驱动信息驱动所述虚拟角色模型。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的方法。
CN202110586208.6A 2021-05-27 2021-05-27 虚拟角色的驱动方法、装置、设备以及存储介质 Active CN113327312B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110586208.6A CN113327312B (zh) 2021-05-27 2021-05-27 虚拟角色的驱动方法、装置、设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110586208.6A CN113327312B (zh) 2021-05-27 2021-05-27 虚拟角色的驱动方法、装置、设备以及存储介质

Publications (2)

Publication Number Publication Date
CN113327312A CN113327312A (zh) 2021-08-31
CN113327312B true CN113327312B (zh) 2023-09-08

Family

ID=77421799

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110586208.6A Active CN113327312B (zh) 2021-05-27 2021-05-27 虚拟角色的驱动方法、装置、设备以及存储介质

Country Status (1)

Country Link
CN (1) CN113327312B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116452787B (zh) * 2023-06-13 2023-10-10 北京中科闻歌科技股份有限公司 一种视觉驱动的虚拟角色处理系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108648280A (zh) * 2018-04-25 2018-10-12 深圳市商汤科技有限公司 虚拟角色驱动方法及装置、电子设备和存储介质
US10354256B1 (en) * 2014-12-23 2019-07-16 Amazon Technologies, Inc. Avatar based customer service interface with human support agent
WO2019232894A1 (zh) * 2018-06-05 2019-12-12 中国石油大学(华东) 一种基于复杂场景下的人体关键点检测系统及方法
CN110581947A (zh) * 2018-06-07 2019-12-17 脸谱公司 在虚拟现实内拍照
CN110650354A (zh) * 2019-10-12 2020-01-03 苏州大禹网络科技有限公司 虚拟动漫角色直播方法、系统、设备及存储介质
US10535174B1 (en) * 2017-09-14 2020-01-14 Electronic Arts Inc. Particle-based inverse kinematic rendering system
CN111862280A (zh) * 2020-08-26 2020-10-30 网易(杭州)网络有限公司 虚拟角色控制方法、系统、介质及电子设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3191934A4 (en) * 2014-09-09 2018-05-23 Botanic Technologies, Inc. Systems and methods for cinematic direction and dynamic character control via natural language output
US20200380259A1 (en) * 2019-06-02 2020-12-03 Microsoft Technology Licensing, Llc Response to a Real World Gesture in an Augmented Reality Session

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10354256B1 (en) * 2014-12-23 2019-07-16 Amazon Technologies, Inc. Avatar based customer service interface with human support agent
US10535174B1 (en) * 2017-09-14 2020-01-14 Electronic Arts Inc. Particle-based inverse kinematic rendering system
CN108648280A (zh) * 2018-04-25 2018-10-12 深圳市商汤科技有限公司 虚拟角色驱动方法及装置、电子设备和存储介质
WO2019232894A1 (zh) * 2018-06-05 2019-12-12 中国石油大学(华东) 一种基于复杂场景下的人体关键点检测系统及方法
CN110581947A (zh) * 2018-06-07 2019-12-17 脸谱公司 在虚拟现实内拍照
CN110650354A (zh) * 2019-10-12 2020-01-03 苏州大禹网络科技有限公司 虚拟动漫角色直播方法、系统、设备及存储介质
CN111862280A (zh) * 2020-08-26 2020-10-30 网易(杭州)网络有限公司 虚拟角色控制方法、系统、介质及电子设备

Also Published As

Publication number Publication date
CN113327312A (zh) 2021-08-31

Similar Documents

Publication Publication Date Title
CN111833418B (zh) 动画交互方法、装置、设备以及存储介质
TWI778477B (zh) 互動方法、裝置、電子設備以及儲存媒體
US10217260B1 (en) Real-time lip synchronization animation
CN111935537A (zh) 音乐短片视频生成方法、装置、电子设备和存储介质
TWI766499B (zh) 互動物件的驅動方法、裝置、設備以及儲存媒體
US9811937B2 (en) Coordinated gesture and locomotion for virtual pedestrians
CN114245099B (zh) 视频生成方法、装置、电子设备以及存储介质
KR20210113948A (ko) 가상 아바타 생성 방법 및 장치
EP4300431A1 (en) Action processing method and apparatus for virtual object, and storage medium
CN114895817B (zh) 交互信息处理方法、网络模型的训练方法及装置
CN113362263A (zh) 变换虚拟偶像的形象的方法、设备、介质及程序产品
CN112330781A (zh) 生成模型和生成人脸动画的方法、装置、设备和存储介质
CN106471572A (zh) 一种同步语音及虚拟动作的方法、系统及机器人
CN113327312B (zh) 虚拟角色的驱动方法、装置、设备以及存储介质
CN113822972A (zh) 基于视频的处理方法、设备和可读介质
CN117152208A (zh) 虚拟形象的生成方法、深度学习模型的训练方法及装置
CN114187392B (zh) 虚拟偶像的生成方法、装置和电子设备
WO2020042442A1 (zh) 表情包生成方法及装置
CN112634413B (zh) 生成模型和生成3d动画的方法、装置、设备和存储介质
CN113325951B (zh) 基于虚拟角色的操作控制方法、装置、设备以及存储介质
CN113327311B (zh) 基于虚拟角色的显示方法、装置、设备、存储介质
CN113808007B (zh) 调整虚拟脸部模型的方法、装置、电子设备及存储介质
Oshita Multi-touch interface for character motion control using example-based posture synthesis
CN113379879A (zh) 交互方法、装置、设备、存储介质以及计算机程序产品
CN114401439A (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
GR01 Patent grant
GR01 Patent grant