首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

深度学习第55讲:图像的神经风格迁移

所谓图像的神经风格迁移(Style Transfer),就是指在给定图像A和图像B的情况下,通过神经网络将这两张图像转化为C,且C同时具有图像A的内容和图像B的风格。比如下图左边两张输入图片:一张图像是长城,一张是黄公望著名的富春山居图的一部分,通过第一张图像的长城内容和第二张图的山水画风格,经过神经网络进行风格迁移之后得到了一幅具有山水画风格的图像:

本文笔者通过几篇神经风格迁移的论文来简单展示一下该领域的一些应用和进展。神经风格迁移领域相对早一点的一篇经典论文为 Gatys等人发表的 A Neural Algorithm of Artistic Style,其中系统的阐述了神经风格迁移的主要思想和原理。同样以图像A、B和C为例,神经风格迁移的主要思想如下:

图像C保留图像A的内容,或者说是图像A的语义。这个对于神经网络来说并不困难,各种深度卷积网络都可以较好的实现图像A到C的语义编码。

图像 C 具备图像 B 的风格。风格不像是图像语义,是一个整体或者全局的概念,一般来说很难把握,论文中考虑了图像特征之间的gram矩阵来衡量图像特征的相关性。所谓图像的gram矩阵,就是就是每个图像特征之间的内积所构成的矩阵:

具体来说,我们可以先选取一个经过 ImageNet 训练好的预训练卷积网络,比如说 VGG16、InceptionNet或者是ResNet等等,下面以VGG16为例进行说明。假设图像X输入VGG16网络之后,第 m 层的输出有 Nm 个通道,每个通道有 Mm 个像素。定义 Xik 为第 i 个通道在第 k 个像素上的值,则图像A和C之间的内容损失可定义为:

然后是风格损失。因为风格损失是基于 gram 矩阵的,所以先要给出 gram 矩阵的计算公式:

基于 gram 矩阵的风格损失定如下:

可以看到风格损失是基于图像整体的,与具体像素k无关,所以最终整个风格迁移的损失函数可以定义为:

其中权重α和β决定了内容和风格之间的平衡,Vm和Wm决定了不同层次之间的平衡。基于上述思想论文给出的实现一幅莫奈星空图风格的建筑风格迁移:

整个图像风格迁移的过程与正常的神经网络优化过程还是有区别的,在神经风格迁移中,卷积网络的参数是经过预训练之后的参数,是一个固定值,实际能做的是调整输入以最小化损失函数。

关于神经风格迁移的其他理论和方法,Neural Style Transfer: A Review 这篇综述给出了该领域详尽的方法和相关应用:

相关研究论文路径如下图所示:

莫奈星空图在建筑图片上的不同风格迁移:

GitHub上有关神经风格迁移的一个论文和代码合辑:

https://github.com/ycjing/Neural-Style-Transfer-Papers

参考资料:

深度卷积网络 原理与实践 彭博

A Neural Algorithm of Artistic Style

Neural Style Transfer: A Review

https://github.com/ycjing/Neural-Style-Transfer-Papers

一个数据科学从业者的学习历程

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181227B1HEOF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券