論文瀏覽(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出現……

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