用于生成虚拟形象的方法、装置、设备、介质和程序产品与流程

文档序号:33504059发布日期:2023-03-17 23:02阅读:38来源:国知局
用于生成虚拟形象的方法、装置、设备、介质和程序产品与流程

1.本公开的实施例主要涉及计算机领域。更具体地,本公开的实施例涉及用于生成虚拟形象的方法、装置、设备、计算机可读存储介质以及计算机程序产品。


背景技术:

2.目前,各种智能电子设备已经被广泛应用于生活,例如智能手机、智能音箱、智能电视、智能汽车等。越来越多的智能电子设备可以提供与用户进行交互的虚拟形象以用于增强用户的使用体验。例如,智能电子设备可以在用户与智能助手交互时提供智能助手的虚拟形象,以增强用户与设备的交互感。因此,期望能够生成生动的、具有较强的交互性的虚拟形象,以增强用户体验。


技术实现要素:

3.本公开的实施例提供了一种用于生成虚拟形象的方案。
4.在本公开的第一方面,提供了用于生成虚拟形象的方法。该方法包括基于用户的图像,确定与用户的运动对应的虚拟骨架的运动数据,该虚拟骨架包括多个特征点。方法还包括基于运动数据,确定与多个特征点中的一组目标特征点对应的一组几何结构,以及通过在该组目标特征点处添加该组几何结构,生成与用户的运动对应的动态虚拟形象。
5.利用本公开的实施例的方案,能够生成与用户的运动对应的动态虚拟形象,从而提供更生动以及个性化的虚拟形象以增强用户体验。
6.在第一方面的一些实施例中,方法还包括在所述多个特征点中确定所述一组目标特征点,以用于添加所述一组几何结构。在第一方面的一些实施例中,在所述多个特征点中确定所述一组目标特征点基于以下至少一项:所述用户的所述运动的运动特征,特征点对应的身体部位,特征点之间的运动相似性,以及特征点之间的距离。以此方式,可以以较少数量的目标特征点而不是虚拟骨架中的所有特征点来表示用户的运动,从而减少计算量。
7.在第一方面的一些实施例中,确定与所述多个特征点中的一组目标特征点对应的一组几何结构包括确定所述一组几何结构的形状和大小中的至少一项。在第一方面的一些实施例中,确定与所述多个特征点中的一组目标特征点对应的一组几何结构包括:基于与所述一组目标特征点中的特征点对应的身体部位的位置和运动幅度中的至少一项,确定与所述特征点对应的几何结构。在第一方面的一些实施例中,确定与所述多个特征点中的一组目标特征点对应的一组几何结构包括:基于与所述一组目标特征点中的特征点与预定点的距离,确定与所述特征点对应的几何结构。以此方式,可以确定适合于用户的运动的几何结构以用于添加在目标特征点处,从而生成合适的虚拟形象以增强用户体验。
8.在第一方面的一些实施例中,生成与所述用户的所述运动对应的动态虚拟形象包括:融合所述一组几何结构中邻近的几何结构,以生成所述动态虚拟形象。在第一方面的一些实施例中,还包括:基于所述运动数据,确定融合程度,以用于融合所述一组几何结构中所述邻近的几何结构。以此方式,可以生成生动的虚拟形象,以增强用户体验。
9.在第一方面的一些实施例中,方法还包括:基于所述运动数据,确定所述用户的所述运动的运动特征,所述运动特征包括所述运动的类型、幅度、频率中的至少一项。在第一方面的一些实施例中,确定所述用户的所述运动的运动特征包括:基于所述运动数据,确定在所述用户的所述运动期间所述多个特征点的运动轨迹;以及基于所述运动轨迹,确定所述运动特征。以此方式,基于运动特征可以更准确地生成生动的动态虚拟形象,以增强用户体验。
10.在第一方面的一些实施例中,所述一组几何结构的形状包括以下至少一项:球形、椭球形、长方体形、以及正方体形。
11.在本公开的第二方面,提供了用于生成虚拟形象的装置。该装置包括:运动数据确定单元,被配置为基于用户的图像,确定与所述用户的运动对应的虚拟骨架的运动数据,所述虚拟骨架包括多个特征点;几何结构确定单元,被配置为基于所述运动数据,确定与所述多个特征点中的一组目标特征点对应的一组几何结构;以及虚拟形象生成单元,被配置为通过在所述一组目标特征点处添加所述一组几何结构,生成与所述用户的所述运动对应的动态虚拟形象。
12.在第二方面的一些实施例中,装置还包括目标特征点确定单元,所述目标特征点确定单元被配置为在所述多个特征点中确定所述一组目标特征点,以用于添加所述一组几何结构。
13.在第二方面的一些实施例中,所述几何结构确定单元被配置为基于以下至少一项在所述多个特征点中确定所述一组目标特征点:所述用户的所述运动的运动特征,特征点对应的身体部位,特征点之间的运动相似性,以及特征点之间的距离。
14.在第二方面的一些实施例中,所述几何结构确定单元被配置为确定所述一组几何结构的形状和大小中的至少一项。
15.在第二方面的一些实施例中,所述几何结构确定单元被配置为:基于与所述一组目标特征点中的特征点对应的身体部位的位置和运动幅度中的至少一项,确定与所述特征点对应的几何结构。
16.在第二方面的一些实施例中,所述几何结构确定单元被配置为:基于与所述一组目标特征点中的特征点与预定点的距离,确定与所述特征点对应的几何结构。
17.在第二方面的一些实施例中,所述虚拟形象生成单元被配置为:融合所述一组几何结构,以生成所述动态虚拟形象。在第二方面的一些实施例中,装置还包括融合单元,所述融合单元被配置为:基于所述运动数据,确定融合程度以用于融合所述一组几何结构。
18.在第二方面的一些实施例中,装置还包括运动特征确定单元,所述运动特征确定单元被配置为:基于所述运动数据,确定所述用户的所述运动的运动特征,所述运动特征包括所述运动的类型、幅度、频率中的至少一项。在第二方面的一些实施例中,所述运动特征确定单元被配置为:基于所述运动数据,确定在所述用户的所述运动期间所述多个特征点的运动轨迹;以及基于所述运动轨迹,确定所述运动特征。
19.在本公开的第三方面,提供了用于生成虚拟形象的电子设备。电子设备包括至少一个计算单元;至少一个存储器,所述至少一个存储器被耦合到所述至少一个计算单元并且存储用于由所述至少一个计算单元执行的指令,所述指令当由所述至少一个计算单元执行时,使所述电子设备执行根据第一方面所提供的方法。
20.在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其中计算机程序被处理器执行实现第一方面所提供的方法。
21.在本公开的第五方面,提供一种计算机程序产品,包括计算机可执行指令,当指令在被处理器执行时实现第一方面的方法的部分或全部步骤。
22.可以理解地,上述提供的第三方面的电子设备、第四方面的计算机存储介质或者第五方面的计算机程序产品用于执行第一方面所提供的方法中的至少一部分。因此,关于第一方面的解释或者说明同样适用于第三方面、第四方面和第五方面。此外,第三方面、第四方面和第五方面所能达到的有益效果可参考对应方法中的有益效果,此处不再赘述。
附图说明
23.结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:
24.图1示出了本公开的多个实施例能够在其中实现的示例环境的示意图;
25.图2示出了根据本公开的一些实施例的用于生成虚拟形象的方法的流程图;
26.图3示出了根据本公开的一些实施例的虚拟骨架的示意图;
27.图4示出了根据本公开的一些实施例的确定一组目标特征点的过程的示意图;
28.图5示出了根据本公开的一些实施例的虚拟形象的示意图;
29.图6示出了根据本公开的一些实施例的融合过程的示意图;
30.图7示出了根据本公开的一些实施例的所生成的动态虚拟形象的示意图;
31.图8示出了根据本公开的一些实施例的用于生成虚拟形象的装置的示意性框图;以及
32.图9示出了能够实施本公开的多个实施例的计算设备的框图。
具体实施方式
33.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
34.在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
35.如上文所简要提及的,智能电子设备可以通过提供虚拟形象来增强用户与设备的交互体验。例如,可以提供拟人的几何图形或动画以作为与用户交互的虚拟形象。然而,目前的虚拟形象通常不能针对用户进行适应性地改变,因此不够生动和个性化,从而降低了虚拟形象的交互感。例如,相同的虚拟形象被提供给不同的用户。又例如,相同的虚拟形象被提供给处于不同状态的用户。
36.为了至少部分地解决上述问题以及其他潜在问题,本公开的各种实施例提供了一种用于生成虚拟形象的方案。根据在此描述的各种实施例,提供了一种用于生成虚拟形象
的方法。该方法包括基于用户的图像,确定与用户的运动对应的虚拟骨架的运动数据,其中虚拟骨架包括多个特征点。方法还包括基于该运动数据,确定与多个特征点中的一组目标特征点对应的一组几何结构。方法还包括通过在该组目标特征点处添加该组几何结构,生成与用户的运动对应的动态虚拟形象。以此方式,根据本公开的实施例的方法,能够生成与用户的运动对应的动态虚拟形象,从而提供生动和个性化的虚拟形象,以增强用户体验。以下参考附图来描述本公开的各种示例实施例。
37.图1示出了本公开的多个实施例能够在其中实现的示例环境100的示意图。如图1所示,用户101所操作的设备110可以生成和提供虚拟形象120。尽管未示出,虚拟形象120可以是动态的,并且与用户101的运动相对应。换言之,虚拟形象120能够跟随用户101的运动而动态改变。
38.在一些实施例中,虚拟形象120可以用于表示由设备110的操作系统或设备110上所运行的应用程序支持的智能助手,以增强用户101与智能助手的交互感。例如,用户101可以向设备110发出交互命令,例如语音命令,以从设备110获取信息。设备110所支持的智能助手可以接收并解析用户101的语音命令,并调用设备110的计算资源进行计算。设备110可以在运行智能助手时在屏幕上显示智能助手的虚拟形象120,以用于增强用户101和智能助手的交互体验。例如,在智能助手接收用户101的语音命令时,虚拟形象120可以跟随用户101的运动而动态改变,从而增强交互感。
39.在一些实施例中,虚拟形象120可以用于表示用户101。虚拟形象120可以是用户101的动画化或抽象化的表示。例如,在设备110运行健身应用程序时,与用户101的运动对应的动态虚拟形象120可以被提供给用户101,以增强用户101在运动过程中的趣味性。
40.应理解,上述环境100仅是示例性的而不构成对本公开的范围的限制。取决于实际应用,设备110可以是智能手机、个人计算机、智能车辆等。设备110还可以提供其他形式的输出以用于与虚拟形象120一起来增强用户体验。例如,设备110可以在提供虚拟形象120的同时提供语音输出。
41.图2示出了根据本公开的一些实施例的生成虚拟形象的过程200的示意图。过程200可以由设备110中的计算单元实现。下文将参考图1来描述图2中所示的生成虚拟形象的过程200。
42.如图2所示,在框210,设备110基于用户101的图像,确定与用户101的运动对应的虚拟骨架的运动数据,该虚拟骨架包括多个特征点。用户101的图像可以包括记录用户101的运动状态的多个图像或视频帧。用户101的运动状态的示例可以包括步行状态、跳跃状态、或挥手状态等。从更广义的角度来看,生命体无时无刻不处于运动状态,因此用户101的运动状态的示例还包括静坐状态或静立状态等。
43.例如,设备110可以利用图像采集单元来获取用户101的图像。以智能手机为例,设备110的图像采集单元可以例如是前置摄像头。设备110的图像采集单元可以按照预设的采样频率来获取一组连续的图像(当采样频率足够高时,该组连续的图像也可以视为视频帧)。在另一示例中,设备110的图像采集单元可以是智能车辆的车内摄像头。
44.设备110的计算单元可以从图像采集单元接收所获取的用户101的图像,并且基于这些图像来确定与用户101的运动对应的虚拟骨架的运动数据。虚拟骨架(也称为虚拟骨架表示)可以表征用户101的姿态,也即某一时刻的用户101的运动状态。对应于多个时刻的多
个虚拟骨架可以表征用户101在一段时间内的不同运动状态。虚拟骨架包括多个特征点,以用于描述人体的各个特征位置,例如指定的关节点、肌肉节点。虚拟骨架中的多个特征点以对应的线条连接,以用于描述人体的骨骼和/或肌肉走向。
45.图3示出了根据本公开的一些实施例的虚拟骨架300的示意图。如图3所示,虚拟骨架300包括与头部、颈部、躯干、肩关节、肘关节、手部、髋关节、膝关节、踝关节和脚部对应的多个特征点。虚拟骨架300可以表示用户101在某一时刻正处于站立并举起双手的运动状态。应理解,图3所示的虚拟骨架300仅是示例性的而不构成对本公开的范围的限制。在一些示例中,虚拟骨架300可以仅包括上半身的特征点或仅包括下半身的特征点。在另一些示例中,虚拟骨架300还可以包括更多特征点,例如与面部的眉骨、颌面关节对应的特征点。
46.继续参考图2,设备110基于用户101的图像来确定与用户101的运动对应的虚拟骨架的运动数据。设备110可以基于不同时刻的图像来确定相应时刻的虚拟骨架。换言之,设备110可以基于记录用户101在不同时刻的运动状态的图像来确定与用户101在相应时刻的运动状态对应的虚拟骨架。在一些实施例中,与用户101的运动对应的虚拟骨架的运动数据可以包括虚拟骨架中的各个特征点在各个时刻的坐标的集合,因此虚拟骨架中至少一个特征点的位置变化可以表示用户101的运动状态的改变。备选地或附加地,与用户101的运动对应的虚拟骨架的运动数据可以包括基于虚拟骨架中的特征点的位置确定的任何合适的数据。
47.在一些实施例中,可以利用骨骼点提取等图像识别算法来从用户101的图像确定与用户101对应的虚拟骨架。备选地或附加地,可以将用户101的图像与预设的虚拟骨架进行匹配,以将用户101的图像中的各个特征点映射到预设的虚拟骨架上的对应特征点,从而可以将预设的虚拟骨架更新为与用户101的运动状态对应的虚拟骨架。例如,可以根据用户101的体型特征来修改虚拟骨架的特性,例如特征点的位置和特征点之间的距离。
48.在一些实施例中,用户101的运动状态(以及虚拟骨架的运动数据)可以以设备110为静止参照物。备选地,用户101的运动状态(以及虚拟骨架的运动数据)可以以图像中的背景为静止参照物。在一些实施例中,设备110还可以获取与用户101的运动状态有关的其他数据,以用于与用户101的图像一起来确定与用户101的运动对应的虚拟骨架的运动数据。例如,设备110可以利用深度传感器来获取用户101的深度信息,从而更好地确定与用户101的运动对应的虚拟骨架的运动数据。
49.在一些实施例中,设备110可以基于对所确定的虚拟骨架的运动数据的分析来确定用户101的运动特征。运动特征可以包括运动的类型,例如行走、跳跃、蹲起等。备选地或附加地,运动特征可以包括运动的幅度。运动的幅度可以用特征点的位移大小来衡量。备选地或附加的,运动特征可以包括运动的频率。运动的频率可以用特征点的移动速度或移动次数来衡量。
50.在一些实施例中,对于虚拟骨架的运动数据的分析可以包括整体运动分析。在整体运动分析中,通过分析虚拟骨架中的所有特征点在一段时间内的连续位移,可以确定用户101的运动特征,例如确定运动的类型。
51.备选地或附加地,对于虚拟骨架的运动数据的分析可以包括特征点分析。在特征点分析中,可以针对单个特征点或单组特征点进行分析。针对单个特征点的分析可以基于该特征点在一段时间(例如1s、0.5s)内的位移来确定用户101的运动特征。针对单组特征点
的分析可以基于一组特征点在一段时间的位移来确定用户101的运动特征。
52.例如,如果检测到虚拟骨架的头部、躯干和腿部处的特征点均在竖直方向上进行上下移动,可以初步确定用户101正在进行蹲起或跳跃运动。通过分析特征点在竖直方向上的位移大小,可以进一步确定用户101的运动幅度。此外,通过结合对虚拟骨架的手臂处的特征点的分析,可以进一步确定用户101在进行蹲起还是跳跃。
53.在一些实施例中,设备110可以基于虚拟骨架的运动数据确定多个特征点在用户101的运动的期间的运动轨迹,并且基于该运动轨迹来确定运动特征。可以基于相同的特征点在不同时刻的位置来确定该特征点的运动轨迹。在一些实施例中,运动轨迹可以是两个位置之间的直线轨迹。备选地,可以基于两个位置的随时间变化的权重来确定该特征点在这两个位置之间的运动轨迹。例如,可以对同一特征点在两个位置的坐标分别赋予权值,对第一位置赋予从1到0的权值并且对第二位置赋予从0到1的权值,从而得到该特征点在两个位置之间过渡的运动轨迹。换言之,可以使前一个运动状态逐渐淡出,后一个运动状态逐渐淡入,从而得到中间的运动状态。基于运动轨迹,可以更好地确定运动特征。备选地或附加地,可以利用任何其他合适的方式来从运动数据确定运动特征。例如,可以训练机器学习模型,以用于从运动数据提取运动特征。
54.在框220,设备110基于运动数据,确定与多个特征点中的一组目标特征点对应的一组几何结构。一组目标特征点可以是虚拟骨架中与用户101的运动的关联性较强的一个或多个特征点。目标特征点的数目可以小于或等于虚拟骨架中的所有特征点的数目。在一些实施例中,设备110可以基于与特征点对应的身体部位来在虚拟骨架的多个特征点中确定一组目标特征点。一组目标特征点可以是与预设的身体部位对应的特征点。例如,可以预先确定头部、肘关节、手部处的特征点为目标特征点。在另一示例中,可以将非常灵巧的身体部位处的特征点排除在目标特征点之外。例如,可以将手指关节处的特征点确定为非目标特征点。
55.备选地或附加地,设备110可以基于用户101的运动的运动特征来在虚拟骨架的多个特征点中确定一组目标特征点。例如,如果确定用户101的运动类型为挥手,可以将虚拟骨架的上半身的特征点确定为一组目标特征点。又例如,如果确定用户101的运动类型为摇头,可以将虚拟骨架的肩部以上的特征点确定为一组目标特征点。在一些实施例中,可以将运动频率很高但运动幅度较小的特征点排除在目标特征点之外,以减少高频的、局部的微小活动对用户的整体运动的影响。
56.备选地或附加地,设备110可以基于特征点之间的运动相似性来在虚拟骨架的多个特征点中确定一组目标特征点。例如,如果确定两个或多个特征点之间的运动相似性很高,可以从这两个或多个特征点中选择一个特征点以作为目标特征点。换言之,如果虚拟骨架中多个特征点运动趋势相同,并且运动的幅度差值也在预设的范围内,则可以认为该组连续的特征点共同完成一个相同的动作,并且对整体运动造成的影响较小。因此,可以从该组连续的特征点中选择一个或多个特征点作为目标特征点,并且将其他特征点确定为非目标特征点,也即清洗其他特征点。
57.备选地或附加地,设备110可以基于特征点之间的距离来在虚拟骨架的多个特征点中确定一组目标特征点。例如,如果两个或多个特征点之间的距离小于阈值(例如5cm),则可以认为这些特征点共同地表示用户101的相同运动状态,因此可以从这两个或多个特
征点中选择一个特征点以作为目标特征点,并且清洗其他特征点。
58.图4示出了根据本公开的一些实施例的确定一组目标特征点的过程400的示意图。图4示出了基于用户101的图像确定的不同时刻的虚拟骨架410和420,以及包括一组目标特征点的虚拟骨架430。如图4所示,虚拟骨架410对应于用户101的下蹲状态,并且虚拟骨架420对应于用户101的跳跃状态。此外,与虚拟骨架410和420相比,虚拟骨架430包括更少的特征点。换言之,虚拟骨架430是经过特征点清洗过程之后所确定的虚拟骨架。
59.参考图4,基于确定手臂处的特征点组421和422与躯干处的特征点组属于运动趋势相同的特征点群组,可以将特征点组421和422排除在目标特征点之外。此外,基于确定腿部处的特征点组423和424属于高频运动的特征点群组,可以将特征点组423和424排除在目标特征点之外。再者,基于确定特征点425与头部处的特征点的距离小于预设值,可以将特征点425排除在目标特征点之外,并且基于确定特征点426与胸部处的特征点的距离小于预设值,可以将特征点426排除在目标特征点之外。因此,经过特征点清洗之后,可以得到包括四个特征点的虚拟骨架430,从而减小后续步骤中生成虚拟形象的复杂度。
60.继续参考图2,基于所确定的一组目标特征点,设备110确定与该组目标特征点对应的一组几何结构。在框230,设备110通过在该组目标特征点处添加该组几何结构,生成与用户101的运动对应的动态虚拟形象120。图5示出了根据本公开的一些实施例的虚拟形象500的示意图。虚拟形象500是图1中所示的虚拟形象120的一个示例。如图5所示,虚拟形象500包括在虚拟骨架的特征点处的几何结构(例如,球体)。
61.在一些实施例中,与一组目标特征点对应的一组几何结构的形状可以是球体。备选地,几何结构的形状可以是椭球体。备选地,几何结构的形状可以是长方体形或正方体形。几何结构的形状可以是任意合适的形状。不同的特征点处的几何形状可以不同,也可以相同或者部分相同。
62.在一些实施例中,与一组目标特征点对应的一组几何结构可以具有不同的大小。如图5所示,与肘关节处的特征点对应的球体可以大于与手腕处的特征点对应的球体,并且小于与躯干处的特征点对应的球体。
63.在一些实施例中,设备110可以基于目标特征点的特性来确定相应的几何结构,例如几何结构的形状和/或大小。在一些实施例中,可以基于与目标特征点对应的身体部位的位置来确定几何结构的大小。例如,每个目标特征点都可以对应一个初始的球体半径,并且该球体半径和目标特征点对应的肢体部位相关。例如,躯体主干部分(胸腹腰)处的特征点对应的球体半径可以大于头部处的特征点对应的球体半径。又例如,腿部的多个特征点处的初始球体半径大小可以相等,而无需使大腿、小腿对应的特征点的球体半径不同。在一些实施例中,肢体末端(例如手部、脚部)处的特征点可以对应更大的几何结构,以使得虚拟形象120的肢体轮廓更加清晰。
64.备选地或附加地,可以基于目标特征点对应的身体部位的运动幅度来确定几何结构的大小。例如,特征点对应的身体部位的运动幅度越大,可以在该特征点处添加更大的几何结构。备选地或附加地,可以基于特征点与预定点的距离来确定几何结构的大小。在一些实施例中,预定点可以是清洗之前的多个特征点的中心点。在另一些实施例中,预定点是预设的特征点。例如,预定点可以是头部处的特征点。
65.在一些实施例中,设备110还可以对所添加的几何结构中邻近的几何结构进行融
合,以用于生成虚拟形象120。例如,设备110可以将两个相邻的球体融合,以获得虚拟形象的肢体的平滑表面。图6示出了根据本公开的一些实施例的融合过程600的示意图。如图6所示,互不接触的两个球体601可以被融合为具有平滑表面的曲面体602,并且相交的两个球体603可以被融合为具有平滑表面的曲面体604。
66.在一些实施例中,可以基于下式(1)来确定融合处的平滑表面的曲线f(x,y,z),从而将两个球体的边缘连接起来。
67.f(x,y,z)=1/((x-x0)2+(y-y0)2+(z-z0)2)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
68.其中,点(x0,y0,z0)对应两个球体的中心坐标。
69.在一些实施例中,设备110还可以基于运动数据来确定融合程度,以用于适应性地融合几何结构中邻近的几何结构。例如,具有不同运动特征的特征点处的融合程度可以不同。备选地或附加地,融合程度可以是随时间变化的。例如,在动态虚拟形象中,同一特征点处的融合程度可以随运动特征和/或时间而动态改变。
70.图7示出了根据本公开的一些实施例的所生成的动态虚拟形象的示意图。图7示出了与用户101的第一运动状态701对应的虚拟形象702以及与用户101的第二运动状态703对应的虚拟形象704。虚拟形象702到虚拟形象704之间的转变形成了与用户101从第一运动状态701到第二运动状态703之间的运动对应的动态虚拟形象。如图7所示,所生成的虚拟形象702和704具有经融合的平滑表面,并且与用户101的运动状态相对应。虚拟形象702和704在反映用户101的运动的同时保持了与用户101的适当的相似性,从而可以避免虚拟形象与人类之间的过高的相似性带来的“恐怖谷”效应。
71.在一些实施例中,可以通过以较短的时间间隔显示多个虚拟形象来生成动态虚拟形象。备选地或附加地,可以基于多个虚拟形象确定多个虚拟形象之间的转变或过渡,以用于生成动态虚拟形象。可以利用合适的方法来基于不同时刻的虚拟形象生成动态虚拟形象,本公开的范围在此不受限制。
72.上文参考图1至图7描述了根据本公开的实施例的用于生成虚拟形象的方案。应理解,上述过程200仅是示例性的而不构成对本公开的范围的限制。根据本公开的实施例,可以提供一种生成虚拟形象的方案。利用该方案,通过基于用户的图像来生成虚拟形象,可以针对不同的用户、同一用户在不同时刻的运动状态来生成个性化的动态虚拟形象,从而增强用户的交互体验。此外,通过在虚拟骨架的特征点处添加几何结构,可以避免虚拟骨架带来的不适感,从而增强用户体验。
73.示例装置和设备
74.图8示出了根据本公开实施例的用于生成虚拟形象的装置800的框图,装置800可以包括多个模块,以用于执行如图2中所讨论的过程200中的对应步骤。如图8所示,装置800包括:运动数据确定单元810,其被配置为基于用户101的图像,确定与用户101的运动对应的虚拟骨架的运动数据。虚拟骨架包括多个特征点。装置800还包括几何结构确定单元820,其被配置为基于运动数据,确定与多个特征点中的一组目标特征点对应的一组几何结构。装置800还包括虚拟形象生成单元830,其被配置为通过在该组目标特征点处添加该组几何结构,生成与用户101的运动对应的动态虚拟形象。利用该装置800,可以生成与用户101的运动对应的动态虚拟形象,从而增强用户101的交互体验。
75.在一些实施例中,装置800还包括目标特征点确定单元,目标特征点确定单元被配
置为在多个特征点中确定一组目标特征点,以用于添加一组几何结构。
76.在一些实施例中,几何结构确定单元820被配置为基于以下至少一项在多个特征点中确定一组目标特征点:用户的运动的运动特征,特征点对应的身体部位,特征点之间的运动相似性,以及特征点之间的距离。
77.在一些实施例中,几何结构确定单元820被配置为确定一组几何结构的形状和大小中的至少一项。在一些实施例中,几何结构确定单元820被配置为:基于与一组目标特征点中的特征点对应的身体部位的位置和运动幅度中的至少一项,确定与特征点对应的几何结构。在一些实施例中,几何结构确定单元820被配置为:基于与一组目标特征点中的特征点与预定点的距离,确定与特征点对应的几何结构。
78.在一些实施例中,虚拟形象生成单元830被配置为:融合一组几何结构中邻近的几何结构,以生成动态虚拟形象。在第二方面的一些实施例中,装置800还包括融合单元,融合单元被配置为:基于运动数据,确定融合程度,以用于融合一组几何结构中邻近的几何结构。
79.在一些实施例中,装置800还包括运动特征确定单元,运动特征确定单元被配置为:基于运动数据,确定用户的运动的运动特征,运动特征包括运动的类型、幅度、频率中的至少一项。在第二方面的一些实施例中,运动特征确定单元被配置为:基于运动数据,确定在用户的运动期间多个特征点的运动轨迹;以及基于运动轨迹,确定运动特征。
80.图9示出了可以用来实施本公开的实施例的示例设备900的示意性框图。设备900可以用来实现图1中所示的设备110的功能。如图所示,设备900包括计算单元901,其可以根据存储在随机存取存储器(ram)903和/或只读存储器(rom)902的计算机程序指令或者从存储单元908加载到ram 903和/或rom 902中的计算机程序指令,来执行各种适当的动作和处理。在ram 903和/或rom 902中,还可存储设备900操作所需的各种程序和数据。计算单元901和ram 903和/或rom 902通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
81.设备900中的多个部件连接至i/o接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
82.计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如过程200。例如,在一些实施例中,过程200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ram和/或rom和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到ram和/或rom并由计算单元901执行时,可以执行上文描述的过程200的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行过程200。
83.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实
现,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,在服务器或终端上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴光缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是服务器或终端能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(如软盘、硬盘和磁带等),也可以是光介质(如数字视盘(digital video disk,dvd)等),或者半导体介质(如固态硬盘等)。
84.此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
85.尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1