0. 前言
- 相關資料:
- 論文基本信息
- 領域:行爲時空檢測
- 作者單位:上海交大
- 發表時間: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操作,得到每個人/物的特徵。
- 有一個獨立於AIA的Detector,用於檢測人和物體,即圖中紅色的
- b. Interaction Aggregation
- 該模塊主要就是通過 IA structure 融合各類intaraction的信息。
- IA structure 輸入共三類:當前圖像中人的特徵、當前圖像中物的特徵、Feature Pool(即歷史圖像中)中人的特徵。
- IA structure 的輸出就是更新後的人特徵。
- 此時的特徵融合了周圍其他人的特徵、歷史特徵、物體特徵。
- 通過融合後的特徵進行簡單的分類,判斷人的行爲。
- c. Asynchronous Memory Update
- 改模塊的主要作用就是按照一定的方法保存歷史數據,從而實現 long-term 的行爲識別。
- 主要解決的問題是:隨着時間增加,特徵儘量不丟失,且總體積不增加。
- Instance Level and Temporal Memory Features
- Instance Level Features:按照我的理解就是,對每個instance(獨立的人或物體)的特徵,即上面總體架構中,通過檢測分別提取了人和物體的特徵,即。
- Temporal Mmoery features:按我的理解就是,當前幀周圍的其他幀的人的特徵,,即。
- Interaction Modeling and Aggregation
- 主要介紹的就是IA相關的功能,主要包括兩個方面,interaction block怎麼設計,interaction block如何融合(即interaction aggragation structure)。
- Interaction Block
- 結構主要借鑑了 Transformer Block,有兩個輸入,分別是 query 和 key/value。
- P-Block:對同一個clip中人與人的相互行爲進行建模,兩個輸入是相同的,都是
- O-Block:檢測人與物之間的相互關係,key/value輸入是,另一個輸入應該是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,大概意思就是注意力模型的基本思想,利用來選擇中的重點信息。
- Interaction Aggregation Structure
- 融合interaction block的信息,主要有三種方式:naive parallel IA,serial IA,dense serial IA。
- Asynchronous Memory Update Algorithm
- 主要就用就是保存 long-term memory features(即前文中提到的 ),從而實現一些行爲識別。
- 一個主要挑戰:隨着視頻長度增加,數據會不會越來越多,導致佔用更多的內存以及計算資源。
- 期望實現方式:特徵會隨着時間動態的更新。
- 爲了實現上面提到的功能,需要一種異步的特徵更新方法,即 asynchronous memory update。該方法主要包括了一個存儲單元(memory pool )以及兩個基本操作 READ、WRITE。
3. 效果如何
- 在AVA數據集上達到SOTA。給的結果表是跟SlowFast比的(應該現在有更好的對比對象了吧)
- 在UCF101-24和EPIC-Kitchens上做了驗證
4. 還存在什麼問題
-
開源代碼裏有webcam版本的,具體實現還是得看看有啥不一樣。
- webcam版的demo使用了MOT模型,不知道用在了什麼地方,後續需要仔細看下。
-
訓練代碼沒開源,要復現也不是不可能,但就算代碼寫出來了,手上沒有足夠的卡……難過……
-
作爲菜雞,一直在等待有沒有那種不用獨立Detector就能做時空行爲檢測的framework出現……