一种基于语义分割和深度学习的图片背景风格迁移方法与流程

专利2022-06-29  118


本发明涉及深度学习领域,具体涉及一种基于语义分割和深度学习的图片背景风格迁移方法。



背景技术:

基于神经网络的图像风格迁移在2015年由gatysetal.提出。gatys当时的论文创新点只有一个,但是对于风格迁移和图像纹理生成这个领域又具有非常重大的意义:论文提出了一种用深度学习来给纹理建模的方法。在这之前的科学家一直希望能找到一个使得纹理能够通过局部统计模型来描述的方法,而手动建模过于复杂且泛用性极差。gatys从物体识别相关领域的论文得到启发,发现vgg19网络可以被认为是许多局部特征识别器,并且经过实验验证之后发现这些特征识别器在风格迁移领域表现也非常好。

但是gatys的方法也有显而易见的问题和一些不足之处,最主要的就是原始方法的迁移速度非常慢,即使用2019年最顶级的gpu运行也需要将近二十分钟,在普通的cpu上甚至需要超过十二小时才能完成一张512*512大小的图片的风格迁移。

还有一点比较不足的地方在于gatys的方法进行迁移的时候就只能对整张图片进行迁移,无法做到对某个特征的目标进行风格迁移而保持其他对象不变。



技术实现要素:

针对现有技术中存在的不足,本发明提供一种基于语义分割和深度学习的图片背景风格迁移方法。本发明的目的是在进行图像风格迁移时只对图像背景进行迁移,用以突出主体,增强图像的艺术表现力。

为了实现上述技术目的,本发明的技术方案是,一种基于语义分割和深度学习的图片背景风格迁移方法,包括以下步骤:

步骤(1)、选择内容图片和风格图片并进行图片预处理;

选取一张主体明确的图片作为内容图片,采用u-net网络对内容图片进行语义分割,其中u-net的骨干网络选择为resnet-18。将网络的输出类别数设置为2,定义分类所需要的softmax函数:

式中,ak(x)表示每个像素点对应特征通道的得分,k为类的数量,pk(x)是对类k的对像素点分类的结果,softmax函数用于在神经网络计算完成之后对计算结果进行分类输出,在通过softmax之前,数据的表现为一个一维的激活数据体,经过softmax之后输出的结果将会映射到相应的类别上,并形成主体和背景的不同标记。分割出主体后使用全图减去主体,得到一张去除主体而仅留下背景的内容图片;

选取需要获得其背景风格的风格图片,为了使得效果比较好,一般选取风格明显且强烈的图片作为风格图片;

最后将内容图片和风格图片裁切为相同尺寸,获得预处理后的内图片和风格图片。

步骤(2)、将预处理后的内容图片和风格图片分别输入至resnet-50网络中,并且在最后一层池化层输出之后将内容图片和风格图片输出结果进行加权相加,公式为

输入到resnet-50进行上采样,得到跟输入的图片大小相同的图片

步骤(3)、将风格图片输入至vgg-19网络中,并且将风格图片标记为为了获得输入图像风格的表示,采用用于捕获纹理信息的特征空间。所述的特征空间可以建立在网络的任何层的滤波器响应之上,由不同滤波器响应之间的特征相关性组成,其中期望值占据了特征映射的空间范围。所述的特征相关性由gram矩阵给出,其中是第l层中向量化特征图i和j之间的内积。

通过内积操作,可以得到输入图像的风格表示。通过构造与给定输入图像的风格表示相匹配的图像,来可视化这些构建在网络不同层上的风格特征空间捕获的信息。通过对进行梯度下降可以实现风格迁移,其中损失函数定义为风格图片的gram矩阵项和要生成的图像的gram矩阵项之间的均方距离。

al和gl分别是和在层l中各自的特征表示。第l层卷积层对总损耗的贡献为:

总的损失可以表示为

式中,wl是各层对总损失贡献的权值。关于层l中的活动,el的导数可以通过分析计算得出:

el相对于中的每个像素的值的梯度可以容易地使用标准误差反向传播来计算,分别取vgg-19网络的第一层,第三层,第五层,第九层,第十三层的输出作为风格约束。

步骤(4)、将内容图片输入至vgg-19网络中,并且将内容图片标记为为了将在不同卷积层编码的图像信息进行可视化,对步骤(2)输出的图像进行梯度下降操作,以找到与原始图像的特征响应相匹配的另一图像。pl表示在层l中的特征表示,fl表示在第l层中所有卷积核经过激活后的特征表示,然后定义两个特征表示之间的平方误差损失

这个损失相对于层l中激活数据体的导数等于

从中可以使用标准误差反向传播计算相对于图像的梯度。因此,可以通过改变初始随机图像,直到它在卷积神经网络的某一层中产生与原始图像相同的响应,所述的初始随机图像并不是完全随机的噪点图,而是步骤(2)的输出结果取vgg-19网络的第十层的输出作为内容约束;

步骤(5)、为了将风格图片的风格迁移到内容图片上,采用步骤(2)得到的输出图片作为待合成的图像,该图像同时匹配的内容表示和的风格表示,将其输入vgg-19网络中,使用损失函数计算步骤(3)得到的风格约束与步骤(2)得到的输出图片的损失和步骤(4)得到的内容约束与步骤(2)得到的输出图片的损失再将两者乘以系数之后相加。使用梯度下降算法来对该损失函数进行优化。总体的风格迁移通过共同最小化三者之间的欧式距离来进行。总的损失函数如下:

其中α和β分别是内容和风格重建的权重因子。

步骤(6)、重复步骤(5)进行10次迭代计算,使得步骤(2)得到的输出图片经过迭代之后的输出在内容上尽可能相似于内容图片而在风格上相似于风格图片。

步骤(7)、最后将分割的到的主体放回经过风格迁移的背景上。

本发明有益效果如下:

(1)速度极快,相比起传统的风格迁移算法,本算法不从白噪声图片开始进行梯度下降,而是由内容图片和风格图片直接计算的到一张相对比较接近结果的图片,而且使用了更快速精简的resnet网络,经测试速度提高了上百倍,并且没有明显的质量下降;

(2)可扩展性强,可以通过加深resnet的深度来达到提取更深层次的图像风格和内容信息,算法运算时间会有少许的增加;

(3)对局部区域进行风格迁移,保留了图像主体内容,以达到突出主体,增强图像艺术表现力的效果;

(4)采用基于pytorch的高级框架fastai开发,代码易读性和可移植性强。

附图说明

图1是本发明的系统流程图;

图2是本发明实施例采用的一个内容肖像图像;

图3是本发明肖像风格迁移方法的结果。

具体实施方式

以下结合附图对本发明进行进一步描述。

如图1所示,本发明的图片背景风格迁移方法,包括以下步骤:

步骤(1)、选择内容图片和风格图片并进行图片预处理;

选取一张主体明确的图片作为内容图片,如肖像,主题明确的静物图片,采用u-net网络对内容图片进行语义分割,其中u-net的骨干网络选择为resnet-18,因为分割任务较为简单,所以使用浅层的网络即可完成任务。将网络的输出类别数设置为2,定义分类所需要的softmax函数:

式中,ak(x)表示每个像素点对应特征通道的得分,k为类的数量,pk(x)是对类k的对像素点分类的结果,softmax函数用于在神经网络计算完成之后对计算结果进行分类输出,在通过softmax之前,数据的表现为一个一维的激活数据体,经过softmax之后输出的结果将会映射到相应的类别上,并形成主体和背景的不同标记。分割出主体后使用全图减去主体,得到一张去除主体而仅留下背景的内容图片;

选取需要获得其背景风格的风格图片,为了使得效果比较好,一般选取风格明显且强烈的图片作为风格图片,比如印象派和抽象派的油画;

最后将内容图片和风格图片裁切为相同尺寸,获得预处理后的内图片和风格图片。

步骤(2)、将预处理后的内容图片和风格图片分别输入至resnet-50网络中,并且在最后一层池化层输出之后将内容图片和风格图片输出结果进行加权相加,公式为

输入到resnet-50进行上采样,得到跟输入的图片大小相同的图片

步骤(3)、将风格图片输入至vgg-19网络中,并且将风格图片标记为为了获得输入图像风格的表示,采用用于捕获纹理信息的特征空间。所述的特征空间可以建立在网络的任何层的滤波器响应之上,由不同滤波器响应之间的特征相关性组成,其中期望值占据了特征映射的空间范围。所述的特征相关性由gram矩阵给出,其中是第l层中向量化特征图i和j之间的内积。

通过内积操作,可以得到输入图像的风格表示,它捕获了输入图像的纹理信息,而不是全局排列,因为内积操作破坏了原图像的空间相关性。通过构造与给定输入图像的风格表示相匹配的图像,来可视化这些构建在网络不同层上的风格特征空间捕获的信息。通过对进行梯度下降可以实现风格迁移,其中损失函数定义为风格图片的gram矩阵项和要生成的图像的gram矩阵项之间的均方距离。

al和gl分别是和在层l中各自的特征表示。第l层卷积层对总损耗的贡献为:

总的损失可以表示为

式中,wl是各层对总损失贡献的权值。关于层l中的活动,el的导数可以通过分析计算得出:

el相对于中的每个像素的值的梯度可以容易地使用标准误差反向传播来计算,分别取vgg-19网络的第一层,第三层,第五层,第九层,第十三层的输出作为风格约束。

步骤(4)、将内容图片输入至vgg-19网络中,并且将内容图片标记为为了将在不同卷积层编码的图像信息进行可视化,对步骤(2)输出的图像进行梯度下降操作,以找到与原始图像的特征响应相匹配的另一图像。pl表示在层l中的特征表示,fl表示在第l层中所有卷积核经过激活后的特征表示,然后定义两个特征表示之间的平方误差损失

这个损失相对于层l中激活数据体的导数等于

从中可以使用标准误差反向传播计算相对于图像的梯度。因此,可以通过改变初始随机图像,直到它在卷积神经网络的某一层中产生与原始图像相同的响应,所述的初始随机图像并不是完全随机的噪点图,而是步骤(2)的输出结果取vgg-19网络的第十层的输出作为内容约束;

步骤(5)、为了将风格图片的风格迁移到内容图片上,采用步骤(2)得到的输出图片作为待合成的图像,该图像同时匹配的内容表示和的风格表示,将其输入vgg-19网络中,使用损失函数计算步骤(3)得到的风格约束与步骤(2)得到的输出图片的损失和步骤(4)得到的内容约束与步骤(2)得到的输出图片的损失再将两者乘以系数之后相加。使用梯度下降算法来对该损失函数进行优化。总体的风格迁移通过共同最小化三者之间的欧式距离来进行。总的损失函数如下:

其中α和β分别是内容和风格重建的权重因子。

图2是本发明实施例采用的一个内容肖像图像;

图3是本发明肖像风格迁移方法的结果。


技术特征:

1.一种基于语义分割和深度学习的图片背景风格迁移方法,其特征在于,包括以下步骤:

步骤(1)、选择内容图片和风格图片并进行图片预处理;

步骤(2)、将预处理后的内容图片和风格图片分别输入至resnet-50网络中,并且在最后一层池化层输出之后将内容图片和风格图片输出结果进行加权相加,公式为

输入到resnet-50进行上采样,得到跟输入的图片大小相同的图片

步骤(3)、将风格图片输入至vgg-19网络中,获得风格约束;

步骤(4)、将内容图片输入至vgg-19网络中,获得内容约束;

步骤(5)、为了将风格图片的风格迁移到内容图片上,采用步骤(2)得到的输出图片作为待合成的图像,该图像同时匹配的内容表示和的风格表示,将其输入vgg-19网络中,使用损失函数计算步骤(3)得到的风格约束与步骤(2)得到的输出图片的损失和步骤(4)得到的内容约束与步骤(2)得到的输出图片的损失再将两者乘以系数之后相加;使用梯度下降算法来对该损失函数进行优化;总体的风格迁移通过共同最小化三者之间的欧式距离来进行;总的损失函数如下:

其中α和β分别是内容和风格重建的权重因子;

步骤(6)、重复步骤(5)进行10次迭代计算,使得步骤(2)得到的输出图片经过迭代之后的输出在内容上尽可能相似于内容图片而在风格上相似于风格图片;

步骤(7)、最后将分割的到的主体放回经过风格迁移的背景上。

2.根据权利要求1所述的一种基于语义分割和深度学习的图片背景风格迁移方法,其特征在于,步骤(1)具体方法如下:

选取一张主体明确的图片作为内容图片,采用u-net网络对内容图片进行语义分割,其中u-net的骨干网络选择为resnet-18;将网络的输出类别数设置为2,定义分类所需要的softmax函数:

式中,ak(x)表示每个像素点对应特征通道的得分,k为类的数量,pk(x)是对类k的对像素点分类的结果,softmax函数用于在神经网络计算完成之后对计算结果进行分类输出,在通过softmax之前,数据的表现为一个一维的激活数据体,经过softmax之后输出的结果将会映射到相应的类别上,并形成主体和背景的不同标记;分割出主体后使用全图减去主体,得到一张去除主体而仅留下背景的内容图片;

选取需要获得其背景风格的风格图片,为了使得效果比较好,一般选取风格明显且强烈的图片作为风格图片;

最后将内容图片和风格图片裁切为相同尺寸,获得预处理后的内图片和风格图片。

3.根据权利要求2所述的一种基于语义分割和深度学习的图片背景风格迁移方法,其特征在于,步骤(3)具体方法如下:

将风格图片输入至vgg-19网络中,并且将风格图片标记为为了获得输入图像风格的表示,采用用于捕获纹理信息的特征空间;所述的特征空间可以建立在网络的任何层的滤波器响应之上,由不同滤波器响应之间的特征相关性组成,其中期望值占据了特征映射的空间范围;所述的特征相关性由gram矩阵给出,其中是第l层中向量化特征图i和j之间的内积;

通过内积操作,可以得到输入图像的风格表示;通过构造与给定输入图像的风格表示相匹配的图像,来可视化这些构建在网络不同层上的风格特征空间捕获的信息;通过对进行梯度下降可以实现风格迁移,其中损失函数定义为风格图片的gram矩阵项和要生成的图像的gram矩阵项之间的均方距离;

al和gl分别是和在层l中各自的特征表示;第l层卷积层对总损耗的贡献为:

总的损失可以表示为

式中,wl是各层对总损失贡献的权值;关于层l中的活动,el的导数可以通过分析计算得出:

el相对于中的每个像素的值的梯度可以容易地使用标准误差反向传播来计算,分别取vgg-19网络的第一层,第三层,第五层,第九层,第十三层的输出作为风格约束。

4.根据权利要求3所述的一种基于语义分割和深度学习的图片背景风格迁移方法,其特征在于,步骤(4)具体方法如下:

将内容图片输入至vgg-19网络中,并且将内容图片标记为为了将在不同卷积层编码的图像信息进行可视化,对步骤(2)输出的图像进行梯度下降操作,以找到与原始图像的特征响应相匹配的另一图像;pl表示在层l中的特征表示,fl表示在第l层中所有卷积核经过激活后的特征表示,然后定义两个特征表示之间的平方误差损失

这个损失相对于层l中激活数据体的导数等于

从中可以使用标准误差反向传播计算相对于图像的梯度;因此,可以通过改变初始随机图像,直到它在卷积神经网络的某一层中产生与原始图像相同的响应,所述的初始随机图像并不是完全随机的噪点图,而是步骤(2)的输出结果取vgg-19网络的第十层的输出作为内容约束。

技术总结
本发明提供一种基于语义分割和深度学习的图片背景风格迁移方法。本发明首先选择内容图片和风格图片并进行图片预处理;然后通过ResNet网络由内容图片和风格图片直接计算的到一张相对比较接近结果的图片;然后通过VGG‑19网络获得风格约束和内容约束,根据损失函数进行梯度下降,通过多次迭代的方式获得背景风格迁移结果,最后将迁移结果放回图片上。本发明速度提高了上百倍,可扩展性强,对局部区域进行风格迁移,保留了图像主体内容,以达到突出主体,增强图像艺术表现力的效果,代码易读性和可移植性强。

技术研发人员:颜成钢;郑鑫磊;孙垚棋;张继勇;张勇东
受保护的技术使用者:杭州电子科技大学
技术研发日:2020.01.15
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-49623.html

最新回复(0)