(计算机应用技术专业论文)入射光复用滤波和光辐射强度估计的改进.pdf_第1页
(计算机应用技术专业论文)入射光复用滤波和光辐射强度估计的改进.pdf_第2页
(计算机应用技术专业论文)入射光复用滤波和光辐射强度估计的改进.pdf_第3页
(计算机应用技术专业论文)入射光复用滤波和光辐射强度估计的改进.pdf_第4页
(计算机应用技术专业论文)入射光复用滤波和光辐射强度估计的改进.pdf_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文摘要 整体光照算法可以绘制真实感图像,在建筑、设计、娱乐等领域中的应用越 来越广泛。在这些领域中场景越来越复杂,基于蒙特卡罗光线跟踪算法的光照技 术是处理这种复杂性的最佳选择,但是这种技术最大的问题是积分估计的方差, 在绘制的图像中表现为噪声。噪声会随着采样的增加而减小,但是会花费很长的 时间,滤波算法可以有效地去除噪声,因此有必要研究滤波算法,在短时间内生 成赏心悦目的图像。 本文在前人工作的基础上提出了入射光复用滤波算法,并对经典的光辐射强 度估计方法做了改进。入射光复用滤波算法以蒙特卡罗路径跟踪为基础,将采样 得到的入射光保存在二维向量数组中,然后根据绘制点和采样点之间的相似程 度,复用绘制点周围的入射光做光照计算。复用标准考虑到了交点处的距离信息, 因此可以使用大的复用窗口来平滑图像并且能够保证细节处的光照不会有大的 偏差。 入射光复用滤波算法只能高效的处理一部分光线传播路径,焦散是通过光子 图算法绘制的,但是传统的光辐射强度估算方法不够精确,针对物体表面细节的 光辐射强度计算存在很大的误差。本文改进了经典的光辐射强度估算方法,对光 通量的计算作了矫正,能够更好地表现物体的细节。本文的算法可在较短的时间 里绘制出低噪声的图像,可以应用于大部分材质,具有广泛的适用性。 关键词:蒙特卡罗整体光照滤波复用光子图光辐射强度估计 g l o b a li l l u m i n a t i o n a l g o r i t h m s c a n s y n t h e s i z e r e a l i s t i c i m a g e s ,a n d a r e i n c r e a s i n g l yu s e di na r e a ss u c ha sa r c h i t e c t u r e ,d e s i g n ,e n t e r t a i n m e n ta n ds oo n s c e n e si nt h e s e a r e a sa r eb e c o m i n gi n c r e a s i n g l yc o m p l e x , a n dm o n t ec a r l or a y t r a c i n gb a s e di l l u m i n a t i o nt e c h n i q u e sa r et h eb e s tc h o i c et oh a n d l et h i sc o m p l e x i t y h o w e v e r , t h em a i np r o b l e mo ft h e s et e c h n i q u e si st h ev a r i a n c ei ni n t e g r a le s t i m a t i o n s e e na sn o i s ei nt h er e n d e r e di m a g e s n o i s ec a nb er e d u c e db yi n c r e a s i n gs a m p l e s ,b u t i tw i l lt a k eq u i t eal o n gt i m e n o i s ec a na l s ob er e d u c e db yf i l t e r i n g ,s oi ti sn e c e s s a r y t od e v e l o pf i l t e ra l g o r i t h m si no r d e rt or e n d e rp l e a s a n ti m a g e sf a s t i n c i d e n tr a d i a n c er e u s ef i l t e rw a sp r e s e n t e db a s e do np r e v i o u sw o r k , a n dc l a s s i c r a d i a n c ee s t i m a t i o na l g o r i t h mw a si m p r o v e d i n c i d e n tr a d i a n c er e u s ef i l t e rw a s d e v e l o p e db a s e do nm o n t ec a r l op a t ht r a c i n g i n c i d e n tr a d i a n c es a m p l e sw e r es a v e d i nad a t as t r u c t u r e ,a n dt h e nr e u s e dn e a rr e n d e r i n gp o i n t st oc a l c u l a t ei l l u m i n a t i o n a c c o r d i n gt os e v e r a lr e u s es t a n d a r d s d i s t a n c ei n f o r m a t i o na r o u n dt h ei n t e r s e c tp o i n t w a sc o n s i d e r e di nt h er e u s es t a n d a r d s ,s ol a r g er e u s ew i n d o wc o u l db eu s e dt or e d u c e n o i s ew i t h o u ti n t r o d u c i n gm u c hb i a st oi l l u m i n a t i o no fd e t a i l s i n c i d e n tr s d i a n c er e u s ef i l t e rc o u l dh a n d l eo n l yp a r t so fl i g h tt r a n s p o r tp a t h s e f f i c i e n t l y , s oc a u s t i cw a sr e n d e r e dw i t hp h o t o nm a pa l g o r i t h m ,b u tc l a s s i cr a d i a n c e e s t i m a t i o nw a sb i a s e de s p e c i a l l yi nd e t a i l s i nt h i sp a p e rc l a s s i cr a d i a n c ee s t i m a t i o n a l g o r i t h mw a si m p r o v e da n dl i g h tf l u xc a l c u l a t i o nw a sr e v i s e d ,r e s u l t i n gi nb e r e r r e p r e s e n t a t i o no fd e t a i l s t h ea l g o r i t h mp r e s e n t e di nt h i sp a p e rc o u l dr e n d e rp l e a s a n t i m a g e so fs c e n e s 诵n lm a n yk i n d so fm a t e r i a l si nas h o r tt i m e ,r e s u l t i n gi nw i d e a p p l i c a b i l i t yi nm a n ya r e a s k e yw o r d s :m o n t ec a r l o ,g l o b a li l l u m i n a t i o n ,f i l t e r i n g ,r e u s e ,p h o t o nm a p , r a d i a n c ee s t i m a t i o n 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得苤注态堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:嘲人奇讪签字日期:吲年殳月2 日 学位论文版权使用授权书 本学位论文作者完全了解鑫注盘堂有关保留、使用学位论文的规定。 特授权苤鲞盘堂可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 一躲啾w h 签字日期:加o 年卫月2 日 导师签名: 签字日期:跏r 7 年殳月2 日 第一章绪论 1 1 整体光照简介 第一章绪论 整体光照算法可以绘制虚拟场景的真实感光照,给人们以赏心悦目的画面。 给出场景中物体的几何描述,物体的材质属性,光源的位置和它在各个方向的光 能分布以及观察者的位置,整体光照算法就可以模拟光线在场景中的传播情况, 在各种物体之间的反射折射效果,进而绘制出虚拟场景的真实感光照图片。 整体光照算法的应用范围广泛。在计算机动画以及影视渲染领域中,真实感 照明设计通常占用了艺术家们很多的时间。当前应用于产业的光照算法通常只支 持直接光照光源对物体的直接照明效果,而光线在物体之间的传播效果,比 如墙面和地板之间的光能传递,往往要通过灯光设计师精心摆放虚拟的光源来体 现。整体光照算法可以精确的绘制间接光照,节省了光照设计的时间。在产品设 计和建筑领域中整体光照算法也有重要的应用,设计师可以在建筑建成之前看到 内部外部的光照效果,及时调整设计中的不足。 1 2 本文讨论的问题 甩较短的时间来绘制真实感图像是本文的目标。真实感是指绘制的图像不仅 要包括局部光照效果,还要包括焦散、泅色、软阴影等整体光照的效果。为了确 保图像的真实感和绘制的效率,我们以几何光学为基础,选择绘制方程( 或者势 能方程) 来描述光能的传输。因为场景中几何形体复杂,物体材质种类繁多,绘 制方程的解通常不能用解析表达式描述,绘制方程展开后是高维积分,而且被积 函数具有多峰性,通常使用蒙特卡罗方法求解。 由于采样不足蒙特卡罗方法绘制的图像往往有高频噪声,如果使用足够多的 采样就要花费相当长的时间。滤波算法可以在很大程度上减少噪声,但是已有的 滤波算法会模糊物体或纹理的边界,或者会花费比较长的时间。本文提出的滤波 算法将在较短的时间里绘制噪声小而且边界清晰的图像。光子图算法是经典的整 体光照算法,但是在光辐射强度估计时会有较大的误差,本文改进了光辐射强度 的估计方法,绘制图像的质量有了明显的提高。 第一章绪论 1 3 本文的工作和创新 本文在蒙特卡罗路径跟踪( m c p t ) 算法的基础上引入了光子图复用光子的 思想,通过复用入射光采样在较短的时间里绘制平滑的图像,与m c p t 相比它 绘制平滑图像所用的时间更短。滤波窗口的大小由采样的相对强弱来控制,窗口 内的采样可以根据复用的标准设置不同的权重,与光子图相比它的采样和复用方 式更加灵活,滤波后的结果与无偏算法更加接近。 入射光复用滤波只能处理一部分光传播路径,焦散还是要通过光子图算法来 绘制,以往的光辐射强度估计会模糊物体的细节,本文对入射光通量计算做了矫 正,改进之后的算法使图像质量有了明显的提高。 本文的创新之处主要有两点:( 1 ) 通过复用入射光在较短的时间里绘制平滑 的图像。( 2 ) 改进了光子图算法的光辐射强度估计,提高了光子图算法对物体细 节的表现能力。 1 4 文章的结构 第二章介绍整体光照中的基本概念和一些经典的算法以及前人对这些算法 的改进。 第三章阐述入射光复用滤波,首先对光路的种类的做了划分,然后阐述入射 光复用的标准、滤波窗口的计算和轮盘赌加速的方法,最后给出了算法的实现并 用五组场景测试该算法,对测试的结果做了讨论。 第四章阐述对光辐射强度估计的改进,通过对通量估计的分析我们提出了改 进的方法,接着给出了算法实现,最后通过场景测试验证了改进算法的有效性, 并对测试结果做了讨论。 第五章总结了硕士期间的工作,对未来的研究做了展望。 第二章背景和相关工作 2 1 蒙特卡罗积分 第二章背景和相关工作 整体光照中的绘制方程通常使用蒙特卡洛方法求解,本节介绍蒙特卡罗方法 求解定积分的基本思想,详细的蒙特卡罗知识请参阅蒙特卡罗方法【1 以及 蒙特卡罗方法初级读本【2 】等文献。 首先回顾概率论的一些基本概念。设x 为一维实值随机变量,则累积分布 函数p ( 功可以定义为e ( x ) = e x x l ,相应的概率密度函数p ( 曲可以定义为 p ( x ) = 羊( 功。随机变量y = 厂( x ) 的期望e ( j ,) = l 厂( x ) p o ) 础( 功,方差 矿( 即= e ( y - e ( r ) ) 2 ) 。 蒙特卡罗积分是通过随机抽样的方法来求解积分,设,= 【厂( x ) 舡( x ) ,根 据概率密度函数p 对积分域q 做n 个采样,然后用估计式j = 专善看鬻来近似 积分的结果。可以证明这个估计是无偏的: 硇= e 脯器) = 专善器p = = l f c x ) a t c x ) = 1 蒙特卡罗积分的收敛速率可以从估计式的方差上体现出来: 哈矿器胯矿馐器) 公加m 若采样五为独立同分布的随机变量,则有:y ( 旬= 专y 匕器) ,所以标准差 莎( 幻= 丽1 仃( 丢罄) ,可以看到随着采样数目的增多,估计式的标准差减小, 第二章背景和相关工作 它的收敛速率为o ( n - “2 ) 。 从以上的分析可以看到蒙特卡罗求解积分的一些优点。它的做法简单,只需要根 据某一概率密度函数( 被积函数不为零时概率密度函数也不为零) 在积分区间内 做随机采样,然后根据被积函数的采样值和概率密度即可求解。与数值积分相比 它具有更普遍的适用性,随机抽样使得蒙特卡罗方法可以适应任意形状的积分 域,而且使用重要性抽样可以获得更高的效率,蒙特卡罗积分的收敛速率是 o ( n - 1 陀) ,不会受到积分维度或者被积函数的影响。 2 2 光能传输的基本概念 本节将介绍用于光照计算的物理量以及物体表面材质的数学描述方法,更多 的辐射线测定的内容请参阅辐射线测定与光度测定导论 3 】以及数字图像 合成原理【4 】等文献。 1 ) 辐射通量。辐射通量也称功率,可以定义为单位时间内所做的功,或者 单位时间内到达或离开物体表面的辐射能量: ;塑 破 公式( 2 2 ) 2 ) 辐照度与辐射出射度。辐照度的定义是单位面积上入射的辐射通量,与 之相对应的辐射出射度是单位面积上离开的辐射通量。辐照度通常使用字母e 来 表示,辐射出射度通常用字母m 表示,辐射出射度又被称为辐射度,用字母b 表 示,它们的公式定义如下: e :粤,肘:b :粤 公式( 2 3 ) 幽刎 一一 3 ) 辐射强度。辐射强度是单位投影面积上,单位立体角的辐射通量,公式 定义如下: l ( x , c o ) :窖熟 公式( 2 - 4 ) 戤打( 砌 。 其中,砖表示在与缈方向垂直的平面上的投影面积,埘( 功= l 彩( x ) i 剃( z ) , 第二章背景和相关工作 ( 功为工点处的法线,如果把l 彩o ) i 与d 仃( 功合并则可以得到辐射强度的另一 种表达式: l ( x , c o ) = 面d 2 * 两( x , c 丽o ) 公式( 2 - 5 ) 其中科( ) 表示x 点处的投影立体角。 4 ) 双向散射分布函数( b r d f ) 。光线与不同的材质表面相交时会发生不同 的相互作用,不同的材质在相同的光照条件下外观不同,为了精确的描述材质表 面对光线的散射作用,此处引入了双向散射分布函数,它的公式定义如下: z “锡专) = 粥= 百瓦a l 瓦o ( 丽x , c o o ) 公式( 2 - 6 ) z 锡- - + q ) 表示x 点处,以劬为入射方向,以哝为出射方向的双向散射分布 函数:z , o ( x , c o o ) 表示z 点处,以致为出射方向的光辐射强度;e 够) 表示x 点 处,以劬为入射方向的辐照度,根据辐照度和辐射强度的定义可以得到 d e ( x , o o = l a x ,哆) d 砖( q ) 。通过实验观察,发d e ( x , o j , ) 增加时,瓯( 毛吃) 随 着d e ( x ,鳓) 的变化按比例增加,因此将这二者之比定义为双向散射分布函数。 2 3 绘制方程与滤波算法 在介绍绘制方程之前首先给出散射方程的定义,根据双向散射分布函数的定 义我们可以得到: d z o ( x , o , o ) = 厶 ,锡) z 0 ,锡寸) d 一( 锡) 公式( 2 7 ) 将上式两边做积分得: 厶( x ,c o o ) = l 厶( x ,q ) z ,彩_ 吃) 科( 吗) 公式( 2 8 ) 上式就是光照算法中常用的散射方程,将投影立体角展开可得: 第二章背景和相关工作 厶) = 厶“够) z “锡- - , c o o ) l a , , n ( x ) l d o - ( o , , ) 公式( 2 9 ) 将入射光辐射强度、双向散射分布函数、入射光方向与表面法线的点积三者的乘 积在积分域,也就是以交点x 为球心的半球面内做积分,即可得到沿方向纯的出 射光辐射强度。 接下来介绍绘制方程的三点式表示方法,这种表示方法用点来代替方向,更 具有一般性,如下图所示: 图2 1 一条光线从x 点出发,在x 处反射与另一平面交于点z ”,以三o 一工) 表示由点x 出发射向点工的光辐射强度,以z o 专x - - ) x 1 ) 表示x 处的双向散射分布函数, 入射方向从x 点到x 点,出射方向从x 点到x 。点。绘制方程的三点式表示如下: 三( x 哼x 3 = l a x 一x i ) + 三 哼x ) z j x _ z - - ) g ”x - ) 蒯( 力 公式( 2 1 0 ) 其中,l a x 一x ) 表示点x 处,物体自身发出的光沿出射方向i 的辐射强度; g h 茗) 是点x 和点x 之间的几何因子。g ( x 付x - ) 的表达式如下: g ( x x - ) = y ( 石七x i ) 背x l l 公式( 2 - 1 1 ) 忪一 其中,y ( x ”x i ) 表示点x 和点x 之间的可见性,若可见则为1 ,否则为0 ;c o s ( o o ) 表示点工处的出射光线与点x 处的法线夹角;e o s ( o 。,) 表示点xv 处的入射光线与 第二章背景和相关工作 点x 。处的法线的夹角;睁一x 8 表示点x 和点x 之间的距离。c o s ( 见) 幽( 力表示点x 处面积微分在骊垂直解面上撇鼽竿宁醍融憷触惭微 分,因此绘制方程中的 l ( xx i ) z ( 工寸x i x - 1 ) c 。s ( 口,) d 盯( 锡1 ) 。 前几项: 积分项可以写成: 为了求出绘制方程的解先写出它的 l ( x i 专而) = 厶( 墨- - x o ) + 上三心专五) z 魄一五一) g 瓴付五) 幽( 恐j 三( 恐专毛) = 厶( 恐一五) + 上l ( x 3 寸屯) z ( 而一艺专五) g ( 玛”艺) 以( 恐) l ( x k + 。一) = 厶( 五- - - x d + 上三( 而+ 2 一 工瓴+ 2 一故+ l 一黾) g ( + 2h + 1 ) 幽瓴+ 2 ) 将后面的项逐渐带入可得绘制方程的展开式: 三瓴一:c o ) = 厶( 五- - 4 :c o ) + 芝k = llt 瓴+ ,_ ) k + l 队( _ 一t 。一_ 一:) g ( x jh x j 1 ) 幽( t ) 公式( 2 1 2 ) 通过这种逐项代入逐渐展开的方式我们得到一种绘制方程的求解方法 蒙特卡罗路径跟踪算法( m c p t ) 【5 】,从视点开始向场景中发射光线,然后在场 景中跟踪光线,从而得到它们的传播路径,每条路径都是以视点为起点,以场景 中的某个光源为终点。 蒙特卡罗路径跟踪算法绘制的图像由于采样不足,往往带有高频噪声,使用 足够的采样来生成光滑的图像需要耗费相当长的时间。滤波算法可以用较少的采 样生成比较光滑的图像,在蒙特卡罗方法提出之后,涌现出了很多滤波算法。 m a r ke l e e 和r i c h a r da r e m n e r 使用口裁减均值滤波器【6 】将滤波窗口中比较大 和比较小的数值剔出,用余下数值的平均值作为滤波的结果。这种滤波算法可以 有效减少图像中的高频噪声,但是因为它丢弃了一部分数值,滤波后的图像亮度 往往发生很大的变化。非线性能量保持滤波【7 】克服了口裁减均值滤波的这个缺 点,滤波后图像的亮度不会变化,它使用了可变宽度的滤波窗口把采样值分配到 窗口里的每个像素,窗口的大小根据采样值来设定,这是一种能量保持的滤波算 法。j e n s e n 8 发现噪声主要是由两次以上的漫反射光线产生的,他对这类光线进 第二章背景和相关工作 行单独的滤波,然后把结果累加到绘制的图像上,这种做法降低了噪声也避免了 图像的模糊。双边滤波器【9 】不仅考虑到了像素间的距离,而且考虑到了颜色间 的差异,滤波权重由这两方面的乘积决定,这种方法不仅能够降低噪声而且保持 了图像的边界。以上的滤波算法大部分是对像素或者采样进行滤波,但是像素和 采样往往含有高频信息( 比如物体或者纹理的边界) ,滤波会削弱这些高频信息 使图像变得模糊。p a r a gp t o l e 于2 0 0 3 年提出了基于b r d f 的能量保持滤波算 法 1 0 1 ,这种算法将路径跟踪算法获得的入射光复用到滤波窗口内的所有像素 中,根据像素的距离来分配入射光的能量。虽然这是一种能量保持的滤波算法, 但是有以下两个缺点:1 分配能量的时候只考虑了像素间的距离,但是临近像素 在场景中的对应区域的光照分布不尽相同,所以物体的边界和棱角处会有很大的 偏差;2 因为每复用到一个像素都要对该像素做采样,然后求解采样光线和场景 的交点,所以计算量很大,效率较低。 2 4 光子图算法 j e n s e n 提出的光子图算法【11 1 能够高效地模拟复杂的焦散现象,光子图算法 分为两步:1 ) 首先从光源向场景中发射光子,然后通过蒙特卡罗采样的方法在 场景中跟踪这些光子,当光子与非镜面反射的材质接触时就被记录下来,2 ) 光 子发射过程结束后把这些记录的光子存储在某种数据结构中,然后根据这些光子 来估计物体表面的光辐射强度。 建立光子图首先要发射光子,光子携带的能量以及光子发射的概率密度要符 合光源光源各处各个方向的能量分布。发射光子之后要在场景中跟踪光子,跟踪 光子的过程与m c p t 跟踪光线的过程相似。当光子与非镜面反射的材质表面相 交时我们记下光子的入射通量,它的入射方向和交点的位置信息,用于后面的光 辐射强度估计。光辐射强度估计需要从光子的记录中搜索最邻近的光子,然后估 计入射通量并计算出反射之后的光辐射强度,对每一个点的绘制都要进行这样的 操作,因此搜索最邻近的光子在光子图算法中非常频繁,所以有必要选择高效的 数据结构以加快搜索的速度,提高绘制的效率。因为光照强度在场景中有很大的 差异,所以光子在场景中的分布很不均匀,可以选择k d - t r e e 对这种不均匀分布 的记录做高效的搜索。对于平衡k d - t r e e 而言,搜索一个光子所需要的最长时间 为o l o g n ,其中为k d - t r e e 中的光子数目。 光子图表示了不同点在不同方向的入射通量,把这些入射通量积分后可以求 得光辐射强度的估计值,根据辐射强度与通量的关系公式( 2 - 4 ) 可得: 第二章背景和相关工作 地班而 公北- 1 3 ) 代入散射方程公式( 2 8 ) 可得: g ( x , a , o ) = l 雨胁 训删( 呐( q ) :f 五! 苎:竺! 丝塑:竺兰:丝2 如正4 ( x 1 公式( 2 1 4 ) 入射通量,可以通过光子图来近似,以x 点为中心,在光子图中搜索与它距离 最近的力个光子,假设光子_ 具有的能量为,( 哆) ,并且假设光子歹与场景相 交于点x ,则有如下式子成立: 打 厶 吃) e y x x ,哆一织) ( 哆) 鲋 公式( 2 - 1 5 ) 毒l 这个过程可以认为是以x 点为中心,张开一个球o 一直到球内含有刀个光子,然 后使用这力个光子来做光辐射强度估计。上面等式中的削与x 点周围光子的密 度有关,如果假设x 点周围的区域是平面,我们可以用球o ,在这个平面的投影 来计算鲋,即鲋= 2 ,其中,是球o ,的半径,也就是点x 与这,个光子的最 大距离,所以光辐射强度的估计式可以写成: 讹眈) 专喜肥哆寸啪吖哆) 公式( 2 - 1 6 ) 光子图算法虽然能够高效的绘制焦散,但是也有它的缺陷:估计光辐射强度 时,传统算法 1 1 1 在物体的边角或褶皱等细节部分会过多或过少的引入光子,细 节部分的绘制结果往往是一片模糊。滤波器可以缓解边界模糊的问题,锥形滤波 器和高斯滤波器 1 2 1 的基本思想都是对于不同的光子赋予不同的权值,权值随距 离衰减,这样可以使离采样点近的光子对估计结果有更多的贡献,从而使边界更 为清晰。微分检测【1 2 】也是_ 种减少边界模糊的滤波算法,这种方法检测靠近边 缘的区域,在估计这些区域的光辐射强度时使用较少的光子。因为当采样点恰好 第二章背景和相关工作 在焦散区域外侧时光辐射强度估算值随着搜索半径的增大而增大,恰好在焦散区 域内时会有相反的结果,所以若发现估计值随着光子的增多持续增大或持续减少 时就不再增加光子。凸多边形估计 1 2 】也是一种比较精确的光辐射强度估算方 法,这种方法在获得一组最近的光子后求出包围它们的最小凸多边形,然后用这 个凸多边形的面积作为光辐射强度估算的分母,然而该方法耗时很长。使用球体 来搜索光子会很容易引入错误的光子,因此可以采用长方体或者椭球等形体来搜 索光子 1 2 】,这样做可以获取一定的效果,但是并没有从根本上解决问题,当褶 皱包含于长方体或椭球体内时,绘制的图像在褶皱处还会模糊。h e i n r i e hh e y 等 提出了更精确的光辐射强度估算方法 1 3 】。该算法根据场景中的具体形体来计算 面积,所有的场景都用网格来表示,收集光子所采用的形体为立方体,收集完光 子后求出立方体内每一个多边形的面积,每一个光子的能量都要平均分配在所有 正对光子的多边形上,每个多边形所获得的能量的大小正比于它沿光子入射方向 的投影面积。这个算法对于光辐射强度的估计很精确,但是每估算一个采样的光 辐射强度都要计算搜索范围内的所有多边形的面积,而且对于每个光子都要计算 搜索范围内所有多边形的投影面积,所以这种方法的时间复杂度不仅与光子数成 正比而且与场景中多边形的数目成正比,当场景复杂时多边形面积的计算将耗费 很长的时间。 第三章入射光复用 第三章入射光复用 本章的入射光复用算法将路径跟踪获得的入射光存储于某个数据结构中,然 后用收集的方法复用滤波窗口内的入射光,复用的标准考虑了如下五方面因素: 1 ) 交点处的距离信息,2 ) 交点处法线的夹角,3 ) 交点所在像素之间的颜色差 异,4 ) 交点所在像素之间的距离,5 ) 交点在场景中的距离。滤波窗口的计算采 用了自适应的方法,使得能量很大或很小的入射光在较大的范围内复用,以消除 图像中的低频噪声。算法还使用了自适应采样技术,在入射光收集和复用的过程 中我们将较多的采样分配到噪声较大的区域,以降低图像的噪声。该算法支持大 部分材质,有着广泛的适应性。本章的第一节将对光的传播路径做出划分,在第 二节介绍入射光采样的复用标准,然后介绍滤波窗口的计算和轮盘赌加速,本章 的末尾将给出算法的实现,并且用五组场景对该算法做测试并讨论测试结果。 3 1 路径划分 通过分析和多个场景实验我们发现,对于不同种类的光线传播路径,蒙特卡 罗采样的效率差异很大,为了让每种路径都得到有效的处理我们首先将路径分为 三类( 以下三种路径包括了所有的可能情况,证明详见附录3 1 ) ,下文的符号e 表示观察者( 相机或者眼睛) ,s 表示镜面反射或者折射,d 表示非镜面反射,木 表示0 个或者多个,口表示0 个或者1 个。 1 ) e ( s 搴) 【d 】三,这类路径主要是直接光照以及经过镜面反射后的光照,因 为光滑表面的反射方向是确定的,所以噪声来源主要是图像平面的采样和直接光 照计算时的采样,由于采样空间维度较低,所以路径跟踪算法的计算效率较高, 这类路径可以使用自适应抽样的方法来绘制,如果要获得更高的效率可以结合图 像滤波或者采样滤波的技术,在较少的采样之后用这些滤波算法来去除图像中的 高频噪声,获得平滑的图像。 2 ) e ( p ) d ( ( dls ) 宰) 脱,这类路径主要是焦散,还有一部分是焦散对场景的 照明,即光线离开光源,经过一次或多次折射反射后到达漫反射或者光泽材质表 面( 焦散) ,或者再由此出发经过一次或多次反射折射后到达漫反射或者光泽材 质表面( 焦散对场景的照明) ,因为对于m c p t 算法来说,焦散是小概率事件, 第三章入射光复用 而且具有很高的能量,即使经过多次反射后能量减弱,但是采样的概率密度也会 减小,所以采样数值和概率密度的比值依然很大,会绘图像带来较大的噪声,这 类路径不适合用m c p t 算法处理,可以用粒子跟踪算法( 比如光子图) 来绘制, 本文将在第三章介绍改进后的光子图算法。 3 ) g ( s ) d ( ( d ls ) ) d l ,这类路径表示的是间接光照的一部分,排除了焦 散以及焦散对场景的照明。这类路径采样空间维度很高,无论是正向或反向光线 跟踪都要求解多重积分,重要性抽样在高维空间的采样效率很低,有很大的噪声, 因此有必要进行滤波,通过滤波的方式来获得平滑的图像。从路径的表达式中可 以看到,光线至少经过了一次非镜面反射,说明光线来自于场景中的物体,变化 趋势缓慢,所以相邻区域的光照情况是相似的,间接光照可以通过m c p t 算法 采样而获得,m c p t 算法虽然是无偏的,但是对间接光照的采样利用率不高,所 以噪声较大。间接光照也可以通过粒子跟踪算法获得,但是粒子跟踪算法是向整 个场景中发射光子,而绘制的图像通常只是场景中的一个区域,这样很多发射的 光子没有被利用,效率不高。在本章中,我们使用m c p t 算法对间接光照( 第 三类路径) 做采样,然后复用相邻区域的入射光,提高采样的数量和采样的利用 率,从而在比较短的时间里获得比较光滑的图像。光照情况随着表面法线的变化 而变化,随着周围场景的不同而不同,接下来我们首先推导出入射光复用的公式, 然后详细讨论复用的标准,既保证较大的复用范围又保证较小的偏差程度。 3 2 入射光复用标准 3 2 1 复用公式推导 由绘制方程的展开式可得间接光照的表达式如下: 厶棚( 墨专而) = 薹l 厶( + - 。五) 县k + l z ( 专t 4 一_ - 2 ) g ( x j x j - i ) 谢( 弓) 公式( 3 1 ) 厶跏d ( 五一而) 表示的是由点五射向点而的间接光照,与绘制方程相比间接光照 不包括点五的自身发光对点x o 的贡献,也不包括点恐的自身发光经点五反射之 后对点的贡献。令: 第三章入射光复用 厶( 而_ 五) = k 丘( 以+ ,一五) 县k + l z ( _ _ _ 。一t 之) g ( x j 停x j 4 ) 以q ) 公式( 3 2 ) 把厶( 恐寸而) 代入k ( 五j x o ) 的表达式之中,可得k ( 五_ 而) 的另外一种 形式: 厶姗( 五专而) = 妻k = 2 厶( 屯寸五) z ( 恐专五专) g ( 而h 五) 钡( 吃) 公式( 3 3 ) 厶( 而一而) 表示的是以五为起点,而为下一个交点,长度为k 的光路对点而的贡 献。k 2 ,则发光的点的下标大于等于3 ,说明是光源发出的光经过0 次或多次 反射后到达点如,再经过而反射到达五,如果而及其周围的点是非镜面反射材 质则由x 2 及其周围的点反射的光变化趋势缓慢,也就是说经过岛或者岛周围的 点反射到达而或者五周围的点的光辐射强度是相似的,因此可以借助这个特点把 厶心专五) 复用到五周围的采样点做光照计算,以提高采样的数目,进而达到平 滑图像的目的。 使用蒙特卡罗抽样对k “一而) 求解,令五= ( 而,x l , - - , 五+ 。) ,光路 ,五,x k + 。的采样概率密度为p ( 五) ,设采样光路数目为,可得: 1 。乞( 。_ ) 兀a - i - j z ( 秽寸罐。碓:) g ( 移付蠕) k ( 五一护埘n - - - y - - - i = ik = 2 l 1 研l , a k 厂二一pl t + 1 丘( 文。一) 兀队衅一罐,j 罐:) g ( 秽付罐。) 令 : 上( 墨) = 盟_ 页霹了一 ,代入 k ( 而_ ) 中,得: k 二( 五一而) = 专喜( z ( _ 掣专硝) g ( 毫h ) 薹三7 ) ) 公式( 3 5 ) 对厶( 屯一五) 用蒙特卡罗方法求解得: 第三章入射光复用 1 丘( ,一) 玎 z ( 秽专艰。_ 曩:) g ( 付长,) 厶( 屯一五) _ 专善上l i 习i 匿j 瓦厂_ 一 将三( 碰) 代入上式得: 厶( 恐一五) = 丙1 善n 三( 碟) p ( 而,毛) = p ( 而,五万1 善n 三( 墨。) 公式( 3 7 ) 可见,复用厶( 而一五) 可以通过复用采样三( 斟) 来实现,在对公式( 3 3 ) 用蒙 特卡罗方法求解时需要除以和而处的采样概率密度,求三( 雕) 时已经考虑到了 这两点处的采样概率密度,如果假设临近区域,邻近方向的采样概率密度是相似 的,则可以复用上( 雕) 中的和五的采样概率密度。 不同采样的相似程度不同,滤波时应赋予不同的权重,对公式( 3 5 ) 做修 改,加入滤波权重的影响可得入射光复用的公式: k 瓴刊2 酉1 姜( 比储卅斗枷雠删) 薹三( x k ( t ) ) 公式( 3 8 ) 其中w ( 是第i 个采样复用时的权重,滤波时对于相似程度较大的采样应该赋予较 大的权重,而差异较大的采样则应该赋予较小的权重甚至将其舍弃。权重的影响 因素很多,对于给定的影响因素而言,权重的设置分为两个步骤:1 ) 量化采样 之间的差异或相似程度,2 ) 将量化结果d 通过映射( 田转化成权重w ,映射可 以选择随差异增大而递减的函数。下面我们针对不同影响因素给出计算权重的具 体方法。 3 2 2 复用标准 1 ) 交点处的距离信息。间接光照来自于场景中的物体,若采样点周围的物 体分布比较接近则间接光照的情况比较相似。设采样点d 沿方向( 仍0 ) 的采样光 线与场景中的物体交于点尸,对于采样点d 而言,范数i | 硐l 是采样方向( 矿,口) 的 第三章入射光复用 函数,记为l 历l l 一厶( 9 ,力,若要比较不同采样点周围的物体的分布情况只需比 较采样点处的距离函数厂( 仍椤) 即可。为了便于比较我们将距离函数厂( p ,矽) 投影 到一组正交函数基上,( 仍秒) 是球面上的函数,因此选择球面调和函数作为基 函数,每一个投影的坐标都表示着距离函数在某些方面的特征( 比如第一个带宽 的坐标表示距离的平均值,第二个带宽的三个坐标分别表示三个坐标轴方向的特 征) 比较两个距离函数只需比较这两个函数投影后的坐标向量。随着球面调和函 数带宽序号的增加,基函数越来越倾向于刻画被投影的函数的细节,但是距离函 数的细节部分对光照的分布影响较小,而且投影坐标是通过蒙特卡罗采样来计算 的,采样的误差对细节的影响会随着带宽序号的增加而增大,因此只需要选取距 离函数在前几个带宽的投影即可。在算法中我们并没有对每个采样点都求一次投 影,而是只对每个像素求一次投影,这是因为蒙特卡罗路径跟踪算法在每个采样 点处只有一次方向采样,不足以算出距离函数的投影,而且,即使可以对每个采 样都计算投影,由于采样的数目巨大,比较距离函数时会占用大量时间,对每个 像素求的投影代表的是该像素内所有采样点对应的距离函数的平均值,通过这个 投影来初步判断像素内的采样是否可以被复用是可行的,这是因为如果两个像素 对应的距离函数的投影差异较大说明这两个像素在三维场景中的对应区域的距 离函数差异较大,因此可以排除不可以复用的采样,反之,如果差异较小则可以 通过后面的四方面因素来设置复用的权重。以孝和f 代表两个不同的像素,距 离函数投影后的坐标向量分别为巧和瓦,则差异丸。可以表示为 d o = 0 巧一丐0 ( 0 巧8 + 0 丐i | ) ,如果差异大于某个阈值则不去复用该像素内的采样, 对于阈值的选取可以遵循这样的原则:如果采样很多则取较小的阈值,这样可以 提高对相似度的要求,只复用相似度较高的采样,既可以保证采样的利用率又不 会因为采样较多而花费较长的时间,反之则选取较大的阈值。使用距离函数的好 处是可以增大滤波半径,在大的范围内寻找可以复用的采样,提高复用的效率, 而且不会复用与采样点处差异较大的采样。 2 ) 交点处法线的夹角。相邻的区域可能位于不同的表面,光照情况不同, 为了减少不同表面间的相互影响,滤波算法只复用法线夹角小于某个阈值的采 样。设采样点彳、召处的法线分别为以、以,令相似程度 晶= 0 窘“m 虬x 肪d o “t ( 圯s 4 :麓:三c o c o 故s ( 州z 6 6 ) 公式( 3 - 9 )u 1 ,一、 厶儿j 。7 , “【, ,虬) 。 映射厂( ) = 品”,胁越大,不同表面间的相互影响就越小,但是较大的肼不 利于图像的平滑,根据场景测试的结果取m = 2 时会有较好的滤波效果。 第三章入射光复用 3 ) 交点所在像素之间的颜色差异。入眼对亮度差异的敏感程度主要取决于 不同亮度的相对强弱,因此,本文以亮度差异的相对强弱作为颜色差异的量化 结果,也和l u f 分别代表像素孝和f 的亮度,差异碣。= i 魄一k ) ( 他+ 心) i 。令 映射厂( 田= ( 1 一印“,刀= 4 ,这个函数在【0 ,l 】上是凹函数,可以放大不同亮度间的 差异,进而更好的保持图像的颜色边界,力的值越大,对差异的放大作用越明显, 但是比较大的以不利于图像的平滑,通过场景测试我们发现珂取4 时会有较好的 滤波效果。 4 ) 交点所在像素之间的距离。距离越大差异越大,在算法中我们使用了归 一化的欧几里德距离来量化这种差异,设像素善和f 在图像平面上的坐标分别 为( 弋,赡) 和( 弋,虼) ,则差异= ( 誓一弋) 2 + 饥一圪) 2 o ,其中盯是滤波窗 口内像素间的最大距离。映射厂( d ) 可以选择e p a n e e l m i k o v 核函数,因为滤波的 结果是加权平均值,所以e p a n e c h n i k o v 核函数的系数可以省略。 5 ) 交点在场景中的距离。相邻像素的采样点在场景中的距离可能很大,距 离较大时光照情况差异很大,所以滤波算法只复用距离小于某个阈值的采样,不 同的场景大小不同,这个阈值由场景决定,作为滤波算法的一个输入参数。 对于每个采样计算这五方面的权重之后,滤波复用时的权重是这几方面权重 之积。因为滤波是求加权平均值,所以对所有的权重缩放相同的因数不会影响滤 波的结果,但是使用轮盘赌之后缩放因子的大小会影响到复用过程的速度和高频 噪声的大小,详细内容会在算法实现中介绍。 3 3 滤波窗口 滤波窗口的大小会影响图像的平滑程度,较小的窗口不足以去除噪声,较大 的窗1 2 1 不仅需要长时间的计算还会增大滤波结果与参考图像的偏差。在h o l l ye r u s h m e i e r 和g r e g o r yj w a r d 1 4 的滤波算法中,采样的多余能量被分配到周围的 像素中,并且每个像素的能量变化要在一个小范围内,他们依据这个原则来决定 把多余的能量分配到多少个像素之中。本文的滤波算法是一个收集过程,与分配 过程有着相似的需求:对于较大数值的采样,分配过程需要较大的窗口来分配多 余的能量,收集过程同样需要较大的窗口来平滑图像。根据权重的四方面影响因 素求解滤波窗口是得不到解析的表达式的,只能用列举的方法验证滤波窗口是否 符合要求,这样做效率很低,因此我们只考虑像素间的距离,并且使用与p a r a gp t o l e 相似的权重设置方法来估算滤波窗口,具体做法如下。 第三章入射光复用 设滤波窗口大小为2 七+ 1 ,则窗口一共有k + l 层,设最外面一层为第l 层, 中心为第| j + l 层,第f 层的权重为w i l ( k + 1 ) ,由权重之和为1 可以解得 1 w = ( 4 k 2 + 8 k + 3 ) 3 。因为中心像素将获得最多的能量,所以我们只通过限制 中心像素的亮度变化来限制滤波窗i = 1 的大小。设第f 个采样权重为w ,亮度为, 当前采样的权重为1 4 ,亮度为z ,则在当前采样之前像素的亮度为:罗l :f 罗w 1 , 在当前采样之后像素亮度为:( 嵋+ w o ( z w j + w ) ,设采样前与采样后亮度 之比最小为m i n ,( m i n ( 0 ,1 ) ) ,最大为m a x ,( m a x ( 1 ,+ ) ) ,则有下式成立: 整理后得: 砌m ,嵋+ w l 一妇w , z w , 。嵋+ w 。 公式( 3 - 1 0 ) # 幸孽一嘲( 1 ) 一 击南响一等: “ 将l l w = ( 4 k 2 + 8 k + 3 ) 3 代入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论