?CVPR2021最佳學生論文提名:Less is More(端到端的視頻-語言訓練框架)
點擊下方“AI算法與圖像處理”,一起進步!
重磅干貨,第一時間送達
導讀
本文介紹的是今年CVPR的最佳學生論文提名的工作:ClipBert。這篇論文解決了以前工作中對于視頻-語言任務訓練消耗大、性能不高、多模態(tài)特征提取時沒有交互等問題。
【寫在前面】
本文介紹的是今年CVPR的最佳學生論文提名的工作:ClipBert。這篇論文解決了以前工作中對于視頻-語言任務訓練消耗大、性能不高、多模態(tài)特征提取時沒有交互等問題。另外,這是一篇用Image-Text 預訓練的模型去解決Video-Text的任務。以前的Video-Text任務大多是對視頻進行Dense采樣,而本文通過預訓練的Image-Text模型,對視頻進行稀疏采樣,只需要很少的幀數(shù),就能超過密集采樣的效果,進而提出了本文標題中的 “Less is More”。
1. 論文和代碼地址
Less is More: CLIPBERT for Video-and-Language Learning via Sparse Sampling
論文地址:https://arxiv.org/abs/2102.06183
代碼地址:https://github.com/jayleicn/ClipBERT
2. Motivation
在這篇文章之前,大多數(shù)解決Video-Language任務的工作的框架圖都是如上圖所示的這樣,對視頻和語言分別提取特征,然后通過多模態(tài)信息的融合結(jié)構(gòu),將兩個模態(tài)的信息embedding到一個共同的空間。
這樣的結(jié)構(gòu)具有兩個方面的問題:
1) Disconnection in tasks/domains:缺少了任務之間的聯(lián)系,比如在動作識別任務中提取的特征,并不一定使用于下游任務(比如:Video Captioning),由于存在任務之間的gap,這樣的特征提取方式會有導致sub-optimal的問題。
2) Disconnection in multimodal features:缺少了特征之間的聯(lián)系,兩個特征提取分支在提取特征過程中沒有進行交互,導致視覺和語言信息并沒有得到充分聯(lián)系。
除此之外,在提取視頻特征的時候,由于相比于圖片特征,視頻會多一個時間維度,因此提取視頻特征是非常耗時、并且計算量是非常大的。
基于以上的問題,本文提出了CLIPBERT,一個端到端的視頻-語言學習框架(結(jié)構(gòu)如上圖)。相比于以前的框架,本文主要有下面幾個方面的不同:
1)以前的方法是對原始視頻以dense的方式提取特征,非常耗時、耗計算量。但是眾所周知,視頻中大多數(shù)的幀其實都是非常相似的,對這些相似的幀進行特征提取確實比較浪費(而且就算提取了信息,模型也不一定能夠?qū)W習到,如果模型的學習能力不夠,過多的冗余信息反而會起到反作用)。因此,本文對視頻采用稀疏采樣,只采用很少的幾張圖片。
2)如果對這些采樣的clip拼接后同時計算,這就相當于又多了一個維度,就會增加計算的負擔。因此本文是對每一個clip分別計算后,然后再將計算結(jié)果融合,來減少計算量和顯存使用,從而來實現(xiàn)端到端的視頻-語言任務。
另外,本文還有一個創(chuàng)新點就是用圖片-語言數(shù)據(jù)集進行預訓練,然后在視頻-語言數(shù)據(jù)上微調(diào),因此本文將圖片-語言數(shù)據(jù)集上學習到的信息轉(zhuǎn)換到了視頻-語言這個下游任務中,并且效果非常好。
3. 方法
3.1. Previous work
以往的方法對于視頻-文本任務,往往都是直接對密集的視頻V和文本S提取特征,每個視頻V可以被分成N個clip,因此,以前視頻-文本任務的模型可以被建模成下面的公式:
模型的損失函數(shù)為基于預測值 和Ground Truth 的特定任務損失函數(shù):
3.2. 隨機稀疏采樣
為了減少計算量,作者對視頻進行了稀疏采樣,只采樣了很少的視頻幀數(shù),來表示視頻的信息,因此本文的模型可以用下面的公式表示(第i個clip的信息可以被表示成 ):
作者對每一個clip的特征分別進行預測,然后在將每個clip的預測信息進行融合,本文模型的損失函數(shù)如下(G是聚合不同clip信息的函數(shù)):
由于在訓練中,同一視頻每次采樣的圖片并不一樣,所以本文使用的稀疏采樣方法也可以被看作是一種數(shù)據(jù)增強。因為在以往的方法中,是用整個視頻進行訓練的,全部的視頻信息都暴露在模型中;而隨機稀疏采樣每次都暴露幾個clip的信息,并且每次暴露的clip還是不同的,因此就起到了數(shù)據(jù)增強的效果(就像CV中的Random Crop,不采用數(shù)據(jù)增強的話,就將整張圖片暴露給模型;如果使用Random Crop,每次都會對圖片進行隨機裁剪,只暴露圖片的一部分信息,并且由于裁剪是隨機的,所以每次暴露的信息也是不一樣的)。
3.3. 模型結(jié)構(gòu)
本文的模型結(jié)果如上圖所示:
對于視覺編碼器,本文采用的是2D CNN結(jié)構(gòu)ResNet-50,因為相比于3D的CNN結(jié)構(gòu),2D的結(jié)構(gòu)使用的顯存更少、速度更快。
圖中的Spatial Downsampling模塊,作者采用的是2x2的max-pooling。
圖中的Temporl Fusion模塊,本文采用的mean-pooling,來聚合每個clip中T個幀的信息,得到clip級別的特征表示。
然后采用row-wise和column-wise的position embedding來實現(xiàn)2D的Position Embedding。
對于語言編碼器,作者采用了一個work embedding層進行本文信息的映射,然后采用position embedding進行特征位置的編碼。
接著,作者又加入了一個type embedding層,對輸入特征的類型(視覺或語言)進行編碼。
最后,只需要讓這些視覺和語言特征進入一個12層的Transformer中進行訓練即可。
4. 實驗
4.1. Image Size
為了確定最合適的輸入圖片的大小,作者首先在Image Size上做了實驗:
從圖中可以看出,圖片大小從224→448的過程中,性能提高顯著;但將448的圖片繼續(xù)放大,性能提升就不太顯著了,甚至部分指標已經(jīng)開始下降了。
4.2. 幀信息的聚合
實驗中,每個clip采樣了T幀,為了探究如何對這些幀的信息進行聚合,獲得clip級別的特征表示,作者嘗試了以下方法:
可以看出,Conv3D和Conv(2+1)D的方法明顯沒有Mean Pooling好。
4.3. 測試時的clip數(shù)量
為了探究測試時采用多少clip的信息合適,作者進行了下面的實驗:
可以看出,clip≤4,隨著clip的增加,性能顯著提升;clip>4,隨著clip的增加,性能提升不顯著。此外,每個clip采樣兩幀明顯比采樣一幀的效果好。
4.4. 訓練時的clip數(shù)量
為了探究訓練時采用多少clip的信息合適,作者進行了下面的實驗:
總體上來說,訓練時clip數(shù)量從1→2時,效益最顯著。比如在LogSumExp函數(shù)下,clip從1增加到2,R1高了2.8%;clip從2增加到16,R1高了1.9%。
4.5. 稀疏隨機采樣 vs.密集均勻采樣.
可以看出采用4幀的隨機采樣,就比16幀的均勻采樣要好。(因為隨機采樣有了隨機性,就有數(shù)據(jù)增強的效果)
4.6. 相比于SOTA
在多個視頻-語言任務上,本文提出方法的性能能夠大大超過以往的SOTA模型,證明了本文方法的有效性。
5. 總結(jié)
本文提出了一個端到端的視頻-語言訓練框架,只采樣了視頻中的部分信息,就能超過以前密集采樣的方法,證明了“l(fā)ess is more”思想的有效性。另外,本文的方法在多個數(shù)據(jù)集、多個任務上都遠遠超過以前的SOTA方法。
本文亮點總結(jié)
努力分享優(yōu)質(zhì)的計算機視覺相關(guān)內(nèi)容,歡迎關(guān)注:
個人微信(如果沒有備注不拉群!) 請注明:地區(qū)+學校/企業(yè)+研究方向+昵稱
下載1:何愷明頂會分享
在「AI算法與圖像處理」公眾號后臺回復:何愷明,即可下載。總共有6份PDF,涉及 ResNet、Mask RCNN等經(jīng)典工作的總結(jié)分析
下載2:終身受益的編程指南:Google編程風格指南
在「AI算法與圖像處理」公眾號后臺回復:c++,即可下載。歷經(jīng)十年考驗,最權(quán)威的編程規(guī)范!
下載3 CVPR2021
在「AI算法與圖像處理」公眾號后臺回復:CVPR,即可下載1467篇CVPR 2020論文 和 CVPR 2021 最新論文
點亮
只需一秒,我卻能開心一天
