查看原文
其他

岂止能给黑白老照片上色,你甚至可以用这个开源项目致富

xplanet 开源中国 2020-09-02

似乎发现了一条致富之路……

昨天我们的公众号推送了一个使用深度学习技术却剑走偏锋的开源软件,具体的介绍这里不再重复(详情点此查看),总而言之就是用正经的技术捣鼓了一个不太正经的项目,最后被 GitHub “封杀”了。

同样是使用深度学习技术,今天我们给大家推荐一个能真正造福普罗大众的开源项目。

相信各位家里都保存着不少过去的老照片,但受限于当时的技术水平,这些照片基本都是黑白照片。不过随着科技的发展,现在已经可以通过技术手段对这些黑白老照片进行修复,例如上色和美化等。

虽然标价都是 5 元、10 元,不过这种修复老照片的服务收费可不便宜,经本人的亲身试验,给一张黑白老照片上色,某店铺掌柜开价 100 元。

下面介绍的这个开源项目,不但可以帮你省下这一百块钱,你甚至可以用它致富。

DeOldify 是用于着色恢复旧图像及视频的深度学习项目。

它采用了 NoGAN 这样一种新型的、高效的图像到图像(Pix2Pix)的 GAN 训练方法。细节处理效果更好,渲染也更逼真。

示例

▲“移民母亲” by Dorothea Lange(1936)

▲"Toffs and Toughs" by Jimmy Sime (1937)

▲中国鸦片吸烟者(1880)

NoGAN

NoGAN 是作者开发的一种新型 GAN 训练模型,用于解决之前 DeOldify 模型中的一些关键问题。

NoGAN 在 DeOldify 中对于保证视频着色的稳定性来说至关重要。NoGAN 训练结合了 GAN 训练的优点(好看的色彩),同时消除了令人讨厌的副作用(如视频中的闪烁物体)。视频由孤立的图像生成,而不添加任何时间建模。该过程执行 30-60 分钟 “NoGAN” 训练的 GAN 部分,每次使用 1% 至 3% 的图像网络(imagenet)数据。然后,与静止图像着色一样,在重建视频之前对各个帧进行“去旧化”(DeOldify)。

除了提高视频稳定性之外,还有一件趣事值得一提。事实证明,即使是不同的模型和不同的训练结构,仍然可以或多或少获得相同的解决方案。即使有些事物的颜色被认为是任意或不可知的,例如服装、汽车甚至特殊效果的颜色(如《大都会》中所见)。


▲Metropolis  电影《大都会》(1927)

作者猜测,模型正在学习一些有趣规则,寻找黑白图像中存在的微妙线索,并以此来着色。这不是没有道理的,因为该模型具有更高保真度的图像信息,并且将更有可能一致地做出“正确”的决定。这导致了确定和一致的结果,意味着你没有跟踪模型着色决策,因为它们不是任意的。此外,它们看起来非常健壮,即使在移动场景中的渲染也非常一致。

其他保持视频稳定性的方法还包括:以更高分辨率(更高的 render_factor)渲染;使用 resnet101 而不是 resnet34 作为生成器的主干——对象的检测更加一致和正确。此外,在训练期间高斯噪声增强似乎也有所帮助。

目前,DeOldify 有三种型号可供选择,每一种都有关键优势和劣势,因此具有不同的用例。

三种型号分别为:Artistic(艺术型)Stable(稳定型)Video(视频专用)

安装

硬件和操作系统要求

  • BEEFY 显卡(仅限训练)

  • 一个普通显卡(单独着色)

  • Linux(或 Windows 10) 

使用 Anaconda 进行简单安装

打开命令行并导航到要安装的根文件夹,键入以下命令:

git clone https://github.com/jantic/DeOldify.git DeOldify
cd DeOldify
conda env create -f environment.yml

然后开始使用这些命令运行:

source activate deoldify
jupyter lab

通过控制台中提供的 URL 开始在 Jupyter Lab 中运行。

DeOldify 极速下载地址
https://gitee.com/mirrors/deoldify

开源中国征稿啦!


开源中国 www.oschina.net 是目前备受关注、具有强大影响力的开源技术社区,拥有超过 400 万的开源技术精英。我们传播开源的理念,推广开源项目,为 IT 开发者提供一个发现、使用、并交流开源技术的平台。


现在我们开始对外征稿啦!如果你有优秀的技术文章想要分享,热点的行业资讯需要报道等等,欢迎联系开源中国进行投稿。投稿详情及联系方式请参见:我要投稿

推荐阅读

最强开源微服务框架,全网独家整理

Go 语言到底姓什么?开发者欲移除谷歌 logo

微软内核工程师称 ReactOS 剽窃 Windows 代码

Redis 6 采用新协议来实现客户端缓存功能

准备入手树莓派4?且慢,有 bug!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存