U-GAT-IT 使用指南

U-GAT-IT 使用指南

    • 网络结构
      • 优化目标

 


论文地址:https://arxiv.org/pdf/1907.10830.pdf

项目代码:https://github.com/taki0112/UGATIT

U-GAT-IT 和 Pix2Pix 的区别:

  • U-GAT-IT:主要应用于图像风格转换、图像翻译和图像增强等任务,适用于将图像从一个领域转换到另一个领域的应用

  • PIX2PIX:主要应用于图像转换任务,例如将线稿转换为彩色图像、将语义标签转换为真实图像等,适用于输入和输出之间存在明确映射关系的应用。

网络结构

生成器

注意力机制 CAM:全局池化和平均池化的类激活图。

  • 假设我们要对一张狗的图片进行分类,判断它是不是一只狗。我们使用了一个卷积神经网络(CNN)进行分类,并得到了一个类激活图(CAM)。

  • 在这张狗的图片中,CAM显示了狗的脸部区域比较亮,其他区域较暗。这意味着网络在分类时主要关注狗的脸部来判断它是否是一只狗。

实现方式是,通过权重(生成器图的 w 1 、 w 2 、 w 3 w_{1}、w_{2}、w_{3} w1w2w3):

  • 特征图编码:输入图片经过下采样、残差模块,卷积提取特征,得到特征图
  • 通道注意力:每个特征图对应一个权重 w,N 个特征图对应 N 个权重。权重就是通道注意力机制,每个通道对应不同特征(眼睛、鼻子、毛发、耳朵)
  • 新特征图分类:新特征图的重要性,通过全连接层分类器学习,ta就知道了分类的核心特征是猫脸

判别器

基本相同,也是通道注意力机制。

AdaLIN 结合了 Layer Normalization(LN)和 Instance Normalization(IN)各自的优点,实现归一化。

  • LN:多个通道进行归一化,获取全局特征
  • IN:各个图像特征图单独归一化,保留内容结构

把两者结合起来,互相抵消他们之间的不足,同时又结合了两者的优点。

最朴素的思想是寻找一个比率,来权衡某一层中 IN 与 LN 的关系:

  • ρ ⋅ I N + ( 1 − ρ ) ⋅ L N \rho\cdot IN+(1-\rho)\cdot LN ρIN+(1ρ)LN

完整是这样:

  • A d a L I N ( a , γ , β ) = γ ⋅ ( ρ ⋅ a ^ I + ( 1 − ρ ) ⋅ a L ^ ) + β a I ^ = a − μ I σ I 2 + ϵ , a L ^ = a − μ L σ L 2 + ϵ , ρ ← c l i p [ 0 , 1 ] ( ρ − τ Δ ρ ) \begin{aligned} AdaLIN& (a,\gamma,\beta)=\gamma\cdot(\rho\cdot\hat{a}_{I}+(1-\rho)\cdot\hat{a_{L}})+\beta \\ &\hat{a_{I}}=\frac{a-\mu_{I}}{\sqrt{\sigma_{I}^{2}+\epsilon}},\hat{a_{L}}=\frac{a-\mu_{L}}{\sqrt{\sigma_{L}^{2}+\epsilon}}, \\ &\rho\leftarrow clip_{[0,1]}(\rho-\tau\Delta\rho) \end{aligned} AdaLIN(a,γ,β)=γ(ρa^I+(1ρ)aL^)+βaI^=σI2+ϵ aμI,aL^=σL2+ϵ aμL,ρclip[0,1](ρτΔρ)

这个公式是AdaLIN的具体计算公式,其中:

  • a a a是输入特征图
  • γ \gamma γ β \beta β是可学习的参数,分别用于缩放和偏移
  • ρ \rho ρ是用于调整Layer Normalization和Instance Normalization的权重的参数
  • a I ^ \hat{a_{I}} aI^ a L ^ \hat{a_{L}} aL^是通过Instance Normalization和Layer Normalization对输入特征图进行归一化得到的结果
  • μ I \mu_{I} μI σ I \sigma_{I} σI是Instance Normalization中计算的均值和标准差
  • μ L \mu_{L} μL σ L \sigma_{L} σL是Layer Normalization中计算的均值和标准差
  • ϵ \epsilon ϵ是一个小的常数,用于避免分母为0的情况
  • c l i p [ 0 , 1 ] clip_{[0,1]} clip[0,1]表示将 ρ \rho ρ限制在0和1之间
  • Δ ρ \Delta\rho Δρ是一个可学习的参数,用于更新 ρ \rho ρ
  • τ \tau τ是一个调整步长的超参数

当 IN 更有用时, ρ \rho ρ 趋向于 1.

当 LN 更有用时, ρ \rho ρ 趋向于 0.

优化目标

对抗损失: L g a n s → t = E ⁡ x ∼ X t ⌊ ( D t ( x ) ) 2 ⌋ + E ⁡ x ∼ X s ⌊ ( 1 − D t ( G s → t ( x ) ) ) 2 ⌋ L_{gan}^{s\to t}=\operatorname{E}_{x\sim X_t}\left\lfloor(D_t(x))^2\right\rfloor+\operatorname{E}_{x\sim X_s}\left\lfloor(1-D_t(G_{s\to t}(x)))^2\right\rfloor Lganst=ExXt(Dt(x))2+ExXs(1Dt(Gst(x)))2

  • 判别是真实图像,还是生成图像
  • s − > t s->t s>t:S是真实图像(源域),T是生成图像(目标域)
  • 源域和目标域:在图像翻译任务中,源域可以是一个领域(如马)的图像集合,而目标域可以是另一个领域(如斑马)的图像集合。我们的目标是将马的图像转换成斑马的图像。
  • E ⁡ x ∼ X t \operatorname{E}_{x\sim X_t} ExXt:图像来自真实目标域,即 x 从 X t X_t Xt 真实目标域取值
  • 我们希望小猫咪能够像小狗狗一样学会叫声。我们让小猫咪通过观察小狗狗的叫声来学习。小猫咪会尝试发出自己的叫声,然后小狗狗会判断这个声音是不是来自于小狗狗。如果小狗狗认为声音是来自于小狗狗,那么我们会说小猫咪的叫声越接近真实的小狗狗叫声。
  • D t ( x ) D_t(x) Dt(x) 表示小狗狗判别器对于真实目标域的小狗狗叫声 x x x的真实性判断。
  • G s → t ( x ) G_{s\to t}(x) Gst(x) 是小猫咪通过模仿小狗狗学习到的叫声。
  • D t ( G s → t ( x ) ) D_t(G_{s\to t}(x)) Dt(Gst(x)) 是小狗狗判断小猫咪模拟的叫声 G s → t ( x ) G_{s\to t}(x) Gst(x) 的真实性。
  • 1 − D t ( G s → t ( x ) ) 1-D_t(G_{s\to t}(x)) 1Dt(Gst(x)) 是小狗狗判断小猫咪模拟的叫声 G s → t ( x ) G_{s\to t}(x) Gst(x) 的不真实性(伪造概率)。

身份不变损失: L i d e n t i t y s → t = E ⁡ x ∼ X t [ ∥ x − G s → t ( x ) ∥ 1 ] L_{identity}^{s\to t}=\operatorname{E}_{x\sim X_t}\left[\left\|x-G_{s\to t}(x)\right\|_1\right] Lidentityst=ExXt[xGst(x)1]

  • 要把输入图片变成猫的图片,如果输入图片本身就是猫,那就不用变了。

循环一致性损失: L c y c l e s → t = E ⁡ x ∼ X s [ ∣ x − G t → s ( G s → t ( x ) ) ∣ 1 ] L_{cycle}^{s\to t}=\operatorname{E}_{x\sim X_s}\left[\left|x-G_{t\to s}\left(G_{s\to t}(x)\right)\right|_1\right] Lcyclest=ExXs[xGts(Gst(x))1]

  • 正向变换过后,逆向还能变回来。

 

CAM 的生成器、判别器损失: L c a m G t → t = − E x ∼ X s [ log ⁡ ( η s ( x ) ) ] + E x ∼ X t [ log ⁡ ( 1 − η s ( x ) ) ] L c a m D t = E x ∼ X t [ ( η D t ( x ) ) 2 ] + E x ∼ X s [ log ⁡ ( 1 − η D t ( G s → t ( x ) ) ) 2 ] \begin{aligned}L_{cam}^{G_{t\to t}}&=-\mathrm{E}_{_{x\sim X_s}}\big[\log\big(\eta_s\big(x\big)\big)\big]+\mathrm{E}_{_{x\sim X_t}}\big[\log\big(1-\eta_s\big(x\big)\big)\big]\\\\L_{_{cam}}^{D_t}&=\mathrm{E}_{_{x\sim X_t}}\big[\big(\eta_{D_t}\big(x\big)\big)^2\big]+\mathrm{E}_{_{x\sim X_s}}\big[\log\big(1-\eta_{_{D_t}}\big(G_{_{s\to t}}\big(x\big)\big)\big)^2\big]\end{aligned} LcamGttLcamDt=ExXs[log(ηs(x))]+ExXt[log(1ηs(x))]=ExXt[(ηDt(x))2]+ExXs[log(1ηDt(Gst(x)))2]
 

优化目标: min ⁡ G s → t , G t → s , η s , η t max ⁡ D s , D t , η D s , η D t λ 1 L g a n + λ 2 L c y c l e + λ 3 L i d e n t i t y + λ 4 L c a m \min_{G_{s\to t},G_{t\to s},\eta_s,\eta_t}\max_{D_s,D_t,\eta_{D_s},\eta_{D_t}}\lambda_1L_{gan}+\lambda_2L_{cycle}+\lambda_3L_{identity}+\lambda_4L_{cam} minGst,Gts,ηs,ηtmaxDs,Dt,ηDs,ηDtλ1Lgan+λ2Lcycle+λ3Lidentity+λ4Lcam

  • 权重: λ 1 = 1 , λ 2 = 10 , λ 3 = 10 , λ 4 = 1000. \begin{aligned}\lambda_1=1,\lambda_2=10,\lambda_3=10,\lambda_4=1000.\end{aligned} λ1=1,λ2=10,λ3=10,λ4=1000.

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

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

相关文章

应用场景丨社区建筑结构健康监测系统

随着社区的快速发展,社区建筑的结构安全与健康问题日益受到广泛关注。考虑到社区建筑的特点,如人口密集、结构复杂等,建筑结构健康监测系统的应用显得尤为重要。 社区建筑结构健康监测系统的效果 1. 结构安全性提升:通过实时监测…

跨境电商成拼多多高质量增长奇兵

不曾想到,拼多多增长仍如此迅猛。 11月28日,拼多多发布第三季度财报,数据显示,营收688.404亿元,同比增长94%,超过市场预估的548.7亿元;实现美国通用会计准则口径净利润155.37亿元,同…

java系列:什么是SSH?什么是SSM?SSH框架和SSM框架的区别

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 什么是SSH?什么是SSM?SSH框架和SSM框架的区别 前言一、什么是SSH?1.1 Struts2具体工作流程:Struts2的缺点: 1.2 Sp…

Linux系统部署Tale个人博客并发布到公网访问

文章目录 前言1. Tale网站搭建1.1 检查本地环境1.2 部署Tale个人博客系统1.3 启动Tale服务1.4 访问博客地址 2. Linux安装Cpolar内网穿透3. 创建Tale博客公网地址4. 使用公网地址访问Tale 前言 今天给大家带来一款基于 Java 语言的轻量级博客开源项目——Tale,Tale…

Pinia仓库统一管理

pinia独立维护 在src/stores文件夹下创建index.js文件,将main.js中关于pinia的语句放到index.js中 index.js文件内容: import { createPinia } from pinia import piniaPluginPersistedstate from pinia-plugin-persistedstate const pinia createPi…

在Pycharm中创建项目新环境,安装Pytorch

在python项目中,很多项目使用的各类包的版本是不一致的。所以我们可以对每个项目有专属于它的环境。所以这个文章就是教你如何创建新环境。 一、创建新环境 首先我们需要去官网下载conda。然后在Pycharm下面添加conda的可执行文件。 用conda创建新环境。 二、…

C51--DHT11温湿度传感器

DHT11温湿度传感器 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。 特点: 相对温度和湿度测量全部校准,数字输出长期稳定性超长的信号输出距离:20米超低耗能:休眠4引脚安装:可以买封装好的…

sklearn 笔记:聚类

1 sklearn各方法比较 方法名称参数使用场景K-means簇的数量 非常大的样本数 中等簇数 簇大小需要均匀 Affinity Propagation 阻尼系数 样本偏好 样本数不能多 簇大小不均 MeanShift带宽 样本数不能多 簇大小均匀 谱聚类簇的数量 中等样本数 小簇数 簇大小均匀 层次聚类簇的数量…

VS2022使用Vim按键

VS2022使用Vim按键 在插件管理里面搜索VsVim 点击安装,重启VS 工具->选项->VsVim 配置按键由谁处理,建议Ctrl C之类常用的使用VS处理,其它使用Vim处理

涵盖多种功能,龙讯旷腾Module第二期:电子结构及声子计算

Module是什么 在PWmat的基础功能上,我们针对用户的使用需求开发了一些顶层模块(Module)。这些Module中的一部分是与已有的优秀工具的接口,一部分是以PWmat的计算结果为基础得到实际需要的物理量,一部分则是为特定的计…

JSON 与 FastJSON

JSON 与 FastJSON JSON JavaScript Object Notation(JavaScript 对象表示法)是目前最常用的执行对象序列化的方式。 虽然 json 最初是为了在 JavaScript 语言中使用的,但实际上 json 本身跟语言没有任何关系,各种编程语言都可以使…

网络基础--win10双网卡设置成访问不同的网络

1、背景 我日常中大部分时间都是使用外网的网卡进行办公,只有在连接公司服务器时才需要使用内网。由于我的电脑存在两张网卡,分别用于连接不同的网络(常见情况是一张访问公司内网,一张访问公司外网),但是在…

SOT23-3封装的设计与应用:220V转5V芯片电路

SOT23-3封装的设计与应用:220V转5V电路 AH8100介绍了一种基于SOT23-3封装的220V转5V电路l32*4761*OOO1设计方案,该方案具有简单、高效、稳定的特点,适用于各种电子设备。 一、引言 随着科技的发展,电子设备越来越多地应用于我们…

XwFast,我开发了一个基于SpringBoot和MyBatisPlus的敏捷开发框架!

🚀 A Cutting-edge Tool For Rapid Java Web Development. 👉 http://xuewei.world 👈 🚀简介 XwFast 是专为 Java Web 开发的基于 Spring 系列框架封装的黑科技脚手架,通过诸多实用工具类/组件的使用,旨…

动态:class和:style绑定

1. 在应用界面中, 某个(些)元素的样式是变化的 class/style绑定就是专门用来实现动态样式效果的技术 2. 动态class绑定 :class等号后的变量值 可以是字符串 :class等号后 可以是对象 :class等号后 可以是数组 3. 动态style绑定 :style"{ color: myPinkColor, fontS…

C语言练习记录(蓝桥杯练习)(小蓝数点)

目录 小蓝数点 第一题程序的输出结果是?: 第二题下面代码的执行结果是什么?: 第三题下面代码的执行结果是什么?: 第四题关于关系操作符说法错误的是?: 第五题对于下面代码段,y的值为? 第六题sum 21 …

vue2全局混入正确使用场景和错误场景示例

全局混入在 Vue.js 中的使用场景需要谨慎考虑,因为它会影响所有组件。以下是一些正确和错误的使用场景的例子: 正确的使用场景: 全局工具方法: // 正确的使用场景 Vue.mixin({methods: {$formatDate: function (date) {// 格式化…

navigator.clipboard is undefined in JavaScript issue [Fixed]

navigator.clipboard 在不安全的网站是无法访问的。 在本地开发使用localhost或127.0.0.1没有这个问题。因为它不是不安全网站。 在现实开发中,可能遇到测试环境为不安全网站。 遇到这个问题,就需要将不安全网站标记为非不安全网站即可。 外网提供了3…

智能配电箱监控系统

智能配电箱监控系统是一种用于实时监控配电箱运行状态和电能质量的系统。它通过集成应用物联网技术,实现对配电箱的数据采集、整合和处理,从而让工作人员能够远程了解和掌握配电箱的情况。通过电力设备的数字化,依托电易云-智慧电力物联网&am…

高并发架构——网页爬虫设计:如何下载千亿级网页?

Java全能学习面试指南:https://javaxiaobear.cn 在互联网早期,网络爬虫仅仅应用在搜索引擎中。随着大数据时代的到来,数据存储和计算越来越廉价和高效,越来越多的企业开始利用网络爬虫来获取外部数据。例如:获取政府公…