Disentangled
Image Generation Through Structured Noise Injection
Yazeed Alharbi
King Abdullah University for Science and Technology (KAUST)
yazeed.alharbi@kaust.edu.sa
Peter Wonka
KAUST
本文提出了一个Structured noise injection方法,即引入的噪声编码是空间的,
每个位置对应不同特征的解耦。可以说是,空间的多解耦表示!
难点在于,提出的空间解耦,需要使得每位空间单元之间编码是相互独立的。
实现方法:只要简单地将输入张量划分成不同的区域,每个区域提供不同的噪声编码,以及每个编码到相应区域的单独映射,就可以获得空间解耦。
Abstract
We explore
different design choices
for
injecting noise into generative adversarial networks
(GANs) with
the goal of disentangling the latent space
.
Instead of traditional approaches, we propose
feeding multiple noise codes through separate fully-connected layers
respectively.
The aim is restricting the influence of each noise code to specific parts of the generated image. We show that disentanglement in the first layer of the generator network leads to disentanglement in the generated image.
Through a
grid-based structure
, we achieve several aspects of disentanglement without complicating the network architecture and without requiring labels. We
achieve
spatial
disentanglement,
scale-space
disentanglement, and disentanglement of the
foreground object
from the
background style
allowing fine-grained control over the generated images.
Examples include changing facial expressions in face images, changing beak length in bird images, and changing car dimensions in car images. This empirically leads to better disentanglement scores than state-of-the-art methods on the FFHQ dataset.
文章探索不同的设计选择,以注入噪音到生成的对抗网络(GANs),目的是解开潜在的空间。
与传统的方法不同,作者提出通过单独的全连通层分别输入多个噪声码。其目的是限制每个噪声码对生成图像的特定部分的影响。作者表明,
在生成器器网络的第一层的解耦导致在生成的图像的解耦
。
通过基于网格的结构,我们在不增加网络结构复杂性和不需要标签的情况下实现了几个方面的解耦。文章实现了
空间分离、尺度空间分离和前景对象从背景样式的分离
,允许对生成的图像进行细粒度控制。
案例包括在面部图像中改变面部表情,在鸟类图像中改变喙的长度,以及在汽车图像中改变汽车的尺寸。在FFHQ数据集上,这种经验导致了比最先进的方法更好的
分离分数
。
Problem
Improving disentanglement is an open area of research as one of the main criticisms of state-of-the-art GANs is the difficulty of controlling generated images. The goal is to change certain attributes of the generated image without changing the other attributes. For example, it would be desirable to be able to add smile to a face image without changing the identity or the background.
改善解耦是一个开放的研究领域,因为最先进的
GANs的主要批评之一是控制生成的图像的困难
。
目标是更改生成的图像的某些属性,而不更改其他属性
。例如,我们希望能够在不改变身份或背景的情况下向人脸图像添加微笑。
There are two main approaches to generating an image from the intermediate representation. The
first
approach maps the code using fully-connected layers to obtain a tensor with spatial dimensions that is up-sampled and convolved to generate an image. The
second
approach starts with a common input tensor, and uses the input code to modulate the feature maps in a spatially-invariable manner. Both approaches are inherently entangled structures, i.e. every element of the latent code can influence every part in the generated image.
当前的GAN架构将
去相关的输入噪声
编码映射到定义生成图像的
中间表示
。
从中间表示生成图像有两种主要方法。
第一种
方法使用
全连接层
映射编码,以获得一个具有空间维度的张量,并对其进行上采样和卷积以生成图像。
第二种
方法从一个公共输入张量开始,并使用输入编码
以空间不变的方式调制特征图
。
这两种方法都是固有的耦合结构,即潜在编码的每个元素都会影响生成图像的每个部分。
Motivation
文章认为,通过更好地构造噪声编码码注入,可以实现一种通用的且细粒度的解耦形式。具体地说,通过
设计网络,使输入噪声的每一部分控制生成图像的特定部分
。
首先,
作者建议将
空间不变的概念与空间可变的概念分开
。为了实现这一点,文章使用了两个输入编码:一个空间不变的编码和一个空间可变的编码。
空间不变编码
用于
计算
一个
AdaIN [8]
参数。它以相同的方式对feature map中的每个像素进行操作,而
不考虑位置
。
空间变量编码
产生输入张量到生成器的上采样和卷积层。它与最终的图像有高度的空间对应。
其次,
作者建议
使用结构化的空间变量编码来控制生成图像的特定区域
。
空间变量编码包含特定于每个位置的编码、某些位置之间共享的编码以及所有位置之间共享的编码
。
Related Works
Disentanglement in
StyleGAN [12]
is mainly scale-based
.
Low-level features can be changed while maintaining high-level features, but it is incredibly difficult to change specific attributes individually.
On the other hand,
HoloGAN [17]
disentangles pose from identity, but it uses a specific geometry-based architecture that does not apply to other attributes.
Method
文章的核心方法叫做:
Structured noise injection
该方法可以通过以下几个部分展开描述:
-
Motivation and intuition
There are several motivating observations for our method. The first observation is the evident difficulty of controlling the output image of state-of-the-art GANs. Previous methods map the input noise through a linear layer or several fully-connected layers to produce a tensor with spatial dimensions. We refer to this tensor as the input tensor, as it is typically the first input to the upsampling and convolution blocks of GANs.
对于本文的方法,基于以下几个观察结果。
第一个观察是:
想要控制SOTA的GAN网络输出图像是一件非常困难的事。
以往的方法是将输入噪声映射到一个线性层或几个全连通层,从而得到一个具有空间维数的张量。我们称这个张量为输入张量,因为它是GANs的上采样和卷积的第一个输入。
InputTensor
=
W
z
+
b
(1)
W
∈ R (4·4·512)×128
z
∈ R 128×1
b
∈ R 512×1
InputTensor
∈ R 4×4×512
如公式1所示,传统的方法学习一个矩阵
W
,将整个输入噪声映射到向量,然后将其重塑为具有宽度、高度和通道。
这种设计选择是固有的耦合,因为允许输入噪声的每个入口修改输入张量的所有空间位置。
这一观察结果促使作者探索利用每个空间位置单独的噪音编码
,
从
本质上限制空间变异源之间的交流(核心)
。怎么实现呢?
We find that by simply dividing the input tensor into regions, providing a different noise code per region, and a separate mapping from each code to the corresponding region, we are able to obtain spatial disentanglement. We restructure the mapping in our method such that
z
consists of independently sampled parts that are each mapped using an independent part of
W
.
只要简单地将输入张量划分成不同的区域,每个区域提供不同的噪声编码,以及每个编码到相应区域的单独映射,就可以获得空间解耦。
在本文的方法中,作者重构了映射,使z由独立采样的部分组成,每个部分使用
W
的独立部分进行映射。在本例中,
W
是独立稀疏的
,如图3所示(下面公式)。
Figure 3
Figure 2: An illustration of the spatially-variable code mapping in our method. Our noise injection structure utilizes separating mapping parameters per code grid cell. Each cell contains a mixture of unique location-specific codes, codes that are shared with neighbors, and codes that are shared with all cells. We show that disentanglement in the input tensor leads to disentanglement in the generated images.
A key contribution of this paper is showing how the noise injection structure can lead to spatial disentanglement.
本文的一个关键贡献
是展示了如何噪声注入结构可以导致空间
解耦
。
第二个观察:
与风格传递方法有关,进一步指导对噪声注入结构的具体选择。
风格转换问题通常分为两个相互竞争的部分:
保存原始内容和添加示例样式。
内容
对应于图像的标识 (一种特定的汽车,或具有特定布局的建筑物),它通常通过从生成的图像特征到输入内容图像特征的每像素距离来影响损失。
风格
对应于诸如配色方案和边缘笔画等概念。风格通过生成的特征图统计数据和典型特征图统计数据之间的某种相关性度量来影响损失,通常是通过计算gram矩阵来实现的。
内容丢失更多地依赖于空间值的排列,而不是风格。这是因为内容丢失是基于位置的,通常使用L2距离来衡量,而风格丢失是基于对整个特征地图的汇总统计,通常使用相关性来衡量。
本文的另一个关键贡献
是提出了一种噪声注入结构,该结构可以使前景对象 (空间可变的内容) 和背景类型 (特征图范围的风格) 之间的解耦,从而使前景空间区域的变化不会影响背景风格。
-
Structure design space
One factor
is the complexity of the mapping.
Some methods
[20, 2]
use a single
linear layer
to move from noise to latent space, while other methods
[12, 1]
employ a
fully-connected network
with several layers.
Another factor
is the way the noise code is used
, whether it is used to generate an input tensor to upsample and convolve or used to modulate feature map statistics.
We find that sampling independent noise codes spatially and pushing them through independent mapping layers is sufficient to achieve disentanglement.
作者选择注入两种类型的噪音编码,结合了传统和最近的噪音编码的优点。
-
风格编码:用于调整feature map统计。
-
空间变量代码,用传统的方式生成一个具有空间维度的张量来提供给上行采样和卷积模块。该编码包括:输入张量的每像素独立局部编码和共享编码。
空间变量代码构成如
图2
。包括:8x8 个cell编码;每2x2个cell的空间又共享一个编码(原文叫做2x2编码);所有celll又共享一个编码。这样,就构成了一个局部和全局的解耦方法。
按照上述方法,可以实现三个解耦:
-
Foreground-background disentanglement
通过本文的方法获得的第一个在图像的背景风格和前景之间的解耦。
By providing independent spatially-varying values, allowing them to completely define earlier layers, and applying style modulation in later layers, we encourage the spatially-variable code to define the foreground, and the style code to define background and general image appearance.
通过提供独立的空间变化值,允许他们定义
浅
层,并在
深
层中应用
风格
调制
。
空间变化代码来定义前景,
风格
代码来定义背景和一般图像外观。
-
Local disentanglement
第二个方面的解耦是前景中的局部区域之间的分离。本文的方法能够解开概念耦合的主要原因之一是噪声张量映射。作者把映射的输入张量看作一个网格,其中每个单元格都是通过一个特定位置的映射函数来推动输入噪声的特定位置部分的结果。因此,我们的方法允许更改单个单元格来更改生成图像的相应部分。虽然这些变化是高保真的局域化的,但预计由于产生层的空间重叠,一个单元的变化可以导致周围区域的微小改变。
-
Local-global disentanglement
第三个解耦方面是局部和全局影响。只使用局部值来确定最终图像有一些缺点。由于图像中的一些概念默认是全局的(比如姿势和性别),此时网络被迫将全局概念与许多局部值联系起来。例如,改变一个包含嘴或下巴部分的网格cell编码,有时也会改变姿势和性别,这是不可取的。从局部图像中分离出整体图像会更加友好,例如,改变包含嘴部的细胞可能会改变笑容或面部毛发,但不会改变姿势或年龄。
建议保留空间可变噪声代码的某些项为全局的,并在局部单元间共享。所以在噪声到张量映射之前,将全局代码与每个局部代码连接起来。这与
FineGAN
的方法没有太大的不同,FineGAN的方法将父编码与细节层的代码连接起来。有趣的是,在没有任何监督的情况下,在对FFHQ人脸图像进行训练时,网络学会了将全局入口与姿势联系起来。对不同长度的全局编码码进行了几次实验,
结论是:全局代码的表现力越强,局部代码的影响就越小,而全局代码的耦合性就越强。
Disentangled Image Generation Through Structured Noise InjectionYazeed Alharbi King Abdullah University for Science and Technology (KAUST) yazeed.alharbi@kaust.edu.saPeter Wonka KAUST本文提出了一个Structured noise injection方法,即引入的噪声编码是空间的,每个位置对...
在有限数据下对
生成
性对抗网络进行正则化
我们的
GAN
正则化方法的
实现
。 拟议的正则化1)在有限的训练数据下提高了
GAN
的性能,并且2)补充了现有的数据扩充方法。
请注意,这不是官方支持的Google产品。
如果您发现对您的研究有用的代码或数据集,请引用我们的论文。
在有限数据下对
生成
性对抗网络进行正则化,,, ,2021年的计算机视觉和模式识别(
CVPR
)
@inproceedings{lecam
gan
,
author = {Tseng, Hung
-
Yu and Jiang, Lu and Liu, Ce and Yang, Ming
-
Hsuan and Yang, Weilong},
title = {Regularing Generative Adversarial Networks under Limited Data},
booktitle = {
CVPR
}
主要依赖项:Python 3.6和Pytorch
-
0.3.1( )
$ git clone https://github.com/YapengTian/TDAN
-
VSR
$ compile deformable convolution functions (may be optional): bash make.sh
$ pip install
-
r requirements
$ python eval.py
-
t test_dataset_path
如果您发现该代码对您的研究或工作有所帮助,请引用我们的论文:
@article { tian2018tdan ,
title = { Tdan: Temporally deformable ali
2019/10/06 :再次感谢 !!! 替换了keras Lambda图层,并支持转换后的!
2019/09/27 :重构模型代码贡献的代码非常漂亮,简洁。
2019/08/30 :演示更新! 强大,快速的SSD面部检测器!
(基线Hopenet: : )
(新!!!)具有SSD面部检测器的快速,强大的演示(2019/08/30)
网络摄像头演示
签收人(LBP)
多人(MTCNN)
细粒
结构
PDF格式
python setup.py build_ext
-
-
inplace
我们首先对PartNet形状进行体素化,然后将每个零件缩放到$ 64 ^ 3 $的分辨率。 我们提供三种类别的数据:椅子,桌子,灯。 请使用或下载体素化的PartNet形状并将文件精确到data/文件夹,例如
cd data
tar
-
xvf Lamp.tar.gz
然后运行data/sample_points_from_voxel.py来采样配对点和带符号的值,例如:
python data
四篇
图像
解
耦
工作简要介绍
1 Variational Interaction Information Maximization for Cross
-
domain Disentanglement
这篇文章的思想是使用信息论知识,
实现
跨域
图像
解
耦
表示,是基于VAE的一个改进工作。
对于
图像
对x,y,二者之间既有共享的表征信息,也有不共享的表征信息,这篇文章提了如下图所示的架构,训练一个VAE,同时学到X的特定表征,Y的特定表征以及X与Y之间的共享表征,这一目的通过最大化X与Y的联合分布之间的边际似然函数
实现
:.
基于核估计和
噪声
注入
的真实世界超分辨率
作者:Xiaozhong Ji,Yun Cao, Ying Tai, Chengjie Wang,Jilin Li,Feiyue Huang论文
CVPR
2020链接开源代码
最近,先进的超分辨率方法在忽略模糊和
噪声
的理想数据集上已经取得了令人印象深刻的性能。但是,这些方法在实际的超分辨率
图像
中都失败了,因为它们大多采用简单的高质量
图像
的双三次下采样来构造低分辨率(LR)和高分辨率(HR)
图像
对进行训练,可能会丢失与频率相关的细节。为了
解
决这一问题,作者
[NEW!]增加对支持, 是一种多模式无监督的
图像
到
图像
翻译方法!请遵循来测试预训练的模型,并按照来训练自己的模型!
[NEW!] 发布了!我们引入了一种改进的管道,即,它可以通过更简单的过程产生与
GAN
压缩相当的结果!
我们介绍
GAN
压缩,这是一种用于压缩条件
GAN
的通用方法。我们的方法在保持视觉保真度的同时,将pix2pix,Cycle
GAN
和Gau
GAN
等广泛使用的条件
GAN
模型的计算量减少了9
-
21倍。我们的方法适用于多种发电机架构,学习目标以及成对和不成对设置。
GAN
压缩:用于交互式条件
GAN
的高效架构,,,,和麻省理工学院,Adobe Research,上海交通大学在
CVPR
2020中。
GAN
压缩框架:①给定一个受过预训练的教师
生成
器G',我们提取了一个较小的“全民所有”学生
生成
器G,其中包含通过权重分配的所有可能的频道号。在每个
本文是对发表于计算机视觉和模式识别领域的顶级会议 ICCV 2021 的论文“ Orthogonal Jacobian Regularization for Unsupervised Disentanglement in Image Generation(用于无监督
图像
生成
解
耦
的正交雅可比正则化)”的
解
读。
该论文由哈尔滨工业大学与好未来合作,针对
图像
生成
中无监督
解
耦
问题,提出了一种正交雅可比正则化(Orthogonal Jacobian Regularization, OroJaR)用于学习
解
耦
存入本地时有些字符报错:‘gbk’ codec can’t encode character
解
决方法
信息存入本地:python将数据写入本地txt文本文件
无法打开图片:raise IOError(“cannot write mode as PNG” mode)如何
解
决?
分割范围问题,使用abs()求绝对值
解
决负值问题:SystemError: tile cannot extend outside image
文件夹内图片格式不同:文件夹多个图片 批量修改图片格式
通过PIL获取
图像
的尺寸,从而进.
2020年的计算机视觉与模式识别国际会议(
CVPR
)中,小样本学习成为了一个热门话题。在
CVPR
2020中,许多重要的研究都集中于小样本学习
解
决方案。
小样本学习的意义在于模型如何从很少的数据点中学习。在现实世界中,我们面临的很多问题都是小样本问题,例如医学影像分析,金融风险评估,自然语言处理等等。采用小样本学习的方法为这些问题提供了有效的
解
决方案。
在2020年的
CVPR
中,研究者们提出了许多小样本学习算法和模型。其中最重要的是元学习。元学习在小样本学习中非常重要。元学习的基本思想是通过迁移学习,让模型从不同数据集中进行学习并进行知识迁移学习。在元学习中,一个模型会从一个任务中学习并推广到其他任务中。
另一种常见的小样本学习方法是采用
生成
式对抗网络(
GAN
s)进行特征提取和
图像
生成
。研究者们使用
GAN
s来
生成
新的图片样本,从而增加数据样本的数量。这种方法在小样本学习中非常有用,因为
GAN
s可以
生成
无限数量的样本集。
总之,小样本学习在计算机视觉和模式识别领域中变得越来越重要。在
CVPR
2020中,我们看到了许多新方法和技术的出现,它们为
解
决小样本学习问题提供了前所未有的
解
决方案。我们相信,随着更多的研究和技术的进步,小样本学习将成为计算机视觉和模式识别的重要工具。
重新定义弱光增强的质量、效率和价值的峰值点,CVPR2022 Oral :Toward Fast, Flexible, and Robust Low-Light Image Enhancement
现实幻想家:
MyDLNote-High-Resolution: CVPR2020 High-Resolution Daytime Translation 不带域名标签的高分辨率日间图像翻译
vivianaaa:
Zetane Engine : 神经网络一键可视化
weixin_45088702:
Zetane Engine : 神经网络一键可视化
weixin_45088702: