游戏|实时可微:单像素点渲染视频,网友:自己制作3A游戏的时代要来了( 三 )

点栅格化的前向传递可以分解为三个主要步骤 , 分别是映射、遮挡检查和混合 。 下图 3 展示了使用单像素点栅格化方法渲染的两张彩色图像的示意图:

游戏|实时可微:单像素点渲染视频,网友:自己制作3A游戏的时代要来了
文章图片

点栅格化单元的后向传递首先计算参数相关的渲染器函数(1)的偏导数 , 如下公式(8)所示 。 使用链式法则 , 研究者可以计算损失梯度并传递到优化器 。

游戏|实时可微:单像素点渲染视频,网友:自己制作3A游戏的时代要来了
文章图片

如下图 4 所示 , 研究者通过在每个方向上将 p = (u, v) 移动一个像素来计算近似值 。

游戏|实时可微:单像素点渲染视频,网友:自己制作3A游戏的时代要来了
文章图片

在下图 5 中 , 在混合阶段前插入一个 dropout 层 , 该层将点云分割为两个集 。 第一个集正常地混合 , 并生成输入图像;第二个集 , 研究者称之为假性触控点(ghost point) , 不在前向传递中使用 。

游戏|实时可微:单像素点渲染视频,网友:自己制作3A游戏的时代要来了
文章图片

通过进一步的性能分析 , 研究者发现即使在小的分辨率层 , 数百个点也可以通过单个像素的模糊深度测试 。 为了将这一数字降低到合理的范围 , 研究者采用了类似于 [72] 的随机点丢弃方法 。 随机丢弃的效果如下图 6 所示 , 其中基于渲染点的数量对每个像素进行上色 。

游戏|实时可微:单像素点渲染视频,网友:自己制作3A游戏的时代要来了
文章图片

实验展示
在实验部分 , 研究者首先针对前向和后向单像素点栅格化的运行时(runtime)与其他可微渲染系统进行了比较 。 下表 1 展示了自己的方法与 Synsin、Pulsar、使用 GL POINTS 方法的 OpenGL 默认点渲染的 GPU 帧时间的度量结果 , 计时时仅包含栅格化本身 , 不包括神经网络和色调映射器 。 可以看到 , 研究者的方法在所有指标上均优于其他方法 。

游戏|实时可微:单像素点渲染视频,网友:自己制作3A游戏的时代要来了
文章图片

研究者提出了用于可微单像素点渲染的假性梯度(ghost gradient) , 并表示假性梯度在场景细化过程中可以提升梯度准确性和增强稳健性 。 他们通过一个消融实验来确认这一说法 。 实验结果如下图 7 所示 , 图(上)展示了姿态优化前后合成图像和真值之间的像素误差 。 可以清楚地看到 , 在添加位置和旋转噪声之前 , 使用假性梯度可以使感知损失收敛到初始解 。

游戏|实时可微:单像素点渲染视频,网友:自己制作3A游戏的时代要来了
文章图片

新视角合成 。 除了场景细化外 , 该方法还可以在多视角立体数据集上合成新的视图 。 下图 8 展示了合成的两个测试帧 。 比较结果可以发现 Synsin、NPBG 和该研究所用方法可以很好地合成参考帧 , 而 Pulsar 和 NRW 的输出稍差 。

推荐阅读