资讯 人工智能开发者
此为临时链接,仅用于文章预览,将在时失效

【ICCV 2017论文笔记】我们应当如何理解视频中的人类行为?

作者:林天威SJTU
2017/09/14 16:44

雷锋网按:本文出自知乎专栏CV论文笔记及其它,作者林天威。

最近ICCV 2017公布了论文录用的情况,我照例扫了一遍论文列表寻找感兴趣的文章。“What Actions are Needed for Understanding Human Actions in Videos?” 一文应该是我觉得最有趣的一篇文章。这篇论文并没有提出或改进任何方法,而是通过各种小实验,对目前视频行为理解的各种数据库和方法进行了细致的讨论和思考。其中许多观点和结论我觉得对于做视频行为理解的研究人员是有不少启发的。这篇笔记里我简单的进行一些记录,供自己和大家参考。感兴趣的话还是推荐阅读论文原文,从论文写作角度来看这是一篇写的非常好的论文。

背景介绍

该文主要对视频行为理解中的行为分类( Action Recognition) 和时序行为检测( Temporal Action Detection) 两个问题进行了讨论,这两个领域及相关工作的具体介绍可见我之前的文章【https://zhuanlan.zhihu.com/p/26460437】,【https://zhuanlan.zhihu.com/p/26603387】。简单来说,行为分类是要给一段分割好的短视频(通常只包含一段人类动作)进行动作种类的分类,而时序行为检测则主要针对较长的未分割视频,除了要对视频中人类行为的种类进行分类外,还需要定位动作的时序边界。在这两个方向中,该文则更注重对行为分类问题的讨论。

深度学习(或者说数据驱动的方法)在各个领域的发展离不开各个领域中数据库的发展,视频行为理解领域亦然。从最早的非常简单的KTH数据库,到包含各类运动,简单日常行为的UCF101, THUMOS, HMDB-51等数据库,再到这两年类别数量更大,视频数目也更多的ActivityNet, Charades等数据库,数据库的发展也一步一步推动着视频行为理解方法的发展。本文主要针对Charades数据库进行了分析,原因大概是因为该数据库就是本文作者提出的。实际中,这两年相关的论文在Charades数据库上进行实验的似乎并不多见。

【ICCV 2017论文笔记】我们应当如何理解视频中的人类行为?

本文的结构主要是以几个问句为主,通过对疑问进行分析来将讨论逐步推进,每个大问题下还包含一些小问题。本文主要的问题/章节包括以下几个。

这几个问题从现有数据库及任务本身的分析,到算法的分析,最后到未来发展方向的展望,可以说是层层递进。下面就开始对各个部分进行简单的介绍。

What are the right questions to ask?

这部分内容对视频行为理解任务本身进行了一些基础的探讨,主要的出发点是研究人类本身如何理解视频中的人类行为。主要包括两个子问题。

(1)  What are the right activity categories?

对于图像中的物体,其语义的类别通常是非常明确的,一般不存在混淆。然而,用动词来定义的人类动作其数目则要少很多,且常常存在一定的歧义性。举例来说,“跑”,“跳” 这些动作本身含有比较明确的定义,而 “拿“,”取“ 这些动作则模糊的多,需要和名词结合才能明确其意义,比如”拿衣服“,”取药“等。因此,动词或是动词和名词的组合构成了一个动作的最基本定义。

该文召集了一些志愿者,在Charades数据集上进行了一些人类学习实验。实验结果表明人类对于动词比起名词更容易感到混淆。进一步的实验也表明了单独的动词不能够对动作进行足够清晰的描述。因此,动词和名词的组合在对动作的描述上是更加清晰的。

(2)  Do Activities have temporal extents?

对于图像中的物体来说,其边界通常是非常明确的,对应的学习任务包括目标检测以及目标分割。然而,人类行为的时序边界则常常是不够明确的。

该文同样进行了一些人类学习实验,实验的内容为让人类标记者重新来对视频中的行为边界进行标定,并与数据库的真值进行比较。实验主要有以下几点观察:

那么关于时序边界,可以进一步的问以下的问题:

Can we evaluate temporal localization?

即在时序动作边界模糊的情况下,我们是否能够来评估时序动作定位(时序动作检测)呢?略去实验,该文给出的结论是:尽管时序边界存在模糊性,目前的数据集还是允许我们对动作的时序边界进行理解,学习以及评估的。

Should we evaluate temporal localization?

这是该部分的最后一个问题,即时序动作检测/定位是否值得我们去做。该文衡量了一个假定的完美的行为分类器,在行为检测任务上进行实验,在Charades数据集上达到了为56.9%,大约五倍于该数据集上的state-of-the-art的精度。这部分作者讲的很不清楚,此处作者应该是用某种方法生成了时序动作的proposal,再用完美分类器对这些proposal进行分类,从而实现检测的效果。

基于这一点,作者认为对于较短的视频,专注于行为分类任务比起行为检测任务能够带来更多的检测精度提升。所以该文的后面部分主要对行为分类任务进行讨论。注意此处作者的观点,是认为在“短视频”情况下(此处使用的是Charades数据集),提高分类器的精度更容易带来检测精度的提高。但我认为这个仅为该数据集的情况。对于其他一些数据集,如ActivityNet,其分类精度已经相当高了(91%左右),此时比起继续提高分类器的精度,提高时序动作边界的定位质量,能够带来更多检测精度的提高。

What are existing approaches learning?

该部分则主要讨论了现有的模型在学习行为分类的过程中到底学到了什么。这部分采用了几种目前比较主流的行为分类算法,以Charades数据集为主进行了实验分析。

(1)  Analyzing correct and incorrect detections

该文首先给出了一个例子,即Two-Stream方法在Charades数据集上的测试结果,第一行为正确的检测,后面几行为不同的错误检测例子。

【ICCV 2017论文笔记】我们应当如何理解视频中的人类行为?

从这张图片中,我们可以对模型的缺陷进行如下的分析

该图则表现了不同算法的预测结果的分析。可以看出对于动词和名词,均存在显著的混淆情况。

【ICCV 2017论文笔记】我们应当如何理解视频中的人类行为?

该图表现了不同的混淆程度对精度的影响。此处的复杂度,如动词复杂度指同一个动词,不同名词组合的数量。数量越多表明混淆情况比较严重。大体上可以得出,混淆情况越高,所能达到的精度一般越低。

(2)  Training Data

该部分主要分析了训练数据以及动作类别的影响。在训练模型时,使用更多的数据通常能获得更好的效果,但具体而言如何增加数据才能有效的提高效果呢?本节对样本数量较多与较少的动作类别分别进行了分析

小样本数量的动作类别

大样本数量的动作类别

【ICCV 2017论文笔记】我们应当如何理解视频中的人类行为?

(3)  Temporal reasoning

这部分主要讨论时序上的动作理解。

【ICCV 2017论文笔记】我们应当如何理解视频中的人类行为?

从该图可以看出,在分类任务上,现在的方法能更好的处理时间较长的动作,较短的动作因为时序信息较少所以更难。此外,作者认为结合时序上的预测结果是non-trivial problem, 即一个有意义的问题。实际上今年有不少工作都是通过时序结果的编码来提高分类的精度。

(4)  Person-based Reasoning

这一部分作者主要有几点观点/结论

Where should we look next?

最后一部分中,作者对可以提高的方向进行了一些分析。主要的方式是提供一些额外的信息,观察在拥有额外信息的情况下,模型能够多大的提高。主要包括以下几种。


【ICCV 2017论文笔记】我们应当如何理解视频中的人类行为?

实验结果主要是对模型所应该侧重的发展方向起一定的启示作用。

小结

在做视频行为分析的研究工作时,很多时候会忽略掉一些基础的信息,而是埋头于模型调参。而读完这篇文章我最大的感受是,在解决一个具体问题的时候,对问题进行细致的思考和分析非常重要,能够使得自己在设计方法是更有针对性,也更有效率。上面的比较内容比起原文很简略,若看完后有兴趣还是非常推荐阅读原文。

长按图片保存图片,分享给好友或朋友圈

【ICCV 2017论文笔记】我们应当如何理解视频中的人类行为?

扫码查看文章

正在生成分享图...

取消
相关文章