Enhancing photorealism enhancement

图片增强现实——NVIDIA
即使是最复杂的游戏,其实时渲染依然无法实现真实的现实场景,人眼一眼就能分辨模拟图片和真实图片。
因此利用游戏引擎渲染过程中产生的中间缓冲(G-Buffers)作为训练卷积神经网络的额外输入信号,进一步增强游戏中图片的真实性,同时消除之前基于深度学习的方法可能会产生的不和谐不合理幻像(不同图像现实增强的数据集中的场景布局会带来不同的视觉效果)。
不直接生成数据,而是在已经渲染的图像上进行增强,集成场景信息来合成几何上和语义上一致的图像。


Overview

网络主要包含:
图像增强网络(基于HRNetV2):以渲染之后的图像作为输入,输出增强现实之后的图像。将开头的降采样卷积改为步长为1的卷积,在每个分支的residual block中,将BN替换为rendering-aware denormalization modules(RAD),构建RAD Blocks,每个分支接受一个对应的G-buffer特征作为辅助输入。


Image Enhancement Network

图像增强网络的目标函数有二:
1.LPIPS loss反映图像之间的结构差异
2.感知鉴别器评估图像的真实性
G-buffer Encoder Network:rendering buffer提供了几何学/材料/光照等等场景信息,该信息通过G-buffer Encoder Network得到多尺度的G-buffer特征,同样作为图像增强网络的输入;

G-buffer Encoder

G-buffers分别送入C个分支(C为类别数),得到的向量分别与对应类别的mask点乘,然后对类别求和,送入G-buffer Encoder中。
Rendering-aware denormalization:
RAD Module

每个尺度的G-buffer特征经过三个residual block和两个并行卷积得到缩放和偏移参数 ,图像特征经过GroupNorm,然后经过缩放偏移得到RAD的输出特征。
感知鉴别器(Perceptual discriminator):
感知鉴别器

包含预训练的分割网络和感知特征提取网络和多个鉴别器网络,将VGG每个Relu后的特征送入鉴别器(多尺度的)。每个鉴别器网络包含五个Convolution-GroupNorm-LeakyReLU (CGL) layers(产生256维特征y)和一个Convolution-LeakyReLU-Convolution (CLC) layer(将特征变为单通道向量z),特征y与分割图得到的特征算内积,然后与z相加得到真实性得分。

由于不同数据集的场景不同,在进行domain迁移的时候可能会产生一些不合理的现象(过拟合于source domain),如CityScapes中图片上方天空出现的概率低于GTAV(一般可能是树木),因而采用GAN将GTAV风格的图片翻译为Cityscapes风格的时,可能会在图片上方生成树木,这显然不合理。同理,如果以Cityscapes数据集作为真实图片,那么判别器很容易就做出如下判断:图片上方是天空的大概率是渲染图片,图片上方是树木的大概率是真实图片,从而将该信号传递至生成器,使得生成出来的图片上方可能出现树木,这不是我们期待的结果。因而从GTAV和Cityscapes中随机选取的图片场景布局是不同的,哪怕前景类别数量相同,所以需要构建不同的采样策略,不能盲目扩大真实图像和渲染图像的patch尺寸以增大上下文,将crop size缩放到整幅图片大小的7%。其次,在整个数据集上匹配图像块:将图片裁剪为196像素的图像块,每个图像块经过ImageNet上的预训练VGG模型得到512维的特征(最后一个relu),如果真实图像的图像块与渲染图像的图像块余弦相似度大于0.5,则认为两者匹配。

你可能感兴趣的:(Enhancing photorealism enhancement)