admin管理员组文章数量:1122847
PI
PI-REC 水记 (线稿+色块→绘画)
官方视频教程:BV1db411g74d
-
机器之心 新闻稿
渐进式图像重构网络:像画画一样重构图像
概览
训练分三个阶段,但是都是用同一套模型
数据集
数据集有 edges2shoes(鞋),edges2handbags[21](包包),getchu[22](动漫脸),CelebA(人脸)
预处理
边缘(线稿):
用 Canny 算法提取边缘
色域(色块):
先用中值滤波,再 K 均值[9],得到色块。
然后再用一次中值滤波,模糊掉边缘
关于中值滤波,看这个《中值滤波与高斯滤波的原理和应用场合》
数据增强:
超参混淆:提取线稿和色块的时候需要设置超参。生成数据集的时候,超参是在一个范围内随机变化的。
线稿中的任意像素,有8%的概率变为0。
模型
生成器
U-Net结构,用了感知损失Johnson etal. [24]
(有意思的是这篇文章后面也用到了 LPIPS 来评价结果,但是训练还是用了这篇更老的感知损失)
8个残差块,膨胀卷积
因为有三个阶段,移除了冗余的跳跃连接
为了解决棋盘格伪影,把第一个反卷积层替换为双线性插值上采样和卷积
生成器训练的三个阶段
直接用色块来训练很难生成细节所以有三个阶段
在每个阶段训练时,在当前阶段上收敛后,才会进入下一个阶段
阶段一:
输入 线稿和 masked ground truth
输出 ground truth
这里的 mask 率不超过70%(似乎是 pixel-wise 的mask)
阶段二:
输入 线稿和色块
输出 ground truth
阶段三:
输入 线稿 和 阶段二的输出
输出 ground truth
设计这个阶段,来自[33]
鉴别器
用了 PatchGAN ,结合 Spectral Normalization [31]
激活函数最后一层用的是 Sigmoid ,其余层用的 Leaky ReLU
损失函数
分为生成器损失和鉴别器损失
生成器损失分四个部分:像素级重建损失、对抗损失、特征损失、风格损失
鉴别器只有对抗损失
在三个阶段使用不同的权重
像素级重建损失 ⁍ | 对抗损失 ⁍ | 特征损失 ⁍ | 风格损失 ⁍ | |
---|---|---|---|---|
阶段一 | 1 | 0.01 | 1 | 150 |
阶段二 | 0.1 | 0 | ||
阶段三 | 2 | 0 |
像素级重建损失:
这里的 F s u m F_{sum} Fsum 计算非零元素的数量,用于控制 L p e r − p i x e l L_{per-pixel} Lper−pixel 的权重。
在阶段一中,随着 M M M 遮罩面积的增大, 整个 L p e r − p i x e l L_{per-pixel} Lper−pixel 的权重也会变大;
在阶段二和阶段三中, L p e r − p i x e l L_{per-pixel} Lper−pixel 的权重恒为 1 。
对抗损失:
选择了 LSGAN [29] 。这是为了提升稳定性,并且拟合真实图像中的高频细节
其中 I I I 表示不同阶段的输入图像
(看式子,似乎就是一般的损失函数?
特征损失:
属于感知损失的一部分
Φ i \Phi_i Φi 表示一个 VGG19 第 i i i 层的输出
N i N_i Ni 表示这个 VGG19 第 i i i 层输出的尺寸
采纳了 ESRGAN 的建议,使用激活前的特征图,这样能产生更清晰的边缘线
特征图来自于 conv1-1,conv2-1, conv3-1, conv4-1, conv5-1(没懂啥意思)
风格损失:
属于感知损失的一部分
G i Φ G_i^\Phi GiΦ 表示第 i i i 层特征的 Gram 矩阵
作者注意到风格损失可以在 阶段一 有效减少棋盘格伪影,但是在后面两个阶段没用
所以可以看到,后面两个阶段风格损失的权重都被设为 0
本文标签: PI
版权声明:本文标题:PI 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1693790346a243040.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论