CN117292068B - 一种多重散射分布生成网络训练方法、渲染方法及装置 - Google Patents
一种多重散射分布生成网络训练方法、渲染方法及装置 Download PDFInfo
- Publication number
- CN117292068B CN117292068B CN202311581860.4A CN202311581860A CN117292068B CN 117292068 B CN117292068 B CN 117292068B CN 202311581860 A CN202311581860 A CN 202311581860A CN 117292068 B CN117292068 B CN 117292068B
- Authority
- CN
- China
- Prior art keywords
- sampling
- template
- preset
- feature
- module
- 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.)
- Active
Links
- 238000009826 distribution Methods 0.000 title claims abstract description 200
- 238000000034 method Methods 0.000 title claims abstract description 115
- 238000012549 training Methods 0.000 title claims abstract description 59
- 238000009877 rendering Methods 0.000 title claims abstract description 55
- 238000005070 sampling Methods 0.000 claims abstract description 547
- 238000000605 extraction Methods 0.000 claims abstract description 75
- 238000012545 processing Methods 0.000 claims abstract description 56
- 238000007499 fusion processing Methods 0.000 claims abstract description 19
- 230000007246 mechanism Effects 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 120
- 230000005540 biological transmission Effects 0.000 claims description 110
- 239000002245 particle Substances 0.000 claims description 50
- 230000005855 radiation Effects 0.000 claims description 46
- 238000004422 calculation algorithm Methods 0.000 claims description 34
- 239000013598 vector Substances 0.000 claims description 34
- 230000008569 process Effects 0.000 claims description 33
- 230000000694 effects Effects 0.000 claims description 23
- 230000009466 transformation Effects 0.000 claims description 13
- 238000011176 pooling Methods 0.000 claims description 12
- 239000007788 liquid Substances 0.000 claims description 11
- 238000001125 extrusion Methods 0.000 claims description 10
- 230000005284 excitation Effects 0.000 claims description 9
- 230000004927 fusion Effects 0.000 claims description 9
- 238000010521 absorption reaction Methods 0.000 claims description 8
- 230000036555 skin type Effects 0.000 claims description 8
- 230000004913 activation Effects 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 7
- 238000000149 argon plasma sintering Methods 0.000 claims description 6
- 230000002902 bimodal effect Effects 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims description 4
- 230000000149 penetrating effect Effects 0.000 claims description 4
- 230000001131 transforming effect Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 abstract description 15
- 239000007787 solid Substances 0.000 abstract description 5
- 238000012512 characterization method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 238000013527 convolutional neural network Methods 0.000 description 11
- 125000003275 alpha amino acid group Chemical group 0.000 description 9
- 239000000463 material Substances 0.000 description 8
- 150000001875 compounds Chemical class 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 230000010354 integration Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 239000000779 smoke Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 239000010977 jade Substances 0.000 description 2
- 239000008267 milk Substances 0.000 description 2
- 210000004080 milk Anatomy 0.000 description 2
- 235000013336 milk Nutrition 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 241000894007 species Species 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000018199 S phase Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000008264 cloud Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 239000003897 fog Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000031700 light absorption Effects 0.000 description 1
- 239000011344 liquid material Substances 0.000 description 1
- 238000004020 luminiscence type Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- -1 skin Substances 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 239000001993 wax Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E60/00—Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Image Generation (AREA)
Abstract
本公开实施例提供了一种多重散射分布生成网络训练方法、渲染方法及装置,预先构建了多重散射分布生成网络,采用预设采样模板对待训练三维体积介质进行预设特征采样,并将采样结果预先存储;针对每种特征采样得到的采样特征,将该采样特征输入对应的分支网络模块,在该分支网络经过注意力机制处理,以及对配置参数融合处理,得到对该采样特征的特征提取结果;将各采样特征对应的分支网络模块分别输出的特征提取结果进行融合处理后,输入结果处理模块得到预测的多重散射分布结果;基于预测的多重散射分布结果以及确定的多重散射分布真值对所述多重散射分布生成网络进行训练。用更少的计算量获得同等渲染质量,为实现实时渲染打下坚实基础。
Description
技术领域
本公开涉及三维重建领域,尤其涉及一种多重散射分布生成网络训练方法、渲染方法及装置。
背景技术
体积介质也称为参与介质,光线穿过类似云、烟、雾、尘埃、玉石、牛奶、皮肤、蜡、果肉等体积介质时,会产生数万次折射、散射、吸收等现象。如何逼真且高效的渲染体积介质,一直困扰着学术界和产业界。对于逼真的渲染效果而言,一般采用体渲染方法来模拟光线在体积介质中的真实传输过程,即在三维体积内部通过路径追踪来求解辐射传输方程,很精确,但开销巨大,无法实时渲染。以云为例,即使以今天的计算能力,使用蒙特卡洛路径跟踪渲染1280×720的云也需要大约一天的时间才能收敛。
发明内容
本公开实施例提供了一种多重散射分布生成网络训练方法、渲染方法及装置,用以解决现有的对三维体积介质进行渲染时计算量大无法实现实时渲染的问题。
基于上述问题,第一方面、提供一种多重散射分布生成网络训练方法,包括:
预先构建多重散射分布生成网络;所述网络包括针对不同采样特征分别进行特征提取的分支网络模块,以及结果处理模块;
采用预设采样模板对待训练三维体积介质进行预设特征采样,所述预设特征采样包括:密度特征采样、透射特征采样、以及相位特征采样;
针对每种特征采样得到的采样特征,将该采样特征输入对应的分支网络模块,在该分支网络经过注意力机制处理,以及对配置参数融合处理,得到对该采样特征的特征提取结果;所述配置参数基于确定散射分布所采用预设算法确定;
将各采样特征对应的分支网络模块分别输出的特征提取结果进行融合处理后,输入所述结果处理模块得到预测的多重散射分布结果;
基于预测的多重散射分布结果以及确定的多重散射分布真值对所述多重散射分布生成网络进行训练。
在结合第一方面的任一种可能的实施方式中,所述预设采样模板包括漫反射采样模板和高光采样模板;所述漫反射采样模板包括第一层数的同心球体,且在球心、最内层球体内区域、以及相邻两层球体之间区域分别均匀分布有第一预设数量的第一模板点;所述高光采样模板包括从入射光穿入三维体积介质的入射点,至作为采样点的三维体积介质粒子,沿入射光方向平均分成第二层数,且每一层包含第二预设数量的第二模板点;
采用预设采样模板对待训练三维体积介质进行预设特征采样,包括:针对使用所述漫反射采样模板和所述高光采样模板对所述三维体积介质的每次采样,将该次采样时作为采样点的体积介质粒子与所述漫反射采样模板的球心对应,通过所述第一模板点以及所述第二模板点,对该采样点进行预设特征采样。
在结合第一方面的任一种可能的实施方式中,所述方法还包括:确定所述漫反射模板各层球体的半径;
确定所述漫反射采样模板各层球体的半径,包括:针对所述漫反射采样模板每层球体,为该层球体内每个第一模板点确定该层球体内与该第一模板点距离最近的第一模板点,并确定该第一模板点对应的最短距离;基于每个第一模板点对应的最短距离确定最短距离的平均值,得到该层球体对应的最短距离平均值;基于该层球体对应最短平均距离以及控制模板重叠率的经验参数确定该层球体的半径,且满足:最短平均距离越小,对应球体层半径越大;其中,每层球体内第一模板点包括该层球体表面与和与该层球体向内相邻层球体表面之间的第一模板点。
在结合第一方面的任一种可能的实施方式中,针对预设特征为透射特征的情况,通过所述第一模板点以及所述第二模板点,对该采样点进行预设特征采样,包括:基于所述待训练三维体积介质的原始分辨率,对所述待训练三维体积介质的密度场进行降采样,得到第三预设数量个分辨率等级的密度场;针对每个分辨率等级的密度场,通过预设分级透射场算法确定该分辨率等级的密度场下,光线从该采样点分别传播至各模板点的分级透射场; 针对每个模板点,将该模板点与该采样点针对各分辨率等级密度场分别确定的分级透射场,输入预设权重预测网络模型,按照对应预测权重对输入的各分级透射场叠加处理,得到该模板点与该采样点对应的透射特征;所述模板点包括:第一模板点以及第二模板点。
在结合第一方面的任一种可能的实施方式中,针对预设特征为相位特征的情况,通过所述第一模板点以及所述第二模板点,对该采样点进行预设特征采样,包括:针对每个模板点,基于入射光线传播到该模板点再经过该采样点沿相机方向出射过程中入射光线的入射角和出射光线的出射角,以及预设相位函数,确定该模板点相对于该采样点的相位特征;所述模板点包括:第一模板点以及第二模板点;
针对每个模板点,基于入射光线传播到该模板点再经过该采样点沿相机方向出射过程中入射光线的入射角和出射光线的出射角,以及预设相位函数,确定该模板点相对于该采样点的相位特征,包括:针对每个模板点,在入射角变换范围上对预设相位函数进行积分,得到入射光线方向的第一体积相位,以及在出射角变化范围上对预设相位函数进行积分,得到相机方向的第二体积相位;将所述第一体积相位与所述第二体积相位的乘积确定为该模板点相对于该采样点的相位特征。
在结合第一方面的任一种可能的实施方式中,所述三维体积介质包括:气态类型三维体积介质、固液态类型三维体积介质、以及皮肤类型三维体积介质;
所述方法还包括:为不同类型的待训练三维体积介质确定对应的预设相位函数;
为不同类型的待训练三维体积介质确定对应的预设相位函数,包括:将各向同性相位函数确定为空气类型的待训练三维体积介质对应的预设相位函数;将HG相位函数确定为气态类型待训练三维体积介质对应的预设相位函数;将双峰亨尼-格林斯坦HG相位函数确定为固液态类型待训练三维体积介质对应的预设相位函数;将多峰HG相位函数确定为皮肤类型待训练三维体积介质对应的预设相位函数。
在结合第一方面的任一种可能的实施方式中,针对每种预设采样模板,为该种预设采样模板设置有与不同采样特征分别对应的分支网络模块;且所述分支网络模块并行对对应采样特征进行处理;
针对每种特征采样得到的采样特征,将该采样特征输入对应的分支网络模块,在该分支网络经过注意力机制处理,以及对配置参数融合处理,得到对该采样特征的特征提取结果,包括:针对为对应预设采样模板以及对应采样特征设置的分支网络模块,确定该预设采样模板第一层包含的模板点针对该采样特征进行采样得到的第一采样特征;将该预设采样模板的第一层作为当前层,迭代执行如下步骤:将该第一采样特征与配置参数进行融合处理并输入注意力模块;将注意力模块输出的结果经过第一全连接模块处理后,与该预设采样模板当前层的下一层包含的模板点针对该采样特征采样得到的第二采样特征进行融合处理;融合后的结果经过第二全连接模块处理后再与该第一采样特征进行融合处理,得到当前层输出的特征提取结果;若当前层的下一层不为最后一层,则将当前层的输出特征作为新的第一采样特征,并将当前层的下一层作为新的当前层,返回执行与配置参数进行融合处理的步骤;若当前层的下一层为最后一层,则输出该预设采样模板当前层输出的特征提取结果;
将各采样特征对应的分支网络模块分别输出的特征提取结果进行融合处理后,输入所述结果处理模块得到预测的多重散射分布结果,包括:将各采样特征对应的分支网络模块分别输出的特征提取结果进行融合处理后,输入全连接模块或者多层感知器MLPs网络模块,并输出预测的多重散射分布结果。
在结合第一方面的任一种可能的实施方式中,所述注意力模块包括:挤压模块、权重系数生成模块、和激励模块;
注意力模块采用如下方式对输入进行处理:所述挤压模块基于输入的融合后的第一采样特征和配置参数,确定注意力向量;所述注意力向量包括如下维度:第一采样特征的最大池化维度、第一采样特征的平均池化维度、每个配置参数对应的维度;将所述注意力向量输入所述权重系数生成模块经过激活处理得到所述注意力向量各个维度的权重系数;通过所述激励模块将经过对应权重系数处理后的注意力特征输出。
在结合第一方面的任一种可能的实施方式中,为每种采样特征分别设置对应的分支网络模块;且所述分支网络模块并行对对应采样特征进行处理;
针对每种特征采样得到的采样特征,将该采样特征输入对应的分支网络模块,在该分支网络经过注意力机制处理,以及对配置参数融合处理,得到对该采样特征的特征提取结果,包括:针对为对应采样特征设置的分支网络模块,确定该采样特征对应的采样类型特征空间,并将采样类型特征空间包含的采样特征输入注意力模块;并将注意力模块输出的结果和配置参数在融合模块进行融合,得到该分支网络模块输出的针对应采样特征的特征提取结果;其中,所述采样特征对应的采样类型特征空间包括:针对该采样特征,采用预设采样模板对所述待训练三维体积介质三维空间中的体积介质粒子完成预设次数采样,该预设次数采样使用的预设采样模板所包含的模板点总数构成的三维空间;所述注意力模块包括三维变形器transformer网络模块;所述融合模块包括三维U型网络UNet模块;
将各采样特征对应的分支网络模块分别输出的特征提取结果进行融合处理后,输入所述结果处理模块得到预测的多重散射分布结果,包括:将各采样特征对应的分支网络模块分别输出的特征提取结果进行融合处理后,输入全连接模块或者MLPs网络模块,并输出预测的多重散射分布结果。
在结合第一方面的任一种可能的实施方式中,所述预设算法包括辐射传输方程,或在体积介质不发光,以及介质反照率恒定的设定条件下,对辐射传输方程进行简化处理并积分得到的辐射传输方程简化方程;所述辐射传输方程为光线在体积介质粒子处沿传播方向穿过体积介质时的出射光线辐射强度变化方程;所述配置参数基于确定散射分布所采用预设算法确定,包括:从辐射传输方程中提取同向散射项,通过所述辐射传输方程简化方程以及入射光线吸收方程对所述散射项进行变换得到同向散射方程;所述同向散射方程以体积介质粒子和光线在介质粒子处穿过体积介质方向为自变量,以多重散射分布为因变量,且所述同向散射方程至少包含如下参数:相位函数、反照率、及分阶段同向散射项;则所述配置参数包括至少如下之一:HG相位函数的不对称参数、反照率、入射光线和相机方向的夹角。
在结合第一方面的任一种可能的实施方式中,基于预测的多重散射分布结果以及采用所述预设算法确定的多重散射分布真值对所述多重散射分布生成网络进行训练,包括:基于光线散射分布项和反照率构建损失函数;将预测的多重散射分布结果和预设算法确定的多重散射分布真值带入所述损失函数确定损失;基于确定的损失,对所述多重散射分布生成网络进行训练。
第二方面、提供一种多重散射分布渲染方法,包括:
获取待渲染三维体积介质;
采用预设采样模板对待渲染三维体积介质进行预设特征采样,所述预设特征采样包括:密度特征采样、透射特征采样、以及相位特征采样,并将采样结果预先存储;
将预先存储的针对不同采样特征的采样结果输入如第一方面或者结合第一方面的任一种实施例训练得到的多重散射分布生成网络,得到预测的散射分布结果;
将所述散射分布结果带入辐射传输方程中,为待渲染三维体积介质渲染出散射效果。
第三方面、提供一种多重散射分布渲染相关装置,包括:提供如第一方面或者结合第一方面的任一种实施例所述的多重散射分布生成网络训练方法的步骤对应功能模块的多重散射分布生成网络训练装置;或者如第二方面所述的多重散射分布渲染方法的步骤对应功能模块的多重散射分布渲染装置。
第四方面、提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面或者结合第一方面的任一种实施例所述的多重散射分布生成网络训练方法的步骤,或者如第二方面所述的多重散射分布渲染方法的步骤。
第五方面、提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面或者结合第一方面的任一种实施例所述的多重散射分布生成网络训练方法的步骤,或者如第二方面所述的多重散射分布渲染方法的步骤。
本公开实施例的有益效果包括:
本公开实施例提供的一种多重散射分布生成网络训练方法、渲染方法及装置,在多重散射分布生成网络训练方法中,预先构建了多重散射分布生成网络,采用预设采样模板对待训练三维体积介质进行预设特征采样,即密度特征采样、透射特征采样、以及相位特征采样,并将采样结果预先存储;针对每种特征采样得到的采样特征,将该采样特征输入对应的分支网络模块,在该分支网络经过注意力机制处理,以及对配置参数融合处理,得到对该采样特征的特征提取结果;将各采样特征对应的分支网络模块分别输出的特征提取结果进行融合处理后,输入结果处理模块得到预测的多重散射分布结果;基于预测的多重散射分布结果以及确定的多重散射分布真值对所述多重散射分布生成网络进行训练。由于预设采样特征表征了三维体积介质散射相关属性,配置参数是基于确定散射分布所采用预设算法确定的,在多重散射分布生成网络训练过程中,将配置参数与采样特征相融合,使得训练出的多重散射分布生成网络能够模拟出光线在三维体积介质中的真实散射分布;与现有技术中通过复杂算法为三维体积介质渲染散射效果相比,本公开实施例用更少的计算量获得同等渲染质量,为实现实时渲染打下坚实基础;
在多重散射分布渲染方法中,可以预先为待渲染的三维体积介质进行预设特征采样,并将得到的采样结果预先存储;在进行渲染时,可以将预先存储的采样结果输入预先训练的多重散射分布生成网络,得到预测的散射分布结果;最后将散射分布结果带入辐射传输方程中,为待渲染三维体积介质渲染出散射效果。由于特征采样是预先进行的,采样结果也是预先存储的,渲染时可以直接获取并使用,不但采用多重散射分布生成网络预测光线在三维体积介质中的散射分布减少了计算量,节约了计算时间,预先进行采样结果的存储,能够进一步提升渲染效率,实现了实时为待渲染三维体积介质渲染出散射效果。
附图说明
图1为本公开实施例提供的一种多重散射分布生成网络训练方法的流程图;
图2为本公开实施例提供的一种多重散射分布生成网络训练方法总体流程示意图;
图3为本公开实施例提供的采用3D-CNN生成透射场过程示意图;
图4为本公开实施例提供的三维体积介质粒子p处模板点的光线关系示意图;
图5为本公开实施例提供的入射光线入射点在同一模板点的不同位置时,产生的不同入射角和出射角示意图;
图6为本公开实施例提供的数据处理模块流程图;
图7为本公开实施例提供的多重散射分布生成网络结构示意图之一;
图8为本公开实施例提供的多重散射分布生成网络结构示意图之二;
图9为本公开实施例提供的一种多重散射分布渲染方法流程图;
图10为本公开实施例提供的一种多重散射分布生成网络训练装置结构示意图;
图11为本公开实施例提供的一种多重散射分布渲染装置结构示意图;
图12为本公开实施例提供的电子设备结构示意图。
具体实施方式
本公开实施例提供了一种多重散射分布生成网络训练方法、渲染方法及装置,以下结合说明书附图对本公开的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本公开,并不用于限定本公开。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本公开实施例提供一种多重散射分布生成网络训练方法,如图1所示,包括:
S101、预先构建多重散射分布生成网络;该网络包括针对不同采样特征分别进行特征提取的分支网络模块,以及结果处理模块;
S102、采用预设采样模板对待训练三维体积介质进行预设特征采样,预设特征采样包括:密度特征采样、透射特征采样、以及相位特征采样;
S103、针对每种特征采样得到的采样特征,将该采样特征输入对应的分支网络模块,在该分支网络经过注意力机制处理,以及对配置参数融合处理,得到对该采样特征的特征提取结果;该配置参数基于确定散射分布所采用预设算法确定;
S104、将各采样特征对应的分支网络模块分别输出的特征提取结果进行融合处理后,输入结果处理模块得到预测的多重散射分布结果;
S105、基于预测的多重散射分布结果以及确定的多重散射分布真值对多重散射分布生成网络进行训练。
本公开实施例中,首先通过预设采样模板对待训练三维体积介质进行预设特征的采样,即密度特征采样、透射特征采样、以及相位特征,这些预设采样特征表征了三维体积介质散射相关属性,而配置参数是基于确定散射分布所采用预设算法确定的,在多重散射分布生成网络训练过程中,将配置参数与采样特征相融合,使得训练出的多重散射分布生成网络能够模拟出光线在三维体积介质中的真实散射分布;与现有技术中通过复杂算法为三维体积介质渲染散射效果相比,本公开实施例用更少的计算量获得同等渲染质量,为实现实时渲染打下坚实基础。
本公开实施例提供的多重散射分布生成网络对于三维体积介质不但能处理介质表面,还能够处理介质内部的散射分布,即能够处理三维体积介质的多重散射分布。并且对于高反照率和各向异性材质的三维体积介质能够具有较好的处理效果。
图2为本公开实施例提供的一种多重散射分布生成网络训练方法总体流程示意图,如图2所示,待训练三维(3D,three-dimensional)体积介质首先通过数据处理阶段,经过预设采样模板采样输出三种采样特征,再进入到特征提取阶段,即按照采样特征的种类依次输入(或整体输入)预先构建的多重散射分布生成网络,最终预测出所有采样模板中心点的散射分布结果。
在本公开提供的又一实施例中,预设采样模板包括漫反射采样模板和高光采样模板;
漫反射采样模板包括第一层数的同心球体,且在球心、最内层球体内区域、以及相邻两层球体之间区域分别均匀分布有第一预设数量的第一模板点;
高光采样模板包括从入射光穿入三维体积介质的入射点,至作为采样点的三维体积介质粒子,沿入射光方向平均分成第二层数,且每一层包含第二预设数量的第二模板点;
上述步骤S102:“采用预设采样模板对待训练三维体积介质进行预设特征采样”,可以实施为:
针对使用漫反射采样模板和高光采样模板对三维体积介质的每次采样,将该次采样时作为采样点体积介质粒子与漫反射采样模板的球心对应,通过第一模板点以及第二模板点,对该采样点进行预设特征采样。
本实施例中,由于训练多重散射分布生成网络的目标是使其能模拟出光线在三维体积介质中的散射效果,而散射的方向是四面八方,因此在设置采样模板的时候,首先设置的采样模板是漫反射采样模板,其用球体作为采样模板,优点是可以对散射区域进行采样,更关注光线的散射情况。并且距离采样中心点距离会影响散射贡献度,距离采样中心点越远,贡献度越低,因此将漫反射采样模板按照距离分成第一层数,即形成包括第一层数的同心球体,且在球心、最内层球体内区域、以及相邻两层球体之间区域分别均匀分布有第一预设数量的第一模板点:
其中,S表征漫反射采样模板,表征第i层模板点,n表征第一层数。
以n=8为例,即漫反射模板设置有8层模板,可以设置194个第一模板点,每个第一模板点均匀分布,模板距离球心越远,该层球的体积越大,就需要更多的第一模板点。第1层(即最内层)6个第一模板点,其中1个设置于球心,5个设置于球体最内层均匀分布;第2至第8层模板设置的第一模板点数量分别可以为8个、12个、16个、24个、32个、48个、48个,且均匀分布在对应层球体表面与前一层球体表面之间的区域。
进一步地,由于光线入射三维体积介质时会产生阴影,可以设置高光采样模板,其可以让阴影边界更清晰,模拟的阴影效果更好。高光采样模板可以沿入射光的方向进行采样,其优点是可以对高光以及阴影的形成有重要作用。从入射光线穿入体积介质开始至体积介质粒子为止,沿入射光方向平均分成第二层数,且每一层包含第二预设数量的第二模板点。
以第二层数为4层为例,沿入射光方向呈锥形,按照距离平均分成4层,沿锥底至锥尖第二模板点数量分别为32、16、16、8,共设置72个第二模板点。
在每次采样过程中,可以通过计算机程序发出虚拟光线,在虚拟光线上进行采样,选出采样点,可以同时采用漫反射采样模板和高光采样模板对采样点采样,将作为采样点的体积介质粒子置于漫反射采样模板的球心,通过第一模板点以及第二模板点,对该采样点进行预设特征采样,也就是说,通过模板点来估算采样点的各种特征值。
在本公开提供的又一实施例中,提供一种多重散射分布生成网络训练方法,还包括:
确定漫反射采样模板各层球体的半径;
确定漫反射采样模板各层球体的半径,可以实施为如下步骤:
步骤一、针对漫反射模板每层球体,为该层球体内每个第一模板点确定该层球体内与该第一模板点距离最近的第一模板点,并确定该第一模板点对应的最短距离;基于每个第一模板点对应的最短距离确定最短距离的平均值,得到该层球体对应的最短距离平均值;
步骤二、基于该层球体对应最短平均距离以及控制模板重叠率的经验参数确定该层球体的半径,且满足:最短平均距离越小,对应球体层半径越大;
其中,每层球体内第一模板点包括该层球体表面与和与该层球体向内相邻层球体表面之间的第一模板点。
本实施例中,可以为漫反射采样模板确定各层球体的半径。可以采用漫反射采样模板点均匀分布算法,采用该算法能够使第一模板点均匀分布:
式(1)
在式(1)中,表征第i层模板(本文中也可以将第i层球体称作第i层模板),表征第i层模板内任意两个第一模板点之间的最小值的平均值;表征第i层模板包含第一模板点的数量;表征是属于第i层模板内的点,表征s是第i层模板内除了外的其他第一模板点。
如式(1),在第i层模板内,所有第一模板点均能确定出与之距离最小的第一模板点,然后将所有第一模板点对应的最小距离求和做平均,得到本层模板内最小距离值。
此处假定球体的半径为单位长度,采用下式确定漫反射采样模板的半径:
式(2)
在式(2)中,表征第i层模板的半径,表征单位半径下的最短距离,则远小于单位半径1;表征第一级多级渐进贴图纹理映射(mipmap)的分辨率;表征控制模版重叠率的经验参数,且i越小,半径越小。
在本公开提供的又一实施例中,针对预设特征为透射特征的情况,通过第一模板点以及第二模板点,对该采样点进行预设特征采样的步骤,可以实施为:
步骤一、基于待训练三维体积介质的原始分辨率,对待训练三维体积介质的密度场进行降采样,得到第三预设数量个分辨率等级的密度场;
步骤二、针对每个分辨率等级的密度场,通过预设分级透射场算法确定该分辨率等级的密度场下,光线从该采样点分别传播至各模板点的分级透射场;
步骤三、针对每个模板点,将该模板点与该采样点针对各分辨率等级密度场分别确定的分级透射场,输入预设权重预测网络模型,按照对应预测权重对输入的各分级透射场叠加处理,得到该模板点与该采样点对应的透射特征;所述模板点包括:第一模板点以及第二模板点。
本实施例提供了对透射特征进行采样的实施方式。三维体积介质可以用点云或体素来表示,假设原始分辨率为1024×1024×1024,可以首先对体积介质的密度场做降采样,产生第三预设数量个分辨率等级的密度场,以第三预设数量为11为例,可以得到11个分辨率等级的密度场,分别为:1024×1024×1024、512×512×512、256×256×256、128×128×128、64×64×64、32×32×32、16×16×16、8×8×8、4×4×4、2×2×2、1×1×1。
将11个分辨率等级的密度场分别输入到下面式(3)中,得到11个等级的透射场,称为分级透射场:
式(3)
式(3)中,表征用密度场表示的透射场;表征第i级密度等级,表征0-1范围的系数,例如可以取值为0.6;表征本次采样的采样点,表征本次采样的模板点(本公开中的提到的模板点通常包括第一模板点和第二模板点),因此通过式(3)可以确定出采样点沿光线传播方向至每个模板点在不同密度场下的透射场。
针对每个模板点,可以将该模板点对应的11个分级透射场输入预设权重预测网络模型,例如:三维卷积神经网络(3D-CNN,3D- Convolutional Neural Networks),相当于为每级透射场增加了一个权重,按照对应预测权重对输入的各分级透射场叠加处理,得到该模板点与该采样点对应的透射特征。可见,在一次采样中可以为每个模板点确定出对应的透射特征,以上述194个第一模板点和72个第二模板点为例,可以确定出266个透射特征。
图3为本公开实施例提供的采用3D-CNN生成透射场过程示意图,如图3所示,不同密度场下的透射场,通过3D-CNN生成对应权重,经过加权叠加处理,得到模板点对应的透射特征。另外,这里3D-CNN可以单独进行训练,在这里使用完成训练的3D-CNN即可。
针对预设特征为密度特征的情况,由于在给出三维体积介质后,密度场通常是已知的(密度场=密度分布+密度值),并且已经运用在确定透射特征的过程中,因此可以根据需求,直接获取每个模板点对应的密度特征,例如在一次采样中可以确定出266个密度特征。
在本公开提供的又一实施例中,针对预设特征为相位特征的情况,通过第一模板点以及第二模板点,对该采样点进行预设特征采样的步骤可以实施为:
针对每个模板点,基于入射光线传播到该模板点再经过该采样点沿相机方向出射过程中入射光线的入射角和出射光线的出射角,以及预设相位函数,确定该模板点相对于该采样点的相位特征;模板点包括:第一模板点以及第二模板点。
进一步的,针对每个模板点,基于入射光线传播到该模板点再经过该采样点沿相机方向出射过程中入射光线的入射角和出射光线的出射角,以及预设相位函数,确定该模板点相对于该采样点的相位特征,可以实施为如下步骤:
步骤一、针对每个模板点,在入射角变换范围上对预设相位函数进行积分,得到入射光线方向的第一体积相位,以及在出射角变化范围上对预设相位函数进行积分,得到相机方向的第二体积相位;
步骤二、将第一体积相位与第二体积相位的乘积确定为该模板点相对于该采样点的相位特征。
图4为本公开实施例提供的三维体积介质粒子p处模板点的光线关系示意图。如图4所示,p点表征三维体积介质粒子p,p点周围一圈圆点表征漫反射采样模板中部分第一模板点,入射光线上的圆点表征高光采样模板中部分第二模板点。可见,入射光线射入三维体积介质后入射到第一模板点si,再折射到三维体积介质粒子p,最后沿相机方向(也就是视线方向)出射。
本实施例中,相位特征用于使用采样模板点(包括第一模板点和第二模板点)计算三维体积介质粒子的相位分布,并在后续的特征提取阶段作为神经网络的输入参数,以便预测真实的多重散射分布。
任一模板点si相对于p点的相位特征可以采用下式确定:
式(4)
在式(4)中,表征第i个模板点的相位值,表征体积相位函数;表征第i个模板点,表征体积介质粒子位置;表征光线入射方向,表征相机方向也就是视线方向,结合图4,则表征出射角,表征入射角,表征至点的方向。
进一步地,三维体积介质粒子通常为无限小的点,但模板点是有体积的点,入射光线入射在模板点的不同位置,会产生不同的入射角和出射角,对结果影响较大。图5为入射光线入射点在同一模板点的不同位置时,产生的不同入射角和出射角。为了解决这个问题,可以按照式(5)沿模板点的体积进行积分,相当于确定出平均的出射方向,使得结果更加准确:
式(5)
其中,;表征相位函数(例如:HG相位函数),表征入射光线方向,表征相机方向;表征入射角,表征出射角,表征当前模板点投影到点处的立体角;表征相位函数的积分形式,可以称为相机方向的体积相位;也表征相位函数的积分形式,可以称为入射光线方向的体积相位;表征与相乘,大于的所有角度,表征所有组成的角度空间。
这样,针对每个模板点,按照式(5)在入射角变换范围上对预设相位函数进行积分,得到入射光线方向的第一体积相位,以及在出射角变化范围上对预设相位函数进行积分,得到相机方向的第二体积相位,再按照式(4)将第一体积相位与第二体积相位的乘积确定为该模板点相对于该采样点的相位特征,则在每次采样中,针对上述266个模板点的情况,可以得到266个相位特征。
进一步地,预设相位函数可以包括多种:
第一种、均匀介质的相位函数:
对于均匀的体积介质,其相位函数与三维体积介质粒子的位置无关,此时均为常数(注:表征吸收系数,表征散射系数,表征衰变系数,用于描述辐射在介质中衰减的特性),因此时相位函数则为一个一维函数:,这里的表征散射角,是光线的入射方向与散射后的出射方向之间的夹角。这里采用亨尼-格林斯坦相位函数(Henyey-Greenstein Phase Function,简称HG相位函数),它被广泛应用于描述烟、云、雾等均匀的体积介质,其公式如下:
式(6)
在式(5)中,称为不对称参数,它的值接近于所有方向光线散射角余弦的平均值;如果,则主要发生前向散射,在入射方向相反的方向散射更多能量;如果,则主要发生后向散射,在入射方向散射更多能量。
需要注意的是,本公开中涉及的公式较多,公式中的参数较多,不同公式参数使用的参数字母可能会有重复,每个字母在所在公式中的含义,可以在对该公式的解释中确定,不能跨公式理解。
第二种、多峰相位函数(Multi- Henyey-Greenstein Phase Function,简称MHG相位函数):
也就是对2个及以上HG相位函数进行线性组合的相位函数,其公式如下:
式(7)
在式(7)中,可以为式(6),,表征每个HG相位函数的权重系数,N表征HG相位函数的数量;表征每个相位函数对应的不对称参数。
第三种、各向同性相位函数:
各向同性相函数表征光线在体积介质中散射后,向各个方向散射的概率相同,故相函数公式为:
式(8)
在本公开提供的又一实施例中,三维体积介质包括:气态类型三维体积介质、固液态类型三维体积介质、以及皮肤类型三维体积介质;
所述方法还包括如下步骤:
为不同类型的待训练三维体积介质确定对应的预设相位函数;
为不同类型的待训练三维体积介质确定对应的预设相位函数,可以实施为如下步骤:
步骤一、将各向同性相位函数确定为空气类型的待训练三维体积介质对应的预设相位函数;
步骤二、将HG相位函数确定为气态类型待训练三维体积介质对应的预设相位函数;
步骤三、将双峰亨尼-格林斯坦HG相位函数确定为固液态类型待训练三维体积介质对应的预设相位函数;
步骤四、将多峰HG相位函数确定为皮肤类型待训练三维体积介质对应的预设相位函数。
本实施例中,可以将3D体积介质分成三大类:气态类、固液态类和皮肤类。气态类例如云、烟、雾;固液态类例如玉石、牛奶、蜡、果肉;皮肤类为人体皮肤。不同材质种类,其相位函数的形式和参数不同。在本公开中,空气的相位函数可以采用各向同性的相位函数;气态类的相位函数可以采用HG相位函数;固液态类的相位函数可以采用双峰HG相位函数,即2个HG相位函数;人体皮肤类的相位函数可以采用多峰HG相位函数。
综合上述,图6为本公开实施例提供的数据处理模块流程图。如图6所示,在本公开提供的数据处理阶段,首先获得3D体积介质的密度场,并对原始的密度场进行降采样,得到不同分辨率等级的密度场,然后分别输入到透射场公式中,得到分级透射场,所有分级透射场通过预设神经网络(例如:3D-CNN)得到透射特征。使用采样模板对3D体积介质的密度特征、透射特征、及相位特征进行采样,得到采样相位特征、采样密度特征和采样透射特征。
进一步地,依然假设1024×1024×1024的三维体积介质分辨率,可以采用1024×1024个模板点均匀覆盖所有空间,每个采样模板共有266个模板点(包括:194个第一模板点以及72个第二模板点),则一共需要进行1024×1024/266=3942或3943次模板采样(后文以取3942为例进行说明)。也就是说,采用均匀采样策略对每个三维体积介质执行3942次模板采样,每次模板采样,会产生266个采样密度特征、266个采样透射特征、和266个采样相位特征。
可见采样的过程需要耗费一定的时间,为了节约训练时间,可以预先计算各采样特征,并进行存储,例如存入预计算表中。对于密度特征,由于是已知值可以直接获得并存入预计算表;对于透射特征,可以根据密度场降采样求出分级密度场,从而得到分级透射场,并通过3D-CNN生成透射特征,通过采样模板获得采样透射特征,将所有采样点预计算后,存到预计算表中;对于相位特征,可以通过式(5)确定所有模板点的体积相位,并设定入射光线和相机方向所有可能的角度,然后通过式(4)、式(6)~式(8)确定出相位特征,将所有采样点预计算后,存到预计算表中。需要说明的是,不同的入射光线和相机方向角度,可以分别确定出不同的相位特征,例如,每次采样可以针对一种入射光线和相机方向角度,为266个模板点确定出266个采样相位特征,可以根据需要设置需要的入射光线和相机方向角度数量进行采样。
在使用训练好的多重散射分布生成网络进行多重散射分布渲染同理,可以预先为待渲染的三维体积介质进行预设特征采样,并将得到的采样结果预先存储,在进行渲染时即可提高计算效率,实现实时渲染。另外,由于三维体积介质粒子和模板点在空间中均具有确定的位置信息,则可以确定出位置坐标,存储时,为了便于后续使用时进行查找,可以根据三维体积介质粒子和模板点的位置坐标进行对应存储,例如:第一位置模板点针对第二位置采样点(三维体积介质粒子)的某采样特征值等。
在数据处理阶段完成之后,可以进入特征提取阶段,即对预先构建的多重散射分布生成网络进行训练。
在本公开提供的又一实施例中,针对每种预设采样模板,为该种预设采样模板设置有与不同采样特征分别对应的分支网络模块;且各分支网络模块并行对对应采样特征进行处理;
则上述步骤S103:“针对每种特征采样得到的采样特征,将该采样特征输入对应的分支网络模块,在该分支网络经过注意力机制处理,以及对配置参数融合处理,得到对该采样特征的特征提取结果”,可以实施为如下步骤:
步骤一、针对为对应预设采样模板以及对应采样特征设置的分支网络模块,确定该预设采样模板第一层包含的模板点针对该采样特征进行采样得到的第一采样特征;
步骤二、将该预设采样模板的第一层作为当前层,迭代执行如下步骤:
将该第一采样特征与配置参数进行融合处理并输入注意力模块;将注意力模块输出的结果经过第一全连接模块处理后,与该预设采样模板当前层的下一层包含的模板点针对该采样特征采样得到的第二采样特征进行融合处理;融合后的结果经过第二全连接模块处理后再与该第一采样特征进行融合处理,得到当前层输出的特征提取结果;若当前层的下一层不为最后一层,则将当前层的输出特征作为新的第一采样特征,并将当前层的下一层作为新的当前层,返回执行与配置参数进行融合处理的步骤;若当前层的下一层为最后一层,则输出该预设采样模板当前层输出的特征提取结果;
则步骤S104:“将各采样特征对应的分支网络模块分别输出的特征提取结果进行融合处理后,输入所述结果处理模块得到预测的多重散射分布结果”,可以实施为:
将各采样特征对应的分支网络模块分别输出的特征提取结果进行融合处理后,输入全连接模块或者多层感知器(MLPs,Multi-Layer Perceptron)网络模块,并输出预测的多重散射分布结果。
图7为本公开实施例提供的多重散射分布生成网络结构示意图。本公开为针对不同预设采样模板的每种采样特征均设置了分支网络模块,也就是说,针对漫反射采样模板,分别为密度特征、透射特征、和相位特征设置了三个分支网络模块,对于高光采样模板,同样也分别为密度特征、透射特征、和相位特征设置了三个分支网络模块,则总体需要设置六个分支网络模块。由于各分支网络模块结构类似,只是输入特征类型不同。另外,本实施例中由于分支网络模块是按层输入,因此分支网络模块内部的迭代次数与对应预设采样模板的层数相关,漫反射采样模板对应的三个分支网络模块需要迭代的次数与第一层数相关,高光采样模板对应的三个分支网络模块需要迭代的次数与第二层数相关。因此,图7仅示出一个分支网络模块,即用于处理漫反射采样模板的密度采样的分支网络模块。
对于输入层,针对每个分支网络模块,需要输入对应预设采样模板的对应采样特征。采样特征,包括采样密度特征、采样透射特征和采样相位特征,均经过预计算的,可直接根据三维体积介质粒子和模板点的位置坐标查预计算表得到。采样特征需要按批次依次输入到网络的输入层,延续上例,3942次采样,则需要向神经网络中输入3942次。为了提高实时渲染性能,可生成多个神经网络模型,并行计算,从而提高渲染帧率。
“配置参数”可以包括如下至少一个:HG相位函数的不对称参数(g)、反照率、以及入射光线和相机方向的夹角。其中,HG相位函数的不对称参数根据三维体积介质材质种类的不同,可以分为1个参数、2个参数和3个参数。不同三维体积介质的材质对不同波长的光的反射能力可能会有所不同,因此可以用一个三维向量来表示反照率,分别代表一个三维体积介质对红色光、绿色光和蓝色光的反照率,每个分量的取值范围在0到1之间。反照率的取值范围根据材质种类的不同而不同,气态材质的反照率的取值范围可以为0到0.5,其他固液类和皮肤类材质的反照率取值范围可以为0.5到1。另外,可以假设3D体积介质是匀质的,因此同类材质内部的反照率处处相等。
进一步的,在训练过程中,配置参数初始时可以输入初始值(例如:随机值),并随着每次训练的损失反馈去变化调整,以入射光线和相机方向的夹角为例,在训练过程中不希望该夹角是一成不变的,而希望光源的方向、相机的视角能够不停变化,这样才能使得训练出来的模型处理的散射效果更加自然真实,具有较强的鲁棒性。在多重散射分布生成网络完成训练后,使用时,可以根据实际的渲染需要对这些配置参数进行配置,即可以根据不同的需求输入不同的配置参数,得到需要的渲染效果。
对于隐藏层,如上所述,每个分支网络均是按照采样模板的层进行输入,对于每层执行的处理类似,因此,可以对每一层迭代执行类似的步骤:当前层采样密度特征与“配置参数”融合,例如进行叠加处理,然后输入到注意力模块中,其主要目的是通过注意力机制,判断哪些通道特征更重要。注意力模块输出的特征向量通过第一全连接模块(全连接FC-1)与下一层采样密度特征融合,FC-1的主要目的是为了使两个特征向量维度相同,以便后续融合操作。融合后的特征向量经过第二全连接模块(全连接FC-2),再与当前层采样密度特征融合,然后输出得到当前层输出的特征提取结果。
以漫反射采样模板设置为8层,高光采样模板设置为4层为例,在漫反射采样模板对应的三个分支网络结构中,每个分支网络模块均要经过6次迭代,在高光采样模板对应的三个分支网络结构中,每个分支网络模块均要经过2次迭代,六个分支网络模块输出的特征提取结果可以融合到一起,最后输入到结果处理模块,最后输出一个采样模板中心点(即采样点)的散射分布。
结果处理模块可以包括全连接模块或者MLPs网络模块。MLPs可以对输出的参数进一步处理,运算之后再输出散射分布的预测结果。
对于输出层,将所有3942个体积介质粒子点用模板采样,并采用上述流程并行通过网络预测输出,最终得到预测的3942个采样模板中心点(即采样点)的散射分布。将这些值分别带入到辐射传输方程中,即可渲染出三维体积介质的散射效果。
如图7所示,以漫反射采样模板对密度特征处理的分支网络模块为例,假设第一层数为8,即漫反射采样模板包括8层,将第一层模板(或称为球体)中第一采样点对应的采样密度特征输入对应分支网络模块,在与配置参数融合之后,输入注意力模块,经过全连接层FC-1,与第二层模板中第一采样点对应的采样密度特征进行融合后,经过全连接层FC-2处理,再与第一层模板中第一采样点对应的采样密度特征融合后,得到第一层模板输出的特征提取结果;
将第一层模板输出的特征作为第二层模板对应输入的采样密度特征,与配置参数融合之后,输入注意力模块,经过全连接层FC-1,与第三层模板中第一采样点对应的采样密度特征进行融合后,经过全连接层FC-2处理,再与第二层模板对应的采样密度特征融合后,得到第二层模板输出的特征提取结果;将第二层模板输出的特征作为第三层模板对应输入的采样密度特征,重复执行与配置参数融合等步骤,直到得到第七层模板输出的特征提取结果。
对于漫反射采样模板针对透射特征和相位特征分别对应的分支网络模块同理,分别将七层模板的采样结果依次输入处理,分别得到透射特征的特征提取结果和相位特征的特征提取结果。
对于高光采样模板针对密度特征、透射特征、和相位特征分别对应的三个分支网络模块,也是同理,只是高光采样模板的层数与漫反射采样模板的层数不同,则迭代的次数不同,对于每个分支网络模块,将第二层数(例如4层)模板的对应采样结果依次输入处理,对输入的第一层采样特征处理之后,再经过两次迭代,分别得到三种特征的特征提取结果。
将六个分支网络模块分别得到的特征提取结果融合处理,再经过MLPs进行结果处理,得到预测的多重散射分布结果。
在本公开提供的又一实施例中,多重散射分布生成网络中的注意力模块包括:挤压模块、权重系数生成模块、和激励模块;
则注意力模块采用如下方式对输入进行处理:
步骤一、挤压模块基于输入的融合后的第一采样特征和配置参数,确定注意力向量;注意力向量包括如下维度:第一采样特征的最大池化维度、第一采样特征的平均池化维度、每个配置参数对应的维度;
步骤二、将注意力向量输入权重系数生成模块经过激活处理得到注意力向量各个维度的权重系数;
步骤三、通过激励模块将经过对应权重系数处理后的注意力向量输出。
本实施例中,注意力模块可以存在多种实现方式,例如:深度卷积神经网络的有效通道注意力机制(ECANet,Efficient Channel Attention for Deep CNN)、选择性核网络(SKNet,Selective Kernel Networks)、卷积块注意力模块(CBAM,ConvolutionalBlockAttention Module)等。
此处以使用挤压激励网络(SENet,Squeeze-and-Excitation Network)为例进行说明:
首先,挤压模块接收到融合后的第i层第一采样特征和配置参数,对于第i层输入特征 ,构建一个预设维度的注意力向量,针对处理密度特征的分支网络模块构建的注意力向量如式(9),针对处理透射特征的分支网络模块构建的注意力向量如式(10),针对处理相位特征的分支网络模块构建的注意力向量如式(11):
式(9)
式(10)
式(11)
式(12)
其中, 表征平均池化,表征最大池化,由一堆模板点,压缩成了2个模板点(最大和平均); 表征第i层模版中点的总数,表征第i层第j个模板点的特征,;表征密度,表征相函数,表征透射场;表征HG相位函数的参数;表征视角与光线方向的夹角(即光线的入射方向与散射后的出射方向之间的夹角);表征为第i层输入特征构建的注意力向量;
需要说明的是,式(9)~式(11)中示例性说明了注意力向量各个维度的种类,不限制注意力向量维度的数量,除了对应第一采样特征的最大池化维度和平均池化维度,可以为每个配置参数设置对应的维度,式(9)~式(11)中以配置参数包括一个和一个为例,因此此处的注意力向量的维度为4,但是根据实际需要配置参数不同,注意力向量的维度可以随之变化,这里并不限制。
然后,可以通过权重系数生成模块经过激活处理得到注意力向量各个维度的权重系数:
式(13)
式(14)
式(15)
其中,表征第i层模板的权重系数,表征经过挤压模块得到的注意力向量;表征线性整流函数(ReLU,Rectified Linear Unit)激活函数;表征S型生长曲线(Sigmoid)激活函数,从而得到权重系数。
最后,通过激励模块将经过对应权重系数处理后的注意力向量输出:
式(16)
式(16)中,是经过注意力模块处理之后输出的注意力向量。
在本公开提供的又一实施例中,如图8所示,分支网络模块可以不按层输入采样特征,而是可以作为整体输入,即为每种采样特征分别设置对应的分支网络模块;且各分支网络模块并行对对应采样特征进行处理;
则上述步骤S103:“针对每种特征采样得到的采样特征,将该采样特征输入对应的分支网络模块,在该分支网络经过注意力机制处理,以及对配置参数融合处理,得到对该采样特征的特征提取结果”,可以实施为如下步骤:
步骤一、针对为对应采样特征设置的分支网络模块,确定该采样特征对应的采样类型特征空间,并将采样类型特征空间包含的采样特征输入注意力模块;并
步骤二、将注意力模块输出的结果和配置参数在融合模块进行融合,得到该分支网络模块输出的针对应采样特征的特征提取结果;
其中,所述采样特征对应的采样类型特征空间包括:针对该采样特征,采用预设采样模板对所述待训练三维体积介质三维空间中的体积介质粒子完成预设次数采样,该预设次数采样使用的预设采样模板所包含的模板点总数构成的三维空间;所述注意力模块包括三维变形器(3D-transformer)网络模块;所述融合模块包括三维U型网络(3D-UNet)模块;
则步骤S104:“将各采样特征对应的分支网络模块分别输出的特征提取结果进行融合处理后,输入所述结果处理模块得到预测的多重散射分布结果”,可以实施为:
将各采样特征对应的分支网络模块分别输出的特征提取结果进行融合处理后,输入全连接模块或者MLPs网络模块,并输出预测的多重散射分布结果。
图7中的多重散射分布生成网络主干神经网络是按照采样模板的不同层单独输入,得到的是一个采样模板中心点(即采样点)的散射分布。延续上例,一共有3942个采样模板(即3942次采样),为了进一步提高实时渲染的性能,可以按照参与介质整体作为网络的输入层,从而加速多重散射分布的预测过程。
不同采样特征对应不同的采样类型特征空间:延续上例, 1024×1024×1024的三维体积介质分辨率,可以采用1024×1024个模板点均匀覆盖所有空间,每个采样模板共有266个模板点,则一共需要进行1024*1024/266=3942或3943(后续以取3942为例)次模板采样,以采样密度特征为例,对待训练三维体积介质完成3942次采样,每次采样使用了266个模板点,则使用的模板点的总数为1024×1024,构成了1024×1024×1024的三维空间,即采样密度特征空间可以为由3942个密度采样模板组成的1024×1024×1024的三维空间;同理,采样透射特征空间可以为由3942个透射采样模板组成的1024×1024×1024的三维空间;采样相位特征空间可以为由3942个相位采样模版组成的1024×1024×1024的三维空间。
“配置参数”同图7,可以包括HG相位函数的不对称参数、反照率和入射光线和相机方向的夹角,这里不再赘述。
本实施例中,首先对于输入层,不需要按层输入,而是按不同类型采样特征对应的特征空间输入,即可以将一次采样中一个采样模板(如266个模板点)采样获得的对应采样特征作为一次输入;然后,使用3D-Transformer网络代替图7中的注意力模块,用于通过自注意力机制确定对应特征空间中重要的采样模板中心点(即采样点);最后,将配置参数输入3D-UNet中,使得配置参数在3D-UNet结构中的每一层都能得到充分的融合,以便输入更多参数。
如图8所示,由于本公开实施例中是按照不同类型采样特征对应的特征空间输入,分别为密度特征、透射特征、和相位特征设置对应的分支网络模型即可,则可以设置三个分支网络模型;最后,将三个分支网络模块分别输出的特征提取结果进行融合处理后,输入全连接模块或者MLPs网络模块,即可得到预测的多重散射分布结果。
在本公开提供的又一实施例中,预设算法包括辐射传输方程,或在体积介质不发光,以及介质反照率恒定的设定条件下,对辐射传输方程进行简化处理并积分得到的辐射传输方程简化方程;辐射传输方程为光线在体积介质粒子处沿传播方向穿过体积介质时的出射光线辐射强度变化方程;
配置参数基于确定散射分布所采用预设算法确定,包括:从辐射传输方程中提取同向散射项,通过辐射传输方程简化方程以及入射光线吸收方程对散射项进行变换得到同向散射方程;同向散射方程以体积介质粒子和光线在介质粒子处穿过体积介质方向为自变量,以多重散射分布为因变量,且同向散射方程至少包含如下参数:相位函数、反照率、及分阶段同向散射项;
则配置参数包括至少如下之一:HG相位函数的不对称参数、反照率、入射光线和相机方向的夹角。
本公开实施例中,由于目标是在三维体积介质中渲染出光线多重散射的效果,在构建多重散射分布生成网络时,需要考虑三维体积介质与光线散射相关的属性,例如:密度属性、透射属性、相位属性等。又考虑到,在相关技术中,通常采用传统的路径追踪加蒙特卡洛积分求得散射分布,再带入辐射方程渲染出三维体积介质的散射效果。但是由于传统的算法确定散射分布的计算量太大,无法用于实现实时渲染,因此可以根据用于为三维体积介质渲染散射效果的预设算法推导出配置参数。
1、本公开实施例,可以将辐射传输方程作为该预设算法,辐射传输方程如下:
式(17)
式(18)
其中,辐射传输方程表征光线 在位置处沿方向穿过体积介质时,辐射强度的变化量;下角标表征出射光,下角标i表征入射光;点处表征一个三维体积介质的粒子,可以对入射光线进行吸收和散射;表征三维体积介质粒子自发光项,即介质自发光对辐射亮度的增量;表征光线被粒子吸收(简称吸收项),表征吸收系数,描述物体吸收光的能力;表征光线被粒子散射到其他方向项,表征散射系数;表征衰变系数,描述辐射在介质中衰减的特性;,其中称为衰减项;反照率,平均自由程表征光线在介质中两次连续与粒子交互所传播的平均距离;表征光线被粒子散射的方向与当前方向相同(简称同向散射项);表征在位置p从方向到的散射相函数,即从方向入射的光线向散射的能量与所有方向散射能量之比,描述了p点处散射后光的空间分布;表征一个单位球。
式(17)是其他方向和同向散射项分开表示,式(18)是将两项合并到一起,称为散射项。
以下,均按照式(17)进行计算
式(19)
式(19)中即为同向散射项(无散射系数)。
2、化简传输方程。假设体积介质不发光,可忽略项,并假定介质反照率恒定,则式(17)化简为:
式(20)
3、式(20)两边对积分得:
(21)
式(22)
其中,式(22)为传输项;表征 方向的一个反向极远点(即方向是从z指向p的)。式(17)式(18)式(20)或式(21)可以为辐射方程的不同形式,均可看作预设算法,将散射分布带入该预设算法可以为三维体积介质渲染出光线多重散射效果。从该预设算法中可以确定出与散射分布相关的同向散射方程,继续对同向散射方程进行推导,可以确定出同向散射方程的相关参数,从而确定出训练多重散射分布生成网络使用的配置参数。下面继续推到过程:
4、假定光源很远(比如太阳),忽略其他有效光源,则:
式(23)
式(23)中,为狄拉克函数,表征光强度,光仅来自于方向。
5、将式(21)带入式(19),得:
式(24)
其中,下一个粒子的输入光,即为当前粒子的输出光,因此
因此可以将式(21)带入式(19)中。
6、将式(23)带入式(24)中,得:
式(25)
其中,,而狄拉克函数,所以上式= 。
7、式(25)等式两边都有F,但含义不一样,左边的F表示下一个粒子的同向散射项,而右边的F表示当前粒子的同向散射项
令,则
式(26)
其中,表征方向所有散射项之和,给出任意一个近似的,通过神经网络,就能推断出,而不用复杂计算。
8、同向散射和式(18)的散射项(包含同向和非同向),均可以通过式(26)来表示,对于同向散射而言,其相函数与方向无关,是常数
令则
式(27)
可见,同向散射项与相位函数 、反照率 和分阶段同向散射项有关。则可以确定出配置参数包括至少如下之一:HG相位函数的不对称参数、反照率、入射光线和相机方向的夹角。由上述推到过程可知传统算法中是递归积分,为了避免积分,需要构建神经网络对散射分布进行预测,而 的真值,可以通过路径追踪+蒙特卡洛积分求得。
在本公开提供的又一实施例中,上述步骤S105:“基于预测的多重散射分布结果以及采用所述预设算法确定的多重散射分布真值对所述多重散射分布生成网络进行训练”可以实施为:
步骤一、基于光线散射分布项和反照率构建损失函数;
步骤二、将预测的多重散射分布结果和预设算法确定的多重散射分布真值带入所述损失函数确定损失;
步骤三、基于确定的损失,对多重散射分布生成网络进行训练。
本公开实施例中,可以采用均方差来构建损失函数:
式(28)
式(28)中,(Batch size)表征批次大小,即一次迭代学习所使用的样本数量;表征光线散射分布项,将多重散射分布生成网络的估计值带入,表征散射分布的标注值;表征反照率,表征超参数,下标c表征RGB颜色通道。
式(28)中使用对数变换,可以大幅压缩辐射范围,一方面可以加快训练速度,另外可减小高频相位函数引起的明亮突变的问题。引入超参数,当时,会促使输入数据接近于正态分布。
标注数据可以由下式表示:
式(29)
式(29)中,N表征标注数据集的大小,表征标注数据集。根据基于该损失函数确定的损失对多重散射分布生成网络进行训练,即调整网络中的各参数以及配置参数。
本公开还提供一种多重散射分布渲染方法,如图9所示,包括:
S901、获取待渲染三维体积介质;
S902、采用预设采样模板对待渲染三维体积介质进行预设特征采样,并将采样结果预先存储;预设特征采样包括:密度特征采样、透射特征采样、以及相位特征采样;
S903、将预先存储的针对不同采样特征的采样结果输入如上述任一实施例训练得到的多重散射分布生成网络,得到预测的散射分布结果;
S904、将散射分布结果带入辐射传输方程中,为待渲染三维体积介质渲染出散射效果。
本实施例中,在需要对待渲染三维体积介质进行渲染时,可以预先通过预设采样模板对待渲染三维体积介质进行预设特征采样,并将采样结果预先存储。可以存储在预计算表中,为了后续便于查找,存储时可以按照三维体积介质粒子和模板点的位置坐标进行对应存储。在渲染时,直接从预计算表中获取采样结果输入训练好的多重散射分布生成网络,得到预测的散射分布结果。由于特征采样是预先进行的,采样结果也是预先存储的,渲染时可以直接获取并使用,不但采用多重散射分布生成网络预测光线在三维体积介质中的散射分布减少了计算量,节约了计算时间,预先进行采样结果的存储,能够进一步提升渲染效率,实现了实时为待渲染三维体积介质渲染出散射效果。
基于同一公开构思,本公开实施例还提供了一种多重散射分布渲染相关装置,由于这些装置所解决问题的原理与前述对应方法相似,因此该装置的实施可以参见前述方法的实施,重复之处不再赘述。
本公开提供一种多重散射分布渲染相关装置,包括:提供如上述任一实施例提供的多重散射分布生成网络训练方法的步骤对应功能模块的多重散射分布生成网络训练装置;或者如上述任一实施例提供的多重散射分布渲染方法的步骤对应功能模块的多重散射分布渲染装置。
本公开提供的一种多重散射分布生成网络训练装置,如图10所示,包括:
网络构建模块1001,用于预先构建多重散射分布生成网络;所述网络包括针对不同采样特征分别进行特征提取的分支网络模块,以及结果处理模块;
特征采样模块1002,用于采用预设采样模板对待训练三维体积介质进行预设特征采样,所述预设特征采样包括:密度特征采样、透射特征采样、以及相位特征采样;
网络训练模块1003,用于针对每种特征采样得到的采样特征,将该采样特征输入对应的分支网络模块,在该分支网络经过注意力机制处理,以及对配置参数融合处理,得到对该采样特征的特征提取结果;所述配置参数基于确定散射分布所采用预设算法确定;以及将各采样特征对应的分支网络模块分别输出的特征提取结果进行融合处理后,输入所述结果处理模块得到预测的多重散射分布结果;以及基于预测的多重散射分布结果以及确定的多重散射分布真值对所述多重散射分布生成网络进行训练。
在本公开提供的又一实施例中,所述预设采样模板包括漫反射采样模板和高光采样模板;所述漫反射采样模板包括第一层数的同心球体,且在球心、最内层球体内区域、以及相邻两层球体之间区域分别均匀分布有第一预设数量的第一模板点;所述高光采样模板包括从入射光穿入三维体积介质的入射点,至作为采样点的三维体积介质粒子,沿入射光方向平均分成第二层数,且每一层包含第二预设数量的第二模板点;
特征采样模块1002,用于针对使用所述漫反射采样模板和所述高光采样模板对所述三维体积介质的每次采样,将该次采样时作为采样点的体积介质粒子与所述漫反射采样模板的球心对应,通过所述第一模板点以及所述第二模板点,对该采样点进行预设特征采样。
在本公开提供的又一实施例中,特征采样模块1002,还用于确定所述漫反射模板各层球体的半径;
特征采样模块1002,用于针对所述漫反射采样模板每层球体,为该层球体内每个第一模板点确定该层球体内与该第一模板点距离最近的第一模板点,并确定该第一模板点对应的最短距离;基于每个第一模板点对应的最短距离确定最短距离的平均值,得到该层球体对应的最短距离平均值;基于该层球体对应最短平均距离以及控制模板重叠率的经验参数确定该层球体的半径,且满足:最短平均距离越小,对应球体层半径越大;其中,每层球体内第一模板点包括该层球体表面与和与该层球体向内相邻层球体表面之间的第一模板点。
在本公开提供的又一实施例中,特征采样模块1002,用于基于所述待训练三维体积介质的原始分辨率,对所述待训练三维体积介质的密度场进行降采样,得到第三预设数量个分辨率等级的密度场;针对每个分辨率等级的密度场,通过预设分级透射场算法确定该分辨率等级的密度场下,光线从该采样点分别传播至各模板点的分级透射场; 针对每个模板点,将该模板点与该采样点针对各分辨率等级密度场分别确定的分级透射场,输入预设权重预测网络模型,按照对应预测权重对输入的各分级透射场叠加处理,得到该模板点与该采样点对应的透射特征;所述模板点包括:第一模板点以及第二模板点。
在本公开提供的又一实施例中,特征采样模块1002,用于针对每个模板点,基于入射光线传播到该模板点再经过该采样点沿相机方向出射过程中入射光线的入射角和出射光线的出射角,以及预设相位函数,确定该模板点相对于该采样点的相位特征;所述模板点包括:第一模板点以及第二模板点;
特征采样模块1002,用于针对每个模板点,在入射角变换范围上对预设相位函数进行积分,得到入射光线方向的第一体积相位,以及在出射角变化范围上对预设相位函数进行积分,得到相机方向的第二体积相位;将所述第一体积相位与所述第二体积相位的乘积确定为该模板点相对于该采样点的相位特征。
在本公开提供的又一实施例中,三维体积介质包括:气态类型三维体积介质、固液态类型三维体积介质、以及皮肤类型三维体积介质;
特征采样模块1002,还用于为不同类型的待训练三维体积介质确定对应的预设相位函数;
特征采样模块1002,用于将各向同性相位函数确定为空气类型的待训练三维体积介质对应的预设相位函数;将HG相位函数确定为气态类型待训练三维体积介质对应的预设相位函数;将双峰亨尼-格林斯坦HG相位函数确定为固液态类型待训练三维体积介质对应的预设相位函数;将多峰HG相位函数确定为皮肤类型待训练三维体积介质对应的预设相位函数。
在本公开提供的又一实施例中,针对每种预设采样模板,为该种预设采样模板设置有与不同采样特征分别对应的分支网络模块;且所述分支网络模块并行对对应采样特征进行处理;
网络训练模块1003,用于针对为对应预设采样模板以及对应采样特征设置的分支网络模块,确定该预设采样模板第一层包含的模板点针对该采样特征进行采样得到的第一采样特征;将该预设采样模板的第一层作为当前层,迭代执行如下步骤:将该第一采样特征与配置参数进行融合处理并输入注意力模块;将注意力模块输出的结果经过第一全连接模块处理后,与该预设采样模板当前层的下一层包含的模板点针对该采样特征采样得到的第二采样特征进行融合处理;融合后的结果经过第二全连接模块处理后再与该第一采样特征进行融合处理,得到当前层输出的特征提取结果;若当前层不为最后一层,则将当前层的输出特征作为新的第一采样特征,并将当前层的下一层作为新的当前层,返回执行与配置参数进行融合处理的步骤;若当前层为最后一层,则输出该预设采样模板最后一层输出的特征提取结果;
网络训练模块1003,用于将各采样特征对应的分支网络模块分别输出的特征提取结果进行融合处理后,输入全连接模块或者多层感知器MLPs网络模块,并输出预测的多重散射分布结果。
在本公开提供的又一实施例中,所述注意力模块包括:挤压模块、权重系数生成模块、和激励模块;
网络训练模块1003,用于所述挤压模块基于输入的融合后的第一采样特征和配置参数,确定注意力向量;所述注意力向量包括如下维度:第一采样特征的最大池化维度、第一采样特征的平均池化维度、每个配置参数对应的维度;将所述注意力向量输入所述权重系数生成模块经过激活处理得到所述注意力向量各个维度的权重系数;通过所述激励模块将经过对应权重系数处理后的注意力特征输出。
在本公开提供的又一实施例中,为每种采样特征分别设置对应的分支网络模块;且所述分支网络模块并行对对应采样特征进行处理;
网络训练模块1003,用于针对为对应采样特征设置的分支网络模块,确定该采样特征对应的采样类型特征空间,并将采样类型特征空间包含的采样特征输入注意力模块;并将注意力模块输出的结果和配置参数在融合模块进行融合,得到该分支网络模块输出的针对应采样特征的特征提取结果;其中,所述采样特征对应的采样类型特征空间包括:针对该采样特征,采用预设采样模板对所述待训练三维体积介质三维空间中的体积介质粒子完成预设次数采样,该预设次数采样使用的预设采样模板所包含的模板点总数构成的三维空间;所述注意力模块包括三维变形器transformer网络模块;所述融合模块包括三维U型网络UNet模块;
网络训练模块1003,用于将各采样特征对应的分支网络模块分别输出的特征提取结果进行融合处理后,输入全连接模块或者MLPs网络模块,并输出预测的多重散射分布结果。
在本公开提供的又一实施例中,所述预设算法包括辐射传输方程,或在体积介质不发光,以及介质反照率恒定的设定条件下,对辐射传输方程进行简化处理并积分得到的辐射传输方程简化方程;所述辐射传输方程为光线在体积介质粒子处沿传播方向穿过体积介质时的出射光线辐射强度变化方程;
所述配置参数基于确定散射分布所采用预设算法确定,包括:从辐射传输方程中提取同向散射项,通过所述辐射传输方程简化方程以及入射光线吸收方程对所述散射项进行变换得到同向散射方程;所述同向散射方程以体积介质粒子和光线在介质粒子处穿过体积介质方向为自变量,以多重散射分布为因变量,且所述同向散射方程至少包含如下参数:相位函数、反照率、及分阶段同向散射项;
则所述配置参数包括至少如下之一:HG相位函数的不对称参数、反照率、入射光线和相机方向的夹角。
在本公开提供的又一实施例中,网络训练模块1003,用于基于光线散射分布项和反照率构建损失函数;将预测的多重散射分布结果和预设算法确定的多重散射分布真值带入所述损失函数确定损失;基于确定的损失,对所述多重散射分布生成网络进行训练。
本公开提供的一种多重散射分布渲染装置,如图11所示,包括:
获取模块1101,用于获取待渲染三维体积介质;
采样模块1102,用于采用预设采样模板对待渲染三维体积介质进行预设特征采样,所述预设特征采样包括:密度特征采样、透射特征采样、以及相位特征采样,并将采样结果预先存储;
散射分布确定模块1103,用于将预先存储的针对不同采样特征的采样结果输入如上述任一实施例训练得到的多重散射分布生成网络,得到预测的散射分布结果;
渲染模块1104,用于将所述散射分布结果带入辐射传输方程中,为待渲染三维体积介质渲染出散射效果。
基于同一技术构思,本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述任一实施例所述的多重散射分布生成网络训练方法的步骤,或者如上述任一实施例所述的多重散射分布渲染方法的步骤。
本申请实施例还提供的一种电子设备。参照图12所示,为本申请实施例提供的电子设备1200的结构示意图,包括处理器1201、存储器1202、和总线1203。其中,存储器1202用于存储执行指令,包括内存12021和外部存储器12022;这里的内存12021也称内存储器,用于暂时存放处理器1201中的运算数据,以及与硬盘等外部存储器12022交换的数据,处理器1201通过内存12021与外部存储器12022进行数据交换,当电子设备1200运行时,处理器1201与存储器1202之间通过总线1203通信,使得处理器1201在执行以下指令:
预先构建多重散射分布生成网络;所述网络包括针对不同采样特征分别进行特征提取的分支网络模块,以及结果处理模块;
采用预设采样模板对待训练三维体积介质进行预设特征采样,所述预设特征采样包括:密度特征采样、透射特征采样、以及相位特征采样;
针对每种特征采样得到的采样特征,将该采样特征输入对应的分支网络模块,在该分支网络经过注意力机制处理,以及对配置参数融合处理,得到对该采样特征的特征提取结果;所述配置参数基于确定散射分布所采用预设算法确定;
将各采样特征对应的分支网络模块分别输出的特征提取结果进行融合处理后,输入所述结果处理模块得到预测的多重散射分布结果;
基于预测的多重散射分布结果以及确定的多重散射分布真值对所述多重散射分布生成网络进行训练;或者
获取待渲染三维体积介质;
采用预设采样模板对待渲染三维体积介质进行预设特征采样,所述预设特征采样包括:密度特征采样、透射特征采样、以及相位特征采样,并将采样结果预先存储;
将预先存储的针对不同采样特征的采样结果输入如上述任一多重散射分布生成网络训练方法实施例训练得到的多重散射分布生成网络,得到预测的散射分布结果;
将所述散射分布结果带入辐射传输方程中,为待渲染三维体积介质渲染出散射效果。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述任一实施例所述的多重散射分布生成网络训练方法的步骤,或者如上述任一实施例所述的多重散射分布渲染方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本公开实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。
Claims (11)
1.一种多重散射分布生成网络训练方法,其特征在于,包括:
预先构建多重散射分布生成网络;所述网络包括针对不同采样特征分别进行特征提取的分支网络模块,以及结果处理模块;
采用预设采样模板对待训练三维体积介质进行预设特征采样,所述预设特征采样包括:密度特征采样、透射特征采样、以及相位特征采样;
针对每种特征采样得到的采样特征,将该采样特征输入对应的分支网络模块,在该分支网络经过注意力机制处理,以及对配置参数融合处理,得到对该采样特征的特征提取结果;所述配置参数包括至少如下之一:HG相位函数的不对称参数、反照率、入射光线和相机方向的夹角;
将各采样特征对应的分支网络模块分别输出的特征提取结果进行融合处理后,输入所述结果处理模块得到预测的多重散射分布结果;
基于预测的多重散射分布结果以及确定的多重散射分布真值对所述多重散射分布生成网络进行训练;
所述预设采样模板包括漫反射采样模板和高光采样模板;
所述漫反射采样模板包括第一层数的同心球体,且在球心、最内层球体内区域、以及相邻两层球体之间区域分别均匀分布有第一预设数量的第一模板点;
所述高光采样模板包括从入射光穿入三维体积介质的入射点,至作为采样点的三维体积介质粒子,沿入射光方向平均分成第二层数,且每一层包含第二预设数量的第二模板点;
采用预设采样模板对待训练三维体积介质进行预设特征采样,包括:
针对使用所述漫反射采样模板和所述高光采样模板对所述三维体积介质的每次采样,将该次采样时作为采样点的体积介质粒子与所述漫反射采样模板的球心对应,通过所述第一模板点以及所述第二模板点,对该采样点进行预设特征采样;
针对每种预设采样模板,为该种预设采样模板设置有与不同采样特征分别对应的分支网络模块;且所述分支网络模块并行对对应采样特征进行处理;针对每种特征采样得到的采样特征,将该采样特征输入对应的分支网络模块,在该分支网络经过注意力机制处理,以及对配置参数融合处理,得到对该采样特征的特征提取结果,包括:
针对为对应预设采样模板以及对应采样特征设置的分支网络模块,确定该预设采样模板第一层包含的模板点针对该采样特征进行采样得到的第一采样特征;
将该预设采样模板的第一层作为当前层,迭代执行如下步骤:
将该第一采样特征与配置参数进行融合处理并输入注意力模块;将注意力模块输出的结果经过第一全连接模块处理后,与该预设采样模板当前层的下一层包含的模板点针对该采样特征采样得到的第二采样特征进行融合处理;融合后的结果经过第二全连接模块处理后再与该第一采样特征进行融合处理,得到当前层输出的特征提取结果;若当前层的下一层不为最后一层,则将当前层的输出特征作为新的第一采样特征,并将当前层的下一层作为新的当前层,返回执行与配置参数进行融合处理的步骤;若当前层的下一层为最后一层,则输出该预设采样模板当前层输出的特征提取结果;
或者
为每种采样特征分别设置对应的分支网络模块;且所述分支网络模块并行对对应采样特征进行处理;针对每种特征采样得到的采样特征,将该采样特征输入对应的分支网络模块,在该分支网络经过注意力机制处理,以及对配置参数融合处理,得到对该采样特征的特征提取结果,包括:
针对为对应采样特征设置的分支网络模块,确定该采样特征对应的采样类型特征空间,并将采样类型特征空间包含的采样特征输入注意力模块;并
将注意力模块输出的结果和配置参数在融合模块进行融合,得到该分支网络模块输出的针对应采样特征的特征提取结果;
其中,所述采样特征对应的采样类型特征空间包括:针对该采样特征,采用预设采样模板对所述待训练三维体积介质三维空间中的体积介质粒子完成预设次数采样,该预设次数采样使用的预设采样模板所包含的模板点总数构成的三维空间;所述注意力模块包括三维变形器transformer网络模块;所述融合模块包括三维U型网络UNet模块。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述漫反射采样模板各层球体的半径;
确定所述漫反射采样模板各层球体的半径,包括:
针对所述漫反射采样模板每层球体,为该层球体内每个第一模板点确定该层球体内与该第一模板点距离最近的第一模板点,并确定该第一模板点对应的最短距离;基于每个第一模板点对应的最短距离确定最短距离的平均值,得到该层球体对应的最短距离平均值;
基于该层球体对应最短平均距离以及控制模板重叠率的经验参数确定该层球体的半径,且满足:最短平均距离越小,对应球体层半径越大;
其中,每层球体内第一模板点包括该层球体表面与和与该层球体向内相邻层球体表面之间的第一模板点。
3.如权利要求1所述的方法,其特征在于,针对预设特征为透射特征的情况,通过所述第一模板点以及所述第二模板点,对该采样点进行预设特征采样,包括:
基于所述待训练三维体积介质的原始分辨率,对所述待训练三维体积介质的密度场进行降采样,得到第三预设数量个分辨率等级的密度场;
针对每个分辨率等级的密度场,通过预设分级透射场算法确定该分辨率等级的密度场下,光线从该采样点分别传播至各模板点的分级透射场;
针对每个模板点,将该模板点与该采样点针对各分辨率等级密度场分别确定的分级透射场,输入预设权重预测网络模型,按照对应预测权重对输入的各分级透射场叠加处理,得到该模板点与该采样点对应的透射特征;所述模板点包括:第一模板点以及第二模板点。
4.如权利要求1所述的方法,其特征在于,针对预设特征为相位特征的情况,通过所述第一模板点以及所述第二模板点,对该采样点进行预设特征采样,包括:
针对每个模板点,基于入射光线传播到该模板点再经过该采样点沿相机方向出射过程中入射光线的入射角和出射光线的出射角,以及预设相位函数,确定该模板点相对于该采样点的相位特征;所述模板点包括:第一模板点以及第二模板点;
针对每个模板点,基于入射光线传播到该模板点再经过该采样点沿相机方向出射过程中入射光线的入射角和出射光线的出射角,以及预设相位函数,确定该模板点相对于该采样点的相位特征,包括:
针对每个模板点,在入射角变换范围上对预设相位函数进行积分,得到入射光线方向的第一体积相位,以及在出射角变化范围上对预设相位函数进行积分,得到相机方向的第二体积相位;
将所述第一体积相位与所述第二体积相位的乘积确定为该模板点相对于该采样点的相位特征。
5.如权利要求4所述的方法,其特征在于,所述三维体积介质包括:气态类型三维体积介质、固液态类型三维体积介质、以及皮肤类型三维体积介质;
所述方法还包括:
为不同类型的待训练三维体积介质确定对应的预设相位函数;
为不同类型的待训练三维体积介质确定对应的预设相位函数,包括:
将各向同性相位函数确定为空气类型的待训练三维体积介质对应的预设相位函数;
将双峰亨尼-格林斯坦HG相位函数确定为气态类型待训练三维体积介质对应的预设相位函数;
将HG相位函数确定为固液态类型待训练三维体积介质对应的预设相位函数;
将多峰HG相位函数确定为皮肤类型待训练三维体积介质对应的预设相位函数。
6.如权利要求1所述的方法,其特征在于,所述注意力模块包括:挤压模块、权重系数生成模块、和激励模块;
注意力模块采用如下方式对输入进行处理:
所述挤压模块基于输入的融合后的第一采样特征和配置参数,确定注意力向量;所述注意力向量包括如下维度:第一采样特征的最大池化维度、第一采样特征的平均池化维度、每个配置参数对应的维度;
将所述注意力向量输入所述权重系数生成模块经过激活处理得到所述注意力向量各个维度的权重系数;
通过所述激励模块将经过对应权重系数处理后的注意力特征输出。
7.如权利要求1所述的方法,其特征在于,将各采样特征对应的分支网络模块分别输出的特征提取结果进行融合处理后,输入所述结果处理模块得到预测的多重散射分布结果,包括:
将各采样特征对应的分支网络模块分别输出的特征提取结果进行融合处理后,输入全连接模块或者多层感知器MLPs网络模块,并输出预测的多重散射分布结果。
8.如权利要求1所述的方法,其特征在于,所述配置参数基于确定散射分布所采用预设算法确定;
所述预设算法包括辐射传输方程,或在体积介质不发光,以及介质反照率恒定的设定条件下,对辐射传输方程进行简化处理并积分得到的辐射传输方程简化方程;所述辐射传输方程为光线在体积介质粒子处沿传播方向穿过体积介质时的出射光线辐射强度变化方程;
所述配置参数基于确定散射分布所采用预设算法确定,包括:从辐射传输方程中提取同向散射项,通过所述辐射传输方程简化方程以及入射光线吸收方程对所述散射项进行变换得到同向散射方程;所述同向散射方程以体积介质粒子和光线在介质粒子处穿过体积介质方向为自变量,以多重散射分布为因变量,且所述同向散射方程至少包含如下参数:相位函数、反照率、及分阶段同向散射项。
9.如权利要求1所述的方法,其特征在于,基于预测的多重散射分布结果以及确定的多重散射分布真值对所述多重散射分布生成网络进行训练,包括:
基于光线散射分布项和反照率构建损失函数;
将预测的多重散射分布结果和确定的多重散射分布真值带入所述损失函数确定损失;
基于确定的损失,对所述多重散射分布生成网络进行训练。
10.一种多重散射分布渲染方法,其特征在于,包括:
获取待渲染三维体积介质;
采用预设采样模板对待渲染三维体积介质进行预设特征采样,所述预设特征采样包括:密度特征采样、透射特征采样、以及相位特征采样,并将采样结果预先存储;
将预先存储的针对不同采样特征的采样结果输入如权利要求1-9任一项训练得到的多重散射分布生成网络,得到预测的散射分布结果;
将所述散射分布结果带入辐射传输方程中,为待渲染三维体积介质渲染出散射效果。
11.一种多重散射分布渲染相关装置,其特征在于,包括:提供如权利要求1至9任一所述的多重散射分布生成网络训练方法的步骤对应功能模块的多重散射分布生成网络训练装置;或者如权利要求10所述的多重散射分布渲染方法的步骤对应功能模块的多重散射分布渲染装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311581860.4A CN117292068B (zh) | 2023-11-24 | 2023-11-24 | 一种多重散射分布生成网络训练方法、渲染方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311581860.4A CN117292068B (zh) | 2023-11-24 | 2023-11-24 | 一种多重散射分布生成网络训练方法、渲染方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117292068A CN117292068A (zh) | 2023-12-26 |
CN117292068B true CN117292068B (zh) | 2024-03-05 |
Family
ID=89252104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311581860.4A Active CN117292068B (zh) | 2023-11-24 | 2023-11-24 | 一种多重散射分布生成网络训练方法、渲染方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117292068B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112348872A (zh) * | 2020-09-28 | 2021-02-09 | 西安电子科技大学 | 一种基于物理过程的红外积云的建模方法 |
CN115937394A (zh) * | 2022-12-05 | 2023-04-07 | 百果园技术(新加坡)有限公司 | 一种基于神经辐射场的三维图像渲染方法及系统 |
CN116206045A (zh) * | 2023-03-09 | 2023-06-02 | 山东大学 | 半无限参与介质多重散射的绘制方法及系统 |
CN116342789A (zh) * | 2023-03-20 | 2023-06-27 | 南京大学 | 基于元学习的层状材质渲染方法及装置 |
CN116385623A (zh) * | 2023-04-07 | 2023-07-04 | 山东大学 | 具有深度信息的参与介质多重散射的绘制方法及系统 |
CN116524101A (zh) * | 2023-04-11 | 2023-08-01 | 南京大学 | 基于辅助缓冲区信息和直接光照的全局光照渲染方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11030800B2 (en) * | 2019-11-08 | 2021-06-08 | Chaos Software Ltd. | Rendering images using modified multiple importance sampling |
-
2023
- 2023-11-24 CN CN202311581860.4A patent/CN117292068B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112348872A (zh) * | 2020-09-28 | 2021-02-09 | 西安电子科技大学 | 一种基于物理过程的红外积云的建模方法 |
CN115937394A (zh) * | 2022-12-05 | 2023-04-07 | 百果园技术(新加坡)有限公司 | 一种基于神经辐射场的三维图像渲染方法及系统 |
CN116206045A (zh) * | 2023-03-09 | 2023-06-02 | 山东大学 | 半无限参与介质多重散射的绘制方法及系统 |
CN116342789A (zh) * | 2023-03-20 | 2023-06-27 | 南京大学 | 基于元学习的层状材质渲染方法及装置 |
CN116385623A (zh) * | 2023-04-07 | 2023-07-04 | 山东大学 | 具有深度信息的参与介质多重散射的绘制方法及系统 |
CN116524101A (zh) * | 2023-04-11 | 2023-08-01 | 南京大学 | 基于辅助缓冲区信息和直接光照的全局光照渲染方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117292068A (zh) | 2023-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jarosz et al. | The beam radiance estimate for volumetric photon mapping | |
Löw et al. | BRDF models for accurate and efficient rendering of glossy surfaces | |
Belcour | Efficient rendering of layered materials using an atomic decomposition with statistical operators | |
CN104361624B (zh) | 一种计算机三维模型中全局光照的渲染方法 | |
CN106570215B (zh) | 一种基于时变气象数据的热带气旋动态仿真方法 | |
US10902665B2 (en) | Rendering images from deeply learned raytracing parameters | |
US11403807B2 (en) | Learning hybrid (surface-based and volume-based) shape representation | |
Webanck et al. | Procedural cloudscapes | |
CN117333637B (zh) | 三维场景的建模及渲染方法、装置及设备 | |
CN115797561A (zh) | 三维重建方法、设备及可读存储介质 | |
Abbas et al. | Forest fog rendering using generative adversarial networks | |
Klehm et al. | Property and lighting manipulations for static volume stylization using a painting metaphor | |
CN117292068B (zh) | 一种多重散射分布生成网络训练方法、渲染方法及装置 | |
Zuo et al. | High-resolution reconstruction algorithm for the three-dimensional velocity field produced by atomization of two impinging jets based on deep learning | |
Ge et al. | Interactive simulation of scattering effects in participating media using a neural network model | |
Villa et al. | Image Rendering and Terrain Generation of Planetary Surfaces Using Source-Available Tools | |
CN116385623A (zh) | 具有深度信息的参与介质多重散射的绘制方法及系统 | |
Sone et al. | Parameter Estimation of BSSRDF for Heterogeneous Materials. | |
Bauer et al. | Photon Field Networks for Dynamic Real-Time Volumetric Global Illumination | |
CN110825903A (zh) | 一种改进哈希融合机制的视觉问答方法 | |
CN110426688A (zh) | 一种基于地形背景目标的sar回波模拟方法 | |
CN113947547A (zh) | 基于多尺度核预测卷积神经网络的蒙特卡洛渲染图降噪方法 | |
Jiang et al. | Physics-informed neural networks for path loss estimation by solving electromagnetic integral equations | |
CN117237507B (zh) | 参与介质的渲染方法、装置、存储介质及计算机设备 | |
Shinya et al. | Multiple scattering approximation in heterogeneous media by narrow beam distributions |
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 |