APP下载

视觉驱动梯度域滤波重构的自适应渲染算法

2024-02-27郎思祺陈纯毅申忠业胡小娟于海洋

小型微型计算机系统 2024年2期
关键词:滤波器重构滤波

郎思祺,陈纯毅,申忠业,胡小娟,于海洋

(长春理工大学 计算机科学技术学院,长春 130022)

0 引 言

蒙特卡罗路径追踪算法能够渲染出具有真实感的三维场景图像,但由于其方差收敛速度慢导致在低采样率下会产生严重的噪声问题.图像去噪算法可以有效降低结果图像中的噪声[1,2],但在去噪的过程中往往会造成图像细节的丢失,因此如何在短时间内进行去噪的同时尽可能保留图像细节是图形学中研究的热点问题.

Rousselle等[3]利用非局部均值滤波器对图像进行平滑去噪,但由于缺乏对场景特征信息的考量,导致结果图像的细节存在一定程度缺失.一些方法根据从噪声图像中获取的信息来设置滤波器参数,如深度、法线或反照率等辅助特征,这些额外的信息可以用于指导非局部均值滤波器和双边滤波器重构图像.Yang等[4]对反照率特征图进行预滤波,再通过结构相似性改进非局部均值滤波器权值,有效保留了结果图像的细节,但在复杂场景下其算法的去噪效果不够理想.Cao等[5]提出一种利用排序聚类的局部滤波框架,有效解决了去噪过程中的边缘模糊问题.

为了进一步提升去噪效果,自适应渲染算法被提出[6],通过优化采样点的分布并重构像素光照值,有效提升了结果图像质量.Liu等[7]使用SURE作为无参考误差估计度量,能够较为准确地分配样本,但由于滤波过平滑导致细节损失严重.Xing[8]通过估算相对均方误差来指导自适应采样,但由于误差度量方法不够先进导致没有使去噪效果达到最优.Liu等[9]通过基于特征的重构来去除蒙特卡罗噪声,但耗时较长.Xing[10]通过神经网络预测滤波器最优重构参数,使最终图像质量大幅提升,但其没有考虑特征图中的噪声传递问题.Kuznetsov等[11]利用神经网络预测采样密度图引导自适应采样,但需要花费大量时间来训练模型.Hasselgren等[12]将实时去噪与自适应采样相结合,保护了高频区域的图像细节,获得了高保真的渲染结果.

Xin等[13]利用深度卷积网络对蒙特卡罗噪声图像进行快速重构,但在低采样样本下不能很好地保留场景细节,容易造成图像模糊.Iik等[14]提出的深度学习方法有效减少了训练时间,并能够以每像素1个采样点引导路径追踪算法.Gharbi等[15]提出一种新颖的样本喷溅方法,虽然计算成本和存储空间较大,但获得了更好的结果.Huo等[16]提出两个网络分别用于指导自适应采样和滤波重构,但在镜面材质下去噪效果一般.Firmino等[17]通过SURE作为误差估计度量,结合去噪后的图像和原噪声图像进一步去噪,取得了不错的效果.Fan等[18]提出了一种以实时帧速率对低采样数下蒙特卡罗路径追踪图像去噪的方法,大幅降低了去噪时间,但其算法占用的内存空间较大.Lin等[19]提出了一种新的去噪管道,通过处理3个尺度特征(像素、样本和路径)以保留清晰的图像细节.Zheng等[20]提出一种集成去噪技术,结合了多个单独的蒙特卡罗去噪器,但其算法效率较低.Yu等[21]提出了一种基于自我注意的蒙特卡罗去噪深度学习网络,利用辅助特征引导自我注意机制进行图像去噪.

上述去噪算法主要存在以下问题:在复杂场景下特征图存在大量噪声,由于缺少对特征图的预处理导致噪声传递到结果图像;滤波重构阶段运算时间长且滤波器收敛速度慢,无法在短时间内重构出具有高质量纹理细节的结果图像.针对上述问题,本文提出一种视觉驱动梯度域滤波重构的自适应渲染算法.利用引导滤波器对特征图进行预滤波,有效降低由于特征图造成的噪声传递问题;在滤波重构阶段利用人眼视觉感知的局限性来降低算法消耗,通过显著性阈值判断,在人眼热衷于观看的区域利用改进后的双边滤波器进行滤波重构,非显著区域利用均值滤波器重构,能够在不降低图像视觉观看质量的同时有效提升算法效率.

1 本文方法

本文提出的自适应渲染算法流程图如图1所示.其中算法的关键步骤为滤波重构阶段和自适应采样阶段.滤波重构阶段通过滤波器平滑滤波去除图像噪声,在数学上表现为降低均方误差,滤波重构的关键是为滤波器设置合适的重构参数,通常重构参数越大去噪效果越好,但容易造成纹理细节的丢失,所以重构阶段的关键是在去除噪声和保留细节之间取得平衡.自适应采样阶段通过增加误差较大区域的采样样本数目来去除图像噪声,对于边角等高频区域的像素分配更多样本,使其在降低噪声的同时保留图像细节.

图1 本文算法流程图Fig.1 Flow diagram of the proposed algorithm

具体实施步骤如下:

步骤1.预渲染.利用蒙特卡罗路径追踪算法生成每像素采样少量样本的粗图像,该阶段获取到的图像含有大量噪声,将此图像作为算法的输入;

步骤2.特征提取及预处理.从上一阶段渲染的粗图像中提取深度、法线、纹理等特征,同时对特征图进行预滤波;

步骤3.滤波重构并计算误差度量值.获取图像的视觉显著性信息来驱动滤波器的选择,对噪声图像进行滤波重构以去除噪声,然后估计当前像素值和真实值的误差;

步骤4.自适应分配样本.根据像素误差水平在每像素分配相应的采样样本;

步骤5.判断是否还有剩余的样本,如果没有则结束渲染流程输出结果图像,否则继续投射样本进行渲染.

1.1 特征预处理

特征图可以用于指导滤波器重构图像,但在含有诸如运动模糊、景深等复杂渲染区域的场景下特征图会产生大量噪声.图2展示了不同场景下的几种特征图,其中包括深度图、法向量图和纹理图,可以看到特征图在场景纹理细节丰富的区域含有较多噪声.为了减少特征图中噪声对最终重构结果的影响,本文利用特征图获取到的梯度图作为引导滤波器的引导图,通过引导滤波器对初始探索场景得到的特征图像进行预滤波.

图2 特征图和全局梯度图Fig.2 Characteristic graph and global gradient graph

首先利用Sobel算子求出特征图的局部梯度图,然后将每个特征图的局部梯度图像gk归一化后取最大值得到全局梯度图像g,如公式(1)所示:

(1)

利用全局梯度图像g作为引导滤波器的引导图,对原始含噪特征图进行预滤波.引导滤波器是一种用于保护边缘细节的平滑滤波器,能够有效去除含噪图像噪声,引导滤波器把窗口中的每个像素i都看作是引导图像I在相同位置上的线性变化,公式上可以表示为[4]:

(2)

图3 特征预处理Fig.3 Feature pre filtering

1.2 视觉显著性驱动滤波重构

在滤波重构阶段开始前,首先获取图像的视觉显著性信息.视觉显著性是指在某一场景中的元素吸引人眼注意力能力的强弱.本文采用RC算法对图像进行显著性检测,图4展示了不同场景下的显著性图.本文通过显著性阈值过滤出显著区域和非显著区域,对于显著性阈值的设置过大会使得到的显著区域过小导致最终结果图像细节描绘不佳;而显著性阈值过小则会使显著区域过大导致算法去噪的运算效率降低,经实验将显著性阈值t设置为0.1.

图4 不同场景下的显著性图Fig.4 Saliency map under different scenes

1.3 融合梯度信息的双边滤波重构

对于筛选出的显著区域即人眼视觉热衷于关注的区域采用双边滤波器进行滤波重构,双边滤波器考虑了像素之间的距离关系和颜色值差异,使其能够保留图像的边缘高频信息.其中双边滤波器的参数wij定义为[8]:

(3)

(4)

(5)

与法向量或深度等其他特征相比,梯度特征与真实情况更为接近,能够提取到更多细节,同时如果滤波器在梯度域收敛,则改进的双边滤波器在其他空间域也接近收敛.基于以上结论,本文引入梯度信息来加快滤波器的收敛速度以提高算法效率,使整个渲染算法能在更低的样本下获取到更高质量的结果图像.

首先利用Sobel算子获取图像的梯度信息,再利用求得的梯度信息来改进双边滤波器,结合公式(3)和公式(5)可得:

i=

(6)

(7)

(8)

根据指数函数的泰勒级数展开,可将公式(8)改写为:

(9)

1.4 均值滤波重构

在非显著区域采用运算速度快的均值滤波器进行图像滤波重构,均值滤波的公式如:

(10)

(11)

图5所示是本文算法在滤波重构前后的对比图,从框选区域标注的细节图上可以看出,重构后结果图像中的噪声被有效移除,同时还保留了大量纹理细节.

1.5 自适应采样

自适应采样阶段通过对像素分配采样样本,能够在进一步提升去噪效果的同时更好的表现图像细节.在自适应采样过程中,需要对估计的像素误差值的准确率进行评估.使用SURE[17]来评估估计值和真实值之间的误差:

(12)

(13)

其中wij表示基于滤波器的重构方法的参数,σc表示颜色域中样本的标准差.最后像素的误差度量值定义为:

(14)

式中ε设为0.01防止除零.由于人眼视觉系统在较黑暗的地方对噪声更为敏感,所以在分母中加入光照值的平方,使更多样本分配到黑暗区域.同时设置误差度量值阈值,对误差度量值不同的区域分配不同数目的样本:

(15)

其中误差度量值阈值φ{φ1,φ2,φ3}设置为{5×10-3,1×10-2,2×10-2},每像素可能分配到的采样数α{α1,α2,α3,α4}分别设置为{1,2,4,8}.通过误差度量值阈值判断可以使每次迭代过程中将更多采样样本分配到误差较大的区域,有效提升了去噪效率.

图6展示了不同场景下的采样点密度图,可以看到在边缘高频区域的亮度更高,表示分配到了更多的样本,从结果图像可以看出,亮度更高的边缘高频区域渲染效果更好,纹理细节更为丰富.

2 实验结果及分析

2.1 实验环境及参数设置

实验利用PBRT平台进行渲染,实验环境为Intel(R)Core(TM)-8700@3.20GHzCPU,8GB内存,测试场景选择PBRT平台官方通用场景.本文与传统蒙特卡罗路径追踪渲染算法MC、多特征非局部均值滤波去噪算法MFNLM[4]和基于SURE的去噪算法PD[17]算法进行了对比.

公式(3)中σr指定为4,m设为3表示3种特征,其中法向量、纹理、和深度的标准差分别设为0.4、0.125和0.3.MFNLM算法以及PD算法的参数均遵照原文中提到的参数进行设置.评价标准是在同一采样水平下的渲染结果图像质量.其中客观评价指标采用峰值信噪比PSNR(Peak Signal to Noise Ratio)和结构相似性SSIM(Structural Similarity),两项指标数值越大越好.在算法效率方面,本文通过渲染时间来比较几种算法的时间复杂度.

2.2 场景对比

图7所示为killeroos-moving场景的渲染结果对比图,该场景分辨率为1024×1024.其中图7(a)是本文算法的渲染结果,图7(b)~图7(e)是本文算法与其他算法的细节对比,所有方法均设置为每像素4个采样点,图7(f)参考图像采用8192个采样点.由于该场景中含有部分运动模糊区域,导致MC方法生成的图像受噪声影响严重,如图7(b)所示MC算法的结果图像产生了大量噪点,MFNLM算法利用结构相似性改进滤波器权值重构图像,但是由于特征图中的噪声传递,导致图7(c)结果图像的去噪效果一般,PD算法的去噪效果优于MFNLM算法和MC算法,但在样本较低的条件下无法处理高频区域存在的噪声问题.本文算法在滤波重构阶段融合梯度信息进行滤波重构有效提高了结果图像质量.表1展示了该场景下几种算法的数据对比,MC算法由于存在大量噪声,PSNR值很低,MFNLM算法和PD算法的PSNR值有一定提升,但没有达到最优,从表中可以看到本文算法的PSNR值最高且渲染时间最短,在相同采样数下能高效地渲染出与参考图像更为接近的结果图像.

表1 killeroos-moving场景数据对比Table 1 Comparison of data for scene killeroos-moving

图7 killeroos-moving场景Fig.7 Comparison for scene killeroos-moving

图8所示为bluesphere场景的渲染结果对比,该场景分辨率为800×800.图8(a)是本文算法的渲染结果,图8(b)~图8(e)是本文算法与其他算法的细节对比,所有算法均设置为每像素8个采样点,图8(f)参考图像采用8192个采样点.如图8(b)所示MC算法存在尖锐的噪声,图8(c)中MFNLM算法会模糊图像细节,图8(d)中PD算法的细节图可以看出,在球体上的黑色高频边缘部分,PD算法造成了较大的细节损失.本文算法首先经过特征图预处理,解决了由于特征图而产生的噪声传递问题,大幅降低了图像噪声.表2展示了该场景下几种算法的数据对比,MFNLM算法在重构过程中由于滤波过平滑导致纹理细节损失严重,SSIM值较低,本文算法的PSNR相比于PD算法有大幅提升,在算法效率方面,由于本文通过视觉显著性信息划分滤波重构区域使得算法效率获得较大提升,相比于PD算法运行时间降低7.6%,在视觉效果上本文算法也比PD算法具有更好的观感.

表2 bluesphere场景数据对比Table 2 Comparison of data for scene bluesphere

图8 bluesphere场景Fig.8 Comparison for scene bluesphere

图9所示为teapot-metal场景的渲染结果对比,该场景分辨率为800×800.图9(a)是本文算法的渲染结果,图9(b)~图9(e)是本文算法与其他算法的细节对比,所有算法均设置为每像素8个采样点,图9(f)参考图像采用8192个采样点.该场景的茶壶和地面纹理效果较为复杂,容易丢失细节.从图9(c)细节框图中可以看出,MFNLM算法在该场景下不能很好地表现出地面纹理细节,从图9(d)中看到PD算法在茶壶把手位置产生了尖锐噪声,且无法表现出优质的光照效果.MFNLM算法和PD算法由于缺少特征图预处理,所以在高频区域存在明显噪声.从图9(e)中可以看到本文算法的去噪效果优于其他算法,同时表现出优质的纹理细节,与参考图像最为接近.表3展示了几种算法的数据对比,其中MC算法PSNR值最低,结果图像效果很差,MFNLM算法去噪效果一般,PSNR值比较低,在该场景下本文算法的PSNR值高于PD算法,SSIM指标也有大幅提升,同时在渲染效率方面本文算法也优于其他算法.

表3 teapot-metal场景数据对比Table 3 Comparison of data for scene teapot-metal

图9 teapot-metal场景Fig.9 Comparison for scene teapot-metal

2.3 算法局限性分析

本文算法虽然有效提升了渲染效率及质量,但也存在部分局限性.如图9中teapot-metal场景的对比图,PD算法对地面的描绘优于本文算法,其算法保留了更多地面纹理细节.通过更多实验发现,在少部分场景下也同样存在该问题,这是由于在视觉显著性驱动滤波重构阶段的区域划分不够优,部分复杂且视觉关注度较高的区域未能划分为显著区域,导致该部分区域仅通过均值滤波进行快速重构,虽然在算法效率上取得提升,但损失掉了部分纹理细节.在未来的工作中考虑通过深度学习的方法来划分显著区域以提升算法的鲁棒性.

3 总 结

本文提出一种视觉驱动梯度域滤波重构的自适应渲染算法.首先通过引导滤波器对含噪特征图进行预滤波以降低噪声传递,然后利用视觉显著性驱动融合梯度信息的双边滤波器对显著区域进行高质量滤波重构,对于视觉显著性较低区域进行快速均值滤波重构,最后使用SURE无偏估计作为误差评价指标,引导更多采样点分布在渲染复杂区域.实验结果表明,本文算法能够在短时间内渲染出具有高保真纹理细节的低噪声图像,本文算法在各项客观评价指标上均优于所对比算法.

猜你喜欢

滤波器重构滤波
长城叙事的重构
从滤波器理解卷积
北方大陆 重构未来
开关电源EMI滤波器的应用方法探讨
北京的重构与再造
基于Canny振荡抑制准则的改进匹配滤波器
论中止行为及其对中止犯的重构
基于TMS320C6678的SAR方位向预滤波器的并行实现
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波