論文瀏覽(17) Actions as Moving Points


0. 前言

  • 相關資料:
  • 論文基本信息
    • 領域:Spatio-Temporal Action Detection
    • 作者單位:南京大學
    • 發表時間:2020.4,ECCV 2020

1. 要解決什麼問題

  • 要解決 Spatio-Temporal Action Detection 問題,也稱爲 tubelet detectors 問題。
  • 之前常見的有兩種解決方案:
    • Frame-Level Detection:對一幀進行 action detector,然後再進行 frame-wise 的matching。
    • Clip-Level Detection:輸入若干幀,直接輸出 tubelet。
  • 現有的解決方案一般都是基於目標檢測框架,如Raster R-CNN,SSD等,這些方法都依賴於衆多的anchors。這類方法都存在以下問題
    • 對超參數敏感(如bbox的box size, box number, aspect ratio)
    • 在有檢測結果很多時,會導致性能下降。
    • 這類方法直接忽略了temporal dimension,認爲所有行爲都是立方體。

2. 用了什麼方法

  • 簡單說,就是將CenterNet用於時空行爲檢測。
  • 解決方案如下圖
    • Backbone
      • 假設輸入的圖像有K張,每張的尺寸都是H, W, 3
      • 假設出圖的特徵圖尺寸是 H/R, W/R, 64
      • 對每一幀分別用2D CNN提取特徵。
    • Center Branch
      • 判斷關鍵幀的行爲類別。
        • 所謂關鍵幀,可以是輸入K幀中的正中間一幀,也可以是最後一幀。
        • 具體的應該數據如何導入模型時應考慮的問題。
        • 猜測如果是offline版本,中間一幀比較合適;online版本,最後一幀比較合適。
      • 輸入是K幀圖像提取特徵後concat形成。
      • 輸出是 H/R * W/R * C,其中C是類別數量,取值範圍 [0, 1]
    • Movement Branch
      • 由於tubelet一般都不是立方體,所以相對於關鍵幀,動作可能會有偏移。
      • 這個分支就用於預測相對於中心點的偏移。
      • 對於每個中心點都有一組偏移。
      • 輸入是K真圖像提取特徵後 H/R, W/R, K*2,也就是說,對每一幀對象的每個中心點位置,都對應了偏移。
    • Box Branch
      • 用於預測每一幀、每個中心點bbox的height與width。
      • 對於每一幀都分別計算height與width,畢竟bbox與前後幀可沒什麼關係。
    • image_1eck6dpqn1gli1844hi83oppgk9.png-222.2kB
  • Tubelet Linking
    • 就是將多個檢測出的tubelet關聯起來。
    • 說是完全使用了 Action tubelet detector for spatio-temporal action localization 這篇論文中的方法。
    • 沒細看,用到再說。

3. 效果如何

  • 通過試驗驗證了 Movement Branch 的作用,嘗試了多種Movement Branch的設計方式,結果不貼了。
  • 與SOTA進行對比
    • image_1eck81p661qf5ujmqbq5kb1jlu16.png-148.9kB
  • 分析該模型的運行時間
    • 在TITAN Xp上運行
    • 光流實現計算好
    • K=7且雙流融合。
    • 使用的backbone是DLA34(與CenterNet一樣)
    • 每次輸入一幀只處理一幀(歷史特徵都保留着)
    • 所謂的3D方法指的是先用detector分別對關鍵幀進行檢測,然後用3D CNN提取clip特徵,融合檢測的bbox他通過ROI提取特徵進行行爲識別。
    • image_1eck81fjhi4o18599jd816jfp.png-100.7kB

4. 還存在什麼問題

  • 說了不適用於AVA,但目前想使用AVA,不知道修改網絡結構後效果如何,期待開源。