改进神经风格迁移_癌细胞能否沿着神经迁移

改进神经风格迁移_癌细胞能否沿着神经迁移神经风格迁移使用CNN将一幅图像的艺术风格转移到另一幅图像。但神经风格迁移存在两个缺陷,首先是神经风格迁移基于神经网络训练反向传播,因此速度较慢,同时风格迁移会获取风格图像所有风格信息,包括颜色和笔触等,不能进行更好的控制。因此许多论文和应用针对原始的神经风格迁移的缺点进行了改进。学会神经风格迁移,免费获取价值百元DIY数字油画定制照片。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

改进风格迁移

  神经风格迁移一经提出,便引起了业界的巨大兴趣,一些网站允许用户上传照片以进行风格迁移,甚至有一些网站将其用于商品销售(例如某宝的“DIY数字油画定制照片”等等):
DIY数字油画定制照片
  但随之人们也意识到了原始神经风格迁移的一些缺点。局限之一是风格迁移会获取所有风格信息,包括整个风格图像的颜色和笔触,并将其转移到整个内容图像。例如在学会神经风格迁移,免费获取价值百元DIY数字油画定制照片,样式图像中的蓝色被转移到树木中,但是有时我们希望可以选择只转移笔触而不转移颜色,而且只转移到特定区域,以进行更加精细的控制。
  神经风格迁移的团队开发了一种新算法来解决这些问题。下图显示了算法可以提供的控制以及结果示例:

风格迁移示例
  神经风格迁移的团队提出的控制措施如下:

  1. 空间控制:控制内容和风格图像中风格迁移的空间位置。这是通过在计算Gram矩阵之前将空间蒙版应用于风格特征来完成的。
  2. 颜色控制:可用于保留内容图像的颜色。为此,我们将RGB格式转换为色彩空间,如HCL,以将亮度与其他色彩通道分开。然后,我们仅在亮度通道中执行风格迁移,然后将其与原始风格图像中的颜色通道合并,以生成最终的风格化图像。
  3. 程度控制:管理画笔笔触的粒度。该过程涉及更多的过程,因为它需要多次运行风格迁移并选择不同层次的风格特征,以便计算Gram矩阵。

  改进风格迁移的两个主要主题——提高速度、改善风格迁移,它们对GAN的发展产生了重大影响。
  让我们仔细研究经典算法的一些变体,以为我们将要实施的下一个项目奠定基础——实时任意样式转换。

通过前馈网络进行更快速地风格迁移

  神经风格迁移基于类似于神经网络训练的优化,因此即使使用GPU,速度也很慢,通常需要花几分钟的时间才能得到风格迁移结果。这限制了其在移动设备上的应用,因此开发更快的风格迁移算法就有了实际的需求,前馈风格迁移应运而生。下图显示了采用这种架构的首批网络之一:

前馈网络架构
  该体系结构实际上比上图的架构图看起来更简单。此体系结构中有两个网络:

  1. 可训练的卷积网络(通常称为风格迁移网络),用于将输入图像转换为风格化图像。可以将其实现为类似于 U-Net 或 VAE 的类似编码器/解码器的体系结构。
  2. 固定的卷积网络,通常是预训练的 VGG ,用于测量内容和风格损失。

  类似于原始的神经风格迁移,首先使用 VGG 提取内容和风格目标,但是使用此架构将不再训练输入图像,而是训练卷积网络将内容图像转换为风格化图像。通过 VGG 提取风格化图像的内容和风格特征,计算损失并将其反向传播到可训练的卷积网络。我们可以像训练其他 CNN 一样训练它。在推理阶段中,我们只需要执行一次前向计算就可以将输入图像转换为风格化图像!
  虽然使用此种网络,速度问题得到了解决,但是仍然存在问题——这样的网络只能学习一种风格来进行迁移。需要为我们要执行的每种风格训练一个网络,这要比原始神经风格迁移的灵活性低得多。

控制迁移的风格特征

  原始的神经风格迁移论文没有解释为什么Gram矩阵可以用于有效提取风格特征。风格迁移的许多后续改进(例如前馈样风格迁移)仍然延续使用了 Gram 矩阵作为风格特征方式。论文 Demystifying Neural Style Transfer 改变了这一点,其发现风格信息本质上由 CNN 中的激活分布表示,匹配激活 Gram 矩阵等效于最小化激活分布的最大平均差异( maximum mean discrepancy, MMD )。因此,我们可以通过将图像的激活分布与风格图像的激活分布进行匹配来执行风格迁移。
  因此,Gram 矩阵不是实现风格迁移的唯一方法。我们也可以使用对抗损失,诸如 pix2pix 之类的 GAN 可以通过将生成图像的像素分布与真实图像进行匹配来执行风格迁移。不同之处在于,GAN 试图将像素分布的差异降到最低,而风格迁移会将其应用于网络层激活的分布。
  后来,研究人员发现我们可以仅使用激活的均值和方差来表示风格。换句话说,如果我们将两个风格相似的图像输入到 VGG 中,则它们的网络层激活将具有相似的均值和方差。因此,我们可以通过最小化生成的图像和风格图像之间的激活均值和方差的差异来训练网络以执行风格迁移。这催生了使用归一化层控制风格的方法。

使用规范化层控制风格

  控制激活统计信息的一种简单而有效的方法是通过在归一化层中更改 γ γ γ 和 β β β 。换句话说,我们可以通过使用不同的仿射变换参数( γ γ γ 和 β β β )来改变风格,批规范化和实例规范化处理时使用相同的方程式:
B N ( x ) = I N ( x ) = γ ( x − μ ( x ) σ ( x ) ) + β BN(x) = IN(x) = \gamma (\frac {x-\mu(x)}{\sigma(x)}) + \beta BN(x)=IN(x)=γ(σ(x)x−μ(x)​)+β
  不同之处在于,批规范化( batch normalization, BN )计算了 (N, H, W) 维度上的均值 µ µ µ 和标准差 σ σ σ ,而实例规范化( instance normalization, IN )仅根据 (H, W) 进行了计算。
  但是,每个规范化层只有一个 γ γ γ 和 β β β 对,这限制了网络只能学习一种样式。那么,我们如何使网络学习多种风格?可以使用多组 γ γ γ 和 β β β 系数,其中每组学习一个样式。这正是条件实例规范化( conditional instance normalization, CIN )提出的初衷。
  它建立在实例规范化的基础上,但是具有多组 γ γ γ 和 β β β 对。每个不同的 γ γ γ 和 β β β 值对都用于训练特定的风格;换句话说,它们以风格图像为条件。条件实例规范化的方程式如下:
C I N ( x ; s ) = γ S ( x − μ ( x ) σ ( x ) ) + β S CIN(x;s) = \gamma^S (\frac {x-\mu(x)}{\sigma(x)}) + \beta_S CIN(x;s)=γS(σ(x)x−μ(x)​)+βS​
  假设我们有 S 个不同的风格图像,然后在每种风格的规范化层中都有 S 个 γ γ γ 和 S 个 β β β。除了内容图像外,我们还将独热编码的样式标签输入风格迁移网络。实际上, γ γ γ 和 β β β 被实现为形状为 (S×C) 的矩阵。我们通过执行独热编码标签 (1×S) 与矩阵 (S×C) 的矩阵相乘以获取每个风格 (1×C) 通道的 γ S γ^S γS 和 β S β^S βS ,来检索该风格的 γ γ γ 和 β β β 。
  接下来,我们就可以将风格编码到 γ γ γ 和 β β β 的嵌入空间中,然后通过内插 γ γ γ 和 β β β 来执行风格插值:

风格迁移示例
  虽然上述变体都取得了一些优异的进展,但是网络仍然限于训练中使用的固定N种风格。在接下来系列博文中,我们将学习并实施允许任意样式的改进!

系列链接

学会神经风格迁移,免费获取价值百元DIY数字油画定制照片
学会CycleGAN进行风格迁移,实现自定义滤镜

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/213389.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux下如何挂载磁盘[通俗易懂]

    Linux下如何挂载磁盘[通俗易懂]使用虚拟机时发现磁盘空间不够了,需要挂载一个磁盘以供继续使用,但是磁盘不是添加就可以使用的,还需要进行挂载。一、添加磁盘添加加新硬盘重启服务器添加完之后就可以重启机器了,如果你机器是开启的,进入系统并不能看见你刚添加的那块磁盘,只有等系统重启,重新加载之后才会显示安装的那块磁盘二、进入系统使用root用户进入系统三、查看硬盘信息[root@localhost~]#fdi

    2022年6月19日
  • 男生说fb是什么梗_男生聊污是什么意思 男生会对谁聊污

    男生说fb是什么梗_男生聊污是什么意思 男生会对谁聊污男生聊污是在暗示么,肯定啊,经常聊肯定是想要发生些什么,如果能够得到回应肯定就进一步发展了。还有一种情况是为了口嗨,不管是真正的性、还是聊天是聊污,都是为了嗨,最终的目的还是为了上床。一般来讲,女生是不喜欢这样的话题,甚至讲得过份的话会觉得受到侮辱。男生一般不会随便的在女生面前讲起这些话题,讲起来肯定是有目的。费玉清其实也是一种试探,如果两个人能够聊下去,哪怕不发展到床上这种地步,但是也会聊的非常…

    2022年7月25日
  • 程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址

    程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址第一幕:缘起听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员……996程序员做的梦:第一场:团队招募为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。话说还是中国电信的信号好,地府都是满格,哈哈!!!经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下?而这次,面对这样的需求,这个程序员…

    2022年6月8日
  • 发布小工具:Ip一键切换V1.0「建议收藏」

    发布小工具:Ip一键切换V1.0「建议收藏」你还在手动修改Ip么?IP地址一键切换,你经历过么?Download一个试试吧。本工具用批处理实现,无需安装,绿色安全。

    2022年8月3日
  • mmap 内存映射详解

    mmap 内存映射详解mmap基础概念mmap是一种内存映射的方法,这一功能可以用在文件的处理上,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。在编程时可以使某个磁盘文件的内容看起来像是内存中的一个数组。如果文件由记录组成,而这些记录又能够用结构体来描述的话,可以通过访问结构数组来更新文件的内容。实现这样的映射关系后,进程就可以采用指针的方式读写操…

    2022年6月22日
  • centos nginx安装配置_centos7服务器

    centos nginx安装配置_centos7服务器安装编译工具及库文件关闭防火墙确认防火墙状态关闭selinux确认selinux状态创建目录文件夹确认目录情况配置nginx的yum源安装nginx安装成功,查看版本参考:http

    2022年8月16日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号