发明内容
有鉴于此,本申请实施例提供一种虚拟数字人的手势动作修正方法和装置、电子设备及存储介质,能够使虚拟数字人做出的手势动作与真人相同,提高虚拟人动捕的精度。
第一方面,本申请实施例提供了一种虚拟数字人的手势动作修正方法,包括:
获取真人的人像视频,依次对所述人像视频中的各帧人像图片进行手势动作识别;
在对所述人像视频中第一人像图片识别得到的手势动作为第一手势动作时,根据所述第一人像图片对应的手部骨骼旋转数据和所述第一手势动作对应的手部骨骼旋转数据在所述第一人像图片对应的手部骨骼旋转数据和所述第一手势动作对应的手部骨骼旋转数据之间插入至少一组手部骨骼旋转数据,利用所述至少一组手部骨骼旋转数据驱动虚拟数字人的手部运动,其中,所述第一手势动作为预设的手势动作集合中的手势动作,所述手势动作集合中包含预设的至少一个手势动作。
第二方面,本申请实施例还提供了一种虚拟数字人的手势动作修正装置,包括:
识别单元,用于获取真人的人像视频,依次对所述人像视频中的各帧人像图片进行手势动作识别;
驱动单元,用于在对所述人像视频中第一人像图片识别得到的手势动作为第一手势动作时,根据所述第一人像图片对应的手部骨骼旋转数据和所述第一手势动作对应的手部骨骼旋转数据在所述第一人像图片对应的手部骨骼旋转数据和所述第一手势动作对应的手部骨骼旋转数据之间插入至少一组手部骨骼旋转数据,利用所述至少一组手部骨骼旋转数据驱动虚拟数字人的手部运动,其中,所述第一手势动作为预设的手势动作集合中的手势动作,所述手势动作集合中包含预设的至少一个手势动作。
第三方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面所述的虚拟数字人的手势动作修正方法的步骤。
第四方面,本申请实施例还提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如第一方面所述的虚拟数字人的手势动作修正方法的步骤。
综上,本申请实施例提供的虚拟数字人的手势动作修正方法和装置、电子设备及存储介质,在对真人的人像视频中第一人像图片识别得到的手势动作为第一手势动作时,根据所述第一人像图片对应的手部骨骼旋转数据和所述第一手势动作对应的手部骨骼旋转数据在所述第一人像图片对应的手部骨骼旋转数据和所述第一手势动作对应的手部骨骼旋转数据之间插入至少一组手部骨骼旋转数据,利用所述至少一组手部骨骼旋转数据驱动虚拟数字人的手部运动,能够使虚拟数字人做出的手势动作与真人相同,并保证虚拟数字人手部动作的流畅度。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
参照图1所示,为本申请实施例提供的一种虚拟数字人的手势动作修正方法,包括:
S10、获取真人的人像视频,依次对所述人像视频中的各帧人像图片进行手势动作识别;
本发明实施例中,需要说明的是,获取真人的人像视频的过程中,会逐帧对其中的人像图片进行手势动作识别,也就是说对人像视频中每一帧人像图片均可以识别出相应的手势动作。
S11、在对所述人像视频中第一人像图片识别得到的手势动作为第一手势动作时,根据所述第一人像图片对应的手部骨骼旋转数据和所述第一手势动作对应的手部骨骼旋转数据在所述第一人像图片对应的手部骨骼旋转数据和所述第一手势动作对应的手部骨骼旋转数据之间插入至少一组手部骨骼旋转数据,利用所述至少一组手部骨骼旋转数据驱动虚拟数字人的手部运动,其中,所述第一手势动作为预设的手势动作集合中的手势动作,所述手势动作集合中包含预设的至少一个手势动作。
本发明实施例中,需要说明的是,在对人像视频中人像图片的识别过程中,可以设置如果对于某一帧人像图片识别出第一手势动作,记该帧人像图片为第一人像图片,则根据所述第一人像图片对应的手部骨骼旋转数据和所述第一手势动作对应的手部骨骼旋转数据在所述第一人像图片对应的手部骨骼旋转数据和所述第一手势动作对应的手部骨骼旋转数据之间插入至少一组手部骨骼旋转数据,利用所述至少一组手部骨骼旋转数据驱动虚拟数字人的手部运动,或者如果对于连续至少两帧(可以根据需要设置)人像图片均识别出第一手势动作,记所述至少两帧人像图片中最后一帧人像图片为第一人像图片(也就是说第一人像图片存在的前提是从第一人像图片及其前面至少两帧人像图片中均识别出第一手势动作),则根据所述第一人像图片对应的手部骨骼旋转数据和所述第一手势动作对应的手部骨骼旋转数据在所述第一人像图片对应的手部骨骼旋转数据和所述第一手势动作对应的手部骨骼旋转数据之间插入至少一组手部骨骼旋转数据,利用所述至少一组手部骨骼旋转数据驱动虚拟数字人的手部运动。所述第一手势动作为预设的手势动作集合中的一个手势动作,其中,预设的手势动作集合中包含至少一个标准的手势动作,比如可以包括:张开手掌、竖起大拇指、抱拳作揖、托手、双手比心、单手比心、OK手势、比yeah、手枪手势、食指指天手势、单手握拳、666手势、双手合十、我爱你手势、比数字3手势和比数字4手势等等中的至少一个手势动作,真人做出这些手势动作时,无法通过AI推演人像图片驱动虚拟数字人做出相同的手势动作或者通过AI推演人像图片驱动虚拟数字人做出的手势动作与真人做出的手势动作存在一定偏差。
本申请实施例提供的虚拟数字人的手势动作修正方法,在对真人的人像视频中第一人像图片识别得到的手势动作为第一手势动作时,根据所述第一人像图片对应的手部骨骼旋转数据和所述第一手势动作对应的手部骨骼旋转数据在所述第一人像图片对应的手部骨骼旋转数据和所述第一手势动作对应的手部骨骼旋转数据之间插入至少一组手部骨骼旋转数据,利用所述至少一组手部骨骼旋转数据驱动虚拟数字人的手部运动,能够使虚拟数字人做出的手势动作与真人相同,并保证虚拟数字人手部动作的流畅度。
在前述方法实施例的基础上,所述根据所述第一人像图片对应的手部骨骼旋转数据和所述第一手势动作对应的手部骨骼旋转数据在所述第一人像图片对应的手部骨骼旋转数据和所述第一手势动作对应的手部骨骼旋转数据之间插入至少一组手部骨骼旋转数据涉及的计算公式可以为:
data_i=last_data+(prepare_data-last_data)/N×i,
其中,data_i为插入的第i组手部骨骼旋转数据,i∈(1,2,…,N),last_data为所述第一人像图片对应的手部骨骼旋转数据,prepare_data为所述第一手势动作对应的手部骨骼旋转数据,N为预设的数量,在所述第一人像图片对应的手部骨骼旋转数据和所述第一手势动作对应的手部骨骼旋转数据之间插入的手部骨骼旋转数据取自data_i。
本发明实施例中,需要说明的是,根据第一人像图片对应的手部骨骼旋转数据和第一手势动作对应的手部骨骼旋转数据按照上述计算公式可以在第一人像图片对应的手部骨骼旋转数据和第一手势动作对应的手部骨骼旋转数据之间插入N组手部骨骼旋转数据data_i(i∈(1,2,…,N)),而在第一人像图片对应的手部骨骼旋转数据和第一手势动作对应的手部骨骼旋转数据之间插入的至少一组手部骨骼旋转数据可以取自data_i中的前M1(M1小于或等于N)组数据。
在前述方法实施例的基础上,所述利用所述至少一组手部骨骼旋转数据驱动虚拟数字人的手部运动,可以包括:
对于第二人像图片,利用所述至少一组手部骨骼旋转数据中一组手部骨骼旋转数据替换所述第二人像图片对应的骨骼旋转数据中的手部骨骼旋转数据,利用替换后的所述第二人像图片对应的骨骼旋转数据驱动所述虚拟数字人运动,其中,所述第二人像图片为所述人像视频中所述第一人像图片后的一帧人像图片,对所述第二人像图片识别得到的手势动作为所述第一手势动作。
本发明实施例中,需要说明的是,在对第一人像图片识别得到的手势动作为第一手势动作时,对于人像视频中第一人像图片后的每一帧人像图片,如果对该帧人像图片识别得到的手势动作仍然为第一手势动作,即该帧人像图片为第二人像图片,则可以按照在第一人像图片对应的手部骨骼旋转数据和第一手势动作对应的手部骨骼旋转数据之间插入的至少一组手部骨骼旋转数据的序号,依次利用一组手部骨骼旋转数据替换掉该帧人像图片对应的骨骼旋转数据中的手部骨骼旋转数据,利用替换后的该帧人像图片对应的骨骼旋转数据驱动虚拟数字人运动,直至插入的所有组手部骨骼旋转数据均替换完,对人像视频中之后的人像图片继续进行手势动作识别,并在识别出第一手势动作时,按照步骤S11的方法进行处理。或者可以在插入的所有组手部骨骼旋转数据均替换完之后,使用第一手势动作对应的手部骨骼旋转数据进行替换,直至第一手势动作对应的手部骨骼旋转数据也替换完,对人像视频中之后的人像图片继续进行手势动作识别,并在识别出第一手势动作时,按照步骤S11的方法进行处理。
比如,假设预设的手势动作集合中包括:张开手掌、竖起大拇指、抱拳作揖、托手、双手比心、单手比心、OK手势、比yeah、手枪手势、食指指天手势、单手握拳、666手势、双手合十、我爱你手势、比数字3手势和比数字4手势,记真人M的人像视频为V,V中的第i帧人像图片记为Vi,对V1、V2、…、V5进行手势动作识别,识别出的手势动作都不属于预设的手势动作集合中的手势动作,则在驱动虚拟数字人运动时,依次使用的是V1、V2、…、V5对应的骨骼旋转数据。假设对V6进行手势动作识别,识别出的手势动作为双手合十,则可以在V6对应的手部骨骼旋转数据和双手合十对应的手部骨骼旋转数据之间插入10组手部骨骼旋转数据(涉及的计算公式参见前述实施例),之后如果对V7进行手势动作识别,识别出的手势动作为双手合十,则利用插入的第1组手部骨骼旋转数据替换V7对应的骨骼旋转数据中的手部骨骼旋转数据,利用替换后的V7对应的骨骼旋转数据驱动虚拟数字人运动;如果对V8进行手势动作识别,识别出的手势动作也为双手合十,则利用插入的第2组手部骨骼旋转数据替换V8对应的骨骼旋转数据中的手部骨骼旋转数据,利用替换后的V8对应的骨骼旋转数据驱动虚拟数字人运动…直至如果对V16进行手势动作识别,识别出的手势动作为双手合十,则利用插入的第10组手部骨骼旋转数据替换V16对应的骨骼旋转数据中的手部骨骼旋转数据,利用替换后的V16对应的骨骼旋转数据驱动虚拟数字人运动;如果对V17进行手势动作识别,识别出的手势动作为双手合十,则利用双手合十对应的手部骨骼旋转数据替换V17对应的骨骼旋转数据中的手部骨骼旋转数据,利用替换后的V17对应的骨骼旋转数据驱动虚拟数字人运动,而对于V18及其之后的人像图片,仍然按照前述处理流程进行处理,此处不再赘述。
在前述方法实施例的基础上,所述方法还可以包括:
对于第三人像图片,利用所述第三人像图片对应的骨骼旋转数据驱动所述虚拟数字人运动,其中,所述第三人像图片为所述人像视频中所述第二人像图片后的一帧人像图片,对所述第三人像图片识别得到的手势动作不属于所述手势动作集合。
本发明实施例中,需要说明的是,在进行手部骨骼数据替换的过程中,如果对人像视频中某一帧人像图片识别出的手势动作不属于所述手势动作集合,即该帧人像图片为第三人像图片,则跳出替换逻辑,即从该帧人像图片开始,继续使用前述实施例的处理逻辑,在识别出第一手势动作时,按照步骤S11的方法进行处理。
仍以前述对人像视频V中的人像图片的识别为例进行说明。假设前述实施例中对V8进行手势动作识别,识别出的手势动作不属于预设的手势动作集合,则使用V8对应的骨骼旋转数据驱动虚拟数字人运动,并从V9开始继续使用前述实施例的处理逻辑。
在前述方法实施例的基础上,所述方法还可以包括:
对于第四人像图片,根据所述第四人像图片对应的手部骨骼旋转数据和第二手势动作对应的手部骨骼旋转数据在所述第四人像图片对应的手部骨骼旋转数据和所述第二手势动作对应的手部骨骼旋转数据之间插入至少一组手部骨骼旋转数据,利用所述至少一组手部骨骼旋转数据驱动所述虚拟数字人的手部运动,其中,所述第四人像图片为所述人像视频中所述第二人像图片后的一帧人像图片,对所述第四人像图片识别得到的手势动作为所述第二手势动作,所述第二手势动作为所述手势动作集合中的手势动作,所述第二手势动作和第一手势动作不同。
本发明实施例中,需要说明的是,在进行手部骨骼数据替换的过程中,如果对人像视频中某一帧人像图片识别出的手势动作为所述手势动作集合中的第二手势动作,且不同于第一手势动作,即该帧人像图片为第四人像图片,则跳出当前的替换逻辑,重新根据该帧人像图片对应的手部骨骼旋转数据和第二手势动作对应的手部骨骼旋转数据在该帧人像图片对应的手部骨骼旋转数据和第二手势动作对应的手部骨骼旋转数据之间插入至少一组手部骨骼旋转数据,利用插入的手部骨骼旋转数据驱动虚拟数字人的手部运动,在这个过程中插入手部骨骼旋转数据的计算公式可以与前述实施例中在第一人像图片对应的手部骨骼旋转数据和第一手势动作对应的手部骨骼旋转数据之间插入手部骨骼旋转数据涉及的计算公式形式相同,此时,last_data对应第四人像图片对应的手部骨骼旋转数据,prepare_data对应第二手势动作对应的手部骨骼旋转数据,在第四人像图片对应的手部骨骼旋转数据和第二手势动作对应的手部骨骼旋转数据之间插入的至少一组手部骨骼旋转数据为按照上述计算公式计算出的data_i中的前M2(M2小于或等于N)组数据。
仍以前述对人像视频V中的人像图片的识别为例进行说明。假设前述实施例中对V8进行手势动作识别,识别出的手势动作为双手比心(属于预设的手势动作集合,且不同于双手合十),则可以利用V8对应的骨骼旋转数据驱动虚拟数字人运动,并在V8对应的手部骨骼旋转数据和双手比心对应的手部骨骼旋转数据之间插入10组手部骨骼旋转数据(涉及的计算公式参见前述实施例),之后如果对V9进行手势动作识别,识别出的手势动作仍为双手比心,则利用插入的第1组手部骨骼旋转数据替换V9对应的骨骼旋转数据中的手部骨骼旋转数据,利用替换后的V9对应的骨骼旋转数据驱动虚拟数字人运动;如果对V10进行手势动作识别,识别出的手势动作也为双手比心,则利用插入的第2组手部骨骼旋转数据替换V10对应的骨骼旋转数据中的手部骨骼旋转数据,利用替换后的V10对应的骨骼旋转数据驱动虚拟数字人运动等等。
依此类推,完成对人像视频V中各帧人像图片的识别与虚拟数字人手部驱动过程。
可以理解的是,前述例子中均是根据单帧人像图片的手势动作识别结果作为最终的手势动作识别结果,在实际应用中,也可以在连续识别出多帧人像图片的手势动作的前提下确定出多帧人像图片中最后一帧的手势动作识别结果,比如需要连续3帧人像图片均识别出双手比心的手势动作,才能确定连续3帧人像图片中第3帧人像图片的手势动作识别结果为双手比心,而前2帧人像图片的手势动作识别结果确定为不属于预设的手势动作集合。仍以前述对人像视频V中的人像图片的识别为例进行说明。假设对V1、V2、…、V5进行手势动作识别,识别出的手势动作都不属于预设的手势动作集合中的手势动作,则在驱动虚拟数字人运动时,依次使用的是V1、V2、…、V5对应的骨骼旋转数据。假设对V6进行手势动作识别,识别出的手势动作为双手合十,则利用V6对应的骨骼旋转数据驱动虚拟数字人运动;假设对V7进行手势动作识别,识别出的手势动作为双手合十,则利用V7对应的骨骼旋转数据驱动虚拟数字人运动;假设对V8进行手势动作识别,识别出的手势动作为双手合十,则利用V8对应的骨骼旋转数据驱动虚拟数字人运动,并可以在V8对应的手部骨骼旋转数据和双手合十对应的手部骨骼旋转数据之间插入10组手部骨骼旋转数据(涉及的计算公式参见前述实施例),之后如果对V9进行手势动作识别,识别出的手势动作为双手合十,则利用插入的第1组手部骨骼旋转数据替换V9对应的骨骼旋转数据中的手部骨骼旋转数据,利用替换后的V9对应的骨骼旋转数据驱动虚拟数字人运动;如果对V10进行手势动作识别,识别出的手势动作也为双手合十,则利用插入的第2组手部骨骼旋转数据替换V10对应的骨骼旋转数据中的手部骨骼旋转数据,利用替换后的V10对应的骨骼旋转数据驱动虚拟数字人运动…直至如果对V18进行手势动作识别,识别出的手势动作为双手合十,则利用插入的第10组手部骨骼旋转数据替换V18对应的骨骼旋转数据中的手部骨骼旋转数据,利用替换后的V18对应的骨骼旋转数据驱动虚拟数字人运动;如果对V19进行手势动作识别,识别出的手势动作为双手合十,则利用双手合十对应的手部骨骼旋转数据替换V19对应的骨骼旋转数据中的手部骨骼旋转数据,利用替换后的V19对应的骨骼旋转数据驱动虚拟数字人运动。之后对V20、V21和V22进行手势动作识别,识别出的手势动作都不属于预设的手势动作集合中的手势动作,则在驱动虚拟数字人运动时,依次使用的是V20、V21和V22对应的骨骼旋转数据。假设对V23进行手势动作识别,识别出的手势动作为双手比心,则利用V23对应的骨骼旋转数据驱动虚拟数字人运动;假设对V24进行手势动作识别,识别出的手势动作为双手比心,则利用V24对应的骨骼旋转数据驱动虚拟数字人运动;假设对V25进行手势动作识别,识别出的手势动作为双手比心,则利用V25对应的骨骼旋转数据驱动虚拟数字人运动,并可以在V25对应的手部骨骼旋转数据和双手比心对应的手部骨骼旋转数据之间插入10组手部骨骼旋转数据(涉及的计算公式参见前述实施例),之后如果对V26进行手势动作识别,识别出的手势动作为双手比心,则利用插入的第1组手部骨骼旋转数据替换V26对应的骨骼旋转数据中的手部骨骼旋转数据,利用替换后的V26对应的骨骼旋转数据驱动虚拟数字人运动;如果对V27进行手势动作识别,识别出的手势动作为双手比心,则利用插入的第2组手部骨骼旋转数据替换V27对应的骨骼旋转数据中的手部骨骼旋转数据,利用替换后的V27对应的骨骼旋转数据驱动虚拟数字人运动;如果对V28进行手势动作识别,识别出的手势动作为双手比心,则利用插入的第3组手部骨骼旋转数据替换V28对应的骨骼旋转数据中的手部骨骼旋转数据,利用替换后的V28对应的骨骼旋转数据驱动虚拟数字人运动。之后如果对V29进行手势动作识别,识别出的手势动作不属于预设的手势动作集合,则使用V29对应的骨骼旋转数据驱动虚拟数字人运动。或者如果对V29进行手势动作识别,识别出的手势动作为竖起大拇指,则使用V29对应的骨骼旋转数据驱动虚拟数字人运动;如果对V30进行手势动作识别,识别出的手势动作为竖起大拇指,则使用V30对应的骨骼旋转数据驱动虚拟数字人运动;如果对V31进行手势动作识别,识别出的手势动作为竖起大拇指,则使用V31对应的骨骼旋转数据驱动虚拟数字人运动,并可以在V31对应的手部骨骼旋转数据和竖起大拇指对应的手部骨骼旋转数据之间插入10组手部骨骼旋转数据(涉及的计算公式参见前述实施例)…依此类推,直至完成所有人像图片的识别处理。
参照图2所示,为本申请实施例提供的一种虚拟数字人的手势动作修正装置,包括:
识别单元20,用于获取真人的人像视频,依次对所述人像视频中的各帧人像图片进行手势动作识别;
驱动单元21,用于在对所述人像视频中第一人像图片识别得到的手势动作为第一手势动作时,根据所述第一人像图片对应的手部骨骼旋转数据和所述第一手势动作对应的手部骨骼旋转数据在所述第一人像图片对应的手部骨骼旋转数据和所述第一手势动作对应的手部骨骼旋转数据之间插入至少一组手部骨骼旋转数据,利用所述至少一组手部骨骼旋转数据驱动虚拟数字人的手部运动,其中,所述第一手势动作为预设的手势动作集合中的手势动作,所述手势动作集合中包含预设的至少一个手势动作。
本申请实施例提供的虚拟数字人的手势动作修正装置,在对真人的人像视频中第一人像图片识别得到的手势动作为第一手势动作时,根据所述第一人像图片对应的手部骨骼旋转数据和所述第一手势动作对应的手部骨骼旋转数据在所述第一人像图片对应的手部骨骼旋转数据和所述第一手势动作对应的手部骨骼旋转数据之间插入至少一组手部骨骼旋转数据,利用所述至少一组手部骨骼旋转数据驱动虚拟数字人的手部运动,能够使虚拟数字人做出的手势动作与真人相同,并保证虚拟数字人手部动作的流畅度。
在前述装置实施例的基础上,所述驱动单元,可以用于:
根据所述第一人像图片对应的手部骨骼旋转数据和所述第一手势动作对应的手部骨骼旋转数据在所述第一人像图片对应的手部骨骼旋转数据和所述第一手势动作对应的手部骨骼旋转数据之间插入至少一组手部骨骼旋转数据,计算公式为:
data_i=last_data+(prepare_data-last_data)/N×i,
其中,data_i为插入的第i组手部骨骼旋转数据,i∈(1,2,…,N),last_data为所述第一人像图片对应的手部骨骼旋转数据,prepare_data为所述第一手势动作对应的手部骨骼旋转数据,N为预设的数量,在所述第一人像图片对应的手部骨骼旋转数据和所述第一手势动作对应的手部骨骼旋转数据之间插入的手部骨骼旋转数据取自data_i。
在前述装置实施例的基础上,所述驱动单元,可以用于:
对于第二人像图片,利用所述至少一组手部骨骼旋转数据中一组手部骨骼旋转数据替换所述第二人像图片对应的骨骼旋转数据中的手部骨骼旋转数据,利用替换后的所述第二人像图片对应的骨骼旋转数据驱动所述虚拟数字人运动,其中,所述第二人像图片为所述人像视频中所述第一人像图片后的一帧人像图片,对所述第二人像图片识别得到的手势动作为所述第一手势动作。
本申请实施例提供的虚拟数字人的手势动作修正装置,其实现过程与本申请实施例提供的虚拟数字人的手势动作修正方法一致,所能达到的效果也与本申请实施例提供的虚拟数字人的手势动作修正方法相同,在此不再赘述。
如图3所示,本申请实施例提供的一种电子设备,包括:处理器30、存储器31和总线32,所述存储器31存储有所述处理器30可执行的机器可读指令,当电子设备运行时,所述处理器30与所述存储器31之间通过总线32通信,所述处理器30执行所述机器可读指令,以执行如上述虚拟数字人的手势动作修正方法的步骤。
具体地,上述存储器31和处理器30能够为通用的存储器和处理器,这里不做具体限定,当处理器30运行存储器31存储的计算机程序时,能够执行上述虚拟数字人的手势动作修正方法。
对应于上述虚拟数字人的手势动作修正方法,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述虚拟数字人的手势动作修正方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。