一 写在前面
未经允许,不得转载,谢谢~~~
有将近2个月的时间没有在上更文了,这段时间小伙伴们的留言和评论也没有及时处理,/抱歉(灬°ω°灬)
这篇文章是我自己的第一篇学术论文,从去年4月投稿到10月底参加学术会议,中间学到很多东西。
希望会是一个好的开始,希望接下来能保持努力。❥
文章基本信息:
- 会议:ACMMM2019
- 论文:Embodied One-Shot Video Recognition: Learning from Actions of a Virtual Embodied Agent
- 原文:https://dl.acm.org/citation.cfm?id=3351015
- UnrealAction dataset:http://www.sdspeople.fudan.edu.cn/fuyanwei/dataset/UnrealAction/
二 文章简介
这个工作主要是针对小样本视频分类任务。
2.1 motivation
1. one-shot learning基本介绍
- 我们会有一个source domain(有充足的标注样本),和一个target domain(只有少量的标注样本);
- 小样本学习旨在从source classes中迁移知识到只有非常少量标注信息的target classes中;
- 所有source classes中的样本都可以用来帮助训练模型;
- 我们的最终目的是要在target dataset上达到较好的识别效果。
目前比较多的工作都还是基于image-domain上的研究,并且在general setting下source domain和target domain中的样本类别应该是不一样的。
2. one-shot learning revisited
视频相比于图像而言会多一个时域维度,所以将小样本学习从image-domain扩充到video-domain时就会碰到一些问题,这个是我们presentation时候画的示意图:
在视频的小样本学习中很容易会出现非常相近的视频同时出现在source domain和target domain中的情况,换句话说就是一个被标记为Action A的视频里面会出现包含Action B的情况。例如shooting basketball这样一个投篮的动作中就有非常大的可能包含running跑步的视频片段;
这样的一个overlapping issue本身会带来一些不太好的影响:
- 对于overlapping的类别,由于其已经出现在source domain中,但是标注的是别的类别,这对这个类别本身的识别不好;
- 很难判断模型的性能好坏;
2.2 contribution
- 针对上面提到的overlapping问题,我们在将小样本学习从图像域扩充到视频域的时候引入virtual embodied agent,通过学习虚拟人物的动作来帮助我们学习理解现实世界中的视频,然后基于这个想法提出了新的Embodied one-shot learning setting;
- 我们构建并提供了UnrealAction dataset,用于支持上面提到的Embodied one-shot learning的学习和测试;
- 针对小样本学习中target classes中标注数据极度缺乏的情况,我们提出一种简单而有效的视频段增强(video segment augmentation)方法;
接下来我会依次对以上几点进行介绍(〃''〃)
三 新的小样本学习任务:Embodied One-Shot Video Recognition
3.1 Learn from actions of virtual embodied agent
针对上面提到的overlapping问题,我们的key idea是通过学习虚拟的智能人体的动作来理解现实世界中的动作类别。
- embodied agent:是一个能够与虚拟环境进行智能交互的虚拟人体;
- 在我们的任务中,agent的任务就是尽可能真实地模仿人类的动作,这个模仿的过程在一定程度上跟我们人类认识并理解一个新的动作有点相似;
- 上图展示的是两个街舞break dancing的视频截图,感兴趣的同学可以下载我们的数据集看看哦;
生成出来的动作就可以很自然地帮助我们学习和理解现实世界中的视频,而且理论上我们可以用一个动作生成大量不同人体不同背景的视频,为模型训练提供样本。
这样做的另一个好处是由于我们生成的虚拟视频扮演的动作都是非常纯粹的,这样就可以在一定程度上避免掉开头我们提到的overlapping的问题。
3.2 UnrealAction dataset
我们通过在Unreal Engine4虚拟引擎中构建虚拟世界,然后让agent在里面perform不同的目标动作的方式生成大量的视频。
以下是UnrealAction dataset的示意图:
- 视频类别:14 action classes;
- 视频数量:每个类对应100个虚拟视频,10个真实视频的识别;
- 视频来源:虚拟视频由我们生成,真实视频在youtube等地方采集而来;
目前数据集从数量上来看还是挺小的,但是可以作为一个test benchmark。
3.3 Embodied One-shot Video Recognition
我们提出了一个新的小样本视频动作识别的setting:embodied one-shot video recognition。
然后又为这个新的setting提出了两种具体的任务定义:embodied one-shot domain adapatation以及embodied one-shot transfer recognition;
- classical one-shot setting: source 和 target都是真实的,且动作类别不一致;
- embodied one-shot domain adapatation: source是虚拟的,target是真实的,动作类别一样,旨在通过学习相同动作的虚拟视频来帮助理解现实中的视频;
- embodied one-shot transfer recognition: source是虚拟的,target是真实的,且动作类别不一样,这是最难的一种情况,即要求算法有domain adapatation的能力,又要求算法能快速识别只有少量标注样本的新类别;
四 视频数据增强方法: Video Segment Augmentation Method
受到潜意识广告实验的启发,我们提出了一种很简单但是有效的视频数据增强方法来处理小样本学习情况下目标视频标注数量非常少的情况。
简单来说,我们的想法就是给定一个待增强的视频(probe video),其中该视频的动作为c,我们用一段帧数非常少的视频片段(gallery video segment)来替换原视频中的等长的视频片段,来生成新的视频augemented video。由于被替换的视频片段非常的短,我们可以认为生成的视频动作仍然保持原来的c不变。
用这种方式我们就可以为原本有限的数据集进行数据增强的操作。
下面展示的这个是具体如何来选择gallery video segment来保证生成的视频在时序和语义空间上都尽量保持原有的连贯性:
这个算法的细节以及实验部分我就不打算在这里仔细介绍了,感兴趣的同学欢迎看看原文哇~
五 写在最后
是我写的很认真的一篇论文博客啦,嘻嘻~~
之前纠结了很长一段时间要不要写这篇博客,后来想了想还是写叭,可能会很多做的不够好的地方,欢迎大家指正啦!
如果你对这篇文章感兴趣,欢迎下载我们的论文and数据集,感谢~
最后,感谢所有帮助我过的老师同学们,并且希望自己多多努力!
2019还有不到2个月就要结束了,希望今年能再做一些工作,与大家共勉。