G6 - CycleGAN实战

  • 🍨 本文为[🔗365天深度学习训练营](https://mp.weixin.qq.com/s/0dvHCaOoFnW8SCp3JpzKxg) 中的学习记录博客
  • 🍖 原作者:[K同学啊](https://mtyjkh.blog.csdn.net/)

目录

  • 理论知识
    • CycleGAN能做什么
  • 模型结构
    • 损失函数
  • 模型效果
  • 总结与心得体会


理论知识

CycleGAN能做什么

CycleGAN的一个重要的应用领域就是Domain Adapation(域迁移:可以通俗的理解 为画风迁移)。

比如可以把一张普通的风景照变化成梵高的画作,或者将游戏画面变化成真实世界的画面,将一匹正常肤色的马转换为斑马等。
在这里插入图片描述

模型结构

CycleGAN由左右两个GAN网络组成。

G(AB)负责把A类物体(斑马)转换成B类物体(正常的马)
G(BA)负责把B类物体(正常的马)还原成A类物体(斑马)

然后由一个判别器网络D来判别B类物体的真实性

损失函数

CycleGAN的Loss由三部分组成,即:
L o s s = L o s s G A N + L o s s c y c l e + L o s s i d e n t i t y Loss=Loss_{GAN}+Loss_{cycle}+Loss_{identity} Loss=LossGAN+Losscycle+Lossidentity
其中:

  • L o s s G A N Loss_{GAN} LossGAN 用于保证生成器和判别器相互进货,进行保证生成器能产生更真实的图片,这部分与其它的GAN网络无异。
  • L o s s c y c l e Loss_{cycle} Losscycle 用于保证生成器的输出图片与输入图片只是风格不同,而内容相同。即保证:将由图像 x x x生成的图像 Y ^ \hat{Y} Y^再放入生成器 F F F中,使生成的图像 x ^ \hat{x} x^尽可能与原始图像 x x x相似。
  • L o s s i d e n t i t y Loss_{identity} Lossidentity 是映射损失,即用真实的A当做输入,查看生成器是否会原封不到的输出

三种损失函数所捕捉的损失类型如图所示:
三种不同的损失函数

模型效果

直接下载UP提供的软件包,解压data.zip和cyclegan.zip

通过执行 python cyclegan.py来训练模型,默认参数是训练400个epoch需要训练一天时间以上,我们临时修改为训练4个epoch

# 还需要设置一下开始衰减的epoch,只要比n_epochs小就好,这里设置为2
python cyclegan.py --n_epochs 4 --decay_epoch 2

运行日志

模型效果
由于训练时间太短,只是稍微有些莫奈的味道

总结与心得体会

通过对CycleGAN的学习,我理解CycleGAN其实是训练了较前作来说是完整的GAN模型,G模型用来做从通过A生成B,F模型用来做通过B生成A。如果只是分别看GAN的损失,的确是两个不相关的模型,但是作者通过Cycle损失和Identity损失,将两个模型联合在一起进行训练,训练好的生成器G和生成器F就可以实现相反的两种转换。

通过前面的视频也可以看出,不同的帧之间,不一定具有一致性, 所以将一个图像模型直接转换为视频模型,有一个需要考虑的点就是前后帧的一致性问题,这应该是视频生成模型的共性问题。

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

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

相关文章

每天五分钟深度学习:逻辑回归算法完成m个样本的梯度下降

本文重点 上节课程我们学习了单样本逻辑回归算法的梯度下降,实际使用中我们肯定是m个样本的梯度下降,那么m个样本的如何完成梯度下降呢? m个样本的损失函数定义为: 我们定义第i个样本的dw、db为: dw和db为损失J对w和b的偏导数,因为m个样本的代价函数J是1到m个样本总损失…

适合各行各业在线预约的自定义小程序源码系统 前后端分离 带完整的安装代码包以及代搭建教程

系统概述 这款自定义小程序源码系统是为了适应不同行业的预约需求而设计的。它具有高度的灵活性和可扩展性,可以根据不同用户的需求进行定制化开发,满足各种复杂的业务场景。 系统的前端采用了先进的小程序技术,为用户提供了简洁、直观的操…

【Windows】Topaz Gigapixel AI(人工智能图片放大工具)软件介绍和安装教程

软件介绍 Topaz Gigapixel AI是一款由Topaz Labs开发的先进图像放大软件,利用人工智能(AI)技术来放大图像,同时保持或甚至增强图像的细节和清晰度。这款软件特别适用于需要高质量图像放大的摄影师、设计师以及其他视觉内容创作者…

【C++】模板及模板的特化

目录 一,模板 1,函数模板 什么是函数模板 函数模板原理 函数模板的实例化 推演(隐式)实例化 显示实例化 模板的参数的匹配原则 2,类模板 什么是类模板 类模板的实例化 二,模板的特化 1,类模板的特化 全特化…

YOLOv10在RK3588上的测试(进行中...)

1.代码源 国内镜像站在gitcode。这个镜像站也基本上包含了github上常用项目的镜像。然后它的主发布源在这里: GitCode - 全球开发者的开源社区,开源代码托管平台 yolov10是清华主导做的... 然后,在维护列表里看到了这个: 2024年05月31日&am…

【React】配置别名路径@

别名路径配置 1. 路径解析配置(webpack) CRA本身把webpack配置包装到了黑盒里无法直接修改,需要借助一个插件 - craco步骤 安装craco npm i -D craco/craco项目根目录下创建配置文件 craco.config.js配置文件中添加路径解析配置 const pa…

智慧检务大数据平台解决方案

1.1. 政务目标分析 1.1.1. 业务功能分析 为履行检察职能,人民检察院需开展职务犯罪查办和预防、刑事诉讼监督、民事行政监督、检务支持、内部管理与办公、检察队伍管理、检务保障支持等工作,分为 7 大类业务,主要功能如下: 1、…

白嫖Cloudflare Workers 搭建 Docker Hub镜像加速服务

简介 基于Cloudflare Workers 搭建 Docker Hub镜像加速服务。 首先要注册一个Cloudflare账号。 Cloudflare账号下域名的一级域名,推荐万网注册个top域名,再转移到Cloudflare,很便宜的。 注意 Worker 每天每免费账号有次数限制,…

PFA进口聚四氟乙烯量筒不易碎塑料量具

PFA量筒:也叫特氟龙量筒、耐腐蚀性量筒;低溶出与析出,主要用于生物医药、医药研发、新材料、痕量分析、同位素检测,ICP-MS/OES/AAS分析等实验。 常用规格:5ml、10ml、25ml、30ml、50ml、100ml、200ml、250ml、500ml、1000ml、2000ml等。 产品特性&#x…

【6】第一个Java程序:Hello World

一、引言 Java,作为一种广泛使用的编程语言,其强大的跨平台能力和丰富的库函数使其成为开发者的首选。对于初学者来说,编写并运行第一个Java程序是一个令人兴奋的时刻。本文将指导你使用Eclipse这一流行的集成开发环境(IDE&#…

Vue基础面试题(二)

文章目录 1.Vue 单页应用与多页应用的区别2.Vue template 到 render 的过程3. Vue data 中某一个属性的值发生改变后,视图会立即同步执行重新渲染吗?4.Vue的优点5.vue如何监听对象或者数组某个属性的变化6.Vue模版编译原理7. 对SSR的理解8.Vue的性能优化…

实验五 网络中的树

文章目录 5.1 网络中的树第一关 认识树相关知识编程要求代码文件 第2关 根节点的二阶邻居求解方法相关知识编程要求代码文件 第3关 根节点的n阶邻居求解方法相关知识 5.2 权值矩阵与环(无向网络)第1关 无向网络的权值矩阵相关知识编程要求代码文件 第2关…

【机器学习】神经网络与深度学习:探索智能计算的前沿

前沿 神经网络:模拟人类神经系统的计算模型 基本概念 神经网络,又称人工神经网络(ANN, Artificial Neural Network),是一种模拟人类神经系统结构和功能的计算模型。它由大量神经元(节点)相互连…

docker环境中配置phpstorm php xdebug调试工具

本文介绍通过docker compose的使用方式 第一步:在php镜像中安装phpxdebug扩展,比如php7.4对应的是xdebug3.1.6 第二步:设置项目中的docker-compose.yml docker-compose 增加开启xdebug的环境变量,host.docker.internal是宿主机的地址&#…

Kettle根据分类实现Excel文件拆分——kettle开发31

将整理好的一份供应商付款明细Excel文件,按供应商拆分成多个Excel文件。 实现思路 本文我们首先将供应商付款明细表,按照“名称”拆分成多份Excel文件。拆分Excel文件打算用两个转换实现,一个用来将Excel数据读取到参数中,另外一…

Internet Download Manager(IDM6.41)安装教程+软件安装包下载

IDM是一款多线程下载工具,全称InternetDownloadManager。IDM的多线程加速功能,能够充分利用宽带,所以下载速度会比较快,而且它支持断点续传。它的网站音视频捕获、站点抓取、静默下载等功能,也特别实用。 安 装 包 获 …

图像的几何变换之平移

文章目录 前言需求代码运行结果图 前言 图像的几何变换是一个再基础不过的知识点,包括等距变换,相似变换,仿射变换和投影变换。图像的几何变换是指对图像的位置,尺寸,大小,形状和投影进行变换,…

采集设置记录

采集设置: 1.任务添加 2.采集器设置 采集器设置之规则采集

OpenCV滤波器

滤波的作用 一副图像通过滤波器得到另一副图像;其中滤波器又称为卷积核,滤波的过程称为卷积。 图像卷积效果图 卷积的过程 一 卷积的几个基本概念 1 卷积核的大小 卷积核一般为奇数,如3X3,5X5,7X7等。 一方面是增加padding的原因。 另一…

activiti(一)-相关概述及相关表的定义

官网 1、概述 Activiti 是一个开源的、以 Java 为中心的业务流程管理(BPM)平台,旨在帮助企业自动化和管理复杂的业务流程。其核心功能包括工作流管理、任务分配、事件处理、流程监控和集成等。 1.1、主要功能和特点 流程设计和建模&#…