GAN, pix2pix, CycleGAN和pix2pixHD

万物皆可GAN ---普通GAN, pix2pix, CycleGAN和pix2pixHD的比较以及演变过程 普通GAN, pix2pix, CycleGAN和pix2pixHD的原理、比较以及演变过程 阅读详情

参考视频:CS231n 16.1 对抗样本和对抗训练   GAMES Webinar 2018-64期-朱俊彦

CS231n 16 对抗样本和对抗训练

/1 什么是对抗样本?

2013年以来,我们使用深度学习、卷积网络、梯度下降来实现分类识别等任务。

对抗样本:人们用心构造出来会被分错类的样本。

例如:我们构造一个网络参数的函数(移动所有像素的最优方向,在人们看来很像是噪声)并乘以很小的系数加在原图上,我们看来两幅图没有差别,实际上影响的只是浮点数后32位,甚至影响不了前8位的最后一位,但会导致卷积网络判断错误,将熊猫认作长臂猿。而且不仅改变了分类,还提高了置信度。

 

/2 对抗样本为什么涌现出来?为什么有用?

我们很容易破坏神经网路甚至传统的分类器,或许是因为过拟合,但我们生成一个对抗样本,就会有一个系统性效应,而不是随机效应。所以更像是欠拟合而不是过拟合。

/3 对抗样本如何构成现实世界的安全威胁?(使用对抗手段来损坏基于机器学习的系统、目前的防御手段)

/4如何使用对抗样本来提高其他机器学习算法的性能?

GAN, pix2pix, CycleGAN和pix2pixHD

0.GAN

2012年使用深度神经网络 在ImageNet的分类任务上取得了巨大成功。从此深度学习的相关研究如火如荼地展开了。在传统的图形学管线中,输出图像需要经过建模、材质贴图、光照、渲染等一系列繁琐的步骤。现在大家看到了Deep Learning的潜力,那我们自然的就有个想法:有没有可能使用Deep Learning简化计算机图形学的研究呢?

一个直接的想法是把DNN“倒过来用”。之前的DNN可能是输入一幅图像,输出一个标签,那我们能不能输入“猫”这个字,输出一张猫的照片呢?

 

GAN 网络拥有两个组成部分,一个是生成模型 G,一个是判别模型 D。在训练过程中,会把生成模型生成的样本和真实样本随机地传送一张(或者一个 batch)给判别模型 D。判别模型 D 的目标是尽可能正确地识别出真实样本(输出为“真”,或者 1),和尽可能正确地揪出生成的样本,也就是假样本(输出为“假”,或者 0)。而生成模型的目标则和判别模型相反,就是尽可能最小化判别模型揪出它的概率。这样 G 和 D 就组成了一个 min-max game,在训练过程中双方都不断优化自己,直到达到平衡——双方都无法变得更好,也就是假样本与真样本完全不可区分。

就是要在最大化D的能力的前提下,最小化D对G的判断能力,这是一个最小最大值问题,它的学习目标是:minGmaxD E[logD(G(z))+log(1−D(x))]。为了增强D的能力,我们分别考虑输入真的图像和假的图像的情况。上式中第一项的D(G(z))处理的是假图像G(z),这时候评分D(G(z))需要尽力降低;第二项处理的是真图像x,这时候的评分要高。

GAN的局限性

1. 没有用户控制(user control)能力

在传统的GAN里,输入一个随机噪声,就会输出一幅随机图像。但用户是有想法的,我们想输出的图像是我们想要的那种图像,和我们的输入是对应的、有关联的。

2. 低分辨率(Low resolution)和低质量(Low quality)问题

尽管生成的图片看起来很不错,但如果你放大看,就会发现细节相当模糊。

那么我们的目标就是:提高GAN的用户控制能力;提高GAN生成图片的分辨率和质量。为了达到这样的目标,总共分三步:

1.pix2pix:有条件地使用用户输入,它使用成对的数据(paired data)进行训练。

2.CycleGAN:使用不成对的数据(unpaired data)的就能训练。

3.pix2pixHD:生成高分辨率、高质量的图像。

• 判别器D:PatchGAN

• 传统的GAN中判别器对整张图片判断其真实性

• 实验发现,如果判别器对图片中的每一个片(patch)给出一个预测分类,能达到更

好的生成效果

• 文章中使用的patch大小为70 × 70

pix2pix对传统的GAN做了个小改动,它不再输入随机噪声,而是输入用户给的图片。但这也就产生了新的问题:我们怎样建立输入和输出的对应关系。为了体现这种对应关系,我们把G的输入和输出一起作为D的输入。

2.CycleGAN

pix2pix必须使用成对的数据进行训练。但很多情况下成对数据是很难获取到的,比如说,我们想把马变成斑马,现实生活中是不存在对应的真实照片的。现在我们就用Cycle-constraint Adversarial Network也就是CycleGAN解决这个问题。这种网络不需要成对的数据,只需要输入数据的一个集合和输出数据的一个集合就可以了。但是,直接使用不成对的数据是不奏效的。网络会直接忽略输入,随机产生输出!所以,我们还得对网络增加限制才行。

那怎么加限制呢?例如如果我们把马变成斑马,然后再变回马,那么最后的马和开始输入的马应该是一样的。

除了之前提到的把马变成斑马的网络G,我们还需要一个把斑马变回马的网络F。那么,一匹马x用G变成斑马s=G(x),然后再用F把它变回马F(s),得到的马和一开始的马应该是一样的,也就是x=F(G(x))。

反过来,斑马变马再变回斑马也要满足要求,注意这一步最好不要省略。虽然理论上只用一个条件是可以的,但是现实实现中,有很多因素,比如计算的准备度、优化的问题,应用中都是把所有约束都加上。

我们同时优化G和F,最后就能拿到一个想要的网络G。CycleGAN成功的原因在于它分离了风格(Style)和内容(content)。人工设计这种分离的算法是很难的,但有了神经网络,我们很容易让它学习者去自动保持内容而改变风格。

不过CycleGAN只能输出256p/512p的低分辨率图像,且学习容易过拟合。

3.pix2pixHD

分辨率和图像质量。假设我们输入一张高分辨率的草图,使用pix2pix,结果很差,因为网络产生高维数据输出很难。

pix2pixHD采取了金字塔式的方法:

1.先输出低分辨率的图片。

2.将之前输出的低分辨率图片作为另一个网络的输入,然后生成分辨率更高的图片。

GAN(Generative Adversarial Network,GAN)模型之:pix2pix、pix2pixHD、Vid2Vid、CycleGAN、StyleGAN模型 GAN(Generative Adversarial Network,GAN)模型之:pix2pix、pix2pixHD、Vid2Vid、CycleGAN、StyleGAN模型 目录 GAN(Generative Adversarial Network,GAN)模型之:pix2pix、pix2pixHD、Vid2Vid、CycleGAN、StyleGAN模型 pix2pix pix2pixHD Vid2Vid CycleGAN StyleGAN pix2pix pix2pix提.. 阅读详情

相关推荐

Pix2Pix-Pytorch:pix2pix的复现

Pix2Pix-Pytorch pix2pix的复现 Pix2Pix介绍 本项目目录结构 训练

一文读懂GAN, pix2pix, CycleGAN和pix2pixHD

人员信息 主讲嘉宾 姓名:朱俊彦(Jun-Yan Zhu)现状:麻省理工学院博士后(PostDoc at MIT),计算机科学与人工智能实验室(Computer Science and Artificial Intelligence Laboratory, CSAIL)个人主页:http://people.csail.mit.edu/junyanz/ 图形学中的尝试:趁手的武器 or 白费功夫? 在传统的图形学管线(pipeline)中,输出图像需要经过建模、材质贴图、光照、渲染等一系列繁.

jacke121的专栏 3784

PIX2PIXHD模型

PIX2PIXHD模型

深度学习论文代码复现——CycleGAN和pix2pix

从GitCode(服务器在国内,访问比较快)中将开源代码copy下来。

不想学习的打工人的博客 1万+

pix2pixHD--master.zip

pix2pixHD代码,最新无修改版本 论文地址:https://arxiv.org/abs/1711.11585v1

不懂就学之挑战成为WorldQuant Brain顾问的第1天

WorldQuant Brain 是由 WorldQuant 公司开发的一个基于人工智能和机器学习的量化研究平台,旨在帮助量化研究员发现和构建有效的投资策略。WorldQuant 是一家全球领先的量化投资公司,专注于利用数据科学、技术和金融工程开发量化交易策略。

Yanbang1的博客 8385

CycleGan和pix2pix(前者不需要pair,后者需要)

CycleGAN是在去年三月底放在arxiv的一篇文章,文章名为Learning to Discover Cross-Domain Relations with Generative Adversarial Networks,同一时期还有两篇非常类似的 DualGAN 和 DiscoGAN ,简单来说,它们的...

weixin_44523062的博客 3674

Tesla V100 Windows 部署实战:从驱动安装到模式切换的避坑指南

本文是一份详细的Tesla V100在Windows系统下的部署实战指南。文章从硬件组装、系统选择讲起,重点阐述了驱动安装的正确方法,并深入剖析了将计算卡从TCC模式切换至WDDM模式的诱惑与潜在陷阱。最终,作者推荐保持默认TCC模式,并提供了使用nvidia-smi命令行等稳定可靠的显卡监控方案,旨在帮助用户避开常见坑点,高效利用这张专业计算卡进行AI计算等任务。

java5的博客 1706

Cycle-Dehaze: 用于单图像增强的CycleGan

为了得到高分辨率的去雾图像,我们用去雾后的低分辨率图像改变了拉普拉斯金字塔的顶层,并像往常一样进行拉普拉斯放大处理。循环一致性损失,计算未配对图像到图像转换任务中原始图像和循环图像之间的L1-范数。然而,由于模糊图像大多是严重损坏的,因此计算出的原始图像和循环图像之间的损失不足以恢复所有的纹理信息。循环感知一致性损失旨在通过查看从VGG16体系结构的第2和第5池层提取的高和低层特征的组合来保持原始图像结构。的约束下,给出了循环感知一致性损失的表达式,其中(X,Y)是模糊和真实图像的未配对图像集,

Cherish_present的博客 2172

AutoCAD 2024 LISP实用技巧:自定义快捷命令与高效绘图工具集

本文详细介绍了如何在AutoCAD 2024中部署和使用LISP脚本,打造高效绘图工具集。通过自定义快捷命令,如WFF(超级文字查找替换)、GQT(图层隔离)和LLTJ(智能长度统计),可大幅简化图层管理、文字编辑和测量统计等重复性操作,显著提升绘图效率。

gan8painter的博客 318

Revit二次开发之双事件:空闲事件与DocumentChanged事件

对以下文章所展示的代码进行了修改,当前展示的代码可直接复制使用。 由于本人初学,下列语言为个人理解,如有错误请指正。   《引用1》中: 使用模态对话框,或者尽量保证事件在ExternalCommand的Execute函数或者ExternalApplication的OnStartup函数里面注册。 如果一定要使用非模态对话框,那么请使用ExternalEvent事件的Raise函数,强迫...

一个Revit二次开发的实习生 6147

[人工智能-深度学习-63]:生成对抗网络GAN - 图片创作:普通GAN, pix2pix, CycleGAN和pix2pixHD的演变过程

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_优快云博客 本文网址:https://blog.youkuaiyun.com/HiWangWenBing/article/details/122015783 目录 第1章 传统计算机视觉基本原理(图像的建模) 1.1 传统的计算机视觉 1.2 不足 第2章 基于深度学习DNN的计算机视觉的基本原理(图像的判定) 2.1 基于深度学习的计算机视觉DNN 2.2 DNN的不足 第3章 常规生成对抗网络GAN的基本原理(不受控.

文火冰糖(王文兵)的博客 3303

【常见开源库的二次开发】基于openssl的加密与解密——openssl认识与配置(一)

OpenSSL 是一个开源的软件库,它提供了一系列加密工具和协议,主要用于实现安全通信,如在网络上的数据传输。它支持多种加密算法,包括对称加密、非对称加密、散列函数、伪随机数生成器、数字签名、密钥交换以及证书管理等。

嵌入式技术开发 4161

【飞桨】【PaddlePaddle】【论文复现】StarGAN v2论文及其前置:GAN、CGAN、pix2pix、CycleGAN、pix2pixHD、StarGAN学习心得

目录GANCGANpix2pixCycleGANpix2pixHDStarGAN PaddlePaddle: 百度顶会论文复现营. GAN GAN,即生成对抗网络,其网络结构主要包含一个生成器G和一个判别器D。首先,一个n维噪声输入到模型中,由生成器生成一个fake图像(根据目标而定),接着传入真实图像,resize成与fake图像相同大小,共同输入到判别器D中,送入训练网络中,训练趋势是使生成器生成越来越逼真,可以“以假乱真”的假图像,而判别器的精度也不断提升,最后,判别器D无法区分生成器G生辰的fak

sp7414的博客 1917

Python 爬虫实战:共享单车数据采集全流程与市场洞察深度剖析

本文介绍了如何利用Python爬虫技术获取和分析共享单车运营数据。文章从项目背景出发,详细阐述了系统架构设计,包括数据抓取、清洗存储、分析和可视化模块。通过Scrapy、BeautifulSoup等工具实现数据采集,使用Pandas进行数据清洗,并借助Matplotlib进行可视化分析。实战部分展示了爬虫代码示例和城市分布、使用频率等分析案例。最终指出数据驱动分析有助于了解行业现状和市场趋势,未来可结合机器学习等方法进行深入洞察。该技术方案为共享单车行业研究提供了有效的数据支持。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2232

YOLO数据集实现数据增强的方法(裁剪、平移 、旋转、改变亮度、加噪声等)

数据集样本太少怎么办?数据集优质图像不够怎么办?如何做到更好的数据预处理?一文带你学会数据增强,还可实现带标签的扩充。

路人贾的博客 4万+

pix2pixhd_一文读懂GAN, pix2pix, CycleGAN和pix2pixHD

人员信息主讲嘉宾姓名:朱俊彦(Jun-Yan Zhu)现状:麻省理工学院博士后(PostDoc at MIT),计算机科学与人工智能实验室(Computer Science and Artificial Intelligence Laboratory, CSAIL)个人主页:http://people.csail.mit.edu/junyanz/图形学中的尝试:趁手的武器 or 白费功夫?在传统的...

weixin_39662142的博客 463

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

GAN与pix2pix,CycleGAN,pix2pixHD关系浅谈

本文声明,转载自 一文读懂GAN, pix2pix, CycleGAN和pix2pixHD 仅做备份和总结使用 本文对上述文章做一个简单的总结和梳理,详细内容还请阅读原文。 GAN(Generative Adversarial Network)生成对抗学习网络: 一般来说GAN由两种网络构成G(Generator)和D(Discriminator),分别用于生成图片和判断真假。 在两个网络...

weixin_34358365的博客 555

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Pix2Pix(2017)+CycleGAN+Pix2PixHD

[paper] [code]pytorch-CycleGAN-and-pix2pix Pix2Pix是将GAN应用于有监督的图像到图像翻译的算法,有监督表示训练数据是成对的。 图像到图像翻译(Image-to-Image translation)是GAN很重要的一个应用方向,图像到图像的翻译时基于一张输入图像得到想要的输出图像的过程,可以看做是图像和图像之间的一种映射(mapping),常见的图像修复、超分辨率其实都是图像到图像翻译的例子。还包括从标签到图像的生成、图像边缘到图像的生成等过程。 Pix2Pi

studyeboy的专栏 2584

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

如何用深度学习生成图片(GAN, pix2pix, CycleGAN和pix2pixHD)

本文翻译、总结自朱俊彦的线上报告,主要讲了如何用机器学习生成图片。 来源:Games2018 Webinar 64期 :Siggraph 2018优秀博士论文报告 人员信息 主讲嘉宾 姓名:朱俊彦(Jun-Yan Zhu) 现状:麻省理工学院博士后(PostDoc at MIT),计算机科学与人工智能实验室(Computer Science and Artificial Intelligence...

Rhao的博客 7615

pix2pix, CycleGAN和pix2pixHD(没有公式,容易理解)

pix2pix:有条件地使用用户输入,它使用成对的数据(paired data)进行训练。 CycleGAN:使用不成对的数据(unpaired data)的就能训练。 pix2pixHD:生成高分辨率、高质量的图像。 1.pix2pix 2.cyclegGAN (使用不成对的数据)同时要保证原图与生成图片可以相互转换不丢失信息 3.pix2pixHD 先输出低分辨率的图片。 将之前输出的低分辨率图片作为另一个网络的输入,然后生成分辨率更高的图片。 具体信息看原文:htt..

Drug discovery 1万+

GAN

传统的GAN步骤: 目标: 把DNN“倒过来用”。之前的DNN可能是输入一幅图像,输出一个标签(比如说猫),那我们能不能输入“猫”这个字,输出一张猫的照片呢? 组成: GAN中包含两种类型的网络G和D 。其中,G为Generator,它的作用是生成图片,也就是说,在输入一个随机编码(random code)z之后,它将输出一幅由神经网络自动生成的、假的图片G(z) 。 另外一个...

weixin_38740463的博客 619

pix2pix论文讲解

1、首先大家可参考一文读懂GAN, pix2pix, CycleGAN和pix2pixHD 了解整个图像翻译以及风格迁移的技术发展路线,而且里面有一个特别有趣的demo 2、本文的主要内容拷贝自博文Pix2Pix-基于GAN的图像翻译 在这里插入图片描述 ...

wanfuchun的博客 1130
上一篇: 图像融合算法(像素级)
下一篇: 计算机视觉入门(包含论文学习网址)
竹篓有个天
博客等级 码龄9年 6431粉丝 88原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值