用深度学习魔法为你的照片转换风格(附源码)

栏目: 数据库 · 发布时间: 5年前

内容简介:作者:George Seif翻译:疯狂的技术宅原文:

——深度学习在艺术方面的进展

作者:George Seif

翻译:疯狂的技术宅

原文: https://towardsdatascience.co...

未经允许严禁转载

图像背景中的风格转移 是指将一个图像的“风格”转移到另一个图像的过程,同时保持第二图像中的“内容”。

例如,最上边的照片是“内容”图像。我们要将中间照片中的“风格”(“风格”图像)应用于内容图像。也就是说我们希望把中间的图像中大都市的夜晚氛围反映在最终图像上,得到的结果是最下边的照片!

用深度学习魔法为你的照片转换风格(附源码)

用深度学习魔法为你的照片转换风格(附源码)

用深度学习魔法为你的照片转换风格(附源码)

这项技术源自的原始 研究论文https://arxiv.org/pdf/1703.07...

Adobe 的一项最具开创性的研究就来自于此。他们称之为 深度照片风格转移 (DPST)

如何转换照片的风格

为了正确执行从一张照片到另一张照片的样式转换,Adobe 团队制定了他们的 DPST 的目标:“ 将参考的风格转移到输入的图片上,同时保持结果的真实感

这里的关键部分是保持输出的“真实感”属性。对于上面的内容照片,我们不希望任何建筑物发生任何变化。只是希望它看起来像是在夜间拍摄的同一位置的照片。

在该研究发表之前,也出现了许多风格转移算法,但是这些算法扭曲了原始图像的内容。在当时的 Neural Style Transfer 技术的输出结果中,常见的问题就是直线变成了波浪线并且改变了物体的形状。

这是完全可以接受的。许多算法都是为 艺术 风格转移而设计的,所以往往会存在一些失真!

用深度学习魔法为你的照片转换风格(附源码)

失真的风格转移图像 (来源: https://github.com/yusuketomo...

但是当前的目标是创建依然逼真的图像 —— 就好像它们是由真实世界的相机拍摄的一样。

作者为实现这一点主要做了两件事情:(1)损失函数中的 照片写实正则化项 (2)内容图像的语义分割,用于 指导

照片写实正则化

设想一下应该怎样在图像中直观地保持照片的写实。我们希望原始图像的线条和形状保持不变。颜色和灯光可能会改变,但是一个人应该看起来还像一个人,树还是树,狗仍然像狗等。

基于这种直观的想法,作者实现的正则化约束迫使像素从输入到输出的转换 在颜色空间中是局部仿射的 。根据定义, 仿射变换 在将输入映射到输出时必须保持点、直线和平面的形状不变。

有了这个限制,直线永远不会产生波动,我们的输出中不会出现任何奇怪的形状变化!

分段指导

除了保证图像不失真外,我们还希望能够确保样式图像中各种“事物”的样式是被正确转移的。

想象一下,如果你的风格图像显示出美丽的橙色日落,就像下面这张照片一样:

用深度学习魔法为你的照片转换风格(附源码)

来源: https://pixabay.com/illustrat...

图像的大部分是红橙色的,如果将这个风格转移到城市的照片上,那么所有的建筑都会变红!这可不是我们想要的 —— 更真实的转移应该是使大多数建筑物非常暗(接近黑色),只有天空才会有日落和水的颜色。

深度图像风格转换算法使用应用于内容图像的 语义分割 的结果来 引导 风格转移。当算法能够准确地知道哪些像素属于前景和背景时,可以更真实地转换风格。天空的像素将始终转移到天空像素,背景像素会转移到背景像素等等。

转换风格的代码

你可以从GitHub下载 Photo Realistic Style Transfer 的存储库:

git clone https://github.com/GeorgeSeif/DeepPhotoStyle_pytorch.git

它运行所需的只是 Pytorch 的最新版本。下载完成后,进入文件夹并使用下载脚本下载语义分段模型:

cd DeepPhotoStyle_pytorch
sh download_seg_model.sh

现在可以运行代码了!

下载样式图像和内容图像 —— 你可以选择任何图像!根据我的经验,城市和风景往往效果最佳。最后像这样运行代码:

python main.py --style_image path_style_image --content_image path_content_image

该算法将迭代地改进样式传递结果,因此你等待得实践越久效果就越好!默认情况下它被设置为迭代 3000 次,但如果你觉得更多的迭代次数能够改善结果,可以增加该数字。

试着亲自去运行代码,这非常有趣!

欢迎扫码关注公众号:硬核智能

用深度学习魔法为你的照片转换风格(附源码)


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java解惑

Java解惑

布洛赫、加夫特 / 陈昊鹏 / 人民邮电出版社 / 2006-1 / 39.00元

本书特写了95个有关Java或其类库的陷阱和缺陷的谜题,其中大多数谜题都采用了短程序的方式,这些程序的行为与其看似的大相径庭。在每个谜题之后都给出了详细的解惑方案,这些解惑方案超越了对程序行为的简单解释,向读者展示了如何一劳永逸地避免底层的陷阱与缺陷。 本书趣味十足、寓教于乐,适合于具备Java知识的学习者和有编程经验的Java程序员。一起来看看 《Java解惑》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具