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

語言: CN / TW / HK

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

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

編譯 | 龔倩

編輯 | 陳彩嫻

1

引言

論文連結:http://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 [email protected] metric),該指標衡量細粒度幀檢索的效能。出乎意料的是,儘管我們的模型沒有經過成對資料的訓練,但它仍然可以從其他影片中成功地找到具有相似語義的幀。對於所有的[email protected] 我們的方法優於以前的方法至少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散度來優化嵌入空間。我們在各種資料集和任務上的實驗結果證明了該方法的有效性和通用性。

「其他文章」