IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> GAN的域外编辑 水记 -> 正文阅读

[人工智能]GAN的域外编辑 水记

GAN的域外编辑 水记

《Editing Out-of-domain GAN Inversion via Differential Activations》

论文:https://arxiv.org/abs/2207.08134

项目:https://github.com/HaoruiSong622/Editing-Out-of-Domain

BV1Wt4y1g7Si

有时候真实图像没法很好的反演,这样就没法很好地编辑

本文设计了一个模型,将编辑后发生变化的部分应用回原图,实现域外编辑。

这样应该有一个前提,就是要编辑的部分的反演结果要比较好。如果要编辑的部分也反演得不好,很可能就会有问题。

总的看完,这个方法感觉不够鲁棒。

个人总结

在这里插入图片描述

大致流程

给定输入图片 I I I 和 编辑属性使用的向量 α n \alpha_n αn?

先反演出 I I I 的隐编码 w w w

w w w 直接输入生成器,重建出反演的图像 I ′ I' I

w w w 做编辑后输入生成器,生成反演并编辑后的图像 T T T

用 一个模型(称为 可微分激励模型) 计算 I ′ I' I T T T 在哪些地方有差别,得到一个 权重 mask M M M

用权重 mask 指导,做 I I I T T T 的加权和,得到一个粗略的编辑后图像 F fused F_{\text{fused}} Ffused?

用一个图像翻译模型(称为 去鬼影网络),输入 F fused F_{\text{fused}} Ffused? ,输出完善的编辑后的图像。

可微分激励模型

用于计算 I ′ \boldsymbol{I}^{\prime} I T \boldsymbol{T} T 在哪些地方有差别,得到一个 权重 mask M M M

先准备一个可训练的编码器 E trainable ( ? ) E_{\text{trainable}}(\cdot) Etrainable?(?)

计算 I ′ I' I T T T 的编码之差 Δ = E trainable? ( I ′ ) ? E trainable? ( T ) \boldsymbol{\Delta}=E_{\text {trainable }}\left(\boldsymbol{I}^{\prime}\right)-E_{\text {trainable }}(\boldsymbol{T}) Δ=Etrainable??(I)?Etrainable??(T)

用一个轻量级的卷积分类器,分析出有哪些属性被编辑过,使用softmax交叉熵损失。

然后我们对这个卷积分类器做 CAM ,得到其注意力分布图,作为权重mask。

  • CAM的步骤

    ? s c ? H i j k \frac{\partial s_{c}}{\partial \boldsymbol{H}_{i j}^{k}} ?Hijk??sc?? 表示中间层特征 H H H 在第 k k k 个通道,像素坐标 ( i , j ) (i,j) (i,j) 处,关于类别 c c c 的梯度。其中 s s s 表示分类器最后一层的输出,但是不经过sofmax 。

    于是我们计算每个通道与类别相关的权重 β c k \beta_{c}^{k} βck?

    β c k = 1 Z ∑ i ∑ j ? global?average?pooling? ? s c ? H i j k \beta_{c}^{k}=\overbrace{\frac{1}{Z} \sum_{i} \sum_{j}}^{\text {global average pooling }} \frac{\partial s_{c}}{\partial \boldsymbol{H}_{i j}^{k}} βck?=Z1?i?j? ?global?average?pooling???Hijk??sc??

    其实就是通道上梯度的平均值,梯度越大说明权重越高。

    然后我们计算 CAM 图:

    M D i f f ? C A M = ReLU ? ( ∑ k β c k H k ) \boldsymbol{M}_{\mathrm{Diff-CAM}}=\operatorname{ReLU}\left(\sum_{k} \beta_{c}^{k} \boldsymbol{H}^{k}\right) MDiff?CAM?=ReLU(k?βck?Hk)

    其实就是把 H H H 的各个通道做了加权和。

    然后把 M D i f f ? C A M \boldsymbol{M}_{\mathrm{Diff-CAM}} MDiff?CAM? 标准化到 [0,1] 之间,就得到 权重mask 了。

去鬼影网络

一个全卷积网络,由 编码器、解码器、预训练的 StyleGAN2 生成器 这几部分组成。

我们的目的是利用预训练的GAN里的人脸先验来生成无伪影的图像。

我们把 F fused F_{\text{fused}} Ffused? 输入全卷积的 编码器-解码器 网络,编码器会得到 F fused F_{\text{fused}} Ffused? 的隐编码(相当于反演?那你为啥要用全卷积结构啊?输出尺寸不该是固定的吗?),解码器会得到无伪影的图像, StyleGAN也会得到无伪影的图像。我们把两个生成器和解码器的对应层特征合并,得到最终结果。(哇,效果真的差呀,还要靠特征合并才行,这不是说明训练方向都有偏差吗……是因为合成的训练数据不能满足需要吧……)

为了训练去鬼影网络,我们合成了一系列图片对 { F train? , I } \left\{\boldsymbol{F}_{\text {train }}, \boldsymbol{I}\right\} {Ftrain??,I}

F train? \boldsymbol{F}_{\text {train }} Ftrain?? 的合成方式如下:

F train? = T ⊙ M train? + I ⊙ ( 1 ? M train? ) \boldsymbol{F}_{\text {train }}=\boldsymbol{T} \odot \boldsymbol{M}_{\text {train }}+\boldsymbol{I} \odot\left(1-\boldsymbol{M}_{\text {train }}\right) Ftrain??=TMtrain??+I(1?Mtrain??)

其中, M t r a i n \boldsymbol{M}_{\mathrm{train}} Mtrain? 的合成方式如下:

M t r a i n ( i , j ) = { M Diff-CAM? ( i , j ) , ?if? M Diff-CAM? ( i , j ) ≤ 0.5 1 ? M Diff-CAM? ( i , j ) , ?if? M Diff-CAM? ( i , j ) > 0.5 \boldsymbol{M}_{\mathrm{train}}(i, j)= \left\{\begin{array}{ccc} \boldsymbol{M}_{\text {Diff-CAM }}(i, j), & \text { if } \quad \boldsymbol{M}_{\text {Diff-CAM }}(i, j) \leq 0.5 \\ 1-\boldsymbol{M}_{\text {Diff-CAM }}(i, j),& \text { if } \quad \boldsymbol{M}_{\text {Diff-CAM }}(i, j)>0.5 \end{array}\right. Mtrain?(i,j)={MDiff-CAM??(i,j),1?MDiff-CAM??(i,j),??if?MDiff-CAM??(i,j)0.5?if?MDiff-CAM??(i,j)>0.5?

T \boldsymbol{T} T 是随机选择的,根据选择的 T \boldsymbol{T} T ,可以得到对应的 M Diff-CAM? \boldsymbol{M}_{\text {Diff-CAM }} MDiff-CAM??

这个式子把 M t r a i n \boldsymbol{M}_{\mathrm{train}} Mtrain? 中所有的值都压到 [0,0.5] 之间,这样可以人为制造伪影,但是又不至于太过,这样我们就可以把 I \boldsymbol{I} I 作为 ground truth 。

用了三个损失,L2像素级重建损失、VGG16 L2感知损失、对抗损失。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-09-21 00:29:07  更:2022-09-21 00:31:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:57:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码