Ceci_Tian

博客DeOldify: Colorizing and Restoring Old Images and Videos with Deep Learning整理+笔记

博客地址:点我点我!

项目作者:Jason Antic
项目:DeOldify
实现功能:对图片上色+修复;对视频进行上色

闲话和背景
访谈前半部分讲了一些建立模型的初衷,使用的网络(生成对抗网络),上色与修复的区别。对于上色与修复这两块是分成两部分实现的。作者曾经将上色和修复放到一个模型来实现,但输出结果并不理想,分成两部分(判断图片是否还保持着灰度形式和图片是否看起来真实)后,输出的的效果才比较好。

DeOldify技术概述
作者建立了两个模型:生成器和批判器

生成模型使用了U-Net,U-Net由两部分构成:第一部分执行视觉识别,第二部分基于第一部分视觉识别出的内容输出图片。其中,第一部分作者采用U-Net类型中提前训好的Resnet34来识别图片中的对象,将识别出的主干(backbone)传递至第二部分,第二部分基于主干决定对图片什么部分上什么
颜色,最终产生一张彩图,即输出结果。生成器的目的是建立灰度图与彩图的一个映射。

批判模型是一个基于DG-GAN的简单卷积网络,作者对该网络进行了一些修改:批正则化(batchnorm)被移除、输出层由线性层替换为卷积层。该模型接受输入图片,对其颜色的合乎程度进行打分。

两个模型中最关键的地方是从Self-Attention GAN paper中采取的一些方法。作者将Self-Attention GAN中的“attention”层添加到了两个模型,也使用了spectral normalization到两个模型中。此外,作者还对批判器与生成器之间的对抗采取了Two Time-Scale Update Rule中的铰链损失和不同的学习率,使得训练过程更加稳定。此外需要额外说明的是,attention层在图片的色彩连续和整体质量上表现非常好。

此外,作者受Progressive Growing of GANs paper的启发,引进了更优的尺寸调整训练规则,从一开始训练6464的图像,逐渐递增到9696,128128,196196到256*256。这么做的原因是作者发现,在使用统一尺寸图片训练后,会导致输出结果差、整个图片错误、看起来远差于原图等问题。但使得模型改善的原因并不是作者逐渐添加的图片尺寸增加层,而是作者在训练过程中逐渐调整学习率来适应更大尺寸的输入图片,使得模型最终能更高效地处理大尺寸图片。

在后面的采访中,作者还推荐使用对抗学习来替代手动编写损失函数。作者认为除了图片着色和修复的项目,其他工作的损失函数计算都推荐使用生成对抗来替代。

posted on 2020-11-04 17:54  Liiipseoroinis  阅读(342)  评论(0编辑  收藏  举报

导航