CVPR 2021 | 商湯提出最強時序動作提名修正網絡:TCANet
本文主要介紹商湯科技城市計算研發團隊發表在 CVPR 2021 上的工作,提出了一種基于時序上下文聚合的動作提名修正網絡(TCANet)。現有方法普遍缺乏一種精細且高效的時序依賴建模方式,并且沒有對提名的邊界信息進行充分的利用,導致生成的邊界概率序列具有局部/全局的噪聲,從而使得提名的邊界質量不佳。實驗結果表明,TCANet 在 HACS, ActivityNet-1.3 和 THUMOS14 等三個主流公開數據集上都獲得了非常顯著的性能提升。基于該方法,我們在 CVPR 2020-HACS 挑戰賽中的時序動作檢測任務榜單上排名第一。
Part 1 任務背景
時序動作提名生成旨在從一段未修剪的長視頻當中生成包含可能存在人類動作的視頻片段,其結合具體的動作類別標簽即構成時序動作檢測任務。目前的方法大多致力于生成靈活準確的時序邊界與可靠的提名置信度,但是仍然受限于匱乏的視頻時序依賴和動作邊界建模,導致了充滿噪聲的候選提名邊界和質量欠佳的置信度分數。
目前主流的時序動作提名生成方法主要分為兩步,首先對輸入的視頻特征序列進行簡單的時序信息融合,然后使用基于邊界預測的方法或者是基于預定義錨點框回歸的方法生成可能包含人體動作的大量候選時序提名。
Part 2 方法介紹
本文提出了一個用于時序動作提名修正的端到端框架。該方法主要針對現有主流時序動作提名生成方法中的兩步驟分別進行改進:
1. 在第一步中,現有方法大多使用堆疊的1D時序卷積進行簡單的時序信息融合,然而,1D卷積在計算不同時序點之間的位置關系時,受限于卷積核的形狀和尺寸,雖然可以較好地建模短期的時序依賴,但是對于靈活多變的上下文關系則望塵莫及。部分辦法選擇了全局融合的方式實現了對全局特征的捕獲,但是直接使用全局池化之后的特征拼接到整個視頻特征序列上的每一個時刻位置,導致每一個時刻獲得的全局信息都是相同的,由此捕獲的時序依賴關系相對固定,缺乏多樣性和區分度,無法充分建模多樣的長時序依賴關系。
2. 在第二步中,基于預定義錨點框回歸的方法可以提供基于提名全局特征的可靠置信度分數,然而直接使用提名的全局特征對于其局部邊界的準確位置不夠敏感,況且預定義尺度和比例的提名時序長度往往非常受限,不夠靈活,無法生成任意長度的候選提名。基于邊界預測的方法利用邊界的局部特征判斷一個時間點是否屬于動作邊界,對動作的起止邊緣比較敏感,并且使用邊界匹配機制來生成大量靈活的動作提名,獲得較高的召回率。由于缺乏客觀的提名特征,其置信度不夠可靠,導致其準確率較低。
該方法主要針對現有技術的缺陷進行了相應的改進:
1. 針對時序建模不夠充分的問題,對各個時序點的特征采用通道分組策略進行高效建模,以多頭自注意力的方式同時對時序上的每一個點分別求取局部和全局的多樣化時序依賴關系。
2. 為了提高邊界特征的利用效率,利用基于邊界預測的方法和基于預定義錨點框回歸的方法二者之間的互補特性,提出使用提名的起始和結束邊界上下文特征來預測待優化提名的起始點和結束點偏移,同時使用提名的全局特征來預測待優化提名的中心位置和時序長度偏移。對這兩種方式得到的回歸后的提名進行平均融合,得到更加準確的提名邊界。
3. 為了端到端的進行兩種回歸方式的聯合優化從而逐步地提高提名的邊界質量,采用級聯的方式對輸入的候選提名進行多階段的修正,通過由粗到細的正負樣本劃分方式,將輸入的待優化提名依次通過三個級聯的提名優化模塊,實驗表明每一個提名優化模塊都可以逐步地提高提名的邊界質量。
本技術方案的目的在于設計一個能夠同時捕獲局部和全局上下文信息的時序動作提名優化模型。整個框架主要解決了兩個主要的子任務:基于局部全局的魯棒且多樣化的時序依賴建模和對候選提名由粗到細的多階段修正。整體框架流程如下圖所示。
本方案主要包含以下2個模塊:
1、局部-全局時序特征編碼器 (LGTE)
該模塊主要用于對輸入的時序特征同時進行局部和全局的時序依賴關系捕獲。該模塊的核心思想是,首先對輸入的時序特征對通道維度分別進行三次不同的線性變換之后,沿通道方向分成 8 個組,其中4組特征用來對每一時刻位置進行全局的時序自注意力建模(GTE),相當于是對全局時序特征分別進行一次動態的關系編碼,然后剩下的四組特征則用來對每一時刻位置進行局部的時序自注意力編碼(LTE),目的是建模每個時刻的周圍特征關系,捕獲局部細微的時序變化。
通過上述方法,局部-全局特征編碼器實現了對局部和全局特征依賴關系的并行計算,經過訓練優化之后可以生成魯棒而多樣化的時序特征表達用于后續的提名生成和優化網絡。
2、互補時序邊界回歸器(TBR)
該模塊的主要目的是為了結合基于預定義框回歸和基于局部信息的起止邊界點預測等兩種提名生成方案的優缺點,得到既能準確定位邊界,又能生成可靠置信度得分的提名邊界回歸器。
具體來說,如模塊圖所示,在將提名從經過局部-全局時序編碼后的原長特征序列上進行采樣之后,進一步將一個提名的時序特征分成三個部分,分別為起始點的局部特征,提名的中心特征
以及結束點的局部特征
。
和
被用來回歸待優化提名的起始點和結束點的偏移量,
,
和
則用于聯合回歸提名的中心點和提名長度的偏移量。使用上述兩種方案都可以得到一個新的提名邊界,最后將新的提名邊界進行融合,即可得到最終的提名結果和置信度分數。
具體來說,如模塊圖所示,在將提名從經過局部-全局時序編碼后的原長特征序列上進行采樣之后,進一步將一個提名的時序特征分成三個部分,分別為起始點的局部特征,提名的中心特征以及結束點的局部特征。和被用來回歸待優化提名的起始點和結束點的偏移量,,和則用于聯合回歸提名的中心點和提名長度的偏移量。使用上述兩種方案都可以得到一個新的提名邊界,最后將新的提名邊界進行融合,即可得到最終的提名結果和置信度分數。
由于 TCANet 不需要大量時序提名即可實現高效的訓練,因此在訓練過程中對特征的采樣可以直接在輸入的原始視頻特征上進行,這種采樣方式相比于在統一的尺度上進行采樣,可以帶來更少的量化特征損失,從而有效提高特征的質量。
Part 3 模型訓練
1、用于訓練的待優化提名選擇
在本方法的訓練階段,不使用其他方法(例如 BMN 等)輸出的全部候選提名用于訓練,為了提高訓練效率,首先使用 Soft-NMS 去除大量冗余的時序提名,最后選擇置信度分數在 Top-100 的提名用于優化器訓練。
2、訓練標簽分配
在訓練 TBR 的過程中,只有和真值的 IoU 大于一定閾值的提名被定義為正樣本,與真值的 IoU 小于一定閾值的提名則被定義為負樣本,而位于兩個閾值之間的提名被定義為不完全樣本。在訓練的過程中,通過在線的隨機采樣保證這三種樣本之間的數量比例為 1:1:1,實現訓練過程中正負樣本的平衡。由于在多階段訓練過程中,為了實現由粗到細的邊界優化,提升模型收斂的效率,采用了不同的正負樣本劃分閾值。
3、損失函數
本方案需要對提名的置信度預測和邊界回歸的偏移量同時進行監督,將這兩部分的損失函數分別定義為和
,分別為:
其中:
最后,總的損失函數為:
Part 6 實驗結果
在 HACS 數據集上,我們以復現的 BMN 方法作為基準,實驗結果表明,TCANet 可以比 BMN 提高至少 4 個點的平均 mAP,僅靠單模型就可以超越 CVPR 2020-HACS 榜單的第二名方案。
在 ActivityNet-v1.3 和 THUMOS14 數據集上也都有明顯的效果提升,取得了現階段最佳的時序動作檢測效果:
根據觀察發現,在時序行為檢測任務中,貢獻最終檢測性能 mAP 主要取決于打分靠前的若干提名,因此不僅注重提名的多樣性,更注重提名的準確性。TCANet 在對候選提名的進行優化后,主要提高了 AR@1 和 AR@10 的效果,因此對于時序行為檢測性能的提升非常明顯,排名靠前的提名質量也更高,對于該任務的業務應用落地有非常重要的意義。
局部-全局時序編碼模塊在邊界概率預測的結果可視化如下所示,可見在僅是有全局時序編碼時,容易產生較多的全局噪聲,且對于動作邊界的響應較低。P.S. 在我們之前的工作(BSN++)中曾指出,僅使用堆疊的 1D 卷積進行邊界預測時也會產生較多的邊界噪聲,導致精度較低。
我們接著對 TCANet 的各個模塊進行了效率分析,如下表所示:
關于多階段時序邊界回歸模塊的優化效果如下圖所示:
此外,TCANet不僅可以用來提升已有方法生成提名的總體質量,也可以在隨機輸入(例如,一系列的滑動窗口)時生成高質量的提名,且實驗表明在這種情況下也可取得SOTA的效果。關于TCANet方法的模塊消融實驗和不同方法提名輸入時的魯棒性測試以及效率測試,歡迎關注后續論文鏈接!
此外,TCANet不僅可以用來提升已有方法生成提名的總體質量,也可以在隨機輸入(例如,一系列的滑動窗口)時生成高質量的提名,且實驗表明在這種情況下也可取得SOTA的效果。關于TCANet方法的模塊消融實驗和不同方法提名輸入時的魯棒性測試以及效率測試,歡迎關注后續論文鏈接!
Part 7 結語
本文首先提出了用于同時聚合局部-全局信息的時序特征編碼模塊,在主流大型視頻數據集上均取得了顯著的效果提升,證實了長時序建模對于視頻理解任務的重要性。同時,基于邊界特征和提名特征的互補邊界回歸進一步提高了定位的準確性。在方法的實現細節部分涉及了較多的 insight,為該任務的后續發展提供了參考的方向。
論文地址