U-GAT-IT 使用指南:人脸动漫风格化

news2024/11/13 16:33:31

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.

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

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

相关文章

ROS vscode使用基本配置

1、创建ros工作空间 2、启动 vscode 3、vscode 中编译 ros ctrl shift B 调用编译,选择:catkin_make:build 修改.vscode/tasks.json 文件 4、 创建 ROS 功能包 选定 src ---> create catkin package 依次设置包名、添加依赖 5、C 实现 在功能包的 src 下…

用最少数量的箭引爆气球[中等]

优质博文:IT-BLOG-CN 一、题目 有一些球形气球贴在一堵用XY平面表示的墙面上。墙面上的气球记录在整数数组points,其中points[i] [xstart, xend]表示水平直径在xstart和xend之间的气球。你不知道气球的确切y坐标。一支弓箭可以沿着x轴从不同点完全垂直…

Microsoft 365 for Mac:提升您的办公效率的终极选择

在现代工作环境中,高效的办公软件是提高工作效率和团队合作的关键。Microsoft 365 for Mac(前身为Office 365)是微软为Mac操作系统推出的一套全面的办公软件解决方案,为用户提供了强大的工具和功能,帮助您在任何地方都…

OData服务的开发-SAP Gateway Service Builder Projects

文章目录 概述操作 概述 有多种方法可以开发 OData 服务。对于经典的 ABAP 开发,引入了 SAP Gateway Service Builder。但是,在 SAP S/4HANA 1909 中引入的 ABAP RESTful 应用程序编程模型。 两个模型可以并行使用。但是,建议使用 ABAP RES…

MIT_线性代数笔记:第 10 讲 四个基本子空间

目录 四个子空间 Four subspaces基和维数 Basis& Dimension新向量空间 New vector space 本讲讨论矩阵的四个基本子空间以及他们之间的关系。 四个子空间 Four subspaces 任意的 m x n 矩阵 A 都定义了四个子空间。 列空间 Column space C(A) 矩阵 A 的列空间是 A 的列向…

YOLO改进系列之ParNetAttention注意力机制

ParNet注意力是一种用于自然语言处理任务的注意力机制,它是由谷歌在2019年提出的。ParNet注意力旨在解决传统注意力机制在处理长序列时的效率问题。传统的注意力机制在计算注意力权重时,需要对所有输入序列的位置进行逐一计算,这导致了在长序…

INA219电流感应芯片_程序代码

详细跳转借鉴链接INA219例程此处进行总结 简单介绍一下 INA219: 1、 输入脚电压可以从 0V~26V,INA219 采用 3.3V/5V 供电. 2、 能够检测电流,电压和功率,INA219 内置基准器和乘法器使之能够直接以 A 为单位 读出电流值。 3、 16 位可编程地…

GPT-4 惨遭削弱;拼多多市值一度超阿里;雷军回应个人向武汉大学捐款 13 亿元丨 RTE 开发者日报 Vol.96

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE (Real Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有…

【Openstack Train安装】三、openstack安装

本文在所有节点安装openstack包,请确保按照以下教程完成了相关配置: 【Openstack Train安装】一、虚拟机创建 【Openstack Train安装】二、NTP安装 安装环境如下 VMware WorkstationV17.0本机系统win11虚拟机系统CentOS 7.5 openstack包含多个版本&…

传智杯第五届题解

B.莲子的机械动力学 分析&#xff1a;这题有个小坑&#xff0c;如果是00 0&#xff0c;结果记得要输出0。 得到的教训是&#xff0c;避免前导0出现时&#xff0c;要注意答案为0的情况。否则有可能会没有输出 #include<assert.h> #include<cstdio> #include<…

【神印王座】永恒之塔秘密透露,林鑫告白李馨,皓晨采儿甜蜜接吻

Hello,小伙伴们&#xff0c;我是拾荒君。 《神印王座》第83集如期而至&#xff0c;带来了令人期待已久的更新。与众多热情的观众一样&#xff0c;拾荒君一得到更新消息&#xff0c;便急不可耐地观赏起来。这一集中&#xff0c;龙皓晨随着月魔宫的月夜商队成功抵达联盟&#xf…

下载并安装anaconda和VScode,配置虚拟环境,并使用VScode运行代码

文章目录 前言软件下载Anaconda下载VScode下载 软件安装Anaconda安装Vscod安装 配置虚拟环境并运行代码Anaconda创建环境VScode使用&#xff0c;运行代码1. 打开代码所在文件夹2. 选择解释器3. 运行代码 总结 前言 运行python代码&#xff0c;需要2个软件如下&#xff1a; Ana…

漏洞扫描服务是什么

漏洞扫描服务是维护网络安全的重要一环。通过定期或实时的漏洞扫描&#xff0c;组织可以及时发现并修复可能存在的安全威胁&#xff0c;增强自身网络的安全性。在选择漏洞扫描服务时&#xff0c;需要明确自身的需求和目标&#xff0c;并选择合适的工具和服务提供商。只有这样&a…

TFIDF、BM25、编辑距离、倒排索引

TFIDF TF刻画了词语t对某篇文档的重要性&#xff0c;IDF刻画了词语t对整个文档集的重要性

MySQL数据库如何应对故障恢复与数据恢复回滚

一个最基本的数据库&#xff0c;应当可以做到以下几点 数据持久化&#xff0c;可以将数据保存到磁盘&#xff0c;服务重启数据依然存在。 可以按照某种关系存储数据&#xff0c;如果你用过IO流&#xff0c;那么你会发现整理数据也是一件复杂的事情。我是该追加写呢还是找到某条…

一文讲清楚Python流程控制语句

流程控制就是控制程序如何执行的方法&#xff0c;它适用于任何一门编程语言&#xff0c;其作用在于可以根据用户的需求决定程序执行的顺序。计算机在运行程序时有三种执行方法&#xff1a;第一种是顺序执行&#xff0c;自上而下顺序执行所有的语句&#xff0c;对应程序设计中的…

客户案例:EDLP助力金融行业打造高效数据防泄露体系

客户背景 某金融机构是一家以金融科技为核心&#xff0c;致力于为客户提供全方位、智能化、便捷化金融服务的综合性企业。公司总部位于南京&#xff0c;业务范围覆盖全国&#xff0c;拥有强大的技术研发团队和优秀的业务精英&#xff0c;为客户提供全方位的金融服务解决方案。 …

“最甜港姐”走的与众不同之路

网络图片 媒体最新报道&#xff0c;她被誉为“最甜港姐”&#xff0c;曾是TVB炙手可热的当红花旦&#xff0c;却在最当红的时候选择急流勇退。 她不是退圈去相夫教子&#xff0c;而是读书深造&#xff0c;成为一名专业律师。 前不久&#xff0c;又有消息传出&#xff0c;明年…

06_MySQL数据库高可用解决方案(MHA)

各位道友好&#xff0c;鼠鼠我呀校招刚通过了移动的面试 &#xff0c;但是安排的岗位是偏远县城里面的岗位&#xff0c;各位能给给建议吗&#xff1f;鼠鼠我啊真不想有时候变成销售员去卖产品&#xff01;&#xff01;&#xff01; 任务背景 一、真实案例 公司现在需要做MySQ…

docker集群的详解以及超详细搭建

文章目录 一、问题引入1. 多容器位于同一主机2. 多容器位于不同主机 二、介绍三、特性四、概念1. 节点nodes2. 服务(service)和任务(task)3. 负载均衡 五、docker网络1. overlay网络 六、docker集群搭建1. 环境介绍2. 创建集群3. 集群网络4. 加入工作节点 七、部署可视化界面po…