图像生成方法、装置、电子设备和存储介质与流程

文档序号:31599395发布日期:2022-09-21 08:14阅读:105来源:国知局
图像生成方法、装置、电子设备和存储介质与流程

1.本公开涉及人工智能领域,具体涉及增强现实、虚拟现实、计算机视觉和深度学习等技术领域,可应用于元宇宙等场景。


背景技术:

2.随着计算机技术和网络技术的发展,深度学习技术在众多领域得到了广泛应用。例如,可以采用深度学习技术和神经渲染(neural rendering)技术对图像进行处理,以为增强现实或虚拟现实的实现提供条件。其中,神经渲染技术例如可以基于图像进行3d重建,还可以根据重建的3d模型渲染得到二维图像。


技术实现要素:

3.本公开旨在提供一种图像生成方法、装置、电子设备和存储介质,以基于神经渲染实现高质量的增强现实或虚拟现实。
4.根据本公开的一个方面,提供了一种图像生成方法,包括:获取第一空间中场景的场景图像及采集场景图像的视角信息;根据视角信息和针对目标对象的神经辐射场,生成针对视角信息的目标图像,目标图像包括目标对象,目标对象位于第二空间中;以及融合目标图像和场景图像,得到待显示图像。
5.根据本公开的另一个方面,提供了一种图像生成装置,包括:信息获取模块,用于获取第一空间中场景的场景图像及采集场景图像的视角信息;图像生成模块,用于根据视角信息和针对目标对象的神经辐射场,生成针对视角信息的目标图像,目标图像包括目标对象,目标对象位于第二空间中;以及图像融合模块,用于融合目标图像和场景图像,得到待显示图像。
6.根据本公开的另一个方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开提供的图像生成方法。
7.根据本公开的另一个方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开提供的图像生成方法。
8.根据本公开的另一个方面,提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令在被处理器执行时实现本公开提供的图像生成方法。
9.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
10.附图用于更好地理解本方案,不构成对本公开的限定。其中:
11.图1是根据本公开实施例的图像生成方法和装置的应用场景示意图;
12.图2是根据本公开实施例的图像生成方法的流程示意图;
13.图3是根据本公开实施例的融合目标图像和场景图像的原理示意图;
14.图4是根据本公开实施例的确定表面顶点的法向量的原理示意图;
15.图5是根据本公开实施例的构建神经辐射场的原理示意图;
16.图6是根据本公开实施例的图像生成方法的实现原理图;
17.图7是根据本公开实施例的图像生成装置的结构框图;以及
18.图8是用来实施本公开实施例的图像生成方法的电子设备的框图。
具体实施方式
19.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
20.以下先对本公开所采用的专业术语进行如下解释:
21.神经渲染,是深度网络合成图像的各类方法的总称,各类神经渲染的目标是实现图像渲染中建模和渲染的全部或部分的功能。
22.神经辐射场:neural radiance fields,简称为nerf,是一种利用多目图像重建三维场景的技术。nerf使用一组多目图,通过优化一个潜在连续的体素场景方程来得到一个完整的三维场景。具体地,基于nerf的渲染首先根据场景不同视角的图像学习到场景表征,再由表征生成任意指定角度的图像,该nerf支持视频合成。
23.图像渲染,是将三维的光能传递处理转换为一个二维图像的过程。图像渲染中要完成的工作为:对三维模型几何变换、投影变换、透视变换和窗口剪裁,再根据获取的材质与光影信息,生成图像。
24.基于多分辨率哈希编码的即时神经图形基元技术,instant neural graphics primitives with a multiresolution hash encoding,简称为instant-ngp,该技术主要用于解决nerf在对全连接神经网络进行参数化时的效率问题。该技术提出一种编码方式,可以使用一个较小规模的网络来实现nerf同时不会产生精度的损失。该较小规模的网络由特征向量的多分辨率哈希表实现增强,基于随机梯度下降执行优化。该技术可以将renf的训练以小时计的时间开销提升到秒级。
25.法向量,空间解析几何的一个概念,垂直于平面的直线所表示的向量为该平面的法向量。
26.mesh,是多边形网格,是计算机图形学中用于对各种不规则物体建模的一种数据结构,在多边形网格的面片中三角面片是被分割的最小单位,因三角面片表示比较简单、灵活且拓扑描述方便,所以被广泛使用,mesh常常指代三角面片。
27.以下将结合图1对本公开提供的方法和装置的应用场景进行描述。
28.图1是根据本公开实施例的图像生成方法和装置的应用场景示意图。
29.如图1所示,该实施例的应用场景100可以包括电子设备110、位于第一空间的摄像设备120和位于第二空间的相机阵列130。
30.第一空间中例如可以搭建有舞台140等作为场景的设施。摄像设备120用于采集舞台140的视频帧101。
31.第二空间中例如可以包括有目标对象150,该目标对象例如可以为能够移动的对象,例如可以为人、宠物、车辆等。相机阵列130可以围绕着目标对象150设置,以从不同视角采集目标对象150的图像,得到目标对象的多个视角下的图像构成的图像序列102。
32.电子设备110可以为具有处理功能的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机和服务器等等。该电子设备110例如可以与相机阵列130和摄像设备120通信连接,以获取相机阵列130采集的图像序列102和摄像设备120采集的视频帧101。其中,网络例如可以包括有线或无线通信链路。
33.电子设备110例如可以将视频帧101及图像序列102中与视频帧101的视角相匹配的图像进行融合,得到融合后图像103。该融合后图像103例如可以作为待显示图像传输到应用服务器,以供终端用户随时调取观看。
34.在一实施例中,考虑到相机阵列采集的图像中通常不包括与视频帧的视角相匹配的图像,则电子设备110例如可以基于图像序列102学习目标对象的三维隐式表征,并基于该三维隐式表征和摄像设备120的姿态信息生成与视频帧的视角匹配的目标对象的图像。随后再将生成的图像与视频帧101进行融合。
35.例如,电子设备110例如可以采用神经渲染的方式来生成与视频帧的视角匹配的目标对象的图像。该神经渲染的方式的实现例如可以依赖于神经辐射场来构建目标对象的三维隐式表征。
36.需要说明的是,本公开提供的图像生成方法可以由电子设备110执行。相应地,本公开提供的图像生成装置可以设置在电子设备110中。
37.应该理解,图1中的电子设备110、摄像设备120和相机阵列130的类型仅仅是示意性的。根据实现需要,可以具有任意类型的电子设备110、摄像设备120和相机阵列130。
38.以下将结合图2~图6对本公开提供的图像生成方法进行详细描述。
39.图2是根据本公开实施例的图像生成方法的流程示意图。
40.如图2所示,该实施例的图像生成方法200可以包括操作s210~操作s230。
41.在操作s210,获取第一空间中场景的场景图像及采集该场景图像的视角信息。
42.根据本公开的实施例,第一空间例如可以为实际的物理空间,也可以为任意的虚拟空间。第一空间中的场景例如可以为前述的舞台场景,场景图像可以为上文描述的摄像设备所采集视频中的任一视频帧。
43.其中,视角信息例如可以为摄像设备采集该任一视频帧时的位姿信息。该位姿信息至少包括摄像设备的位置和摄像设备的俯仰角、横滚角和偏航角。
44.在操作s220,根据视角信息和针对目标对象的神经辐射场,生成针对视角信息的目标图像。
45.根据本公开的实施例,针对目标对象的神经辐射场例如可以根据上文描述的相机阵列所采集的图像序列训练得到。该操作s220可以根据训练得到的神经辐射场输出的点云数据和视角信息,采用体素渲染技术生成针对视角信息的目标对象的目标图像。如此,可以将目标图像和场景图像视为在相同位姿下拍摄得到的图像。
46.根据本公开的实施例,训练神经辐射场的方法详见下文描述,在此不再赘述。需要说明的是,训练神经辐射场所依赖的图像序列的采集时刻与场景图像的采集时刻近似为同一时刻。
47.根据本公开的实施例,神经辐射场输出的点云数据例如可以包括目标对象的多个表面点的颜色数据和体素密度。该点云数据可以表示目标对象的体素模型。体素渲染技术可以通过以视角信息表示的视角来观察体素模型,并通过对视角发射的光线进行追踪累加,从而得到该视角信息表示的视角下的渲染图像。
48.在操作s230,融合目标图像和场景图像,得到待显示图像。
49.若设定目标图像和场景图像的尺寸相同,则该实施例可以直接根据目标图像中各像素的透明度,对目标图像和场景图像中相应像素的像素值进行加权,从而得到待显示图像。其中,目标图像中各像素的透明度例如可以根据点云数据中与各像素对应的表面点的体素密度确定。例如,体素密度可以简单地理解为透明度,则点云数据中与各像素对应的表面点的体素密度即为该各像素的透明度。
50.若目标图像和场景图像的尺寸不同,该实施例可以根据预先设定的目标对象在场景中的位置,确定场景图像中与目标图像对应的像素区域。随后根据目标图像中各像素的透明度,对目标图像和对应的像素区域中相应像素的像素值进行加权,使用加权得到的像素值更新对应的像素区域的像素值,并保留场景图像中除对应的像素区域外其他区域的像素值,从而达到待显示图像。
51.例如,设定目标图像中某个像素的透明度为a,像素值为(r1、g1、b1),场景图像中该某个像素对应位置处的像素的像素值为(r2、g2、b2),则待显示图像中对应像素的像素值中,r=a*r1+(1-a)*r2,g=a*g1+(1-a)*g2,b=a*b1+(1-a)*b2。
52.通过本公开实施例的图像生成方法,可以将第二空间中的目标对象的实时图像叠加至第一空间中现场场景的场景图像中,而无需第二空间中的目标对象移动至第一空间中。通过实时地执行本公开提供的图像生成方法,并对实时得到的待显示图像进行推流,可以将不在现场的目标对象的一举一动均投射到场景画面上,可以给观看待显示图像的用户提供目标对象位于现场场景中进行直播的感受,达到增强现实的效果,并降低直播的条件要求。再者,由于本公开实施例的图像生成方法基于神经辐射场来生成目标图像,可以实现基于神经渲染的增强现实,并因此提高得到的增强现实画面的逼真度,提高用户体验。
53.根据本公开的实施例,在融合目标图像和场景图像时,例如可以先根据场景图像来确定场景中的环境光信息,随后根据该环境光信息对目标图像进行调整,并对调整后的目标图像和场景图像进行融合。如此,可以使得得到的待显示图像中所呈现的目标对象的颜色等更为贴合场景,从而提高待显示图像的逼真度。
54.在一实施例中,可以先根据场景图像和目标对象的三维对象模型的表面顶点的法向量,确定针对目标对象的辐射亮度信息。随后根据该辐射亮度信息调整目标图像,得到调整后图像。最后,融合调整后图像和场景图像,得到待显示图像。
55.例如,该实施例可以根据场景图像中各像素的位置及各像素的深度信息,确定在空间坐标系中与场景图像中各像素相对应的空间三维点,并将该空间三维点作为针对目标对象的环境光的光源,基于该环境光的光源来辐射亮度信息。其中,辐射亮度信息具体可以为辐射亮度值。例如,可以采用光线追踪算法确定光源的出射光线中射入三维对象模型中每个表面顶点的光线,随后根据该光线与每个表面顶点的法向量之间的夹角以及光源的颜色数据,确定该每个表面顶点反射的光照值,并将该光照值作为针对该每个表面顶点的辐射亮度信息。
56.其中,针对目标对象的神经辐射场输出的点云数据可以对目标对象进行隐式三维表达,例如可以表达目标对象的形状、纹理、材质等信息。该点云数据例如可以包括目标对象的多个表面顶点的颜色数据、体积密度、纹理信息和位置信息等。多个表面顶点的位置例如可以由多个表面顶点在世界坐标系下的坐标值来表示。
57.生成的三维对象模型可以理解为场景的显式三维模型,三维对象模型指能够反映目标对象的表面特征且能够对目标对象进行显式三维表示的mesh模型。三维对象模型包括目标对象的表面点及每个表面点的空间坐标和颜色数据。目标对象的表面点可以形成三维对象模型中的三角面和表面顶点。具体地,该三维对象模型可以包括多个三角面和多个表面顶点,表面顶点的属性信息包括表面顶点的空间坐标、颜色数据、材质数据以及其他纹理信息等。三角面上除作为顶点的表面顶点之外的其他表面点的空间坐标和颜色数据可由其所属三角面上的三个顶点的空间坐标和颜色数据进行差值计算得到。
58.根据本公开的实施例,可以根据点云数据,采用等值面提取(marching cubes,mc)算法来生成目标对象的三维对象模型。例如,该实施例可以先根据多张不同视角下的对象图像的图像特征,确定场景对应的空间范围。随后基于空间范围和点云数据生成目标对象的三维对象模型。其中,可以采用运动恢复结构(structure from motion,sfm)算法处理图像特征,从而估计出目标对象对应的稀疏3d点位置,从而基于该稀疏3d点位置确定目标对象在世界坐标系中的空间范围。该实施例可以对空间范围在长宽高三个维度上分别进行采样,从而得到多个目标空间点。相邻8个目标空间点可以形成一个体积元素。神经辐射场输出的点云数据可以包括该多个目标空间点的颜色数据和体积密度。基于每个体积元素包含的目标空间点的体积密度,利用marching cubes算法可以逐个处理体积元素,分离出与等值面相交的体素,采用插值计算出等值面与体积元素的边的交点。随后根据体积元素每一顶点与等值面的相对位置,将等值面与体积元素的边的交点按一定方式连接生成三角面,作为等值面在该体积元素内的一个逼近表示。在得到所有三角面之后,通过将这些三角面相互衔接,并根据点云数据为三角面上每个表面顶点添加颜色数据,即可得到三维对象模型。可以理解的是,上述生成三维对象模型的方法仅作为示例以利于理解本公开,本公开对此不做限定。
59.该实施例可以将确定的针对三维对象模型中每个表面顶点的辐射亮度信息作为调节系数,调节目标图像中与三维对象模型中的每个表面顶点相对应像素点的像素值,从而得到调整后图像。随后,可以采用如上文描述的融合目标图像和场景图像的方法类似的方法,来融合调整后图像和场景图像,从而达到待显示图像。
60.图3是根据本公开实施例的融合目标图像和场景图像的原理示意图。
61.根据本公开的实施例,例如可以采用球谐光照技术来还原目标对象的每个表面点的辐射亮度信息。其中,球谐光照实际上是将周围的环境光采样成几个系数,然后渲染的时候用这几个系数来对光照进行还原,这种过程可以看做是对周围环境光的简化,从而简化计算过程。
62.其中,实现球谐光照需要两个部分的参数,一个是法向量,另一个是球谐光照参数。其中,法向量可以理解为上文描述的目标对象模型中表面顶点的法向量。球谐光照参数例如可以通过对以在空间坐标系中与场景图像中各像素相对应的空间三维点作为光源的环境光进行采样和积分运算而得到。
63.如图3所示,在一实施例300中,例如可以采用预定神经网络310来对场景图像301进行处理,从而得到针对场景的球谐光照参数302。以期提高得到的球谐光照参数的精度,从而提高调整后图像的保真度。
64.其中,预定神经网络310例如可以用于通过根据在环境光照射下采集的场景不同视角的图像数据训练得到。例如,可以先根据场景不同视角的图像数据构建场景的三维几何模型。随后,获取多组基于三维几何模型的采样数据作为训练数据,采样数据包括三维几何模型中像素点的位置数据和入射光照数据,以及作为真值的像素点的反射光照数据。该预定神经网络310用于预测场景在任一视角下的反射光照数据,该实施例可以将预定神经网络预测的反射光照数据作为球谐光照参数。
65.根据本公开的实施例,在得到训练好的预定神经网络后,可以根据场景图像中像素点的位置、深度和角度信息(通过光线追踪可以得到入射光照数据),采用预定神经网络来预测得到与场景图像相对应的球谐光照参数。
66.其中,预定神经网络例如可以由全连接网络构成,两个全连接网络分支分别用于对像素点的位置和入射光照数据进行处理,该两个全连接网络分支的输出作为后续全连接网络的输入,由后续全连接网络输出球谐光照参数。可以理解的是,该预定神经网络的结构仅作为示例以利于理解本公开,本公开对此不做限定。
67.如图3所示,该实施例在采用预定神经网络310确定球谐光照参数302的同时,还可以采用如上文描述的构建三维对象模型的方法类似的方法,根据针对目标对象的神经辐射场所输出的点云数据303构建目标对象的三维对象模型304。在得到三维对象模型304后,可以确定三维对象模型304上每个表面顶点的法向量305。该法向量例如可以采用下文描述的原理确定,在此不再详述。
68.在得到实现球谐光照需要两个部分的参数:法向量305和球谐光照参数302后,即可采用球谐函数320来计算针对目标对象的辐射亮度信息306。其中,球谐函数320及计算得到辐射亮度信息的方法具体可参见相关技术中球谐光照的实现原理。
69.图4是根据本公开实施例的确定表面顶点的法向量的原理示意图。
70.如图4所示,在实施例400所呈现的三角网格模型中,表面顶点401为六个三角网格410~460的共同顶点。在确定表面顶点401的法向量时,该实施例400可以先确定六个三角网格410~460中每个三角网格的法向量,最后,将六个三角网格的法向量单位化后所得到的六个单位化向量的均值,作为该表面顶点401的法向量。
71.其中,针对六个三角网格410~460中的每个三角网格,可以根据该每个三角网格的三个顶点的坐标值,来确定该每个三角网格的法向量。例如,对于三角网格440,三角网格440的三个顶点分别为点a、点b和点c,在确定点c的法向量时,计算得到的三角网格440的法向量可以由(a-c)所表示向量与由(b-c)所表示向量之间的叉乘结果表示。其中,(a-c)所表示向量即为a点的坐标值与c点的坐标值相减所得到的向量。
72.根据本公开的实施例,在根据针对目标对象的神经辐射场生成目标图像之前,可以先构建针对目标对象的神经辐射场。
73.根据本公开的实施例,神经辐射场可以是根据目标对象的多个视角的图像及该多个视角构建的。例如,可以采用图像采集设备采集目标对象的多个视角下的图像,得到多个视角图像,并建立得到的视角图像与采集视角所对应的相机位姿之间的映射关系,得到针
对多个视角的多个映射关系。该实施例可以根据该多个映射关系来构建针对目标对象的神经辐射场。
74.例如,该实施例在构建针对目标对象的神经辐射场时,可以先根据每个映射关系中的相机位姿,对该每个映射关系中的图像进行采样,根据采样得到的图像中像素点的位置及该像素点的深度可以得到一个三维采样点。例如可以针对每个映射关系得到多个三维采样点,该多个三维采样点可以构成针对一个视角图像的一组三维采样点。其中,相机位姿例如可以由相机的俯仰角、横滚角和偏航角来表示,每个采样点可以由该每个采样点在世界坐标系中的坐标值来表示。如此,该实施例可以根据针对多个视角图像的多组三维采样点和与多个视角图像分别具有映射关系的多个相机位姿来构建神经辐射场。
75.具体地,该实施例可以根据多组三维采样点的坐标值和多个相机位姿信息构建训练数据,得到多个训练数据。每个训练数据包括多组数据,每组数据包括一个三维采样点的坐标值和对应的一个相机位姿信息。每个训练数据中多组数据包括的相机位姿信息相同。相机位姿信息可以包括上文描述的俯仰角的角度、横滚角的角度和偏航角的角度,该相机位姿信息可以作为视角信息。例如,设定一个采样点的坐标值可以表示为(x,y,z),相机位姿信息可以表示为(pitch,roll,yaw),则一组数据可以表示为(x,y,z,pitch,roll,yaw)。该实施例可以将多个训练数据输入初始神经辐射场,由初始神经辐射场输出点云数据,点云数据例如可以包括颜色数据和体积密度。随后根据该颜色数据和体积密度,利用体素渲染技术可以得到与训练数据中的多个相机位置信息对应的多个视角的图像。随后,该实施例可以根据通过体素渲染技术得到的多个视角的图像分别与多个视角下采集的场景图像进行比较,从而确定初始神经辐射场的损失。以最小化损失为目标调整初始神经辐射场的网络参数,完成一个轮次的训练。该实施例可以对神经辐射场进行多个轮次的训练,直至损失收敛,并将完成多个轮次训练后得到的神经辐射场作为针对场景的神经辐射场。其中,初始神经辐射场中的网络参数可以根据经验设定。
76.根据本公开的实施例,神经辐射场例如可以由若干层(例如10层)的全连接神经网络构成,其中,前8层全连接神经网络的输入为三维采样点的坐标值,输出为该三维采样点的体积密度和一个中间特征向量。将该中间特征向量和相机位姿信息拼接后输入最后2层的全连接神经网络,该最后2层的全连接神经网络输出的数据即为该三维采样点在相机位姿信息对应的视角下的颜色数据。可以理解的是,该神经辐射场的结构仅作为示例以利于理解本公开,本公开对此不做限定。
77.图5是根据本公开实施例的构建神经辐射场的原理示意图。
78.在一实施例中,相机位姿信息例如可以根据采集的场景图像来确定,而非直接获取,以此可以降低对采集场景图像的图像采集设备的硬件要求,并提高确定的相机位姿信息的精度。
79.例如,如图5所示,在实施例500中,若采集得到场景图像511~场景图像51n共计n个视角图像,该实施例可以先根据该n个视角图像中在两个相邻位置上采集的两个视角图像,确定针对n个视角图像的n个相机位姿信息。
80.例如,该实施例可以采用slam技术来更加准确计算每个视角图像对应的相机位姿。具体的,slam计算在计算相机位姿时,首先提取每个视角图像的特征点,接着,建立相邻两个视角图像的特征点之间的匹配关系,根据相邻两个视角图像的特征点之间的匹配关系
计算相邻两个视角图像之间的相对相机位姿。根据两个视角图像之间的相对相机位姿计算每个视角图像对应的相机位姿。例如,针对视角图像511,提取得到的特征点为第一特征点521,确定的相机位姿为第一相机位姿531。针对视角图像51n,提取得到的特征点为第n特征点52n,确定的相机位姿为第n相机位姿53n。可以理解的是,在采用slam技术确定针对n个视角图像的相机位姿之前,可以预先得到相机的初始位姿。相邻两个视角图像即指在两个相邻位置采集得到的两个视角图像。
81.根据本公开的实施例,可以采用类似于light stage的相机阵列来采集多个视角图像。再者,在布置相机阵列时,可以将相机阵列中的相邻两个相机较为紧密的排列,以使得相邻两个相机的采集视野具有一定的重合率,以此利于神经辐射场学习到更为准确的隐式三维模型。例如,对于在采集的多个视角图像中在两个相邻位置采集的两个视角图像,该两个视角图像的两个视野之间的重合率大于等于重合率下限值。该下限值例如可以为30%等根据实际需求设定的值。在该实施例中,为了避免因视野重合率过高而带来的非必要的资源浪费,还可以为两个视野之间的重合率设置预定上限值,即两个视野之间的重合率应小于等于预定上限值。该预定上限值例如可以为80%等根据实际需求设定的值,本公开对此不做限定。
82.其中,light stage时由多相机和多光源构成的设备,是用于高精度建模以及重打光的数据采集设备。
83.根据本公开的实施例,在采用slam技术确定每个视角图像的相机位姿信息时,例如可以先采用深度特征提取(deep feature extractor)算法来提取每个视角图像的特征图,以期构建在两个相邻位置上采集的两个视角图像之间更加稠密可靠的特征点的映射关系,利于提高确定的相机位姿的精度,并利于提高神经辐射场的精度,提高渲染的精细度。在得到每个视角图像的特征图后,slam技术例如可以基于在两个相邻位置上采集的两个视角图像的两个特征图来建立两个视角图像的特征点之间的匹配关系。
84.其中,深度特征提取算法例如可以采用卷积神经网络vgg 16模型或者vgg 19模型等,本公开对此不做限定。
85.根据本公开的实施例,如图5所示,在得到n个视角图像的n个相机位姿后,该实施例可以采用如上文描述的方法构建训练数据,得到训练数据541~训练数据54n等至少n个训练数据。随后,根据至少n个训练数据,采用上文描述的方法训练初始神经辐射场550,得到针对目标对象的神经辐射场。
86.根据本公开的实施例,在训练初始神经辐射场时,例如可以以上文描述的多组三维采样点和多个相机位姿信息作为训练数据,即基于n个训练数据,采用instant-ngp技术来对初始神经辐射场进行训练,以大幅减少训练神经辐射场所需的时长。
87.例如,计算机图形基元(computer graphics primitives)可以由参数化外观(parameterize appearance)的数学函数表示。数学表示的质量和性能特征对于视觉保真度至关重要。instant-ngp技术希望该数学函数的表示能够保持快速和紧凑,同时捕获高频和局部的细节。由多层感知器(mlps)表示的函数,用作神经图形基元,已证明符合这些标准(不同程度)。instant-ngp技术的重要点是将神经辐射场的输入映射到高维空间的编码,这是从紧凑模型中提取近似高质量的关键。这些编码中最理想的数据是可训练的、针对特定任务的数据,该些数据承担了很大一部分的学习任务,这使得可以使用更小、更高效的mlps
成为可能。然而,该些数据依赖于启发式和结构修改(如剪枝、分裂或合并),这可能会使训练过程复杂化,若将训练方法限制为特定的任务,可能会限制图形处理器的性能。这是因为控制流(control flow)和指针追逐(pointer chasing)非常昂贵。instant-ngp技术通过多分辨率哈希编码(multiresolution hash encoding)来解决这些问题,如此,该技术是自适应的和高效的,独立的任务。该技术只由两个值配置——参数的数量t和预期的最佳分辨率。与任务无关的自适应性和效率的关键是哈希表的多分辨率层次结构(multiresolution hierarchy)。
88.其中,为了实现自适应,instant-ngp技术将一串网格映射到相应的固定大小的特征向量数组。在粗分辨率下,从网格点到数组条目有一个1:1的映射。在精细分辨率下,数组被视为一个哈希表,并使用空间哈希函数进行索引,其中多个网格点为每个数组条目起别名。这种哈希碰撞导致碰撞训练梯度达到平均水平,这意味着最大的梯度(例如那些与损失函数最相关的梯度)将占主导地位。因此,哈希表自动对具有最重要精细细节的稀疏区域进行优先考虑。与之前的工作不同,在训练期间的任何时候都不需要对数据结构进行结构性更新。
89.其中,为了实现高效性,instant-ngp技术的哈希表查找的复杂度是o(1)的,不需要控制流。这可以很好地映射到图形处理器,避免了树形遍历中固有的执行分歧和串行指针追逐(serial pointer-chasing),从而可以并行查询所有分辨率的哈希表。
90.根据本公开的实施例,在得到针对目标对象的神经辐射场后,可以根据神经辐射场输出的点云数据来构建得到目标对象的三维对象模型。在构建得到三维对象模型后,即可根据任意视角的虚拟光源的信息来渲染得到该任意视角下的目标图像。
91.示例性地,在图像生成的过程中,该实施例还可以基于相机阵列实时采集的图像序列来对针对目标对象的神经辐射场进行更新,更新原理与训练原理类似,以实时地更新执行不同动作时的目标对象的点云数据,达到目标对象位于场景中的增强现实效果。
92.图6是根据本公开实施例的图像生成方法的实现原理图。
93.根据本公开的实施例,如图6所示,在实施例600中执行图像生成方法时,相机阵列可以采集第一空间610中目标人物的多个视角的图像,得到图像序列601。同时,摄像设备可以采集第二空间620中舞台的视频数据,得到场景画面602。摄像设备例如还可以将其采集场景画面602的视角信息发送给电子设备。
94.电子设备在得到图像序列601后,例如可以构建针对目标人物的神经辐射场,或者通过操作s601实时更新针对目标任务的神经辐射场。该电子设备还可以结合得到的视角信息和更新的神经辐射场采用神经渲染的方法得到针对视角信息的目标图像603。随后,电子设备可以对目标图像603和接收到的场景画面602进行融合,从而得到增强现实画面604,并将增强现实画面604作为推流的数据输出。
95.基于该实施例的图像生成方法,可以利用两个不同空间的舞台和目标人物,进行增强现实图像的实时推流,达到目标人物在舞台上演出的效果,利用降低直播成本,可以为电视和直播行业提供新的产能。
96.基于本公开提供的图像生成方法,本公开还提供了一种图像生成装置,以下将结合图7对该装置进行详细描述。
97.图7是根据本公开实施例的图像生成装置的结构框图。
98.如图7所示,该实施例的图像生成装置700可以包括信息获取模块710、图像生成模块720和图像融合模块730。
99.信息获取模块710用于获取第一空间中场景的场景图像及采集场景图像的视角信息。在一实施例中,信息获取模块710可以用于执行上文描述的操作s210,在此不再赘述。
100.图像生成模块720用于根据视角信息和针对目标对象的神经辐射场,生成针对视角信息的目标图像,目标图像包括目标对象,目标对象位于第二空间中。在一实施例中,图像生成模块720可以用于执行上文描述的操作s220,在此不再赘述。
101.图像融合模块730用于融合目标图像和场景图像,得到待显示图像。在一实施例中,图像融合模块730可以用于执行上文描述的操作s230,在此不再赘述。
102.根据本公开的实施例,上述图像融合模块730可以包括:模型生成子模块,用于根据针对目标对象的神经辐射场输出的点云数据,生成针对目标对象的三维对象模型;其中,三维对象模型为由多个多边形网格拼接形成的面片模型;多个多边形网格的顶点构成三维对象模型的表面顶点;亮度确定子模块,用于根据场景图像和三维对象模型的表面顶点的法向量,确定针对目标对象的辐射亮度信息;图像调整子模块,用于根据辐射亮度信息调整目标图像,得到调整后图像;以及融合子模块,用于融合调整后图像和场景图像,得到待显示图像。
103.根据本公开的实施例,亮度确定子模块可以包括:参数获得单元,用于采用预定神经网络对场景图像进行处理,得到针对场景的球谐光照参数;以及亮度确定单元,用于根据球谐光照参数和三维对象模型的表面顶点的法向量,采用球谐函数确定针对目标对象的辐射亮度信息。
104.根据本公开的实施例,上述图像生成装置700还可以包括辐射场构建模块,用于根据针对多个预定视角的目标对象的多个视角图像,构建针对目标对象的神经辐射场。该辐射场构建模块可以包括:位姿确定子模块,用于响应于获取到多个视角图像,确定针对多个视角图像中每个视角图像的相机位姿信息;以及辐射场构建子模块,用于根据多个视角图像和针对多个视角图像的多个相机位姿信息,构建针对目标对象的神经辐射场。
105.根据本公开的实施例,位姿确定子模块可以包括:特征提取单元,用于采用深度特征提取算法提取每个视角图像的特征图;以及位姿确定单元,用于根据多个视角图像中在两个相邻位置上采集的两个视角图像的两个特征图之间的映射关系,确定针对每个视角图像的相机位姿信息。
106.根据本公开的实施例,辐射场构建子模块可以包括:采样单元,用于针对每个视角图像,根据针对每个视角图像的相机位姿信息对每个视角图像进行采样,得到针对每个视角图像的一组三维采样点;以及训练单元,用于以针对多个视角图像的多组三维采样点和多个相机位姿信息作为训练数据训练初始神经辐射场,得到针对目标对象的神经辐射场。
107.根据本公开的实施例,训练单元具体可以用于:以多组三维采样点和多个相机位姿信息作为训练数据,采用基于多分辨率哈希编码的即时神经图形基元技术对初始神经辐射场进行训练,得到针对目标对象的神经辐射场。
108.根据本公开的实施例,对于多个视角图像中在两个相邻位置上采集的两个图像,该两个图像的两个视野之间的重合率大于等于重合率下限值,且小于等于重合率上限值。
109.需要说明的是,本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、
加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
110.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
111.图8示出了可以用来实施本公开实施例的图像生成方法的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
112.如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(rom)802中的计算机程序或者从存储单元808加载到随机访问存储器(ram)803中的计算机程序,来执行各种适当的动作和处理。在ram 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、rom 802以及ram 803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
113.设备800中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
114.计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如图像生成方法。例如,在一些实施例中,图像生成方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由rom 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到ram 803并由计算单元801执行时,可以执行上文描述的图像生成方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行图像生成方法。
115.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
116.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来
编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
117.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
118.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
119.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
120.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。其中,服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务(

virtual private server

,或简称

vps

)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
121.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
122.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1