PaStaNet:Toward Human Activity Knowledge Engine
![](https://bbsfile.sffai.com/2020-10-27/1603788163-889668-7b07a08c-65e5-4e0c-a21f-91aae5f400cf.png)
大家好,今天分享的是MVIG lab在cvpr2020的一篇工作,是HAKE(Human Activity Knowledge Engine)项目在行为理解上的第一篇文章,ppt内有我们的项目主页和开源代码、数据的链接,欢迎大家使用。
目前大多数的行为理解模型都采用和物体识别类似的范式,即通过DNN直接学习像素到语义概念的映射。但是由于行为理解的特殊性,例如语义的集中性、更严重的long-tail分布,人体结构的连续变化等,从实例级别特征直接映射目前遇到了性能瓶颈。在这篇工作中,我们提出了一种基于人体局部语义状态的二阶理解范式,即先从像素到part state(PaSta)再到行为概念。
![](https://bbsfile.sffai.com/2020-10-27/1603788183-978190-6724af3d-6bf0-41ce-b94d-dc0ac87f4f2b.png)
PaSta的定义如图中骑车的人,他的每个身体部位都在执行不同的子行为,通过整体的配合,得到整体的行为,比如双手握住把手,双脚踏在脚蹬上等等。通过这种分解,我们可以视PaSta为行为的原语(primitive),是行为的基本组成元素,类似字母与单词,氨基酸和蛋白质的关系。
![](https://bbsfile.sffai.com/2020-10-27/1603788192-871475-46fedd1e-7612-4d2b-87c4-046109b3f752.png)
那么有了PaSta之后,我们就可以把实例级的语义分解为部位级的语义,并可以通过选择身体部位的attention得到更深层的信息。同时,由于原语的数量远少于它们能组成的行为种类,在同样的数据规模下,PaSta的long-tail程度就好很多,因此更容易识别。行为的种类成千上万,但是原语的数量是有限的,因此,从认知的角度来说,避开直接识别成千上万的组合结果,而是从基本组分出发通过学习组合关系和规则,从而可以生成巨量的行为结果,是更理智的方法。在监督学习范式下,人工标注大量的行为种类是不实际的,所以我们提出了从图像到原语,再推理到组合的思路。
![](https://bbsfile.sffai.com/2020-10-27/1603788199-889972-60b31e3b-3112-4145-9cbb-70f0c9b6d1e3.png)
举一个toy experiment的例子,假设我们有一个识别图片中数字的任务,目标是识别出一张图中最大的两个数字的和,这个任务和行为理解就很像,不同数字分布的位置和大小就像人的part一样,且能组成一定的整体状态。那么直接将所有像素送入模型,和先根据先验知识识别出part后再组合成整体相比,性能差别如何呢?
![](https://bbsfile.sffai.com/2020-10-27/1603788207-509480-44e2294c-18f8-4a0a-a54a-8e6e16bf711f.png)
我们用2个简单的模型来测试,第一个直接把所有数字的tight box的特征送入分类器;另一个先识别检测到的每个数字,再把它们concat到一起送去分类器。
![](https://bbsfile.sffai.com/2020-10-27/1603788214-214363-170f1105-aabb-45cc-855e-db5880e8813b.png)
可以发现基于part的两阶方法性能明显更好。
![](https://bbsfile.sffai.com/2020-10-27/1603788222-444738-5121c6a0-878a-4b77-a81e-82e216107df0.png)
因此我们认为,我们需要更多的细粒度知识作为原语,即part级别的信息来帮助我们做行为理解。
![](https://bbsfile.sffai.com/2020-10-27/1603788228-792561-47fc4a7a-23b7-4cd7-b071-d34f7bbfb5c7.png)
为了完成这件事,我们需要大量的PaSta标注,在监督学习的范式下先把PaSta的识别学好,并且需要很多PaSta和action之间的配对关系标注。因此我们构建了HAKE这个知识库。基于WordNet和现有的大量行为数据,我们采用众包的方式进行标注。
![](https://bbsfile.sffai.com/2020-10-27/1603788234-808374-dc00c5c5-164b-4b2e-8d7b-f0f3683dfc5f.png)
HAKE包含了非常多样的行为类型和场景。
![](https://bbsfile.sffai.com/2020-10-27/1603788241-265440-f14c2761-bee1-44ed-971e-d5d36bd8470b.png)
目前HAKE已经包含了约12万张图像,156种行为,93种PaSta,以及非常多的实例和部位级别标注。
![](https://bbsfile.sffai.com/2020-10-27/1603788254-64167-a996b0fb-7a1f-42aa-967a-b54ae1812b99.png)
基于这些标注,我们就能构建一个PaSta的library。
![](https://bbsfile.sffai.com/2020-10-27/1603788273-785321-b0803318-12a1-4630-9320-3dd3190441d3.png)
并且,我们可以获取到基于大量数据下的行为和PaSta的映射关系。
![](https://bbsfile.sffai.com/2020-10-27/1603788280-265986-5d48c54c-ecd3-4f58-a158-eb0fc08cd067.png)
基于HAKE,我们提出一个通用的知识表征提取器Activity2Vec,通过物体检测器和pose估计,获取人体部位的位置和相应的物体位置,提取他们的RoI特征后进行PaSta分类,同时将估计的PaSta token转化为Bert语言特征。最后,将视觉和语言的多模态表征输出,作为下游任务的知识输入,例如行为检测、vqa、图像描述等等,目前我们也在积极拓展和合作,展开更多的基于HAKE的工作,如果大家感兴趣的话,可以feel free联系我们。
![](https://bbsfile.sffai.com/2020-10-27/1603788286-553281-b3192bcc-e34b-41e6-af38-3214b0eb1afb.png)
经过Activity2Vec提取特征后,我们用人、物(如果没有交互物体,就输入context特征)和PaSta的特征构建一个图网络,并在实例级别和part级别分别进行推理,得到行为识别的结果。在这篇文章中,我们采用了late fusion的方式,以便于HAKE的结果可以和多种不同的实例级方法融合。
![](https://bbsfile.sffai.com/2020-10-27/1603788292-336210-d5505967-7bd0-4b22-a300-cacf0756ed90.png)
在进行图推理时,我们采用了很多不同的baselines,比如直接全局的图分类,采用线性、非线性或GCN的方式;或序列时地观测不同part的方式,以及不断整合sub-graph的方式等。
![](https://bbsfile.sffai.com/2020-10-27/1603788299-180036-26183fda-e924-4ec4-be11-e0e2d5c104fc.png)
下面是我们的一些定性和定量结果。通过结合HAKE,多种sota的方法都得到了很好的性能提升,尤其是在few-shot的情况下。而且我们还验证了基于PaSta的方式能得到的巨大潜在性能上升空间,在HICO-DET有望可以达到30+mAP。因此,后续的工作可以先专注于提升Pasta的学习能力,就可以直接推进行为理解技术的发展;
同时从PaSta到Action是一个典型的组合学习和推理过程,非常适合于视觉推理、因果关系发现/推理、符号学习等基本问题,HAKE可以提供一个贴近实际数据场景,为后续的研究搭建一个大型的推理实验平台,这也是我们最重要的目的之一。
![](https://bbsfile.sffai.com/2020-10-27/1603788311-486962-85debf65-023a-4aa6-8b15-b68be54b6854.png)
HAKE的项目主页有更多的信息,也提供了行为数据的上传方式,大家感兴趣的话也可以给我们提供更多的数据弹药,和我们一起丰富HAKE的知识量。
![](https://bbsfile.sffai.com/2020-10-27/1603788317-917168-9297360b-4a07-4f19-89db-2901ad33f122.png)
这是我们网站的二维码,欢迎大家使用。
![](https://bbsfile.sffai.com/2020-10-27/1603788327-704788-a6873bbb-a3b9-4133-aec9-b455409020be.png)
这里也顺便介绍一下我们组在HOI上的一些工作,首先是CVPR2019的interactiveness,提出了一种简洁地判断人物交互性的检测方式,通过在多个数据集上的迁移学习,可以很好地剔除穷举配对产生的负例。
![](https://bbsfile.sffai.com/2020-10-27/1603788340-989017-2bec3c3a-d092-4fa3-88a1-ad4821903165.png)
另外,在CVPR2020,我们还拓展了HOI的表征,将目前蓬勃发展的单目重建方法应用到HOI检测中,在输入2D的同时,重建出细粒度的人体3D模型和物体大小及位置,通过联合特征学习,可以有效地解决2D下的视角歧义性,取得了很好的性能。
同时,为了检验HOI检测模型对于视角变化的检测能力,我们还构建了一个新的test benchmark:ambiguous-HOI,包含了同一类行为在大幅度变化视角下的样本,目前多个sota方法在其上的性能都远低于HICO-DET,可见目前的HOI方法在克服视觉变化上还有很大的进步空间,也欢迎大家关注和在上面测试自己的模型,目前我们已经在这篇文章的github开源了所有的数据和代码。
![](https://bbsfile.sffai.com/2020-10-27/1603788358-898294-82c10f9c-4b4a-47ac-816e-0902258f567b.png)
版权声明