THIS IS B3c0me

记录生活中的点点滴滴

0%

图像风格迁移

什么是风格迁移

​ 指定一副输入图作为基础图像,同时指定另一幅或多付图像作为目标图像风格,算法在保证基础图像大体结构不变的同时,获得了目标图像风格,使最终输出的合成图像呈现出输入图像内容和目标风格的完美结合。通俗来讲,是将目标图像的风格转移到特定图像上,同时最大限度地保持该内容不变的技术。如封面所示;

卷积神经网络的选取

实现风格迁移的卷积神经网络要在多尺度正确2地提炼输入图像的内容特征和风格特征,因此我们通常选取那些能够在分类任务上表现良好的大型网络。最常用的一种卷积神经网络架构是VGG网络

VGG网络

VGG网络的特点是卷积核小(3*3)而网络很深。VGG的作者发现:当固定其他参数,逐步加深网络到一定层数时,网络在ImageNet上的识别能力会随之持续提高,且具有良好的泛化能力。可以按含有参数的总层数对VGG进行区分。以下是VGG 19(19层) 的架构:

image-20230719153659576

VGG 19 含有16个卷积层和3个全连接层,其中16个卷积层分为5组,每组是2个或4个连续的卷积层,比如上图中conv4_3是指第4组的第3个卷积层。每组的卷积层大小保持不变,这是由于各层卷积核尺寸均为3*3,or padding=1,卷积生成的特征图与原大小相等。

内容损失

图像的内容是图像呈现的空间场景或事物,内容是图像整体性的特征,因此可以从卷积神经网络的较高层级提取特征图作为表示。VGG的作者经过对比验证指出,卷积层conv4_1的输出可以作为内容的较好的表示。

因此我们分别将原始图像和生成图像输入VGG网络,计算该网络在第4层的两组输出,它们之间的均方误差可以定义为它们之间的内容损失。

风格损失

由于风格既反映较低层特征的相关性,又反映较高层特征的相关性,是一个多尺度(multi-scale)因素,因此定义风格时应计算多层的Gram矩阵以及每一层的风格损失。最后,还需要对不同层的风格损失求平均,得到整张图像的平均风格损失。

神经网络风格迁移实战

流程大致可以分为:读入图片、构建网络、迭代优化、得到输出

欢迎关注我的其它发布渠道