一种修复方法、装置及存储介质与流程

文档序号:34632470发布日期:2023-06-29 15:06阅读:53来源:国知局
一种修复方法、装置及存储介质与流程

本技术涉及计算机,尤其涉及一种修复方法、装置及存储介质。


背景技术:

1、元宇宙是当前学术界和工业界研究的热点问题,而数字人技术是其中的关键特征之一。随着技术的进步,数字人已经越来越多走进应用场景,包括数字偶像、虚拟社交、智慧诊疗、主持人甚至数字航天员等等。数字人在场景中的互动与认知,需要构建出一个运动自然、表情丰富和大脑智慧的数字人。其中,合适的动作表达是数字人是否生动智能的核心要素之一。数字人在运动过程中存在一个关键问题,即穿模问题。穿模是指模型蒙皮面片产生不合理的穿插,这非常影响数字人的视觉效果,极大地影响了数字人产品的推进和落地。目前对穿模问题的修复方法,主要包括:(1)直接人工调整穿模处,使其恢复正常,这种方式需要专业的动画师,并且耗时耗力,修复成本高;(2)使用穿模优化方法,进行穿模的优化,得到非穿模结果,但现有的穿模优化方法优化效果差,难以获得流畅的非穿模结果。


技术实现思路

1、有鉴于此,提出了一种修复方法、装置、存储介质及计算机程序产品。

2、第一方面,本技术的实施例提供了一种修复方法,所述方法包括:获取第一数据;所述第一数据包括三维3d人体模型的运动数据;根据所述3d人体模型和第一约束条件,对所述第一数据进行修正,得到第一修正数据;所述第一约束条件用于在修正过程中对语义一致性和/或运动一致性进行约束;所述语义一致性指所述3d人体模型中人体部件构成的动作语义保持一致;所述运动一致性包括:运动幅度的一致性、运动方向的一致性、运动速度的一致性或运动加速度的一致性中的至少一项。基于上述技术方案,根据3d人体模型和第一约束条件,对3d人体模型的运动数据进行修正,得到第一修正数据;可以修正3d人体模型的运动数据;其中,第一约束条件可以用于在修正过程中对语义一致性和/或运动一致性进行约束,从而可以在修正过程中保持原有动作的语义一致性、运动轨迹一致性及时序连续性,可以获得语义保持、运动自然连贯的运动数据,可以使修复后的3d人体模型的动作自然连贯、平滑稳定。

3、根据第一方面,在所述第一方面的第一种可能的实现方式中,所述第一约束条件用于在修正过程中对语义一致性进行约束;所述根据所述3d人体模型和第一约束条件,对所述第一数据进行修正,得到第一修正数据,包括:对所述3d人体模型进行区域划分,得到多个区域;对所述多个区域进行碰撞检测,确定第一时间段和所述多个区域中发生碰撞的区域;所述第一时间段为发生碰撞的时间段;在所述第一时间段内,根据所述发生碰撞的区域内的骨骼点和所述第一约束条件,对所述第一数据进行修正,得到所述第一修正数据。

4、基于上述技术方案,通过在修正过程中对3d人体模型中发生碰撞的区域内的骨骼点进行约束,可以保留原有动作的几何语义信息,保持修复前后的动作的几何语义一致性。

5、根据第一方面的第一种可能的实现方式,在所述第一方面的第二种可能的实现方式中,所述对所述多个区域进行碰撞检测,确定第一时间段和所述多个区域中发生碰撞的区域,包括:获取所述多个区域对应的包围盒;对所述多个区域对应的包围盒进行碰撞检测,确定所述第一时间段和所述多个区域中发生碰撞的区域。

6、基于上述技术方案,通过包围盒设计和包围盒碰撞检测确定发生碰撞的时间段和发生碰撞的区域,可以快速判断是否产生了几何语义动作,并可以快速识别出具有几何语义的动作片段和身体区域,从而可以缩短修复的时间,提升修复的效率。

7、根据第一方面的第一种或第二种可能的实现方式,在所述第一方面的第三种可能的实现方式中,所述第一约束条件为第一骨骼点与第二骨骼点的连线方向具有一致性;其中,所述第一骨骼点为第一碰撞区域中的任一骨骼点;所述第二骨骼点为第二碰撞区域中的任一骨骼点;所述第一碰撞区域为所述多个区域中发生碰撞的任一区域,所述第二碰撞区域为所述多个区域中与所述第一碰撞区域发生碰撞的任一区域。

8、基于上述技术方案,通过在修正过程中对几何语义区域内的骨骼点间的语义方向进行一致性约束,可以保留原有动作的几何语义信息,保持修复前后的动作的几何语义一致性。

9、根据第一方面或第一方面上述各种可能的实现方式,在所述第一方面的第四种可能的实现方式中,所述第一约束条件用于在修正过程中对运动一致性进行约束;所述运动一致性包括运动幅度的一致性和运动方向的一致性;所述根据所述3d人体模型和第一约束条件,对所述第一数据进行修正,得到第一修正数据,包括:获取所述3d人体模型的骨骼点的运动幅度和运动方向;其中,所述骨骼点的运动幅度和运动方向根据所述第一数据得到;根据所述骨骼点的运动幅度和运动方向、和所述第一约束条件,对所述第一数据进行修正,得到第一修正数据。

10、基于上述技术方案,通过在修正过程中对3d人体模型的骨骼点的运动幅度和运动方向进行一致性约束,可以保持修复前后运动轨迹的一致性,使得修复后的动作连贯自然。

11、根据第一方面或第一方面上述各种可能的实现方式,在所述第一方面的第五种可能的实现方式中,所述第一约束条件用于在修正过程中对运动一致性进行约束;所述运动一致性包括运动速度的一致性和运动加速度的一致性;所述根据所述3d人体模型和第一约束条件,对所述第一数据进行修正,得到第一修正数据,包括:根据所述3d人体模型的骨骼点的运动速度和运动加速度,确定第一权重和第二权重;其中,所述骨骼点的运动速度和运动加速度根据所述第一数据得到;所述第一权重根据所述骨骼点在不同时间段的运动速度确定;所述第二权重根据所述骨骼点在不同时间段的运动加速度确定;根据所述骨骼点的运动速度和运动加速度、所述第一权重、所述第二权重和所述第一约束条件,对所述第一数据进行修正,得到第一修正数据。

12、基于上述技术方案,通过在修正过程中对3d人体模型的骨骼点的运动速度和运动加速度进行一致性进行约束,可以保持修复前后运动时序的稳定性和连续性,使得修复后的动作平滑稳定。

13、根据第一方面或第一方面上述各种可能的实现方式,在所述第一方面的第六种可能的实现方式中,所述第一约束条件基于l2损失函数得到。

14、作为一个示例,第一约束条件可以基于l2损失函数得到,用于在修正过程中对运动幅度一致性和运动方向一致性进行约束,可以在l2损失函数取得最小值时得到修正后的运动幅度和运动方向,可以使修正前后的运动幅度和运动方向保持更高的一致性,从而可以使修复后的动作更连贯自然。

15、作为另一个示例,第一约束条件可以基于l2损失函数得到,用于在修正过程中对运动速度一致性和运动加速度一致性进行约束,可以在l2损失函数取得最小值时得到修正后的运动速度和运动加速度,可以使修正前后的运动速度和运动加速度保持更高的一致性,从而可以使修复后的动作更平滑稳定。

16、根据第一方面或第一方面上述各种可能的实现方式,在所述第一方面的第七种可能的实现方式中,所述方法还包括:根据所述3d人体模型和第二约束条件,对所述第一修正数据进行修正,得到第二修正数据;其中,所述第二约束条件用于在修正过程中对所述3d人体模型中交叉的蒙皮面片进行约束。

17、基于上述技术方案,可以修复3d人体模型中发生穿模的部分,可以获得无穿模的运动数据。

18、作为一个示例,第一数据可以包括3d人体模型在发生穿模的时间段的运动数据,基于上述技术方案,根据3d人体模型和第一约束条件,对第一数据进行修正,得到第一修正数据;根据3d人体模型和第二约束条件,对第一修正数据进行修正,得到第二修正数据;本技术实施例可以修复3d人体模型在运动过程中发生穿模的运动数据,在修复穿模动作的同时,可以保持原有动作的语义一致性、运动轨迹一致性及时序连续性,从而可以使修复后3d人体模型无穿模且动作自然连贯。

19、根据第一方面的第七种可能的实现方式,在所述第一方面的第八种可能的实现方式中,所述根据所述3d人体模型和第二约束条件,对所述第一修正数据进行修正,得到第二修正数据,包括:根据所述第一修正数据,获取所述交叉的蒙皮面片;根据所述交叉的蒙皮面片和所述第二约束条件,对所述第一修正数据进行修正,得到第二修正数据;其中,所述第二约束条件用于在修正过程中对所述交叉的蒙皮面片的距离,和/或,所述交叉的蒙皮面片的方向进行约束。

20、基于上述技术方案,通过在修正过程中对交叉的蒙皮面片的距离和方向进行约束,可以对3d人体模型中发生穿模的部分进行适当惩罚,从而可以修复穿模部分,得到无穿模的运动数据。

21、第二方面,本技术的实施例提供了一种修复装置,所述装置包括:获取模块,用于获取第一数据;所述第一数据包括三维3d人体模型的运动数据;第一修正模块,用于根据所述3d人体模型和第一约束条件,对所述第一数据进行修正,得到第一修正数据;所述第一约束条件用于在修正过程中对语义一致性和/或运动一致性进行约束;所述语义一致性指所述3d人体模型中人体部件构成的动作语义保持一致;所述运动一致性包括:运动幅度的一致性、运动方向的一致性、运动速度的一致性或运动加速度的一致性中的至少一项。

22、基于上述技术方案,根据3d人体模型和第一约束条件,对3d人体模型的运动数据进行修正,得到第一修正数据;可以修正3d人体模型的运动数据;其中,第一约束条件可以用于在修正过程中对语义一致性和/或运动一致性进行约束,从而可以在修正过程中保持原有动作的语义一致性、运动轨迹一致性及时序连续性,可以获得语义保持、运动自然连贯的运动数据,可以使修复后的3d人体模型的动作自然连贯、平滑稳定。根据第二方面,在所述第二方面的第一种可能的实现方式中,所述第一约束条件用于在修正过程中对所述3d人体模型中发生碰撞的区域进行约束;所述第一修正模块,还用于:对所述3d人体模型进行区域划分,得到多个区域;对所述多个区域进行碰撞检测,确定第一时间段和所述多个区域中发生碰撞的区域;所述第一时间段为发生碰撞的时间段;在所述第一时间段内,根据所述发生碰撞的区域内的骨骼点和所述第一约束条件,对所述第一数据进行修正,得到所述第一修正数据。

23、基于上述技术方案,通过在修正过程中对3d人体模型中发生碰撞的区域内的骨骼点进行约束,可以保留原有动作的几何语义信息,保持修复前后的动作的几何语义一致性。

24、根据第二方面的第一种可能的实现方式,在所述第二方面的第二种可能的实现方式中,所述第一修正模块,还用于:获取所述多个区域对应的包围盒;对所述多个区域对应的包围盒进行碰撞检测,确定所述第一时间段和所述多个区域中发生碰撞的区域。

25、基于上述技术方案,通过包围盒设计和包围盒碰撞检测确定发生碰撞的时间段和发生碰撞的区域,可以快速判断是否产生了几何语义动作,并可以快速识别出具有几何语义的动作片段和身体区域,从而可以缩短修复的时间,提升修复的效率。

26、根据第二方面的第一种或第二种可能的实现方式,在所述第二方面的第三种可能的实现方式中,所述第一约束条件为第一骨骼点与第二骨骼点的连线方向具有一致性;其中,所述第一骨骼点为第一碰撞区域中的任一骨骼点;所述第二骨骼点为第二碰撞区域中的任一骨骼点;所述第一碰撞区域为所述多个区域中发生碰撞的任一区域,所述第二碰撞区域为所述多个区域中与所述第一碰撞区域发生碰撞的任一区域。

27、基于上述技术方案,通过在修正过程中对几何语义区域内的骨骼点间的语义方向进行一致性约束,可以保留原有动作的几何语义信息,保持修复前后的动作的几何语义一致性。

28、根据第二方面或第二方面上述各种可能的实现方式,在所述第二方面的第四种可能的实现方式中,所述第一约束条件用于在修正过程中对运动一致性进行约束;所述运动一致性包括运动幅度的一致性和运动方向的一致性;所述第一修正模块,还用于:获取所述3d人体模型的骨骼点的运动幅度和运动方向;其中,所述骨骼点的运动幅度和运动方向根据所述第一数据得到;根据所述骨骼点的运动幅度和运动方向、和所述第一约束条件,对所述第一数据进行修正,得到第一修正数据。

29、基于上述技术方案,通过在修正过程中对3d人体模型的骨骼点的运动幅度和运动方向进行一致性约束,可以保持修复前后运动轨迹的一致性,使得修复后的动作连贯自然。

30、根据第二方面或第二方面上述各种可能的实现方式,在所述第二方面的第五种可能的实现方式中,所述第一约束条件用于在修正过程中对运动一致性进行约束;所述运动一致性包括运动速度的一致性和运动加速度的一致性;所述第一修正模块,还用于:根据所述3d人体模型的骨骼点的运动速度和运动加速度,确定第一权重和第二权重;其中,所述骨骼点的运动速度和运动加速度根据所述第一数据得到;所述第一权重根据所述骨骼点在不同时间段的运动速度确定;所述第二权重根据所述骨骼点在不同时间段的运动加速度确定;根据所述骨骼点的运动速度和运动加速度、所述第一权重、所述第二权重和所述第一约束条件,对所述第一数据进行修正,得到第一修正数据。

31、基于上述技术方案,通过在修正过程中对3d人体模型的骨骼点的运动速度和运动加速度进行一致性进行约束,可以保持修复前后运动时序的稳定性和连续性,使得修复后的动作平滑稳定。

32、根据第二方面或第二方面上述各种可能的实现方式,在所述第二方面的第六种可能的实现方式中,所述第一约束条件基于l2损失函数得到。

33、作为一个示例,第一约束条件可以基于l2损失函数得到,用于在修正过程中对运动幅度一致性和运动方向一致性进行约束,可以在l2损失函数取得最小值时得到修正后的运动幅度和运动方向,可以使修正前后的运动幅度和运动方向保持更高的一致性,从而可以使修复后的动作更连贯自然。

34、作为另一个示例,第一约束条件可以基于l2损失函数得到,用于在修正过程中对运动速度一致性和运动加速度一致性进行约束,可以在l2损失函数取得最小值时得到修正后的运动速度和运动加速度,可以使修正前后的运动速度和运动加速度保持更高的一致性,从而可以使修复后的动作更平滑稳定。

35、根据第二方面或第二方面上述各种可能的实现方式,在所述第二方面的第七种可能的实现方式中,所述装置还包括:第二修正模块,用于根据所述3d人体模型和第二约束条件,对所述第一修正数据进行修正,得到第二修正数据;其中,所述第二约束条件用于在修正过程中对所述3d人体模型中交叉的蒙皮面片进行约束。

36、基于上述技术方案,可以修复3d人体模型中发生穿模的部分,可以获得无穿模的运动数据。

37、作为一个示例,第一数据可以包括3d人体模型在发生穿模的时间段的运动数据,基于上述技术方案,根据3d人体模型和第一约束条件,对第一数据进行修正,得到第一修正数据;根据3d人体模型和第二约束条件,对第一修正数据进行修正,得到第二修正数据;本技术实施例可以修复3d人体模型在运动过程中发生穿模的运动数据,在修复穿模动作的同时,可以保持原有动作的语义一致性、运动轨迹一致性及时序连续性,从而可以使修复后3d人体模型无穿模且动作自然连贯。

38、根据第二方面的第七种可能的实现方式,在所述第二方面的第八种可能的实现方式中,所述第二修正模块,还用于:根据所述第一修正数据,获取所述交叉的蒙皮面片;根据所述交叉的蒙皮面片和所述第二约束条件,对所述第一修正数据进行修正,得到第二修正数据;其中,所述第二约束条件用于在修正过程中对所述交叉的蒙皮面片的距离,和/或,所述交叉的蒙皮面片的方向进行约束。

39、基于上述技术方案,通过在修正过程中对交叉的蒙皮面片的距离和方向进行约束,可以对3d人体模型中发生穿模的部分进行适当惩罚,从而可以修复穿模部分,得到无穿模的运动数据。

40、第三方面,本技术的实施例提供了一种修复装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现第一方面或第一方面的一种或几种的修复方法。

41、第四方面,本技术的实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现第一方面或第一方面的一种或几种的修复方法。

42、第五方面,本技术的实施例提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述第一方面或第一方面的一种或几种的修复方法。

43、上述第三方面至第五方面的技术效果,参见上述第一方面或第二方面。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1