PaStaNet:Toward Human Activity Knowledge Engine
大家好,今天分享的是MVIG lab在cvpr2020的一篇工作,是HAKE(Human Activity Knowledge Engine)项目在行为理解上的第一篇文章,ppt内有我们的项目主页和开源代码、数据的链接,欢迎大家使用。
目前大多数的行为理解模型都采用和物体识别类似的范式,即通过DNN直接学习像素到语义概念的映射。但是由于行为理解的特殊性,例如语义的集中性、更严重的long-tail分布,人体结构的连续变化等,从实例级别特征直接映射目前遇到了性能瓶颈。在这篇工作中,我们提出了一种基于人体局部语义状态的二阶理解范式,即先从像素到part state(PaSta)再到行为概念。
PaSta的定义如图中骑车的人,他的每个身体部位都在执行不同的子行为,通过整体的配合,得到整体的行为,比如双手握住把手,双脚踏在脚蹬上等等。通过这种分解,我们可以视PaSta为行为的原语(primitive),是行为的基本组成元素,类似字母与单词,氨基酸和蛋白质的关系。
那么有了PaSta之后,我们就可以把实例级的语义分解为部位级的语义,并可以通过选择身体部位的attention得到更深层的信息。同时,由于原语的数量远少于它们能组成的行为种类,在同样的数据规模下,PaSta的long-tail程度就好很多,因此更容易识别。行为的种类成千上万,但是原语的数量是有限的,因此,从认知的角度来说,避开直接识别成千上万的组合结果,而是从基本组分出发通过学习组合关系和规则,从而可以生成巨量的行为结果,是更理智的方法。在监督学习范式下,人工标注大量的行为种类是不实际的,所以我们提出了从图像到原语,再推理到组合的思路。
举一个toy experiment的例子,假设我们有一个识别图片中数字的任务,目标是识别出一张图中最大的两个数字的和,这个任务和行为理解就很像,不同数字分布的位置和大小就像人的part一样,且能组成一定的整体状态。那么直接将所有像素送入模型,和先根据先验知识识别出part后再组合成整体相比,性能差别如何呢?
我们用2个简单的模型来测试,第一个直接把所有数字的tight box的特征送入分类器;另一个先识别检测到的每个数字,再把它们concat到一起送去分类器。
可以发现基于part的两阶方法性能明显更好。
因此我们认为,我们需要更多的细粒度知识作为原语,即part级别的信息来帮助我们做行为理解。
为了完成这件事,我们需要大量的PaSta标注,在监督学习的范式下先把PaSta的识别学好,并且需要很多PaSta和action之间的配对关系标注。因此我们构建了HAKE这个知识库。基于WordNet和现有的大量行为数据,我们采用众包的方式进行标注。
HAKE包含了非常多样的行为类型和场景。
目前HAKE已经包含了约12万张图像,156种行为,93种PaSta,以及非常多的实例和部位级别标注。
基于这些标注,我们就能构建一个PaSta的library。
并且,我们可以获取到基于大量数据下的行为和PaSta的映射关系。
基于HAKE,我们提出一个通用的知识表征提取器Activity2Vec,通过物体检测器和pose估计,获取人体部位的位置和相应的物体位置,提取他们的RoI特征后进行PaSta分类,同时将估计的PaSta token转化为Bert语言特征。最后,将视觉和语言的多模态表征输出,作为下游任务的知识输入,例如行为检测、vqa、图像描述等等,目前我们也在积极拓展和合作,展开更多的基于HAKE的工作,如果大家感兴趣的话,可以feel free联系我们。
经过Activity2Vec提取特征后,我们用人、物(如果没有交互物体,就输入context特征)和PaSta的特征构建一个图网络,并在实例级别和part级别分别进行推理,得到行为识别的结果。在这篇文章中,我们采用了late fusion的方式,以便于HAKE的结果可以和多种不同的实例级方法融合。
在进行图推理时,我们采用了很多不同的baselines,比如直接全局的图分类,采用线性、非线性或GCN的方式;或序列时地观测不同part的方式,以及不断整合sub-graph的方式等。
下面是我们的一些定性和定量结果。通过结合HAKE,多种sota的方法都得到了很好的性能提升,尤其是在few-shot的情况下。而且我们还验证了基于PaSta的方式能得到的巨大潜在性能上升空间,在HICO-DET有望可以达到30+mAP。因此,后续的工作可以先专注于提升Pasta的学习能力,就可以直接推进行为理解技术的发展;
同时从PaSta到Action是一个典型的组合学习和推理过程,非常适合于视觉推理、因果关系发现/推理、符号学习等基本问题,HAKE可以提供一个贴近实际数据场景,为后续的研究搭建一个大型的推理实验平台,这也是我们最重要的目的之一。
HAKE的项目主页有更多的信息,也提供了行为数据的上传方式,大家感兴趣的话也可以给我们提供更多的数据弹药,和我们一起丰富HAKE的知识量。
这是我们网站的二维码,欢迎大家使用。
这里也顺便介绍一下我们组在HOI上的一些工作,首先是CVPR2019的interactiveness,提出了一种简洁地判断人物交互性的检测方式,通过在多个数据集上的迁移学习,可以很好地剔除穷举配对产生的负例。
另外,在CVPR2020,我们还拓展了HOI的表征,将目前蓬勃发展的单目重建方法应用到HOI检测中,在输入2D的同时,重建出细粒度的人体3D模型和物体大小及位置,通过联合特征学习,可以有效地解决2D下的视角歧义性,取得了很好的性能。
同时,为了检验HOI检测模型对于视角变化的检测能力,我们还构建了一个新的test benchmark:ambiguous-HOI,包含了同一类行为在大幅度变化视角下的样本,目前多个sota方法在其上的性能都远低于HICO-DET,可见目前的HOI方法在克服视觉变化上还有很大的进步空间,也欢迎大家关注和在上面测试自己的模型,目前我们已经在这篇文章的github开源了所有的数据和代码。
版权声明