图像风格迁移基础入门及实践案例总结

news2025/1/12 13:29:39

目录

1图像的不同风格

2何为图像风格迁移

2.1基础概念及方法

2.2示例

3图像风格迁移的典型研究成果

3.1deep-photo-styletransfer

3.2CycleGAN

3.3U-GAT-IT

4风格迁移演进趋势

5.使用训练好的模型来生成图像

5.1环境

5.2模型下载

5.3使用训练好的模型

6.训练一个新的模型

6.1下载VGG16模型

6.2下载COCO数据集

6.3创建新的yml文件

6.4训练新的图像风格

7.优秀的参考项目

1图像的不同风格

 不同风格的图像

上面每一张图都是一种不同的艺术风格。艺术风格是什么,每个人都有每个人的见解,有些东西大概艺术界也没明确的定义。如何要把一个图像的风格变成另一种风格更是难以定义的问题。

2何为图像风格迁移

2.1基础概念及方法

所谓风格迁移,其实就是提供一幅画(Reference style image),将任意一张照片转化成这个风格,并尽量保留原照的内容(Content),在通俗一点就是:图像风格迁移就是把一种图像风格转变为另一种图像风格。

深度学习的图像风格迁移方法主要包括:

(1)基于图像迭代。该方法合成图像的质量高、可控性好,易于调参,无需训练数据,也无生成模型。但每次生成图片都需重新训练,十分耗时。
(2)基于模型迭代。计算速度快,可用于视频快速风格化,目前工业应用软件的主流技术。图像生成质量有待进一步提高,需要大量的训练数据。

2.2示例

风格迁移示意图

一张内容图片和两张风格图片的融合 

在神经网络之前,图像风格迁移的程序有一个共同的思路:分析某一种风格的图像,给那一种风格建立一个数学或者统计模型,再改变要做迁移的图像让它能更好的符合建立的模型。这样做出来效果还是不错的,比如下面的三张图中所示,但一个很大的缺点:一个程序基本只能做某一种风格或者某一个场景。因此基于传统风格迁移研究的实际应用非常有限。

3图像风格迁移的典型研究成果

3.1deep-photo-styletransfer

时间:2017

paper:https://arxiv.org/pdf/1703.07511.pdf

github:https://github.com/luanfujun/deep-photo-styletransfer

亮点:

使用深度卷积网络来进行摄影风格转换,在 Neural Style algorithm 的基础上进行改进的,主要是在目标函数进行了修改,加了一项正则化,修改了一项损失函数引入 semantic segmentation 信息使其在转换风格时保持图像结构。

实现效果:

3.2CycleGAN

时间:2017(ICCV)

paper:Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks

github:https://github.com/junyanz/CycleGAN(pytorch)

https://github.com/architrathore/CycleGAN(tensorflow)

官方介绍:https://junyanz.github.io/CycleGAN/

亮点:传统的GAN是单向生成,而CycleGAN是互相生成,网络是个环形,所以命名为Cycle。并且CycleGAN一个非常实用的地方就是输入的两张图片可以是任意的两张图片,也就是unpaired。

实现效果:

3.3U-GAT-IT

时间:2020(ICLR)

paper:https://arxiv.org/pdf/1907.10830.pdf

github:https://github.com/taki0112/UGATIT

或者https://github.com/znxlwm/UGATIT-pytorch

亮点:

  • 提出了一种新的无监督图像到图像转换方法,它具有新的注意力模块和新的归一化函数AdaLIN。
  • 提出的注意力模块通过基于辅助分类器获得的注意力图,区分源域和目标域,帮助模型知道在何处进行密集转换。
  • AdaLIN函数帮助我们的注意力引导模型灵活地控制形状和纹理的变化量,而无需修改模型架构或超参数。

实现效果:

4风格迁移演进趋势

图像风格迁移当前演进主要4个大的方向,简要概括分别为:

  1. 单风格慢速迁移;

  2. 单风格快速迁移(同时实现了实时迁移和视频风格迁移);

  3. 多风格快速迁移(同时实现了多风格融合,支持实时迁移和视频风格迁移);

  4. 任意风格快速迁移(同时实现了风格和内容权重的调节,支持多风格融合和实时迁移、视频迁移);

这四个方向的网络模型,最大的区别就是速度越来越快,功能越来越强大。

.使用训练好的模型来生成图像

5.1环境

Python

Tensorflow

5.2模型下载

模型的百度云地址

密码:35pg

5.3使用训练好的模型

在项目根目录下执行:

python eval.py --model_file <your path to wave.ckpt-done> --image_file img/test.jpg

--modelfile 是模型的路径,可以选择7个模型中的一个 --imagefile是原始图片的路径

新的图片会存放在项目根目录下:generated/res.jpg

6.训练一个新的模型

6.1下载VGG16模型

如果要训练一种新的图像风格,可以先下载VGG16的模型: VGG16模型 密码:ykfy

然后在项目根目录下新建一个名为pretrained的文件夹,把vgg16的模型文件放入pretrained文件夹中。

6.2下载COCO数据集

下载地址 把解压后的train2014文件夹放在项目根目录下。

6.3创建新的yml文件

找一个新的风格的图片,比如找一个火的图片,路径在img/fire.jpg。复制conf文件夹中wave.yml文件,然后改名fire.yml。把fire.yml中的: styleimage: img/wave.jpg naming: "wave" 改为 styleimage: img/fire.jpg naming: "fire"

6.4训练新的图像风格

python train.py -c conf/fire.yml

7.优秀的参考项目

下载地址:

Qinbf/tf-model-zoo

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/76169.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【问题记录】Mac M1 Docker配置redis一主二从三哨兵(烧饼好吃)

文章目录Docker配置 redis一主二从三哨兵文件目录redis compose 文件在 redis 文件路径下执行 docker composesentinel 文件结构sentinel compose 配置文件sentinel config 配置文件切换到 sentinel执行 compose测试及问题记录解决方案Docker配置 redis 一主二从三哨兵 文件目…

8家最大的WooCommerce在线商店

想象一下&#xff0c;世界上三分之一的电子商务网站都由单一技术提供支持&#xff0c;而且令人惊讶的是它是免费的。我说的是最大的电子商务解决方案提供商之一&#xff0c;WooCommerce。在这里&#xff0c;我们列出了8 家最大的WooCommerce在线商店&#xff0c;以激发您建立自…

基于jsp+mysql+ssm供应链管理信息系统-计算机毕业设计

项目介绍 本文以销售供应链管理系统的开发为背景&#xff0c;对企业销售管理系统的分析&#xff0c;设计&#xff0c;开发和实施过程进行了详细的描述。本系统基于ssm框架访问作为后台数据库管理连接&#xff0c;通过jdbc与数据库建立连接&#xff0c;以jsp为前端开发工具提供…

数据库之MHA高可用集群部署及故障切换

目录 1 MHA概念 1.1 MHA 的组成 1.2 MHA 的特点 2 搭建MySQLMHA 2.2 修改三台MySQL服务器的主配置文件/etc/my.cnf&#xff0c;并创建命令软链接 2.3 配置MySQL一主两从 2.4 安装 MHA 软件 2.5 在所有服务器上配置无密码认证 2.6 在 manager 节点上配置 MHA 2.7 第一次配…

分类评价指标

不均衡数据 很多时候&#xff0c;不同类别的分类代价并不相等&#xff0c;这就是非均衡分类问题。如果在两个类别中&#xff0c;一个类别的出现次数比另一个多很多&#xff0c;那么错误类型将发挥重要作用。例如。我们一共有100个病人&#xff0c;其中99人是健康的&#xff08…

『.Net』在C#/.Net中将Json压缩成一行的几种方式

&#x1f4e3;读完这篇文章里你能收获到 在.Net Core中使用多种方式将Json压缩成一行主要介绍两种实现方案&#xff0c;Newtonsoft.Json和内置的System.Text.Json 文章目录一、Newtonsoft.Json二、System.Text.Json一、Newtonsoft.Json 将 Formatting 参数设为 Formatting.No…

世界杯杂谈之有趣的数据纪录

目录 &#xff08;一&#xff09;前言 &#xff08;二&#xff09;正文 1. 关于出场 &#xff08;1&#xff09;出场次数 &#xff08;2&#xff09;出场时间最长球员 &#xff08;3&#xff09;连续出场决赛场次最多 &#xff08;4&#xff09;世界杯出场时间最短的人 …

在Mac上优雅的使用ssh和sftp (像win上的xshell和xftp一样)

怎样在Mac上SSH和FTP?完美替代XShell是哪个软件?item2吗?Royal TSX! 没有比它更好_哔哩哔哩_bilibili 下载Royal TSX Royal TSX https://www.royalapps.com/ts/mac/features 安装插件 创建document 在document里面添加ssh和sftp 点击左下角加号,依次选这两个,因为一样,所…

使用Jenkins扩展钉钉消息通知

Jenkins借助钉钉插件&#xff0c;实现当构建失败时&#xff0c;自动触发钉钉预警。虽然插件允许自定义消息主体&#xff0c;支持使用 Jenkins环境变量&#xff0c;但是局限性依旧很大。当接收到钉钉通知后&#xff0c;若想进一步查看报错具体原因&#xff0c;仍完全依赖邮件通知…

LWIP——无操作系统移植

目录 移植说明 LwIP前期准备 以太网DMA描述符 LwIP移植流程 添加网卡驱动程序 添加LwIP源文件 移植头文件 网卡驱动编写 移植总结 移植说明 LwIP的移植可以分为两大类&#xff1a;第一类是只移植内核核心&#xff0c;此时用户应用程序编写只能基于RaW/CallBack API进行…

mybatisplus 集成druid连接池源码分析

mybatisplus 集成druid连接池源码分析&#xff1a;从spring的源码过渡到druid的相关jar包&#xff0c;里面是druid相关的类&#xff0c;下面我们开始分析&#xff1a; 1、取数据库连接的地方入口&#xff1a;public abstract class DataSourceUtils 为spring-jdbc包里面的过渡…

深度学习 Day21——利用RNN实现心脏病预测

深度学习 Day21——利用RNN实现心脏病预测 文章目录深度学习 Day21——利用RNN实现心脏病预测一、前言二、我的环境三、什么是RNN四、前期工作1、设置GPU2、导入数据3、检查数据五、数据预处理1、划分数据集2、数据标准化六、构建RNN模型七、编译模型八、训练模型九、模型评估十…

网站TDK三大标签SEO优化

网站TDK三大标签SEO优化 SEO(Search Engine Optimization)汉译为搜索引擎优化&#xff0c;是一种利用搜索引擎的规则提高网站在有关搜索引擎内自然排名的方式 SEO的目的是对网站进行深度的优化&#xff0c;从而帮助网站获取免费的流量&#xff0c;进而在搜索引擎上提升网站的排…

day39 CSRFSSRF协议玩法内网探针漏洞利用

前言&#xff1a; #知识点&#xff1a; 1、CSRF-原理&危害&探针&利用等 2、SSRF-原理&危害&探针&利用等 3、CSRF&SSRF-黑盒下漏洞探针点 详细点&#xff1a; CSRF 全称&#xff1a;Cross-site request forgery&#xff0c;即&#xff0c;跨站…

java计算机毕业设计ssm兴发农家乐服务管理系统n159q(附源码、数据库)

java计算机毕业设计ssm兴发农家乐服务管理系统n159q&#xff08;附源码、数据库&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&…

RK3568平台开发系列讲解(系统优化篇)如何进行内存优化

🚀返回专栏总目录 文章目录 一、设备分级二、Bitmap 优化三、内存泄漏沉淀、分享、成长,让自己和他人都能有所收获!😄 📢内存优化,应该从哪里着手呢?我通常会从设备分级、Bitmap 优化和内存泄漏这三个方面入手。 一、设备分级 内存优化首先需要根据设备环境来综合考虑…

硬件基础

目录 一、Cisco Packet Tracer 8.1.1安装 二、汉化 一、Cisco Packet Tracer 8.1.1安装 官方汉化包的Ciscohttps://www.netacad.com/portal/resources/browse/341e11c1-d03f-4433-9413-29b9d207e7eb 直接在官网下载但是官网有时候比较慢 思科数据包跟踪器 - 网络仿真工具 (n…

北斗/GNSS高精度数据处理暨GAMIT/GLOBK v10.75软件

随着GNSS导航定位技术在不同领域的广泛应用和技术更新的飞速发展&#xff0c;在大型工程项目的设计、施工、运行和管理各个阶段对工程测量提出了更高的要求&#xff0c;许多测绘、勘测、规划、市政、交通、铁道、水利水电、建筑、矿山、道桥、国土资源、气象、地震等行业部门在…

【实时数仓】介绍、需求分析、统计架构分析和ods层日志行为数据采集

文章目录一 电商实时数仓介绍1 普通实时计算与实时2 实时电商数仓分层二 实时数仓需求分析1 离线计算与实时计算的比较2 应数场景&#xff08;1&#xff09;日常统计报表或分析图中需要包含当日部分&#xff08;2&#xff09;实时数据大屏监控&#xff08;3&#xff09;数据预警…

不同系列的 ESP 芯片的 GPIO 默认初始状态

ESP 系列芯片的 GPIO 上电状态的含义&#xff1a; wpu: weak pull-up&#xff08;为弱上拉模式&#xff09;wpd: weak pull-down&#xff08;为弱下拉模式&#xff09;ie: input enable&#xff08;输入使能模式&#xff09;oe: output enable&#xff08;输出使能模式&#x…