分离潜变量自动编码器超分辨率网络 SLAESR

分离潜变量自动编码器超分辨率网络
Separating latent automatic encoder super-resolution network.
简称:SLAESR

关于训练部分,请看仓库
github 仓库:https://github.com/One-sixth/SLAESR

这名字听着有点Cool,: )

设计原因和目的:
有一大堆128x128的动漫头像,要把他们的分辨率弄到512x512那里去,又不想使用waifu2x。
经过观察,这些头像信息量不高,我把他们下采样到64x64,看起来仍然很清晰。那么,把他们上采样到高分辨率时,只要让其边缘清晰,和颜色过渡平滑即可。所以使用自编码器。相比wdsr结构,占用显存应该会少很多。因为动漫头像没有复杂的纹理的,估计足够了。并且,自动编码器可以自动丢弃一些不重要的特征。也许可以主动去噪?
受到 VQVAE 的结构启发。
不过后面发现,上采样动漫图像效果也不错。

模型差异:
模型1:使用 Deconv 2x2 作为上采样层,颜色对比度高,但是有微弱伪影,使用conv 1x1 或 conv 3x3 和 PixelShuffle 组合也有微弱伪影,不知为何。
模型2:使用 Conv 3x3 和 Bilinear Upsample 组合作为上采样层,终于没有那坑爹的伪影。但是色彩对比度较差。。
模型3:相比模型2,换成了 Nearest Upsample。然后,好的地方没啥区别,有的地方甚至更差。。。所以不公开了

训练:
dataset: https://github.com/ANIME305/Anime-GAN-tensorflow#open-sourced-dataset
loss: ssim & l1
train_resolution: 64x64 -> 128x128

训练方式是把图像用Area下采样到64x64,再由网络上采样到128x128
数据增强方式,RGB通道乱序,随机亮度。

训练样本

model_1:
64->128
分离潜变量自动编码器超分辨率网络 SLAESR_第1张图片
128->256, 仅测试,不进行训练。分离潜变量自动编码器超分辨率网络 SLAESR_第2张图片

model_2:
64->128
分离潜变量自动编码器超分辨率网络 SLAESR_第3张图片
128->256, 仅测试,不进行训练。
分离潜变量自动编码器超分辨率网络 SLAESR_第4张图片

大图像超分辨率测试

模型1可观察到头发处有颜色断层
模型2则非常平滑

原图:

分离潜变量自动编码器超分辨率网络 SLAESR_第5张图片分离潜变量自动编码器超分辨率网络 SLAESR_第6张图片

模型1:
分离潜变量自动编码器超分辨率网络 SLAESR_第7张图片

模型2:
分离潜变量自动编码器超分辨率网络 SLAESR_第8张图片

网络结构

分离潜变量自动编码器超分辨率网络 SLAESR_第9张图片

你可能感兴趣的:(SLAESR,超分辨率,自编码器,AE,SR,神经网络)