Adversarial Generation of Continuous Images 阅读笔记

任务

在对图像的表示中,最经典的方式是利用矩阵对图片进行表达,但是这种表达方式将图片进行离散化了。而在真实的世界中,我们认为是连续的,或者近似连续的。于是,作者提出使用一个连续的函数来表示图像,再结合目前的神经网络,提出一个方案,即利用神经网络来逼近这个连续的函数。这种方案被称为INR(Implicit Neural Representation),表达的公式如下:

Adversarial Generation of Continuous Images 阅读笔记

对于图像来说,INR将二维坐标映射到RGB的一个值。

Adversarial Generation of Continuous Images 阅读笔记

上图是一个对比图,坐标为常规的卷积网络做图像生成的方法,右边为使用INR的方法。

解决的问题

(1)如何设计网络使得网络训练能够更稳定。为什么会有这么一个问题呢?因为这是一种hypernetwork,即利用网络去学习网络参数,因此在学习训练的过程中,更不容易稳定训练。

(2)如何处理高分辨率的图像,使得对硬件的耗费资料更小。在处理高分辨率图像的时候,由于这种方法需要对每一个单独的像素进行映射运算,因此会占用更高的内存消耗。

作者设计了factorized multiplica-tive modulation(FMM)的方法和multi-scale的方法去处理解决以上的问题。

方法

如上图的pipeline所示,是整个方法的流程,G是生成器,从高斯分布中采样进行生成,不过生成的是参数

Adversarial Generation of Continuous Images 阅读笔记。这个参数将用在INR模型F中,作为这个函数的参数。为了产生一张完整的图片,作者对一张图片的每一个grid都要进行运算。作者在这使用了傅里叶特征变换,对输入的坐标点进行了变换,将坐标映射为一个特征向量。

FMM(Factorized Multiplicative Modulation)

在计算的时候,作者一开始通过矩阵分解将学习的矩阵分成两个低秩矩阵,但是这种矩阵的分解方式会产生大量的0值奇异值从而影响GAN的训练。因此作者采取了一种折中的方案,Generator产生低秩矩阵,低秩矩阵相乘得到一个高阶矩阵,再经过一个激活函数之后,与一个可学习矩阵相乘,得到最后的矩阵。如下图所示:

Adversarial Generation of Continuous Images 阅读笔记

通过生成器产生A和B矩阵,然后经过一个激活函数,和一个可学习的参数W相乘,最后得到最终的权重矩阵。

Multi-scale INRs

由于最终产生的是一个高分辨率的图片,作者通过多尺度计算的方式减少计算的开销。如下图所示:

Adversarial Generation of Continuous Images 阅读笔记

不同的层次处理不同分辨率下的grid。这允许一个grid运算的时候与周围的grid共享计算。对于这个网络,在处理低分辨率的时候,用更多的神经元,在处理高分辨率的时候,用来更少的神经元。作者在做这个设定的时候,使用了和卷积相同的引导偏执,即一个像素受到周围像素的影响非常大。

思考

这篇论文个人认为做得很不错,但是受限于个人的知识,我有几个疑惑的地方:

(1)矩阵分解之后为什么会产生很多的0奇异值,它又是怎么影响GAN的训练效果的。

(2)F的各个block是如何做插值运算,提高分辨率的。

在补充完相关数学知识和阅读源代码后,会补充。

此外,个人认为这种方法应该能和点云进行一些联动。SP-GAN感觉已经是对这种方法的应用了。

参考文献:

github地址:

GitHub – universome/inr-gan: Adversarial Generation of Continuous Images [CVPR 2021]

Original: https://blog.csdn.net/baidu_40582876/article/details/121651339
Author: 莫问前程学无止境
Title: Adversarial Generation of Continuous Images 阅读笔记

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/645989/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球