改进神经风格迁移

简介: 神经风格迁移使用CNN将一幅图像的艺术风格转移到另一幅图像。但神经风格迁移存在两个缺陷,因此许多论文和应用针对原始的神经风格迁移的缺点进行了改进。

改进风格迁移

神经风格迁移一经提出,便引起了业界的巨大兴趣,但随之人们也意识到了原始神经风格迁移的一些缺点。局限之一是风格迁移会获取所有风格信息,包括整个风格图像的颜色和笔触,并将其转移到整个内容图像。例如在TensorFlow2实现神经风格迁移中,样式图像中的蓝色被转移到树木中,但是有时我们希望可以选择只转移笔触而不转移颜色,而且只转移到特定区域,以进行更加精细的控制。

神经风格迁移的团队开发了一种新算法来解决这些问题。下图显示了算法可以提供的控制以及结果示例:

绘图140.png

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

1. 空间控制:控制内容和风格图像中风格迁移的空间位置。这是通过在计算Gram矩阵之前将空间蒙版应用于风格特征来完成的。

2. 颜色控制:可用于保留内容图像的颜色。为此,我们将RGB格式转换为色彩空间,如HCL,以将亮度与其他色彩通道分开。然后,我们仅在亮度通道中执行风格迁移,然后将其与原始风格图像中的颜色通道合并,以生成最终的风格化图像。

3. 程度控制:管理画笔笔触的粒度。该过程涉及更多的过程,因为它需要多次运行风格迁移并选择不同层次的风格特征,以便计算Gram矩阵。

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

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

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

20210626134441733.jpg

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

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 中,则它们的网络层激活将具有相似的均值和方差。因此,我们可以通过最小化生成的图像和风格图像之间的激活均值和方差的差异来训练网络以执行风格迁移。这催生了使用归一化层控制风格的方法。

使用规范化层控制风格

控制激活统计信息的一种简单而有效的方法是通过在归一化层中更改 γ 和 β 。换句话说,我们可以通过使用不同的仿射变换参数( γ 和 β )来改变风格,批规范化和实例规范化处理时使用相同的方程式:  

屏幕截图 2021-12-23 183300.png

不同之处在于,批规范化( batch normalization, BN )计算了 (N, H, W) 维度上的均值 µ 和标准差 σ ,而实例规范化( instance normalization, IN )仅根据 (H, W) 进行了计算。

但是,每个规范化层只有一个 γ 和 β 对,这限制了网络只能学习一种样式。那么,我们如何使网络学习多种风格?可以使用多组 γ 和 β 系数,其中每组学习一个样式。这正是条件实例规范化( conditional instance normalization, CIN )提出的初衷。

它建立在实例规范化的基础上,但是具有多组 γ 和 β 对。每个不同的 γ 和 β 值对都用于训练特定的风格;换句话说,它们以风格图像为条件。条件实例规范化的方程式如下:

屏幕截图 2021-12-23 183521.png

假设我们有 S 个不同的风格图像,然后在每种风格的规范化层中都有 S 个 γ 和 S 个 β。除了内容图像外,我们还将独热编码的样式标签输入风格迁移网络。实际上, γ 和 β 被实现为形状为 (S×C) 的矩阵。我们通过执行独热编码标签 (1×S) 与矩阵 (S×C) 的矩阵相乘以获取每个风格 (1×C) 通道的 γS 和 βS,来检索该风格的 γ 和 β。

接下来,我们就可以将风格编码到 γ 和 β 的嵌入空间中,然后通过内插 γ 和 β 来执行风格插值:

ae19f8f2cb544700a2a72a72d6f15fbe_tplv-k3u1fbpfcp-zoom-1.jpg

系列链接

TensorFlow2实现神经风格迁移

相关文章
|
2月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
深度学习中的图像风格迁移
【9月更文挑战第26天】本文将探讨如何利用深度学习技术,实现图像风格的转换。我们将从基础的理论出发,然后逐步深入到具体的实现过程,最后通过代码实例来展示这一技术的实际应用。无论你是初学者还是有经验的开发者,都能在这篇文章中找到有价值的信息。让我们一起探索深度学习的奥秘吧!
|
6月前
|
机器学习/深度学习 算法 计算机视觉
利用深度学习技术实现图像风格迁移
本文将介绍如何利用深度学习技术中的卷积神经网络,结合风格迁移算法,实现图像风格的转换。通过对图像内容和风格的理解,深度学习模型可以生成具有新风格的图像,为图像处理领域带来了新的可能性。
131 12
|
1月前
|
机器学习/深度学习 人工智能 TensorFlow
利用深度学习实现图像风格迁移
【8月更文挑战第73天】本文通过深入浅出的方式,介绍了一种使用深度学习技术进行图像风格迁移的方法。我们将探讨如何将一张普通照片转化为具有著名画作风格的艺术作品。文章不仅解释了背后的技术原理,还提供了一个实际的代码示例,帮助读者理解如何实现这一过程。
|
5月前
|
人工智能 API 计算机视觉
吴恩达团队新作:多模态多样本上下文学习,无需微调快速适应新任务
【6月更文挑战第27天】吴恩达团队提出多模态模型新方法—多样本上下文学习,允许模型无需微调即可快速适应新任务。通过扩大上下文窗口至2000个示例,模型性能在图像分类等任务上显著提升,同时研究了批处理优化以减少计算成本。尽管面临计算开销和数据需求的挑战,但该方法为AI的高效泛化开辟了新途径。[论文链接:https://arxiv.org/abs/2405.09798]
99 5
|
3月前
|
数据采集 人工智能 编解码
抛弃视觉编码器,这个原生版多模态大模型也能媲美主流方法
【8月更文挑战第4天】在AI领域,多模态大模型(VLMs)融合视觉与语言处理,但现有模型多依赖视觉编码器,限制了灵活性与效率。为解决此问题,研究者开发出不依赖编码器的VLMs,提出一种高效训练方案,通过统一解码器内部桥接视觉-语言表示,并引入额外监督增强视觉识别能力。基于此,开发出EVE模型,在多个基准测试中表现出色,仅用3500万公开数据即可媲美甚至超越传统模型。尽管如此,EVE仍面临计算资源需求高及数据质量等挑战。这一突破引发了对未来VLM发展方向的讨论。[论文链接: https://arxiv.org/abs/2406.11832]
58 1
|
4月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
使用Python实现深度学习模型:图像风格迁移与生成
【7月更文挑战第13天】 使用Python实现深度学习模型:图像风格迁移与生成
55 2
|
4月前
|
机器学习/深度学习 算法 PyTorch
深度学习中的图像风格迁移技术探析
图像风格迁移是近年来深度学习领域备受关注的研究方向之一。本文将从算法原理、实现步骤到应用案例,全面分析和探讨几种主流的图像风格迁移技术,为读者深入理解和应用这一技术提供详实的指南。 【7月更文挑战第2天】
145 1
|
6月前
|
人工智能 自然语言处理 测试技术
多模态大模型有了统一分割框架,华科PSALM多任务登顶,模型代码全开源
【4月更文挑战第24天】华中科技大学团队推出PSALM模型,革新多模态图像分割,实现语义、实例及交互式分割任务统一处理,提升效率。模型在多项基准测试中表现优异,支持零样本学习,适用于开放词汇分割等任务。代码开源促进研究,但面临复杂场景处理和计算资源优化的挑战。[链接](https://arxiv.org/abs/2403.14598)
218 2
图像风格迁移
图像风格迁移
117 0
|
机器学习/深度学习 算法 PyTorch
计算机视觉PyTorch实现风格迁移
计算机视觉PyTorch实现风格迁移
164 1
下一篇
无影云桌面