碑林微网站建设,南通做网站公司哪家好,幻塔是哪家公司开发的,网站建设功能模块价格1. 样式迁移#xff08;Style Transfer) 计算机视觉的应用之一#xff0c;将样式图片中的样式#xff08;比如油画风格等#xff09;迁移到内容图片#xff08;比如实拍的图片#xff09;上#xff0c;得到合成图片 可以理解成为一个滤镜#xff0c;但相对于滤镜来讲… 1. 样式迁移Style Transfer)
· 计算机视觉的应用之一将样式图片中的样式比如油画风格等迁移到内容图片比如实拍的图片上得到合成图片 · 可以理解成为一个滤镜但相对于滤镜来讲具有更大的灵活性一个滤镜通常只能够改变图片的某个方面如果要达到理想中的风格可能需要尝试大量不同的组合这个过程的复杂程度不亚于模型调参
1.1 基于CNN的样式迁移 奠基性工作使用神经网络修改内容图片使其在样式上接近风格图片 上图中的内容图像为西雅图郊区的雷尼尔山国家公园风景照样式图像为主题为秋天橡树的油画最终输出的合成图像应用了样式图像的油画笔触让整体颜色更加鲜艳同时保留了内容图像中物体主体的形状 1、首先初始化合成图片例如将其初始化为内容图片
· 输入中有一张内容图片Content Image和一张样式图片Style Image · 模型所要训练的不是卷积神经网络的权重而是合成图片它是样式迁移过程中唯一需要更新的变量即样式迁移所需迭代的参数模型
2、然后选择一个预训练的卷积神经网络来抽取图片的特征该卷积神经网络的模型参数在训练中不用更新
内容图片、样式图片之后和合成图片Synthesised Image之前各有一个卷积神经网络上图中只画了三层看起来有三个三层的卷积神经网络实际上三个卷积神经网络都是一样的它们的权重是一样的
3、这个深度神经网络凭借多个层逐级抽取图像的特征因此可以选择其中某些层的输出作为内容特征或者样式特征上图中的卷积神经网络第二层输出内容特征第一层和第三层输出样式特征
· 对于一张输入图片来讲每一层的卷积神经网络都会有一个输出特征整个基于 CNN 的样式迁移的目的是训练出一张合成图片使得合成图片和内容图片放进同样一个卷积神经网络的时候合成图片在某一层的输出能够匹配上内容图片在某一层的损失内容损失Content Loss即它们在内容上是相近的同理合成图片和内容图片所使用的是同一个卷积神经网络在某些层的输出特征在样式上能够匹配的上。如果训练出一张合成图片同时满足以上需求的话就可以认为它既保留了内容图片的内容又保留了样式图片的样式 ·
一般来说越靠近输入层越容易抽取图片的细节信息反之越容易抽取图片的全局信息 为了避免合成图片过多地保留内容图片的细节选择靠近输出的层即内容层来输出图片的内容特征
· 选择不同层的输出即风格层来匹配局部和全局的样式
· 在使用卷积神经网络抽取特征时只需要用到从输入层到最靠近输出层的内容层或者样式层之间的所有层
· 因为在训练的时候无需改变预训练的卷积神经网络的模型参数所以可以在训练开始之前就提取出内容特征和风格特征
4、通过前向传播实线箭头方向计算样式迁移的损失函数并通过反向传播虚线箭头方向迭代模型参数即不断更新合成图片
样式迁移常用的损失函数由三部分组成
1内容损失通过平方误差函数衡量合成图片与内容图片在内容特征上的差异使合成图片与内容图片在内容特征上接近
2样式损失也是通过平方误差函数衡量合成图片与样式图片在样式特征上的差异使合成图片与样式图片在样式特征上接近
3全变分损失有助于减少合成图片中的噪点有时学到的合成图像中有大量高频噪点即有特别亮或者特别暗的颗粒像素常用全变分去噪Total Variation Denoising通过降低全变分损失能够尽可能使临近的像素值相似来进行去噪
样式迁移的损失函数是内容损失、样式损失和总变化损失的加权和通过调节这些权重超参数可以权衡合成图片在保留内容、样式迁移以及去噪三方面的相对重要性
对于给定的输入如果简单地调用前向传播函数只能获得最后一层的输出因为还需要中间层的输出所以需要进行逐层计算保留内容层和风格层的输出
在样式迁移中合成图片是训练期间唯一需要更新的变量因此可以将合成图片视为模型参数模型的前向传播只需要返回模型参数即可
5、最后当模型训练结束时输出样式迁移的模型参数即为最终的合成图片
因为合成图片是样式迁移所需迭代的模型参数所以只能在训练的过程中抽取合成图片的内容特征和样式特征。合成图片保留了内容图片的内容并同时迁移了样式图片的样式 13.12. 风格迁移https://zh-v2.d2l.ai/chapter_computer-vision/neural-style.html