当前位置: 首页 > news >正文

深度学习(34)—— StarGAN(1)

深度学习(34)—— StarGAN(1)

文章目录

  • 深度学习(34)—— StarGAN(1)
    • 1. 背景
    • 2. 基本思路
    • 3. 整体流程
    • 4. StarGAN v2
      • (1) 网络结构
      • (2) mapping network
      • (3) style encoder
      • (4)Loss

和之前一样还是先理论后代码,所以这一讲还是StarGAN的理论。

1. 背景

先回忆一下,之前写的cyclegan,可以实现两个域之间的相互转换。即下面这几种情况:

  • 将输入人像转化为我想要的图像发色
  • 将输入人像转化为我想要的性别
  • 将输入人像转化为我想要的年龄
  • 将输入人像转化为我想要的肤色
    在这里插入图片描述

上面这种两个域之间的转化使用cyclegan就可以实现,但是如果想要实现在K个域的相互转化,使用cyclegan就需要训练k(k-1)个generator网络,时间成本和计算成本都太大。
在这里插入图片描述
可不可以只训练一个模型,根据我的reference图片的特征将source转化为我想要的图片?
为了满足这一需求,就出现了StarGAN

2. 基本思路

  • 使用StarGAN,只需要训练一个generator。相比cyclegan,StarGAN在输入时增加了类型编码(可以理解为【转化肤色,转化年龄,转化性别,转化发色】的编码)
    在这里插入图片描述
  • 无论是generator还是discriminator都增加这样的编码向量
    在这里插入图片描述

3. 整体流程

在这里插入图片描述
generator

  • 输入一张image和目标域 target domain的编码(向量) 经过generator生成targaet domain的fake image
  • 将得到的fake image 和 原图的domain输入generator生成restructed image(与input image 做loss)
  • 此时将fake image输入discriminator中让他辨别fake image的真假,还要输出domain 的编码,试图骗过discriminator

discriminator

  • 在训练过程中,输入real image 和 fake image,经过discriminator不但要辨别每张image的真假,还要辨别每张照片属于的domain编码

4. StarGAN v2

上面说的都是StarGANv1,他针对domain做了one-hot 编码,一个编码一个风格。
v2相对于v1的进步是用实际的特征向量作为风格的编码,在特征基础上进行提取和分析。v1中只使用one-hot编码学不到每种风格的具体知识

(1) 网络结构

在这里插入图片描述
相较于v1,v2主要对每种风格进行编码,使用到 mapping network 和 style encoder

(2) mapping network

随机生成的一个向量编码latent code 和一张图片经过网络后将当前的latent coder 编码成属于该图片风格的特征,用于代表该风格domain的编码

(3) style encoder

输入一张图片经过该encoder可以得到属于这张照片的风格domain编码。

(4)Loss

在正常的GAN网络基础上增加了三个额外的loss

  • style_loss:mapping 得到的style 编码要尽可能与style得到的style 编码相似。
  • diversity_loss:同一张图变换为不同风格,变换后的两者要尽可能的存在较大差异(差异多样性)
  • cycle_loss :转化的是风格,不能主体变得太离谱,真实的和rec之间的loss【和cyclegan中的一个loss 一样】

okk,今天就先这么多,代码讲解,明天吧,整个项目,老地方github上!

相关文章:

深度学习(34)—— StarGAN(1)

深度学习(34)—— StarGAN(1) 文章目录 深度学习(34)—— StarGAN(1)1. 背景2. 基本思路3. 整体流程4. StarGAN v2(1) 网络结构(2) mapping network(3) style encoder(4)Loss 和之前…...

ES6系列之let、const、箭头函数使用的坑

变量提升块级作用域的重要性箭头函数this的指向rest参数和arguments 1.ECMAScript与Js的关系 2.Babel转码器 Babel是一个广泛使用的ES6转码器,可以将ES6代码转为ES5代码,从而在老版本的浏览器执行。这意味着,你可以用ES6的方式编写程序&…...

4.DNS和负载均衡

文章目录 coreDNS概念部署croeDNS测试 kubernetes多master集群结构master节点部署 负载均衡配置部署nginx做四层反向代理安装高可用 keepalivednginx监控脚本修改k8s中组件的配置文件 coreDNS 概念 coreDNS是kubernetes的默认DNS实现。可以为集群中的service资源创建一个资源名…...

【JavaEE进阶】Spring核心与设计思想

文章目录 一. Spring框架概述1. 什么是Spring框架2. 为什么要学习框架?3. Spring框架学习的难点 二. Spring 核心与设计思想1. 什么是容器?2. 什么是IoC?3. Spring是IoC容器4. DI(依赖注入)5. DL(依赖查找) 一. Spring框架概述…...

实习周记第三周

第二周总结 第二周主要是做了一些PC端细节内容。大的地方改的不多,但是小的细节蛮多。 值得一提的是,第二周做的微信小程序,改了很多逻辑。改逻辑需要与后端进行联调,收获很大,思路也愈发清楚。 记录做了什么是好习…...

11. 使用tomcat中碰到的一些问题

文章目录 问题一:Tomcat的startup.bat启动后出现乱码问题二:一闪而退之端口占用问题三:非端口问题的一闪而退问题四:服务器的乱码和跨域问题问题五: 在tomcat\webapps\下创建文件夹为什么tomcat重启就会丢失问题六:Tom…...

C++解决TCP粘包

目录 TCP粘包问题TCP客户端TCP服务端源码测试 TCP粘包问题 TCP是面向连接的,面向流的可靠性传输。TCP会将多个间隔较小且数据量小的数据,合并成一个大的数据块,然后进行封包发送,这样一个数据包里就可能含有多个消息的数据&#…...

最长快乐前缀——力扣1392

文章目录 题目描述KMP题目描述 KMP class Solution {public:string longestPrefix(string s) {int n = s...

使用java.util.List的containsAll()方法可能导致的问题

今天在偶然之间发现了一个bug,原因居然是使用了containsAll()方法,这个问题很简单,看以下代码就能发现很大的问题。 package collection;import java.util.ArrayList; import java.util.List;/*** author heyunlin* version 1.0*/ public cl…...

在线文本转语音播放 (TTS)

具体请前往:在线文本转语音播放(TTS)...

OPTEE之ARM安全扩展

目录 一、BTI(Branch Target Identification) 二、如何使能OP-TEE core的BTI 三、如何使能TA的BTI 一、BTI(Branch Target Identification) 分支目标识别(BTI)是ARMv8.5(及Armv9.0)扩展,它为间接分支及其目标提供了控制流完整性(CFI)保护,从而有助于限…...

Vue [Day4]

组件的三大组成部分 组件的样式冲突 scoped <style scoped></style>data 是一个函数 components/BaseButton.vue <template><div class"BaseButton"><button click"count--">-</button><span>{{ count }}</…...

google chrome 官方下载

官方渠道&#xff1a; 1、链接直接打开就可以下载&#xff0c;最新版实时更新。 32位&#xff08;x86&#xff09;&#xff1a;https://dl.google.com/tag/s/installdataindex/update2/installers/ChromeStandaloneSetup.exe 64位&#xff08;x64&#xff09;&#xff1a;htt…...

Misc取证学习

文章目录 Misc取证学习磁盘取证工具veracryto挂载fat文件DiskGenius 磁盘取证例题[RCTF2019]disk 磁盘[](https://ciphersaw.me/ctf-wiki/misc/disk-memory/introduction/#_2)内存取证工具volatility 内存取证例题数字取证赛题0x01.从内存中获取到用户admin的密码并且破解密码 …...

vue打包到jar资源访问被shiro拦截

1.shiro放发对静态资源的拦截// filterMap.put("/202307171550/**", "anon"); // filterMap.put("/config/**", "anon"); // filterMap.put("/index.html", "anon"); 2.装载资源访问 priva…...

选择排序(指针法)

描述 用选择法对10个整数排序。 输入 输入包含10个整数&#xff0c;用空格分隔。 输出 输出排序后的结果&#xff0c;用空格分隔。 输入样例 1 3 1 4 1 5 9 2 6 5 3 输出样例 1 1 1 2 3 3 4 5 5 6 9 输入样例 2 2 4 6 8 10 12 14 16 18 20 输出样例 2 2 4 6 8 1…...

8.6 day07 休息+剑指offer

文章目录 06从尾到头打印链表03数组中重复的数字04二维数组中的查找05 替换空格06重建二叉树背英语单词&#xff0c;看了二十页 06从尾到头打印链表 从尾到头遍历链表 方法一就是用栈来辅助&#xff0c;栈的结构是先进后出的&#xff0c;将链表中的元素加入到栈中去&#xff0…...

K8S系列文章 之 容器存储基础 Volume

Volume Volume是容器数据卷。我们经常创建删除一些容器&#xff0c;但有时候需要保留容器中的一些数据&#xff0c;这时候就用到了Volume。它也是容器之间数据共享的技术&#xff0c;可以将容器中产生的数据同步到本地。实际就是把容器中的目录挂载到运行着容器的服务器或个人…...

【CHI】架构介绍

Learn the architecture - Introducing AMBA CHI AMBA CHI协议导论--言身寸 1. AMBA CHI简介 一致性集线器接口&#xff08;CHI&#xff09;是AXI一致性扩展&#xff08;ACE&#xff09;协议的演进。它是Arm提供的高级微控制器总线架构&#xff08;AMBA&#xff09;的一部分。…...

hcip的ospf综合实验

题目 拓扑图 IP地址分配及环回 R1 < Huawei>sy Enter system view, return user view with CtrlZ. [Huawei]sysname r1 [r1]int g0/0/0 [r1-GigabitEthernet0/0/0]ip add 172.16.0.1 27 Aug 6 2023 19:03:33-08:00 r1 %%01IFNET/4/LINK_STATE(l)[0]:The line protocol I…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

作为测试我们应该关注redis哪些方面

1、功能测试 数据结构操作&#xff1a;验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化&#xff1a;测试aof和aof持久化机制&#xff0c;确保数据在开启后正确恢复。 事务&#xff1a;检查事务的原子性和回滚机制。 发布订阅&#xff1a;确保消息正确传递。 2、性…...

从面试角度回答Android中ContentProvider启动原理

Android中ContentProvider原理的面试角度解析&#xff0c;分为​​已启动​​和​​未启动​​两种场景&#xff1a; 一、ContentProvider已启动的情况 1. ​​核心流程​​ ​​触发条件​​&#xff1a;当其他组件&#xff08;如Activity、Service&#xff09;通过ContentR…...

6️⃣Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙

Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙 一、前言:离区块链还有多远? 区块链听起来可能遥不可及,似乎是只有密码学专家和资深工程师才能涉足的领域。但事实上,构建一个区块链的核心并不复杂,尤其当你已经掌握了一门系统编程语言,比如 Go。 要真正理解区…...