Star GAN论文解析

论文地址:https://arxiv.org/pdf/1912.01865v1.pdf 

https://openaccess.thecvf.com/content_cvpr_2018/papers/Choi_StarGAN_Unified_Generative_CVPR_2018_paper.pdf

源码:stargan项目实战及源码解读-CSDN博客 

1.   概述     

        在传统方法中,给定一张人脸图片,要求改变头发颜色、改变性别、改变年龄肤色等,我们需要为每个任务都生成训练一个网络。正如下图所示,要完成上述任务需要训练K*(K-1)个cycle GAN(参见:基于CycleGan开源项目实战图像合成-CSDN博客)

        Star GAN解决的问题是,我们能不能使用一个网络,解决上述所有问题。

 2.建模流程分析

        整体流程还是采用cycle gan,但是,现在的每一个生成器和判别器都需要加入一个one hot编码的向量。生成器加入目标风格的one hot向量,代表在某种风格j的生成结果。 判别器加入代表原图片的one hot向量,代表在原图片为i时,判断生成结果的真假。

        整体流程还是采用star gan,首先,指定输入图像和生成的风格(例如更换头发)进行生成,得到结果。但是,我们的生成不是生成另外一个人,生成结果需要是同一个人。所以,我们需要将生成结果进行还原。

        对于判别器,需要判别生成图片的真假,以及对应的风格。

 

3.star GANv2

star GAN V1存在的问题

         star ganv1将各种风格看成一个one hot向量,这种编码只能作为标签,而不能表达实际意义。那么,在v2版本中,star GAN使用了特征向量表达各种风格,这种做法的好处在于,特征向量不仅具有很强的表达能力。而且能够进一步学习他们之间的关系。

star GAN v2 建模网络

star GANv2包含4个网络,star GAN v2最大的特点为输出都是多分支的。

  • 生成网络,即对输入图像生成一张给定风格的图像
  • 映射网络,随机初始化一个向量,通过全连接层得到对应风格的转化向量。
  • ecoder:直接将图像编码为对应风格的向量
  • 判别器:对于输入图像,为每一种风格判断真假         

损失函数

1.Style reconstruction

         首先,在使用生成网络生成图片时,我们会输入一张图片和对应风格的向量s,然后生成得到对应风格的图片。在得到生成图片后,我们再使用ecoder将生成图片编码为对应风格的向量s'。很显然,我们希望s和s'足够接近。

 2.Style diversification(多样性损失)

首先,初始化2组向量z1和z2,然后经过map网络得到对应风格的编码s1和s2,很显然,s1和s2是不同的,我们现在希望根据s1和s2生成的结果差异越大越好,差异越大,多样性越高。即损失函数越大越好

 

3.Preserving source characteristics 

        可以理解为一种重构损失,我们希望生成的结果还是同一个人,因此,对于生成图片还原回去要与原来的输入图片足够接近。

4.Adversarial objective

即判别器损失,原始图片预测接近于1,而生成图像预测接近于0

总损失为上述损失的加权和

数据与代码链接:https://pan.baidu.com/s/1aNlghgo6mtD4iWqNgMOWOQ?pwd=s206 
提取码:s206 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电子商务平台中大数据的应用|主流电商平台大数据采集API接口

(一)电商平台物流管理中大数据的应用 电商平台订单详情订单列表物流信息API接口应用 电子商务企业对射频识别设备、条形码扫描设备、全球定位系统及销售网站、交通、库存等管理软件数据进行实时或近实时的分析研究,提高物流速度和准确性。部分电商平台已建立高效的物流配送网…

数据采集与整理:知识图谱的根基

数据采集与整理:知识图谱的根基 一、 引言 在今天的数据驱动的世界中,知识图谱已经成为了连接复杂信息的关键工具。它们不仅推动了人工智能的发展,还改变了我们管理和利用知识的方式。然而,任何优秀的知识图谱都离不开一个核心的…

docker安装Nexus,maven私服

文章目录 前言安装创建文件夹设置文件夹权限docker创建指令制作docker-compose.yaml文件 查看网站访问网页查看密码 前言 nexus作为私服的maven仓库,在企业级应用中,提供了依赖来源的稳定性,为构建庞大的微服务体系,打下基础 安…

docker安装、调试qsign签名服务器

go-cqhttp 在 Docker 里早就部署好了,由于没有搭建 qsign 签名服务器,所以迟迟不敢上线。今天终于搞定了在 Docker 下安装 qsign 签名服务器了。这次用的docker市场里找到的镜像,下次找时间制作一个自己的镜像。 1 拉取和运行镜像&#xff1a…

Win10文件夹共享(有密码的安全共享)(SMB协议共享)

前言 局域网内(无安全问题,比如自己家里wifi)无密码访问,参考之前的操作视频 【电脑文件全平台共享、播放器推荐】手机、电视、平板播放硬盘中的音、视频资源 下面讲解公共网络如办公室网络、咖啡厅网络等等环境下带密码的安全…

云备份day02

📟作者主页:慢热的陕西人 🌴专栏链接:C云备份项目 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 主要内容介绍了第三方库jsoncpp和bundle库的使用 文章目录 云备…

代码随想录算法训练营第三十一天| 理论基础、LeetCode 455.分发饼干、376. 摆动序列、53. 最大子序和

一、理论基础 文章讲解:https://programmercarl.com/%E8%B4%AA%E5%BF%83%E7%AE%97%E6%B3%95%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 1.贪心的定义 贪心的本质是选择每一阶段的局部最优解,从而达到全局最优解。例如,有一堆钞票&#xff0c…

MySQL常见锁探究

MySQL常见锁探究 1. 各种锁类型1.1 全局锁1.2 表级锁1.2.1 表锁1.2.2 元数据锁(MDL)1.2.3 意向锁1.2.4 AUTO-INC 锁 1.3 行级锁1.3.1 Record Lock1.3.2 Gap Lock1.3.3 Next-Key Lock 2. MySQL是如何加锁的?2.1 什么 SQL 语句会加行级锁&#…

WPS 不登录无法使用基本功能的解决办法

使用wps时,常常有个比较让人烦恼的事,在不登录的情况下,新建或者打开文档时,wps不让你使用其基本的功能,如设置字体等,相关界面变成灰色,这时Wps提示用户登录注册或登录,但我又不想登…

喜讯 ChatGPT 3.5 免登录|免注册就可以使用了

https://chat.openai.com/ 直接访问openai 官网直接使用,当然还是要魔法的,不用再去用别人二次开发的,还有次数限制,还有开会员😅才能用的。😀试用啦一下,基本秒回答,能力也是在线的…

深入浅出 -- 系统架构之微服务架构常见的六种设计模式

面向服务的架构(SOA) 面向服务的架构(SOA)是一种设计方法,也是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的…

软件工程导论

软件工程选择题复习笔记 一、软件工程学概述 用户使用不当、硬件可靠性差、对软件的错误认识属于软件危机的表现,不是原因软件危机,1960年以来,软件工程1968提出软件工程着重于建造一个软件系统 八个阶段可以归纳为计划(定义)阶段&#xf…

一次java.lang.NullPointerException的排查之旅

一次java.lang.NullPointerException的排查之旅 问题由来问题分析问题处理 问题由来 最近在项目中遇到了一个比较奇怪的java.lang.NullPointerException,就是说在自己的本地环境中,功能正常,运行无异常。但是测试环境点击同样的功能时却总是…

每日一练 寻找两个正序数组的中间数

题目参上,以下是解题思路: 首先,我们应该想到的一种方法是把两数组合并为一个整体的数组,然后返回其中位数即可。那么我们如何合并两数组呢?我们可以用归并排序,设置上下两指针,不断遍历返回较…

字节新作:图像生成质量超越DiT

🌟每日更新最新高质量论文,关注我,时刻关注最新大模型进展。🌟 📌 元数据概览: 标题:Visual Autoregressive Modeling: Scalable Image Generation via Next-Scale Prediction作者&#xff1a…

2012年认证杯SPSSPRO杯数学建模C题(第二阶段)碎片化趋势下的奥运会商业模式全过程文档及程序

2012年认证杯SPSSPRO杯数学建模 C题 碎片化趋势下的奥运会商业模式 原题再现: 从 1984 年的美国洛杉矶奥运会开始,奥运会就不在成为一个“非卖品”,它在向观众诠释更高更快更强的体育精神的同时,也在攫取着巨大的商业价值&#…

LeetCode-热题100:21. 合并两个有序链表

题目描述 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入: l1 [1,2,4], l2 [1,3,4] 输出: [1,1,2,3,4,4] 示例 2: 输入: l1 [], l2 [] 输出…

什么是ICMP协议,如何防护ICMP攻击

一.什么是ICMP ICMP(Internet Control Message Protocol)是互联网控制报文协议,是TCP/IP协议族的一个子协议。它主要用于在IP网络中传递控制信息和错误消息,是IP协议的补充。ICMP协议是一种无连接协议,它不需要建立…

如何锁定鼠标光标在水平、垂直或45度对角线模式下移动 - 鼠标水平垂直移动锁定器简易教程

在我们进行精细工作例如如创建图标和图形设计时,通常需要我们对鼠标移动进行精确控制。一旦向左或向右轻微移动,都可能导致设计出错。若出现不必要的错误,我们极有可能不得不重新开始,这会令人感到非常沮丧。这种情况下&#xff0…

NIO基础知识

在学习Netty之前先要学习一下NIO相关的知识,因为Netty是基于NIO搭建的一套网络编程框架。 一. NIO 基础 non-blocking io 非阻塞 IO 1. 三大组件 1.1 Channel & Buffer channel 有一点类似于 stream,它就是读写数据的双向通道,可以从…