图像渲染方法、装置、设备以及存储介质

文档序号:28101602发布日期:2021-12-22 11:36阅读:123来源:国知局
图像渲染方法、装置、设备以及存储介质

1.本技术涉及计算机技术领域,特别涉及一种图像渲染方法、装置、设备以及存储介质。


背景技术:

2.随着计算机技术的发展,人体重建技术的应用越来越广泛,人体重建技术是指根据人体的二维的视频或者照片,得到人体的三维模型的技术,人体重建技术广泛应用在直播以及动画制作等场景中,比如,在直播场景中,主播可以通过人体重建技术来将自己的形象转化为一个动物。
3.相关技术中,会使用深度相机来采集人体的点云数据,基于采集得到的点云数据来进行人体重建。但是,对三维模型进行渲染时,渲染参数往往是技术人员手动设置好的,渲染参数可能与三维模型不匹配,导致对三维模型进行渲染的效果不佳。


技术实现要素:

4.本技术实施例提供了一种图像渲染方法、装置、设备以及存储介质,可以提升渲染效果。所述技术方案如下:
5.一方面,提供了一种图像渲染方法,所述方法包括:
6.基于样本视频帧,获取样本对象的形状参数和姿态参数,所述样本视频帧包括所述样本对象;
7.基于所述形状参数和所述姿态参数,对所述样本对象进行三维重建,得到所述样本对象的三维模型;
8.通过图像渲染模型,基于虚拟相机的相机参数、所述形状参数以及所述姿态参数,确定多个第一渲染参数,所述虚拟相机的相机参数与拍摄所述样本视频帧的真实相机的相机参数相同;基于所述多个第一渲染参数,对第一目标图像进行渲染,输出第一渲染图像,所述第一目标图像为所述虚拟相机对所述三维模型进行拍摄得到的图像;
9.基于所述样本视频帧和所述第一渲染图像之间的差异信息,对所述图像渲染模型进行训练,所述图像渲染模型用于渲染所述虚拟相机拍摄的图像。
10.在一种可能的实施方式中,所述基于所述相机参数、所述形状参数和所述姿态参数,确定多个第一渲染参数之前,所述方法还包括:
11.基于所述样本视频帧,获取所述相机参数。
12.在一种可能的实施方式中,所述第一渲染参数包括颜色参数和密度参数,所述基于所述像素点与所述虚拟相机之间的虚拟射线,以及所述像素点对应的第一渲染参数,确定所述像素点的颜色和不透明度包括:
13.在所述虚拟射线上,对第一关系数据进行积分,得到所述颜色,所述第一关系数据与所述颜色参数和所述密度参数相关联;
14.在所述虚拟射线上,对第二关系数据进行积分,得到所述不透明度,所述第二关系
数据与所述密度参数相关联。
15.在一种可能的实施方式中,所述方法还包括:
16.基于目标形状参数,对所述样本对象的三维模型进行形状调整,得到形状调整后的三维模型;
17.将所述相机参数、所述姿态参数和所述目标形状参数输入训练完毕的所述图像渲染模型,基于所述相机参数、所述姿态参数和所述目标形状参数,确定多个第三渲染参数;
18.基于所述多个第三渲染参数,对所述第三目标图像进行渲染,输出第三渲染图像,所述第三目标图像为所述虚拟相机对所述形状调整后的三维模型进行拍摄得到的图像。
19.在一种可能的实施方式中,所述方法还包括:
20.将目标相机参数、所述姿态参数和所述目标形状参数输入训练完毕的所述图像渲染模型,基于所述姿态参数、所述形状参数和所述目标相机参数,确定多个第四渲染参数;
21.基于所述多个第四渲染参数,对第四目标图像进行渲染,输出第四渲染图像,所述第四目标图像为在所述目标相机参数下,所述虚拟相机拍摄所述三维模型得到的图像。
22.一方面,提供了一种图像渲染方法,所述方法包括:
23.显示目标视频帧,所述目标视频帧包括目标对象;
24.响应于对所述目标对象的三维重建操作,显示所述目标对象的三维模型,所述三维模型是基于所述目标对象的形状参数和姿态参数生成的,所述形状参数和所述姿态参数是基于所述目标视频帧确定的;
25.响应于对所述三维模型的拍摄操作,显示第一目标图像,所述第一目标图像为虚拟相机对所述三维模型进行拍摄得到的图像;
26.响应于对所述第一目标图像的渲染操作,显示第一渲染图像,所述第一渲染图像是通过训练完成的图像渲染模型,基于多个第一渲染参数对所述第一目标图像进行渲染得到的,所述多个第一渲染参数是通过所述图像渲染模型,基于所述虚拟相机的相机参数、所述形状参数以及所述姿态参数确定的,所述图像渲染模型用于渲染所述虚拟相机拍摄的图像。
27.一方面,提供了一种图像渲染装置,所述装置包括:
28.参数获取模块,用于基于所述样本视频帧,获取所述样本对象的形状参数和姿态参数,所述样本视频帧包括样本对象;
29.三维重建模块,用于基于所述形状参数和所述姿态参数,对所述样本对象进行三维重建,得到所述样本对象的三维模型;
30.渲染模块,用于通过图像渲染模型,基于虚拟相机的相机参数、所述形状参数以及所述姿态参数,确定多个第一渲染参数,所述虚拟相机的相机参数与拍摄所述样本视频帧的真实相机的相机参数相同;基于所述多个第一渲染参数,对第一目标图像进行渲染,输出第一渲染图像,所述第一目标图像为所述虚拟相机对所述三维模型进行拍摄得到的图像;
31.训练模块,用于基于所述样本视频帧和所述第一渲染图像之间的差异信息,对所述图像渲染模型进行训练,所述图像渲染模型用于渲染所述虚拟相机拍摄的图像。
32.在一种可能的实施方式中,所述三维重建模块用于通过所述形状参数对所述基准三维模型的形状进行调整,通过所述姿态参数对所述基准三维模型的姿态进行调整,得到所述样本对象的三维模型,所述基准三维模型是基于多个对象的形状参数和姿态参数训练
得到的。
33.在一种可能的实施方式中,所述装置还包括:
34.区域确定模块,用于对所述样本视频帧进行图像分割,得到目标区域,所述目标区域为所述样本对象所在的区域;
35.所述参数获取模块,用于基于所述目标区域,获取所述样本对象的形状参数和姿态参数。
36.在一种可能的实施方式中,所述参数获取模块,用于基于所述样本视频帧,对所述样本对象进行姿态估计,得到所述样本对象的姿态参数;基于样本视频中的多个视频帧,对所述样本对象进行形状估计,得到所述样本对象的多个参考形状参数,一个所述参考形状参数对应于一个所述视频帧,所述样本视频包括所述样本视频帧;基于所述多个参考形状参数,确定所述样本对象的形状参数。
37.在一种可能的实施方式中,所述相机参数包括所述虚拟相机在所述第一虚拟空间中的位置参数,所述渲染模块,用于基于所述位置参数和所述虚拟相机对所述三维模型的视角,在第一虚拟空间中确定至少一条虚拟射线,所述虚拟射线为所述虚拟相机与所述第一目标图像上像素点的连线,所述第一虚拟空间为基于所述相机参数建立的虚拟空间;基于所述至少一条虚拟射线上的多个第一采样点的坐标、所述形状参数以及所述姿态参数,确定所述多个第一渲染参数,所述第一采样点的坐标为所述第一采样点在所述第一虚拟空间中的坐标。
38.在一种可能的实施方式中,所述渲染模块,用于基于所述多个第一采样点的坐标、所述姿态参数以及参考姿态参数,将所述多个第一采样点变换到第二虚拟空间中,得到多个第二采样点,一个所述第一采样点对应一个所述第二采样点,所述参考姿态参数为所述第二虚拟空间对应的姿态参数,所述第二采样点的坐标为所述第二采样点在所述第二虚拟空间中的坐标;基于所述多个第二采样点在所述第二虚拟空间中的坐标、所述形状参数以及所述姿态参数,确定所述多个第一渲染参数。
39.在一种可能的实施方式中,所述渲染模块,用于对于一个所述第一采样点,获取所述第一采样点的第一姿态变换矩阵和第二姿态变换矩阵,所述第一姿态变换矩阵为第一顶点从第一姿态变换为第二姿态的变换矩阵,所述第二姿态变换矩阵为所述第一顶点从所述第一姿态变换为第三姿态的变换矩阵,所述第一姿态为基准姿态,所述第二姿态为所述姿态参数对应的姿态,所述第三姿态为所述参考姿态参数对应的姿态,所述第一顶点为所述三维模型上与所述第一采样点之间的距离符合目标条件的顶点;基于所述第一顶点对应的蒙皮权重、所述第一姿态变换矩阵以及所述第二姿态变换矩阵,得到所述第一采样点对应的第二采样点。
40.在一种可能的实施方式中,所述渲染模块,用于对于一个所述第二采样点,将所述第二采样点在所述第二虚拟空间中的坐标、所述形状参数以及所述姿态参数进行拼接,得到第一参数集;对所述第一参数集进行全连接处理,得到所述第一渲染参数。
41.在一种可能的实施方式中,所述渲染模块,用于对于所述第一目标图像上的一个像素点,基于所述像素点与所述虚拟相机之间的虚拟射线,以及所述像素点对应的第一渲染参数,确定所述像素点的颜色和不透明度;基于所述颜色和所述不透明度,对所述像素点进行渲染,输出渲染后的所述像素点。
42.在一种可能的实施方式中,所述第一渲染参数包括颜色参数和密度参数,所述渲染模块,用于在所述虚拟射线上,对第一关系数据进行积分,得到所述颜色,所述第一关系数据与所述颜色参数和所述密度参数相关联;在所述虚拟射线上,对第二关系数据进行积分,得到所述不透明度,所述第二关系数据与所述密度参数相关联。
43.在一种可能的实施方式中,所述渲染模块还用于基于目标姿态参数,对所述样本对象的三维模型进行姿态调整,得到姿态调整后的三维模型;将所述相机参数、所述形状参数以及所述目标姿态参数输入训练完毕的所述图像渲染模型,基于所述相机参数、所述形状参数和所述目标姿态参数,确定多个第二渲染参数;基于所述多个第二渲染参数,对第二目标图像进行渲染,输出第二渲染图像,所述第二目标图像为所述虚拟相机对所述姿态调整后的三维模型进行拍摄得到的图像。
44.在一种可能的实施方式中,所述装置还包括:
45.相机参数获取模块,用于基于所述样本视频帧,获取所述相机参数。
46.在一种可能的实施方式中,所述渲染模块还用于基于目标形状参数,对所述样本对象的三维模型进行形状调整,得到形状调整后的三维模型;将所述相机参数、所述姿态参数和所述目标形状参数输入训练完毕的所述图像渲染模型,基于所述相机参数、所述姿态参数和所述目标形状参数,确定多个第三渲染参数;基于所述多个第三渲染参数,对所述第三目标图像进行渲染,输出第三渲染图像,所述第三目标图像为所述虚拟相机对所述形状调整后的三维模型进行拍摄得到的图像。
47.在一种可能的实施方式中,所述渲染模块还用于将目标相机参数、所述姿态参数和所述目标形状参数输入训练完毕的所述图像渲染模型,基于所述姿态参数、所述形状参数和所述目标相机参数,确定多个第四渲染参数;基于所述多个第四渲染参数,对第四目标图像进行渲染,输出第四渲染图像,所述第四目标图像为在所述目标相机参数下,所述虚拟相机拍摄所述三维模型得到的图像。
48.一方面,提供了一种图像渲染装置,所述装置包括:
49.视频帧显示模块,用于显示目标视频帧,所述目标视频帧包括目标对象;
50.三维模型显示模块,用于响应于对所述目标对象的三维重建操作,显示所述目标对象的三维模型,所述三维模型是基于所述目标对象的形状参数和姿态参数生成的,所述形状参数和所述姿态参数是基于所述目标视频帧确定的;
51.目标图像显示模块,用于响应于对所述三维模型的拍摄操作,显示第一目标图像,所述第一目标图像为虚拟相机对所述三维模型进行拍摄得到的图像;
52.渲染图像显示模块,用于响应于对所述第一目标图像的渲染操作,显示第一渲染图像,所述第一渲染图像是通过训练完成的图像渲染模型,基于多个第一渲染参数对所述第一目标图像进行渲染得到的,所述多个第一渲染参数是通过所述图像渲染模型,基于所述虚拟相机的相机参数、所述形状参数以及所述姿态参数确定的,所述图像渲染模型用于渲染所述虚拟相机拍摄的图像。
53.一方面,提供了一种计算机设备,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条计算机程序,所述计算机程序由所述一个或多个处理器加载并执行以实现所述图像渲染方法。
54.一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至
少一条计算机程序,所述计算机程序由处理器加载并执行以实现所述图像渲染方法。
55.一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括程序代码,该程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该程序代码,处理器执行该程序代码,使得该计算机设备执行上述图像渲染方法。
56.通过本技术实施例提供的技术方案,在对图像渲染模型进行训练时,基于样本对象的形状参数和姿态参数对样本对象进行了三维重建,基于相机参数、形状参数以及姿态参数来确定渲染参数,在确定渲染参数时考虑了虚拟相机以及样本对象的影响,渲染参数与样本对象的三维模型更加匹配,基于渲染参数对第一目标图像进行渲染,得到第一渲染图像,基于第一渲染图像与样本视频帧之间的差异信息来训练图像渲染模型,这样得到的图像渲染模型具有更强的图像渲染能力。
附图说明
57.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
58.图1是本技术实施例提供的一种图像渲染方法的实施环境的示意图;
59.图2是本技术实施例提供的一种图像渲染方法流程图;
60.图3是本技术实施例提供的一种图像渲染方法流程图;
61.图4是本技术实施例提供的一种图像渲染方法流程图;
62.图5是本技术实施例提供的一种图像渲染方法流程图;
63.图6是本技术实施例提供的一种姿态变换示意图;
64.图7是本技术实施例提供的一种图像渲染方法流程图;
65.图8是本技术实施例提供的一种图像渲染方法流程图;
66.图9是本技术实施例提供的一种视角变换的示意图;
67.图10是本技术实施例提供的一种视角变换的示意图;
68.图11是本技术实施例提供的一种图像渲染方法流程图;
69.图12是本技术实施例提供的一种界面示意图;
70.图13是本技术实施例提供的一种界面示意图;
71.图14是本技术实施例提供的一种图像渲染装置结构示意图;
72.图15是本技术实施例提供的一种图像渲染装置结构示意图;
73.图16是本技术实施例提供的一种终端的结构示意图;
74.图17是本技术实施例提供的一种服务器的结构示意图。
具体实施方式
75.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
76.本技术中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似
项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
77.本技术中术语“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上,例如,多个参照人脸图像是指两个或两个以上的参照人脸图像。
78.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
79.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
80.计算机视觉技术(computer vision,cv)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理称为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、ocr(optical character recognition,光学字符识别)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3d技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
81.机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识子模型使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
82.归一化处理:将取值范围不同的数列映射到(0,1)区间上,便于数据的处理。在一些情况下,归一化后的数值可以直接被实现为概率。
83.图1是本技术实施例提供的一种图像渲染方法的实施环境示意图,参见图1,该实施环境中可以包括终端110和服务器140。
84.终端110通过无线网络或有线网络与服务器140相连。可选地,终端110是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端110安装和运行有支持图像渲染的应用程序。
85.可选地,服务器是独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式系统,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
86.可选地,终端110泛指多个终端中的一个,本技术实施例仅以终端110来举例说明。
87.本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端仅为一个,或者上述终端为几十个或几百个,或者更多数量,此时上述实施环境中还包括其他终端。本技术实施例对终端的数量和设备类型不加以限定。
88.在对本技术实施例提供的技术方案的实施环境进行介绍之后,下面对将结合上述实施环境,对本技术实施例提供的技术方案的应用场景进行说明,在下述说明过程中,终端也即是上述实施环境中的终端110,服务器也即是上述实施环境中的终端140。
89.本技术实施例提供的技术方案能够应用在多视角图像合成以及新动作图像合成的场景下,其中,多视角图像合成是指,给定一张在第一视角拍摄目标对象的图像,通过本技术实施例提供的技术方案,能够得到目标对象的其他视角的图像,比如,终端基于不同视角拍摄的目标对象的图像来训练图像渲染模型,训练完成之后,能够得到任一角度拍摄目标对象的图像。新动作图像合成是指,给定一张目标对象执行第一动作的图像,通过本技术实施例提供的技术方案,能够得到目标对象执行其他动作的图像,比如,终端基于不同视角拍摄的目标对象的图像来训练图像渲染模型,训练完成之后,能够得到目标对象执行其他动作的图像。
90.在介绍完本技术实施例的实施环境和应用场景之后,对本技术实施例提供的图像渲染方法进行说明。
91.需要注意的是,在下述对本技术提供的技术方案进行说明的过程中,是以服务器作为执行主体为例进行的。在其他可能的实施方式中,也可以由终端作为执行主体来执行本技术提供的技术方案,本技术实施例对于执行主体的类型不做限定。
92.图2是本技术实施例提供的一种图像渲染方法的流程图,参见图2,方法包括:
93.201、服务器基于样本视频帧,获取样本对象的形状参数和姿态参数,样本视频帧包括样本对象。
94.其中,样本对象为人体、动物、植物、建筑物以及车辆等,本技术实施例对此不做限定。样本视频帧属于样本视频,样本视频帧包括样本对象是指,样本对象显示在样本视频帧中,相应的,样本视频也即是样本对象的视频。
95.202、服务器基于形状参数和姿态参数,对样本对象进行三维重建,得到样本对象的三维模型。
96.其中,形状参数用于描述样本对象的形状,姿态参数用于描述样本对象的姿态,若样本对象为人体,那么形状也即是指人体的体型,比如形状参数用于描述人体的高矮胖瘦等体型;姿态也即是指人体的动作,比如姿态参数用于描述人体双臂张开、弯腰或者抬腿等动作。
97.203、服务器通过图像渲染模型,基于虚拟相机的相机参数、形状参数以及姿态参数,确定多个第一渲染参数,虚拟相机的相机参数与拍摄样本视频帧的真实相机的相机参数相同。
98.其中,相机参数用于描述虚拟相机的相关属性,比如相机参数包括虚拟相机的焦距参数、拍摄图像的尺寸参数以及相机的位置参数等,其中,焦距参数用于描述虚拟相机的交局;拍摄图像的尺寸参数用于描述虚拟相机拍摄得到的图像的高和宽;位置参数用于描述虚拟相机的位置。在一些实施例中,虚拟相机的交局参数和拍摄图像的尺寸参数也被称为虚拟相机的内参数,虚拟相机的位置参数也被称为虚拟相机的外参数。第一渲染参数也
即是用于渲染图像的参数。
99.204、服务器通过图像渲染模型基于多个第一渲染参数,对第一目标图像进行渲染,输出第一渲染图像,第一目标图像为虚拟相机对三维模型进行拍摄得到的图像。
100.其中,第一目标图像为虚拟相机对三维模型进行拍摄得到的图像是指,第一目标图像是采用虚拟相机,在特定位置和角度,对样本对象的三维模型进行拍摄得到的图像,其中,特定的位置和角度由虚拟相机的相机参数确定。在一些实施例中,虚拟相机的位置相当于人眼的位置,虚拟相机对三维模型进行拍摄相当于人眼对三维模型进行观察。
101.205、服务器基于样本视频帧和第一渲染图像之间的差异信息,对图像渲染模型进行训练,图像渲染模型用于渲染虚拟相机拍摄的图像。
102.其中,第一渲染图像是服务器通过图像渲染模型得到的图像,样本视频帧是原生的图像,那么在对图像渲染模型进行训练时,也即是以样本视频帧为监督,对图像渲染模型进行训练,训练的目的是使得通过图像渲染模型渲染得到的图像与对应的样本视频帧之间尽可能接近。
103.通过本技术实施例提供的技术方案,在对图像渲染模型进行训练时,基于样本对象的形状参数和姿态参数对样本对象进行了三维重建,基于相机参数、形状参数以及姿态参数来确定渲染参数,在确定渲染参数时考虑了虚拟相机以及样本对象的影响,渲染参数与样本对象的三维模型更加匹配,基于渲染参数对第一目标图像进行渲染,得到第一渲染图像,基于第一渲染图像与样本视频帧之间的差异信息来训练图像渲染模型,这样得到的图像渲染模型具有更强的图像渲染能力。
104.上述步骤201

205是对本技术实施例提供的图像渲染方法的简单说明,下面将结合一些例子,对本技术实施例提供的图像渲染方法进行更加细致的说明,图3是本技术实施例提供的一种图像渲染方法的流程图,参见图3,以执行主体为服务器为例,方法包括:
105.301、服务器获取样本视频,样本视频包括多个样本视频帧,样本视频帧包括样本对象。
106.其中,样本对象为人体、动物、植物、建筑物以及车辆等,本技术实施例对此不做限定。样本视频帧属于样本视频,样本视频帧包括样本对象是指,样本对象显示在样本视频帧中,相应的,样本视频也即是样本对象的视频。
107.在一种可能的实施方式中,采用相机对样本对象进行拍摄,得到样本视频。相机将拍摄得到的样本视频上传至服务器,服务器获取样本视频。在一些实施例中,相机为单目相机,相应的,样本视频也即是一个单目视频,相应的,样本视频帧也即是单目视频帧。
108.举例来说,采用相机对样本对象进行环绕拍摄,得到样本对象在不同视角下的视频帧,多个视频帧构成样本视频,相机将样本视频上传至服务器,服务器获取样本视频。通过对样本对象进行环绕拍摄,能够得到样本对象在不同视角下的视频帧,有助于提高服务器对样本对象进行建模的效果。
109.采用相机对样本对象进行环绕拍摄包括以下两种方式:
110.方式1、以样本对象为人体为例,用户将相机架设在拍摄位置上,待进行拍摄的人体移动至相机的拍摄范围内,相机拍摄,人体在拍摄范围内旋转1

2圈,相机拍摄得到样本视频。在一些实施例中,人体在拍摄范围内旋转时,可以采用t

pose(t型姿势)或者a

pose(a型姿势),t

pose也即是人体双臂水平张开,两脚并拢,呈现一个“t”字型;a

pose也即是
人体双臂向下张开,与身体呈一定角度,呈现一个“a”字型。拍摄完成之后,相机将样本视频上传至服务器,服务器获取样本视频。在这种方式下,在拍摄样本视频时,可以保持相机的位置固定不变,以得到更加稳定清晰的样本视频。
111.方式2、以样本对象为人体为例,待进行拍摄的人体移动至指定位置,用户持有相机环绕人体1

2圈,同时采用相机对人体进行拍摄,得到样本视频。在一些实施例中,人体在指定位置可以采用t

pose(t型姿势)或者a

pose(a型姿势)。拍摄完成之后,相机将样本视频上传至服务器,服务器获取样本视频。在这种方式下,在拍摄样本视频时,人体可以保持不变,在样本视频中人体的姿态更加稳定。
112.在上述说明过程中,是以相机为普通相机为例进行说明的,在其他可能的实施方式中,相机也可能为深度相机,比如为基于结构光(structured

light)原理的深度相机或者基于光飞行时间法(tof,time of flight)原理的深度相机等,本技术实施例对此不做限定。若相机为深度相机,那么在对样本对象进行拍摄时,不仅能够得到样本对象的图像信息,也即是样本图像的视频帧,也能够得到样本对象的深度信息,也即是样本对象不同位置与相机之间的距离,后续服务器能够基于样本对象的深度信息进行建模。
113.在一种可能的实施方式中,服务器从网络上获取样本视频,该样本视频也即是其他用户对样本对象进行拍摄得到视频。在这种情况下,用户无需重新拍摄样本视频后再上传至服务器,直接从网络上就能够获取样本视频,效率较高。
114.在一种可能的实施方式中,样本对象为一个样本三维模型,那么样本视频也即是采用虚拟相机对该样本三维模型进行拍摄得到的视频。比如,服务器创建了一个人体的三维模型,采用虚拟相机对该人体的三维模型进行环绕拍摄,得到该人体的三维模型在不同视角下的视频帧,多个视频帧构成样本视频。
115.在这种实施方式下,当实际拍摄不便时,服务器也能够通过虚拟相机对三维模型进行拍摄来得到样本视频,提高了样本视频的获取途径,降低了样本视频的获取难度。
116.302、服务器基于样本视频帧,获取样本对象的形状参数和姿态参数。
117.在一种可能的实施方式中,服务器基于样本视频帧,对样本对象进行形状估计和姿态估计,得到样本对象的形状参数和姿态参数。
118.下面通过两个例子对上述实施方式进行说明。
119.例1、服务器对样本视频帧进行特征提取,得到样本视频帧对应的样本视频帧特征。服务器对样本视频帧对应的样本视频帧特征进行回归处理,得到样本对象的形状参数和姿态参数。在这种方式下,服务器能够直接对样本视频帧进行特征提取和回归处理的方式来得到样本对象的形状参数和姿态参数,效率较高。
120.比如,服务器将样本视频帧输入第一参数提取模型,通过第一参数提取模型的卷积(convolutional)层对样本视频帧进行卷积处理,得到样本视频帧对应的样本视频帧特征。服务器通过第一参数提取模型的回归(regression)层对样本视频帧对应的样本视频帧特征进行全连接处理,将该样本视频帧特征映射为样本对象的形状参数和姿态参数。在一些实施例中,第一参数提取模型为hmr(human mesh recovery,人体网格恢复)模型。
121.例2、服务器样本视频进行特征提取,得到多个样本视频帧特征,一个样本视频帧特征对应于样本视频中的一个样本视频帧。服务器基于样本视频中多个样本视频帧的排列顺序,对多个样本视频帧特征进行时间编码,得到每个样本视频帧的时间编码特征,一个样
本视频帧的时间编码特征融合了该样本视频帧的样本视频帧特征,以及该样本视频帧之前的多个样本视频帧的样本视频帧特征。服务器对每个样本视频帧的样本视频帧特征进行回归处理,得到样本对象的形状参数和姿态参数。在这种实施方式下,服务器在获取每个样本视频帧中样本对象的形状参数和姿态参数时,结合了每个样本视频帧之前的样本视频帧对应的形状参数和姿态参数,这样能够提高服务器确定形状参数和姿态参数的准确性。
122.比如,服务器将样本视频输入第二参数提取模型,通过第二参数提取模型的卷积(convolutional)层对样本视频进行卷积处理,得到多个样本视频帧分别对应的样本视频帧特征。服务器通过第二参数提取模型的时间编码层基于样本视频中多个样本视频帧的排列顺序,对多个样本视频帧特征进行时间编码,得到每个样本视频帧的时间编码特征,在一些实施例中,时间编码层为一个gru(gate recurrent unit,门控循环单元)。服务器通过第二参数提取模型的回归(regression)层对样本视频帧对应的时间编码特征进行全连接处理,将该时间编码特征映射为样本对象的形状参数和姿态参数。在一些实施例中,第二参数提取模型为vibe(video inference for human body pose and shape estimation,人体姿态和形状估计的视频推理)模型。
123.在一种可能的实施方式中,服务器对样本视频帧进行图像分割,得到目标区域,目标区域为样本对象所在的区域。服务器对目标区域进行形状估计和姿态估计,得到样本对象的形状参数和姿态参数。
124.在这种实施方式下,服务器在对样本视频帧进行形状估计和姿态估计之前,能够先对样本视频帧进行图像分割,从样本视频帧中确定出样本对象所在的区域,对样本对象所在的区域进行形状估计和姿态估计,能够避免样本视频帧中背景对形状估计和姿态估计的影响,提高形状参数和姿态参数的准确性。
125.下面通过两个例子对上述实施方式进行说明。
126.例1、服务器在样本视频帧上确定多个候选框(region proposal),对多个候选框分别进行特征提取,得到多个候选框特征,一个候选框特征对应于一个候选框。服务器对多个候选框特征进行全连接处理和归一化处理,得到每个候选框中是否包含样本对象的概率。服务器将概率符合目标概率条件的候选框进行拼接,得到目标区域。服务器对目标区域进行特征提取,得到目标区域对应的区域特征。服务器对目标区域对应的区域特征进行回归处理,得到样本对象的形状参数和姿态参数。
127.比如,服务器将样本视频帧输入第一图像分割模型,通过第一图像分割模型的候选框生成层,在样本视频帧上生成多个候选框。服务器通过第一图像分割模型的卷积层,对多个候选框中的图像进行卷积处理,得到每个候选框对应的候选框特征。服务器通过第一图像分割模型的分类层,对每个候选框对应的候选框特征进行分类,得到每个候选框中是否包含样本对象的概率。服务器将概率大于或等于概率阈值的候选框进行拼接,得到目标区域,目标区域也即是包括目标对象的区域。服务器将目标区域输入第一参数提取模型,通过第一参数提取模型的卷积层对目标区域进行卷积处理,得到目标区域对应的目标区域特征。服务器通过第一参数提取模型的回归层对目标区域对应的目标区域特征进行全连接处理,将该目标区域特征映射为样本对象的形状参数和姿态参数。在一些实施例中,第一分割模型为r

cnn(region

cnn,区域卷积神经网络)。
128.另外,服务器也能够将对样本视频中的多个样本视频帧进行图像分割,得到每个
样本视频帧中的目标区域,其中,服务器对多个样本视频帧进行图像分割的方法与上述描述属于同一发明构思,实现过程参见之前的描述,在此不再赘述。服务器得到多个目标区域之后,能够将多个目标区域分别输入第二参数提取模型,通过第二参数提取模型的卷积层对样本视频进行卷积处理,得到多个样本视频帧分别对应的样本视频帧特征。服务器通过第二参数提取模型的时间编码层基于样本视频中多个样本视频帧的排列顺序,对多个样本视频帧特征进行时间编码,得到每个样本视频帧的时间编码特征,在一些实施例中,时间编码层为一个gru。服务器通过第二参数提取模型的回归层对样本视频帧对应的时间编码特征进行全连接处理,将该时间编码特征映射为样本对象的形状参数和姿态参数。
129.例2、服务器对样本视频帧进行特征提取,得到样本视频帧的特征图。服务器在特征图上确定多个候选框(region proposal),服务器对多个候选框对应的特征图进行全连接处理和归一化处理,得到每个候选框中是否包含样本对象的概率。服务器将概率符合目标概率条件的候选框进行拼接,得到目标区域。服务器对目标区域进行特征提取,得到目标区域对应的区域特征。服务器对目标区域对应的区域特征进行回归处理,得到样本对象的形状参数和姿态参数。
130.比如,服务器将样本视频帧输入第二图像分割模型,通过第二图像分割模型的卷积层,对样本视频帧进行卷积处理,得到样本视频帧对应的特征图。服务器通过第二图像分割模型的候选框生成层,在样本视频帧对应的特征图上生成多个候选框。服务器通过第二图像分割模型的分类层,对每个候选框对应的特征图进行分类,得到每个候选框中是否包含样本对象的概率。服务器将概率大于或等于概率阈值的候选框进行拼接,得到目标区域,目标区域也即是包括目标对象的区域。服务器将目标区域输入第一参数提取模型,通过第一参数提取模型的卷积层对目标区域进行卷积处理,得到目标区域对应的目标区域特征。服务器通过第一参数提取模型的回归层对目标区域对应的目标区域特征进行全连接处理,将该目标区域特征映射为样本对象的形状参数和姿态参数。在一些实施例中,第二分割模型为fastr

cnn(fast region

cnn,快速区域卷积神经网络)。
131.另外,服务器也能够将对样本视频中的多个样本视频帧进行图像分割,得到每个样本视频帧中的目标区域,其中,服务器对多个样本视频帧进行图像分割的方法与上述描述属于同一发明构思,实现过程参见之前的描述,在此不再赘述。服务器得到多个目标区域之后,能够将多个目标区域分别输入第二参数提取模型,通过第二参数提取模型的卷积层对样本视频进行卷积处理,得到多个样本视频帧分别对应的样本视频帧特征。服务器通过第二参数提取模型的时间编码层基于样本视频中多个样本视频帧的排列顺序,对多个样本视频帧特征进行时间编码,得到每个样本视频帧的时间编码特征,在一些实施例中,时间编码层为一个gru。服务器通过第二参数提取模型的回归层对样本视频帧对应的时间编码特征进行全连接处理,将该时间编码特征映射为样本对象的形状参数和姿态参数。
132.在一种可能的实施方式中,服务器基于样本视频帧,对样本对象进行姿态估计,得到样本对象的姿态参数。服务器基于样本视频中的多个视频帧,对样本对象进行形状估计,得到样本对象的多个参考形状参数,一个参考形状参数对应于一个视频帧,样本视频包括样本视频帧。服务器基于多个参考形状参数,确定样本对象的形状参数。
133.在这种情况下,对于同一个样本对象,其形状参数应该是相同的,服务器在获取样本对象的形状参数时,结合了通过多个样本视频帧确定出的形状参数,这样确定出的形状
参数更加准确。
134.其中,服务器基于样本视频帧,对样本对象进行姿态估计,得到样本对象的姿态参数的方法,以及获取多个视频帧的参考性状参数的方法与之前的描述属于同一发明构思,实现过程参见之前的描述,在此不再赘述。对于服务器基于多个参考形状参数,确定样本对象的形状参数,服务器获取多个参考形状参数的平均值,将该平均值作为样本对象的形状参数。比如,服务器通过下述公式(1)来基于多个参考形状参数,确定样本对象的形状参数。
[0135][0136]
其中,β为样本对象的形状参数,为编号为t的参考形状参数,n为参考形状参数的数量,t和n均为正整数。
[0137]
上述实施方式的原理如下:在实验中发现通过估计得到的形状参数并不能很好的将样本对象和三维模型进行对齐。不准确的形状参数对于图像渲染有着非常负面的影响,常常导致模糊的结果。为了避免这个问题,在训练过程中对形状参数进行微调,也即是采用多个参考形状参数的平均值来作为样本对象的形状参数,实验证明微调之后的形状参数可以更好的将样本对象和三维模型进行对齐,有利于得到更加清晰的结果。
[0138]
303、服务器基于形状参数和姿态参数,对样本对象进行三维重建,得到样本对象的三维模型。
[0139]
其中,形状参数用于描述样本对象的形状,姿态参数用于描述样本对象的姿态,若样本对象为人体,那么形状也即是指人体的体型,比如形状参数用于描述人体的高矮胖瘦等体型。姿态也即是指人体的动作,比如姿态参数用于描述人体双臂张开、弯腰或者抬腿等动作。
[0140]
在一种可能的实施方式中,服务器将形状参数和姿态参数输入基准三维模型,基准三维模型是基于多个对象的形状参数和姿态参数训练得到的。服务器通过形状参数对基准三维模型的形状进行调整,通过姿态参数对基准三维模型的姿态进行调整,得到样本对象的三维模型。
[0141]
为了对上述实施方式进行更加清楚的说明,下面对上述实施方式中的基准三维模型进行介绍。
[0142]
在一些实施例中,基准三维模型也被称为标准smpl(skinned multi

person linear,多人线性蒙皮)模型,该基准三维模型对应于一个标准形状的人体,基准三维模型包括6890个顶点以及23个关节点,1个关节点与多个顶点具有绑定关系,也即是1个关节点的运动能够带动多个顶点的移动。在一些实施例中,由于该关节点具有绑定关系的顶点与该关节点之间的距离不同,或者一个顶点与多个关节点具有绑定关系,那么能够采用蒙皮权重的方式来体现关节点与顶点之间的绑定关系,比如,权重越高,那么关节点与顶点之间的绑定关系也就越强,权重越低,关节点与顶点之间的绑定关系也就越弱。在一些实施例中,服务器采用矩阵来记录基准三维模型的顶点坐标和关节点坐标,比如采用矩阵t来记录6890个顶点的坐标,由于顶点的坐标为三维坐标,那么矩阵t的尺寸也就是6890
×
3。比如服务器采用矩阵j来记录关节点的坐标,由于关节点的坐标为三维坐标,那么矩阵t的尺寸也就是(23+1)
×
3,其中,1是指记录基准三维模型的根节点。比如服务器采用矩阵w来记录关
节点与不同顶点之间的蒙皮权重,那么矩阵w的尺寸也即是24
×
6890。
[0143]
在一些实施例中,该基准三维模型是基于多个对象的形状参数和姿态参数训练得到的,或者说,该基准三维模型能够体现多个对象的平均形状和平均姿态。该基准三维模型训练完毕之后,向该基准三维模型输入形状参数或者姿态参数之后,该基准三维模型能够自动调整形状或者姿态,也即是对上述矩阵j或者矩阵t进行调整。在上述实施方式中,服务器将样本对象的形状参数和样本对象的姿态参数输入基准三维模型之后。服务器通过形状参数对基准三维模型的形状进行调整,也即是对上述矩阵t中记录的顶点坐标进行调整;通过姿态参数对基准三维模型的姿态进行调整,也即是对上述矩阵j中记录的关节点坐标进行调整,得到样本对象的三维模型。
[0144]
需要说明的是,在上述说明过程中,是以基准三维模型为smpl模型为例进行说明的,在其他可能的实施方式中,基准三维模型也可以实现为其他类型的模型,比如为smplh(skinned multi

person linear hand,多人线性手部)、smplx(skinned multi

person linear x,多人线性多部位)以及star(a sparse trained articulated human body regressor,稀疏训练的关节人体回归机)等模型,本技术实施例对此不做限定。
[0145]
304、服务器基于样本视频帧,获取虚拟相机的相机参数,虚拟相机的相机参数与拍摄样本视频帧的真实相机的相机参数相同。
[0146]
其中,相机参数用于描述虚拟相机的相关属性,比如相机参数包括虚拟相机的焦距参数、拍摄图像的尺寸参数以及相机的位置参数等,其中,焦距参数用于描述虚拟相机的交局。拍摄图像的尺寸参数用于描述虚拟相机拍摄得到的图像的高和宽。位置参数用于描述虚拟相机的位置。在一些实施例中,虚拟相机的交局参数和拍摄图像的尺寸参数也被称为虚拟相机的内参数,虚拟相机的位置参数也被称为虚拟相机的外参数。
[0147]
在一些实施例中,虚拟相机的位置相当于人眼的位置,虚拟相机对三维模型进行拍摄相当于人眼对三维模型进行观察。虚拟相机的相机参数与拍摄样本视频帧的真实相机的相机参数相同是指,比如,真实相机在拍摄样本视频帧时,是在正对样本对象3米的位置拍摄的,那么对于虚拟相机来说,如果将三维模型放置在第一虚拟空间,那么虚拟相机也就位于三维模型正面3米的位置上,第一虚拟空间是虚拟相机的相机参数关联的虚拟空间,在一些实施例中,第一虚拟空间也被称为观察空间(observation space)。
[0148]
在一种可能的实施方式中,服务器对样本视频帧进行特征提取,得到样本视频帧对应的样本视频帧特征。服务器对样本视频帧对应的样本视频帧特征进行回归处理,得到样本视频帧对应的相机参数。
[0149]
举例来说,服务器将样本视频帧输入第三参数提取模型,通过第三参数提取模型的卷积层对样本视频帧进行卷积处理,得到样本视频帧对应的样本视频帧特征。服务器通过第三参数提取模型的回归(层对样本视频帧对应的样本视频帧特征进行全连接处理,将该样本视频帧特征映射为样本视频帧对应的相机参数。在一些实施例中,相机参数的获取也可以在步骤302中实现,也即是服务器在基于样本视频帧,获取样本对象的形状参数和姿态参数同时,也能够获取该相机参数,在这种实施方式下,第三参数提取模型也即是步骤302中的第一参数提取模型,也即是,服务器对样本视频帧进行特征提取,得到样本视频帧对应的样本视频帧特征。服务器对样本视频帧对应的样本视频帧特征进行回归处理,得到样本对象的形状参数、姿态参数以及样本视频帧对应的相机参数。在这种方式下,服务器能
够直接对样本视频帧进行特征提取和回归处理的方式来得到样本对象的形状参数、姿态参数以及相机参数,效率较高。
[0150]
在一种可能的实施方式中,服务器样本视频进行特征提取,得到多个样本视频帧特征,一个样本视频帧特征对应于样本视频中的一个样本视频帧。服务器基于样本视频中多个样本视频帧的排列顺序,对多个样本视频帧特征进行时间编码,得到每个样本视频帧的时间编码特征,一个样本视频帧的时间编码特征融合了该样本视频帧的样本视频帧特征,以及该样本视频帧之前的多个样本视频帧的样本视频帧特征。服务器对每个样本视频帧的样本视频帧特征进行回归处理,得到样本视频帧对应的相机参数。在这种实施方式下,服务器在获取样本视频帧对应的相机参数时,结合了每个样本视频帧之前的样本视频帧对应的相机参数,这样能够提高服务器确定相机参数的准确性。
[0151]
举例来说,服务器将样本视频输入第四参数提取模型,通过第四参数提取模型的卷积层对样本视频进行卷积处理,得到多个样本视频帧分别对应的样本视频帧特征。服务器通过第四参数提取模型的时间编码层基于样本视频中多个样本视频帧的排列顺序,对多个样本视频帧特征进行时间编码,得到每个样本视频帧的时间编码特征,在一些实施例中,时间编码层为一个gru。服务器通过第四参数提取模型的回归(regression)层对样本视频帧对应的时间编码特征进行全连接处理,将该时间编码特征映射为样本视频帧对应的相机参数。在一些实施例中,相机参数的获取也可以在步骤302中实现,也即是服务器在基于样本视频帧,获取样本对象的形状参数和姿态参数同时,也能够获取该相机参数,在这种实施方式下,第四参数提取模型也即是步骤302中的第二参数提取模型,也即是,服务器样本视频进行特征提取,得到多个样本视频帧特征,一个样本视频帧特征对应于样本视频中的一个样本视频帧。服务器基于样本视频中多个样本视频帧的排列顺序,对多个样本视频帧特征进行时间编码,得到每个样本视频帧的时间编码特征,一个样本视频帧的时间编码特征融合了该样本视频帧的样本视频帧特征,以及该样本视频帧之前的多个样本视频帧的样本视频帧特征。服务器对每个样本视频帧的样本视频帧特征进行回归处理,得到样本对象的形状参数、姿态参数以及样本视频帧对应的相机参数。
[0152]
305、服务器将相机参数、形状参数以及姿态参数输入图像渲染模型,图像渲染模型用于渲染虚拟相机拍摄的图像。
[0153]
其中,图像渲染模型用于基于相机参数、形状参数以及姿态参数来确定渲染参数,基于渲染参数对虚拟相机拍摄的图像进行渲染,生成渲染图像。
[0154]
306、服务器通过图像渲染模型,基于虚拟相机的相机参数、形状参数和姿态参数,确定多个第一渲染参数。
[0155]
其中,第一渲染参数也即是用于渲染图像的参数。
[0156]
在一种可能的实施方式中,虚拟相机的相机参数包括虚拟相机的位置参数,服务器基于位置参数和虚拟相机对三维模型的视角,在第一虚拟空间中确定至少一条虚拟射线,虚拟射线为虚拟相机与第一目标图像上像素点的连线,第一虚拟空间为基于相机参数建立的虚拟空间。服务器基于至少一条虚拟射线上的多个第一采样点的坐标、形状参数以及姿态参数,确定多个第一渲染参数,第一采样点的坐标为第一采样点在第一虚拟空间中的坐标。
[0157]
在一些实施例中,连续的积分可以通过沿着相机光线在近平面和远平面之间采样
多个采样点的方式得到。
[0158]
为了对上述实施方式进行更加清楚的说明,下面将分为两个部分对上述实施方式进行说明。
[0159]
第一部分、对服务器基于位置参数和虚拟相机对三维模型的视角,在第一虚拟空间中确定至少一条虚拟射线的方法进行说明。
[0160]
在一种可能的实施方式中,位置参数为虚拟相机在第一虚拟空间中的坐标,服务器基于虚拟相机在第一虚拟空间中的坐标以及虚拟相机对三维模型的视角,在第一虚拟空间中确定第一目标图像,第一目标图像也即是三维模型在一个视角下的图像。服务器将虚拟相机的光心与第一目标图像上的至少一个像素点相连,得到至少一条虚拟射线。在一些实施例中,第一目标图像包括多个像素点,服务器也就能够得到多条虚拟射线,每条虚拟射线对应于观察三维模型的一条视线。
[0161]
第二部分、对服务器基于至少一条虚拟射线上的多个第一采样点的坐标、形状参数以及姿态参数,确定多个第一渲染参数的方法进行说明。
[0162]
在一种可能的实施方式中,服务器基于多个第一采样点的坐标、姿态参数以及参考姿态参数,将多个第一采样点变换到第二虚拟空间中,得到多个第二采样点,一个第一采样点对应一个第二采样点,参考姿态参数为第二虚拟空间对应的姿态参数,第二采样点的坐标为第二采样点在第二虚拟空间中的坐标。服务器基于多个第二采样点在第二虚拟空间中的坐标、形状参数以及姿态参数,确定多个第一渲染参数。
[0163]
其中,第一采样点是指在第一虚拟空间中的虚拟射线上的采样点,第一采样点的数量由技术人员根据实际情况见设置,本技术实施例对此不做限定。在一些实施例中,为了保障多个第一采样点对虚拟射线的代表性,服务器能够将虚拟射线平均分为多个部分,在每个部分上随机确定一个第一采样点,得到该虚拟射线上的多个第一采样点。由于第一采样点是服务器在虚拟射线上确定出来的,那么服务器也就能够基于虚拟射线的函数,确定多个第一采样点的坐标,虚拟射线的函数也即是虚拟相机的光心到第一目标图像上对应像素点之间的直线的函数。
[0164]
下面先对服务器将多个第一采样点变换为第二虚拟空间中的多个第二采样点的方法进行说明。
[0165]
在一种可能的实施方式中,对于一个第一采样点来说,服务器获取第一采样点的第一姿态变换矩阵和第二姿态变换矩阵,第一姿态变换矩阵为第一顶点从第一姿态变换为第二姿态的变换矩阵,第二姿态变换矩阵为第一顶点从第一姿态变换为第三姿态的变换矩阵,第一姿态为基准姿态,第二姿态为姿态参数对应的姿态,第三姿态为参考姿态参数对应的姿态,第一顶点为三维模型上与第一采样点之间的距离符合目标条件的顶点。服务器基于第一顶点对应的蒙皮权重、第一姿态变换矩阵以及第二姿态变换矩阵,得到第一采样点对应的第二采样点。
[0166]
其中,基准姿态为上述步骤304中描述的基准三维模型的姿态,第二姿态也即是样本对象的姿态,第三姿态为参考姿态参数对应的姿态,而参考姿态参数为第二虚拟空间对应的姿态参数,那么第三姿态参数也即是第二虚拟空间的标准三维模型对应的姿态参数。在一些实施例中,第二虚拟空间也被称为候选空间(canonical space)。
[0167]
举例来说,服务器通过下述公式(2)

(5)来将第一虚拟空间中的第一采样点变换
到第二虚拟空间中的第二采样点。
[0168][0169][0170][0171][0172]
其中,x为第一采样点的坐标,x0为第二采样点的坐标,为变换函数,θ
t
为第二姿态,θ0为第三姿态,m
j

t
)是指第一姿态变化矩阵,m
j
(θ0)是指第二姿态变化矩阵,v
j
是编号为j的第一顶点的坐标,是指与第一采样点距离最近的第一顶点的蒙皮权重,b
j
是指与第一采样点对应的编号为j第一顶点的蒙皮权重,ω
j
是指编号为j的第一顶点对应的变化权重,ω是指与第一采样点对应的多个第一顶点对应的变化权重和,n(x)是指与第一采样点对应的多个第一顶点的集合。在一些实施例中,考虑到一个顶点可能同时被不同身体部分的影响从而造成歧义或者无意义的运动,通过采用蒙皮权重来区分不同的身体部位,用来强调最近顶点的影响效果。
[0173]
下面对服务器基于多个第二采样点在第二虚拟空间中的坐标、形状参数以及姿态参数,确定多个第一渲染参数的方法进行说明。
[0174]
在一种可能的实施方式中,对于一个第二采样点,服务器将第二采样点在第二虚拟空间中的坐标、形状参数以及姿态参数进行拼接,得到第一参数集。服务器对第一参数集进行全连接处理,得到第一渲染参数。
[0175]
举例来说,服务器通过下述公式(6)来获取第一渲染参数。
[0176]
f(d(x,β
t
,θ
t
))=(c,σ)
ꢀꢀ
(6)
[0177]
其中,f为全连接函数,d(x,β
t
,θ
t
)为将第一采样点x的坐标变换为第二采样点x0的坐标的变换函数,(c,σ)为第一渲染参数,c为颜色参数,c=(r,g,b),σ为密度参数。
[0178]
在一些实施例中,上述确定第一渲染参数的方法也被称为神经辐射场(neural radiance fields,nerf)的方法。
[0179]
307、服务器通过图像渲染模型,基于多个第一渲染参数,对第一目标图像进行渲染,输出第一渲染图像,第一目标图像为虚拟相机对三维模型进行拍摄得到的图像。
[0180]
在一种可能的实施方式中,对于第一目标图像上的一个像素点,服务器基于像素点与虚拟相机之间的虚拟射线,以及像素点对应的第一渲染参数,确定像素点的颜色和不透明度。服务器基于颜色和不透明度,对像素点进行渲染,输出渲染后的像素点。
[0181]
举例来说,服务器在虚拟射线上,对第一关系数据进行积分,得到颜色,第一关系数据与颜色参数和密度参数相关联。服务器在虚拟射线上,对第二关系数据进行积分,得到不透明度,第二关系数据与密度参数相关联。比如,服务器通过公式(7)和公式(9)来得到颜
色,通过公式(8)和公式(9)来得到不透明度。
[0182][0183][0184][0185]
其中,为颜色,为不透明度,x
k
是第二采样点,c
t
为颜色参数,σ
t
为密度,t
k
是指射线达到x
k
处的概率,η
t
(x
k
)是一个先验的掩码用于提供几何的先验和处理变形过程中可能出现的歧义,δ
k
=||x
k+1

x
k
||,是相邻采样点之间的距离。
[0186]
在一些实施例中,服务器能够采用一个粗网络和一个细网络来分别确定像素点的颜色,其中,粗网络和细网络是根据第一采样点的数量确定的,对于同一条虚拟射线,服务器可以在该虚拟射线上确定不同数量的第一采样点,若服务器在该虚拟射线上确定了数量较多的第一采样点,那么数量较多的第一采样点能够用于构建细网络;若服务器在该虚拟射线上确定了数量较少的第一采样点,那么数量较少的第一采样点能够用于构建粗网络。后续服务器能够通过粗网络和细网络来对图像渲染模型进行训练。也即是,使用粗网络和细网络两个网络来表达样本对象。在实验中,对粗网络每条光线均匀采样64个点,对细网络根据粗网络的结果的密度分布再次采样64+16个点。对于每张第一目标图像随机采样1024条光线,前景部分采样80%的光线,而剩下的20%的光线在背景部分进行采样。实验中其他超参数的设置:|n(i)|=4,δ=0.2,λ1=0.001,λ2=0.01,λ
d
=0.1,所有实验中图片的分辨率为512
×
512。
[0187]
在一些实施例中,与三维模型距离较远的采样点对图像渲染的影响程度不高,在这种情况下,引入了一个加速模型训练的先验几何:对于距离身体表面较远的点的密度应该为零,该先验几何采用下述公式(10)和公式(11)来确定。
[0188]
η
t
(x
k
)=d(x
k
)≤δ
ꢀꢀ
(10)
[0189][0190]
其中,d(x
k
)是第一采样点x
k
与第一顶点之间的距离,δ是限制第一采样点到第一顶点的距离阀值。
[0191]
308、服务器基于样本视频帧和第一渲染图像之间的差异信息,对图像渲染模型进行训练。
[0192]
在一种可能的实施方式中,服务器基于样本视频帧和第一渲染图像之间的颜色差异信息,构建第一损失函数,采用第一损失函数来对图像渲染模型进行训练。
[0193]
举例来说,服务器基于粗网络确定出的颜色与样本视频帧的颜色之间的颜色差异信息,以及细网络确定出的颜色与样本视频帧的颜色之间的颜色差异信息来构建第一损失函数。比如,服务器通过下述公式(12)来构建第一损失函数。
[0194][0195]
其中,l
c
为第一损失函数,c
t
(r)为样本视频帧的颜色,为粗网络确定出的颜色,为细网络确定出的颜色。
[0196]
在一种可能的实施方式中,服务器对相邻样本视频帧的姿态参数进行正则化约束,以保证相邻样本视频帧之间的姿态参数尽可能接近,以及保证优化后的姿态参数和优化前的姿态参数相差不大。也即是,为了获得稳定和平滑的姿态参数,在图像渲染过程中增加了第二损失函数优化后的姿态参数和初始的参数不要像差太大以及相邻帧之间的姿态参数应该尽可能的相近,其中,优化后的姿态参数是指样本视频中多个样本视频帧的平均姿态参数。比如,服务器通过下述公式(13)来进行正则化约束。
[0197][0198]
其中,l
p
为第二损失函数,λ1和λ2为权重,为序号为t的样本视频帧优化后的姿态参数,θ
t
为序号为t的样本视频帧优化前的姿态参数,为序号为t+1的样本视频帧优化后的姿态参数。
[0199]
在一种可能的实施方式中,服务器基于样本视频帧和第一渲染图像之间的不透明度差异信息,构建第三损失函数,采用第三损失函数来对图像渲染模型进行训练。在一些实施例中,该实施方式也被称为背景正则化。
[0200]
举例来说,服务器基于粗网络确定出的不透明度与样本视频帧的不透明度之间的不透明度差异信息,以及细网络确定出的不透明度与样本视频帧的不透明度之间的不透明度差异信息来构建第三损失函数。比如,服务器通过下述公式(14)来构建第三损失函数。
[0201][0202]
其中,l
c
为第三损失函数,d
t
(r)为样本视频帧的不透明度,为粗网络确定出的不透明度,为细网络确定出的不透明度。
[0203]
在一种可能的实施方式中,服务器能够采用上述三个损失函数中的至少两个来对图像渲染模型进行训练,比如服务器同时采用三个损失函数来对图像渲染模型进行训练,也即是通过下述公式(15)来对图像渲染模型进行训练。
[0204]
l=l
c
+l
p

d
*l
d
ꢀꢀ
(15)
[0205]
其中,l为联合损失函数,λ
d
为权重。
[0206]
在实验过程中,在两个不同的数据集上做了实验:people

snapshot数据集和iper数据集包含真实场景下拍摄的目标人体保持a

pose转圈的单目视频。在实验中,从每个视频中均匀选取200帧图像训练,其中目标人物大概转1~2圈。
[0207]
下面将结合图4,度上述步骤301

308进行说明。
[0208]
参见图4,服务器获取样本视频帧401,基于样本视频帧401获取样本对象的姿态参数、形状参数以及样本视频帧对应的相机参数。服务器将样本对象的三维模型置于观察空
间402中,获取多条虚拟射线上第一采样点的坐标。服务器基于将第一采样点变换到候选空间403中,将样本对象的姿态参数、形状参数以及第二采样点的坐标输入图像渲染模型,基于样本对象的姿态参数、形状参数以及第二采样点的坐标输入图像渲染模型确定渲染参数,在一些实施例中,服务器基于神经辐射场的方法来确定渲染参数,神经辐射场的方法也即是基于多层感知机(mlp)来确定渲染参数。服务器基于渲染参数对第一目标图像进行渲染,得到第一渲染图像404。服务器基于样本视频帧401与第一渲染图像404之间的差异信息,对图像渲染模型进行训练。
[0209]
上述所有可选技术方案,可以采用任意结合形成本技术的可选实施例,在此不再一一赘述。
[0210]
通过本技术实施例提供的技术方案,在对图像渲染模型进行训练时,基于样本对象的形状参数和姿态参数对样本对象进行了三维重建,基于相机参数、形状参数以及姿态参数来确定渲染参数,在确定渲染参数时考虑了虚拟相机以及样本对象的影响,渲染参数与样本对象的三维模型更加匹配,基于渲染参数对第一目标图像进行渲染,得到第一渲染图像,基于第一渲染图像与样本视频帧之间的差异信息来训练图像渲染模型,这样得到的图像渲染模型具有更强的图像渲染能力。
[0211]
服务器通过上述步骤301

308对图像渲染模型进行训练之后,下面对使用图像渲染模型的方法进行说明,参见图5,方法包括:
[0212]
501、服务器基于目标姿态参数,对样本对象的三维模型进行姿态调整,得到姿态调整后的三维模型。
[0213]
其中,目标姿态参数也即是用户输入的姿态参数,目标姿态参数用于改变样本对象的姿态。
[0214]
在一种可能的实施方式中,服务器获取参考图像,参考图像包括目标对象。服务器基于参考图像对目标对象进行姿态估计,得到目标对象的目标姿态参数。服务器基于目标姿态参数,对样本对象的三维模型进行姿态调整,得到姿态调整后的三维模型。在一些实施例中,参考图像为用户通过终端上传至服务器的图像。在这种情况下,当用户想要将样本对象的姿态调整为目标对象的姿态时,只需将包含目标对象的参考图像上传至服务器,由服务器对参考图像进行姿态估计,基于目标对象的目标姿态参数对样本对象的三维模型进行调整即可。
[0215]
举例来说,服务器将参考图像输入第一参数提取模型,通过第一参数提取模型的卷积层对参考图像进行卷积处理,得到参考图像对应的参考图像特征。服务器通过第一参数提取模型的回归层对参考图像特征进行全连接处理,将该参考图像特征映射为目标对象的姿态参数。服务器将目标姿态参数输入样本对象的三维模型,通过目标姿态参数对样本对象的三维模型进行调整,得到姿态调整后的三维模型。
[0216]
在一种可能的实施方式中,终端向服务器上传目标姿态参数,服务器获取目标姿态参数。服务器基于目标姿态参数,对样本对象的三维模型进行姿态调整,得到姿态调整后的三维模型。在一些实施例中,参考图像为用户通过终端上传至服务器的图像。在这种情况下,当用户想要将样本对象的姿态调整为目标姿态参数对应的姿态时,只需将目标姿态参数上传至服务器,由服务器基于目标姿态参数进行后续处理即可。
[0217]
502、服务器将相机参数、形状参数以及目标姿态参数输入训练完毕的图像渲染模
型,基于相机参数、形状参数和目标姿态参数,确定多个第二渲染参数。
[0218]
其中,服务器确定第二渲染参数的方法与上述步骤306中服务器确定第一渲染参数的方法属于同一发明构思,实现过程参见上述步骤306的相关描述,在此不再赘述。
[0219]
503、服务器基于多个第二渲染参数,对第二目标图像进行渲染,输出第二渲染图像,第二目标图像为虚拟相机对姿态调整后的三维模型进行拍摄得到的图像。
[0220]
其中,服务器基于第二渲染参数对第二目标图像进行渲染的方法与上述步骤307中服务器基于第一渲染参数对第二目标图像进行渲染的方法属于同一发明构思,实现过程参见上述步骤307的相关描述,在此不再赘述。
[0221]
参见图6,是采用上述步骤501

503来改变样本对象的姿态,得到第二渲染图像的示意图。在图6中,601

603为三张样本视频帧,每个样本视频帧的后面衔接有多张第二渲染图像,每张第二渲染图像包括姿态调整后的样本对象。
[0222]
通过上述步骤501

503,当用户想要将样本对象的姿态调整为目标对象的姿态时,只需将包含目标对象的参考图像上传至服务器,由服务器对参考图像进行姿态估计,得到目标对象的目标姿态参数。服务器基于目标姿态参数对样本对象的三维模型进行姿态调整,得到姿态调整后的三维模型。服务器基于相机参数、目标姿态参数以及形状参数,就能够输出第二渲染图像。
[0223]
上述步骤501

503是服务器基于目标姿态参数对样本对象的三维模型进行姿态调整,输出第二渲染图像的方法,下面将对服务器基于目标形状参数对样本想的三维模型进行形状调整,输出第三渲染图像的方法进行说明。
[0224]
701、服务器基于目标形状参数,对样本对象的三维模型进行形状调整,得到形状调整后的三维模型。
[0225]
其中,目标形状参数也即是用户输入的形状参数,目标形状参数用于改变样本对象的形状。
[0226]
在一种可能的实施方式中,服务器获取参考图像,参考图像包括目标对象。服务器基于参考图像对目标对象进行形状估计,得到目标对象的目标形状参数。服务器基于目标形状参数,对样本对象的三维模型进行形状调整,得到形状调整后的三维模型。在一些实施例中,参考图像为用户通过终端上传至服务器的图像。在这种情况下,当用户想要将样本对象的形状调整为目标对象的形状时,只需将包含目标对象的参考图像上传至服务器,由服务器对参考图像进行形状估计,基于目标对象的目标形状参数对样本对象的三维模型进行调整即可。
[0227]
举例来说,服务器将参考图像输入第一参数提取模型,通过第一参数提取模型的卷积层对参考图像进行卷积处理,得到参考图像对应的参考图像特征。服务器通过第一参数提取模型的回归层对参考图像特征进行全连接处理,将该参考图像特征映射为目标对象的形状参数。服务器将目标形状参数输入样本对象的三维模型,通过目标形状参数对样本对象的三维模型进行调整,得到形状调整后的三维模型。
[0228]
在一种可能的实施方式中,终端向服务器上传目标形状参数,服务器获取目标形状参数。服务器基于目标形状参数,对样本对象的三维模型进行形状调整,得到形状调整后的三维模型。在一些实施例中,参考图像为用户通过终端上传至服务器的图像。在这种情况下,当用户想要将样本对象的形状调整为目标形状参数对应的形状时,只需将目标形状参
数上传至服务器,由服务器基于目标形状参数进行后续处理即可。
[0229]
702、服务器将相机参数、目标形状参数以及姿态参数输入训练完毕的图像渲染模型,基于相机参数、目标形状参数和姿态参数,确定多个第三渲染参数。
[0230]
其中,服务器确定第三渲染参数的方法与上述步骤306中服务器确定第一渲染参数的方法属于同一发明构思,实现过程参见上述步骤306的相关描述,在此不再赘述。
[0231]
703、服务器基于多个第三渲染参数,对第三目标图像进行渲染,输出第三渲染图像,第三目标图像为虚拟相机对姿态调整后的三维模型进行拍摄得到的图像。
[0232]
其中,服务器基于第三渲染参数对第三目标图像进行渲染的方法与上述步骤307中服务器基于第一渲染参数对第三目标图像进行渲染的方法属于同一发明构思,实现过程参见上述步骤307的相关描述,在此不再赘述。
[0233]
通过上述步骤701

703,当用户想要将样本对象的形状调整为目标对象的形状时,只需将包含目标对象的参考图像上传至服务器,由服务器对参考图像进行形状估计,得到目标对象的目标形状参数。服务器基于目标形状参数对样本对象的三维模型进行形状调整,得到形状调整后的三维模型。服务器基于相机参数、目标形状参数以及姿态参数,就能够输出第三渲染图像。
[0234]
本技术实施例提出一种基于smpl的姿态引导变形的策略去从单目视频动态场景中重建神经辐射场的方法,放松了对静态场景的要求并且很好的保留了像衣服和头发等细节信息。考虑到不准确的smpl参数的影响,提出联合优化smpl参数和神经辐射场的策略,极大地提高了三维重建的质量。实现了高质量的单目视频3d人体重建,并且能够从任何视角渲染得到高质量的图像。由于基于smpl的可控的几何变形,该方法可以合成新的动作用于动画驱动。
[0235]
上述步骤701

703是服务器基于目标姿态参数对样本对象的三维模型进行姿态调整,输出第二渲染图像的方法,下面将对服务器基于目标相机参数来输出不同角度的样本对象的方法进行说明。
[0236]
801、服务器将目标相机参数、姿态参数和目标形状参数输入训练完毕的图像渲染模型,基于姿态参数、形状参数和目标相机参数,确定多个第四渲染参数。
[0237]
其中,服务器确定第四渲染参数的方法与上述步骤306中服务器确定第一渲染参数的方法属于同一发明构思,实现过程参见上述步骤306的相关描述,在此不再赘述。
[0238]
802、服务器基于多个第四渲染参数,对第四目标图像进行渲染,输出第四渲染图像,第四目标图像为在目标相机参数下,虚拟相机拍摄三维模型得到的图像。
[0239]
其中,服务器基于第三渲染参数对第一目标图像进行渲染的方法与上述步骤307中服务器基于第一渲染参数对第一目标图像进行渲染的方法属于同一发明构思,实现过程参见上述步骤307的相关描述,在此不再赘述。
[0240]
在一些实施例中,改变相机参数之后,服务器能够基于marching cubes(等值面提取,mc)算法来提取不同角度的三维模型,参见图9,901

903为样本视频帧,样本视频帧后面的图像也即是对应样本对象在不同角度的三维模型。
[0241]
参见图10,示出了基于不同角度的三维模型生成的第四渲染图像,其中,1001

1006是样本视频帧,样本视频帧后方的也即是第四渲染图像。也即是,通过训练好的图像渲染模型,保持目标人体(样本对象)的姿态不变,从两不同的视角渲染得到的图像。从结果上
看,本技术实施例提供的图像渲染方法成功的从动态场景中重建出高质量的静态人体场景。
[0242]
通过上述步骤801

802,当用户想要获得样本对象在不同角度的渲染图像时,只需改变相机参数即可,效率较高。
[0243]
本技术实施例还提供了另一种图像渲染方法,参见图11,以执行主体为终端为例,方法包括:
[0244]
1101、终端显示目标视频帧,目标视频帧包括目标对象。
[0245]
其中,目标视频帧和目标对象的相关定义与上述样本视频帧和样本对象的定义相同,详细参见上述步骤301的相关描述,在此不再赘述。
[0246]
在一种可能的实施方式中,终端显示图像渲染界面,图像渲染界面上显示有目标视频选择控件。响应于对目标视频选择控件的点击操作,终端显示目标视频选择界面,目标视频选择界面中显示有多个目标视频的标识。响应于目标视频对应的标识被选中,终端在图像渲染界面上显示目标视频帧对应的目标视频帧。在一些实施例中,目标视频帧为目标视频帧的第一个视频帧。
[0247]
举例来说,参见图12,终端显示图像渲染界面1201,图像渲染界面上显示有目标视频选择控件1202。响应于对目标视频选择控件1202的点击操作,终端显示目标视频选择界面1203,目标视频选择界面中显示有多个目标视频的标识。响应于目标视频对应的标识1204被选中,终端在图像渲染界面1201上显示目标视频帧对应的目标视频帧1205。
[0248]
1102、响应于对目标对象的三维重建操作,终端显示目标对象的三维模型,三维模型是基于目标对象的形状参数和姿态参数生成的,形状参数和姿态参数是基于目标视频帧确定的。
[0249]
其中,目标对象的三维模型的生成方法与样本对象的生成方法属于同一发明构思,实现过程参见上述步骤302和303的相关描述,在此不再赘述。
[0250]
在一种可能的实施方式中,响应于对图像渲染界面上显示的三维重建控件的点击操作,终端向服务器发送三维模型获取请求,三维模型获取请求中携带有目标视频帧对应的目标视频。响应于接收到三维模型获取请求,获取从三维模型获取请求中获取目标视频。服务器基于目标视频,对目标对象进行三维重建,得到目标对象的三维模型。服务器将目标对象的三维模型发送给终端,由终端在图像渲染界面上显示目标对象的三维模型。
[0251]
举例来说,参见图13,响应于对图像渲染界面1301上显示的三维重建控件1302的点击操作,终端在图像渲染界面1301上显示目标对象的三维模型1303。
[0252]
在一些实施例中,终端在显示目标对象的三维模型时,还能够对三维模型的形状参数和姿态参数进行调整,以改变三维模型的形状和姿态,若对三维模型的形状参数和姿态参数进行了调整,那么相应的,终端也能够在图像渲染界面上显示基于调整后的形状参数和调整后的姿态参数生成的三维模型,后续能够基于调整后的形状参数和调整后的姿态参数来进行渲染。
[0253]
1103、响应于对三维模型的拍摄操作,终端显示第一目标图像,第一目标图像为虚拟相机对三维模型进行拍摄得到的图像。
[0254]
在一种可能的实施方式中,响应于对图像渲染界面上显示的拍摄控件的点击操作,终端控制虚拟相机对三维模型进行拍摄,得到第一目标图像。终端将第一目标图像显示
在图像渲染界面上。
[0255]
举例来说,参见图13,响应于对图像渲染界面1301上显示的拍摄控件1304的点击操作,终端在图像渲染界面1301上显示第一目标图像1305。
[0256]
在一些实施例中,终端控制虚拟相机对三维模型进行拍摄时,能够对虚拟相机拍摄三维模型的角度进行调整,以得到目标对象在不同角度的第一目标图像,后续对不同第一目标图像进行渲染,就能够得到目标对象在不同角度的渲染图像。
[0257]
1104、响应于对第一目标图像的渲染操作,终端显示第一渲染图像,第一渲染图像是通过训练完成的图像渲染模型,基于多个第一渲染参数对第一目标图像进行渲染得到的,多个第一渲染参数是通过图像渲染模型,基于虚拟相机的相机参数、形状参数以及姿态参数确定的,图像渲染模型用于渲染虚拟相机拍摄的图像。
[0258]
在一种可能的实施方式中,响应于对图像渲染界面上显示的渲染控件的点击操作,终端在图像渲染界面上显示第一渲染图像。
[0259]
举例来说,参见图13,响应于对图像渲染界面1301上显示的渲染控件1306的点击操作,终端在图像渲染界面1301上显示第一渲染图像1307。
[0260]
通过本技术实施例提供的技术方案,在生成第一渲染图像时,基于目标对象的形状参数和姿态参数对目标对象进行了三维重建,基于相机参数、形状参数以及姿态参数来确定渲染参数,在确定渲染参数时考虑了虚拟相机以及目标对象的影响,渲染参数与目标对象的三维模型更加匹配,基于渲染参数对第一目标图像进行渲染,得到第一渲染图像,图像渲染的效果更好。
[0261]
图14是本技术实施例提供的一种图像渲染装置的结构示意图,参见图14,装置包括:参数获取模块1401、三维重建模块1402、渲染模块1403以及训练模块1404。
[0262]
参数获取模块1401,用于基于样本视频帧,获取样本对象的形状参数和姿态参数,样本视频帧包括样本对象。
[0263]
三维重建模块1402,用于基于形状参数和姿态参数,对样本对象进行三维重建,得到样本对象的三维模型。
[0264]
渲染模块1403,用于通过图像渲染模型,基于虚拟相机的相机参数、形状参数以及姿态参数,确定多个第一渲染参数,虚拟相机的相机参数与拍摄样本视频帧的真实相机的相机参数相同;基于多个第一渲染参数,对第一目标图像进行渲染,输出第一渲染图像,第一目标图像为虚拟相机对三维模型进行拍摄得到的图像。
[0265]
训练模块1404,用于基于样本视频帧和第一渲染图像之间的差异信息,对图像渲染模型进行训练,图像渲染模型用于渲染虚拟相机拍摄的图像。
[0266]
在一种可能的实施方式中,三维重建模块1402用于通过形状参数对基准三维模型的形状进行调整,通过姿态参数对基准三维模型的姿态进行调整,得到样本对象的三维模型,基准三维模型是基于多个对象的形状参数和姿态参数训练得到的。
[0267]
在一种可能的实施方式中,参数获取模块1401,用于基于样本视频帧,对样本对象进行形状估计和姿态估计,得到样本对象的形状参数和姿态参数。
[0268]
在一种可能的实施方式中,装置还包括:
[0269]
区域确定模块,用于对样本视频帧进行图像分割,得到目标区域,目标区域为样本对象所在的区域。
[0270]
参数获取模块1401,用于对目标区域进行形状估计和姿态估计,得到样本对象的形状参数和姿态参数。
[0271]
在一种可能的实施方式中,基于参数获取模块1401,用于基于样本视频帧,对样本对象进行姿态估计,得到样本对象的姿态参数。基于样本视频中的多个视频帧,对样本对象进行形状估计,得到样本对象的多个参考形状参数,一个参考形状参数对应于一个视频帧,样本视频包括样本视频帧。基于多个参考形状参数,确定样本对象的形状参数。
[0272]
在一种可能的实施方式中,相机参数包括虚拟相机在第一虚拟空间中的位置参数,渲染模块1403,用于基于位置参数和虚拟相机对三维模型的视角,在第一虚拟空间中确定至少一条虚拟射线,虚拟射线为虚拟相机与第一目标图像上像素点的连线,第一虚拟空间为基于相机参数建立的虚拟空间。基于至少一条虚拟射线上的多个第一采样点的坐标、形状参数以及姿态参数,确定多个第一渲染参数,第一采样点的坐标为第一采样点在第一虚拟空间中的坐标。
[0273]
在一种可能的实施方式中,渲染模块1403,用于基于多个第一采样点的坐标、姿态参数以及参考姿态参数,将多个第一采样点变换到第二虚拟空间中,得到多个第二采样点,一个第一采样点对应一个第二采样点,参考姿态参数为第二虚拟空间对应的姿态参数,第二采样点的坐标为第二采样点在第二虚拟空间中的坐标。基于多个第二采样点在第二虚拟空间中的坐标、形状参数以及姿态参数,确定多个第一渲染参数。
[0274]
在一种可能的实施方式中,渲染模块1403,用于对于一个第一采样点,获取第一采样点的第一姿态变换矩阵和第二姿态变换矩阵,第一姿态变换矩阵为第一顶点从第一姿态变换为第二姿态的变换矩阵,第二姿态变换矩阵为第一顶点从第一姿态变换为第三姿态的变换矩阵,第一姿态为基准姿态,第二姿态为姿态参数对应的姿态,第三姿态为参考姿态参数对应的姿态,第一顶点为三维模型上与第一采样点之间的距离符合目标条件的顶点。基于第一顶点对应的蒙皮权重、第一姿态变换矩阵以及第二姿态变换矩阵,得到第一采样点对应的第二采样点。
[0275]
在一种可能的实施方式中,渲染模块1403,用于对于一个第二采样点,将第二采样点在第二虚拟空间中的坐标、形状参数以及姿态参数进行拼接,得到第一参数集。对第一参数集进行全连接处理,得到第一渲染参数。
[0276]
在一种可能的实施方式中,渲染模块1403,用于对于第一目标图像上的一个像素点,基于像素点与虚拟相机之间的虚拟射线,以及像素点对应的第一渲染参数,确定像素点的颜色和不透明度。基于颜色和不透明度,对像素点进行渲染,输出渲染后的像素点。
[0277]
在一种可能的实施方式中,第一渲染参数包括颜色参数和密度参数,渲染模块1403,用于在虚拟射线上,对第一关系数据进行积分,得到颜色,第一关系数据与颜色参数和密度参数相关联。在虚拟射线上,对第二关系数据进行积分,得到不透明度,第二关系数据与密度参数相关联。
[0278]
在一种可能的实施方式中,渲染模块1403还用于基于目标姿态参数,对样本对象的三维模型进行姿态调整,得到姿态调整后的三维模型。将相机参数、形状参数以及目标姿态参数输入训练完毕的图像渲染模型,基于相机参数、形状参数和目标姿态参数,确定多个第二渲染参数。基于多个第二渲染参数,对第二目标图像进行渲染,输出第二渲染图像,第二目标图像为虚拟相机对姿态调整后的三维模型进行拍摄得到的图像。
[0279]
在一种可能的实施方式中,装置还包括:
[0280]
相机参数获取模块,用于基于样本视频帧,获取相机参数。
[0281]
在一种可能的实施方式中,渲染模块1403还用于基于目标形状参数,对样本对象的三维模型进行形状调整,得到形状调整后的三维模型。将相机参数、姿态参数和目标形状参数输入训练完毕的图像渲染模型,基于相机参数、姿态参数和目标形状参数,确定多个第三渲染参数。基于多个第三渲染参数,对第三目标图像进行渲染,输出第三渲染图像,第三目标图像为虚拟相机对形状调整后的三维模型进行拍摄得到的图像。
[0282]
在一种可能的实施方式中,渲染模块1403还用于将目标相机参数、姿态参数和目标形状参数输入训练完毕的图像渲染模型,基于姿态参数、形状参数和目标相机参数,确定多个第四渲染参数。基于多个第四渲染参数,对第四目标图像进行渲染,输出第四渲染图像,第四目标图像为在目标相机参数下,虚拟相机拍摄三维模型得到的图像。
[0283]
通过本技术实施例提供的技术方案,在对图像渲染模型进行训练时,基于样本对象的形状参数和姿态参数对样本对象进行了三维重建,基于相机参数、形状参数以及姿态参数来确定渲染参数,在确定渲染参数时考虑了虚拟相机以及样本对象的影响,渲染参数与样本对象的三维模型更加匹配,基于渲染参数对第一目标图像进行渲染,得到第一渲染图像,基于第一渲染图像与样本视频帧之间的差异信息来训练图像渲染模型,这样得到的图像渲染模型具有更强的图像渲染能力。
[0284]
图15是本技术实施例提供的一种图像渲染装置的结构示意图,参见图15,装置包括:视频帧显示模块1501、三维模型显示模块1502、目标图像显示模块1503以及渲染图像显示模块1504。
[0285]
视频帧显示模块1501,用于显示目标视频帧,所述目标视频帧包括目标对象;
[0286]
三维模型显示模块1502,用于响应于对所述目标对象的三维重建操作,显示所述目标对象的三维模型,所述三维模型是基于所述目标对象的形状参数和姿态参数生成的,所述形状参数和所述姿态参数是基于所述目标视频帧确定的;
[0287]
目标图像显示模块1503,用于响应于对所述三维模型的拍摄操作,显示第一目标图像,所述第一目标图像为虚拟相机对所述三维模型进行拍摄得到的图像;
[0288]
渲染图像显示模块1504,用于响应于对所述第一目标图像的渲染操作,显示第一渲染图像,所述第一渲染图像是通过训练完成的图像渲染模型,基于多个第一渲染参数对所述第一目标图像进行渲染得到的,所述多个第一渲染参数是通过所述图像渲染模型,基于所述虚拟相机的相机参数、所述形状参数以及所述姿态参数确定的,图像渲染模型用于渲染虚拟相机拍摄的图像。
[0289]
通过本技术实施例提供的技术方案,在生成第一渲染图像时,基于目标对象的形状参数和姿态参数对目标对象进行了三维重建,基于相机参数、形状参数以及姿态参数来确定渲染参数,在确定渲染参数时考虑了虚拟相机以及目标对象的影响,渲染参数与目标对象的三维模型更加匹配,基于渲染参数对第一目标图像进行渲染,得到第一渲染图像,图像渲染的效果更好。
[0290]
本技术实施例提供了一种计算机设备,用于执行上述方法,该计算机设备可以实现为终端或者服务器,下面先对终端的结构进行介绍:
[0291]
图16是本技术实施例提供的一种终端的结构示意图。该终端1600可以是:智能手
机、平板电脑、笔记本电脑或台式电脑。终端1600还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
[0292]
通常,终端1600包括有:一个或多个处理器1601和一个或多个存储器1602。
[0293]
处理器1601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1601可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1601可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1601还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0294]
存储器1602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1602中的非暂态的计算机可读存储介质用于存储至少一个计算机程序,该至少一个计算机程序用于被处理器1601所执行以实现本技术中方法实施例提供的图像渲染方法。
[0295]
在一些实施例中,终端1600还可选包括有:外围设备接口1603和至少一个外围设备。处理器1601、存储器1602和外围设备接口1603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1603相连。具体地,外围设备包括:射频电路1604、显示屏1605、摄像头组件1606、音频电路1607、定位组件1608和电源1609中的至少一种。
[0296]
外围设备接口1603可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1601和存储器1602。在一些实施例中,处理器1601、存储器1602和外围设备接口1603被集成在同一芯片或电路板上;在一些其他实施例中,处理器1601、存储器1602和外围设备接口1603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0297]
射频电路1604用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路1604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1604包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。
[0298]
显示屏1605用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1605是触摸显示屏时,显示屏1605还具有采集在显示屏1605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1601进行处理。此时,显示屏1605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。
[0299]
摄像头组件1606用于采集图像或视频。可选地,摄像头组件1606包括前置摄像头
和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。
[0300]
音频电路1607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1601进行处理,或者输入至射频电路1604以实现语音通信。
[0301]
定位组件1608用于定位终端1600的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。
[0302]
电源1609用于为终端1600中的各个组件进行供电。电源1609可以是交流电、直流电、一次性电池或可充电电池。
[0303]
在一些实施例中,终端1600还包括有一个或多个传感器1610。该一个或多个传感器1610包括但不限于:加速度传感器1611、陀螺仪传感器1612、压力传感器1613、指纹传感器1614、光学传感器1615以及接近传感器1616。
[0304]
加速度传感器1611可以检测以终端1600建立的坐标系的三个坐标轴上的加速度大小。
[0305]
陀螺仪传感器1612可以终端1600的机体方向及转动角度,陀螺仪传感器1612可以与加速度传感器1611协同采集用户对终端1600的3d动作。
[0306]
压力传感器1613可以设置在终端1600的侧边框和/或显示屏1605的下层。当压力传感器1613设置在终端1600的侧边框时,可以检测用户对终端1600的握持信号,由处理器1601根据压力传感器1613采集的握持信号进行左右手识别或快捷操作。当压力传感器1613设置在显示屏1605的下层时,由处理器1601根据用户对显示屏1605的压力操作,实现对ui界面上的可操作性控件进行控制。
[0307]
指纹传感器1614用于采集用户的指纹,由处理器1601根据指纹传感器1614采集到的指纹识别用户的身份,或者,由指纹传感器1614根据采集到的指纹识别用户的身份。
[0308]
光学传感器1615用于采集环境光强度。在一个实施例中,处理器1601可以根据光学传感器1615采集的环境光强度,控制显示屏1605的显示亮度。
[0309]
接近传感器1616用于采集用户与终端1600的正面之间的距离。
[0310]
本领域技术人员可以理解,图16中示出的结构并不构成对终端1600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0311]
上述计算机设备还可以实现为服务器,下面对服务器的结构进行介绍:
[0312]
图17是本技术实施例提供的一种服务器的结构示意图,该服务器1700可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(central processing units,cpu)1701和一个或多个的存储器1702,其中,所述一个或多个存储器1702中存储有至少一条计算机程序,所述至少一条计算机程序由所述一个或多个处理器1701加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器1700还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器1700还可以包括其他用于实现设备功能的部件,在此不做赘述。
[0313]
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括计算机程序的存储器,上述计算机程序可由处理器执行以完成上述实施例中的图像渲染方法。例如,该计算机可读存储介质可以是只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、只读光盘(compact disc read

only memory,cd

rom)、磁带、软盘和
光数据存储设备等。
[0314]
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括程序代码,该程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该程序代码,处理器执行该程序代码,使得该计算机设备执行上述图像渲染方法。
[0315]
在一些实施例中,本技术实施例所涉及的计算机程序可被部署在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链系统。
[0316]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0317]
上述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1