首页> 中国专利> 一种使用光线频率曲线合并HM滤波器的迭代式自适应渲染方法

一种使用光线频率曲线合并HM滤波器的迭代式自适应渲染方法

摘要

本发明公开了一种使用光线频率曲线合并HM滤波器的迭代式自适应渲染方法,包括:步骤1,采用较少光线样本数量对图像进行初步渲染,采用HM滤波器对渲染图像进行噪声去除;步骤2,采用SURE估算当前HM滤波器的均方误差,并计算渲染图像中每个像素点的最佳光线样本数量;步骤3,根据渲染图像中的噪声数量,更新HM滤波器的阈值;步骤4,依据最佳光线样本数量对图像重新进行渲染,并采用更新后的HM滤波器阈值进行噪声去除;步骤5,重复步骤2~步骤4,直至渲染图像满足要求。本发明提供的渲染方法,可以节省大量的计算开销,在保证渲染质量的同时达到节省时间的目的。

著录项

  • 公开/公告号CN106898038A

    专利类型发明专利

  • 公开/公告日2017-06-27

    原文格式PDF

  • 申请/专利权人 浙江大学;

    申请/专利号CN201710054403.8

  • 发明设计人 周进;赵磊;王勇超;鲁东明;

    申请日2017-01-22

  • 分类号G06T15/06;G06T5/00;

  • 代理机构杭州求是专利事务所有限公司;

  • 代理人忻明年

  • 地址 310027 浙江省杭州市西湖区浙大路38号

  • 入库时间 2023-06-19 02:40:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-10-01

    授权

    授权

  • 2017-07-21

    实质审查的生效 IPC(主分类):G06T15/06 申请日:20170122

    实质审查的生效

  • 2017-06-27

    公开

    公开

说明书

技术领域

本发明涉及计算机视觉图像渲染技术领域,具体涉及一种使用光线频率曲线合并HM滤波器的迭代式自适应渲染方法。

背景技术

使用蒙特卡洛光线追踪技术重构图像已经有很长一段历史。当前的工作在这一领域也取得了更大的进展,但是主要的目标仍然是相同的:即,使用较少数量的光线样本去提高图片质量以提高效率,缩短生成时间。然而使用过少的光线样本生成的图像容易受到噪声影响,要求有相应高效的图像滤波器以去除噪声获得平滑的图像。

为了缩短使用蒙特卡洛渲染生成高质量图像所需要的时间,一般有两种基本策略,即自适应渲染和渲染后处理。自适应渲染的核心思想是在渲染过程中根据具体图像区域的复杂度来调整每个像素处的光线样本数量。渲染后处理则是在渲染完成以后,对渲染得到的结果图像进行处理,主要操作包含过滤或者对样本、像素插值。

自适应渲染主要指两个方面,即自适应采样和自适应过滤。自适应采样即在误差较大的图像区域增加采样率,也就是在像素值方差较大的区域提高采样光线的数量。自适应过滤即对指定的像素取其邻域的平均值,以去除噪声点,平滑这块区域的像素值。

在实际应用中自适应过滤比自适应采样所需要的计算开销要小,但是对边缘明显、特征性强的图像自适应过滤的方法所获得的图像质量并不好。

发明内容

本发明提供了一种使用光线频率曲线合并HM滤波器的迭代式自适应渲染方法,能够加速蒙特卡洛渲染,同时获得良好的图像质量。

一种使用光线频率曲线合并HM滤波器的迭代式自适应渲染方法,包括:

步骤1,采用较少光线样本数量对图像进行初步渲染,采用HM滤波器对渲染图像进行噪声去除;

步骤2,采用SURE估算当前HM滤波器的均方误差,并计算渲染图像中每个像素点的最佳光线样本数量;

步骤3,根据渲染图像中的噪声数量,更新HM滤波器的阈值;

步骤4,依据最佳光线样本数量对图像重新进行渲染,并采用更新后的HM滤波器阈值进行噪声去除;

步骤5,重复步骤2~步骤4,直至渲染图像满足要求。

步骤1中,样本光线样本数量依据需要进行设定,较少为一相对概念,可以针对所需要的图像渲染质量进行设定,图像渲染质量要求较高时,适当增加光线样本数量。

所述HM滤波器利用像素处光线样本的频率曲线衡量像素的相似程度,即在非局部均值滤波器的基础上提出了一种使用光线样本频率分布曲线合并像素点的HM(HistogramMerge)滤波器,并使用该滤波器对蒙特卡洛渲染得到的图像进行噪声去除处理,以提高渲染图像的质量。

本发明使用SURE(Stein’s Unbiased Risk Estimator)对HM滤波器产生的误差进行估计,得到每个像素处的最佳光线样本数量,然后采用最佳光线样本数量对图像进行再次渲染,HM滤波器根据渲染图像中的噪声数量调整阈值,进行噪声去除,通过迭代式的自适应渲染方法,可以节省大量计算开销,在保证渲染质量的同时,达到节省时间的目的。

作为优选,以面片为单位,利用如下公式对渲染图像进行噪声去除:

式中:为去除噪声后渲染图像中像素x的颜色值;

w为以像素x为中心点的面片半长;

Vy为以像素y为中心的面片去噪后的结果;

y-x为像素y距像素x的距离。

作为优选,利用如下公式计算最佳光线样本数量a:

式中:m为光线样本数量预算;

S(x)为像素x处的光线采样函数;

S(y)为像素y处的光线采样函数;

为满足以下条件像素y的集合:

以像素y为中心的面片Py满足

式中:为以像素x为中心的面片Px与以像素y为中心的面片Py的距离;

k为HM滤波器的阈值。

作为优选,光线采样函数S(x)的计算公式如下:

式中:Vx为以像素x为中心的面片去噪后的结果;

F(Vx)为过滤以像素x为中心的面片的滤波器过滤函数;

SURE(F(Vx))为采用SURE计算的当前HM滤波器的均方误差;

E2(x)为像素x的颜色值的估计误差;

I(F(Vx))2是过滤后像素x的颜色值;

∈是一个防止除数为零的极小值常数。

作为优选,使用PSNR衡量渲染图像质量,设定迭代终止阈值为当前渲染图像相比上一次迭代完成时渲染图像的PSNR变化量小于时,迭代终止。

本发明提供的使用光线频率曲线合并HM滤波器的迭代式自适应渲染方法,可以节省大量的计算开销,在保证渲染质量的同时达到节省时间的目的。

附图说明

图1为光线样本颜色与像素样本颜色分布的对应关系示意图;

图2为利用蒙特卡洛路径追踪算法生成图像中三个不同像素的光线样本颜色分布。

具体实施方式

下面结合附图,对本发明使用光线频率曲线合并HM滤波器的迭代式自适应渲染方法做详细描述。

如图1所示,一种使用光线频率曲线合并HM滤波器的迭代式自适应渲染方法,包括如下步骤:

步骤1,采用较少光线样本数量对图像进行初步渲染,采用HM滤波器对渲染图像进行噪声去除。

可以采用空间路径的形式表达光线传播,即通过计算每个独立路径的光线传播就能够估算全局照明。根据如下空间路径积分公式,每个像素的颜色由所有可能的光线路径积分得到:

此处:Ωx表示像素x处的所有光线路径;p为任意长度的路径;函数f(p)表示光照路径为p的光照贡献;dμ(p)是光线路径的计算方式。

根据上述公式,像素x处的图像颜色可以由nx个使用蒙特卡洛采样得到的随机路径估算得到。如果表示由随机路径传播的颜色(即),则蒙特卡洛方法对u(x)的近似解可以被表示为:

那么,蒙特卡洛近似误差n(x)可以被表示为:

减少近似误差的同时又能将渲染时间控制在可接受范围内的可行方法为:减少光线采样数量,然后使用渲染后处理(即过滤图像)。过滤会显著减小方差,但是也会大幅提升近似偏差,唯一一种不会引入偏差的过滤方式就是组合具有相同特征的像素,也就是拥有相同像素颜色u(x)的像素x。但是基于未知的像素颜色u(x)和u(y)来确定两个像素x,像素y是否颜色相同几乎是不可能的,可行的做法是期望二者的光线样本颜色遵循类似的分布。

此外,如果N个像素拥有相同的光线样本颜色分布,那么这些样本的集合就可以被看作一个N倍大的遵循某种潜在分布的超集,只要简单地对这N个像素取平均值,他们的方差就会减小N倍。

像素的颜色和光线样本颜色的分布关系如图1所示,每条光线样本在某一像素点会表现出对应的光线样本颜色,某一像素点上所有光线样本颜色叠加,即为该像素的颜色。

首先考虑在给定像素处的样本颜色经验分布图,如图2所示,利用蒙特卡洛路径追踪算法生成图像中三个不同像素的光线样本颜色分布。图中选取的三个像素的颜色非常接近,其中两个像素的样本(下方的两个框)大致遵循同一种光线样本颜色分布,并且这一光线样本颜色分布与另一个像素(最上方的框)的光线样本颜色分布差异很大。这表明即使像素颜色十分相似,光线样本颜色分布提供的额外信息也能够帮助区别其他特征不同的像素。

本发明中,使用来表示像素x的光线样本颜色集,用h(x)来表示对应的经验颜色分布(即像素颜色分布)。为了衡量像素相似性,使用箱体经验分布作为像素颜色分布的描述。由于通常处理的是三色图像,既可以使用一个单个的三维颜色空间频率曲线,也可以使用三个一维的颜色频率曲线(每个颜色一个通道)。

假设像素x处的光线样本颜色为Cx,像素y处的光线样本颜色为Cy,二者对应的nb箱体分布表示为nb维向量,分别表示如下:

基于Chi-Square距离,遵循下面的标准:

此处:nx=∑ihi(x),ny=∑ihi(y),分别表示对应的光线样本总数量,k(x,y)是h(x)+h(y)中非空箱体的数量。

考虑到空间连续性,上述像素距离可以被扩展为以x和y为中心,半长为w的面片,其表述如下:

式中:Px代表以像素x为中心,以w为半长的面片;

Py代表以像素y为中心,以w为半长的面片;

t表示以像素x为中心点,以w为半长,形成的面片上的像素点。

使用面片而不使用像素有两个好处:首先,减小了强制空间连续匹配的匹配误差;其次,图像去噪时取相似面片的平均值而非相似像素,每一个像素所属的数个面片都会得到不同的估计值。再次取其平均值,这一操作通常被称为聚合估算(Aggregation ofEstimates),这对图像去噪的性能会产生相当大的优化。本发明中取的面片比较小(3×3大小),对文物模型来收,渲染得到的图像通常具有很好的自相似性(纹理特征类似),因此会有很多类似的面片。

图像去噪算法必须能够估算噪声方差以计算出嘈杂样本的相似度,在蒙特卡洛渲染中,每一个从像素射出光线的平均值和方差都可以直接从观察得到的样本分布中估算得出。

对一个像素x,定义为满足以下条件的像素y的集合:其中心面片Py满足k即判断与像素x具有相似特征面片的标准,无噪声像素颜色的最大可能估计量就是它们的算术平均值:

与前面只计算中心面片平均值的估计量不同的是,本发明可以进行整块面片的去噪,进而可以对图像以面片为单位去噪。这是一种非常经典的以面片去噪为基础的图像去噪手段。

对一个以像素x为中心的嘈杂面片Px,通过对所有满足下式的面片(即Chi-Square距离小于k)取平均值从而得到去噪的面片Vx

这里是对所有在面片Py上像素u的估值。

虽然用这种方法对所有的面片进行了去噪,但是并不是所有的像素。由于每个面片包含(2w+1)2个像素,那么相应的每个像素被(2w+1)2个面片所包含,因此能够获得大量对其颜色的估计值,最后每一个像素处都可以聚合这些估计值从而生成最终的去噪图像:

式中,y-x为像素y距像素x的Chi-Square距离,对最终的结果取平均值,以上就是本文以面片为单位去除噪声算法的核心原理。

HM滤波器的实现非常简洁明了,除了计算光线频率曲线所需要的参数,在算法中只需要设置4个参数,分别为:HM滤波器倍数的ns,面片半长w,搜索窗口半长b,以及Chi-Square距离的阈值。

对相似面片的搜索被限制在大小为(2b+1)×(2b+1)的窗口内。阈值k用来设置标准Chi-Square距离。

单倍频率曲线合并HM滤波器的伪代码如下:

输入:MC图像对应的频率曲线h,面片大小w,

搜索窗口大小b,Chi-Square距离阈值k

输出:过滤后图像

多倍频率曲线合并HM滤波器的伪代码如下:

输入:MC图像对应的频率曲线h,面片大小w,搜索窗口大小b,Chi-Square距离阈值k,滤波器倍数ns

输出:过滤后图像

开始渲染时,首先利用较少的光线样本数量进行初步渲染,渲染得到的图像使用阈值k=0.5的HM滤波器进行噪声去除。

步骤2,采用SURE估算当前HM滤波器的均方误差,并计算渲染图像中每个像素点的最佳光线样本数量。

本发明提供了一种迭代式自适应渲染方法,其核心思想是采用Stein’s UnbiasedRisk Estimator(SURE)(对均方误差MSE(即平均平方误差)的无偏估计函数)来决定最佳采样密度,即最佳光线样本数量。使用SURE的好处是,由SURE估算出的均方误差可用来指导更多的样本分布,因此更多的样本就会被分配到难以区别的区域。

蒙特卡洛光线追踪通过随机对积分区域内采样再重构样本来估算一个像素的颜色。无偏蒙特卡洛渲染技术有一个可以通过使用方差估计函数估算出的随机误差范围。

根据中心极限定理,如果Y是由无偏蒙特卡洛渲染器估算出的像素颜色,x是真实的像素颜色,且采样数量n趋于无穷大,Y的分布近似于一个平均值为x,方差为σ2/n的正态分布:

此处:σ2是蒙特卡洛样本的方差。对有限数量的样本而言,这一关系也是一种很好的近似。

由于蒙特卡洛渲染器本质上是一种估计函数,所以对其准确度进行估算是非常必要的。Stein’s Unbiased Risk Estimator(SURE)给出了一种估算一个估计函数准确性的方法。

SURE指出,如果y是对呈正态分布的x的量度,F是一个弱微分函数,那么估计误差为:

对F(y)的平均平方误差的无偏估计,也就是:

E[SURE(F(y))]=‖F(y)-x‖2

上述公式表明:如果能计算出σy和dF(y)/dy,即使不知道x的值也能估算出估计函数F的误差。本发明使用上述公式来估算每块区域所需要的最佳样本数量。

对每一个像素来说,都需要使用最低的SURE误差确定HM滤波器中的参数,以决定HM滤波器的强度。

先计算HM滤波器F的dF(Vx)/dVx,其计算如下:

式中:E2(x)为估计误差(E2(x)的计算采用现有技术,若像素点的颜色值稳定性好,则E2(x)的值越小)。

W(x,y)为像素y相对于像素x的权重,以p代表x,以q代表y,表示为

其中:k是可指定的衰减因子,用来控制滤波器的强度。k的值越小滤波器越保守。此处Pp和Pq分别表示已p,q为中心半长为t的面片,σ2表示一般方差,可以根据图像平均PSNR计算得出。

其推导过程如下:

本发明所采用的HM滤波器的表达式如下:

那么有:

再将代入,经过化简后,得到:

此处:

然后计算HM滤波器的均方误差(即平均平方误差,MSE)。对每一个像素而言,其过滤后的颜色都会被用来更新像素信息。

使用蒙特卡洛样本计算的SURE通常会有嘈杂的结果,这是因为SURE是MSE的无偏估计函数,并且其本身也有方差。为了减小方差,可以增加采样数量或者进行过滤。出于对效率的考量,通常会使用过滤来减少SURE的方差。

具体来说,在使用SURE优化之前,先使用参数设置较保守的HM滤波器对估计MSE图像进行预过滤。

使用SURE得到的MSE估计值可以用来作为渲染器的反馈信息;采样密度应该与MSE估计值成正比。但是,由于MSE估计值并不完美,本发明通过增加一个启发式方差项来确保具有更高方差的区域能够被分配到更多的样本数量。

此外,相对于明亮区域人眼对阴暗区域更为敏感,为了让更多的光线样本分配到阴暗区域,将采样函数乘以过滤像素颜色光照值的平方反比,综上,像素x处的采样函数S(x)为:

此处:E2(x)为估计误差;I(F(Vi))2为过滤后像素的颜色值;∈是一个防止除数为零的极小值,例如,设为0.001。如果当前的采样预算为m,那么像素x处接收的当前最佳光线样本数量为

通过输入HM滤波器的阈值k控制去除噪声的数量,即控制渲染图像的平滑程度。渲染的最佳效果取决于渲染过程中需要的光线样本数量,本步骤中使用SURE估计每个像素处所需的最佳光线样本数量,并通过计算图像噪声数量以此获得最佳的HM滤波器阈值。

步骤3,根据渲染图像中的噪声数量,更新HM滤波器的阈值。

步骤4,依据最佳光线样本数量对图像重新进行渲染,并采用更新后的HM滤波器阈值进行噪声去除。

步骤5,重复步骤2~步骤4,直至渲染图像满足要求。

本发明中使用PSNR来衡量图像质量,PSNR的计算式如下:

此处:

其中,M为图像的长,N为图像的宽,fij为当前图像的像素,为上一次迭代图像的像素。

本发明使用MSE来衡量迭代图像的变化,一般情况下MSE会随迭代次数的增加而减少,相应的PSNR会增大。当PSNR增大的速率变慢时,即PSNR呈现出收敛于某个值的时候,可以认定当前迭代收益下降,迭代收益小于设定的阈值就表示,当前图像的质量已经趋于饱和,可以终止迭代过程,获得最终图像。

基于SURE优化的迭代式自适应渲染伪代码如下:

输入:初始光线样本数量n0(预设为8spp),HM滤波器的阈值k(预设为0.5),迭代终止阈值(预设为0.1)

输出:生成结果图像ures

出于对渲染时间的考虑,设初始光线样本数量n0=8,在对图像质量要求较高的情况下,也可以将初始光线样本数量设高一些。

HM滤波器的阈值k大小与HM滤波器去除噪声的强度有关,k的值越小,HM滤波器越保守,去除噪声的数量会偏低,但保留的图像细节较高,而阈值k的值越大时,HM滤波器去除噪声的能力会变强,相应的图像的细节质量会下降。

迭代终止阈值表示当前迭代图像的PSNR相比上一次迭代完成时图像PSNR的变化量,的值越小表示对图像质量的需求越高,迭代次数也就越多,当迭代生成的图像收益小于时,迭代过程终止,得到最终图像ures,在进行第一次迭代时ΔPSNR=1。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号