浙大蔡登團隊:基於序列對比學習的長視頻逐幀動作表徵

浙大蔡登團隊攜手微軟亞洲研究院,提出了一個新的對比動作表徵學習(CARL)框架,以自監督的方式學習逐幀動作表徵,尤其是針對長視頻;它考慮了時空上下文來提取逐幀表徵,是一種基於Transformer的簡單而高效的視頻編碼器。

他們提出了一種新的序列對比損失(SCL),應用於通過一系列時空數據增強獲得的兩個相關的視圖。在FineGym、PennAction和Pouring數據集上的實驗表明,該方法在下游細粒度動作分類方面大大優於已有的最新技術。值得一提的是,雖然沒有用成對視頻進行訓練,但該方法在視頻對齊和細粒度幀檢索任務方面也有着出色的表現。

編譯 | 龔倩

編輯 | 陳彩嫻



1

引言

論文鏈接:https://arxiv.org/pdf/2203.14957.pdf

在過去幾年中,基於深度學習的視頻理解在視頻分類任務上取得了巨大成功。I3D和SlowFast等網絡通常將短視頻片段(32幀或64幀)作為輸入,提取全局表徵來預測動作類別。不過,許多實際應用,例如手語翻譯、機械人模仿學習、動作對齊和相位分類都要求算法能夠對具有數百幀的長視頻進行建模,並提取逐幀表徵,而不是全局特徵。

(a) 在FineGym 數據集上的細粒度幀檢索

(b) 在Pouring 數據集上的相位邊界檢測

(c)在PennAction 數據集上的時間視頻對齊

以前的方法嘗試通過監督學習來學習逐幀表徵,其中子動作或相位邊界被注釋。然而,在大規模數據集上手動標記每個幀和精確的動作邊界非常耗時,甚至不切實際,從而妨礙了基於全監督學習訓練的模型在現實場景中的推廣。為了減少對標記數據的依賴性,TCC、LAV和GTA等方法通過使用循環一致性損失或軟動態時間扭曲來進行弱監督學習。所有這些方法都依賴於視頻水平的注釋,並且是用表現相同動作的成對視頻進行訓練的。該前提使得在沒有可用標籤的更一般的視頻數據集中無法應用這些方法。

本研究的目的是以自監督方式學習長視頻中具有時空上下文信息的逐幀表徵。受對比表徵學習最新進展的啟發,我們提出了一個新框架——對比動作表徵學習(CARL)。我們假設在訓練期間沒有可用的標籤,並且訓練和測試集中的視頻都很長(數百幀)。此外,我們不依賴具有相同動作的成對視頻進行訓練,從而能夠以更低的成本擴大訓練集規模。

為數百幀的長視頻建模是一項挑戰。直接使用為短視頻片段分類而設計的現成骨架也不太現實,因為我們的任務是提取長視頻的逐幀表徵。在本研究中,我們提出了一種簡單而高效的視頻編碼器,它由一個對每幀的空間信息進行編碼的2D網絡和一個對時間交互進行建模的Transformer編碼器組成。然後使用逐幀特徵進行表徵學習。

最近,SimCLR使用實例鑒別作為網絡前置任務,並引入了一個名為NT-Xent的對比損失,該對比損失最大化相同數據的兩個增強視圖之間的一致性。在他們的實現中,除正面參照樣本外的所有實例都被判定為負樣本。與圖像數據不同的是,視頻提供了更豐富的實例(每一幀都被視為一個實例),相鄰幀具有很高的語義相似性。直接將這些幀視為負樣本可能會損害學習過程。為了避免這個問題,我們提出了一種新的序列對比損失框架(SCL),它通過最小化兩個增強視頻視圖的序列相似性與先驗高斯分佈之間的KL散度來優化嵌入空間。

綜上,本文的主要貢獻總結如下:

  • 我們提出了一個名為對比動作表徵學習(CARL)的新架構,以自監督方式學習長視頻中具有時空上下文信息的逐幀動作表徵。我們的方法不依賴於任何數據注釋,也不對數據集進行假設。

  • 我們引入了一種基於Transformer的網絡來對長視頻進行高效編碼,和一種新的序列對比損耗(SCL)用於表徵學習。同時,我們設計了一系列時空數據增強,以增加訓練數據的多樣性。

  • 我們的框架在不同數據集的多個任務上大大優於目前為止最先進的方法。例如,在FineGym數據集上的線性評估協議下,我們的框架實現了41.75%的準確率,比現有的最佳方法GTA高出+13.94%。在Penn Action和Kendall's Tau數據集上,我們的方法分別實現了91.67%和99.1%的細粒度分類,以及前五個細粒度幀檢索精度的90.58%,這些結果都優於現有的最佳方法。



    2

    方法

    2.1. 概述

    圖2中我們對CARL架構進行了概述。首先通過一系列時空數據增強為輸入視頻構建兩個增強視圖。此步驟稱為數據預處理。然後,我們將兩個增強視圖輸入到幀級視頻編碼器(FVE)中,以提取密集表徵。遵循SimCLR,FVE附加了一個小型投影網絡,它是一個兩層的MLP,用於獲得潛在嵌入。由於時間上相鄰的幀高度相關,我們假設兩個視圖之間的相似性分佈遵循先驗高斯分佈。基於此,我們提出了一種新的序列對比損失(SCL)來優化嵌入空間中的逐幀表徵。

    圖2  架構概述(CARL)。通過一系列時空數據增強,從訓練視頻構建兩個增強視圖。幀級視頻編碼器(FVE)和投影頭通過最小化兩個視圖之間的序列對比損失(SCL)進行優化。

    2.2. 視圖構建

    首先介紹本方法的視圖構建步驟,如圖2中的"數據預處理"部分所示。在自監督學習中,數據增強對於避免平凡解至關重要。以前針對圖像數據的方法只需要空間增強,與此不同,我們引入了一系列時空數據增強,以進一步增加視頻的多樣性。

    具體而言,對於一個具有S幀的訓練視頻V,我們的目標是通過一系列時空數據增強,獨立地構造兩個T幀的增強視頻。對於時間數據增強,我們首先對V執行隨機時間裁剪,以生成兩個長度為[T,αT]幀的隨機裁剪片段,其中α是控制最大裁剪長度的超參數。在此過程中,我們保證兩個剪輯片段之間至少存在β%的重疊幀。然後對每個視頻序列隨機採樣T幀,獲得視頻序列V1和V2,默認設置T=240。對於小於T幀的視頻,在裁減之前會對空幀進行填充。最後,分別在V1和V2上應用幾種時間一致的空間數據增強,包括隨機調整大小和裁剪、水平翻轉、隨機顏色失真和隨機高斯模糊。

    圖3  幀級視頻編碼器(FVE)的結構。輸入T幀長視頻,輸出逐幀表徵。ResNet-50在ImageNet上進行了預訓練。我們凍結了ResNet-50的前四個殘差塊,只微調最後一個塊。

    2.3. 幀級視頻編碼器

    直接應用視頻分類架構對數百幀的長視頻序列進行建模,因其計算量巨大而無法實現。TCC提出了一種視頻編碼器,它將2D ResNet和3D卷積相結合,以生成逐幀特徵。然而疊加太多3D卷積層會導致計算成本過高。這導致這種類型的設計可能只有有限的感受野來捕捉時間上下文。最近,Transformers在計算機視覺方面取得了巨大的進步。Transformers利用注意機制解決序列到序列任務,同時輕鬆處理遠距離依賴關係。在本網絡實現中,我們採用了Transformer編碼器來建模時間上下文。

    圖3展示了我們的幀級視頻編碼器(FVE)。為了在表徵性能和推理速度之間達到平衡,我們首先使用一個2D網絡(例如ResNet-50)沿時間維度提取長度為T×224×224×3的RGB視頻序列的空間特徵。然後用一個轉換塊(該轉換塊由兩個具有批量歸一化ReLU的全連接層組成),將空間特徵投影到大小為T×256的中間嵌入。遵循常規做法,我們在中間嵌入的頂部添加了正弦-餘弦位置編碼,以編碼順序信息。接下來,將編碼后的嵌入輸入到3層Transformer編碼器中,以對時間上下文進行建模。最後,採用一個線性層來獲取最終的逐幀表徵H。

    圖4  序列對比損失圖解。以V1中的一個視頻幀損失計算過程為例。我們首先計算時間戳距離的先驗高斯分佈。然後計算該幀的嵌入與V2中所有視頻幀的嵌入之間的嵌入相似性分佈,最後將嵌入空間中兩個分佈的KL散度最小化。

    2D 的ResNet-50網絡在ImageNet上進行了預訓練。考慮到計算預算有限,我們凍結了前四個殘差塊,因為它們已經通過預訓練學習了良好的低級視覺表徵。這種簡單的設計確保本網絡可以在超過500幀的視頻上進行訓練和測試。VTN採用了一種類似的基於Transformer的混合網絡來執行視頻分類任務。他們使用[CLS]令牌來生成全局特徵,而我們的網絡是通過考慮時空上下文來提取幀表徵。此外,我們的網絡嘗試了對更長的視頻序列進行建模。

    2.4. 序列對比損失

    SimCLR通過最大化同一實例的增強視圖之間的一致性,引入了一個叫做NTXent的對比損失。

    與圖像的自監督學習不同,視頻提供了豐富的序列信息,這是一個重要的監督信號。對於典型的實例判別,除了正面參考樣本之外的所有實例都被判定為負樣本。然而,參考幀附近的幀高度相關。直接將這些幀視為負樣本可能會損害學習過程,因此我們應該盡量避免這個問題。為了優化逐幀表徵,我們提出了一種新的序列對比損失(SCL),它通過最小化兩個增強視圖的嵌入相似性和先驗高斯分佈之間的KL散度來實現,如圖4所示。

    具體來說,與SimCLR類似,我們使用一個由兩層MLP組成的小型投影網絡g,由FVE編碼的幀表徵H由該投影網絡投影到潛在嵌入Z。考慮到兩個視頻序列V1和V2對應的嵌入向量Z1和Z2中每個潛在嵌入,在時間上相鄰的幀比相距更遠的幀相關性更高,我們假設每個視頻幀的潛在嵌入和另一個視頻序列的潛在向量之間的嵌入相似性遵循時間戳距離的先驗高斯分佈。基於這個假設,我們使用KL散度優化嵌入空間。具體來說,對於V1,我們首先計算 V1中每個幀的損失,然後計算V1所有幀損失的平均值即為V1的總損失,V2同理,序列對比損失為兩個視頻序列V1和V2總損失的和。值得注意的是,本方法中的損失並不依賴於V1和V2之間的幀到幀的對應關係,這增加了時空數據增強的多樣性。



    3

    實驗結果

    我們使用三個視頻數據集,即PennAction、FineGym和Pouring來評估本方法的性能。我們在三個數據集上將本方法與迄今為止最先進的技術進行了比較。

    PennAction數據集上的結果

    如表2所示,我們報告的結果低於平均精度@K指標(Average Precision@K metric),該指標衡量細粒度幀檢索的性能。出乎意料的是,儘管我們的模型沒有經過成對數據的訓練,但它仍然可以從其他視頻中成功地找到具有相似語義的幀。對於所有的AP@K,我們的方法優於以前的方法至少11%。

    表2 在PennAction數據集上的細粒度幀檢索結果。

    FineGym數據集上的結果

    表3總結了FineGym99和FineGym288上細粒度動作分類的實驗結果。結果顯示我們的方法優於其他自監督和弱監督方法。我們的方法在FineGym99和FineGym288上的性能比之前最先進的方法GTA分別高出+13.94%和+11.07%。如TCC、TW和GTA等弱監督方法假設訓練集中的兩個視頻之間存在最佳對齊。然而,對於FineGym數據集,即使在描述同一動作的兩個視頻中,子動作的設置和順序也可能不同。因此,這些方法找到的對齊可能不正確,因而會阻礙學習。我們的方法在兩個指標上有很大的提高,從而驗證了我們框架的有效性。

    表3  以細粒度動作分類為評估指標, 在FineGym上我們的方法與最先進的方法進行比較。

    Pouring數據集上的結果

    如表4所示,我們的方法在一個相對較小的數據集Pouring上性能也是最好的。這些結果進一步證明了我們的方法具有很強的泛化能力。

    表4 在Pouring數據集上與最先進方法的比較



    4

    結論

    在本文中,我們提出了一個對比動作表徵學習(CARL)的新框架,以自監督的方式學習逐幀動作表徵,尤其是長視頻。為了對數百幀的長視頻進行建模,我們引入了一個簡單而高效的網絡,稱為幀級視頻編碼器(FVE),該網絡在訓練過程中參考了時空上下文。

    此外,我們還提出了一種新的用於逐幀表徵學習的序列對比損失(SCL)。SCL通過最小化兩個增強視圖的序列相似性與先驗高斯分佈之間的KL散度來優化嵌入空間。我們在各種數據集和任務上的實驗結果證明了該方法的有效性和通用性。

    雷峰網


    想在手機閱讀更多Microsoft資訊?下載【香港矽谷】Android應用
    分享到Facebook
    技術平台: Nasthon Systems