【论文笔记 - 图像生成 - CVPR2022】Learning to Memorize Feature Hallucination for One-Shot Image Generation

【论文笔记 - 图像生成 - CVPR2022】Learning to Memorize Feature Hallucination for One-Shot Image Generation_第1张图片
论文地址:https://drive.google.com/file/d/1Gq-167f2ue30463K4XMkHOJThg9Yugk0/view
参考:1. 简单解读

本文研究的是图像生成领域中的单样本生成 ( O n e - S h o t   G e n e r a t i o n , O S G ) (One\text{-}Shot\ Generation,OSG) (One-Shot Generation,OSG)任务,要求能够将从基础类别数据集(有限,已知的)学习到的知识,泛化到新的、只有一张参考图片的类别上,生成多样化的并且合理的同类图像。就像人类能够通过联想和幻想来达到“见微知著”一样,我们希望模型能够识别,学习和记住一些类别无关的通用信息(特征)。

现有的单样本生成方案通常会隐式地学习一些可重用特征,从而很容易在预训练数据上过拟合。本文提出了一个新的模型,能够将图像特征显式分解为类别相关(Category-Related,CR)和类别无关(Category-Independent, CI)的特征。从而生成网络可以进一步利用与类别无关的 C I CI CI 特征生成目标类别的新图像。

两个关键的挑战:

  • 新类别的数据不足,每一个类只有一张图像可以使用(论文中的描述如下,而作者后面有说编码器 E c r \mathbf{E}_{c r} Ecr 计算同一分类的多个实例的平均特征得到 f c r f^{cr} fcr,所以训练数据每个类有多个数据,有一些歧义。)
  • 训练类别和测试类别是分开的,并且得到的特征不一定能够应用到新类别图像的合成。

(1)There is insufficient training data as only one input image per class is available.

(2)Pre-training (base) categories and target (novel) categories are dis-jointed, and the features learned on base are not necessarily generalizable for image synthesis of target categories.

因此本文的关键就在于学习 f e a t u r e s   o f   h a l l u c i n a t i o n features\ of\ hallucination features of hallucination,这些特征需要满足可重复使用并且从源类别可迁移到目标类别。

例如,先给定一张熊猫图像,那么在基础数据集(先验知识)上预先学习的与该类别无关 ( C a t e g o r y   I n d e p e n d e n t ,   C I ) (Category\ Independent,\ CI) (Category Independent, CI) 的特征将被重复使用来幻想 h a l l u c i n a t e hallucinate hallucinate 新的图片,合成的熊猫图像与基础数据集中的一些图像具有相似的草背景或类似的张嘴姿势。

【论文笔记 - 图像生成 - CVPR2022】Learning to Memorize Feature Hallucination for One-Shot Image Generation_第2张图片
本文的主要贡献,

  • 提出了学习记忆特征幻想 ( M e m o r i z e   F e a t u r e   H a l l u c i n a t i o n ,   M F H ) (Memorize\ Feature\ Hallucination,\ MFH) (Memorize Feature Hallucination, MFH) 模型,该模型能够通过在原始数据集上的图像重建过程显式地学习 C R CR CR C I CI CI​ 特征 M F H MFH MFH 包含学习记忆 L e a r n i n g   t o   M e m o r i z e ,   L 2 M Learning\ to\ Memorize,\ L2M Learning to Memorize, L2M 模型来分离图像特征并存储 C I CI CI 特征以及特征幻想 F e a t u r e   H a l l u c i n a t i o n ,   F e a H a Feature\ Hallucination,\ FeaHa Feature Hallucination, FeaHa 模型来根据不同 C I CI CI 和相同 C R CR CR 来生成新图像。
  • 为了有效地学习与类别无关的 C I CI CI 特征,在没有标签的情况下,引入了隐式监督策略,来帮助模型显示地学习可在 O S G OSG OSG 中重复使用的特征(如嘴部动作、背景纹理等)。简单来说就是给定来自同一类的两张不同生成图像(两张图片有相同的 C R CR CR,不同的 C I CI CI)计算损失。

1. 网络模型

网络结构如下图所示, L 2 M L2M L2M 模块学习可在类别间重用的 C I CI CI 特征,这些特征进一步存储在内存结构 M M M 中。 F e a H a FeaHa FeaHa 组件从 M M M 中采样,并与输入样本中提取的 C R CR CR 特征连接,生成新图像。

【论文笔记 - 图像生成 - CVPR2022】Learning to Memorize Feature Hallucination for One-Shot Image Generation_第3张图片

1.1 L2M

模型的关键,

  • 通过两个编码器 E c r \mathbf{E}_{c r} Ecr E c i \mathbf{E}_{ci} Eci 将图像映射到 C I CI CI C R CR CR 两个特征嵌入空间,其中,编码器 E c r \mathbf{E}_{c r} Ecr 计算同一个类别中多个实例对象的平均特征,而编码器 E c i \mathbf{E}_{ci} Eci 从单张输入图像 x i \mathbf{x}_{i} xi 中提取特征 f i c i ~ \widetilde{f_{i}^{c i}} fici
  • 为了更有效的学习记忆,引入了寻址网络 R R R 根据 f i c i ~ \widetilde{f_{i}^{c i}} fici 生成 o n e - h o t one\text{-}hot one-hot 向量 π i \pi_{i} πi,表示每个 C I CI CI M M M 中的位置,那么在生成图像阶段,通过后式来获取 C I CI CI 特征, f i c i = π i ⋅ M f_{i}^{c i}=\pi_{i} \cdot \mathbf{M} fici=πiM

1.2 FeaHa

包含生成器和判别器,

  • 生成器根据记忆中的 C I CI CI 特征和新类别中的 C R CR CR 特征生成新图片。将这两个特征连接起来作为网络的输入,并且在每个卷积层后采用了 A d a I N AdaIN AdaIN,在 32 × 32 32\times32 32×32 的特征图之前,使用类别无关特征 f i c i f_{i}^{c i} fici 作为 A d a I N AdaIN AdaIN 的条件,其余部分使用类别相关特征 f c r f^{cr} fcr,保证了输出图像和输入图像的类别相同。
  • 判别器负责对抗训练,考虑到生成图像有严格的类别要求,采用了 C G A N CGAN CGAN 的判别器结构,即输入为生成图像和类别相关向量,输出在该类别下是真图或者假图的概率。

2. 损失函数

总的优化目标如下所示,

minmax ⁡ L G A N + λ R L R + λ d s L d s + λ c b L c b \operatorname{minmax} \mathcal{L}_{G A N}+\lambda_{R} \mathcal{L}_{R}+\lambda_{d s} \mathcal{L}_{d s}+\lambda_{c b} \mathcal{L}_{c b} minmaxLGAN+λRLR+λdsLds+λcbLcb

其中,$\mathcal{L}{G A N}, \mathcal{L}{R}, \mathcal{L}{d s},\mathcal{L}{c l s} $ 分别代表 G A N GAN GAN 对抗损失、重建损失、多样性损失和类别平衡损失。

对抗损失,由于采用了 C G A N CGAN CGAN,其中包含了类别的监督,由下式计算,

L G A N ( G , D ) = E x , y [ − log ⁡ D ( x , y ) ] + E x , y [ log ⁡ ( 1 − D ( x g e n , y ) ) ] \mathcal{L}_{G A N}(G, D)=\mathbf{E}_{\mathbf{x}, \mathbf{y}}[-\log D(\mathbf{x}, \mathbf{y})] +\mathbf{E}_{\mathbf{x}, \mathbf{y}}\left[\log \left(1-D\left(\mathbf{x}^{g e n}, \mathbf{y}\right)\right)\right] LGAN(G,D)=Ex,y[logD(x,y)]+Ex,y[log(1D(xgen,y))]

重建损失,是为了让网络更好的学习生成图像。根据输入的图像 x x x,可以获得 f x c i f_{\mathbf{x}}^{c i} fxci f x c r f_{\mathbf{x}}^{c r} fxcr,那么生成器就可以根据这两个特征向量来生成图片,应该和源图保持一致,

L R = E x [ ∥ x − G ( f x c r , f x c i ) ∥ 1 ] \mathcal{L}_{R}=\mathbf{E}_{\mathbf{x}}\left[\left\|\mathbf{x}-G\left(f_{\mathbf{x}}^{c r}, f_{\mathbf{x}}^{c i}\right)\right\|_{1}\right] LR=Ex[xG(fxcr,fxci)1]

多样性损失,是监督 M F H MFH MFH 提取可重用 C I CI CI 特征的关键。从 M M M 中选取 f a c i f_{\mathbf{a}}^{c i} faci f b c i f_{\mathbf{b}}^{c i} fbci ,然后根据输入图像得到的 f x c r f_{\mathbf{x}}^{c r} fxcr 生成两张图片 x a g e n \mathbf{x}_{a}^{g e n} xagen x b g e n \mathbf{x}_{b}^{g e n} xbgen,那么多样性损失就是促使两个图像有多大的不同,

L d s = α − E x [ ∥ G ( f x c r , f a c i ) − G ( f x c r , f b c i ) ∥ 1 ] \mathcal{L}_{d s}=\alpha-\mathbf{E}_{\mathbf{x}}\left[\left\|G\left(f_{\mathbf{x}}^{c r}, f_{a}^{c i}\right)-G\left(f_{\mathbf{x}}^{c r}, f_{b}^{c i}\right)\right\|_{1}\right] Lds=αEx[G(fxcr,faci)G(fxcr,fbci)1]

其中, α \alpha α 就是控制多样性程度的超参数。整个计算过程如下图所示,

【论文笔记 - 图像生成 - CVPR2022】Learning to Memorize Feature Hallucination for One-Shot Image Generation_第4张图片

类别平衡损失,是为了使 C I CI CI 的分布足够均衡,不集中在某个特征,

L c b = K L ( π i ∥ q ( π ) ) L_{c b}=\mathrm{KL}\left(\pi_{i} \| q(\pi)\right) Lcb=KL(πiq(π))

其中, q ( π ) q(\pi) q(π) 为均匀分布。

3. 效果

【论文笔记 - 图像生成 - CVPR2022】Learning to Memorize Feature Hallucination for One-Shot Image Generation_第5张图片

你可能感兴趣的:(论文笔记,计算机视觉,深度学习,机器学习,python)