SF-Net: Single-Frame Supervision for Temporal Action Localization
SF-Net
備註: 機翻,如有侵權,立即刪除
code: https://github.com/Flowerfan/SF-Net
source: ECCV2020
Abstract
在本文中,我們研究了一種中間形式的監督,即單幀監督,用於時間動作定位(TAL)。 為了獲得單幀監督,註釋器被要求只識別動作時間視窗內的單個幀。 這可以顯著降低獲得充分監督的人工成本,這需要對行動邊界進行註釋。 與僅註釋視訊級標籤的弱監督相比,單幀監督引入了額外的時間動作訊號,同時保持了較低的註釋開銷。 為了充分利用這種單幀監督,我們提出了一個統一的系統SF-Net。 首先,我們建議預測每個視訊幀的動作得分。 隨著典型的類別評分,動作評分可以提供關於潛在動作發生的全面資訊,並有助於推理過程中的時間邊界細化。 其次,基於單幀註釋挖掘偽動作和背景幀。我們通過自適應地將每個註釋的單個幀擴充套件到其附近的上下文幀來識別偽行為幀,並從跨多個視訊的所有未註釋幀中挖掘偽背景幀。 與地面真實標記幀一起,這些偽標記幀被進一步用於訓練分類器。 在THUMOS14、GTEA和BEOID的廣泛實驗中,SF-Net在分段定位和單幀定位方面對最先進的弱監督方法有了顯著的改進。 值得注意的是,SF-Net取得了與其完全監督的對應結果相當的結果,這需要更多的資源密集型註釋。
1 Introduction
最近,弱監督時間動作定位(TAL)引起了人們的廣泛興趣。 給定一個只包含視訊級別標籤的訓練集,我們的目標是在長的、未修剪的測試視訊中檢測和分類每個動作例項。在完全監督的註釋中,註釋器通常需要回滾用於重複觀看的視訊,當他們在觀看視訊[41]時注意到一個動作時,給出動作例項的精確時間邊界。對於弱監督的註釋,註釋者只需要觀看一次視訊就可以給出標籤。 一旦他們注意到一個看不見的動作,他們就可以記錄動作類。 這大大減少了註釋資源:與在完全監督的設定中註釋開始和結束時間相比,視訊級別的標籤使用的資源更少
儘管最先進的弱監督TAL工作[25,27,29]取得了有希望的結果,但它們的定位效能仍然低於完全監督的TAL工作[6,18,28]。 為了彌補這一差距,我們有動力利用單幀監督[23]:對於每個動作例項,只指出一個單一的正幀。 單幀監督的註釋過程與弱監督註釋過程基本相同。 註釋者只觀看一次視訊,以記錄操作類和時間戳,當他們注意到每個操作時。 與全面監督相比,它大大減少了註釋資源。
在影像域中,Bearman等人[2]是第一個提出影像語義分割的點監督。 在點級註釋被Mettes等人擴充套件[22]到視訊域進行時空定位,其中每個動作幀在訓練過程中需要一個空間點註釋。Moltisanti等人 [23]通過提出單一框架監督並且開發了一種選擇置信度很高的幀作為偽動作幀的方法,進一步減少所需資源
在我們的TAL任務中使用單幀監督,定位行動的時間邊界的獨特挑戰仍然沒有解決。 為了解決TAL中的這一挑戰,我們進行了三項創新,以提高定位模型區分背景幀和動作幀的能力。 首先,我們預測每個幀的“動作性”,它表示任何動作的概率。 其次,基於動作性,我們研究了一種新的背景挖掘演算法來確定可能是背景的幀,並利用這些偽背景幀作為附加監督。 第三,在標記偽動作幀時,除了具有高置信度的幀外,我們的目標是確定更多的偽動作幀,從而提出一種動作幀展開演算法。
此外,對於許多實際應用程式來說,檢測精確的開始時間和結束時間是過分的。 考慮一個記者誰想找到一些車禍照片在一個檔案的街道相機視訊:它足以檢索一個單一的幀為每次事故,記者可以很容易地截斷剪輯所需的長度。 因此,除了評估TAL中的傳統段定位外,我們還提出了一種新的任務,稱為單幀定位,它只需要每個動作例項定位一個幀。
總之,我們的貢獻有三個方面:
- (1)據我們所知,這是第一次使用單幀監督來解決具有挑戰性的問題,即確定行動的時間邊界。 與完全監督的註釋相比,單幀註釋顯著地節省了註釋時間。
- (2)我們發現單幀監督可以為背景提供強有力的線索。 因此,從沒有註釋的幀中,我們提出了兩種新的方法來挖掘可能的背景幀和動作幀。 這些可能的背景和動作時間戳被進一步用作訓練的偽地面真相。
- (3)我們在三個基準上進行了廣泛的實驗,在分段定位和單幀定位任務上的效能都得到了很大的提高。
3 Proposed Method
在這一部分中,我們定義了我們的任務,給出了SF-Net的體系結構,最後分別討論了訓練和推理的細節。
3.1 Problem Definition
訓練視訊可以包含多個動作類和多個動作例項。 與提供每個動作例項的時間邊界註釋的全監督設定不同,在我們的單幀監督設定中,每個例項只有一個由時間戳t和動作類y的註釋器指出的幀。 注意,y∈{1,…,NC},其中NC是類的總數,我們使用索引0來表示背景類。
給定一個測試視訊,我們執行兩個時間定位任務:(1)Segment localization. 我們用其動作類預測來檢測每個動作例項的開始時間和結束時間。 (2)Single frame localization. 我們輸出每個檢測到的動作例項的時間戳及其動作類預測。 這兩個任務的評估指標在SEC. 4中解釋。
3.2 Framework
Overview. 我們的總體框架如圖2所示。培訓期間學習單幀監理,SF-Net挖掘假動作和背景圖。基於標記幀,我們利用三個損失聯合訓練一個分類模組,對每個標記幀和整個視訊進行分類,並使用一個動作模組來預測每個幀被動作的概率。 在下面,我們概述了框架,同時在SEC. 3.3 中描述了框架挖掘策略和不同損失的細節。
Feature extraction. 對於一批N個視訊,提取所有幀的特徵並儲存在特徵張量X∈RN×T中,其中D是特徵維數,T是幀數。 由於不同的視訊在時間長度上不同,當視訊中的幀數小於T時,我們只需墊零。
Classification module. 分類模組輸出輸入視訊中所有幀的每個動作類的分數。 為了對每個標記幀進行分類,我們將X輸入到三個全連線(FC)層中,得到分類評分C∈RN×T×Nc1。 然後利用分類評分C計算幀分類損失Lframe。 我們還在時間上池C,如[24]中所描述的,以計算視訊級分類損失Lvideo。
Actionness module. 如圖所示。 我們的模型有一個動作分支,即識別積極的動作框架。 與分類模組不同的是,actionness模組只為每個幀產生一個標量來表示包含在動作段中的概率。 為了預測動作評分,我們將X輸入兩個時間卷積層,然後是一個FC層,得到一個動作評分矩陣A∈RN×T。 我們在A上應用乙狀結腸,然後計算二元分類損失Lactionness。
3.3 Pseudo Label Mining and Training Objectives
Action classification at labeled frames. 我們使用交叉熵損失進行動作幀分類。 由於視訊輸入批次中有NT幀,並且大多數幀都是未標記的,我們首先對標記的幀進行過濾,以便進行分類。 假設我們有K標記幀,其中KNT。 我們可以從C中得到K標記幀的分類啟用。這些分數被饋送到Softmax層,以獲得所有標記幀的分類概率pl∈RK×NC1。 批視訊中標註幀的分類損失制定為:
其中PLI表示I標記動作幀的預測。
Pseudo labeling of frames. 由於每個操作例項只有一個標籤,所以正面示例的總數很小,可能很難學習。 雖然我們不使用完整的時間註釋,但很明顯,操作是跨越連續幀的較長事件。 為了增加模型可用的時間資訊,我們設計了動作幀挖掘和背景幀挖掘策略,將更多的幀引入到訓練過程中。
- (a)行動框架挖掘:我們將每個標記的行動框架視為每個行動例項的錨框架。 我們首先設定擴充套件半徑r,以限制在t處的最大擴充套件距離到錨框。然後分別從t1幀擴充套件過去和t1幀擴充套件未來。 假設錨框的動作類用yi表示。 如果當前擴充套件幀與錨幀具有相同的預測標籤,並且易類的分類分數高於錨幀乘一個預定義值ξ的分數,則我們用標籤易對該幀進行註釋,並將其放入訓練池。 否則,我們停止當前錨框的擴充套件過程。
- (b)背景框架挖掘:背景框架也很重要,廣泛用於本地化方法,[19,26]提高模型的效能。 由於在單幀監督下沒有背景標籤,我們提出的模型設法從N個視訊中的所有未標記幀定位背景幀。 在開始的時候,我們沒有監督背景框架在哪裡。 但是明確地引入背景類可以避免強制將框架分類為一個操作類。 我們提出的背景幀挖掘演算法可以為我們提供訓練這種背景類所需的監督,從而提高分類器的可鑑別性。 假設我們試圖挖掘ηK的背景幀,我們首先從C中收集所有未標記幀的分類分數。η是背景幀與標記幀的比率。 然後沿著背景類對這些分數進行排序,以選擇最高ηK分數PB∈RηK作為背景幀的分數向量。 偽背景分類損失是通過,
背景幀分類損失協助模型識別無關幀。 與背景挖掘不同的是,[19,26]需要額外的計算源來生成背景幀或採用複雜的損失進行優化,我們在多個視訊中挖掘背景幀,並使用分類損失進行優化。 選擇的偽背景幀在初始訓練回合中可能會有一些噪聲。 隨著訓練的發展和分類器判別能力的提高,我們能夠更正確地減少噪聲和檢測背景幀。 以更正確的背景幀作為監督訊號,可以進一步提高分類器的可鑑別性。 在我們的實驗中,我們觀察到這種簡單的背景挖掘策略允許更好的動作定位結果。 我們將背景分類損失與標記幀分類損失相結合,制定了單幀分類損失
其中NC是利用背景類的影響的操作類的數量。
Actionness prediction at labeled frames. 在完全監督的TAL中,各種方法學會產生可能包含潛在活動[37,18,6]的行動建議。 為此,我們設計了動作模組,使模型集中在與目標動作相關的幀上。 我們的actionness模組不會在提案方法中產生時間段,而是為每個框架產生actionness評分。 動作模組與SF-Net中的分類模組並行。 它為時間動作定位提供了額外的資訊。 我們首先在訓練視訊中收集標記幀的動作分數Al∈RK。 幀的值越高,該幀屬於目標動作的概率就越高。 我們還利用背景幀挖掘策略得到動作評分AB∈RηK。 作用損失的計算方法是,
其中σ是sigmoid函式,將動作分數縮放到[0,1]。
Full objective. 我們採用[24]中描述的視訊級損失來解決視訊級的多標籤動作分類問題。 對於第一個視訊,選擇分類啟用C(I)的每個類別(其中k=Ti/8)的頂k啟用,然後進行平均,以獲得與[27,24]一樣的特定於類的編碼ri∈RC1。 我們平均所有的幀標籤預測在視訊vi,以獲得視訊級的地面真相氣∈RNC1。 視訊級損耗按
其中qi(J)是表示視訊vi的概率質量的qi的第j個值,屬於第j個類。
因此,我們提出的方法的總訓練目標是
其中Lframe、Lvideo和Lactionness分別表示幀分類損失、視訊分類損失和動作損失。 α和β是利用不同損失的超引數。
3.4 Inference
在測試階段,我們需要給出每個檢測到的動作的時間邊界。 我們遵循先前的弱監督工作[25],通過對分類分數的臨時池和閾值來預測視訊級標籤。 如圖所示。 首先,通過將視訊的輸入特徵輸入到分類模組和動作模組中,得到分類評分C和動作評分A。 對於分段定位,我們[25,26]遵循閾值化策略,使動作幀保持在閾值以上,連續的動作幀構成動作段。 對於每個預測的視訊級動作類,我們通過檢測一個區間來定位每個動作段,該區間內的每個幀的分類分數和動作分數之和超過預設的閾值。 我們簡單地將檢測片段的置信度評分設定為其最高幀分類評分和動作評分之和。 對於單幀定位,對於動作例項,我們選擇檢測段中具有最大啟用分數的幀作為定位動作幀。
Experiments
Datasets
Implementation Details
我們使用I3D網路[4]在Kinects資料[5]上訓練來提取視訊特徵。 對於RGB流,我們將幀的最小維數重新標度為256,並執行大小為224×224的中心裁剪。 對於流,我們[39]應用TV-L1光流演算法。 我們遵循兩流融合操作,[24]從外觀(R GB)和運動(流)分支整合預測。 對I3D模型的輸入是16幀的堆疊。
在所有資料集上,我們將所有實驗的學習速率設定為10^-3,並使用Adam[14]對模型進行批量大小為32的訓練。 減重超引數α和β設定為1。 模型效能對這些超引數不敏感。 對於用於挖掘背景幀的超引數η,我們在THUMOS14上將其設定為5,並在其他兩個資料集上將其設定為1。 對於GTEA、BEOID和THUMOS14,迭代次數分別設定為500、2000和5000
Results
Conclusion
在本文中,我們研究瞭如何利用單幀監督來訓練時間動作定位模型,用於分段定位和推理過程中的單幀定位。 我們的SF-Net通過預測動作評分、偽背景幀挖掘和偽動作幀挖掘,充分利用了單幀監督。 在三個標準基準上,SF-Net在分段定位和單幀定位方面都明顯優於弱監督方法。
相關文章
- [論文閱讀] Temporal Extension Module for Skeleton-Based Action Recognition
- vis.js 4.21.0 Timeline localizationJS
- action概念
- LeetCode in actionLeetCode
- 13.there is no action mapped for namespace and action name associated with contAPPnamespace
- 論文筆記 SimpleNet A Simple Network for Image Anomaly Detection and Localization筆記
- WSL (Windows Subsystem for Linux) 的 VSLAM (Visual Simultaneous Localization and Mapping) 道路WindowsLinuxSLAMAPP
- [論文翻譯][1809 09294]Object Detection from Scratch with Deep SupervisionObject
- patch_id,version, action ,status,action_time,description
- 論文閱讀 Inductive Representation Learning on Temporal Graphs
- 《Data Warehouse in Action》
- [macOS] 關閉色彩抖動 Temporal Dithering stillcolor pwmMac
- 論文閱讀 Exploring Temporal Information for Dynamic Network EmbeddingORM
- 論文解讀《Deep Attention-guided Graph Clustering with Dual Self-supervision》GUIIDE
- Github Action釋出Github
- [vuex] unknown action typeVue
- 論文閱讀 TEMPORAL GRAPH NETWORKS FOR DEEP LEARNING ON DYNAMIC GRAPHS
- [深度學習] 計算機視覺低程式碼工具Supervision庫使用指北深度學習計算機視覺
- Yii2 Action用法
- Github Action Workflow 實踐Github
- 課時四:Action操作
- 論文翻譯:2018_Source localization using deep neural networks in a shallow water environment
- Airbyte如何使用Temporal擴充套件工作流程編排?AI套件
- 領域模型的雙時態設計Bi-temporal模型
- 【論文閱讀筆記】An Improved Neural Baseline for Temporal Relation Extraction筆記
- PyTorch Geometric Temporal 介紹 —— 資料結構和RGCN的概念PyTorch資料結構GC
- 論文閱讀 A Data-Driven Graph Generative Model for Temporal Interaction Networks
- Modeling Conversation Structure and Temporal Dynamics for Jointly Predicting Rumor Stance and Veracity(ACL-19)Struct
- vuex核心概念---action、getter、moduleVue
- Django DRF @action 裝飾器Django
- Rail6 Action Cable 概述AI
- 真香!GitHub Action一鍵部署Github
- akka-typed(4) - EventSourcedBehavior in action
- 安利 GitHub action - 挺香的Github
- message: "This action is unauthorized."報錯Zed
- Github Action 快速上手指南Github
- 2019-02-24 Taking Action
- Spark in action on Kubernetes - 儲存篇Spark