论文浏览(8) Asynchronous Interaction Aggregation for Action Detection


0. 前言

  • 相关资料:
    • arxiv
    • github:有webcam demo可以直接使用,但暂时没有提供training代码。
    • 论文解读
  • 论文基本信息
    • 领域:行为时空检测
    • 作者单位:上海交大
    • 发表时间:2020.4

1. 要解决什么问题

  • 用于解决时空行为检测(spatial-temporal action detection)问题,该类问题是行为识别的升级版,感觉是在检测+跟踪的基础上进行行为识别。
  • 现在在行为识别,或者说在时空行为检测领域又多了一类研究,主要是研究人与人、人与物之间的相关关系(interaction)。这类研究其实还比较少,所以也存在比较多问题:
    • 之前的研究主要着重研究某一类相互作用(如人与物之间的相互关系)
    • long-term temporal interaction很难寻找。通过3D卷积很难做到这一点,也有方法要保存长期的特征信息,但这非常消耗资源。
    • 之前的方法中,为了检测行为时只用了 cropped features,其他信息都去掉了。

2. 用了什么方法

  • 本文将Interaction分为三类
    • Person-Person Interaction:人与人之间的相互关系,如听。
    • Person-Object Interaction:人与物之间的相互关系,如拿着物品。
    • Temporal Interaction:有较大时间相关性的事件,如开、关门。
  • 提出了一个Asynchronous Interaction Aggregation network(AIA)
    • 我也不知道该怎么翻译。
    • 从创新点看,标题这几个关键字涵盖了本文的两个主要工作。
      • Interaction Aggregation structure(IA)
      • Asynchronous Memory Update algorithm(AMU)
  • 本架构的主要结构如下:
    • 我还没有仔细看源码,所以下面的理解很有可能有问题。这里就是介绍了总体工作流程。
    • a. Feature Extractor
      • 有一个独立于AIA的Detector,用于检测人和物体,即图中红色的 Detector。通过该Detector,将原始数据中的人和物体都标定出来。
      • 通过 Video Model 提取视频数据的特征,看源码应该是通过 slowfast 提取的。
      • Detector 提取的人/物的 bbox 在 Video Model 得到的特征图上做ROI操作,得到每个人/物的特征。
    • b. Interaction Aggregation
      • 该模块主要就是通过 IA structure 融合各类intaraction的信息。
      • IA structure 输入共三类:当前图像中人的特征、当前图像中物的特征、Feature Pool(即历史图像中)中人的特征。
      • IA structure 的输出就是更新后的人特征。
        • 此时的特征融合了周围其他人的特征、历史特征、物体特征。
        • 通过融合后的特征进行简单的分类,判断人的行为。
    • c. Asynchronous Memory Update
      • 改模块的主要作用就是按照一定的方法保存历史数据,从而实现 long-term 的行为识别。
      • 主要解决的问题是:随着时间增加,特征尽量不丢失,且总体积不增加。
    • image_1ebnp6i7i1jpp1qdq1iar1rek19na9.png-238.1kB
  • Instance Level and Temporal Memory Features
    • Instance Level Features:按照我的理解就是,对每个instance(独立的人或物体)的特征,即上面总体架构中,通过检测分别提取了人和物体的特征,即Pt,OtP_t, O_t
    • Temporal Mmoery features:按我的理解就是,当前帧周围的其他帧的人的特征,,即Mt=[PtL,...,Pt,...,PtL]M_t = [P_{t-L}, ..., P_t, ..., P_{t_L}]
  • Interaction Modeling and Aggregation
    • 主要介绍的就是IA相关的功能,主要包括两个方面,interaction block怎么设计,interaction block如何融合(即interaction aggragation structure)。
    • Interaction Block
      • 结构主要借鉴了 Transformer Block,有两个输入,分别是 query 和 key/value。
      • P-Block:对同一个clip中人与人的相互行为进行建模,两个输入是相同的,都是PtP_t
      • O-Block:检测人与物之间的相互关系,key/value输入是OtO_t,另一个输入应该是P-Block的输出。
      • M-Block:有strong logical connections along the temporal dimension的事件,如开/关。
      • 下图就是一个O-Block,该模块的基本作用就是 select value features that are highly activated to the query features and merge them to enhance the query features,大概意思就是注意力模型的基本思想,利用QtQ_t来选择OtO_t中的重点信息。
      • image_1ebnro2291n0i1oae19js1tdhr29m.png-53.5kB
    • Interaction Aggregation Structure
      • 融合interaction block的信息,主要有三种方式:naive parallel IA,serial IA,dense serial IA。
      • image_1ebnsrc8j10lqugt1k6q1gdh7vh13.png-54.7kB
      • image_1ebnsrm371qttmoo1t9acs91nig1g.png-16.5kB
  • Asynchronous Memory Update Algorithm
    • 主要就用就是保存 long-term memory features(即前文中提到的 MtM_t),从而实现一些行为识别。
    • 一个主要挑战:随着视频长度增加,数据会不会越来越多,导致占用更多的内存以及计算资源。
    • 期望实现方式:特征会随着时间动态的更新。
    • 为了实现上面提到的功能,需要一种异步的特征更新方法,即 asynchronous memory update。该方法主要包括了一个存储单元(memory pool Ω\Omega)以及两个基本操作 READ、WRITE。
    • image_1ebntiapc1tddfpe1vaq1k3qv4c1t.png-148.2kB

3. 效果如何

  • 在AVA数据集上达到SOTA。给的结果表是跟SlowFast比的(应该现在有更好的对比对象了吧)
    • image_1ebnu32bk1930eem12pdapv1tar2a.png-143.9kB
  • 在UCF101-24和EPIC-Kitchens上做了验证
    • image_1ebnu5hiq1054d9sqpc8sd1sgi2n.png-93.8kB

4. 还存在什么问题

  • 开源代码里有webcam版本的,具体实现还是得看看有啥不一样。

    • webcam版的demo使用了MOT模型,不知道用在了什么地方,后续需要仔细看下。
  • 训练代码没开源,要复现也不是不可能,但就算代码写出来了,手上没有足够的卡……难过……

  • 作为菜鸡,一直在等待有没有那种不用独立Detector就能做时空行为检测的framework出现……

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章