互联网资讯 / 人工智能 · 2023年12月11日 0

新模型提升高清真人版GT玩法,3D渲染图更真实

GT 是一款经典的 3D 冒险游戏,画风如图所示:

新模型提升高清真人版GT玩法,3D渲染图更真实

尽管画面接近真实,但仍显得有些缺乏质感……

最近,英特尔的研究团队为 GTA 开发了一款画质增强补丁,我们先来看看效果:

新模型提升高清真人版GT玩法,3D渲染图更真实

左侧为 GTA 的 3D 渲染图,右侧则是英特尔新模型的生成结果。

效果相当出色,接下来的画质增强效果更为明显,处理后如同相机实拍一般:

新模型提升高清真人版GT玩法,3D渲染图更真实

在 3D 渲染领域,实时性和真实感是两个至关重要的因素。通常,照片级渲染引擎处理单帧图像可能需要几分钟甚至几小时,而英特尔的新系统则能以较高的帧速率进行图像处理。研究团队还表示,他们将继续优化这一深度学习模型,以提升处理速度。那么,英特尔的图像增强补丁究竟是如何实现的呢?接下来,我们将探讨具体的技术细节。

新模型提升高清真人版GT玩法,3D渲染图更真实

方法与架构

如图所示,该系统由多个相互连接的神经网络组成。

新模型提升高清真人版GT玩法,3D渲染图更真实

G-buFFeR 编码器将不同的渲染图转换为一组数字特征。多个 G-buFFeR 分别用于表面法线信息、深度、反照率、光泽度、环境和目标分割的渲染图。系统中的神经网络利用卷积层处理这些信息,并输出一个包含 128 个特征的向量,从而提升图像增强网络的性能,并避免产生伪影。G-buFFeR 可直接从游戏引擎获得。

新模型提升高清真人版GT玩法,3D渲染图更真实

图像增强网络将游戏的渲染帧和来自 G-buFFeR 编码器的特征作为输入,生成逼真的图像。在训练过程中,鉴别器和 LPIPS 损失函数及其他组件一同使用。研究人员通过评估生成图像与原始游戏渲染帧的一致性以及与真实图像的真实质量进行比较,来对增强网络的输出进行评级。

图像增强的推断成本

如果该技术能够使用,游戏玩家是否可以在自己的计算机上运行它呢?首先需要评估推断成本,即运行经过训练的模型所需的内存和算力。推断成本的计算仅需 G-buFFeR 编码器和图像增强网络,而鉴别器网络可以省略。

新模型提升高清真人版GT玩法,3D渲染图更真实

研究人员在论文中提到,增强网络基于 HRNetV2 的神经网络,这是一种用于高分辨率图像处理的深度学习架构。相较于对图像进行下采样的模型,HRNetV2 产生的视觉伪影较少。它通过多个以不同分辨率运行的分支来处理图像,其中一个特征流保持较高的分辨率(输入分辨率的 1/4),以保留细致的图像结构。

换句话说,如果以全高清 (1920&tiMes;1080) 的分辨率运行游戏,则最顶层的层(top Row layeR)将以 480&tiMes;270 像素处理输入。接下来的每一层,分辨率减半。研究人员对该神经网络中每个模块的结构进行了调整,以接收来自 G-buFFeR 编码器(RAD 层)的输入。

G-buFFeR 的输入包含材料信息的 one-hot 编码、法线、深度和颜色的密集连续值(dense continuoUS values foR noRMal),以及光晕和天空 buFFeR 的稀疏连续信息。此外,该模型在 G-buFFeR 的子集上也表现良好。

那么,该模型需要多少内存呢?研究论文并未明确说明内存大小,但根据 HRNetV2 的数据,完整网络需要 1.79 GB 的内存来处理 1024&tiMes;2048 的输入。英特尔使用的图像增强网络虽然输入尺寸较小,但还需考虑 RAD 层和 G-buFFeR 编码器引入的额外参数。因此,可以推测至少需要 1 GB 的视频内存来支持全高清游戏的深度学习图像增强,而若想达到 4K 分辨率,内存需求可能超过 2 GB。

游戏计算机通常配备 4-8 GB VRAM 的显卡,因此 1 GB 的内存需求并不算高。而像 GeFoRce RTX 系列的高端显卡则可达到 24 GB 的 VRAM。

然而,3D 游戏通常消耗大量显卡资源。在视频内存中尽可能多地存储数据能加快渲染速度,避免在 RAM 和 VRAM 之间交换,这种操作会导致显著的速度损失。据估计,《侠盗猎车手 5》在全高清分辨率下消耗高达 3.5 GB 的 VRAM。而如《赛博朋克 2077》等新游戏拥有更大的 3D 世界和更精细的画面对象,轻易就会占用 7-8 GB 的 VRAM,若以更高分辨率运行,则需要更多内存。

因此,当前的中高端显卡使得用户不得不在低分辨率高真实感与高分辨率合成图形之间进行取舍。然而,内存使用并不是基于深度学习的图像增强所面临的唯一挑战。

非线性处理引起的延迟

更大的挑战在于深度学习操作的连续性和非线性特性。理解这一点需要先了解深度学习推断在 3D 图形中的应用。三维图形依赖于大量的矩阵乘法。3D 图形的渲染帧始于一组顶点,每个顶点用一系列数字表示,代表 3D 对象上点的属性,包括坐标、颜色、材质、法线方向等。

在渲染每一帧之前,顶点必须经过一系列矩阵乘法,以将其局部坐标映射到世界坐标、相机空间坐标和图像帧坐标。索引缓冲区将顶点捆绑成三角形,这些三角形被光栅化,即转换为像素,每个像素通过其自身的一组矩阵操作,根据材质颜色、纹理、反射和折射图、透明度等确定其颜色。

新模型提升高清真人版GT玩法,3D渲染图更真实

3D 渲染 pIPeline,图源:LeaRnEveRyone

这似乎需要进行很多操作,尤其是现代 3D 游戏由数百万个多边形构成。计算机上能够实现非常高的帧率主要有两个原因。首先,显卡专为并行矩阵乘法设计,与 CPU 只有几十个计算核心相比,图形处理器拥有数千个核心,每个核心都可以独立执行矩阵乘法。

其次,图形变换大多是线性的,多个线性变换能够组合在一起。例如,将分别用于世界、视图和投影变换的三个矩阵相乘,能够创建一个同时执行这三个操作的矩阵,从而减少三分之二的运算量。

深度学习同样依赖于矩阵乘法,每个神经网络都由层层矩阵计算构成,这也是显卡在深度学习领域日益受欢迎的原因。

然而,与 3D 图形不同,深度学习的操作无法组合。神经网络中的层依赖非线性激活函数来执行复杂任务。这意味着,多个层的转换操作无法压缩为单个操作。

例如,假设有一个以 100&tiMes;100 像素的图像(10000 个特征)作为输入的深度神经网络,该网络用七个层处理图像。尽管具有数千个核心的显卡可以并行处理所有像素,但仍需依次执行七层神经网络的操作,这使得实时图像处理变得困难,尤其是在低端显卡上。

因此,一个重要的瓶颈是必要的顺序操作数量。英特尔模型的图像增强网络顶层有 16 个顺序连接的残差块。每个残差块中包含两个卷积层、RAD 块和 ReLU 操作,形成了 96 层的顺序操作。在 G-buFFeR 编码器输出其特征编码之前,图像增强网络无法开始操作。因此,至少需要再添加两个残差块来处理第一组高分辨率特征,序列中又增加了 8 层,这样用于图像增强的操作至少有 108 层。

新模型提升高清真人版GT玩法,3D渲染图更真实

英特尔模型的图像增强网络。

这意味着除了内存之外,您还需要高频率的处理器来执行这些操作。英特尔的论文中提到一个有趣的观点:「使用我们的方法,未优化的应用在推理过程中需花费一块 GeFoRce RTX 3090 GPU 半秒时间。」

RTX 3090 拥有 24 GB 的显存,这表明缓慢的 2 FPS 渲染速率并非由于内存限制,而是因为处理图像增强器网络所有层所需的顺序时间。这不是一个通过增加内存或 CUDA 核心可以解决的问题,唯有依赖更高频率的处理器来应对。

论文中提到:「用于输入的 G-buFFeR 是在 GPU 本地生成的,如果我们的方案与游戏引擎深度整合,将可能提高效率,也许会带来更高的真实化效果。」

将图像增强器网络集成到游戏引擎可能会显著提升速度,但目前尚未达到可玩帧率。

相比之下,HRNet 的论文中显示研究人员使用的英伟达 V100 是一种昂贵的专业级 GPU。