一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种模型融合方法及相关装置与流程

2022-03-23 00:02:23 来源:中国专利 TAG:


1.本技术涉及计算机视觉技术领域,尤其涉及一种模型融合方法及相关装置。


背景技术:

2.随着计算机图形学、计算机视觉技术的快速发展,虚拟人体模型已经广泛进入到人们的日常生活中,比如游戏产业中大量的虚拟人物角色,还有越来越多的虚拟主播形象等虚拟人体模型。
3.目前,生成虚拟人体模型的主流技术包括设备扫描和计算机图形学(computer graphics,cg)设计师手工设计。具体地,在使用激光设备或者单反相机阵列获取人体原始数据后,经过算法处理生成原始模型,再由设计师处理成符合要求的虚拟人体模型。在生成虚拟人体模型的过程中除了相对高昂的设备投入外,还需要耗费大量的人力和时间。一般来说,完成一个高精度的虚拟人体模型的制作需要2-5个月时间,制作效率极低。处理好后的虚拟人体模型被应用于不同场景,比如精度要求较低的消费娱乐场景,精度要求较高的大型游戏角色生成场景,以及更高要求的影视场景。
4.一般来说,由不同的厂商或不同的设计师所制作的虚拟人体模型往往采用不同的制作标准,例如同一个厂商所制作的同类别的模型通常要求具有统一的几何拓扑和纹理映射关系,导致来源不同的模型素材无法实现共享和互换。大众开发者经常面对大量没有统一标准的虚拟人体模型,却无法有效地利用现有的虚拟人体模型,往往需要投入大量成本进行额外建模或者标准化处理,导致虚拟人体模型的生成效率较低。


技术实现要素:

5.本技术提供了一种模型融合方法,能够融合来源不同的头部模型和身体模型,从而生成新的人体模型,提高人体模型的生成效率。
6.本技术第一方面提供一种模型融合方法,包括:获取第一模型和第二模型,所述第一模型和所述第二模型均属于人体模型中的部分模型。例如,所述第一模型为目标头部模型,所述第二模型为目标身体模型;或者,所述第一模型为目标躯干模型,所述第二模型为目标肢体模型。具体地,第一模型和第二模型可以是来源不同的模型,即第一模型和第二模型的几何拓扑和纹理可以是不相同的。
7.分别将所述第一模型和所述第二模型与预设人体模型进行配准,得到第三模型,所述第三模型包括配准后的第一模型和配准后的第二模型。其中,模型配准是指将类型相同但形状大小不同的两个模型进行匹配和叠加的过程。配准后的两个模型中具有对应关系的空间坐标点位于相同的位置上。
8.对所述第三模型中的过渡区域执行变形处理,以平滑所述过渡区域,得到第四模型。其中,所述过渡区域包括所述配准后的第一模型中靠近于所述配准后的第二模型的部分区域,以及所述配准后的第二模型中靠近于所述配准后的第一模型的部分区域。示例性地,所述过渡区域例如可以为第三模型中的脖子区域。
9.本方案中,通过将来源不同的第一模型和第二模型分别与同一个预设人体模型进行配准,实现了基于统一的身体模型初步融合第一模型和第二模型。然后,通过对第一模型和第二模型之间的过渡区域进行平滑处理,实现了第一模型和第二模型的精准融合,从而生成新的人体模型,在保持原模型的精度的同时,提高了人体模型的生成效率。
10.在一种可能的实现方式中,对所述第三模型中的过渡区域执行变形处理,以平滑所述过渡区域,得到第四模型,包括:基于所述预设人体模型中的第一区域,确定所述第三模型中与所述第一区域对应的第二区域,所述第二区域包括所述过渡区域。其中,当第一模型为目标头部模型,第二模型为目标身体模型时,所述第一区域可以位于所述预设人体模型中的脖子区域。由于目标头部模型和目标身体模型的过渡区域通常是位于脖子区域,因此预设人体模型中的第一区域位于预设人体模型中的脖子区域。这样,基于第一区域所确定的第二区域同样位于第三模型中的脖子区域。
11.根据所述第二区域中的第一控制区域和第二控制区域,确定所述过渡区域的变形系数,所述第一控制区域和所述第二控制区域分别位于所述第三模型中的不同目标模型上,且所述第一控制区域和所述第二控制区域对应于所述预设人体模型中的相同区域。即,第一控制区域可以是位于目标头部模型,且第二控制区域位于目标身体模型;或者,第一控制区域位于目标身体模型,且第二控制区域位于目标头部模型。
12.根据所述变形系数,对所述第三模型中的过渡区域执行变形处理,即对过渡区域中的坐标点执行坐标变换,以使得目标人头模型和目标身体模型能够平滑连接,最终得到所述第四模型。
13.在一种可能的实现方式中,所述根据所述第二区域中的第一控制区域和第二控制区域,确定所述过渡区域的变形系数,包括:
14.获取所述第一控制区域中的多个第一采样点、所述第二控制区域中的多个第二采样点和第三控制区域中的多个第三采样点,所述多个第一采样点与所述多个第二采样点具有对应关系。其中,所述第二区域包括所述第三控制区域,即第三控制区域也是基于预设人体模型中的第一区域映射得到的,并且所述第三控制区域与所述第一控制区域位于同一个目标模型上。即第三控制区域与第一控制区域均位于目标头部模型上,而第二控制区域位于目标身体模型上;或者,第三控制区域与第一控制区域均位于目标身体模型上,而第二控制区域位于目标头部模型上。
15.根据所述多个第一采样点与所述多个第二采样点之间的坐标变换关系以及所述多个第三采样点与所述多个第三采样点之间的坐标变换关系,确定所述过渡区域的变形系数。
16.本方案中,通过以第一控制区域和第二控制区域之间的坐标变换关系以及第三控制区域与自身的坐标变换关系来求取变形系数,能够使得基于变形系数执行变形处理时,过渡区域沿着竖直方向逐渐增加变形的幅度,实现过渡区域的平滑过渡。
17.在一种可能的实现方式中,所述过渡区域中执行变形处理的区域包括所述第一控制区域、所述第三控制区域以及位于所述第一控制区域与所述第三控制区域之间的变形区域。
18.在一种可能的实现方式中,为了尽可能实现过渡区域的平滑过渡,所述第一控制区域和所述第三控制区域的面积均小于所述变形区域的面积。例如,第一控制区域、第三控
制区域和变形区域的面积比例可以为1∶1∶3或者1∶1∶2。
19.在一种可能的实现方式中,当所述第一模型为目标头部模型,所述第二模型为目标身体模型时,所述第一控制区域、所述第三控制区域和所述变形区域位于所述目标头部模型上,且所述第一控制区域靠近于所述目标身体模型,所述第二控制区域位于所述目标身体模型上;或者,所述第一控制区域、所述第三控制区域和所述变形区域位于所述目标身体模型上,且所述第一控制区域靠近于所述目标头部模型,所述第二控制区域位于所述目标头部模型上。
20.在一种可能的实现方式中,当所述第一模型为目标头部模型,所述第二模型为目标身体模型时,所述基于所述预设人体模型中的第一区域,确定所述第三模型中与所述第一区域对应的第二区域,包括:获取所述预设人体模型中的脖子的中心轴;根据所述中心轴和所述第一区域,确定与所述第一区域对应的所述第二区域;其中,所述第一区域和所述第二区域中的任意两个具有对应关系的采样点位于垂直于所述中心轴的直线上。
21.本方案中,通过将预设人体模型中的脖子区域拟合为圆柱体,并基于垂直映射的方式在第三模型中求取与预设人体模型中的第一区域对应的第二区域,从而实现快速确定第二区域,提高方案的可实现性。
22.在一种可能的实现方式中,当所述第二模型为目标身体模型时,所述将所述第二模型与预设人体模型进行配准,包括:确定所述目标身体模型中的多个第一关键特征点;获取所述预设人体模型的身体模型中预先标记的多个第二关键特征点,所述多个第一关键特征点与所述多个第二关键特征点具有对应关系;根据所述多个第一关键特征点与所述多个第二关键特征点,调整所述预设人体模型的身体模型的形状和/或姿态,并将调整后的预设人体模型配准到所述目标身体模型上。
23.在一种可能的实现方式中,所述多个第一关键特征点包括左肩、右肩、左肘、右肘、左腕、右腕、左臀、右臀、左膝、右膝、左脚踝和右脚踝中的一个或多个。
24.在一种可能的实现方式中,当所述第一模型为目标头部模型时,所述将所述第一模型与预设人体模型进行配准,包括:确定所述目标头部模型中的多个第三关键特征点;获取所述预设人体模型的头部模型中预先标记的多个第四关键特征点,所述多个第三关键特征点与所述多个第四关键特征点具有对应关系;根据所述多个第三关键特征点与所述多个第四关键特征点,将所述目标头部模型配准到所述预设人体模型的头部模型上。
25.在一种可能的实现方式中,所述多个第三关键特征点包括左眼、右眼、鼻尖、左嘴角和右嘴角中的一个或多个。
26.在一种可能的实现方式中,所述确定所述目标头部模型中的多个第三关键特征点,包括:获取所述目标头部模型在不同方向上的多个头部投影图;对所述多个投影图执行人脸检测,以确定所述目标头部模型中人脸的朝向;根据所述目标头部模型人脸的朝向,确定所述目标头部模型中的人脸在不同的投影角度下的多个人脸投影图;分别检测所述多个人脸投影图中的人脸关键特征点,并根据所述人脸关键特征点确定所述目标头部模型中的多个第三关键特征点的空间坐标。其中,人脸关键特征点的类别可以是与第三关键特征点的类别相同,即人脸关键特征点可以包括左眼、右眼、鼻尖、左嘴角和右嘴角。
27.本方案中,通过将目标头部模型投影为不同角度下的二维图像,并检测多个二维图像中的人脸关键特征点来实现确定目标头部模型中第三关键特征点空间坐标,提高了方
案的可实现性。
28.本技术第二方面提供一种模型融合装置,包括:获取单元,用于获取第一模型和第二模型,所述第一模型和所述第二模型均属于人体模型中的部分模型;配准单元,用于分别将所述第一模型和所述第二模型与预设人体模型进行配准,得到第三模型,所述第三模型包括配准后的第一模型和配准后的第二模型;处理单元,用于对所述第三模型中的过渡区域执行变形处理,以平滑所述过渡区域,得到第四模型;其中,所述过渡区域包括所述配准后的第一模型中靠近于所述配准后的第二模型的部分区域,以及所述配准后的第二模型中靠近于所述配准后的第一模型的部分区域。
29.在一种可能的实现方式中,所述第一模型为目标头部模型,所述第二模型为目标身体模型;
30.或者,所述第一模型为目标躯干模型,所述第二模型为目标肢体模型。
31.在一种可能的实现方式中,所述处理单元,具体用于:基于所述预设人体模型中的第一区域,确定所述第三模型中与所述第一区域对应的第二区域,所述第一区域位于所述预设人体模型中的脖子区域,所述第二区域包括所述过渡区域;根据所述第二区域中的第一控制区域和第二控制区域,确定所述过渡区域的变形系数,所述第一控制区域和所述第二控制区域分别位于所述第三模型中的不同目标模型上,且所述第一控制区域和所述第二控制区域对应于所述预设人体模型中的相同区域;根据所述变形系数,对所述第三模型中的过渡区域执行变形处理,得到所述第四模型。
32.在一种可能的实现方式中,所述处理单元,具体用于:获取所述第一控制区域中的多个第一采样点、所述第二控制区域中的多个第二采样点和第三控制区域中的多个第三采样点,所述多个第一采样点与所述多个第二采样点具有对应关系,所述第二区域包括所述第三控制区域,所述第三控制区域与所述第一控制区域位于同一个目标模型上;根据所述多个第一采样点与所述多个第二采样点之间的坐标变换关系以及所述多个第三采样点与所述多个第三采样点之间的坐标变换关系,确定所述过渡区域的变形系数。
33.在一种可能的实现方式中,所述过渡区域中执行变形处理的区域包括所述第一控制区域、所述第三控制区域以及位于所述第一控制区域与所述第三控制区域之间的变形区域。
34.在一种可能的实现方式中,所述第一控制区域和所述第三控制区域的面积均小于所述变形区域的面积。
35.在一种可能的实现方式中,当所述第一模型为目标头部模型,所述第二模型为目标身体模型时,所述第一控制区域、所述第三控制区域和所述变形区域位于所述目标头部模型上,且所述第一控制区域靠近于所述目标身体模型,所述第二控制区域位于所述目标身体模型上;或者,所述第一控制区域、所述第三控制区域和所述变形区域位于所述目标身体模型上,且所述第一控制区域靠近于所述目标头部模型,所述第二控制区域位于所述目标头部模型上。
36.在一种可能的实现方式中,当所述第一模型为目标头部模型,所述第二模型为目标身体模型时,所述处理单元,具体用于:获取所述预设人体模型中的脖子的中心轴;根据所述中心轴和所述第一区域,确定与所述第一区域对应的所述第二区域;其中,所述第一区域和所述第二区域中的任意两个具有对应关系的采样点位于垂直于所述中心轴的直线上。
37.在一种可能的实现方式中,当所述第二模型为目标身体模型时,所述配准单元,具体用于:确定所述目标身体模型中的多个第一关键特征点;获取所述预设人体模型的身体模型中预先标记的多个第二关键特征点,所述多个第一关键特征点与所述多个第二关键特征点具有对应关系;根据所述多个第一关键特征点与所述多个第二关键特征点,调整所述预设人体模型的身体模型的形状和/或姿态,并将调整后的预设人体模型配准到所述目标身体模型上。
38.在一种可能的实现方式中,所述多个第一关键特征点包括左肩、右肩、左肘、右肘、左腕、右腕、左臀、右臀、左膝、右膝、左脚踝和右脚踝中的一个或多个。
39.在一种可能的实现方式中,当所述第一模型为目标头部模型时,所述配准单元,具体用于:确定所述目标头部模型中的多个第三关键特征点;获取所述预设人体模型的头部模型中预先标记的多个第四关键特征点,所述多个第三关键特征点与所述多个第四关键特征点具有对应关系;根据所述多个第三关键特征点与所述多个第四关键特征点,将所述目标头部模型配准到所述预设人体模型的头部模型上。
40.在一种可能的实现方式中,所述多个第三关键特征点包括左眼、右眼、鼻尖、左嘴角和右嘴角中的一个或多个。
41.在一种可能的实现方式中,所述配准单元,具体用于:获取所述目标头部模型在不同方向上的多个头部投影图;对所述多个投影图执行人脸检测,以确定所述目标头部模型中人脸的朝向;根据所述目标头部模型人脸的朝向,确定所述目标头部模型中的人脸在不同的投影角度下的多个人脸投影图;分别检测所述多个人脸投影图中的人脸关键特征点,并根据所述人脸关键特征点确定所述目标头部模型中的多个第三关键特征点的空间坐标。
附图说明
42.图1为本技术实施例提供的一种电子设备101的结构示意图;
43.图2为本技术实施例提供的一种模型融合方法200的流程示意图;
44.图3为本技术实施例提供的一种模型配准的示意图;
45.图4为本技术实施例提供的一种区域的垂直映射示意图;
46.图5为本技术实施例提供的一种在预设人体模型中划分第一区域的示意图;
47.图6为本技术实施例提供的一种目标头部模型和目标身体模型的示意图;
48.图7为本技术实施例提供的一种基于预设人体模型中的第一区域映射得到第三模型中的第二区域的示意图;
49.图8为本技术实施例提供的一种变形处理后所得到的第四模型的示意图;
50.图9为本技术实施例提供的多个第三关键特征点的示意图;
51.图10为本技术实施例提供的一种模型融合装置的结构示意图;
52.图11为本技术实施例提供的一种计算机可读存储介质装置的结构示意图。
具体实施方式
53.下面结合附图,对本技术的实施例进行描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术的发展和新场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
54.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
55.此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本技术中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
56.为了便于理解,以下先对本技术实施例所涉及的技术术语进行介绍。
57.模型配准:将类型相同但形状大小不同的两个模型进行匹配和叠加的过程。配准后的两个模型中具有对应关系的空间坐标点位于相同的位置上。例如,对于配准后的两个头部模型,这两个头部模型中的嘴巴、眼睛和鼻子等具有对应关系的特征点位于相同的位置上。即,头部模型a中的嘴巴与头部模型b中的嘴巴位于相同的位置,头部模型a中的眼睛与头部模型b中的眼睛位于相同的位置,头部模型a中的鼻子与头部模型b中的鼻子位于相同的位置。
58.运动恢复结构(structure from motion,sfm):一种自校准的技术,能够自动地完成相机追踪与运动匹配。目标是能够利用两个场景或多个场景自动恢复相机运动和场景结构。
59.多视图系统(multi-view stereo,mvs):一种基于二维图像生成密集点云数据,从而构建三维模型的方法。mvs通过对照片中大量的像素点进行匹配,重建照片中各个像素点的三维坐标,从而得到密集点云数据。
60.神经辐射场(neural radiance field,nerf):通过将二维图像输入至神经网络中,由神经网络构建得到静态三维模型的方法。通常地,为了训练神经网络,针对一个静态场景,需要提供大量相机参数已知的二维图像。基于所提供的二维图像训练好的神经网络,即可以从任意角度渲染出二维图像对应的三维模型。
61.在游戏行业中,虚拟人体模型的生成主要分为两个阶段:设计师前期设计和用户后期编辑。在第一个阶段中,由设计师设计好一定数量的基础模型和素材,比如不同种族的几个虚拟人体模型,以及各式各样的发型、脸型、皮肤和服装等,并且相同类别的模型、素材要求具有统一的几何拓扑和纹理映射关系;在第二个阶段中,用户进入角色系统时可以根据自己的喜好在数据库中进行选择和搭配,组合出自己满意的虚拟人体模型。这种生成虚拟人体模型的方法能够有效丰富数字人模型的样式,满足不同用户的偏好,但是仍然存在一定的局限性。具体来说,这种方法仍然需要设计师在前期完成大量的设计工作,经常只适合于大成本游戏作品中;其次是大部分模型素材都必须满足一套严格的标准,比如几何拓扑一致、纹理映射关系一致等。
62.一般来说,由不同的厂商或不同的设计师所制作的虚拟人体模型往往采用不同的制作标准,例如同一个厂商所制作的同类别的模型通常要求具有统一的几何拓扑和纹理映
射关系,导致来源不同的模型素材无法实现共享和互换。大众开发者经常面对大量没有统一标准的虚拟人体模型,却无法有效地利用现有的虚拟人体模型,往往需要投入大量成本进行额外建模或者标准化处理,导致虚拟人体模型的生成效率较低。
63.简单来说,大众开发者面对来源不同的虚拟人体模型时,由于来源不同的虚拟人体模型的制作标准不一样,这些虚拟人体模型的几何拓扑并不相同,大众开发者无法通过融合这些已有的虚拟人体模型来生成新的模型。
64.有鉴于此,本技术实施例提供了一种模型融合方法,通过将来源不同的目标头部模型和目标身体模型分别与同一个预设人体模型进行配准,实现了基于统一的身体模型初步融合目标头部模型和目标身体模型。然后,通过对目标头部模型和目标身体模型之间的过渡区域进行平滑处理,实现了目标头部模型和目标身体模型的精准融合,从而生成新的人体模型。基于本方案,能够融合来源不同的头部模型和身体模型,例如融合几何拓扑不一致的头部模型和身体模型,从而生成新的人体模型,提高人体模型的生成效率。
65.以上介绍了本技术实施例提供的方法所应用的场景,以下将介绍本技术实施例提供的方法所应用的设备。
66.具体地,本技术实施例所提供的模型融合方法可以应用于电子设备上。示例性地,该电子设备例如可以是服务器、智能手机(mobile phone)、个人电脑(personal computer,pc)、笔记本电脑、平板电脑、智慧电视、移动互联网设备(mobile internet device,mid)、可穿戴设备,虚拟现实(virtual reality,vr)设备、增强现实(augmented reality,ar)设备、工业控制(industrial control)中的无线电子设备、远程手术(remote medical surgery)中的无线电子设备、智能驾驶中的无线电子设备、智能电网(smart grid)中的无线电子设备、运输安全(transportation safety)中的无线电子设备、智慧城市(smart city)中的无线电子设备、智慧家庭(smart home)中的无线电子设备等。
67.为了便于叙述,以下将以本技术实施例提供的方法应用于服务器上为例,对本技术实施例所提供的方法进行介绍。
68.为了便于理解本方案,本技术实施例中首先结合图1对本技术提供的电子设备的结构进行介绍。
69.可以参阅图1,图1为本技术实施例提供的一种电子设备101的结构示意图。如图1所示,电子设备101包括处理器103,处理器103和系统总线105耦合。处理器103可以是一个或者多个处理器,其中每个处理器都可以包括一个或多个处理器核。显示适配器(video adapter)107,显示适配器可以驱动显示器109,显示器109和系统总线105耦合。系统总线105通过总线桥111和输入输出(i/o)总线耦合。i/o接口115和i/o总线耦合。i/o接口115和多种i/o设备进行通信,比如输入设备117(如:触摸屏等),外存储器121,(例如,硬盘、软盘、光盘或优盘),多媒体接口等)。收发器123(可以发送和/或接收无线电通信信号),摄像头155(可以捕捉静态和动态数字视频图像)和外部usb端口125。其中,可选地,和i/o接口115相连接的接口可以是usb接口。
70.其中,处理器103可以是任何传统处理器,包括精简指令集计算(reduced instruction set computing,risc)处理器、复杂指令集计算(complex instruction set computing,cisc)处理器或上述的组合。可选地,处理器可以是诸如asic的专用装置。
71.电子设备101可以通过网络接口129和软件部署服务器149通信。示例性的,网络接
口129是硬件网络接口,比如,网卡。网络127可以是外部网络,比如因特网,也可以是内部网络,比如以太网或者虚拟私人网络(virtual private network,vpn)。可选地,网络127还可以是无线网络,比如wifi网络,蜂窝网络等。
72.硬盘驱动器接口131和系统总线105耦合。硬件驱动接口和硬盘驱动器133相连接。内存储器135和系统总线105耦合。运行在内存储器135的数据可以包括电子设备101的操作系统(os)137、应用程序143和调度表。
73.处理器103可以通过系统总线105与内存储器135通信,从内存储器135中取出应用程序143中的指令和数据,从而实现程序的执行。
74.操作系统包括shell 139和内核(kernel)141。shell 139是介于使用者和操作系统的内核间的一个接口。shell是操作系统最外面的一层。shell管理使用者与操作系统之间的交互:等待使用者的输入,向操作系统解释使用者的输入,并且处理各种各样的操作系统的输出结果。
75.内核141由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。内核141直接与硬件交互,操作系统内核通常运行进程,并提供进程间的通信,提供cpu时间片管理、中断、内存管理和io管理等等。
76.示例性地,在电子设备101为智能手机的情况下,应用程序143包括即时通讯相关的程序。在一个实施例中,在需要执行应用程序143时,电子设备101可以从软件部署服务器149下载应用程序143。
77.以上介绍了本技术实施例所应用的场景和设备,以下将详细介绍本技术实施例所提供的模型融合方法。
78.可以参阅图2,图2为本技术实施例提供的一种模型融合方法200的流程示意图。如图2所示,该模型融合方法200包括以下的步骤201-步骤203。
79.步骤201,获取第一模型和第二模型,所述第一模型和所述第二模型均属于人体模型中的部分模型。
80.本实施例中,第一模型和第二模型为待融合的两个模型,且第一模型和第二模型均属于人体模型中的部分模型。所述第一模型例如可以为目标头部模型,所述第二模型例如为目标身体模型;或者,所述第一模型例如可以为目标躯干模型,所述第二模型例如可以为目标肢体模型。为了便于叙述,以下将以第一模型为目标头部模型,第二模型为目标身体模型为例,对本实施例提供的模型融合方法进行详细介绍。
81.其中,目标头部模型和目标身体模型是待融合的两个模型。通过将目标头部模型和目标身体模型进行融合,能够得到一个新的人体模型。具体地,目标头部模型和目标身体模型可以是来源不同的模型,即目标头部模型和目标身体模型的几何拓扑和纹理可以是不相同的。
82.其中,目标头部模型和目标身体模型的获取方式均可以有多种。
83.方式1,基于已经制作好的人体模型获取目标头部模型或目标身体模型。
84.在方式1中,在获得已经制作好的完整人体模型的情况下,可以从不同的人体模型中分别获取目标头部模型和目标身体模型。例如,对于已经制作好的人体模型a和人体模型b,可以获取人体模型a中的头部模型a作为目标头部模型;并且获取人体模型b中的身体模型b作为目标身体模型。简单来说,在方式1的这种场景下,用户已经拥有2个或者2个以上的
人体模型,不需要再采用其他方式额外生成模型,而是从现有的模型中选择目标身体模型和目标头部模型。
85.需要说明的是,在用户以两个完整的人体模型作为输入的情况下,本实施例中可以自动分离所输入的人体模型中的头部模型和身体模型,从而得到目标头部模型和目标身体模型。用户也可以是手动分离人体模型中的头部和身体模型,得到目标头部模型和目标身体模型。
86.方式2,由设计师手工设计和制作目标头部模型或目标身体模型。
87.在方式2中,由设计师手工设计和制作模型,可以根据实际需求做出不同精细程度的目标身体模型和目标头部模型。其中,目标头部模型和目标身体模型可以是不同的设计师所设计的,且目标头部模型和目标身体模型的制作标准也可以是不一样的,即目标头部模型和目标身体模型的几何拓扑和纹理可以是不相同的。
88.方式3,通过灯光舞台(light stage)设备采集并处理数据,生成目标头部模型或目标身体模型。
89.light stage设备是由多相机和多光源构成,专门用于高精度建模以及重打光的数据采集设备。一般来说,基于light stage设备构建模型的精度较高但成本也较高。基于light stage设备采集数据的方式通常可以分为全身采集和半身采集(即采集头部数据或胸部以上数据),基于light stage设备采集得到原始数据后则可以采用相应算法生成模型。
90.基于light stage设备采集并处理数据,可以生成目标头部模型或目标身体模型。在一些应用场景中,用户通常更加关注头部模型的精度,即希望能够获得中等质量的身体以及高质量的头部。在这种场景下,由于基于light stage设备生成的模型精度较高,则可以采用light stage设备生成目标头部模型,并采用其他低成本方式获得目标身体模型。
91.方式4,通过rgb相机采集多视角数据,并采用运动恢复结构(structure from motion,sfm)、多视图系统(multi-view stereo,mvs)、神经辐射场(neural radiance field,nerf)等方法结合生成目标头部模型或目标身体模型。
92.在方式4中,通过rgb相机在多个视角下采集相同人体的二维图像数据,将采集到的二维图像数据作为输入,并采用sfm或mvs,经过相机位姿计算、稀疏点云生成、稠密点云生成、模型网格化以及纹理贴图处理等流程,完成目标头部模型和/或目标身体模型的重建。另外,也可以采用经过nerf方法训练得到的神经网络,将二维图像数据输入至训练好的神经网络中,得到目标头部模型和/或目标身体模型。
93.方式5,通过深度相机或激光设备采集多视角数据,并采用基于非刚性变形的匹配算法生成目标头部模型或目标身体模型。
94.在方式5中,可以直接使用深度相机或激光设备直接采集人体对象的深度信息,并基于人体对象的深度信息和颜色信息生成对应的模型。示例性地,在采用动态融合(dynamicfusion)方案的情况下,使用kinect设备采集的人体数据作为输入,同步获取人体相关的颜色信息和深度信息,并利用这些输入的人体信息不断变形和更新被重建对象,最终得到完整模型。这类方法通常支持动态重建模型,即允许被扫描的人体对象有一定程度的运动。
95.可以理解的是,除了基于上述的方式获取目标头部模型和目标身体模型之外,还
可以通过组合上述的多种方式或者基于其他的方式来获取目标头部模型和目标身体模型,本实施例并不对此做具体限定。
96.步骤202,分别将所述第一模型和所述第二模型与预设人体模型进行配准,得到第三模型,所述第三模型包括配准后的第一模型和配准后的第二模型。
97.具体地,可以是对所述目标身体模型与预设人体模型的身体模型进行配准,以及对所述目标头部模型与预设人体模型的头部模型进行配准,得到第三模型,第三模型所述第三模型是由配准后的所述目标头部模型和配准后的所述目标身体模型拼接得到的。
98.本实施例中,预设人体模型是一个完整的人体模型,包括头部模型和身体模型,可以用于实现与目标头部模型以及目标身体模型的配准。
99.在对所述目标身体模型与预设人体模型的身体模型进行配准的过程中,可以先确定目标身体模型以及预设人体模型的身体模型中特定的特征点,例如左右肩,左右肘,左右腕,左右臀,左右膝,左右脚踝等特征点中的一个或多个。基于目标身体模型以及预设人体模型的身体模型中已确定的特征点,将目标身体模型匹配到预设人体模型的身体模型上,以使得这两个模型中对应的特征点能够位于相同的位置,即这两个模型中对应的特征点的空间坐标一致。
100.类似地,在对所述目标头部模型与预设人体模型的头部模型进行配准的过程中,可以先确定目标头部模型以及预设人体模型的头部模型中特定的特征点,例如双眼,鼻尖,两嘴角等特征点中的一个或多个。基于目标头部模型以及预设人体模型的头部模型中已确定的特征点,将目标头部模型配准到预设人体模型的头部模型上,以使得这两个模型中对应的特征点能够位于相同的位置,即这两个模型中对应的特征点的空间坐标一致。
101.由于预设人体模型中的头部模型和身体模型是连为一体的,在将目标头部模型和目标身体模型分别与预设人体模型配准之后,即可实现目标头部模型和目标身体模型的初步融合,得到第三模型。
102.示例性地,可以参阅图3,图3为本技术实施例提供的一种模型配准的示意图。如图3所示,通过将目标头部模型与预设人体模型中的头部模型配准,以及将目标身体模型与预设人体模型中的身体模型配准,即可实现目标头部模型和目标身体模型的初步拼接,得到第三模型。
103.步骤203,对所述第三模型中的过渡区域执行变形处理,以平滑所述过渡区域,得到第四模型。
104.其中,所述过渡区域包括所述配准后的第一模型中靠近于所述配准后的第二模型的部分区域,以及所述配准后的第二模型中靠近于所述配准后的第一模型的部分区域。示例性地,所述过渡区域例如可以为第三模型中的脖子区域。
105.在第三模型中,目标头部模型和目标身体模型已经处于相对合理的位置,但是由于目标头部模型和目标身体模型的几何拓扑可能是不一样的,因此目标头部模型和目标身体模型的过渡区域可能无法实现平滑的过渡。例如,在目标头部模型的脖子较细,而目标身体模型的脖子较粗的情况下,目标头部模型可能无法很好地与目标身体模型拼接在一起,从而导致第三模型中出现靠近头部模型的脖子区域较细而靠近身体模型的脖子较粗的现象。
106.基于此,本实施例中可以对所述第三模型中的过渡区域执行变形处理,以使得目
标头部模型和目标身体模型衔接的区域能够平滑过渡,从而得到进一步精细融合后的第四模型。
107.示例性地,在目标头部模型的脖子较细,而目标身体模型的脖子较粗的情况下,可以沿着目标身体模型的方向对目标头部模型的脖子执行逐渐变粗的变形处理,以使得目标头部模型与目标身体模型的过渡区域能够尽可能地平滑过渡。
108.本方案中,通过将来源不同的目标头部模型和目标身体模型分别与同一个预设人体模型进行配准,实现了基于统一的身体模型初步融合目标头部模型和目标身体模型。由于预设人体模型中的头部模型和身体模型的几何拓扑是一致的,因此分别将目标头部模型和目标身体模型配准至同一个人体模型中,即可实现几何拓扑不同的目标头部模型和目标身体模型的融合。然后,通过对目标头部模型和目标身体模型之间的过渡区域进行平滑处理,实现了目标头部模型和目标身体模型的精准融合,从而生成新的人体模型,提高了人体模型的生成效率。
109.为了便于理解,以下将详细介绍对第三模型中的过渡区域执行变形处理的过程。
110.在一个可能的实施例中,上述的步骤203具体包括以下的步骤2031-2033。
111.步骤2031,基于所述预设人体模型中的第一区域,确定所述第三模型中与所述第一区域对应的第二区域,所述第一区域位于所述预设人体模型中的脖子区域,所述第二区域包括所述过渡区域。
112.本实施例中,可以在预设人体模型中预先划分第一区域,以便于确定第三模型中与第一区域对应的第二区域。其中,第二区域用于后续执行后续的变形算法,以使得第三模型中的过渡区域能够实现变形。
113.由于目标头部模型和目标身体模型的过渡区域通常是位于脖子区域,因此预设人体模型中的第一区域位于预设人体模型中的脖子区域。这样,基于第一区域所确定的第二区域同样位于第三模型中的脖子区域。并且,第二区域中包括待变形处理的过渡区域。
114.其中,本实施例中可以通过迁移采样的方式来确定第三模型中与所述第一区域对应的第二区域。具体地,在确定预设人体模型中的第一区域之后,可以将第一区域通过垂直映射的方式迁移到目标头部模型和目标身体模型的对应区域上并完成采样,最终由采样点连接构成第二区域。
115.示例性地,由于预设人体模型中的脖子区域可以近似为圆柱体,因此可以通过将预设人体模型的脖子区域拟合为圆柱体,并且将该圆柱体的中心轴作为所述预设人体模型中的脖子的中心轴。
116.然后,根据预设人体模型中的所述中心轴和所述第一区域,确定与所述第一区域对应的所述第二区域,其中,所述第一区域和所述第二区域中的任意两个具有对应关系的采样点位于垂直于所述中心轴的直线上。具体来说,可以预先确定第一区域中的多个采样点,然后对第一区域中的每一个采样点作垂直于中心轴的直线,并且求该直线在目标头部模型或目标身体模型(以下简称目标模型)中的交点,从而得到目标模型中对应的采样点。通过求取第一区域各个采样点垂直于中心轴的直线,即可得到第一区域中各个采样点在第三模型中所对应的采样点。最终,基于第三模型中的采样点,即可构成第三模型中与第一区域对应的第二区域。
117.可以参阅图4,图4为本技术实施例提供的一种区域的垂直映射示意图。如图4中的
(a)所示,对于第一区域中的任意一个采样点p,可以作经过该采样点p的直线,该直线垂直于预设人体模型中的中心轴m。并且,由中心轴m指向采样点p的方向为n。如图4中的(b)所示,经过采样点p的直线沿着方向n与目标模型交于点p’,点p’即为第二区域中与第一区域中的采样点p对应的采样点。通过如图4所示的垂直映射方式,可以求得第一区域中的各个采样点在目标模型上对应的采样点,最终由目标模型上对应的采样点构成第二区域。
118.可以理解的是,计算第二区域中的采样点p’的实质是计算直线n与目标模型的交点,由于三维模型一般表示为网格形式,求交点p’只需要判断直线n与目标模型中的三角面片的相交关系,即找到直线n与目标模型的交点位于哪个三角面片之内。具体来说,可以通过判断空间射线与空间三角形的关系,来获得点到平面的交点,从而得到交点p’。
119.步骤2032,根据所述第二区域中的第一控制区域和第二控制区域,确定所述过渡区域的变形系数,所述第一控制区域和所述第二控制区域分别位于所述第三模型中的不同目标模型上,且所述第一控制区域和所述第二控制区域对应于所述预设人体模型中的相同区域。
120.本实施例中,在基于预设人体模型中的第一区域求取第二区域的过程中,由于目标头部模型和目标身体模型中的部分区域处于相同的水平线上,因此可以求取得到分别位于不同的目标模型上的第一控制区域和第二控制区域,该第一控制区域和第二控制区域对应于预设人体模型中的相同区域。即,第一控制区域可以是位于目标头部模型,且第二控制区域位于目标身体模型;或者,第一控制区域位于目标身体模型,且第二控制区域位于目标头部模型。
121.由于第一控制区域和第二控制区域对应于预设人体模型中的相同区域,因此第一控制区域中的采样点和第二控制区域中的采样点也是对应于第一区域中相同的采样点。基于此,可以建立第一控制区域中采样点与第二控制区域中的采样点之间的一一对应关系,从而得到多对采样点对。在得到多对采样点对的情况下,基于第一控制区域中的采样点的空间坐标以及第二控制区域中对应的采样点的空间坐标,可以求取第一控制区域中的采样点与第二控制区域中的采样点之间的坐标变换关系,从而得到变形系数。其中,该变形系数用于后续的区域变形处理。
122.可选的,在确定变形系数的过程中,可以获取所述第一控制区域中的多个第一采样点、所述第二控制区域中的多个第二采样点和第三控制区域中的多个第三采样点,所述多个第一采样点与所述多个第二采样点具有对应关系。其中,所述第二区域包括所述第三控制区域,即第三控制区域也是基于预设人体模型中的第一区域映射得到的,并且所述第三控制区域与所述第一控制区域位于同一个目标模型上。即第三控制区域与第一控制区域均位于目标头部模型上,而第二控制区域位于目标身体模型上;或者,第三控制区域与第一控制区域均位于目标身体模型上,而第二控制区域位于目标头部模型上。
123.然后,根据所述多个第一采样点与所述多个第二采样点之间的坐标变换关系以及所述多个第三采样点与所述多个第三采样点之间的坐标变换关系,确定所述过渡区域的变形系数。
124.简单来说,以多个第一采样点与多个第二采样点为一组控制点对,该组控制点对中包括多对采样点,每对采样点包括一个第一采样点以及另一个对应的第二采样点;并且,以多个第三采样点为另一组控制点对,该组控制点对中包括多对采样点,每对采样点包括
两个相同的第三采样点。基于上述的两组控制点对,可以综合计算得到总的变形系数。对于第三采样点,采样变形系数执行坐标变换后,第三采样点的坐标不变;对于第一采样点,采用变形系数执行坐标变换后,第一采样点的坐标变换为对应的第二采样点的坐标。
125.其中,第三模型的过渡区域中待变形的区域包括所述第一控制区域、所述第三控制区域以及位于所述第一控制区域与所述第三控制区域之间的变形区域。由于在求取变形系数的过程中,是基于第三控制区域与自身的坐标变换关系以及第一控制区域与第二控制区域的坐标变换关系求取得到的,因此根据变形系数对过渡区域进行变形时,过渡区域中的第三控制区域的变形幅度较小,第一控制区域的变形幅度较大,位于第一控制区域和第三控制区域的变形区域的变形幅度适中,从而保证了过渡区域沿着竖直方向逐渐增加变形的幅度,实现过渡区域的平滑过渡。
126.本方案中,通过以第一控制区域和第二控制区域之间的坐标变换关系以及第三控制区域与自身的坐标变换关系来求取变形系数,能够使得基于变形系数执行变形处理时,过渡区域沿着竖直方向逐渐增加变形的幅度,实现过渡区域的平滑过渡。
127.可选的,为了尽可能实现过渡区域的平滑过渡,所述第一控制区域和所述第三控制区域的面积均小于所述变形区域的面积。例如,第一控制区域、第三控制区域和变形区域的面积比例可以为1∶1∶3或者1∶1∶2。
128.可选的,所述第一控制区域、所述第三控制区域和所述变形区域可以是位于所述目标头部模型上,且所述第一控制区域靠近于所述目标身体模型,所述第二控制区域位于所述目标身体模型上。简单来说,在目标头部模型的脖子区域上,从上至下依次为第三控制区域、变形区域和第一控制区域。
129.或者,所述第一控制区域、所述第三控制区域和所述变形区域位于所述目标身体模型上,且所述第一控制区域靠近于所述目标头部模型,所述第二控制区域位于所述目标头部模型上。简单来说,在目标身体模型的脖子区域上,从上至下依次为第一控制区域、变形区域和第三控制区域。
130.步骤2033,根据所述变形系数,对所述第三模型中的过渡区域执行变形处理,得到所述第四模型。
131.在得到变形系数之后,可以根据变形系数,对所述第三模型中的过渡区域执行变形处理,即对过渡区域中的坐标点执行坐标变换,以使得目标人头模型和目标身体模型能够平滑连接,最终得到所述第四模型。
132.简单来说,假设目标头部模型的脖子区域较细,而目标身体模型的脖子区域较粗,在拼接得到第三模型后,第三模型中的目标人体模型与目标身体模型在脖子区域并没有很好地衔接起来。基于预设人体模型中的第一区域可以在目标头部模型中确定第一控制区域,并在目标身体模型中确定第二控制区域。其中,第一控制区域与第二控制区域位于同一水平面,且第一控制区域与第二控制区域均可以视为脖子区域的部分圆环区域。第一控制区域的内径偏小,第二控制区域的内径偏大。基于第一控制区域和第二控制区域中对应的采样点以及第三控制区域的采样点,可以求得变形系数,该变形系数能够指示第一控制区域的采样点与第二控制区域的采样点之间的坐标变换关系以及第三控制区域的采样点与自身的坐标变换关系。基于该变形系数,对目标头部模型的部分脖子区域进行变形,以使得目标头部模型的脖子区域逐渐变粗,并与目标身体模型的脖子区域实现衔接,得到平滑连
接的第四模型。
133.为了便于理解,以下将结合附图详细介绍对过渡区域执行变形处理的过程。
134.可以参阅图5,图5为本技术实施例提供的一种在预设人体模型中划分第一区域的示意图。如图5所示,在预设人体模型的脖子区域中,按照从上到下的顺序依次划分有三个区域,分别为区域1、区域2和区域3,该三个区域构成预设人体模型中的第一区域。
135.可以参阅图6,图6为本技术实施例提供的一种目标头部模型和目标身体模型的示意图。如图6所示,目标头部模型的脖子区域较细,而目标身体模型的脖子区域较粗。当目标头部模型和目标身体模型通过与预设人体模型实现配准而初步融合得到第三模型之后,目标头部模型中的脖子区域与目标身体模型中的脖子区域并无法衔接起来,并且目标头部模型中的部分脖子区域位于目标身体模型的脖子区域内。
136.可以参阅图7,图7为本技术实施例提供的一种基于预设人体模型中的第一区域映射得到第三模型中的第二区域的示意图。如图7所示,基于预设人体模型中的第一区域,对第一区域执行垂直映射,可以得到第三模型中与第一区域对应的第二区域。其中,第二区域共包括四个区域,分别为:位于目标头部模型上的第三控制区域(即图7中的区域a)、变形区域(即图7中的区域b)和第一控制区域(即图7中的区域c),以及位于目标身体模型上的第二控制区域(即图7中的区域c’)。其中,第一控制区域和第二控制区域对应于预设人体模型中相同的区域(即第一区域中的区域3)。
137.在确定第三模型中的第二区域之后,可以基于第二区域中的第一控制区域和第二控制区域以及第三控制区域求取对应的变形系数。本实施例中,可以采用基于径向基函数的插值方法来实现过渡区域的变形处理。
138.具体地,如图7所示,分别获取区域a、区域c和区域c’中的采样点,得到区域a的点集、区域c的点集和区域c’的点集。然后,以区域a的点集构成一组控制点集,该组控制点集中区域a的每个采样点与自身具有对应关系,并且以区域c和区域c’的点集构成另一组控制点集,该组控制点集中区域c和区域c’中的采样点具有对应关系。基于前述的两组控制点集,构成径向基函数的控制点,即以两组控制点集中具有对应关系的离散点对之间的距离为自变量,引入基函数计算得到一组变形基底,该变形基底即为前述的变形系数。在得到变形基底之后,可以对区域a、区域b和区域c中的采样点执行坐标变换,从而实现对由区域a、区域b和区域c构成的过渡区域执行变形处理,得到第四模型。
139.可以参阅图8,图8为本技术实施例提供的一种变形处理后所得到的第四模型的示意图。如图8所示,在执行变形处理后,目标头部模型中的脖子区域与目标身体模型中的脖子区域很好地衔接在一起,且目标头部模型与目标身体模型的过渡区域平滑过渡,并没有突出或凹陷的区域。
140.以上介绍了对第三模型中的过渡区域执行变形处理的过程,以下将详细介绍将目标身体模型和目标头部模型配准到预设人体模型上的过程。
141.可以理解的是,对于获取到的目标身体模型以及预设人体模型而言,预设人体模型中的身体模型与目标身体模型的外形和动作可能是不一样的,为了实现将目标身体模型与预设人体模型中的身体模型进行配准,往往需要调整预设人体模型中的身体模型的参数,从而实现将预设人体模型中的身体模型配准到目标身体模型上。此外,对于头部模型而言,头部模型往往不涉及非刚性变化,即模型的形状并不会发生改变,可以直接执行刚性配
准,即只调整头部模型的大小、空间位置和姿态,即可实现两个头部模型之间的配准。
142.基于此,本实施例中可以先对所述目标身体模型与预设人体模型的身体模型进行配准,即通过调整预设人体模型的身体模型中的参数以及对预设人体模型的身体模型的坐标执行空间变换操作,实现将预设人体模型配准到目标身体模型中。然后,保持预设人体模型和目标身体模型的空间坐标不变,将目标头部模型通过坐标变换的方式配准到预设人体模型的头部模型上。如果先执行目标头部模型与预设人体模型之间的配准,则在后续执行目标身体模型与预设人体模型的配准时,需要同时对预设人体模型以及配准后的目标头部模型进行坐标变换。
143.因此,本方案中,通过先配准目标身体模型再配准目标头部模型的方式,能够避免重复对目标头部模型的坐标进行变换处理,提高模型配准的效率。
144.具体地,对所述目标身体模型与预设人体模型的身体模型进行配准的过程,可以包括以下的步骤a-步骤c。
145.步骤a,确定所述目标身体模型中的多个第一关键特征点。
146.具体地,所述多个第一关键特征点可以包括左肩、右肩、左肘、右肘、左腕、右腕、左臀、右臀、左膝、右膝、左脚踝和右脚踝。
147.由于目标身体模型为三维模型,因此可以通过获取目标身体模型对应的二维图像,然后通过对二维图像进行特征点检测的方式来确定目标身体模型中的多个第一关键特征点。
148.示例性地,可以通过计算目标身体模型的包围盒的方式,将目标身体模型归一化到预设的单位空间,即归一化后的目标身体模型中的任意一个坐标在三个维度上的坐标范围都在[0,1]之间。其中,包围盒是一种求解离散点集最优包围空间的算法,其基本思想是用体积稍大且特性简单的几何体(称为包围盒)来近似地代替复杂的几何对象,从而实现快速执行目标身体模型的归一化。
[0149]
然后,将目标身体模型投影到正方形包围盒的6个面方向,获得6张投影图,该6张投影图均为二维图像。在得到6张投影图之后,分别对6张投影图执行人体姿态检测,并根据投影图中是否存在人体以及投影图中的人体的朝向角度对投影图进行筛选,得到包括人体且人体可视范围最大的投影图。基于所确定的投影图,计算此时目标身体模型的正面朝向。进一步地,根据目标身体模型的正面朝向将身体旋转到面向z轴正方向,y轴向上的右手坐标系空间中。在对目标身体模型进行旋转后,对目标身体模型投影到预定义的多个投影视角中,得到目标身体模型在不同角度下的二维图像。一般来说,预定义的多个投影视角可以为三个投影视角,分别为z轴正方向以及从z轴绕y轴分别旋转
±
30
°
所获得的方向。
[0150]
最后,基于人体关键点检测算法,对目标身体模型在不同角度下的二维图像进行身体特征点的检测,得到每个不同角度下的二维图像中的身体特征点的位置。在得到多个不同角度下的二维图像中的身体特征点的位置的情况下,使用三角化方法计算各个身体特征点的三维空间位置,从而确定目标身体模型中的多个第一关键特征点的位置。
[0151]
步骤b,获取所述预设人体模型的身体模型中预先标记的多个第二关键特征点,所述多个第一关键特征点与所述多个第二关键特征点具有对应关系。
[0152]
由于预设人体模型的几何拓扑是已知的,因此确定获取到预设人体模型的身体模型中预先标记的多个第二关键特征点。具体地,所述多个第二关键特征点可以包括左肩、右
肩、左肘、右肘、左腕、右腕、左臀、右臀、左膝、右膝、左脚踝和右脚踝。因此,所述多个第二关键特征点中的每个第二关键特征点均有对应的第一关键特征点。
[0153]
步骤c,根据所述多个第一关键特征点与所述多个第二关键特征点,调整所述预设人体模型的身体模型的形状和/或姿态,并将调整后的预设人体模型配准到所述目标身体模型上。
[0154]
本实施例中,预设人体模型能够通过一组控制参数的变化改变预设人体模型中身体模型的外形和动作。因此,在具体配准过程中,通过改变预设人体模型的控制参数,调整预设人体模型的形状和动作,并配准到目标身体模型上,从而完成目标身体模型和预设人体模型的配准。其中,调整预设人体模型的控制参数的方式可以有两种。
[0155]
方式一,使用目标身体模型中的第一关键特征点与预设人体模型上预标记好的一一对应的第二关键特征点作为约束,采用梯度下降等方法不断迭代调整控制参数,直到预设人体模型中的第二关键特征点与目标身体模型中的第一关键特征点之间的坐标误差小于阈值或者控制参数的调整次数达到最大迭代次数。
[0156]
方式二,采用神经网络估计方法,该方法需要预先训练好一个网络模型用于估计预设人体模型的参数。比如,可以预先训练好基于单张图像估计人体模型控制参数的参数估计模型,在使用时可以输入目标身体模型的投影图,由参数估计模型根据目标身体模型的投影图输出预设人体模型的控制参数。
[0157]
在实现目标身体模型与预设人体模型的身体模型的配准之后,可以对目标头部模型与预设人体模型的头部模型进行配准。
[0158]
具体地,对所述目标头部模型与预设人体模型的身体模型进行配准的过程,可以包括以下的步骤a-步骤c。
[0159]
步骤a,确定所述目标头部模型中的多个第三关键特征点。
[0160]
具体地,可以参阅图9,图9为本技术实施例提供的多个第三关键特征点的示意图。如图9所示,所述多个第三关键特征点包括左眼、右眼、鼻尖、左嘴角和右嘴角。可选的,多个第三关键特征点还可以进一步包括眉毛、下巴和脸颊等特征点。
[0161]
由于目标头部模型为三维模型,因此可以通过获取目标头部模型对应的二维图像,然后通过对二维图像进行特征点检测的方式来确定目标头部模型中的多个第三关键特征点。
[0162]
示例性地,可以通过计算目标头部模型的包围盒的方式,将目标头部模型归一化到预设的单位空间,即归一化后的目标头部模型中的任意一个坐标在三个维度上的坐标范围都在[0,1]之间。
[0163]
然后,将目标头部模型投影到正方形包围盒的6个面方向,获得6张投影图,该6张投影图均为二维图像。在得到6张投影图之后,分别对6张投影图执行人脸检测和人脸位姿检测,并根据投影图中是否存在人脸以及投影图中的人脸的朝向角度对投影图进行筛选,得到包括人脸且人脸可视范围最大的投影图。基于所确定的投影图,计算此时目标头部模型的正面朝向。进一步地,根据目标头部模型的正面朝向将头部旋转到面向z轴正方向,y轴向上的右手坐标系空间中。在对目标头部模型进行旋转后,对目标头部模型投影到预定义的多个投影视角中,得到目标头部模型在不同角度下的二维图像。一般来说,预定义的多个投影视角可以为三个投影视角,分别为z轴正方向以及从z轴绕y轴分别旋转
±
30
°
所获得的
方向。
[0164]
最后,基于人脸关键点检测算法,对目标头部模型在不同角度下的二维图像进行头部特征点的检测,得到每个不同角度下的二维图像中的头部特征点的位置。在得到多个不同角度下的二维图像中的头部特征点的位置的情况下,使用三角化方法计算各个头部特征点的三维空间位置,从而确定目标头部模型中的多个第一关键特征点的位置。
[0165]
步骤b,获取所述预设人体模型的头部模型中预先标记的多个第四关键特征点,所述多个第三关键特征点与所述多个第四关键特征点具有对应关系。
[0166]
由于预设人体模型的几何拓扑是已知的,因此确定获取到预设人体模型的头部模型中预先标记的多个第四关键特征点。具体地,所述多个第四关键特征点可以包括左眼、右眼、鼻尖、左嘴角和右嘴角。因此,所述多个第四关键特征点中的每个第四关键特征点均有对应的第三关键特征点。
[0167]
步骤c,根据所述多个第三关键特征点与所述多个第四关键特征点,将所述目标头部模型配准到所述预设人体模型的头部模型上。
[0168]
本步骤中,可以是以目标头部模型的多个第三关键特征点以及预设人体模型中对应的多个第四关键特征点作为约束,使用最近点搜索(iterative closest point,icp)算法调整目标头部模型的大小、空间位置和姿态,并配准到预设人体模型上。
[0169]
需要说明的是,本步骤不需要对预设人体模型的控制参数进行调整,因为头部模型基本上不涉及非刚性变化,即模型的形状不发生改变,可以直接做刚性配准,即只调整目标头部模型的大小、空间位置和姿态。
[0170]
可以理解的是,对于由顶点和网格描述的三维模型,其拓扑可以表述为模型顶点、三角面片的顺序和依赖关系。对于拓扑相同的头部模型,可以直接按照顶点的语义关系找到模型之间的对应点对,比如,假定描述鼻子尖的顶点编号为8086,则相同拓扑的两个人脸模型,其8086号顶点的位置,构成一组对应点对,可以作为变形时的一组原始位置与目标位置的约束。所以,对于拓扑相同的两个模型,可以直接使用预标记好的关键点信息直接读取其空间坐标,构建控制点对并完成变形。但是在实际应用中,拓扑一致往往是难以满足的条件。因此,本实施例中基于上述的实施例方法自动构建对应的特征点对,从而分别将目标头部模型和目标身体模型与同一个预设人体模型实现配准,完成目标头部模型和目标身体模型的融合。
[0171]
在一些可能的实施例中,在得到过渡区域平滑过渡后的第四模型之后,第四模型中的目标头部模型与目标身体模型的过渡区域可能会处于分离状态。在一些应用中,可能需要获得水密模型,即全封闭的模型,因此可以对第四模型进行网格重算,以进一步优化第四模型中的过渡区域。示例性地,可以对第四模型中变形后的过渡区域重新做泊松网格化,以得到全封闭的模型。此外,在模型的纹理效果要求较高的场景下,也可以应用图像的泊松融合等算法对第四模型进行纹理优化,以获得平滑过渡的纹理效果。
[0172]
在图1至图9所对应的实施例的基础上,为了更好的实施本技术实施例的上述方案,下面还提供用于实施上述方案的相关设备。
[0173]
具体可以参阅图10,图10为本技术实施例提供的一种模型融合装置的结构示意图,该模型融合装置包括:获取单元1001,用于获取第一模型和第二模型,所述第一模型和所述第二模型均属于人体模型中的部分模型;配准单元1002,用于分别将所述第一模型和
所述第二模型与预设人体模型进行配准,得到第三模型,所述第三模型包括配准后的第一模型和配准后的第二模型;处理单元1003,用于对所述第三模型中的过渡区域执行变形处理,以平滑所述过渡区域,得到第四模型;其中,所述过渡区域包括所述配准后的第一模型中靠近于所述配准后的第二模型的部分区域,以及所述配准后的第二模型中靠近于所述配准后的第一模型的部分区域。
[0174]
在一种可能的实现方式中,所述第一模型为目标头部模型,所述第二模型为目标身体模型;
[0175]
或者,所述第一模型为目标躯干模型,所述第二模型为目标肢体模型。
[0176]
在一种可能的实现方式中,所述处理单元1003,具体用于:基于所述预设人体模型中的第一区域,确定所述第三模型中与所述第一区域对应的第二区域,所述第一区域位于所述预设人体模型中的脖子区域,所述第二区域包括所述过渡区域;根据所述第二区域中的第一控制区域和第二控制区域,确定所述过渡区域的变形系数,所述第一控制区域和所述第二控制区域分别位于所述第三模型中的不同目标模型上,且所述第一控制区域和所述第二控制区域对应于所述预设人体模型中的相同区域;根据所述变形系数,对所述第三模型中的过渡区域执行变形处理,得到所述第四模型。
[0177]
在一种可能的实现方式中,所述处理单元1003,具体用于:获取所述第一控制区域中的多个第一采样点、所述第二控制区域中的多个第二采样点和第三控制区域中的多个第三采样点,所述多个第一采样点与所述多个第二采样点具有对应关系,所述第二区域包括所述第三控制区域,所述第三控制区域与所述第一控制区域位于同一个目标模型上;根据所述多个第一采样点与所述多个第二采样点之间的坐标变换关系以及所述多个第三采样点与所述多个第三采样点之间的坐标变换关系,确定所述过渡区域的变形系数。
[0178]
在一种可能的实现方式中,所述过渡区域中执行变形处理的区域包括所述第一控制区域、所述第三控制区域以及位于所述第一控制区域与所述第三控制区域之间的变形区域。
[0179]
在一种可能的实现方式中,所述第一控制区域和所述第三控制区域的面积均小于所述变形区域的面积。
[0180]
在一种可能的实现方式中,当所述第一模型为目标头部模型,所述第二模型为目标身体模型时,所述第一控制区域、所述第三控制区域和所述变形区域位于所述目标头部模型上,且所述第一控制区域靠近于所述目标身体模型,所述第二控制区域位于所述目标身体模型上;或者,所述第一控制区域、所述第三控制区域和所述变形区域位于所述目标身体模型上,且所述第一控制区域靠近于所述目标头部模型,所述第二控制区域位于所述目标头部模型上。
[0181]
在一种可能的实现方式中,当所述第一模型为目标头部模型,所述第二模型为目标身体模型时,所述处理单元1003,具体用于:获取所述预设人体模型中的脖子的中心轴;根据所述中心轴和所述第一区域,确定与所述第一区域对应的所述第二区域;其中,所述第一区域和所述第二区域中的任意两个具有对应关系的采样点位于垂直于所述中心轴的直线上。
[0182]
在一种可能的实现方式中,当所述第二模型为目标身体模型时,所述配准单元1002,具体用于:确定所述目标身体模型中的多个第一关键特征点;获取所述预设人体模型
的身体模型中预先标记的多个第二关键特征点,所述多个第一关键特征点与所述多个第二关键特征点具有对应关系;根据所述多个第一关键特征点与所述多个第二关键特征点,调整所述预设人体模型的身体模型的形状和/或姿态,并将调整后的预设人体模型配准到所述目标身体模型上。
[0183]
在一种可能的实现方式中,所述多个第一关键特征点包括左肩、右肩、左肘、右肘、左腕、右腕、左臀、右臀、左膝、右膝、左脚踝和右脚踝中的一个或多个。
[0184]
在一种可能的实现方式中,当所述第一模型为目标头部模型时,所述配准单元1002,具体用于:确定所述目标头部模型中的多个第三关键特征点;获取所述预设人体模型的头部模型中预先标记的多个第四关键特征点,所述多个第三关键特征点与所述多个第四关键特征点具有对应关系;根据所述多个第三关键特征点与所述多个第四关键特征点,将所述目标头部模型配准到所述预设人体模型的头部模型上。
[0185]
在一种可能的实现方式中,所述多个第三关键特征点包括左眼、右眼、鼻尖、左嘴角和右嘴角中的一个或多个。
[0186]
在一种可能的实现方式中,所述配准单元1002,具体用于:获取所述目标头部模型在不同方向上的多个头部投影图;对所述多个投影图执行人脸检测,以确定所述目标头部模型中人脸的朝向;根据所述目标头部模型人脸的朝向,确定所述目标头部模型中的人脸在不同的投影角度下的多个人脸投影图;分别检测所述多个人脸投影图中的人脸关键特征点,并根据所述人脸关键特征点确定所述目标头部模型中的多个第三关键特征点的空间坐标。
[0187]
本技术实施例提供的模型融合方法具体可以由电子设备中的芯片来执行,该芯片包括:处理单元和通信单元,处理单元例如可以是处理器,通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使电子设备内的芯片执行上述图1至图9所示实施例描述的模型融合方法。可选的,存储单元为芯片内的存储单元,如寄存器、缓存等,存储单元还可以是无线接入设备端内的位于芯片外部的存储单元,如只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)等。
[0188]
可以参阅图11,本技术还提供了一种计算机可读存储介质,在一些实施例中,上述图2所公开的方法可以实施为以机器可读格式被编码在计算机可读存储介质上或者被编码在其它非瞬时性介质或者制品上的计算机程序指令。
[0189]
图11示意性地示出根据这里展示的至少一些实施例而布置的示例计算机可读存储介质的概念性局部视图,示例计算机可读存储介质包括用于在计算设备上执行计算机进程的计算机程序。
[0190]
在一个实施例中,计算机可读存储介质1100是使用信号承载介质1101来提供的。信号承载介质1101可以包括一个或多个程序指令1102,其当被一个或多个处理器运行时可以提供以上针对图5描述的功能或者部分功能。因此,例如,参考图5中所示的实施例,步骤501-502的一个或多个特征可以由与信号承载介质1101相关联的一个或多个指令来承担。此外,图11中的程序指令1102也描述示例指令。
[0191]
在一些示例中,信号承载介质1101可以包含计算机可读介质1103,诸如但不限于,硬盘驱动器、紧密盘(cd)、数字视频光盘(dvd)、数字磁带、存储器、rom或ram等等。
[0192]
在一些实施方式中,信号承载介质1101可以包含计算机可记录介质1104,诸如但不限于,存储器、读/写(r/w)cd、r/w dvd、等等。在一些实施方式中,信号承载介质1101可以包含通信介质1105,诸如但不限于,数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路、等等)。因此,例如,信号承载介质1101可以由无线形式的通信介质1105(例如,遵守ieee 802.11标准或者其它传输协议的无线通信介质)来传达。
[0193]
一个或多个程序指令1102可以是,例如,计算机可执行指令或者逻辑实施指令。在一些示例中,计算设备的计算设备可以被配置为,响应于通过计算机可读介质1103、计算机可记录介质1104、和/或通信介质1105中的一个或多个传达到计算设备的程序指令1102,提供各种操作、功能、或者动作。
[0194]
应该理解,这里描述的布置仅仅是用于示例的目的。因而,本领域技术人员将理解,其它布置和其它元素(例如,机器、接口、功能、顺序、和功能组等等)能够被取而代之地使用,并且一些元素可以根据所期望的结果而一并省略。另外,所描述的元素中的许多是可以被实现为离散的或者分布式的组件的、或者以任何适当的组合和位置来结合其它组件实施的功能实体。
[0195]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0196]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0197]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0198]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元1003中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0199]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献