APP下载

基于循环神经网络的时域反走样算法

2020-05-12李健宽

现代计算机 2020年10期
关键词:走样邻域时域

李健宽

(四川大学计算机学院,成都 610065)

0 引言

走样是图形渲染中的基本问题之一,它是图形几何及着色计算过程中采样率不足导致的现象,具体表现为几何边缘的锯齿及纹理失真。而图形反走样算法能够减缓这种走样现象,极大提升图形绘制的质量,因此,高效高性能的反走样算法研究是图形学的重要课题。

时域反走样(Temporal Anti-Aliasing,TAA)是当前实时渲染中应用最广泛的反走样算法,它属于通过增加采样率缓解走样误差的算法,TAA将子样本点分散到了图形绘制的历史帧中,采用启发式算法将历史样本点融合到当前帧中。样本点分摊到时域上使得TAA消耗较低渲染系统资源的同时,为画面效果带来极大的提升,这也是TAA从众多反走样算法中脱颖而出的重要原因。

近年来深度学习不断发展,图形渲染领域也出现一些与深度学习结合的方法。2018年,英伟达推出了图灵架构显卡,附有专为深度学习设计的硬件Tensor Core,此类深度学习专用硬件的出现让图像任务中表现优异的深度学习算法越来越多的被引入实时渲染领域中。例如,与Tensor Core一同推出的英伟达深度学习超采样(Deep Learning Super-Sampling,DLSS),该算法利用数据驱动方式从大量场景图像中学习反走样网络模型,用于提升图形渲染品质。

循环神经网络(Recurrent Neural Network,RNN)是深度学习领域应对时序数据的一种神经网络结构,Chaitanya[1]将其应用在光线跟踪实时降噪上。RNN中的隐藏单元能有效提取历史信息,这些信息将帮助神经网络得到更优质的光线跟踪去噪的结果,并保证了所绘制效果在序列上的稳定性。

当前的时域反走样算法虽然较好地提升了图像质量,但也仍面临模糊、重影、闪烁等现象,在时域复用框架下难以避免。现有的工程实现上需要不断找到更优的启发式方法来消除这些现象,然而这些启发式方法往往依赖于特定的假设。我们期望使用数据驱动的方式,让深度学习发挥在图像任务上的优势。

本文将研究RNN与TAA的结合算法,用深度学习替代时域反走样中的众多启发式方法,进行图形序列反走样。并对效果进行定量分析。

1 相关研究

TAA最初由Yang[2]提出,其核心思想是通过将子像素级别采样点分摊到历史帧来获取近似超采样效果。TAA可以作为一种时域复用框架,它让我们以相对极低的资源开销获取高品质的游戏画面,这使得它被广泛应用在游戏引擎及交互式图形程序中。

尽管TAA能产生优质的画面效果,但也经常出现重影、模糊和闪烁等诸多问题。其中,模糊现象来源于重投影Nehab[3]步骤中对历史像素采样的过程:重投影的像素由历史帧的多个像素插值获得,而历史帧像素又由更早历史帧的多个像素插值获取,随时间推移,迭代过程中参与贡献的像素范围不断扩大,导致图像模糊。重影现象产生的原因在于融合了错误的历史数据,这种错误一方面来源于当前像素的可见性变化,如当前重投影的像素对应的物体表面在历史帧还未出现,另一方面来源于高频变化的颜色区域,历史像素丢弃判断方法失效。对于重影现象,工业界最常用的方法是邻域裁剪。Salvi[4]说明了邻域裁剪的理论依据,salvi、malan、pedersen[5]分别给出了邻域裁剪的不同实现方案。

随着深度学习的兴起,我们能看到越来越多的图像技术被应用到图形学领域,这些技术与图形领域知识结合,发挥了比原始图像算法更优的效果。Nalbach[6]使用G-Buffer辅助着色计算,并提出利用u-shaped结构的网络完成反走样(anti-aliasing)、环境光遮挡(ambient occlusion)、基于图像的光照(image-based lighting)等众多任务。随后,Chaitanya[1]提出循环神经网络对序列图像结果稳定性的改进,该算法同样利用了G-Buffer辅助信息完成对降噪效果的改善。

Jaderberg[7]首次提出 STN(Spatial Transformer Net⁃works),它引入了可微的重投影网络层,保证梯度在重投影后的隐藏单元上传递,它常被用在与反走样算法解决相似问题的超分辨率任务中,STN结合运动向量将保证序列数据的有效利用。例如,FRVSR[8]利用循环神经网络,将上帧图形利用运动向量重投影后,与当前时刻图像通过网络进行融合,最终得到超分辨率结果。这与TAA流程有众多相似之处,它们都利用了历史时刻重投影后的图像与当前图像融合得出最终结果。

基于深度学习的图形渲染研究尚处于起步阶段,相较于图像领域,图形绘制中可以快速、精确获得用于重投影的运动向量(Motion Vector)以及G-Buffer中包含的除颜色外的深度、法线重要信息。通过引入深度学习在图像领域的经验,结合图形绘制可精确中间信息,能让我们用另一种途径完成多种图形绘制任务。

2 算法实现

2.1 问题分析

时域反走样中,无论是重投影还是模糊、闪烁、重影处理,都使用了启发式方法,这些方法并非数学形式上完美解决,而是研究者通过对问题理解基于假设而提出的暂时处理方法:TAA重投影计算中,运动向量采用像素邻域最长的作为当前像素的重投影向量;邻域裁剪中,使用AABB或统计当前像素邻域的均值方差形式对历史样本颜色进行裁剪;历史样本融合过程中,利用人工设计方法计算的衰减因子,以指数衰减融合的方式将历史帧采样的像素颜色和当前像素进行融合。

在这种没有解析解的图像处理问题上,深度学习方法大量数据中使用损失函数的梯度寻求更有的神经网络模型,通常能成为现有问题的前沿解决方案。

本文算法的目标是将循环神经网络与现有的时域反走样框架进行融合。时域反走样算法中,有几个关键的步骤,分别是:子像素偏移、重投影、邻域裁剪、加权融合。本文算法利用循环神经网络替换掉TAA中融合历史样本的方法,直接从场景中采集的大量图像序列来学习神经网络模型参数,最终的模型能够很好地完成图形反走样任务。

2.2 基于循环神经网络的反走样算法

本文算法完整保留了TAA算法中的子像素偏移、重投影等步骤:T时刻渲染的画面将进行子像素级别的偏移,之后利用神经网络进行当前帧像素和重投影后的T-1时刻历史像素的融合,在TAA中对应的是邻域裁剪及加权融合两个步骤,而本文算法则将完全依赖于从场景数据中学习得到的卷积神经网络。

本文算法的网络结构如图1所示。所提出的神经网络模型是在Chaitanya[1]的基础上的时序改进版本,他们使用的是一种带有Skip Connection的编码-解码卷积神经网络,这种结构能够在编码阶段学习图像特征的内部表示,并在解码阶段还原图像的反走样表示。此外,G-Buffer也能提供场景的辅助信息帮助我们完成图像的反走样表达,我们将延迟渲染中的深度、法线等几何信息与走样图像一起作为神经网络输入,帮助神经网络进行更有效的反走样推断。时序上,网络的输出由当前时刻的运动向量利用STN中提供的可微重投影层进行重投影变换,T-1时刻网络输出经过重投影层的变换,与T时刻图像、G-Buffer一起,作为T时刻的网络输入。

实验中采用大量的由走样图像序列到超采样图像序列对组成的数据集对模型进行训练,我们使用英伟达提供的Falcor[9]渲染程序采集Sun Temple[10]场景数据。具体而言,我们采集了1000段图像序列,分割为训练、测试、验证集,每段序列由7组图像构成,每组图像包含走样图像、运动向量、G-Buffer、Ground Truth、TAA组成。针对采集的每段图像序列,我们使用本文提出的模型进行训练。每段数据经过旋转(90°、180°、270°)、倒序排列序列图像等数据增强处理,训练轮数为500轮。

训练完成后的网络模型使用流程如图2:

(1)重投影上一帧结果,与当前渲染结果共同作为神经网络输入

(2)渲染当前帧,产生子像素级别抖动,并保留GBuffer信息

(3)利用自编码卷积神经网络对1、2输入进行处理,输出反走样图像

(4)重复步骤1

图1 本文算法采用的网络结构及数据输入输出

图2 本文算法在时序上的流程

3 实验结果及分析

图3 左到右分别为原始图像、TAA、本文算法、Ground Truth

表1 TAA与本文算法性能对比

本文研究的目的在于使用深度学习方法提升时域反走样的效果,我们将分别统计本文算法及TAA算法在所采集数据集上的RMSE指标,来统计逐像素数值上的差异。表1为TAA及本文算法进行的定量比较,可以看出本文算法相对于原始的算法,RMSE数值更低,这意味着本文算法结果与Ground Truth差异更小,即在统计上本文算法优于TAA。而图3在实际场景中的测试则可以看出,TAA算法对原图产生了一定的反走样效果,几何边缘锯齿现象减弱,但整体画面更加模糊;相比之下,本文算法结果既保留了清晰的几何边缘,在纹理上也保持了原有的清晰度,产生了更接近Ground Truth的高质量反走样结果。

4 结语

本文给出了基于循环神经网络的反走样算法的实现,我们将时域反走样中的方法融进了深度学习流程中,最终得到的效果能够较好地完成图形反走样任务。在结果分析中能看到,本文算法能较好解决几何走样、着色走样问题,性能指标优于英伟达实现版本的TAA算法。本文算法能用于减缓实际游戏、交互式图形程序中遇到的走样现象,具有实际意义。

猜你喜欢

走样邻域时域
基于混合变邻域的自动化滴灌轮灌分组算法
“双减”,如何确保落地实施不走样
女性衰老从身体走样开始
含例邻域逻辑的萨奎斯特对应理论
晚霞浅淡少年糖
基于G-Buffer的深度学习反走样算法
基于MATLAB 的信号时域采样及频率混叠现象分析
两种常用漂浮式风力机平台动态特性分析
不同入射角风波流海上漂浮式风力机频域与时域动态特性
对函数极值定义的探讨