《视点重要度驱动的光子追踪.docx》由会员分享,可在线阅读,更多相关《视点重要度驱动的光子追踪.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、视点重要度驱动的光子追踪(计算机辅助设计与图形学学报)2015年第十二期影视制作、游戏设计等领域经常采用全局光照效果来加强画面的真实感,目前常用的全局光照方法有蒙特卡洛光线追踪法、光子映射法等.其中,蒙特卡洛光线追踪法对焦散效果绘制存在瓶颈,光子映射法能够绘制包括焦散效果在内的多种全局光照效果,但其绘制误差的下降速度依靠于光子追踪阶段发射光子的分布.Smits等将视点重要度的概念引入了计算机图形学,视点重要度表征了场景某位置对成像奉献的大小,向视点重要度高的区域发射更多光子有助于更快地降低绘制误差.原始的光子映射方法需要存储全部光子,最终绘制质量遭到物理内存的限制.渐进光子映射不要求存储光子,
2、并能通太多轮光子追踪渐进地减小偏差.但是,对于由隔壁光源照明的暗室或光源经门缝提供光照的房间等困难光照场景,以上方法的绘制效率普遍较低,其主要原因在于这些方法采用了随机光子追踪,难以找到能抵达视点重要区域的光子途径,这些区域接收的光子偏少,导致绘制误差下降慢.为了解决该问题,Chen等提出了基于初始光子密度的重要性函数,但初始光子分布情况较差,无法反映场景的视点重要度;Hachisuka等提出了基于光子途径可见性的重要性函数,但亦未考虑场景的视点重要度.针对上述问题,本文提出一种基于视点重要度的自适应光子追踪方法,首先构造一种新的重要性函数,该函数结合了视点重要度和光子途径可见性;其次通过自适
3、应马尔科夫链蒙特卡洛方法和分布交换技术来采样该函数,进而自适应地生成能抵达高重要性可见区域的光子途径;最后设计了一种新的采样分布选择策略,若目的分布当前途径的重要度较高,则根据该途径来生成新途径,反之则通过均匀分布生成新途径.实验结果表明,该方法能有效地提高困难光照场景的绘制效率、加快绘制误差的下降速度,同时也能强健地绘制简单光照场景.1相关工作真实感绘制方法通常能够归结为求解绘制方程的问题,Kajiya提出了途径追踪方法,该方法被以为是第一个蒙特卡洛光线追踪方法.Veach等提出了双向途径追踪方法,该方法同时追踪光源子途径和相机子途径,有利于提高途径空间的采样效率.Veach等于1997年提
4、出了Metropolis光传输算法,通过Metropolis采样技术来对途径空间进行采样.以上方法均属于基于途径空间采样的蒙特卡洛光线追踪方法,虽在理论上能绘制出无偏的结果,但这类方法难以采样含镜面反射或镜面透射的途径,因而无法强健地绘制焦散效果.Jensen提出的光子映射方法能够强健地绘制焦散,但其绘制质量受限于内存的容量大小,绘制的结果存在偏差.Hachisuka等针对该问题提出了渐进光子映射,仅使用有限的内存即可渐进地绘制出正确结果;随后,Hachisuka等又将其扩展为随机渐进光子映射,用于绘制景深、运动模糊等效果.但是,上述3种方法在光子追踪阶段均采用随机光子追踪,当光照条件较困难光
5、阴子难以抵达视点重要区域,故绘制效率将大幅下降,因而这类方法经常需要较多的光子以及较长的绘制时间才能将绘制误差降至可接受的水平.针对困难光照场景,Fan等设计了基于Metropolis采样的光子追踪方法,但该方法仍从途径空间采样光路来引导光子放置,难以绘制焦散效果.Chen等亦使用了Metropolis光子采样,并根据初始光子密度来构造重要性函数.然而,在困难光照场景中大部分区域的初始光子密度较低,该函数无法反映场景的视点重要度大小;此外,该方法含有多个与场景关联的参数,需作大量测试来寻找最佳参数.Hachisuka等提出基于光子途径可见性的重要性函数,但其方法未考虑视点重要度,而且新途径均由
6、均匀分布产生,未能充分利用Metropolis采样的局部探索能力.王元龙等提出使用虚拟小光线束分解来加快介质单散射绘制的光子生成,但未考虑视点重要度.与以上工作不同,本文考虑了场景的视点重要度,并根据视点重要度和光子途径可见性来构造新的重要性函数,然后使用自适应马尔科夫链蒙特卡洛方法和分布交换技术来采样该函数.Peter等将光子映射扩展为三阶段方法,增加了重要度粒子追踪阶段,然后根据视点重要度来选择光子发射方向.本文在随机渐进光子映射的两阶段框架中计算视点重要度,并将重要度粒子追踪融合到视点光线追踪经过中,进而避免引入额外的重要度粒子追踪阶段.视点重要度还有一些其他应用,例如,Suykens等
7、根据视点重要度来估算场景各位置所需的光子密度;文献16利用了视点重要度来提高基于图像的光照的光路采样效率.Kitaoka等提出了基于分布交换的光传输方法,根据光线的类别来构造对应的采样分布,然后通过在多个分布之间交换状态来对途径空间采样.与之不同,本文仅执行从均匀分布到目的分布的单向交换,降低了分布交换的复杂性.此外,本文设计了一种新的采样分布选择策略,一方面充分利用已找到的途径来生成新途径,加强局部探索能力;另一方面,以一定的概率从均匀分布生成新途径,避免陷入局部极值区域.2本文方法概述随机渐进光子映射方法分为2个阶段:视点光线追踪阶段和光子追踪阶段.在视点光线追踪阶段,从视点发射光线并记录
8、交点;在光子追踪阶段,从光源均匀随机地发射光子,然后在视点光线交点处累积光子能量.本文扩展了随机渐进光子映射方法,如图1所示,在光子追踪阶段采用本文的自适应光子追踪方法.本文考虑了场景不同区域视点重要度的差异,并根据光子途径可见性和视点重要度来构造重要性函数.在视点光线追踪阶段,首先计算场景的视点重要度,然后构造视点重要度图;在光子追踪阶段,结合自适应马尔科夫链蒙特卡洛方法和分布交换技术来采样重要性函数.自适应马尔科夫链蒙特卡洛方法能自动寻找最优变换参数.分布交换技术确保了采样状态的遍历性.本文使用均匀分布和目的分布这2种采样分布,并通过采样分布选择策略来决定生成新途径的方式.自适应光子追踪方
9、法的步骤。3视点重要度图的构造场景中视点重要度高的区域对成像的奉献较大,向这些区域发射更多光子有利于降低绘制误差.Peter等14提出根据视点重要度来选取光子发射方向,该方法包含3个阶段,即在光子映射的两阶段前增加重要度粒子追踪阶段,重要度粒子被称为“重要子.与该方法不同,本文没有引入重要子追踪阶段,也不需构造重要子,将视点重要度计算融合到视点光线追踪阶段,在追踪视点光线的经过中完成视点重要度计算,并在光线交点中存储视点重要度,避免了引入重要子追踪阶段的计算开销和重要子的存储开销.本文采用与途径追踪类似的方法来计算式(1)的视点重要度.1)对传感器上的每个像素生成视点光线并执行追踪,当光线与场
10、景外表相交时判定交点的材质类型.若为漫反射材质,则存储光线交点;若为其他材质,则以“俄罗斯轮盘方式18决定能否存储光线交点.若未存储交点,则采样一个新的方向,再沿该方向继续追踪光线并更新视点重要度值.当视点重要度已减为0或光线的途径长度已超过预设的最大值时,结束对该光线的追踪.本文构造了KD树构造来存储光线交点以加速交点查询.2)遍历光线交点并计算各交点所在位置的视点重要度,先搜索半径为r范围内的光线交点。其中,N为光线交点数量,mi表示光线交点i存储的视点重要度.3)根据场景各位置的视点重要度构造视点重要度图.为了压缩局部极值,本文将各像素值的原取值范围作了压缩(本文取5%85%),压缩的上
11、下限不宜偏离原范围太多,否则会导致取值发生大幅改变;为了消除局部高频噪声,本文对视点重要度图进行了低通滤波.支撑大的滤波核影响的像素较多,会导致像素信息丢失,本文选用33的低通滤波核.根据以上方法生成第5.1节暗室场景的视点重要度图如图2所示.4自适应光子追踪构造视点重要度图之后,在追踪光子时可快速获取放置光子处的视点重要度.本文的重要性函数结合了视点重要度与光子途径可见性.为了高效采样该函数,本文使用均匀分布来辅助目的分布采样,采样生成的每个状态对应一条光子途径.在目的分布中,利用自适应马尔科夫链采样方法通过对当前途径作变换来生成新途径;在两分布之间,根据采样分布选择策略决定能否从均匀分布生
12、成新途径.4.1标量奉献函数本文设计了重要性函数I(u)=V(u)M(u).V(u)表示光子途径u能否可见,若u对任一视点光线交点有奉献,则以为它是可见的,令V(u)=1;反之,V(u)=0.M(u)表示光子途径u的视点重要度。4.2采样分布的选择策略传统的Metropolis采样技术,对多峰的概率密度函数的采样效率低,生成的样本往往聚集于局部峰值附近,需要进行大量的变换操作才能生成服从目的函数的样本分布.重要性函数I(u)属于多峰的概率密度函数,因而Metropolis采样难以高效地采样该函数.混合分布H产生新状态的方式有2种:方式1.通过均匀分布生成新状态,然后执行分布交换,将该状态作为目
13、的分布的新状态,考虑到均匀分布易于生成新状态,因而不必将均匀分布的新状态替换为目的分布的旧状态;方式2.在目的分布中生成新状态.图3的虚线箭头表示方式1,空心箭头表示将均匀分布的新状态作为目的分布的新状态,实线箭头表示方式2.在每次生成新途径前,首先计算执行分布交换的概率p,并根据随机数来决定选用何种方式生成新途径.若p,则选择方式1;反之,选择方式2.设当前途径u与其前一途径的重要性函数值之比为r,概率p的计算分为4种情形。4.3目的分布新途径的生成本文在目的分布内通过自适应马尔科夫链蒙特卡洛方法来采样重要性函数I(u),该方法使得生成的光子途径分布与I(u)成比例,进而引导更多光子到达对成
14、像奉献大的可见区域,加快这些区域的绘制误差下降速度.若当前光子途径可见且能抵达视点重要度高的区域,则与其类似的光子途径可以能抵达这些区域.根据当前途径生成类似途径可通过Metropolis采样对当前途径作变换来实现,变换操作使用的变换参数对采样效率具有显著影响,若该参数选取不当,采样效率将大幅降低.由于不存在对任意场景适用的最佳变换参数,往往需要在一个区间进行大量测试以找到最佳参数.Chen等4采用了一种大幅度变换和小幅度变换相结合的方法,但选择的变换参数只适用于部分场景.5实验结果与分析我们在PBRT渲染器中实现了本文方法,并通过该渲染器来执行实验中的比照方法.本文所有实验均在配置为Inte
15、lCorei5-24003.10GHzCPU,8GB内存的环境下运行.实验所用参数设置如下:绘制线程数为4,变换参数的初始值m0=2.0,=0.7,随机渐进光子映射的参数=0.7.视点重要度图与绘制图像的分辨率一样,归一化因子D在前5轮光子追踪经过中计算.5.1暗室场景比拟图5所示为暗室场景,光源位于门外隔壁房间,光线经门进入暗室,该场景的视点重要度图如图2所示.绘制图像的分辨率为460320,每轮光子追踪使用50000个光子.图5a5c所示为随机光子追踪、Hachisuka方法和本文方法经过50轮光子追踪后的绘制结果,图5d5f所示为800轮光子追踪后的结果,能够看出,在视点重要度高的区域(
16、红色和蓝色截窗),随机光子追踪绘制图像的噪声最严重,而本文方法绘制图像的噪声水平最低,细节更为明晰,讲明本文方法的绘制误差下降更快.图6所示为上述3种方法经过800轮光子追踪后的光子密度分布的归一化结果.能够看出,与其他两种方法相比,本文方法提高了暗室内的整体光子密度,在视点重要度高的区域(如墙和地板内侧),图6c的光子密度更高.随机光子追踪方法的整体光子密度偏低;Hachisuka方法的整体光子密度较图6a有所增加,但墙和地板内侧的光子密度仍较低.5.2性能分析针对图5的暗室场景,图7比照了前述3种方法在一样光子追踪轮数条件下绘制图像的均方误差(meansquareerror,MSE).能够
17、看出,本文方法能快速降低MSE,其曲线下降最快,Hachisuka方法次之,而随机光子追踪方法下降最慢.对于同一光子追踪轮数,本文方法绘制图像的MSE更小,即绘制图像的噪声更少.同时也表明,为将绘制误差降至某一水平,本文方法所需的光子数更少.图7暗室场景的MSE曲线5.3其他场景的比照图8所示为含有困难光照条件的Cornell场景,室内照明由门缝外的光源提供.绘制图像的分辨率为512512,光子追踪轮数为1500轮,每轮使用105个光子,MCRT(MonteCarloraytracing)的绘制时间采用其他3种方法消耗时间的最大值,参考图片由原渐进光子映射方法绘制24h产生.能够看出,在后墙以
18、及离光源较远的区域(蓝色和红色截窗),与其他方法相比,由本文方法绘制图像的噪声水平最低,更接近参考图片;在后墙区域,MCRT方法未能绘制出焦散弧线,这是由于该方法无法采样生成该焦散弧线的光路.图9所示为光照条件简单的国际象棋场景,光源位于斜上方.绘制图像的分辨率为512512,每种方法的绘制时间均为20min,每轮光子追踪使用8000个光子,参考图片由渐进光子映射方法绘制24h产生.能够看出,经过一样时间后,图9b9d的结果相近,讲明本文方法保持了原随机渐进光子映射绘制简单光照场景的强健性和高效性;此外,固然本文方法执行的光子追踪轮数比随机光子追踪和Hachisuka方法少,但图9d的MSE更
19、小,这也表明本文方法能更快地降低噪声;MCRT方法绘制的图9a质量最差,中央玻璃棋子的阴影和焦散区域存在显著的噪声.表1所示为针对暗室场景、Cornell场景、国际象棋场景,采用本文方法绘制60min后的变换参数和状态接受率情况,变换参数初始值均为2.0.能够看出,状态接受率均接近最优接受率0.234.对于光照条件困难的暗室场景和Cornell场景,该方法能自适应地减小变换参数以加强途径采样的局部性;而对于光照条件简单的国际象棋场景,该方法也能自适应地增大变换参数以使途径的变换幅度增大,避免采样陷入局部极值区域.6总结本文提出一种基于视点重要度的自适应光子追踪方法,构造了新的重要性函数,并结合自适应马尔科夫链采样方法和分布交换技术来生成光子途径.该方法能引导更多光子到达对成像奉献大的可见区域,能够快速降低绘制误差;设计了新的采样分布选择策略,在保持采样遍历性的前提下充分利用已找到的途径来生成新途径,具有较高的途径采样效率.本文方法是对随机渐进光子映射的扩展,但亦可用于扩展渐进光子映射和原始光子映射方法.本文实验采用CPU多线程并行执行,后续将考虑进一步提高计算效率.本文在视点光线追踪阶段仅执行一次视点重要度图构造,下一步将考虑在每个视点光线追踪阶段均更新视点重要度图.另外,我们还将考虑扩展本文方法用于处理场景含有介入介质的情况。