CN114782613A - 图像渲染方法、装置、设备及存储介质 - Google Patents
图像渲染方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114782613A CN114782613A CN202210475983.9A CN202210475983A CN114782613A CN 114782613 A CN114782613 A CN 114782613A CN 202210475983 A CN202210475983 A CN 202210475983A CN 114782613 A CN114782613 A CN 114782613A
- Authority
- CN
- China
- Prior art keywords
- information
- illumination
- value
- coordinate
- depth
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Image Generation (AREA)
- Apparatus For Radiation Diagnosis (AREA)
Abstract
本公开实施例公开了一种图像渲染方法、装置、设备及存储介质。获取图像中目标对象的对象深度图及对象法线图;基于所述对象深度图确定遮挡信息;基于所述对象法线图确定光照信息;根据所述遮挡信息和所述光照信息对所述图像中的所述目标对象进行渲染,获得目标图像。本公开实施例提供的图像渲染方法,基于对象深度图确定遮挡信息,基于对象法线图确定光照信息,可以将物体的光照信息及遮挡信息真实的进行渲染,不仅可以提高对象的渲染效率,还可以提高渲染效果。
Description
技术领域
本公开实施例涉及图像渲染技术领域,尤其涉及一种图像渲染方法、装置、设备及存储介质。
背景技术
现有技术中,在进行三维物体的光照渲染时需要三维建模,需要创建物体的整体模型,该方式不仅计算量大且效率低。在进行三维对象遮挡信息的渲染时,需要采用对象部位的三维模型,采用设定材质渲染实现遮挡效果。该方法需要预先建立特定的身体部位的三维遮挡模型,而建立的模型不一定贴合各种对象形态,使得遮挡效果较差。
发明内容
本公开实施例提供一种图像渲染方法、装置、设备及存储介质,可以将物体的光照信息及遮挡信息真实的进行渲染,不仅可以提高对象的渲染效率,还可以提高渲染效果。
第一方面,本公开实施例提供了一种图像渲染方法,包括:
获取图像中目标对象的对象深度图及对象法线图;
基于所述对象深度图确定遮挡信息;
基于所述对象法线图确定光照信息;
根据所述遮挡信息和所述光照信息对所述图像中的所述目标对象进行渲染,获得目标图像。
第二方面,本公开实施例还提供了一种图像渲染装置,包括:
深度图及法线图获取模块,用于获取图像中目标对象的对象深度图及对象法线图;
遮挡信息确定模块,用于基于所述对象深度图确定遮挡信息;
光照信息确定模块,用于基于所述对象法线图确定光照信息;
渲染模块,用于根据所述遮挡信息和所述光照信息对所述图像中的所述目标对象进行渲染,获得目标图像。
第三方面,本公开实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理装置;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现如本公开实施例所述的图像渲染方法。
第四方面,本公开实施例还提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现如本公开实施例所述的图像渲染方法。
本公开实施例公开了一种图像渲染方法、装置、设备及存储介质。获取图像中目标对象的对象深度图及对象法线图;基于对象深度图确定遮挡信息;基于对象法线图确定光照信息;根据遮挡信息和光照信息对图像中的目标对象进行渲染,获得目标图像。本公开实施例提供的图像渲染方法,基于对象深度图确定遮挡信息,基于对象法线图确定光照信息,可以将物体的光照信息及遮挡信息真实的进行渲染,不仅可以提高对象的渲染效率,还可以提高渲染效果。
附图说明
图1是本公开实施例中的一种图像渲染方法的流程图;
图2是本公开实施例中的一种图像渲染装置的结构示意图;
图3是本公开实施例中的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
实施例一
图1为本公开实施例一提供的一种图像渲染方法的流程图,本实施例可适用于基于光照信息和遮挡信息对目标对象进行渲染的情况,该方法可以由图像渲染装置来执行,该装置可由硬件和/或软件组成,并一般可集成在具有图像渲染方法功能的设备中,该设备可以是服务器、移动终端或服务器集群等电子设备。如图1所示,该方法具体包括如下步骤:
S110,获取图像中目标对象的对象深度图及对象法线图。
其中,目标对象可以是根据渲染需求选择的任意的对象,例如:人体、动物(小猫或小狗等)、植物或者建筑物等。对象深度图可以表征构成目标对象各3D点的深度信息,深度图中每个像素点的灰度值表示对应3D点的深度值。对象法线图可以表征构成目标对象各3D点的法线信息,法线图中每个像素点的像素值表示对应3D点的法线向量。其中,法向向量可以是三维坐标,在法线图中映射为三个颜色通道(RGB)值。
本实施例中,可以通过对图像中的目标对象(例如:人体)采用现有的几何估计算法确定几何特征,从而获得对象深度图及对象法线图。本实施例中,对获取对象深度图及对象法线图的方式不做限定。
S120,基于对象深度图确定遮挡信息。
其中,遮挡信息可以包括目标对象与场景物体间的遮挡关系,遮挡关系包括目标对象被场景物体遮挡以及目标对象未被场景物体遮挡。本实施例中,还需要获取目标对象所处场景的其他物体的深度图,基于其他物体的深度图和对象深度图来确定遮挡信息。
具体的,基于对象深度图确定遮挡信息的方式可以是:获取目标对象所处场景的物体深度图;根据物体深度图和对象深度图确定遮挡信息。
其中,获取目标对象所处场景的物体深度图的方式可以是采用深度相机对所处场景进行拍摄,从而获得物体深度图。在获得物体深度图后,将物体深度图和对象深度图中对应的深度值进行比较,根据比较结果确定目标对象与其他物体间的遮挡关系。本实施例中,通过两张深度图确定目标对象和其他物体的遮挡关系,可以提高确定遮挡信息的准确性。
可选的,据物体深度图和对象深度图确定遮挡信息的方式可以是:获取相机的***面深度值和远平面深度值;根据***面深度值和远平面深度值对对象深度图中的各深度值进行线性变换;根据物体深度图和线性变换后的对象深度图确定遮挡信息。
其中,***面深度值和远平面深度值可以从相机的配置信息中直接获取到。对对象深度图中的各深度值进行线性变换可以理解为:将各深度值变换至***面深度值和远平面深度值的范围内。可选的,对深度值进行线性变换的公式可以表示为:其中,L(d)表示线性变换后的深度值,d表示线性变换前的深度值,zNear为***面深度值,zFar为远平面深度值。本实施例中,将深度值线性变换至***面深度值和远平面深度值的范围内,可以提高确定遮挡信息的准确性。
可选的,在获取相机的***面深度值和远平面深度值之前,还包括如下步骤:将对象深度图中的各深度值映射至设定深度区间。
其中,设定深度区间可以由开发技术人员设定,此处不限定。本实施例中,为了方便后续的深度测试处理,需要将各深度值映射至设定深度区间。具体的,将对象深度图中的各深度值映射至设定深度区间可以按照如下公式计算:H(d)=0.1*(1-d)+a,其中,H(d)为映射后的深度值,d为映射前的深度值,a为深度参数,为一常量,可以取0.7-1之间的任意值,例如取0.8,则映射公式可以表示为:H(d)=0.1*(1-d)+0.8。相应的,根据***面深度值和远平面深度值对对象深度图中的各深度值进行线性变换的过程可以是:根据***面深度值和远平面深度值对对象深度图中处于设定深度区间的各深度值进行线性变换。
具体的,首先将对象深度图中的各深度值映射至设定深度区间,然后根据***面深度值和远平面深度值对对象深度图中处于设定深度区间的各深度值进行线性变换,最后根据物体深度图和线性变换后的对象深度图确定遮挡信息。
本实施例中,根据物体深度图和对象深度图确定遮挡信息的方式可以是:若物体深度图中深度值大于对象深度图中对应的深度值,则目标对象的3D点未被遮挡;若物体深度图中深度值小于对象深度图中对应的深度值,则目标对象中的3D点被物体遮挡。
其中,物体深度图中的像素点与对象深度图中的像素点一一对应,对应的两个像素点处在场景中相同的深度方向上。若物体深度图中深度值大于对象深度图中对应的深度值,表明场景物体离相机更远,在渲染时,该深度方向上只需渲染目标对象,无需场景物体;若物体深度图中深度值小于对象深度图中对应的深度值,则表明场景物体离相机更近,在渲染时,该深度方向上只需渲染场景物体,无需渲染目标对象;或者将渲染的场景物体叠加在目标对象上,呈现场景物体遮挡目标对象的效果。本实施例中,通过比较两张深度图中对应深度值来确定遮挡关系,可以提高确定遮挡信息的准确性。
S130,基于对象法线图确定光照信息。
其中,光照信息可以理解为目标对象上各3D点对应的光照值。对象法线图中每个像素点的颜色值(RGB)代表法线向量的三个分量。本实施例中,在获得对象法线图后,还需要获取光源位置及构成目标对象各3D点的位置信息,基于光源位置及3D点的位置信息确定各3D点的光照方向,根据光照方向和对象法线图中的法线信息确定各3D点的光照信息。
具体的,基于对象法线图确定光照信息的方式可以是:对对象法线图中的法线信息进行平滑处理;获取对象各3D点的光照方向;根据光照方向和平滑处理后的法线信息确定各3D点的光照信息。
其中,对对象法线图中的法线信息进行平滑处理的方式可以是:对于当前像素点,计算当前像素点的法线信息及其8邻域像素点的法线信息的平均值,作为当前像素点最终的法线信息。在计算平均值时,三个颜色值分别计算平均值。
其中,光照方向可以理解为光源发出的光照射在3D点上的方向,即光线射向3D点的方向为光照方向。具体的,获取对象各3D点的光照方向的方式可以是:获取目标对象各3D点的第一位置信息和光源的第二位置信息;根据第一位置信息和第二位置信息确定各3D点的光照方向。
其中,光源可以理解为虚拟光源,光源的数量可以是1个或者多个。第一位置信息可以理解为3D点在相机坐标系中的坐标信息,第二位置信息可以理解为虚拟光源在相机坐标下中的坐标信息。
本实施例中,获取对象各3D点的第一位置信息的方式可以是:将目标对象的二维表面贴图UV坐标做换至四维裁剪空间坐标;将四维裁剪空间坐标转换至四维相机空间坐标;对四维相机空间坐标进行齐次变换,并将齐次变换后的z坐标变换为对象深度图中的深度值;根据变换后的四维相机空间坐标确定各3D点的第一位置信息。
其中,四维包括x坐标、y坐标、z坐标及w坐标。UV坐标可以是取值范围为[0,1]的二维向量。将目标对象的二维表面贴图UV坐标做换至四维裁剪空间坐标可采用如下公式实现:clipPos(x,y,z,w)=(UV*2-1,-1,1),其中,clipPos(x,y,z,w)为四维裁剪空间。将四维裁剪空间坐标转换至四维相机空间坐标的过程可以是:将四维裁剪空间坐标左乘屏幕坐标系到相机坐标系的变换矩阵,可以表示为:viewPos(x,y,z,w)=M1*clipPos,其中,M1为屏幕坐标系到相机坐标系的变换矩阵。对四维相机空间坐标进行齐次变换可以理解为:将四维相机空间坐标的四个分量除以w分量,可以表示为:viewPos=viewPos/viewPos.w。将齐次变换后的z坐标变换为对象深度图中的深度值可以理解为:将齐次变换后的z坐标变换为经过线性变换的深度值。最后将变换后的四维相机空间坐标中的x分量、y分量及z分量提取出来,作为3D点的第一位置信息。本实施例中,通过对UV坐标进行变换,获得3D点在相机坐标系下的三维坐标,可以准确的确定出3D点的位置信息。
具体的,根据第一位置信息和第二位置信息确定各3D点的光照方向的方式可以是:将第一位置信息对应的三维坐标减去第二位置信息对应的三维坐标,获得光照方向。可以表示为:lightDir(x,y,z)=viewPos-planetPos,其中,viewPos表示3D点的三维坐标,即第一位置信息,planetPos表示光源的三维坐标,即第二位置信息。本实施例中,通过光源的位置信息和3D点位置信息可以准确的确定出光照方向。
具体的,根据光照方向和平滑处理后的法线信息确定各3D点的光照信息的过程可以是:将光照方向对应的向量与法线信息对应的向量进行相乘,获得初始光照值;若初始光照值大于第一设定值,将初始光照值与第一设定光照值相乘,获得目标光照值;若初始光照值小于或者等于第一设定值,则将初始光照值与第二设定光照值相乘,获得目标光照值。
其中,第一设定值可以为0。第一设定光照值可以预设的光照颜色值,可以表示为lightColor,第二设定光照值可以是预设的非常小的一个值,例如:0.01。本实施例中,首先对光照方向对应的向量和法线信息对应的向量分别进行标准化处理,然后将标准处理后的光照方向对应的向量与法线信息对应的向量进行相乘,获得初始光照值glare;若glare大于0,则将glare与lightColor相乘,获得目标光照值light,若glare小于或者等于0,则将将glare与0.01相乘,获得目标光照值light。本实施例中,若glare小于或者等于0,则将将glare与0.01相乘,获得较小的目标光照值,可以防止出现光斑。
本实施例中,光照值会随着与光源距离的增大而衰减,因此需要对确定出的目标光照值进行修正。可选的,在获得目标光照值之后,还包括如下步骤:确定光源与目标对象各3D点的距离;根据距离确定光照衰减信息;基于光照衰减信息对目标光照值进行调整。
本实施例中,可以采用一种屏幕空间中近似聚光灯效果的光照衰减效果来模拟光照值的衰减。光源与目标对象各3D点的距离可以理解为在屏幕坐标系下光源与各3D点的距离。
具体的,确定光源与目标对象各3D点的距离的过程可以是:将光源的第二位置信息转化至屏幕坐标,获得第二屏幕坐标信息;将目标对象各3D点的第一位置信息转化至屏幕坐标,获得第一屏幕坐标;根据第二屏幕坐标信息和第一屏幕坐标信息确定光源与目标对象各3D点的距离。
其中,将光源的第二位置信息转化至屏幕坐标的方式可以是:首先将第二位置信息对应的三维坐标左乘第二转换矩阵(相机坐标系到屏幕坐标系的转换矩阵),获得投影变换后的坐标,然后对投影变换后的坐标的x的分量和y分量线性变换,获得光源在屏幕中的坐标信息,即第二屏幕坐标信息。可以表示为:samplePos(x,y,z)=M2*(x,y,z,1),sampleUV.x=samplePos.x*0.5+0.5,sampleUV.y=samplePos.y*(-1)*0.5+0.5,获得第二屏幕坐标信息sampleUV(x,y)。
其中,将目标对象各3D点的第一位置信息转化至屏幕坐标的方式可以是:目标对象的二维表面贴图UV坐标的x分量除以屏幕沿x方向的长度,y分量除以屏幕沿y方向的长度,即将目标对象的UV坐标转换为0-1之间的值,从而获得第一屏幕坐标信息。本实施例中,由于3D点的第一位置信息是通过目标对象的UV坐标转换过来的,因此可以直接通过标对象的UV坐标来确定第一屏幕坐标信息。
具体的,可以采用任意的距离公式以根据第二屏幕坐标信息和第一屏幕坐标信息确定光源与目标对象各3D点的距离。
本实施例中,在获得光源与目标对象各3D点的距离之后,可以按照如下公式计算光照衰减信息:其中,dist为距离,r为光晕半径,s为影响光晕的衰减系数,r和s均为设定值。具体的,基于光照衰减信息对目标光照值进行调整可以按照如下公式计算:L=light*i*A,其中,i为强度,为设定值;A为衰减值,light为目标光照值。本实施例中,基于光源与3D点的距离确定衰减信息,以对光照值进行修正,可以提高光照信息的真实度。
S140,根据遮挡信息和光照信息对图像中的目标对象进行渲染,获得目标图像。
具体的,将获得的遮挡信息和光照信息输入渲染引擎,以对图像中的目标对象进行渲染,从而获得目标图像。
可选的,在根据所述遮挡信息和所述光照信息对所述图像中的对象进行渲染之后,还包括如下步骤:获取设定特效的初始贴图UV坐标;根据当前时刻对初始贴图UV坐标进行变换,获得中间UV坐标;对中间UV坐标进行极坐标变换,获得目标UV坐标;基于目标UV坐标对设定特效进行渲染,并将渲染后的设定特效叠加至目标对象上。
其中,对初始UV坐标进行变换可以理解为对初始UV坐标进行缩放和/或平移。根据当前时刻对初始贴图UV坐标进行变换可以理解为:根据当前时刻确定缩放量和/或平移量。示例性的,可以采用如下公式对初始UV坐标进行变换:UV1=UV0*scale+time*speed,其中,UV1表示中间UV坐标,scale表示缩放矩阵,time为当前时刻,speed为平移速度。根据当前时刻对初始贴图UV坐标进行变换可以呈现设定特效随时间变换的效果。
具体的,将设定特效的目标UV坐标输入渲染引擎进行渲染,并将渲染后的设定特效叠加至目标对象上,使得目标对象上添加有设定特效。
可选的,对于设定特效中UV贴图中各点的颜色值,还可以采用上述实施例中确定光照衰减信息的方式进行颜色值的衰减调整。具体过程可以是:计算目标UV贴图中各点与光源的距离,根据距离确定颜色衰减信息,基于颜色衰减信息对颜色值进行调整。
本公开实施例的技术方案,获取图像中目标对象的对象深度图及对象法线图;基于对象深度图确定遮挡信息;基于对象法线图确定光照信息;根据遮挡信息和光照信息对图像中的目标对象进行渲染,获得目标图像。本公开实施例提供的图像渲染方法,基于对象深度图确定遮挡信息,基于对象法线图确定光照信息,可以将物体的光照信息及遮挡信息真实的进行渲染,不仅可以提高对象的渲染效率,还可以提高渲染效果。
图2是本公开实施例公开的一种图像渲染装置的结构示意图,如图2所示,该装置包括:
深度图及法线图获取模块210,用于获取图像中目标对象的对象深度图及对象法线图;
遮挡信息确定模块220,用于基于所述对象深度图确定遮挡信息;
光照信息确定模块230,用于基于所述对象法线图确定光照信息;
渲染模块240,用于根据所述遮挡信息和所述光照信息对所述图像中的所述目标对象进行渲染,获得目标图像。
可选的,遮挡信息确定模块220,还用于:
获取所述目标对象所处场景的物体深度图;
根据所述物体深度图和所述对象深度图确定遮挡信息。
可选的,遮挡信息确定模块220,还用于:
获取相机的***面深度值和远平面深度值;
根据所述***面深度值和所述远平面深度值对所述对象深度图中的各深度值进行线性变换;
根据所述物体深度图和线性变换后的对象深度图确定遮挡信息。
可选的,遮挡信息确定模块220,还用于:
将所述对象深度图中的各深度值映射至设定深度区间;
根据所述***面深度值和所述远平面深度值对所述对象深度图中处于所述设定深度区间的各深度值进行线性变换。
可选的,所述遮挡信息包括所述目标对象与场景物体间的遮挡关系;遮挡信息确定模块220,还用于:
若所述物体深度图中深度值大于所述对象深度图中对应的深度值,则所述目标对象的3D点未被遮挡;
若所述物体深度图中深度值小于所述对象深度图中对应的深度值,则所述目标对象中的3D点被物体遮挡。
可选的,光照信息确定模块230,还用于:
对所述对象法线图中的法线信息进行平滑处理;
获取所述对象各3D点的光照方向;
根据所述光照方向和平滑处理后的法线信息确定各3D点的光照信息。
可选的,光照信息确定模块230,还用于:
获取所述目标对象各3D点的第一位置信息和光源的第二位置信息;
根据所述第一位置信息和所述第二位置信息确定各3D点的光照方向。
可选的,光照信息确定模块230,还用于:
将所述目标对象的二维表面贴图UV坐标做换至四维裁剪空间坐标;其中,四维包括x坐标、y坐标、z坐标及w坐标;
将所述四维裁剪空间坐标转换至四维相机空间坐标;
对所述四维相机空间坐标进行齐次变换,并将齐次变换后的z坐标变换为所述对象深度图中的深度值;
根据变换后的四维相机空间坐标确定各3D点的第一位置信息。
可选的,光照信息确定模块230,还用于:
将所述光照方向对应的向量与所述法线信息对应的向量进行相乘,获得初始光照值;
若所述初始光照值大于第一设定值,将所述初始光照值与第一设定光照值相乘,获得目标光照值;
若所述初始光照值小于或者等于所述第一设定值,则将所述初始光照值与第二设定光照值相乘,获得目标光照值。
可选的,光照信息确定模块230,还用于:
确定所述光源与所述目标对象各3D点的距离;
根据所述距离确定光照衰减信息;
基于所述光照衰减信息对所述目标光照值进行调整。
可选的,光照信息确定模块230,还用于:
将所述光源的第二位置信息转化至屏幕坐标,获得第二屏幕坐标信息;
将所述目标对象各3D点的第一位置信息转化至屏幕坐标,获得第一屏幕坐标;
根据所述第二屏幕坐标信息和所述第一屏幕坐标信息确定所述光源与所述目标对象各3D点的距离。
可选的,还包括:设定特效叠加模块,用于:
获取设定特效的初始贴图UV坐标;
根据当前时刻对所述初始贴图UV坐标进行变换,获得中间UV坐标;
对所述中间UV坐标进行极坐标变换,获得目标UV坐标;
基于所述目标UV坐标对所述设定特效进行渲染,并将渲染后的设定特效叠加至所述目标对象上。
上述装置可执行本公开前述所有实施例所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本公开前述所有实施例所提供的方法。
下面参考图3,其示出了适于用来实现本公开实施例的电子设备300的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端,或者各种形式的服务器,如独立服务器或者服务器集群。图3示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图3所示,电子设备300可以包括处理装置(例如中央处理器、图形处理器等)301,其可以根据存储在只读存储装置(ROM)302中的程序或者从存储装置305加载到随机访问存储装置(RAM)303中的程序而执行各种适当的动作和处理。在RAM 303中,还存储有电子设备300操作所需的各种程序和数据。处理装置301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
通常,以下装置可以连接至I/O接口305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置306;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置308;以及通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据。虽然图3示出了具有各种装置的电子设备300,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行词语的推荐方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置305被安装,或者从ROM 302被安装。在该计算机程序被处理装置301执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取图像中目标对象的对象深度图及对象法线图;基于所述对象深度图确定遮挡信息;基于所述对象法线图确定光照信息;根据所述遮挡信息和所述光照信息对所述图像中的所述目标对象进行渲染,获得目标图像。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开实施例的一个或多个实施例,本公开实施例公开了一种图像渲染方法,包括:
获取图像中目标对象的对象深度图及对象法线图;
基于所述对象深度图确定遮挡信息;
基于所述对象法线图确定光照信息;
根据所述遮挡信息和所述光照信息对所述图像中的所述目标对象进行渲染,获得目标图像。
进一步地,基于所述对象深度图确定遮挡信息,包括:
获取所述目标对象所处场景的物体深度图;
根据所述物体深度图和所述对象深度图确定遮挡信息。
进一步地,根据所述物体深度图和所述对象深度图确定遮挡信息,包括:
获取相机的***面深度值和远平面深度值;
根据所述***面深度值和所述远平面深度值对所述对象深度图中的各深度值进行线性变换;
根据所述物体深度图和线性变换后的对象深度图确定遮挡信息。
进一步地,在获取相机的***面深度值和远平面深度值之前,还包括:
将所述对象深度图中的各深度值映射至设定深度区间;
根据所述***面深度值和所述远平面深度值对所述对象深度图中的各深度值进行线性变换,包括:
根据所述***面深度值和所述远平面深度值对所述对象深度图中处于所述设定深度区间的各深度值进行线性变换。
进一步地,所述遮挡信息包括所述目标对象与场景物体间的遮挡关系;根据所述物体深度图和所述对象深度图确定遮挡信息,包括:
若所述物体深度图中深度值大于所述对象深度图中对应的深度值,则所述目标对象的3D点未被遮挡;
若所述物体深度图中深度值小于所述对象深度图中对应的深度值,则所述目标对象中的3D点被物体遮挡。
进一步地,基于所述对象法线图确定光照信息,包括:
对所述对象法线图中的法线信息进行平滑处理;
获取所述对象各3D点的光照方向;
根据所述光照方向和平滑处理后的法线信息确定各3D点的光照信息。
进一步地,获取所述对象各3D点的光照方向,包括:
获取所述目标对象各3D点的第一位置信息和光源的第二位置信息;
根据所述第一位置信息和所述第二位置信息确定各3D点的光照方向。
进一步地,获取所述对象各3D点的第一位置信息,包括:
将所述目标对象的二维表面贴图UV坐标做换至四维裁剪空间坐标;其中,四维包括x坐标、y坐标、z坐标及w坐标;
将所述四维裁剪空间坐标转换至四维相机空间坐标;
对所述四维相机空间坐标进行齐次变换,并将齐次变换后的z坐标变换为所述对象深度图中的深度值;
根据变换后的四维相机空间坐标确定各3D点的第一位置信息。
进一步地,根据所述光照方向和平滑处理后的法线信息确定各3D点的光照信息,包括:
将所述光照方向对应的向量与所述法线信息对应的向量进行相乘,获得初始光照值;
若所述初始光照值大于第一设定值,将所述初始光照值与第一设定光照值相乘,获得目标光照值;
若所述初始光照值小于或者等于所述第一设定值,则将所述初始光照值与第二设定光照值相乘,获得目标光照值。
进一步地,在获得目标光照值之后,还包括:
确定所述光源与所述目标对象各3D点的距离;
根据所述距离确定光照衰减信息;
基于所述光照衰减信息对所述目标光照值进行调整。
进一步地,确定所述光源与目标对象各3D点的距离,包括:
将所述光源的第二位置信息转化至屏幕坐标,获得第二屏幕坐标信息;
将所述目标对象各3D点的第一位置信息转化至屏幕坐标,获得第一屏幕坐标;
根据所述第二屏幕坐标信息和所述第一屏幕坐标信息确定所述光源与所述目标对象各3D点的距离。
进一步地,在根据所述遮挡信息和所述光照信息对所述图像中的对象进行渲染之后,还包括:
获取设定特效的初始贴图UV坐标;
根据当前时刻对所述初始贴图UV坐标进行变换,获得中间UV坐标;
对所述中间UV坐标进行极坐标变换,获得目标UV坐标;
基于所述目标UV坐标对所述设定特效进行渲染,并将渲染后的设定特效叠加至所述目标对象上。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (15)
1.一种图像渲染方法,其特征在于,包括:
获取图像中目标对象的对象深度图及对象法线图;
基于所述对象深度图确定遮挡信息;
基于所述对象法线图确定光照信息;
根据所述遮挡信息和所述光照信息对所述图像中的所述目标对象进行渲染,获得目标图像。
2.根据权利要求1所述的方法,其特征在于,基于所述对象深度图确定遮挡信息,包括:
获取所述目标对象所处场景的物体深度图;
根据所述物体深度图和所述对象深度图确定遮挡信息。
3.根据权利要求2所述的方法,其特征在于,根据所述物体深度图和所述对象深度图确定遮挡信息,包括:
获取相机的***面深度值和远平面深度值;
根据所述***面深度值和所述远平面深度值对所述对象深度图中的各深度值进行线性变换;
根据所述物体深度图和线性变换后的对象深度图确定遮挡信息。
4.根据权利要求3所述的方法,其特征在于,在获取相机的***面深度值和远平面深度值之前,还包括:
将所述对象深度图中的各深度值映射至设定深度区间;
根据所述***面深度值和所述远平面深度值对所述对象深度图中的各深度值进行线性变换,包括:
根据所述***面深度值和所述远平面深度值对所述对象深度图中处于所述设定深度区间的各深度值进行线性变换。
5.根据权利要求2或3所述的方法,其特征在于,所述遮挡信息包括所述目标对象与场景物体间的遮挡关系;根据所述物体深度图和所述对象深度图确定遮挡信息,包括:
若所述物体深度图中深度值大于所述对象深度图中对应的深度值,则所述目标对象的3D点未被遮挡;
若所述物体深度图中深度值小于所述对象深度图中对应的深度值,则所述目标对象中的3D点被物体遮挡。
6.根据权利要求1所述的方法,其特征在于,基于所述对象法线图确定光照信息,包括:
对所述对象法线图中的法线信息进行平滑处理;
获取所述对象各3D点的光照方向;
根据所述光照方向和平滑处理后的法线信息确定各3D点的光照信息。
7.根据权利要求6所述的方法,其特征在于,获取所述对象各3D点的光照方向,包括:
获取所述目标对象各3D点的第一位置信息和光源的第二位置信息;
根据所述第一位置信息和所述第二位置信息确定各3D点的光照方向。
8.根据权利要求7所述的方法,其特征在于,获取所述对象各3D点的第一位置信息,包括:
将所述目标对象的二维表面贴图UV坐标做换至四维裁剪空间坐标;其中,四维包括x坐标、y坐标、z坐标及w坐标;
将所述四维裁剪空间坐标转换至四维相机空间坐标;
对所述四维相机空间坐标进行齐次变换,并将齐次变换后的z坐标变换为所述对象深度图中的深度值;
根据变换后的四维相机空间坐标确定各3D点的第一位置信息。
9.根据权利要求7所述的方法,其特征在于,根据所述光照方向和平滑处理后的法线信息确定各3D点的光照信息,包括:
将所述光照方向对应的向量与所述法线信息对应的向量进行相乘,获得初始光照值;
若所述初始光照值大于第一设定值,将所述初始光照值与第一设定光照值相乘,获得目标光照值;
若所述初始光照值小于或者等于所述第一设定值,则将所述初始光照值与第二设定光照值相乘,获得目标光照值。
10.根据权利要求9所述的方法,其特征在于,在获得目标光照值之后,还包括:
确定所述光源与所述目标对象各3D点的距离;
根据所述距离确定光照衰减信息;
基于所述光照衰减信息对所述目标光照值进行调整。
11.根据权利要求10所述的方法,其特征在于,确定所述光源与目标对象各3D点的距离,包括:
将所述光源的第二位置信息转化至屏幕坐标,获得第二屏幕坐标信息;
将所述目标对象各3D点的第一位置信息转化至屏幕坐标,获得第一屏幕坐标;
根据所述第二屏幕坐标信息和所述第一屏幕坐标信息确定所述光源与所述目标对象各3D点的距离。
12.根据权利要求1所述的方法,其特征在于,在根据所述遮挡信息和所述光照信息对所述图像中的对象进行渲染之后,还包括:
获取设定特效的初始贴图UV坐标;
根据当前时刻对所述初始贴图UV坐标进行变换,获得中间UV坐标;
对所述中间UV坐标进行极坐标变换,获得目标UV坐标;
基于所述目标UV坐标对所述设定特效进行渲染,并将渲染后的设定特效叠加至所述目标对象上。
13.一种图像渲染装置,其特征在于,包括:
深度图及法线图获取模块,用于获取图像中目标对象的对象深度图及对象法线图;
遮挡信息确定模块,用于基于所述对象深度图确定遮挡信息;
光照信息确定模块,用于基于所述对象法线图确定光照信息;
渲染模块,用于根据所述遮挡信息和所述光照信息对所述图像中的所述目标对象进行渲染,获得目标图像。
14.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理装置;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现如权利要求1-12中任一所述的图像渲染方法。
15.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现如权利要求1-12中任一所述的图像渲染方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210475983.9A CN114782613A (zh) | 2022-04-29 | 2022-04-29 | 图像渲染方法、装置、设备及存储介质 |
PCT/CN2023/080544 WO2023207356A1 (zh) | 2022-04-29 | 2023-03-09 | 图像渲染方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210475983.9A CN114782613A (zh) | 2022-04-29 | 2022-04-29 | 图像渲染方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114782613A true CN114782613A (zh) | 2022-07-22 |
Family
ID=82434932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210475983.9A Pending CN114782613A (zh) | 2022-04-29 | 2022-04-29 | 图像渲染方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114782613A (zh) |
WO (1) | WO2023207356A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115526977A (zh) * | 2022-10-20 | 2022-12-27 | 北京畅游创想软件技术有限公司 | 游戏画面渲染方法和装置 |
CN116524061A (zh) * | 2023-07-03 | 2023-08-01 | 腾讯科技(深圳)有限公司 | 一种图像渲染方法和相关装置 |
WO2023207356A1 (zh) * | 2022-04-29 | 2023-11-02 | 北京字跳网络技术有限公司 | 图像渲染方法、装置、设备及存储介质 |
WO2024055837A1 (zh) * | 2022-09-15 | 2024-03-21 | 北京字跳网络技术有限公司 | 一种图像处理方法、装置、设备及介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105513112B (zh) * | 2014-10-16 | 2018-11-16 | 北京畅游天下网络技术有限公司 | 图像处理方法和装置 |
CN109300190B (zh) * | 2018-09-06 | 2021-08-10 | 百度在线网络技术(北京)有限公司 | 三维数据的处理方法、装置、设备和存储介质 |
CN110211218B (zh) * | 2019-05-17 | 2021-09-10 | 腾讯科技(深圳)有限公司 | 画面渲染方法和装置、存储介质及电子装置 |
CN112734896B (zh) * | 2021-01-08 | 2024-04-26 | 网易(杭州)网络有限公司 | 环境遮蔽渲染方法、装置、存储介质及电子设备 |
CN114782613A (zh) * | 2022-04-29 | 2022-07-22 | 北京字跳网络技术有限公司 | 图像渲染方法、装置、设备及存储介质 |
-
2022
- 2022-04-29 CN CN202210475983.9A patent/CN114782613A/zh active Pending
-
2023
- 2023-03-09 WO PCT/CN2023/080544 patent/WO2023207356A1/zh unknown
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023207356A1 (zh) * | 2022-04-29 | 2023-11-02 | 北京字跳网络技术有限公司 | 图像渲染方法、装置、设备及存储介质 |
WO2024055837A1 (zh) * | 2022-09-15 | 2024-03-21 | 北京字跳网络技术有限公司 | 一种图像处理方法、装置、设备及介质 |
CN115526977A (zh) * | 2022-10-20 | 2022-12-27 | 北京畅游创想软件技术有限公司 | 游戏画面渲染方法和装置 |
CN116524061A (zh) * | 2023-07-03 | 2023-08-01 | 腾讯科技(深圳)有限公司 | 一种图像渲染方法和相关装置 |
CN116524061B (zh) * | 2023-07-03 | 2023-09-26 | 腾讯科技(深圳)有限公司 | 一种图像渲染方法和相关装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2023207356A1 (zh) | 2023-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114782613A (zh) | 图像渲染方法、装置、设备及存储介质 | |
CN111243049B (zh) | 人脸图像的处理方法、装置、可读介质和电子设备 | |
CN113607185B (zh) | 车道线信息显示方法、装置、电子设备和计算机可读介质 | |
CN114549722A (zh) | 3d素材的渲染方法、装置、设备及存储介质 | |
CN114399588B (zh) | 三维车道线生成方法、装置、电子设备和计算机可读介质 | |
CN110728622A (zh) | 鱼眼图像处理方法、装置、电子设备及计算机可读介质 | |
CN115908679A (zh) | 纹理映射方法、装置、设备及存储介质 | |
CN116310036A (zh) | 场景渲染方法、装置、设备、计算机可读存储介质及产品 | |
CN110211017B (zh) | 图像处理方法、装置及电子设备 | |
CN114782659A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN114742934A (zh) | 图像渲染方法、装置、可读介质及电子设备 | |
CN111915532B (zh) | 图像追踪方法、装置、电子设备及计算机可读介质 | |
WO2023193613A1 (zh) | 高光渲染方法、装置、介质及电子设备 | |
CN110288523B (zh) | 图像生成方法和装置 | |
CN117132652A (zh) | 基于三维网格的目标点云标记方法、装置、设备及介质 | |
CN111292406A (zh) | 模型渲染方法、装置、电子设备及介质 | |
CN115358959A (zh) | 特效图的生成方法、装置、设备及存储介质 | |
CN116228956A (zh) | 一种阴影渲染方法、装置、设备及介质 | |
CN114202617A (zh) | 视频图像处理方法、装置、电子设备及存储介质 | |
CN115019021A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN117745928A (zh) | 一种图像处理方法、装置、设备及介质 | |
CN114723600A (zh) | 美妆特效的生成方法、装置、设备、存储介质和程序产品 | |
CN115272060A (zh) | 转场特效图的生成方法、装置、设备及存储介质 | |
CN114693860A (zh) | 高光渲染方法、装置、介质及电子设备 | |
CN113066166A (zh) | 图像处理方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |