StyleGAN

2025年3月17日 | 阅读11分钟

StyleGAN 是一种生成对抗网络 (GAN),旨在生成出色的、高分辨率的图像。与传统 GAN 相比,它在图像质量、多样性和生成图像的可控性方面做出了多项架构改进。

它是一种创新的系统,其中两个网络相互竞争。该系统借鉴了风格迁移文献中的思想,并采用了一种独特的方法来生成新图像,这与其他类似系统不同。它在某种程度上类似于渐进式 GAN,因为它会逐步学习。但有一些不同之处:它不是生成随机的潜在向量,而是生成固定的潜在向量,然后用一种特殊的方法对其进行调整。这些调整后的潜在向量有助于生成新图像。它还使用一种通过学习来控制潜在向量如何交换的方法。该系统将两种不同类型的潜在向量混合在一起,以在学习的同时生成更好的图像。

为了更好地理解 StyleGAN,我们将尝试复制源 B 中的粗糙空间分辨率风格,这些风格带有姿势、整体发型、脸型和眼镜等高级特征,同时所有颜色(眼睛、头发、光照)和更精细的面部特征则类似于源 A。

我们将尝试生成一些人脸。

导入库


StyleGAN

设计层

在神经网络中设计层涉及组织和排列不同的组件来处理输入数据、学习模式并生成输出。

线性层

它允许使用灵活的初始化和学习率技术创建线性层,从而增强对权重初始化和学习神经网络架构的控制。


StyleGAN

输出

StyleGAN

输出

StyleGAN

输出

StyleGAN

输出

StyleGAN

输出

StyleGAN

输出

StyleGAN

输出

StyleGAN

卷积层

它允许使用自定义学习率、权重初始化技术、偏置设置、可选的上采样以及卷积后的中间操作来创建卷积层。

噪声层

此层允许将噪声注入输入数据,从而提供更多的实验和分析灵活性。噪声是按像素应用的,但在通道之间保持一致,并且可以为每个通道单独更改噪声权重。

风格修改层

此层负责通过缩放和偏移变换将风格信息(来自潜在向量)注入到输入张量中。这种方法允许网络根据潜在向量的风格进行适应并提供不同的输出。

输出

StyleGAN

像素归一化层

它通过沿通道维度对像素值进行平方根平均来划分每个像素,从而独立地跨通道对输入张量中的像素值进行归一化。这种归一化技术用于稳定和标准化特征表示,这有助于神经网络训练。

模糊层

它能够对输入图像或特征图执行模糊操作。它允许灵活地定义内核,考虑不同类型的模糊效果,包括高斯模糊或自定义定义的内核,以满足各种模糊需求。

上采样层

它能够无缝集成到神经网络结构中,从而轻松地在神经网络模型中实现 2D 上采样层,并支持张量上的 2D 上采样操作。

设计网络

设计神经网络涉及领域知识、实验以及对各种架构和层细微之处的掌握的结合,以创建一个能够从数据中有效学习并做出准确预测的模型。

生成器映射网络

它在控制和修改内部生成模型中的潜在空间表示方面很重要,从而能够更好地控制和提高生成输出的质量。


生成器合成块

它有助于构建不同的块并操纵生成模型内的特定操作,这些模型专门用于图像生成任务。



生成器合成网络

它是生成对抗网络 (GAN) 的合成部分,负责从解耦的潜在向量生成图像。它构建了一个分层架构来处理这些潜在向量并生成最终的 RGB 图像。

定义模型

现在我们将导入预训练模型。

当潜在向量 z 通过 g_mapping 网络时,会返回 w,当返回的 w 通过 g_synthesis 时,会形成一张图像。这个过程是逐步链接的,并且一个接一个地发生。


测试模型

现在我们必须测试我们的模型。


输出

StyleGAN

输出

StyleGAN

输出

StyleGAN

控制潜在向量

在这里,我们将通过一组向量值来操纵生成输出的各种特征。

输出

StyleGAN

输出

StyleGAN

输出

StyleGAN

输出

StyleGAN

输出

StyleGAN

顺便说一句,我们有一个通过 G_mapping 网络发送的 w 向量。让我们试一试。

输出

StyleGAN

以下是 MLP 映射网络的结果。

输出

StyleGAN

然后,转换为图像(一半一半)。

输出

StyleGAN

输出

StyleGAN

这看起来像是“一半一半”。而且,它被投影到中间,即使在年龄方面,也是一个非常令人惊讶的结果。

输出

StyleGAN

输出

StyleGAN

输出

StyleGAN

输出

StyleGAN

这更加自然!Stylegan 的优势在这里显而易见。传统的图像创建方法直接从随机向量(高斯分布)z 创建图像。这展示了高度的自由度,或者说是特征分离度低(被认为是纠缠的)。Stylegan 通过映射网络记录了这种核心的“风格”,并且插值结果证实了这一点。

注意:新生成器在传统分布质量标准方面取得了最先进的成果,从而实现了明显优越的插值质量以及更好的潜在变化原因解耦。我们提供了两种新颖的自动方法来量化插值质量和解耦,这些方法适用于任何生成器设计。


下一主题C Gan