一种虚拟角色的生成方法及设备与流程

文档序号:31401911发布日期:2022-09-03 04:49阅读:217来源:国知局
一种虚拟角色的生成方法及设备与流程

1.本技术涉及三维重建技术领域,尤其涉及一种虚拟角色的生成方法及设备。


背景技术:

2.随着三维重建技术的发展,在虚拟空间中,以形象逼真的虚拟角色与其它虚拟角色进行实时远程三维交互,重现了第一代社交方式中面对面的沉浸感,虚拟/增强现实可能成为继第四代的移动互联网时代之后的第五代社交方式。
3.目前,基于人体三维重建的实施远程社交方法主要有两种实现方式:一是根据实时采集的rgb数据或rgbd数据进行人体三维重建,获得虚拟角色,并将虚拟角色的三维数据(如顶点坐标、面片索引、纹理等)通过云端传输给其他交互终端;由于该方法是基于实施采集的真实数据进行的重建,使得虚拟角色的人体、衣服、头发等较为真实,但传输的数量较大,现有的网络带宽难以满足实时性要求,导致交互过程的卡顿,降低了用户的沉浸式体验。另一是预先构建一个虚拟角色,然后采用运动捕捉技术实时采集交互过程中用户的运动数据,以驱动虚拟角色运动;该方法降低了实时交互过程中传输的数据量,但该方法在使用民用级的采集设备重建时,只有在驱动一个没穿衣服或者穿上预置衣服的虚拟角色时才可以实时交互,如果要求虚拟角色的衣服与用户相近且随着用户一起运动,只能通过动画师采用影视级的方法人工绘制,无法做到实时性。


技术实现要素:

4.本技术实施例提供了一种虚拟角色的生成方法及设备,用以在满足实时交互的条件下,提高虚拟角色的真实性和生成效率。
5.一方面,本技术实施例提供虚拟角色的生成方法,包括:
6.获取rgb相机采集的目标对象以预设姿态旋转一周的视频,将所述目标对象的正面图像作为首个视频帧以提取所述目标对象的形体参数;
7.根据初始人体参数化模型和所述形体参数,初始化设定分辨率的体素空间,并根据初始化结果,生成带皮肤的参考帧模型;
8.根据每一视频帧包含的目标对象的姿态参数,以及所述参考帧模型中各顶点在相应体素块内的三维坐标,分别对所述参考帧模型进行变形,得到目标几何模型;变形过程中,上一视频帧对应的所述参考帧模型形变前后的损失用于优化下一视频帧的形变参数;
9.根据每一视频帧的rgb信息对所述目标几何模型进行纹理贴图,获得所述目标对象的虚拟角色。
10.另一方面,本技术实施例提供一种交互设备,用于生成虚拟角色进行远程交互,所述交互设备包括处理器、存储器、显示器和通信接口,所述通信接口、所述显示器、所述存储器与所述处理器通过总线连接;
11.所述存储器包括数据存储单元和程序存储单元,所述程序存储单元存储有计算机程序指令,所述处理器根据所述计算机程序执行,执行以下操作:
12.通过所述通信接口,获取rgb相机采集的目标对象以预设姿态旋转一周的视频并存储至所述数据存储单元,将所述目标对象的正面图像作为首个视频帧以提取所述目标对象的形体参数;
13.根据初始人体参数化模型和所述目标对象的形体参数,初始化设定分辨率的体素空间,并根据初始化结果,生成带皮肤的参考帧模型;
14.根据每一视频帧包含的目标对象的姿态参数,以及所述参考帧模型中各顶点在相应体素块内的三维坐标,分别对所述参考帧模型进行变形,得到目标几何模型;变形过程中,上一视频帧对应的所述参考帧模型形变前后的损失用于优化下一视频帧的形变参数;
15.根据每一视频帧的rgb信息对所述目标几何模型进行纹理贴图,获得所述目标对象的虚拟角色,并由所述显示器进行显示。
16.另一方面,本技术提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行本技术实施例提供的虚拟角色的生成方法。
17.本技术实施例提供一种虚拟角色的生成方法及设备,利用民用级的rgb相机采集目标对象以预设姿态旋转一周的视频并存储,将细节信息丰富的正面图像作为首个视频帧来提取出目标对象的形体参数,并用形体参数对拓扑结构一致的初始人体参数化模型进行体素化处理后,生成带皮肤的参考帧模型;获得带皮肤的参考帧模型后,根据每一视频帧包含的姿态参数,以及该参考帧模型中各顶点在相应体素块内的三维坐标,分别对参考帧模型进行变形,得到目标几何模型,且变形过程中,上一视频帧对应的参考帧模型形变前后的损失用于优化下一视频帧的形变参数,使得目标几何模型与目标对象更加一致,提高了目标几何模型的真实性,从而根据每一视频帧的rgb信息对目标几何模型进行纹理贴图后,获得更加真实的虚拟角色,该虚拟角色的皮肤能够真实的刻画目标对象的外观。整个生成过程中,形变参数的优化是自动进行的,无需动画师参与,节省了人力物力,提高了虚拟角色的生成效率。
附图说明
18.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
19.图1a为本技术实施例提供的应用场景示意图;
20.图1b为本技术实施例提供的另一应用场景示意图;
21.图2为本技术实施例提供的生成虚拟角色的系统框架图;
22.图3为本技术实施例提供的一种虚拟角色的生成方法的流程图;
23.图4为本技术实施例提供的形体参数和姿态参数的提取方法流程图;
24.图5为本技术实施例提供的体素化处理方法流程图;
25.图6为本技术实施例提供的参考帧模型的生成方法流程图;
26.图7为本技术实施例提供的利用当前姿态参数对参考帧模型进行变形的方法流程图;
27.图8为本技术实施例提供的上一视频帧形变前后的损失优化下一视频帧的形变参数的方法流程图;
28.图9为本技术实施例提供的带皮肤的目标几何模型的效果图;
29.图10为本技术实施例提供的确定模型顶点与纹理图的像素点间的对应关系的方法流程图;
30.图11为本技术实施例提供的为目标几何模型纹理贴图的方法流程图;
31.图12为本技术实施例提供的生成的虚拟角色的效果图;
32.图13为本技术实施例提供的利用虚拟角色进行远程交互的方法流程图;
33.图14a为本技术实施例提供的一种交互设备的结构图;
34.图14b为本技术实施例提供的另一种交互设备的结构图。
具体实施方式
35.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,并不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
36.目前,远程三维交互系统的核心技术是对人体、人脸、头发、衣服的实时三维重建。三维重建涉及形状、运动和材质等数据,首先将从各种采集设备中获取待重建对象的数据作为输入参数,然后采用非刚性实时三维重建方法对输入参数进行处理,获得人体三维信息,从而重建出待重建对象的虚拟角色,以提高交互的新颖性和趣味性。
37.根据传感器类型的不同,采集设备可以分为光学扫描仪(如:可见结构光或激光扫描仪)、rgbd相机、以及rgb相机。其中,基于光学扫描仪的虚拟角色生成方法,常常应用在对真实性要求较高的场景(如影视)中,通过扫描相应人物获得三维点云数据,并将三维点云数据重新组织成人体网格数据,在经过动画师细致的打磨和修改,获得高质量的虚拟角色。
38.近年来,随着成像技术的不断发展,基于rgbd相机生成虚拟角色的方法取得快速发展,该方法基于同时制图与定位(simultaneous localization and mapping,slam)技术进行三维重建,提高了虚拟角色的生成效率。为了快速的生成虚拟角色且降低重建成本,基于民用级的rgb相机生成虚拟角色的方法成为目前的研究热点。
39.以面市的产品中,有的通过单帧2d图像生成拟真或卡通的虚拟角色,因模型数据量小,导致拟真效果不佳;也有的采用数量较多的摄像头阵列进行3d数据采集,以较大的算力进行建模,生成拟真效果较好的虚拟角色,但需要较宽网络带宽,系统成本较高;还有的配备深度传感器以采集人物的深度数据,结合rgb数据进行运动捕获,提取用于驱动三维模型的运动数据,进而驱动预建模型获得虚拟角色。
40.目前,生成虚拟角色的各种方法中,基于光学扫描仪的重建方法获得的虚拟角色的精度最高,这是因为扫描过程中,要求待重建对象保持静止不动数秒或数分钟,通过将多角度的高精度三维扫描数据进行拼接,重建出高精度的静态人体三维模型,再由动画师有针对性的进行人工修补和骨架信息的嵌入,将静态人体三维模型转换为一个可驱动的带衣服的虚拟角色。由于该方法需要人工参与,虚拟角色的生成效率较低。
41.基于实时采集的数据进行三维重建技术,往往难以生成拓扑结构一致的三维模
型,不能保证模型的封闭性,重建质量难以保证,并且,目前对于三维数据的传输没有相应成熟的压缩方案,在广域网的传输能力下,不能进行大量三维数据实时传输,导致该方法无法普及应用,一般只在专网的局域网下进行单人和双人的双向三维数据传输。因此,该方法不具备远程三维交互的可行性。
42.驱动预建模生成虚拟角色的方法,可以传输数据量较小的运动数据便可以完成远程社交,生成方式简单,在现有的网络能力下达到实时传输。但由于预建模过程使用的拓扑结构一致的人体参数化模型,难以刻画真实的人物外观,且难以直接生成人物的衣服和头发,只有在驱动一个没穿衣服或者穿上预置衣服的虚拟角色时才可以实时交互,如果需要虚拟角色的外观与真实外观一致,需要动画师后期手工填加,且不同的衣服需要重新做一遍重复性的人力工作,如果要求虚拟角色的衣服与用户相近且随着用户一起运动,需要动画师反复进行驱动模拟并手工优化,效率较低。
43.鉴于此,本技术实施例提供一种虚拟角色的生成方法及设备,利用民用级rgb相机采集的目标对象以预设姿态旋转一周的视频,生成一个带皮肤(如衣服、头发、帽子等)、与目标对象一致的虚拟角色。在生成过程中,利用首个视频帧包含的目标对象的形体参数对初始人体参数化模型进行体素化处理后,生成带皮肤的参考帧模型,基于体素化处理后参考帧模型的各顶点坐标以及每一视频帧包含的目标对象的姿态参数,不断优化参考帧模型,提高了虚拟角色的真实性,且优化过程中,利用上一视频帧的优化损失调整下一视频帧的优化结果,进一步提高了虚拟角色的真实性。同时,利用各视频帧中的rgb信息,可以得到真实、完整的纹理数据,使得贴图后的虚拟角色与目标对象一致。整个优化过程无需动画师参与,节约了人力物力,提高了虚拟角色的生成效率。
44.获得目标对象的虚拟角色后,远程三维交互过程中,需要传输用于驱动虚拟角色运动的运动数据,便可得到与目标对象的动作一致的虚拟角色,降低了网络传输的数据量,在现有网络带宽的条件下,满足实施交互需求,提高了用户的沉浸式体验。
45.参见图1a,为本技术实施例提供的应用场景示意图,用户a和用户b分别使用智能手机101和笔记本电脑102作为交互设备进行交互。交互过程中,二者的三维模型数据通过同一局域网上传至服务器200,交互设备从服务器下载对方的三维模型数据进行渲染显示,从而将二者的虚拟角色置于同一虚拟空间,实现面对面交互的沉浸式体验。
46.交互过程中,同一局域网内的交互设备也可以与其他局域网内的交互设备进行远程交互。例如,参见图1b,智能手机101和智能电视103处于局域网1,而笔记本电脑102处于局域网2,智能手机101和智能电视103通过局域网1将自身的三维模型数据上传至服务器200,笔记本电脑通过局域网2将自身的三维模型数据上传至服务器200。
47.需要说明的是,图1a和图1b仅是一种示例,本技术实施例对交互终端不做限制性要求,除智能手机、智能电视和笔记本电脑外,还可以是平板、台式机以及vr头显设备等交互设备。其中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
48.基于上述应用场景,图2为本技术实施例提供的生成虚拟角色的系统框架图,该系统包括一台民用级的rgb相机和一台配有高性能图像处理器(graphics processing unit,
gpu)主机,可划分为数据采集模块、几何重建模块、纹理重建模块和虚拟角色生成模块。
49.数据采集模块,包括一台民用级的rgb相机,用于采集目标对象的图像。采集过程中,目标对象先正面朝向rgb相机,做出tpose或者apose姿态,然后慢速自转一圈,自转过程中,目标对象可以运动,目标对象的衣服和头发也可以运动。自转完成后,将rgb相机采集的视频数据进行存储。
50.几何重建模块,利用目标对象对应的一个人体参数化模型(人体几何网格)初始化固定分辨率的体素空间,获得参考帧模型,然后利用两个深度学习网络来学习存储的每一视频帧到参考帧模型的转换关系,不断优化非刚性形变关系和蒙皮权重以丰富参考帧模型的细节,从而获得拓扑结构一致的目标几何模型,进而提高虚拟角色的真实性。
51.纹理重建模块,建立每一帧视频中rgb信息与目标几何模型的对应关系以补全参考帧(本技术实施例中为首个视频帧)的纹理,获得目标几何模型的完整纹理图。
52.虚拟角色生成模块,利用完整纹理图对目标几何模型进行纹理贴图,获得与目标对象皮肤和姿态一致的虚拟角色。
53.本技术的实施例中,通过不断优化参考帧模型的过程,可以提取出驱动人体的目标几何模型运动的蒙皮权重,这样,在远程交互过程中,从实时采集的rgb图像中获取人体参数化模型的运动数据后,结合蒙皮权重,驱动目标几何模型运动,从而获得与目标对象当前的动作匹配的虚拟角色,整个交互过程传输的运动数据占用的数据量较小,在现有网络代理宽的条件下,可以满足实时性的交互需求。
54.参见图3,本技术实施例提供的一种虚拟角色的生成方法流程图,该流程由配有高性能gpu的交互设备执行,主要包括以下几步:
55.s301:获取rgb相机采集的目标对象以预设姿态旋转一周的视频,将目标对象的正面图像作为首个视频帧以提取目标对象的形体参数。
56.其中,该rgb相机可以是配置在交互设备上的相机,也可以是与交互设备独立的相机。
57.具体实施时,固定rgb相机,目标对象走到rgb相机前,正向面对rgb相机,且目标对象的位置保证rgb相机的视野能够拍摄到目标对象的全身数据。然后,启动rgb相机,目标对象在rgb相机的视野内以预设姿态(如t pose或a pose)旋转一周,使rgb相机从多个角度采集目标对象,生成目标对象的视频并存储。该视频可通过通信接口,传输给交互设备的gpu处理。
58.其中,目标对象的正面图像包含较为丰富的细节信息,因此,将采集的目标对象的正面图像作为首个视频帧,也称为参考帧。
59.在本技术的实施例中,为了生成高质量的虚拟角色,可设置rgb相机的分辨率大于720p。
60.需要说明的是,本技术实施例对目标对象的旋转方式不做限制性要求,如可以是站在机械转盘上以固定姿态进行旋转。为了保证虚拟角色的完整性和后续驱动的真实性,目标对象在旋转过程中可以以一定幅度的动作进行自转。
61.s302:根据初始人体参数化模型和目标对象的形体参数,初始化设定分辨率的体素空间,并根据初始化结果,生成带皮肤的参考帧模型,其中,形体参数是从首个视频帧中提取的。
62.获得目标对象的视频后,将每一视频帧与预设的初始人体参数化模型进行拟合,确定目标对象的形体参数以及每一视频帧包含的目标对象的姿态参数。其中,初始人体参数化模型可以为smpl模型,其表达公式如下:
63.m(β,θ)=w(t
p
(β,θ),j(β),θ,ω)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式1
64.t
p
(β,θ)=t+bs(β)+b
p
(θ)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式2
65.其中,m(β,θ)为smpl模型构建函数,t
p
(β,θ)为人体姿态矫正混合变形函数,β为形体参数,θ为姿态参数,w为蒙皮函数,bs(β)为不同体型的人通过形体参数构建的线性函数,b
p
(θ)为不同体态的人的姿态参数对人体体型的影响函数,t为不同形体参数的平均形体参数,j(β)为预测不同人体关节点位置的函数,ω为混合权重。
66.具体拟合过程参见图4,主要包括以下几步:
67.s3020_1:针对首个视频帧,提取目标对象的目标骨架和第一人体轮廓。
68.在执行s3020_1时,采用2d的人体骨架提取算法,从首个视频帧中提取目标对象的目标骨架,并采用人像分割算法,从首个视频帧中提取目标对象的人物区域,获得目标对象清晰的第一人体轮廓。
69.s3020_2:初始化目标骨架的形体参数和姿态参数,通过蒙皮函数形变初始人体参数化模型。
70.在执行s3020_2时,基于提取的目标骨架估计一组形体参数和姿态参数,将估计值作为获得初始化后的形体参数和姿态参数,并通过蒙皮函数形变初始人体参数化模型。
71.s3020_3:提取形变后人体参数化模型的参考骨架,并确定参考骨架与目标骨架的骨架损失值。
72.其中,从形变后人体参数化模型中提取的参考骨架为3d骨架,求取其与2d的目标骨架之间的骨架损失值,记为lossl。
73.s3020_4:根据rgb相机的内参数,将参考骨架投影到首个视频帧中以优化骨架损失值,获得rgb相机的外参数和新的姿态参数。
74.一般的,rgb相机的内参数在出厂时是已知的,为了提高形体参数和姿态参数求解的准确性,可以通过预先标定确定rgb相机的内参数。
75.在执行s3020_4时,根据rgb相机的内参数,将参考骨架投影到首个视频帧中,使参考骨架与目标骨架一致以优化(减小)loss1,获得新的姿态参数和rgb相机的外参数。
76.s3020_5:根据新的姿态参数和外参数,将形变后人体参数化模型的顶点投影到首个视频帧中,获得第二人体轮廓。
77.在执行s3020_5时,固定rgb相机的外参数,将新的姿态参数作为初始值,将形变后人体参数化模型的顶点投影到首个视频帧中,获得人体参数化模型对应的第二人体轮廓。
78.s3020_6:根据第一人体轮廓和第二人体轮廓的轮廓损失值,更新形体参数和姿态参数。
79.将第一人体轮廓和第二人体轮廓的轮廓损失值记为loss2,通过减小loss2,更新首个视频帧包含的目标对象的形体参数和姿态参数,将更新后的形体参数作为目标对象最终的形体参数,将更新后的姿态参数作为首个视频帧包含的目标对象的姿态参数。
80.s3020_7:固定rgb相机的外参数和目标对象的形体参数,针对非首个视频帧,重新确定骨架损失值和轮廓损失值以确定非首个视频帧对应的姿态参数。
81.在执行s3020_7时,针对非首个视频帧,骨架损失值loos1和轮廓损失值loss2的确定过程与首个视频帧的确定过程一致,在此不再重复,通过骨架损失值loos1和轮廓损失值loss2,可以获得非首个视频帧包含的目标对象的姿态参数。
82.获得目标对象的形体参数后,在执行s302时,根据设定分辨率(如512*512*512或者更高)的体素空间,对初始人体参数化模型进行体素化处理,将t pose或a pose的人体参数化模型映射到体素空间,并基于体素化后的结果,生成带皮肤的参考帧模型,具体过程参见图5:
83.s3021:根据目标对象的形体参数,对初始人体参数化模型进行变形,得到预设姿态的目标人体参数化模型。
84.目标对象的形体参数已从首个视频帧中提取到,在执行s3021时,将目标对象的形体参数带入公式1和公式2,对smpl模型进行变形,得到目标对象对应的预设姿态的目标人体参数化模型。
85.s3022:将目标人体参数化模型与体素空间的坐标原点对齐。
86.在执行s3022时,将目标人体参数化模型的坐标原点与体素空间的坐标原点对齐,对齐后,体素空间将整个目标人体参数化模型分割为前后相连的体素块,每个体素块的体积相同,具有相同的长宽高。
87.s3023:利用设定的第一深度神经网络,根据目标人体参数化模型中各顶点在体素空间内的sdf值,生成带皮肤的参考帧模型。
88.将目标人体参数化模型与体素空间的坐标原点对齐后,针对目标人体参数化模型中的每一个顶点,可以确定该顶点在体素空间内的有向距离场(signed distance field,sdf)值。
89.其中,在体素空间内目标对象的真实表面的sdf值为0,如果sdf值为正,表示在目标对象的外部;sdf值为负,表示在目标对象的内部。
90.假设第一深度神经网络记为net1,该网络由多层感知机(multilayer perceptron,mlp)全连接组成。在执行s3023时,将体素空间内各顶点三维坐标p(x,y,z)和预设的网络参数η,输入至第一深度神经网络,通过第一深度神经网络,学习sdf值为零的等值面,形成带皮肤的参考帧模型的隐式表达,再通过渲染,获得显示表达的参考帧模型。
91.其中,带皮肤的参考帧模型的确定过程具体参见图6,主要包括以下几步:
92.s3023_1:采用第一深度神经网络,根据目标人体参数化模型中各顶点在体素空间内的三维坐标,确定各顶点在体素空间中的sdf值。
93.将目标人体参数化模型与体素空间的坐标原点对齐后,可以确定目标人体参数化模型的每个顶点,在体素空间内相应体素块中三维坐标,记为p(x,y,z)。每个三维坐标可以反应顶点与体素块间的空间位置关系,并根据该空间位置关系,获得该顶点在体素空间内的sdf值。
94.s3023_2:提取sdf值为0的顶点集合,获得带皮肤的参考帧模型的隐式表达。
95.sdf取值为零的顶点集合构成零等值面,可以作为带皮肤的参考帧模型的隐式表达,隐式表达公式如下:
96.s
η
={p∈r3|f(p;η)=0}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式3
97.其中,s
η
表示sdf值为0的顶点集合,p为顶点在体素空间中的三维坐标,η表示第一
深度学习网络的网络参数,可通过学习进行优化,f表示第一深度神经网络。
98.s3023_3:渲染该顶点集合中的各顶点构成的零等值面,获得带皮肤的参考帧模型。
99.具体实施时,采用移动立方体(marching cube)算法,通过渲染sdf值为零的顶点集合构成的零等值面,提取出目标对象的三维网格模型,得到显示表达的带皮肤的参考帧模型。
100.s303:根据每一视频帧包含的目标对象的姿态参数,以及参考帧模型中各顶点在相应体素块内的三维坐标,分别对参考帧模型进行变形,得到目标几何模型。
101.下面以一个视频帧为例,具体形变过程参见图7:
102.s3031:根据该视频帧包含的目标对象的姿态参数,将参考帧模型映射到该视频帧下。
103.本技术的实施例中,将采用第一深度神经网络根据初始化结果生成带皮肤的参考帧模型,作为初始的参考帧模型。在执行s3031时,根据该视频帧包含的目标对象的形体参数,将初始的参考帧模型的隐式表达和显示表达,映射至该视频帧下,并确定映射后的参考帧模型中各顶点在相应体素块内的三维坐标。其中,该三维坐标可以作为对映射后的参考帧模型进行变形的条件变量输入至设定的第二深度神经网络中。
104.s3032:利用设定的第二深度神经网络,根据该视频帧包含的目标对象的形体参数,以及映射后的参考帧模型中各顶点在相应体素块内的三维坐标,确定该视频帧与参考帧模型间的非刚性形变关系。
105.其中,第二深度神经网络与第一深度神经网络类似,也可以由mlp全连接组成,记为net2。
106.在执行s3032时,将该视频帧包含的目标对象的形体参数,以及映射后的参考帧模型中各顶点在相应体素块内的三维坐标,分别输入至第二深度神经网络,通过第二深度神经网络,输出该视频帧与参考帧模型间的非刚性形变关系d。
107.s3033:根据非刚性形变关系,对参考帧模型进行变形。
108.在执行s3033时,利用当前姿态参数对应的蒙皮函数w,根据非刚性形变关系,确定该视频帧对应的蒙皮变形场d=w(d(
·
)),并根据蒙皮变形场d分别对参考帧模型的隐式表达和显示表达进行变形,获得当前形态参数对应的参考帧模型。
109.本技术的实施例中,利用每一视频帧对参考帧模型进行变形的过程中,上一视频帧对应的参考帧模型形变前后的损失,用于优化下一视频帧的形变参数,即非刚性形变关系,具体过程参见图8:
110.s3034:根据rgb相机的参数,将变形后的参考帧模型投影到视频帧中。
111.在执行s3034时,将当前姿态参数对应的参考帧模型,按照rgb相机的内参数和外参数,投影到当前姿态参数对应的视频帧中。
112.s3035:根据投影后参考帧模型的外轮廓,与该视频帧中分割得到的目标对象的外轮廓间的损失值,对参考帧模型的隐式表达进行优化。
113.在执行s3035时,采用人像分割算法,提取该视频帧包含的目标对象的外轮廓,并提取投影后的参考帧模型的外轮廓,计算二者的损失值,通过该损失值,调整第一深度神经网络的网络参数,以对参考帧模型的隐式表达进行优化,提高虚拟角色的真实性。
114.s3036:确定非刚性投射光线与优化后参考帧模型的隐式表达的各第一交点,以及与优化前参考帧模型的隐式表达的各第二交点。
115.执行s3036时,通过该损失值调整第一深度神经网络的网络参数,获得优化后的参考帧模型的隐式表达后,分别确定非刚性投射光线与优化后参考帧模型的隐式表达的各交点(记为第一交点),以及与优化前参考帧模型的隐式表达的各交点(记为第二交点)。其中,第一交点和第二交点之间的sdf差值,可以充分反映参考帧模型的细节特征,提高虚拟角色的真实性。
116.s3037:根据该视频帧包含的目标对象的姿态参数,将第一交点和第二交点间的sdf差值对应的体素块,变换到体素空间内,以优化下一视频帧对参考帧模型进行形变的非刚性形变关系。
117.在执行s3037时,通过该视频帧包含的目标对象的姿态参数,将第一交点和第二交点间的sdf差值对应的体素块,变换到体素空间以调整第二深度神经网络的网络参数,这样,再根据第二深度神经网络,确定下一视频对参考帧模型的隐式表达和显示表达进行变形的非刚性形变关系时,可以提高非刚性形变关系的准确性,进而提高虚拟角色的准确性。
118.重复图7和图8的方法步骤,直至完成最后一视频帧对参考帧模型的形变,得到最终的目标几何模型,参见图9,该目标几何模型具有拓扑结构一致性。
119.本技术的实施例中,在根据每一视频帧包含的目标对象的姿态参数,分别对参考帧模型进行变形时,分别对第一深度神经网络和第二深度神经网络的网络参数进行调整,每调整一次,在下一帧对参考帧模型进行变形时,有利于提高非刚性形变关系的准确性,使得形变后的参考帧模型与目标对象的姿态一致,进而提高虚拟角色的真实性。
120.s304:根据每一视频帧的rgb信息对目标几何模型进行纹理贴图,获得目标对象的虚拟角色。
121.本技术的实施例中,采集的目标对象以预设姿态旋转一周的视频,包含多角度下目标对象的全部rgb信息,在执行s304时,可基于各视频帧包含得rgb信息,获得目标对象的完整纹理图,经对目标几何模型进行纹理贴图后,获得目标对象的虚拟角色,该虚拟角色与目标对象具有一致的皮肤,可以真实的反应目标对象的外观。
122.在s304中,对目标几何模型进行纹理图像时,需要确定目标几何模型的顶点与纹理图的像素点间的对应关系。参见图10,具体过程如下:
123.s3041:预先生成一张固定分辨率大小且空白的第一纹理图。
124.例如,设定第一纹理图的分辨率为2048*2048px。由于第一纹理图是空白的,后续可通过各视频帧中的rgb信息进行渲染,以获得与目标对象的真实皮肤一致的完整纹理图。
125.s3042:对目标几何模型进行光栅化,确定光栅化后每个三角形面片包含的顶点,与预制的第二纹理图中的像素点的第一对应关系,其中,第二纹理图的分辨率大小与第一纹理图相同。
126.在s3042中,通过对目标几何模型进行光栅化,可以获得多个三角形面片,每个三角形面片包含三个顶点,每个顶点对应一个索引,该索引可以为对应三角形面片以及三角形面片的重心坐标。对每个三角形面片包含的顶点进行上采样,确定每个顶点与第二纹理图中像素点的第一对应关系,其中,第一对应关系可用顶点的索引和像素点的坐标表征。
127.s3043:将第一对应关系迁移到第一纹理图中,获得目标几何模型的顶点与第一纹
理图的像素点间的第二对应关系。
128.在s3043中,由于第一纹理图和第二纹理图的分辨率大小是相同的,也就是说,目标几何模型的顶点在第一纹理图中存在对应的像素点,在第二纹理图中也存在对应的像素点,因此,目标几何模型的顶点与第二纹理图的像素点间的第一对应关系,可以迁移到第一纹理图中,获得目标几何模型的顶点与第一纹理图的像素点间的第二对应关系并存储。
129.进一步地,根据各视频帧中提取的rgb信息渲染第一纹理图后,可以得到目标对象的完整纹理数据,再利用目标几何模型的顶点与第一纹理图的像素点间的第二对应关系,完成对目标几何模型的纹理贴图。具体过程参见图11,主要包括以下几步:
130.s3044:针对每一视频帧,确定该视频帧中的像素点与目标几何模型的顶点间的第三对应关系。
131.在执行s3044时,提取目标几何模型对应的骨架,通过rgb相机的内参数和外参数,将目标几何模型映射到该视频帧下,确定该视频帧中的像素点与目标几何模型的顶点间的第三对应关系。
132.s3045:根据第三对应关系以及第二对应关系,利用该视频帧中像素点的rgb信息,渲染空白的第一纹理图。
133.在s3045中,根据该视频帧中像素点与目标几何模型的顶点间的第三对应关系,以及目标几何模型的顶点与第一纹理图的像素点间的第二对应关系,可以确定该视频帧中的像素点在第一纹理图中对应的像素点,并用该视频帧中像素点的rgb信息,赋值给第一纹理图中相应的像素点,以完成第一纹理图的渲染。
134.s3046:根据各视频帧渲染后的第一纹理图对目标几何模型进行纹理贴图,获得目标对象的虚拟角色。
135.在s3046中,将各视频帧中像素点的rgb信息全部赋值给第一纹理图中相应的像素点后,第一纹理图包含了目标对象的完整纹理数据,从而根据第一纹理图对目标几何模型进行纹理贴图后,可以获得目标对象的虚拟角色,参见图12,由于第一纹理图包含目标对象真实的皮肤(衣服、头发等)数据,使得虚拟角色的外观与目标对应一致,提高目标对象的真实性。
136.本技术实施例提供虚拟角色的生成方法中,利用民用级的rgb相机采集目标对象以预设姿态旋转一周的视频并存储,将细节信息丰富的正面图像作为首个视频帧来提取出目标对象的形体参数,并用形体参数对拓扑结构一致的初始人体参数化模型进行体素化处理后,生成带皮肤的参考帧模型;获得带皮肤的参考帧模型后,根据每一视频帧包含的姿态参数,以及该参考帧模型中各顶点在相应体素块内的三维坐标,分别对参考帧模型进行变形,得到目标几何模型,且变形过程中,上一视频帧对应的参考帧模型形变前后的损失用于优化下一视频帧的形变参数,使得目标几何模型与目标对象更加一致,提高了目标几何模型的真实性,从而根据每一视频帧的rgb信息对目标几何模型进行纹理贴图后,获得更加真实的虚拟角色,该虚拟角色的皮肤能够真实的刻画目标对象的外观。整个生成过程中,形变参数的优化是自动进行的,无需动画师参与,节省了人力物力,提高了虚拟角色的生成效率。
137.获得目标对象的虚拟角色后,可以使用虚拟角色进行远程三维通信,以提升交互过程中面对面式的沉浸感。具体交互过程参见图13,主要包括以下几步:
138.s305:获取交互过程中rgb相机采集的目标对象的rgb图像。
139.交互过程中,目标对象可以以任意姿态进行运动,由rgb相机实时采集交互过程中的rgb图像,并传输给交互设备的gpu。
140.s306:根据rgb图像,提取目标对象的运动数据。
141.通过运动捕捉算法,从rgb图像提取目标对象骨骼节点,并获取骨骼节点的运动数据,如骨骼节点旋转角度、骨骼节点的坐标等。
142.s307:根据运动数据,驱动虚拟角色运动以匹配目标对象的真实动作。
143.利用获得的骨骼节点的运动数据,根据骨骼节点与模型顶点间的驱动关系,驱动虚拟角色运动,使得运动后的虚拟角色的动作与目标对当前的真实动作一致。
144.本技术的实施例中,目标对象的运动数据相对于三维模型数据,占用的数据量较小,在现有网络带宽的条件下,满足远程三维通信的实时性要求,降低了通信过程的卡顿,提高了用户的沉浸式体验。
145.基于相同的技术构思,本技术实施例提供了一种交互设备,该交互设备能够执行上述实施例提供的虚拟角色的生成方法步骤,且能达到同样的技术效果,在此不再赘述。
146.参见图14a,该交互设备包括处理器1401、存储器1402、显示器1403和通信接口1404,所述通信接口1404、所述显示器1403、所述存储器1402与所述处理器1401通过总线1405连接;
147.所述存储器1402包括数据存储单元和程序存储单元,所述程序存储单元存储有计算机程序指令,所述处理器1401根据所述计算机程序执行,执行以下操作:
148.通过所述通信接口1404,获取rgb相机采集的目标对象以预设姿态旋转一周的视频并存储至所述数据存储单元,将所述目标对象的正面图像作为首个视频帧以提取所述目标对象的形体参数;
149.根据初始人体参数化模型和所述目标对象的形体参数,初始化设定分辨率的体素空间,并根据初始化结果,生成带皮肤的参考帧模型;
150.根据每一视频帧包含的目标对象的姿态参数,以及所述参考帧模型中各顶点在相应体素块内的三维坐标,分别对所述参考帧模型进行变形,得到目标几何模型;变形过程中,上一视频帧对应的所述参考帧模型形变前后的损失用于优化下一视频帧的形变参数;
151.根据每一视频帧的rgb信息对所述目标几何模型进行纹理贴图,获得所述目标对象的虚拟角色,并由所述显示器1403进行显示。
152.可选的,所述处理器1401根据初始人体参数化模型和所述形体参数,初始化设定分辨率的体素空间,并根据初始化结果,生成带皮肤的参考帧模型,具体操作为:
153.根据所述形体参数,对所述初始人体参数化模型进行变形,得到预设姿态的目标人体参数化模型;
154.将所述目标人体参数化模型与所述体素空间的坐标原点对齐;
155.利用设定的第一深度神经网络,根据所述目标人体参数化模型中各顶点在所述体素空间内的sdf值,生成带皮肤的参考帧模型。
156.可选的,所述处理器1401利用设定的第一深度神经网络,根据所述目标人体参数化模型中各顶点在所述体素空间内的sdf值,生成带皮肤的参考帧模型,具体操作为:
157.根据所述目标人体参数化模型中各顶点在所述体素空间内的三维坐标,确定所述
各顶点在所述体素空间中的sdf值;
158.提取sdf值为0的顶点集合,获得带皮肤的参考帧模型的隐式表达;
159.渲染所述顶点集合中的各顶点构成的零等值面,生成显示表达的带皮肤的参考帧模型。
160.可选的,所述处理器1401根据每一视频帧包含的目标对象的姿态参数,以及所述参考帧模型中各顶点在相应体素块内的三维坐标,分别对所述参考帧模型进行变形,具体操作为:
161.针对每一视频帧,根据所述视频帧包含的目标对象的姿态参数,将所述参考帧模型映射到所述视频帧下;
162.利用设定的第二深度神经网络,根据所述姿态参数,以及映射后的参考帧模型中各顶点在相应体素块内的三维坐标,确定所述视频帧与所述参考帧模型间的非刚性形变关系;
163.根据所述非刚性形变关系,对所述参考帧模型进行变形。
164.可选的,针对每一视频帧对所述参考帧模型进行变形后,所述处理器1401还执行:
165.根据所述rgb相机的参数,将变形后的参考帧模型投影到所述视频帧中;
166.根据投影后所述参考帧模型的外轮廓,与所述视频帧中分割得到的所述目标对象的外轮廓间的损失值,对所述参考帧模型的隐式表达进行优化;
167.确定非刚性投射光线与优化后所述参考帧模型的隐式表达的各第一交点,以及与优化前所述参考帧模型的隐式表达的各第二交点;
168.根据所述视频帧包含的目标对象的姿态参数,将所述第一交点和所述第二交点间的sdf差值对应的体素块,变换到所述体素空间内,以优化下一视频帧对所述参考帧模型进行形变的非刚性形变关系。
169.可选的,所述处理器1401根据每一视频帧的rgb信息对所述目标几何模型进行纹理贴图,获得所述目标对象的虚拟角色,具体操作为:
170.对所述目标几何模型进行光栅化,确定光栅化后每个三角形面片包含的顶点,与预制的第二纹理图中的像素点的第一对应关系,所述第二纹理图的分辨率与第一纹理图的分辨率相同,所述第一纹理图为预制的空白纹理图;
171.将所述第一对应关系迁移到所述第一纹理图中,获得所述目标几何模型的顶点与所述第一纹理图的像素点间的第二对应关系;
172.针对每一视频帧,确定所述视频帧中的像素点与所述目标几何模型的顶点间的第三对应关系;
173.根据所述第三对应关系以及所述第二对应关系,利用所述视频帧中像素点的rgb信息,渲染所述第一纹理图;
174.根据各视频帧渲染后的第一纹理图对所述目标几何模型进行纹理贴图,获得所述目标对象的虚拟角色。
175.可选的,获得所述目标对象的虚拟角色之后,所述处理器1401还执行:
176.获取交互过程中所述rgb相机采集的所述目标对象的rgb图像;
177.根据所述rgb图像,提取所述目标对象的运动数据;
178.根据所述运动数据,驱动所述虚拟角色运动以匹配所述目标对象的真实动作。
179.可选的,所述处理器1401通过以下方式确定所述形态参数和姿态参数:
180.针对首个视频帧,提取所述目标对象的目标骨架和第一人体轮廓;
181.初始化所述目标骨架的形体参数和姿态参数,通过蒙皮函数形变所述初始人体参数化模型;
182.提取形变后人体参数化模型的参考骨架,确定所述参考骨架与所述目标骨架的骨架损失值;
183.根据所述rgb相机的内参数,将所述参考骨架投影到首个视频帧中以优化所述骨架损失值,获得所述rgb相机的外参数和新的姿态参数;
184.根据新的姿态参数和所述外参数,将形变后人体参数化模型的顶点投影到首个视频帧中,获得第二人体轮廓;
185.根据所述第一人体轮廓和所述第二人体轮廓的轮廓损失值,更新形体参数和姿态参数;
186.固定所述rgb相机的外参数和所述目标对象的形体参数,针对非首个视频帧,重新确定骨架损失值和轮廓损失值以确定非首个视频帧对应的姿态参数。
187.需要说明的是,图14a仅是检测设备实现本技术实施例提供的虚拟角色的生成方法所需的必要硬件,可选的,该交互设备还包括扬声器、音频处理器等常规硬件。
188.在另一种可选的实施例中,交互设备自身可集成了rgb相机1406,参见图14b,其他硬件与图14a一致,在此不再重复。
189.本技术实施例还提供一种计算机可读存储介质,用于存储一些指令,这些指令被执行时,可以完成前述实施例的方法。
190.本技术实施例还提供一种计算机程序产品,用于存储计算机程序,该计算机程序用于执行前述实施例的方法。
191.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
192.本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
193.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
194.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或
其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
195.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1