cvpr-2019 GZSL论文阅读
来自中科院一名美女小姐姐的总结,转载一下,以便以后好查看。
解决的任务
大多数现有方法都在完全监督的情况下解决了视频中的动作识别问题。 在这样的设置中,测试期间发生的所有动作类别都是先验的,并且在训练期间可以使用所有动作类别的实例。 但是,在许多实际应用中(例如,在网络视频中自动标记动作),受到完全监督的问题设置是不现实的,因为在训练过程中无法获得有关某些动作类别的信息。 因此,在这项工作中,我们在zero-shot的设置下解决动作识别问题。
Zero-shot任务是将图像或视频分类为训练阶段未见过的新类别。Generalized zero-shot action recognition(GZSL)与ZSL的不同之处在于,测试样本可以属于可见或不可见类别。Generalized zero-shot action recognition任务是除了识别可见的动作类别外,也要识别在训练阶段不可见的新的动作类别。现有方法由于学习到的分类器对可见的动作类别存在固有偏差,导致不可见的类别样本被错误地分类为属于可见的动作类别之一。
在本文中,着手通过在Generalized zero-shot action recognition中对可见和不可见动作类别进行单独处理来解决该问题。 本文引入了out-of-distribution检测器,该检测器确定视频特征是否属于可见或不可见动作类别。 为了训练out-of-distribution(OD)检测器,使用针对可见动作类别特征训练的生成对抗网络,合成了不可见动作类别的视频特征。
思想精髓
本文提出了一种新颖的基于out-of-distribution检测器的Generalized zero-shot action recognition框架:
-
OD检测器可以减少标准GZSL框架中存在的可见动作类别的固有偏差的影响;
-
采用 the conditional Wasserstein GAN with additional loss terms(增加了额外损失的WGAN)生成不可见动作类别的视频特征,用于训练OD检测器;
-
OD训练器使用来自可见动作类别的真实特征和来自不可见动作类别的合成特征进行训练,可以有效地区分语义相似的可见和不可见动作类别,从而改善了动作分类的性能。
主要内容
![GZSL框架](https://i-blog.csdnimg.cn/blog_migrate/5dd8abcf32a3e4da586e7acf99e266a0.png)
框架的描述:
-
spatio-temporal CNN:计算可见类视频的真实特征 。
-
conditional WGAN:以class embedding e(y) 为条件,通过 L maty , L g c , L emb L_{\text {maty }}, L_{\mathrm{gc}}, L_{\text {emb }} Lmaty ,Lgc,Lemb 损失训练conditional WGAN生成视频特征 x ~ \tilde{x} x~;训练完成后,the generator以unseen class embedding e(u) 为条件生成不可见类别特征 x ~ u \tilde{x}_{u} x~u。
-
分类器:真实的可见类特征 x s x_{s} xs和生成的不可见类别 x ~ u \tilde{x}_{u} x~u用于学习三个分类器 f o d , f s , f u f_{o d}, f_{s}, f_{u} fod,fs,fu。
整个框架可大体分为两部分:
- Generating unseen class features
- Out-of-distribution detector for unseen class
Generating unseen class features
因为需要生成特定于不可见动作类别的特征,所以利用A conditional WGAN以embedding e(y)为条件,学习生成视频特征
x
~
\tilde{x}
x~。学习完成后,以unseen class embedding, e(u)为条件,生成不可见类别的视频特征;The conditional WGAN loss 如下:
![公式](https://i-blog.csdnimg.cn/blog_migrate/e687bdd0584dc10b82fb54231bc3cd9a.png)
一个特定类 的生成特征应该和相同类的真实特征相似,和其他类 的特征不相似。为此,首先在一个小批处理中对真实的和合成的特征进行配对,生成匹配的(相同的类)和不匹配的(不同的类)对;然后使用余弦嵌入损失,将匹配的特征与不匹配的特征之间的距离分别最小化和最大化,公式如下:
![公式](https://i-blog.csdnimg.cn/blog_migrate/47250840a9f7759f93813871d1aed8ce.png)
最后用β和γ作为加权各自损失的超参数来训练GAN:
![公式](https://i-blog.csdnimg.cn/blog_migrate/a047e5d946220c0a7bbc9a0c80bb9396.png)
Out-of-distribution detector for unseen class:
Out-of-distribution detector用于区分可见类和未见类的特征。使用训练数据训练完GAN后,the generator用来生成不可见类别的特征。然后可见类别的真实特征
x
s
x_{s}
xs和不可见类别的生成特征
x
~
u
\tilde{x}_{u}
x~u被用来训练out-of-distribution detector。除了训练该detector之外,还训练两个分类器
f
s
f_{s}
fs和
f
u
f_{u}
fu。一个用于可见类,另一个用于未见类。分别利用所见类的真实特征和未见类的生成特征来训练这两个分类器。
在推理阶段,测试视频通过spatio-temporal CNN计算真实特征
x
t
e
s
t
x_{test}
xtest,然后把特征送入OD检测器,如果输出
f
o
d
(
x
t
e
s
t
)
f_{od}(x_{test})
fod(xtest)的熵低于阈值
e
n
t
t
h
ent_{th}
entth,
x
t
e
s
t
x_{test}
xtest通过可见类别分类器
f
s
f_{s}
fs预测测试视频的类标签;反之同理。