风格迁移应用_图片艺术风格迁移,现在可以变得更加真实了

全文共 1841字,预计学习时长 4分钟

图片艺术风格迁移指的是在保留目标图片内容的基础上,将另一图片风格应用在目标图片上。

举个例子,图1是一张“内容”图片,我们要将图2(“风格”图片)的风格应用在内容图片上。最终,得到了如图3所示的输出结果。

478984f5a2b70393377effdb637dec54.png

图1

f43843934a06198023b7d6b46100661f.png

图2

2fe009371c07fd277d6645e9eb82b28a.png

图3(该系列图片来自于独创研究论文)

Adobe Research在这一领域发表了最具突破性的研究论文之一,名为《深度照片风格迁移》 (DPST)。

dbe73f504376d0a05f52763aaaab7efe.png

如何迁移图片风格?

为了充分实现从一张图片到另一张图片的风格转换,Adobe团队制定了DPST的研究目标:在保证结果真实感的同时,将一张照片的风格迁移到另外一张照片上。

对此,如果要处理一张像上面这样的内容照片,但又不想其中任何建筑发生变化,关键是保证输出图片的“逼真性”。理想的结果是得到一张看起来就像是夜间拍摄的完全相同的照片。

在这项研究发布之前,许多风格迁移算法都令很多原始图像中呈现的内容信息失真。当时的神经风格转换(NST)技术下输出的图片经常出现将直线变成波浪线并且改变物体形状的问题。

这是完全可以接受的。许多算法都是为艺术风格的转换而设计的,因此一定程度的失真是在人们可接受的范围之内的!

e19143cb889b8f3b940ee09ec1947c86.png

上图是一张失真的风格转移图片。

然而在本例中,目的是实现逼真风格迁移,使图片看起来就像是真实拍摄出的一样。

为实现逼真风格迁移,作者做了以下两件事:(1)在损失函数中加入了一项“照片现实正则化”参数。(2) 为基于对输入图像进行语义分割的风格转移过程引入了指导选项。

照片现实正则化

想想如何在图像中直观地保持照片的真实性。原始图片的线条和形状都应该保持不变。即使颜色和光线可能发生改变,人也应该还像人、树还像树、狗也看起来还是狗。

基于这种直观的思想,作者采用正则约束项,仅在颜色空间中对内容图片进行局部仿射变换。仿射变换保证在输入图像映射到输出图像的过程中,点、直线、和平面都不发生改变。

有了这样的约束,图片中的直线就永远不会变成波浪线,输出图像中也不会再出现奇怪的形状改变!

语义分割指导

除了保证点、直线、平面在迁移过程中不发生改变,保证模型能够逼真的迁移风格图像中不同“事物”的风格也同样重要。

想象一下,如果有一张像下图一样美丽的橙色日落图片作为风格图片。

8dfee4a5101d1aec2d77faf5ebba8954.png

图像的大部分都呈现出橙红色。如果把这张图片的风格应用到一张城市图片中,那所有的建筑都会变成红色!但这并不是我们想要的结果——一个保证真实感的转换会将大部分建筑颜色变得很暗(接近黑色),只有天空会展现出日落和水的颜色。

深度照片风格迁移算法通过对内容图像进行语义分割的结果来指导风格转换的过程。当算法精确地识别出哪些像素属于前景,哪些属于背景时,就可以更真实地实现风格的迁移。天空的像素会被传输至天空像素,背景的像素也会相应地被传输至背景像素。

dbe73f504376d0a05f52763aaaab7efe.png

风格迁移代码

在下方GitHub中可以下载应用于照片真实风格迁移的存储库。

git clone

运行该存储库只需要安装最新版本的Pytorch。安装成功后,点进文件夹并运用下方脚本下载语义分割的模型。

cd DeepPhotoStyle_pytorchsh download_seg_model.sh

现在就可以运行代码了!

任意下载一张风格图片和内容图片。个人经验表明城市和景观图片的效果最好。最后,像这样运行代码:

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

该算法将迭代地改进风格迁移的结果,因此等待时间越长,输出结果就越准确!该算法被默认设置为运行3000个步骤,但如果你认为运行更多步骤可以帮助提高结果的精确性,那么也可以选择增加步骤。

亲自用用这个代码吧,很有意思的!看看你的照片在进行风格转换后会是什么样。

cf753995309cb8701219186b9e20261c.png

留言 点赞 关注

我们一起分享AI学习与发展的干货

欢迎关注全平台AI垂类自媒体 “读芯术”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值