当前位置:   article > 正文

【人工智能风格迁移】人工智能图像风格迁移尝试学习_人工智能ai图像风格迁移(styletransfer),基于双层controlnet(python3

人工智能ai图像风格迁移(styletransfer),基于双层controlnet(python3.10) - 知乎

一、实验目的

图像的风格迁移其实就是利用相关算法对一些著名画作的风格进行学习,然后再把这种风格应用到我们熟悉的图片中。并且该技术已经成为人工智能领域内的一个热门的研究主题。本课程将对传统的图像风格迁移算法进行讲解,并且利用 Pytorch 对其进行实现,完成任意两张图片的风格迁移。

二、实验内容和要求

分割损失
内容损失
VGG19
模型的训练

三、实验结果(结果描述、结果截图、代码截图等)

图像风格迁移
图像的风格迁移其实就是利用相关算法对一些著名画作的风格进行学习,然后再把这种风格应用到我们熟悉的图片中。该技术最早由 Gatys 等人 提出,并且将算法应用于他们所发布的软件 Prisma 中。由于该技术不像传统的图像处理软件一般,直接对像素进行操作,而是采用神经网络相关算法模拟名家的绘画风格。因此,在软件发布之初,就吸引了上千万的融资。本实验将对该篇论文中的风格迁移技术进行详细的讲解,并且利用 Pytorch 对其进行实现。
下图为本实验最终的结果展示图:
在这里插入图片描述

数据的加载
在实验前,还是让我们先来加载所需要的数据集合。在一般的神经网络课程中,需要大量的数据来保证模型的泛化性。而在图像的风格迁移中,只需要两张图片(即内容图像和风格图像)即可。加载这两张图片:
在这里插入图片描述

利用 OpenCV 来对这两张图片进行展示:
在这里插入图片描述

由于这两张图片的原始大小不同,且为了保证后面放入任何图片都可以对其进行迁移。需要对图片进行预处理操作:
将图片大小缩放为 512×512 512×512。
将其类型转为 Tensor。
代码如下:
在这里插入图片描述

来测试一下上面的函数。加载这两张图片,并将其处理成神经网络能够使用的类型:
在这里插入图片描述

图像风格迁移算法
该算法主要使用三张图片,一张输入图片 G ,一张内容图片 C 和一张风格图片 S。
为了衡量任意两张图片的差距,还需要定义两个函数式,如下:
计算两张图片内容之间的差距 D_C(即内容损失函数)。
计算两张图片风格的差距 D_S(即风格损失函数)。
图像风格迁移的核心思想:输入图片 G,并且改变这张图片。使输入图片 G 与内容图片 C 之间的内容间距 D_C 最小,进而达到新图片

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/307685
推荐阅读
相关标签