当前位置: 首页 > 专利查询>北京大学专利>正文

光子映射中的偏差控制方法技术

技术编号:12577359 阅读:117 留言:0更新日期:2015-12-23 17:02
本发明专利技术涉及一种光子映射中的偏差控制方法,包括如下步骤:1)根据光线与场景相交产生的相交点的估算半径,采用KNN方法对相交点附近的光子进行收集;2)对收集到的光子进行可见性判断,以剔除杂质光子;3)通过深度连续性检测对收集到的光子进行拓扑偏差控制;4)根据收集到的光子所依附表面法向的拓扑结构,与相交点表面进行几何连续性检测,从而控制杂质偏差;5)通过凸表面检查对收集到的光子进行边缘偏差控制;6)将剩余的光子作为正确而有效的光子,利用辐射亮度计算公式进行辐射亮度估算。然后把得到的辐射亮度计算值转换为色彩值,即可合成出最终的真实感图像。本发明专利技术能够有效消除不恰当收集光子所产生的偏差和噪声问题。

【技术实现步骤摘要】

本专利技术属于计算机图形学
,具体涉及一种, 应用该方法可以绘制出具有良好光照效果的真实感图像。
技术介绍
人们对于利用计算机图形学方法绘制出逼真光照效果的需求是永无止境的,模拟 现实世界中复杂的光照效果是图形学研究者们一直以来需要解决的重大难题。全局光照明 (Global Illumination),又被称为整体光照明,是照片级别真实感图像得以实现的主要途 径,许多算法都尝试为其提供完善有效的解决方案。光线追踪算法以及本专利技术主要研究的 光子映射算法都是全局光照明的经典算法,相比较光线追踪,光子映射算法是近二十年不 断发展起来的真实感绘制技术。目前全局光照明算法的研究目的逐渐从绘制出逼真的效果 转移到交互应用的需求之上,本专利技术所研究的方向也同样为这一需求转移提供重要的理论 依据和实践参考。 光子映射算法(Photon Mapping,简称PM)是一种基于光子图实现全局光照 明的算法((Jensen H. ff. :Global illumination using photon maps. In Rendering Techniques 96. Springer, 1996, pp. 21 - 30),光子图用来计算环境引起的漫反射分量,由 于光子映射相比光线追踪能够更好的模拟焦散现象和SDS现象(SDS分别代指光的传播路 径中所产生的反/折射类型,S为镜面反射折射specular,D代表漫反射diffuse,S代表镜 面反射/折射specular,也就是指先后顺序为镜面-漫-镜面的传播所产生的光照现象), 该算法可以得到比光线追踪更加逼真自然的图像。 然而,光子映射算法本身是一种有偏差和噪声的算法。辐射亮度估计精度严 重依赖于半径非常小的估算内核以及在估算内核上的准确的光子分布以及收集。从根 本上消除偏差错误,就必须在辐射亮度计算中杜绝可见偏差的产生,然而前人的所有方 法包括 PPM (Progressive Photon Mapping)和 SPPM (Stochastic Progressive Photon Mapping)方法均不能达到这一要求(Toshiya Τ·,Ogaki S.,Jensen H. W. :Progressive photon mapping.ACM Trans.Graph. 27,5(Dec.2008), 130: I - 130:8 ;Toshiya T., Jensen H. ff. : Stochastic progressive photon mapping. ACM Trans. Graph. 28, 5 (D ec. 2009),141:1 - 141:8)。噪声是辐射亮度估计产生的另一类错误现象,其产生的主要原因 在于用于辐射亮度计算的光子数目过少,在经典的光子映射算法中,噪声是通过设置收集 光子数目的阈值来避免的。 光子映射算法是一个有偏算法,偏差产生的原因在于辐射亮度估算本质上是计算 射线与估算表面相交点X点处光子密度的过程,由于X点是抽象点不存在体积和大小,只能 近似的使用X点附近区域内的平均光子密度来代替X点的光子密度,这样做必然会引入不 精确的偏差。尽管间接光照计算在光子数目趋近于无穷大是可以趋近于正确的结果,但是 实际上,由于发射的光子数目不可能达到无穷大,分布在辐射亮度估计区域内的光子通常 是有限甚至是稀疏的,这样就造成了估算内核的半径在有限光子的条件下不能趋近于0。另 外,还有其他一些可能导致出现偏差的情况:1)与相交点距离"较远"的光子有时也会用于 计算相交点的辐射亮度,这一部分辐射量是不精确的;2)错误的光子收集,使得与当前相 交点没有表面连接关系的光子也被收集进来用于计算相交点的辐射亮度;3)错误的光子 收集,使得与当前相交点有表面连接且临近关系,但是确定无疑对相交点光照无影响的光 子被收集进来用于计算其辐射亮度。以往的光子映射类方法由于存在上述可能导致偏差的 情况,其根本原因是光子的收集是在三维空间kd-tree结构内进行临近光子的搜索的,而 光子所附着的局部三维场景表面的几何信息是完全未知的,同时估算内核对整个圆盘范围 内均有光子分布的假设在实际中也不能满足,我们称这样导致的错误辐射亮度估算结果为 偏差错误。 光子射线方法可以解决光子映射算法的边缘偏差问题(Havran V.,Bittner J. , Herzog R. , Seidel Η. Ρ. :Ray maps for global illumination. In Proceedings of the Sixteenth Eurographics conference on Rendering Techniques (2005),Eurographics Association, pp. 43 - 54.)。基于光子射线方法,光子抛雪球算法改进了光 子 密度估 计(Herzog R. , Havran V.,Kinuwaki S.,Myszkowski K., Seidel Η. -Ρ. :Global illumination using photon ray splatting. In Computer Graphics Forum(2007), vol. 26, Wiley Online Library, pp. 503 - 513.),解决了光子映射方法无法 解决的边缘偏差和拓扑偏差的问题。但是,光子射线映射算法没有发射和收集光子,而是直 接发射和收集射线,因此与光子映射方法属于不同的两类方法。
技术实现思路
本专利技术针对光子映射算法中所存在的偏差和噪声问题,提供一种光子映射中的偏 差控制方法,能够有效消除不恰当收集光子所产生的偏差和噪声。 为实现上述目的,本专利技术采用的技术方案如下: -种,包括如下步骤: 1)根据光线与场景相交产生的相交点的估算半径,采用KNN方法对相交点附近的 光子进行收集; 2)对收集到的光子进行可见性判断,以剔除杂质光子; 3)通过深度连续性检测对收集到的光子进行拓扑偏差控制; 4)根据收集到的光子所依附表面法向的拓扑结构,与相交点表面进行几何连续性 检测,从而控制杂质偏差; 5)通过凸表面检查对收集到的光子进行边缘偏差控制; 6)将剩余的光子作为正确而有效的光子,利用辐射亮度计算公式进行辐射亮度估 算。 进一步地,步骤1)采用基于kd-tree结构的KNN方法对相交点附近的光子进行收 集,并设置光子数目阈值N以避免因收集光子数目不足导致的噪声问题。 进一步地,步骤2)根据收集到的光子所依附的表面法向与X点表面法向的比较进 行可见性判断。 进一步地,步骤3)所述深度连续性检测的方法是:假设X点在当前成像平面上 对应像素的深度为dx,收集到的第i个光子的深度为Cl1,设深度误差阈值为△ d,则一旦 Clx-Cl11 > Δ d,则当前光子被剔除,其相应的面积也被剔除。 进一步地,步骤4)所述几何的连续性检测的方法是: 1)如果待检测光子i所依附的物体的ID与相交点X所在的物体ID完全不同,则 该光子未通过检测; 2)找到距离相交点X最近的物体表面顶点Vx,找到距离光子i最近的物体表面顶 点V1,如果人的本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/CN105184848.html" title="光子映射中的偏差控制方法原文来自X技术">光子映射中的偏差控制方法</a>

【技术保护点】
一种光子映射中的偏差控制方法,其特征在于,包括如下步骤:1)根据光线与场景相交产生的相交点的估算半径,采用KNN方法收集相交点附近的光子;2)对收集到的光子进行可见性判断,以剔除杂质光子;3)通过深度连续性检测对收集到的光子进行拓扑偏差控制;4)根据收集到的光子所依附表面法向的拓扑结构,与相交点表面进行几何连续性检测,从而控制杂质偏差;5)通过凸表面检查对收集到的光子进行边缘偏差控制;6)将剩余的光子作为正确而有效的光子,利用辐射亮度计算公式进行辐射亮度估算。

【技术特征摘要】

【专利技术属性】
技术研发人员:李胜孟洋汪国平
申请(专利权)人:北京大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1