CN117274473A - 一种多重散射实时渲染的方法、装置及电子设备 - Google Patents

一种多重散射实时渲染的方法、装置及电子设备 Download PDF

Info

Publication number
CN117274473A
CN117274473A CN202311551123.XA CN202311551123A CN117274473A CN 117274473 A CN117274473 A CN 117274473A CN 202311551123 A CN202311551123 A CN 202311551123A CN 117274473 A CN117274473 A CN 117274473A
Authority
CN
China
Prior art keywords
model
rendering
parameters
multiple scattering
light source
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.)
Granted
Application number
CN202311551123.XA
Other languages
English (en)
Other versions
CN117274473B (zh
Inventor
方顺
张志恒
崔铭
冯星
杨峰峰
王月
乔磊
孙思远
汪成峰
胡梓楠
李荣华
刘昊卿
吕艳娜
房超
王海龙
温思远
米凌峰
罗文锋
马忠莉
卢文坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xuanguang Technology Co ltd
Original Assignee
Beijing Xuanguang Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Xuanguang Technology Co ltd filed Critical Beijing Xuanguang Technology Co ltd
Priority to CN202311551123.XA priority Critical patent/CN117274473B/zh
Publication of CN117274473A publication Critical patent/CN117274473A/zh
Application granted granted Critical
Publication of CN117274473B publication Critical patent/CN117274473B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Geometry (AREA)
  • Image Generation (AREA)

Abstract

本申请提供了一种多重散射实时渲染的方法、装置及电子设备,该方法包括:获取待渲染原始三维模型在多个角度的模型图片;至少将所述多个角度的模型图片输入至目标多重散射渲染模型,得到多重散射效果图片。本申请的一些实施例可以对原始三维模型的多重散射实时渲染。

Description

一种多重散射实时渲染的方法、装置及电子设备
技术领域
本申请涉及渲染技术领域,具体而言,涉及一种多重散射实时渲染的方法、装置及电子设备。
背景技术
光线穿过类似云、烟、雾、尘埃、玉石、牛奶、皮肤、蜡、果肉等介质时,会产生折射、散射、吸收等现象,这种空间介质称为参与介质。目前,光线在参与介质中要经过数千次反弹,在对三维模型进行多重散射渲染时,采用在三维体积内部通过路径追踪来求解辐射传输方程,但是,该求解所需要的开销巨大,且无法实现实时渲染。
因此,如何提供一种实时的多重散射实时渲染的方法的技术方案成为亟需解决的技术问题。
发明内容
本申请的一些实施例的目的在于提供一种多重散射实时渲染的方法、装置及电子设备,通过本申请的实施例的技术方案可以在降低计算开销的同时,实现了对三维模型的多重散射实时渲染。
第一方面,本申请的一些实施例提供了一种多重散射实时渲染的方法,包括:通过哈希映射表,确定三维模型的多个采样点中每个采样点的位置特征向量;获取每个采样点的样本参数的初始值,其中,所述样本参数的类型包括:所述三维模型的材质属性、体密度、透射率、反照率、相位特征、相机参数、光源方向、光源颜色、光源强度和阴影参数;将所述位置特征向量和所述样本参数中的部分参数的初始值输入至第一网络模型,得到模型颜色预测结果,其中,所述部分参数包括:所述体密度、所述相机参数、所述光源方向、所述光源颜色、所述光源强度和所述阴影参数;将所述位置特征向量、所述样本参数的初始值和所述模型颜色预测结果输入至第二网络模型,得到多重散射预测结果;通过第一损失函数计算出的所述模型颜色预测结果与所述三维模型间的损失优化所述第一网络模型,并通过第二损失函数计算出的所述多重散射预测结果与所述三维模型对应的多重散射真实值间的损失优化所述第二网络模型,获取目标多重散射渲染模型。
本申请的一些实施例通过哈希映射表得到每个采样点的位置特征向量然后结合其他的样本参数的初始值,通过第一网络模型和第二网络模型获取对应的模型颜色预测结果和多重散射预测结果,进而通过损失函数进行优化得到目标多重散射渲染模型。本申请的一些实施例通过训练得到目标多重散射渲染模型,可以为后续渲染提供模型基础,在降低计算开销的同时,实现了对三维模型的多重散射实时渲染。
在一些实施例,所述通过哈希映射表,确定三维模型的多个采样点中每个采样点的位置特征向量,包括:获取相机射线与所述三维模型的包围盒交点;以所述包围盒交点为参考点进行采样,得到所述多个采样点;在所述哈希映射表中查找与每个采样点的位置坐标相对应的所述位置特征向量。
本申请的一些实施例通过相机射线和三维模型的包围盒交点确定多个采样点,进而通过每个采样点的位置坐标在哈希映射表中查找对应的位置特征向量,效率较高,可以进一步提升渲染速度。
在一些实施例,所述三维模型是通过如下方法获取的:通过三维渲染引擎模拟出与参与介质相关的所述三维模型。
在一些实施例,所述三维模型是通过如下方法获取的:对原始物体进行拍照,获取多张散射图片,并对所述多张散射图片进行采样,得到多个采样点位置坐标;通过所述哈希映射表,查找与所述多个采样点位置坐标对应的特征向量;将所述特征向量输入至多层感知机网络模型中,得到符号距离场SDF值;利用移动立方体算法对所述SDF值进行渲染,得到所述三维模型;所述体密度是通过如下方法获取的:对所述SDF值进行计算得到所述体密度。
本申请的一些实施例可以通过原始物体得到对应的三维模型和该三维模型对应的体密度,为后续训练提供有效的数据支持。
在一些实施例,所述相位特征是从预计算相位特征表中查找得到的,所述预计算相位特征表是通过相位函数对每个采样点对应的采样模板上的模板点进行预计算得到的。
本申请的一些实施例通过从预计算相位特征表中获取相位特征,可以降低计算开销。
第二方面,本申请的一些实施例提供了一种多重散射实时渲染的方法,包括:获取待渲染原始三维模型在多个角度的模型图片;至少将所述多个角度的模型图片输入至经过第一方面中任一项所述的方法实施例得到的目标多重散射渲染模型,得到多重散射效果图片。
本申请的一些实施例通过目标多重散射渲染模型可以获取待渲染原始三维模型的多重散射效果图片,可以实现实时渲染,提升了渲染效率。
在一些实施例,所述方法还包括:获取与所述待渲染原始三维模型相关的渲染参数,其中,所述渲染参数包括以下中的至少一种:相机参数、光源方向、光源颜色、光源强度和阴影参数;将所述多个角度的模型图片和所述渲染参数输入至所述目标多重散射渲染模型,输出所述多重散射效果图片。
本申请的一些实施例通过获取渲染参数并结合多个角度的模型图片输入至目标多重散射渲染模型可以得到多重散射效果图片,通过调整渲染参数可以得到符合要求的多重散射结果,灵活度较高。
第三方面,本申请的一些实施例提供了一种多重散射实时渲染的装置,包括:映射模块,用于通过哈希映射表,确定三维模型的多个采样点中每个采样点的位置特征向量;获取模块,用于获取每个采样点的样本参数的初始值,其中,所述样本参数的类型包括:所述三维模型的材质属性、体密度、透射率、反照率、相位特征、相机参数、光源方向、光源颜色、光源强度和阴影参数;第一预测模块,用于将所述位置特征向量和所述样本参数中的部分参数的初始值输入至第一网络模型,得到模型颜色预测结果,其中,所述部分参数包括:所述体密度、所述相机参数、所述光源方向、所述光源颜色、所述光源强度和所述阴影参数;第二预测模块,用于将所述位置特征向量、所述样本参数的初始值和所述模型颜色预测结果输入至第二网络模型,得到多重散射预测结果;模型优化模块,用于通过第一损失函数计算出的所述模型颜色预测结果与所述三维模型间的损失优化所述第一网络模型,并通过第二损失函数计算出的所述多重散射预测结果与所述三维模型对应的多重散射真实值间的损失优化所述第二网络模型,获取目标多重散射渲染模型。
第四方面,本申请的一些实施例提供了一种多重散射实时渲染的装置,包括:拍摄模块,用于获取待渲染原始三维模型在多个角度的模型图片;散射结果输出模块,用于至少将所述多个角度的模型图片输入至经过第一方面中任一项所述的方法实施例得到的目标多重散射渲染模型,得到多重散射效果图片。
第五方面,本申请的一些实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如第一方面任一实施例所述的方法。
第六方面,本申请的一些实施例提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现如第一方面任一实施例所述的方法。
第七方面,本申请的一些实施例提供一种计算机程序产品,所述的计算机程序产品包括计算机程序,其中,所述的计算机程序被处理器执行时可实现如第一方面任一实施例所述的方法。
附图说明
为了更清楚地说明本申请的一些实施例的技术方案,下面将对本申请的一些实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请的一些实施例提供的一种多重散射实时渲染的系统图;
图2为本申请的一些实施例提供的获取目标多重散射渲染模型的方法流程图;
图3为本申请的一些实施例提供的训练模型示意图之一;
图4为本申请的一些实施例提供的训练模型示意图之二;
图5为本申请的一些实施例提供的一种多重散射实时渲染的方法流程图;
图6为本申请的一些实施例提供的多重散射实时渲染的装置组成框图之一;
图7为本申请的一些实施例提供的多重散射实时渲染的装置组成框图之二;
图8为本申请的一些实施例提供的一种电子设备示意图。
具体实施方式
下面将结合本申请的一些实施例中的附图,对本申请的一些实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
相关技术中,光线穿过类似云、烟、雾、尘埃、玉石、牛奶、皮肤、蜡、果肉等参与介质时,会产生数万次折射、散射、吸收等现象。如何逼真且高效的渲染参与介质,一直是渲染领域中的重要问题。现有技术中对于逼真的渲染效果而言,一般采用体渲染方法来模拟光线在体积介质中的真实传输过程,即在三维体积内部通过路径追踪来求解辐射传输方程,虽然可以保证最终的多重散射的渲染质量,但是开销巨大,无法实现参与介质的多重散射实时渲染。
鉴于此,本申请的一些实施例提供了一种多重散射实时渲染的方法,该方法采用了哈希编码和采样策略,通过训练模型的方式得到目标多重散射渲染模型,最后通过至少将待渲染原始三维模型在多个角度的模型图片输入至目标多重散射渲染模型中,可以输出对应的多重散射效果图片。本申请的一些实施例采用哈希编码和采样策略可以进一步加快训练和渲染速度,从而能够加快参与介质的多重散射渲染速度,达到实时渲染速度水平,而且,在获得同等渲染质量的同时也降低了计算开销。
下面结合附图1示例性阐述本申请的一些实施例提供的多重散射实时渲染的系统的整体组成结构。
如图1所示,本申请的一些实施例提供了一种多重散射实时渲染的系统,该系统包括:终端100和渲染服务器200。其中,渲染服务器200中预先部署有训练好的目标多重散射渲染模型。终端100至少可以将拍摄得到的待渲染原始三维模型在多个角度的模型图片发送至渲染服务器200。渲染服务器200可以将待渲染原始三维模型在多个角度的模型图片输入到目标多重散射渲染模型中,输出对应的多重散射效果图片。
在本申请的一些实施例中,终端100可以为移动终端,也可以为非便携的电脑终端,本申请实施例在此不作具体限定。
可以理解的是,为了实现模型的多重散射实时渲染,首先需要通过训练得到目标多重散射渲染模型。下面结合附图2示例性阐述本申请的一些实施例提供的获取目标多重散射渲染模型的实现过程。
请参见附图2,图2为本申请的一些实施例提供的一种获取目标多重散射渲染模型的方法流程图,该获取目标多重散射渲染模型的方法包括:
S210,通过哈希映射表,确定三维模型的多个采样点中每个采样点的位置特征向量。
例如,在本申请的一些实施例中,在训练之前,通过预先得到的哈希映射表,可以得到与三维模型中的每个采样点相关的位置特征向量。其中,哈希映射表中存储有采样点位置坐标和位置特征向量的对应关系。
具体的,哈希映射表的获取方法如下:请参见附图3,图3为训练模型的示意图,为了便于说明,图3中只示出了两个等级,即l=0和1。L是级别,在一个实施例中L的取值可以为16。图3中的T是每级哈希表的大小,具体来说,T=214~224,实际使用中,T=219。F是特征的维度,具体来说,F=2。Nmin是最粗糙分辨率,具体来说Nmin=16。Nmax是最精细分辨率,具体来说,Nmin=512~524288。对于l级分辨率,即向下取整,其中/>,b称为增长因子,b∈[1.26,2]。对于输入的采样点坐标x∈Rd,其在l级分辨率中有2d个顶点,构成一个体素,这里d表示维度,d=3即为三维。可以求出/>,/>即分别上取整和下取整来获得两个整数顶点坐标,进而可以算出体素所有2d个顶点的坐标。然后每个顶点通过l级哈希表,索引到对应的位置特征向量。其中,对于第i个顶点x,可以找到其8个相邻网格顶点/>(具有整数坐标),第i个顶点用哈希函数来计算每个顶点/>的哈希值:,式中,Hash i(x)为第i个顶点哈希函数,/>为按位或运算。通过上述公式计算出来的哈希值将用于得到索引哈希表(也就是哈希映射表),以便得出每个采样点的顶点的特征向量,然后,x的位置特征向量是8个网格顶点的特征向量的三线性插值。
在本申请的一些实施例中,S210还可以包括:获取相机射线与所述三维模型的包围盒交点;以所述包围盒交点为参考点进行采样,得到所述多个采样点;在所述哈希映射表中查找与每个采样点的位置坐标相对应的所述位置特征向量。
例如,在本申请的一些实施例中,首先需要确定三维模型的多个采样点,然后通过每个采用点的位置坐标在哈希映射表中查找对应的位置特征向量。具体的,图3中的3D物体为三维模型,相机发出的相机射线(简称射线)穿过3D物体,将相机射线与3D物体的包围盒交点作为参考点(即,3D物体与相机射线的交点),然后在交点附近和交点之间进行采样,得到多个采样点。其中,相机屏幕每个像素发射一条射线(实际中会有多条射线),每条射线上有很多采样点(假设每条射线有64条采样点),每个采样点的位置坐标对应的位置特征向量都可以作为后续网络模型的参数。在另一些实施例中,三维3D模型的密度场是已知的,相机射线上的密度分布也是已知的,因此,可以根据密度分布情况,在密度高的地方,分配更多采样点,反之密度低的地方,分配更少采样点,以此得到多个采样点。
在本申请的一些实施例中,三维模型是通过如下方法获取的:通过三维渲染引擎模拟出与参与介质相关的所述三维模型。
例如,在本申请的一些实施例中,通过3D渲染引擎模拟一个参与介质的3D模型(比如云),该模拟生成的方式中3D模型的密度分布和密度场是已知且可以调整的。
在本申请的另一些实施例中,三维模型是通过如下方法获取的:对原始物体进行拍照,获取多张散射图片,并对所述多张散射图片进行采样,得到多个采样点位置坐标;通过所述哈希映射表,查找与所述多个采样点位置坐标对应的特征向量;将所述特征向量输入至多层感知机网络模型中,得到符号距离场SDF值;利用移动立方体算法对所述SDF值进行渲染,得到所述三维模型;所述体密度是通过如下方法获取的:对所述SDF值进行计算得到所述体密度。
例如,在本申请的一些实施例中,请参见附图4,图4为训练模型的另一示意图,此时,图4中的3D物体为现实中的真实物体(作为原始物体的一个具体示例),真实物体的参与介质类型可以是“云”、“大理石”、“人体皮肤”等,其密度场和密度值均是未知的。因此,首先对真实物体进行多角度拍照(比如拍摄64张、128张等等),同时记录拍照方式(包括相机位置、相机角度)。需要说明的是,此时因为拍摄的是真实物体的图片,其中已经包含了多重散射效果,因此这里的输入只有多重散射效果的图片(也就是多张散射图片)。然后通过将多重散射效果的图片采样得到的多个采样点位置坐标,在哈希映射表(即图4中的哈希编码)中查找到对应的特征向量,将特征向量输入至一个8层隐藏层,每层256通道的多层感知机网络模型中进行处理,得到SDF值。得到SDF值后,可以通过Marching Cubs算法(也就是移动立方体算法)进行渲染,从而输出网格,即Mesh,也就是3D模型。之后,通过SDF值和相关公式可以计算出3D模型中每个采样点的体密度。
S220,获取每个采样点的样本参数的初始值,其中,所述样本参数的类型包括:所述三维模型的材质属性、体密度、透射率、反照率、相位特征、相机参数、光源方向、光源颜色、光源强度和阴影参数。
例如,在本申请的一些实施例中,3D模型的材质属性确定后,可以得到3D模型的密度场。其中,材质属性:按参与介质的种类,分为云、烟、雾、空气、玉石、牛奶、蜡、果肉、人体皮肤等。之后,基于每个采样点的位置,就可以求出每个采样点的体密度。对密度场进行降采样,得到不同分辨率的密度场,比如分辨率可以为10241024/>1024、512/>512/>512、256256/>256、128/>128/>128、64/>64/>64、32/>32/>32、16/>16/>16和8/>8/>8。将不同分辨率的密度场输入到下述公式中,可以得到透射率场T i
式中,ρ i(x)为第i级密度场,λ i+1为0~1的范围系数。
基于每个采样点的位置和透射率场,可以得到每个采样点的透射率。
另外,相机参数(也就是图3或图4中的相机方向)、光源(或称为光线)方向、光源颜色、光源强度是根据相机和光源发出的光线的实际情况确定的,阴影参数是通过采样得到的。
需要说明的是,“体密度”、“相机方向”、“光线方向”、“光线颜色”、“光线强度”以及“反照率”为可学习参数,初始值可以为随机值(比如采用截断的正态分布进行初始化)。其中,相机方向就是视角方向,是个三维向量;光源方向是个三维向量;光源颜色是RGB三维向量。反照率也可以是一个可学习参数,输出、输入网络模型中的是一个随机值,且不同材质属性的参与介质的反照率是不一样的,按照大类,气态和液态介质的初始值范围为0-0.5,固态介质的初始值范围为0.5-1。对于可学习参数,每次训练可学习参数都是不同的随机值,并通过神经网络自动调整取值。另外,可学习参数的好处是,训练好目标多重散射渲染模型后,可以调节这些可学习参数的值,从而使得目标多重散射渲染模型输出不同的效果。比如调整光线方向,可以得到在不同光线方向下的多重散射效果图片。
在本申请的一些实施例中,相位特征是从预计算相位特征表中查找得到的,预计算相位特征表是通过相位函数对每个采样点对应的采样模板上的模板点进行预计算得到的。
例如,在本申请的一些实施例中,为了获取预计算相位特征表可以首先确定相位函数。
具体的,相位函数的选取分为如下几种情况:
1)对于均匀参与介质,其相位函数与采样点位置无关,此时的吸收系数、散射系数和衰变系数均为常数,使用HG相位函数(Henyey-Greenstein Phase Function),其相位函数公式为:
其中,g∈(-1,1),其称为不对称参数。
2)多峰相位函数是由多个HG相位函数构成,其相位函数为:
其中,f p(θ,gi)就是HG相位函数,λ 1 2 +...+λ N =1,λ是每个HG的权重系数,N是HG的数量。
3)各向同性相位函数表示光线在介质中散射后,各个方向的散射概率相同,其相位函数为:f p(θ)=1/4π。
4)不同材质的相位函数不同,气态包括云、烟、雾等,使用HG相位函数;其中空气比较特殊,使用的是各向同性的相位函数;固液态包括玉石、牛奶、蜡、果肉等,使用双峰HG相位函数;对于人体皮肤,则使用多峰HG相位函数。另外,不同材质其不对称参数g也不同。具体的可以根据实际情况进行选择,本申请实施例在此不作具体限定。
在确定相位函数后,可以进行相位特征的计算,具体如下:
相位特征的公式为:
其中,s i是采样模板上的第i个模板点,p是介质中粒子的位置,是第i个模板点的相位值,/>是相位函数,入射光线l是光线入射方向,相机方向ω也是光线方向,(ω,s i - p)是出射角,(s i -p,l)是入射角。
模板点是有体积的点,入射光线在模板点的不同位置,会影响入射角和出射角。为了解决这个问题,需要沿模板点的体积进行积分,公式如下:
f是HG相位函数,l是入射光线方向,ω是相机方向,θ是入射角,φ是出射角,a表示当前模板点投影到点p处的立体角,是相位函数的积分形式,/>也是相位函数的积分形式,φ是与θ相乘,大于cos(a/2)的所有角度,Ω是所有φ组成的角度空间。
另外,上文中的采样模板是一个固定大小的体积,里面分布着模板点,对每个采样点使用采样模板后,可以得到对这个采样点有辐射能量贡献的模板点,然后可以用模板点来估计每个采样点。在实际应用中,可以采用以下两种采样模板中的任一种,第一种是球体采样模板,优点是可以模拟漫反射光照;第二种是柱体采样模板,优点是可以模拟高光反射光照和阴影效果。具体的,对于球体采样模板,其模板点有固定的分布规律,我们将采样模板分成n层,得到S={s 1s 2,...,s n},其中S表示模板,s i表示第i个模板点。漫反射模板一共6层,252个模板点,第0层4个采样点,其中1个在球心,3个在球体内部均匀分布;第1到第5层分别为8个、16个、32个、64个、128个采样点,均匀分布在当前层球体表面与前一层球体表面之间的区域。柱体采样模板,其是沿入射光的逆方向进行采样,从入射光穿过3D模型到当前采样点,按照距离分成4层,每层模版点的数量分别为64、32、16、16,一共128个模板点。
需要注意的是,采样点和模板点不是同一个,采样点是分布在相机射线上的点,而模板点是分布在采样模板上的点。
S230,将所述位置特征向量和所述样本参数中的部分参数的初始值输入至第一网络模型,得到模型颜色预测结果,其中,所述部分参数包括:所述体密度、所述相机参数、所述光源方向、所述光源颜色、所述光源强度和所述阴影参数。
例如,在本申请的一些实施例中,将每个采样点的位置特征(也就是位置特性向量)、体密度、相机方向、光线方向、光线颜色、光源强度和阴影强度输入到图3或图4右下方的模型(作为第一网络模型的一个具体示例)中得到模型颜色(作为模型颜色预测结果的一个具体示例)。其中,“模型颜色”表示每个采样点在原始的3D模型中的颜色。
S240,将所述位置特征向量、所述样本参数的初始值和所述模型颜色预测结果输入至第二网络模型,得到多重散射预测结果。
例如,在本申请的一些实施例中,将模型颜色、每个采样点的位置特征和其他所有的样本参数均输入到图3或图4右上方的模型(作为第二网络模型的一个具体示例)中得到散射颜色(作为多重散射预测结果的一个具体示例)。其中,“散射颜色”表示每个采样点在多重散射效果的3D模型中的颜色。
需要说明的是,针对上文中提及的3D模型的获取方法,可以确认是采用图3还是图4的模型结构,应理解可以根据实际情况进行灵活选择。
S250,通过第一损失函数计算出的所述模型颜色预测结果与所述三维模型间的损失优化所述第一网络模型,并通过第二损失函数计算出的所述多重散射预测结果与所述三维模型对应的多重散射真实值间的损失优化所述第二网络模型,获取目标多重散射渲染模型。
例如,在本申请的一些实施例中,正常情况下,每条相机射线上所有采样点的“模型颜色”,通过体渲染累加后得到的像素颜色应该等于原始3D模型拍摄的图片对应的像素的颜色。每条相机射线上所有采样点的“散射颜色”,通过体渲染累加后得到的像素颜色,等于多重散射效果的3D模型拍摄的图片对应的像素的颜色。基于此,通过第一损失函数对模型颜色和原始3D模型拍摄的图片对应的像素的颜色进行计算,得到第一损失值,通过第一损失值对第一网络模型进行优化。通过第二损失函数对散射颜色和多重散射效果的3D模型拍摄的图片对应的像素的颜色(作为多重散射真实值的一个具体示例)进行计算,得到第二损失值,通过第二损失值对第二网络模型进行优化。其中,多重散射真实值是通过路径积分和蒙特卡洛积分等传统计算多重散射的方法得到的。优化完成后(例如,预测得到的结果的准确率达到预设阈值的要求认为优化完成)得到符合要求的目标多重散射渲染模型。
在一个具体示例中,第一损失函数和第二损失函数均可以采用如下形式:
Ycolor是颜色重建损失,,/>是屏幕像素真实颜色值,/>是网络模型的预测值(模型颜色或散射颜色)。Ydisparity是视差损失,是一种正则化损失,视差损失鼓励视差不要太大,这对减少漂浮的伪影有改善作用。
其中视差disparity是通过采样逆距离的加权和,即:
其中Ti是体渲染计算的权重,λ是正则化系数,在不同数据集中,λ值不同。
下面结合附图5示例性阐述本申请的一些实施例提供的由渲染服务器200执行的多重散射实时渲染的具体过程。
请参见附图5,图5为本申请的一些实施例提供的一种多重散射实时渲染的方法流程图,该多重散射实时渲染的方法包括:S510,获取待渲染原始三维模型在多个角度的模型图片;S520,至少将所述多个角度的模型图片输入至经过训练得到的目标多重散射渲染模型,得到多重散射效果图片。
例如,在本申请的一些实施例中,对通过3D渲染引擎建模得到待渲染原始三维模型进行各个角度的拍摄得到多个角度的模型图片。将多个角度的模型图片输入到经过上文训练的方法实施例得到的目标多重散射渲染模型中,得到多重散射效果的新视角图片(作为多重散射效果图片的一个具体示例)。
在本申请的另一些实施例中,多重散射实时渲染的方法还可以包括:获取与所述待渲染原始三维模型相关的渲染参数,其中,所述渲染参数包括以下中的至少一种:相机参数、光源方向、光源颜色、光源强度和阴影参数;将所述多个角度的模型图片和所述渲染参数输入至所述目标多重散射渲染模型,输出所述多重散射效果图片。
例如,在本申请的一些实施例中,用户可以在终端100设置相关的渲染参数,例如,调整光源方向、相机角度(作为相机参数的一个具体示例)等,给到渲染服务器200。渲染服务器可以将渲染参数和多个角度的模型图片一起输入到目标多重散射渲染模型中,得到多重散射效果的新视角图片。可以理解的是,通过输入调整的光源方向、相机角度等渲染参数,可以得到在不同光线方向和相机角度下的多重散射效果,灵活性较高。
请参考图6,图6示出了本申请的一些实施例提供的多重散射实时渲染的装置的组成框图。应理解,该多重散射实时渲染的装置与上述方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该多重散射实时渲染的装置的具体功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
图6的多重散射实时渲染的装置包括至少一个能以软件或固件的形式存储于存储器中或固化在多重散射实时渲染的装置中的软件功能模块,该多重散射实时渲染的装置包括:映射模块610,用于通过哈希映射表,确定三维模型的多个采样点中每个采样点的位置特征向量;获取模块620,用于获取每个采样点的样本参数的初始值,其中,所述样本参数的类型包括:所述三维模型的材质属性、体密度、透射率、反照率、相位特征、相机参数、光源方向、光源颜色、光源强度和阴影参数;第一预测模块630,用于将所述位置特征向量和所述样本参数中的部分参数的初始值输入至第一网络模型,得到模型颜色预测结果,其中,所述部分参数包括:所述体密度、所述相机参数、所述光源方向、所述光源颜色、所述光源强度和所述阴影参数;第二预测模块640,用于将所述位置特征向量、所述样本参数的初始值和所述模型颜色预测结果输入至第二网络模型,得到多重散射预测结果;模型优化模块650,用于通过第一损失函数计算出的所述模型颜色预测结果与所述三维模型间的损失优化所述第一网络模型,并通过第二损失函数计算出的所述多重散射预测结果与所述三维模型对应的多重散射真实值间的损失优化所述第二网络模型,获取目标多重散射渲染模型。
请参考图7,图7示出了本申请的一些实施例提供的多重散射实时渲染的装置的组成框图。应理解,该多重散射实时渲染的装置与上述方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该多重散射实时渲染的装置的具体功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
图7的多重散射实时渲染的装置包括至少一个能以软件或固件的形式存储于存储器中或固化在多重散射实时渲染的装置中的软件功能模块,该多重散射实时渲染的装置包括:拍摄模块710,用于获取待渲染原始三维模型在多个角度的模型图片;散射结果输出模块720,用于至少将所述多个角度的模型图片输入至经过训练得到的目标多重散射渲染模型,得到多重散射效果图片。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
本申请的一些实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如上述实施例提供的上述方法中的任意实施例所对应方法的操作。
本申请的一些实施例还提供了一种计算机程序产品,所述的计算机程序产品包括计算机程序,其中,所述的计算机程序被处理器执行时可实现如上述实施例提供的上述方法中的任意实施例所对应方法的操作。
如图8所示,本申请的一些实施例提供一种电子设备800,该电子设备800包括:存储器810、处理器820以及存储在存储器810上并可在处理器820上运行的计算机程序,其中,处理器820通过总线830从存储器810读取程序并执行所述程序时可实现如上述任意实施例的方法。
处理器820可以处理数字信号,可以包括各种计算结构。例如复杂指令集计算机结构、结构精简指令集计算机结构或者一种实行多种指令集组合的结构。在一些示例中,处理器820可以是微处理器。
存储器810可以用于存储由处理器820执行的指令或指令执行过程中相关的数据。这些指令和/或数据可以包括代码,用于实现本申请实施例描述的一个或多个模块的一些功能或者全部功能。本公开实施例的处理器820可以用于执行存储器810中的指令以实现上述所示的方法。存储器810包括动态随机存取存储器、静态随机存取存储器、闪存、光存储器或其它本领域技术人员所熟知的存储器。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种多重散射实时渲染的方法,其特征在于,包括:
通过哈希映射表,确定三维模型的多个采样点中每个采样点的位置特征向量;
获取每个采样点的样本参数的初始值,其中,所述样本参数的类型包括:所述三维模型的材质属性、体密度、透射率、反照率、相位特征、相机参数、光源方向、光源颜色、光源强度和阴影参数;
将所述位置特征向量和所述样本参数中的部分参数的初始值输入至第一网络模型,得到模型颜色预测结果,其中,所述部分参数包括:所述体密度、所述相机参数、所述光源方向、所述光源颜色、所述光源强度和所述阴影参数;
将所述位置特征向量、所述样本参数的初始值和所述模型颜色预测结果输入至第二网络模型,得到多重散射预测结果;
通过第一损失函数计算出的所述模型颜色预测结果与所述三维模型间的损失优化所述第一网络模型,并通过第二损失函数计算出的所述多重散射预测结果与所述三维模型对应的多重散射真实值间的损失优化所述第二网络模型,获取目标多重散射渲染模型。
2.如权利要求1所述的方法,其特征在于,所述通过哈希映射表,确定三维模型的多个采样点中每个采样点的位置特征向量,包括:
获取相机射线与所述三维模型的包围盒交点;
以所述包围盒交点为参考点进行采样,得到所述多个采样点;
在所述哈希映射表中查找与每个采样点的位置坐标相对应的所述位置特征向量。
3.如权利要求1或2所述的方法,其特征在于,所述三维模型是通过如下方法获取的:
通过三维渲染引擎模拟出与参与介质相关的所述三维模型。
4.如权利要求1或2所述的方法,其特征在于,所述三维模型是通过如下方法获取的:
对原始物体进行拍照,获取多张散射图片,并对所述多张散射图片进行采样,得到多个采样点位置坐标;
通过所述哈希映射表,查找与所述多个采样点位置坐标对应的特征向量;
将所述特征向量输入至多层感知机网络模型中,得到符号距离场SDF值;
利用移动立方体算法对所述SDF值进行渲染,得到所述三维模型;
所述体密度是通过如下方法获取的:
对所述SDF值进行计算得到所述体密度。
5.如权利要求1或2所述的方法,其特征在于,所述相位特征是从预计算相位特征表中查找得到的,所述预计算相位特征表是通过相位函数对每个采样点对应的采样模板上的模板点进行预计算得到的。
6.一种多重散射实时渲染的方法,其特征在于,包括:
获取待渲染原始三维模型在多个角度的模型图片;
至少将所述多个角度的模型图片输入至经过权利要求1~5中任一项所述的方法得到的目标多重散射渲染模型,得到多重散射效果图片。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
获取与所述待渲染原始三维模型相关的渲染参数,其中,所述渲染参数包括以下中的至少一种:相机参数、光源方向、光源颜色、光源强度和阴影参数;
将所述多个角度的模型图片和所述渲染参数输入至所述目标多重散射渲染模型,输出所述多重散射效果图片。
8.一种多重散射实时渲染的装置,其特征在于,包括:
映射模块,用于通过哈希映射表,确定三维模型的多个采样点中每个采样点的位置特征向量;
获取模块,用于获取每个采样点的样本参数的初始值,其中,所述样本参数的类型包括:所述三维模型的材质属性、体密度、透射率、反照率、相位特征、相机参数、光源方向、光源颜色、光源强度和阴影参数;
第一预测模块,用于将所述位置特征向量和所述样本参数中的部分参数的初始值输入至第一网络模型,得到模型颜色预测结果,其中,所述部分参数包括:所述体密度、所述相机参数、所述光源方向、所述光源颜色、所述光源强度和所述阴影参数;
第二预测模块,用于将所述位置特征向量、所述样本参数的初始值和所述模型颜色预测结果输入至第二网络模型,得到多重散射预测结果;
模型优化模块,用于通过第一损失函数计算出的所述模型颜色预测结果与所述三维模型间的损失优化所述第一网络模型,并通过第二损失函数计算出的所述多重散射预测结果与所述三维模型对应的多重散射真实值间的损失优化所述第二网络模型,获取目标多重散射渲染模型。
9.一种多重散射实时渲染的装置,其特征在于,包括:
拍摄模块,用于获取待渲染原始三维模型在多个角度的模型图片;
散射结果输出模块,用于至少将所述多个角度的模型图片输入至经过权利要求1~5中任一项所述的方法得到的目标多重散射渲染模型,得到多重散射效果图片。
10.一种电子设备,其特征在于,包括存储器、处理器以及存储在所述存储器上并在所述处理器上运行的计算机程序,其中,所述计算机程序被所述处理器运行时执行如权利要求1-7中任意一项所述的方法。
CN202311551123.XA 2023-11-21 2023-11-21 一种多重散射实时渲染的方法、装置及电子设备 Active CN117274473B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311551123.XA CN117274473B (zh) 2023-11-21 2023-11-21 一种多重散射实时渲染的方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311551123.XA CN117274473B (zh) 2023-11-21 2023-11-21 一种多重散射实时渲染的方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN117274473A true CN117274473A (zh) 2023-12-22
CN117274473B CN117274473B (zh) 2024-02-02

Family

ID=89221896

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311551123.XA Active CN117274473B (zh) 2023-11-21 2023-11-21 一种多重散射实时渲染的方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN117274473B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090006044A1 (en) * 2007-06-26 2009-01-01 Microsoft Corporation Real-Time Rendering of Light-Scattering Media
US20130335434A1 (en) * 2012-06-19 2013-12-19 Microsoft Corporation Rendering global light transport in real-time using machine learning
CN108701370A (zh) * 2016-03-10 2018-10-23 西门子保健有限责任公司 基于机器学习的基于内容的医学成像渲染
CN111583371A (zh) * 2020-04-30 2020-08-25 山东大学 基于神经网络的参与性介质多重散射绘制方法及系统
US20220114799A1 (en) * 2020-06-29 2022-04-14 Shanghai Sensetime Intelligent Technology Co., Ltd. Three dimensional model generation method and apparatus, and neural network generating method and apparatus
WO2022116659A1 (zh) * 2020-12-02 2022-06-09 成都完美时空网络技术有限公司 一种体积云渲染方法、装置、程序和可读介质
JP2023015654A (ja) * 2021-07-20 2023-02-01 シリコンスタジオ株式会社 画像処理システム、方法、及びプログラム
CN115937394A (zh) * 2022-12-05 2023-04-07 百果园技术(新加坡)有限公司 一种基于神经辐射场的三维图像渲染方法及系统
CN116051719A (zh) * 2022-11-29 2023-05-02 百果园技术(新加坡)有限公司 一种基于神经辐射场模型的图像渲染方法及装置
CN116310053A (zh) * 2023-01-19 2023-06-23 安徽空境信息科技有限公司 场景渲染中光强分布的确定方法、渲染方法、设备和介质
CN116863069A (zh) * 2023-06-08 2023-10-10 北京邮电大学 三维光场人脸内容生成方法、电子设备及存储介质
CN116977522A (zh) * 2023-06-02 2023-10-31 腾讯科技(深圳)有限公司 三维模型的渲染方法、装置、计算机设备和存储介质
US20230360312A1 (en) * 2020-12-29 2023-11-09 Shanghai United Imaging Healthcare Co., Ltd. Systems and methods for image processing

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090006044A1 (en) * 2007-06-26 2009-01-01 Microsoft Corporation Real-Time Rendering of Light-Scattering Media
US20130335434A1 (en) * 2012-06-19 2013-12-19 Microsoft Corporation Rendering global light transport in real-time using machine learning
CN108701370A (zh) * 2016-03-10 2018-10-23 西门子保健有限责任公司 基于机器学习的基于内容的医学成像渲染
CN111583371A (zh) * 2020-04-30 2020-08-25 山东大学 基于神经网络的参与性介质多重散射绘制方法及系统
US20220114799A1 (en) * 2020-06-29 2022-04-14 Shanghai Sensetime Intelligent Technology Co., Ltd. Three dimensional model generation method and apparatus, and neural network generating method and apparatus
WO2022116659A1 (zh) * 2020-12-02 2022-06-09 成都完美时空网络技术有限公司 一种体积云渲染方法、装置、程序和可读介质
US20230360312A1 (en) * 2020-12-29 2023-11-09 Shanghai United Imaging Healthcare Co., Ltd. Systems and methods for image processing
JP2023015654A (ja) * 2021-07-20 2023-02-01 シリコンスタジオ株式会社 画像処理システム、方法、及びプログラム
CN116051719A (zh) * 2022-11-29 2023-05-02 百果园技术(新加坡)有限公司 一种基于神经辐射场模型的图像渲染方法及装置
CN115937394A (zh) * 2022-12-05 2023-04-07 百果园技术(新加坡)有限公司 一种基于神经辐射场的三维图像渲染方法及系统
CN116310053A (zh) * 2023-01-19 2023-06-23 安徽空境信息科技有限公司 场景渲染中光强分布的确定方法、渲染方法、设备和介质
CN116977522A (zh) * 2023-06-02 2023-10-31 腾讯科技(深圳)有限公司 三维模型的渲染方法、装置、计算机设备和存储介质
CN116863069A (zh) * 2023-06-08 2023-10-10 北京邮电大学 三维光场人脸内容生成方法、电子设备及存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
GE L, WANG B, WANG L, ET AL.: "Interactive simulation of scattering effects in participating media using a neural network model", 《IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS》, pages 3123 - 3134 *
温佩芝;朱立坤;黄佳;: "非均匀玉石真实感实时渲染方法", 桂林电子科技大学学报, no. 04, pages 321 - 328 *
谢永华;袁复兴;王畅;: "基于重要性采样的三维云光照模型的研究", 系统仿真学报, no. 01, pages 57 - 62 *
过洁;潘金贵;郭延文: "非经典参与介质的渲染方法研究综述", 《软件学报》, pages 1944 - 1961 *

Also Published As

Publication number Publication date
CN117274473B (zh) 2024-02-02

Similar Documents

Publication Publication Date Title
KR101169081B1 (ko) 쉘 텍스처 함수
CN113014906A (zh) 日常场景重建引擎
CN114419240B (zh) 光照渲染方法、装置、计算机设备和存储介质
CN114119853B (zh) 图像渲染方法、装置、设备和介质
CN111583371B (zh) 基于神经网络的参与性介质多重散射绘制方法及系统
Heidrich et al. An image-based model for realistic lens systems in interactive computer graphics
CN112396684A (zh) 光线追踪方法、装置及机器可读存储介质
Yao et al. Multi‐image based photon tracing for interactive global illumination of dynamic scenes
CN116030180B (zh) 辐照度缓存光照计算方法及装置、存储介质、计算机设备
CA3199390A1 (en) Systems and methods for rendering virtual objects using editable light-source parameter estimation
CN117333637A (zh) 三维场景的建模及渲染方法、装置及设备
CN117351133B (zh) 一种数据渲染方法、装置、设备及计算机可读存储介质
WO2024148898A1 (zh) 图像降噪方法、装置、计算机设备和存储介质
Ge et al. Interactive simulation of scattering effects in participating media using a neural network model
CN116091684B (zh) 基于WebGL的图像渲染方法、装置、设备及存储介质
CN117274473B (zh) 一种多重散射实时渲染的方法、装置及电子设备
CN115775294A (zh) 一种场景渲染方法及装置
Abbas et al. Gaussian radial basis function for efficient computation of forest indirect illumination
CN117876564B (zh) 图像处理方法及相关设备
WO2024183489A1 (zh) 阴影渲染方法、装置、计算机设备和存储介质
Reich et al. Illumination‐driven Mesh Reduction for Accelerating Light Transport Simulations
Mas et al. Fast inverse reflector design (FIRD)
Sloan et al. Ambient obscurance baking on the GPU
Taka 3D Gaussian splatting theory and variance rendering extension
Andrade et al. An unstructured lumigraph based approach to the SVBRDF estimation problem

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
GR01 Patent grant
GR01 Patent grant