1. styleGAN
摘要:
1. 通过无监督式的自动学习对图像的高层语义属性做一定解耦分离,做到了一定程度的控制合成
2. 为了量化插值质量和解耦度,还提出了两种计算方法
3. 人脸数据集
latent 输入特征隐向量,对于一张图片有很多特征,分离整体的风格效应与局部的随机变化,风格影响的是整体(改变姿势、身份等),噪音影响无关紧要的随机变化(头发、胡须等)
mapping network 解耦
八个全连接层的作用是进行特征的提取,进行特征的浅解耦。为什么叫做浅解耦,因为这里只是将特征部分地分开了,生成一个与latent z维度相同的w向量。为什么说是部分分开了特征呢?因为w的维度和z的维度相同,但是特征的数量还是那么多,如果已经将特征完全的分开了,每一个分量代表一个特征,那么特征将会被压缩,导致特征没有完全的利用。
A也是一个Dense层,即全连接层,同样也是进行解耦的工具。当向量w进入到A中时,通过全连接层的非线性仿射变换,w被解耦成单独的特征,在这里解耦合才完全结束
需要w中的不同特征来满足机器的渐进性,所以需要将w分别放到18个A中进行特征的解耦。比如不同的分辨率
将初始输入与风格特征结合的操作称之为AdaIn, 它通过学习一个仿射变换,来匹配一个源域的统计特征分布转换到目标域。
该操作将输入进行标准化之后与风格特征进行融合,之后进行一个卷积操作,其目的是提取AdaIn结果的特征生成一个与输入卷积网络同等大小的图像张量
为什么要进行两次AdaIn操作,这里是因为StyleGan还拥有的一个功能是风格融合,同一个分辨率层的两个style是不同的风格特征,目的是将两个不同的风格进行融合生成新的人脸图片。模型在每一个分辨率层生成完本层图片,将该图片作为输入,同时变更模型,将模型变更为可以处理更高分辨率的模型输入之前处理好的图片,这样循环往复直到生成一张分辨率为1024*1024的图片。
PS:
1. benchmark 是衡量系统性能的标准,是评价算法或系统好坏的重要指标。只有在与其他算法或系统的比较中才有意义
2. 理解GAN潜在空间
1) 潜在空间是生成器和判别器的共同作用下的结果。生成器试图学习数据的分布以生成似是而非的数据,判别器试图识别生成的数据和真实数据的差别,二者的博弈最终达到一个平衡,这个平衡点所代表的数据分布就是GAN的潜在空间。
2) 潜在空间中的点并不直接对应于真实数据的特征。GAN通过神经网络的变换将潜在空间映射到数据空间,这是一个复杂的变换过程,潜在空间的点和数据空间的点之间并非一一对应的关系。
3) 潜在空间的维度远小于数据空间的维度。通过潜在空间的压缩,GAN可以学习到数据的潜在特征,这有利于提高GAN的泛化能力。但这也造成了生成数据的损失和真实数据之间的差距。
4) 潜在空间是连续的,生成器可以在这个空间内自由插值和采样。这使得GAN可以生成全新的类样本,而不只是复制训练集中的样本。这也是GAN相比其他生成模型的一个重要优势。
5) 潜在空间的形状关系复杂,很难以功能的形式加以描述。我们无法明确知道输入一个潜在空间点,生成器的输出会是什么样的数据样本。这使得GAN的生成过程难以完全驾驭和控制。
6) 潜在空间会随着generators和discriminators的迭代更新而不断变化。这使得我们难以梳理GAN的精确生成过程,也增加了GAN训练的难度。
所以,总体来说,GAN的潜在空间是一个复杂的、高维的、非线性的空间,其中蕴含了数据的潜在特征和分布。
3. 仿射变换
仿射变换是一类重要的几何变换,它可以保留几何图形的直线段与平行线不变。
常见的仿射变换有:1. 平移:将图形沿直线方向移动一定距离。这是最简单的仿射变换,可以用一个向量表示。2. 旋转:将图形绕一个定点按一定角度旋转。旋转变换可以用旋转角度及旋转中心表示。3. 缩放:将图形的尺寸按一定比例放大或缩小。缩放比例大于1为放大,小于1为缩小。可以用一个缩放因子表示。4. 错切:先旋转然后缩放,或先缩放然后旋转。错切变换是旋转变换和缩放变换的组合。5. 镜像:将图形按一条直线镜像对称变换。可以用镜像轴表示。这些基本的仿射变换可以组合起来产生更为复杂的变换。
仿射变换的重要性质包括:1. 直线映射到直线:仿射变换会将直线映射到直线,可以保留图形的线段。2. 平行线性质保留:平行线会映射到平行线,仿射变换保留平行关系。3. 比例保留:仿射变换保留角和比例不变。例如,矩形会映射到矩形。4. 面积变化:面积在仿射变换下发生放大或缩小,但形状保留。5. 顺序不变:仿射变换不改变点的顺序,保留方向。
State-of-the-Art in the Architecture, Methods and Applications of StyleGAN 文章总结分析了StyleGAN
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理