《sequence to sequence:video to text》視頻描述的全文翻譯
寫在前面
這篇論文是2015年發在CVPR上的,實現了對視頻幀序列輸入、文字序列輸出的一個端到端視頻描述模型。
這篇論文提出的利用LSTM解決視頻與文字可變長度的解決思路,以及整個視頻描述的S2VT網路結構設計都是比較經典的,我在很多最新幾年發表的視頻描述相關的論文中都看到了S2VT的影子,個人覺得這篇文章具有很好的學習價值。
摘要
現實世界中的視頻多種多樣,一個好的視頻描述方法應該對時序結構具有敏感性,且能夠滿足輸入的視頻幀和輸出的文本是長度可變的。本文提出了一種用於生成視頻描述的端到端模型,實現從視頻幀序列到單詞序列的轉換。本文探索了遞歸神經網路,尤其是在圖像注釋生成領域有著最佳性能的長短時記憶網路LSTM。實驗用LSTM對已經標註內容的視頻進行訓練,進而用來生成輸入視頻的事件描述。本文提出的模型能夠學習視頻幀序列以及單詞序列中的時間結構。本文在標準的YouTube視頻集以及兩個電影描述語料庫(M-VAD和MPII-MD)上進行了多個模型變種的性能比較。
1 引言
用自然語言文本來描述視覺內容已經成為了研究熱點,特別是用一句話來描述圖像[8,5,16,18,20,23,29,40]最近受到了越來越多研究人員的關注。而視頻描述在人機交互、視頻索引以及為盲人電影描述等方面有著重要的應用。圖像描述需要解決輸出文本序列的長度可變性問題,視頻描述同樣也需要解決輸入視頻幀長度的可變性問題。目前在視頻描述領域提出的整體視頻表示[29,28,11]、幀匯聚[39]、取固定數量的幀做降採樣[43]等方法已經解決了可變長度輸入的問題。本文提出了一個按序讀入幀序列並按序輸出文本序列的模型,用端到端的方式進行訓練,此模型能夠學習輸入視頻幀序列的任意時間結構。
在開放域視頻中生成描述的難點不僅僅在於各種各樣的對象、場景、行為和屬性的多樣性,還在於很難確定顯著的內容並在上下文中恰當地描述事件。為了學習什麼是值得描述的,我們的模型從配對的視頻片段和對應的句子描述中進行學習,使用一種長短時記憶網路LSTM[12]。LSTM是一種循環神經網路,在語音識別[10]和機器翻譯[34]等相似的序列到序列模型任務中取得了巨大的成功。另外,由於視頻和語言的固有順序屬性,LSTM非常適用於生成視頻中事件的描述。
本文的主要貢獻在於提出了S2VT這個新模型,它直接學習從幀序列到單詞序列的映射關係。如圖1所示,S2VT由兩個LSTM網路疊加而成,第一個LSTM將通過卷積神經網路提取到的幀特徵向量作為輸入進行逐個編碼。一旦讀取完所有的幀,模型會逐個單詞的生成一個句子。幀和單詞表示的編碼和解碼工作由平行語料庫學習得到。為了更好地表示視頻中活動的時序特點,我們還計算了連續幀之間的光學流[2],流圖像也是先通過CNN網路並作為輸入提供給LSTM網路, 在論文[31,8]中已經展示流卷積網路有益於識別活動類型。
這是第一次將通用的序列到序列模型應用到視頻描述中,這使得該模型能夠處理可變長度的輸入幀,學習並使用視頻的時序結構,以及通過學習語言模型來生成既符合語法規範又能自然表達視頻內容的句子。該模型同時包含對幀圖像輸入和光學流圖像輸入的處理,且不需要精準的注意力模型。我們在標準的YouTube語料庫(MSVD)[3]、M-VAD[37]以及MPII電影描述數據集[28]這三個不同數據集上進行實驗,都具有比其他相關方法更好的性能。我們基於Caffe[27]這個深度學習框架實現的代碼可以在github上找到。
2 相關工作
之前的研究中用於生成句子描述的方法[11,19,36]都由兩個階段組成,首先是識別主語、動詞、賓語這些語義內容,然後基於模板生成一個句子。這通常需要先訓練個體分類器來識別候選對象,動作以及場景。然後採用概率圖模型結合視覺信息和語言模型來判斷視頻中最有可能的內容,用來生成一個句子。這種方法雖然把內容提取和句子分成做了簡化分離,但它需要選擇一組相關的對象和動作用來是被,且基於模板的句子生成方法不足以模擬人類描述語言的豐富程度。相反,本文的S2VT模型避免了內容識別與句子生成的分離,直接學習輸入視頻與相應句子描述之間的映射關係,同時學習了一個以視覺特徵為條件的語言模型。
S2VT模型從圖像注釋生成模型[8,40]中獲得靈感,其第一步是通過用CNN網路提取固定長度的圖像特徵,然後通過LSTM網路將特徵向量解碼成構成圖像描述的單詞序列。另外,由於本文使用可變長度的視頻作為輸入,我們遵循語言翻譯模型[34]用LSTM作為序列到序列的轉換器。
在論文[39]中,他們為視頻中的各個幀分別提取CNN特徵,然後對結果進行均值匯聚用來表示整個視頻的單個特徵向量。然後他們使用一個LSTM作為序列解碼器來產生一個基於這個特徵向量的語言描述。這種方法的一個主要缺點是完全忽略了視頻幀的時序結構。論文[8]中的方法也使用LSTM生成視頻描述,然而,他們還是採用了兩步法的基本方法,先獲得活動、對象、工具和定位的語義元組,然後使用LSTM將這個元組翻譯成一個句子。此外,[8]中的模型近適用於烹飪視頻的有限領域,而本文是為所有開放域的視頻生成描述。
同時期論文[43]也強調了[39]中方法的局限性。在[43]中假定視頻有固定的大小,在這個長方體上提取密集的軌跡特徵(HoG、HoF、MBF)[41]並連接這些特徵作為輸入,然後採用3D卷積網路來獲取時空運動特徵。此外與[39]中取平均不同的是他們還加入了一個注意力機制提高關鍵幀的權重。
論文[33]中使用LSTM學習之前幀的編碼來預測未來的幀序列。他們的模型類似於語言翻譯模型[34],使用一個LSTM將輸入文本編碼為固定長度,另一個LSTM將其解碼為不同的語言。相反,本文只使用一個單一的LSTM在輸入視頻序列和輸出文本序列之間學習,即做到編碼和解碼參數共享。
其他相關工作使用LSTM預測每幀表示的活動類型[24,8]。相比之下,本文的模型不是針對單幀進行的,而是在對整個視頻的幀都完整編碼之後再生成描述。而且我們的模型集合了原始圖像和光學流圖像兩種輸入。
3 實驗方法
本文提出了一個序列到序列的模型,其中輸入是視頻幀序列
輸出是單詞序列
其中輸入和輸出的長度都是可變的,且通常視頻幀長度大於單詞序列的長度。
在此模型中,給定輸入為視頻幀情況下,輸出為的概率為:
這個問題類似於自然語言的機器翻譯,論文[6,34]最近已經提出了用LSTM結構有效解決序列到序列模型方法。我們將這種方法擴展到由視頻幀序列組成的輸入,從而顯著地簡化了基於RNN的視頻描述方法。在下文中將會對本文模型結構包括輸入輸出的表示做一個詳細的介紹。
3.1 LSTM序列模型
處理可變長度輸入和輸出的主要思想是先對幀的輸入序列逐幀編碼,用向量來表示視頻特徵,然後將這個特徵向量進行解碼逐單詞的產生一個句子。
首先來回憶一下最先在論文[12]中提出的LSTM長短時記憶網路結構。依賴於論文[44]中提出的LSTM記憶單元,對於每個時間t的輸入x, LSTM會計算隱藏狀態h和對時間t之間出現的事物的編碼記憶單元c。具體的表示如下所示:
在編碼階段,LSTM接收輸入,計算其中的隱含狀態。在解碼階段定義了在給定X序列的下輸出序列的條件概率為:
其中
的分布是對辭彙表中所有的單詞做softmax得到的,具體見下文式5,而
由公式2可以得到。
3.2 視頻幀序列轉換為文本序列
論文[6,34]中首先使用一個LSTM將輸入序列編碼為固定長度,然後用另一個LSTM將向量映射為輸出序列。但本文的方法只需要一個LSTM,即編碼和解碼過程參數共享。
本文的S2VT模型如下圖2所示,使用兩層LSTM,每個具有1000個隱藏單元。第一個紅色的LSTM層用於幀序列進行家建模,輸出隱藏狀態作為第二層綠色LSTM層的輸入用於對最終的輸出子序列進行建模。
訓練和推理過程:一開始先由頂層LSTM接受幀序列並進行編碼,而第二層的LSTM接受第一層的隱含狀態h, 並將其與零填充符相連然後編碼,這個過程不計算損失值。在所有幀都輸出隱含狀態後,第二層LSTM送入起始符,促使其開始將受到的隱藏狀態解碼成單詞序列。解碼階段進行訓練時,在已經知道幀序列的隱藏狀態及之前輸出的單詞的條件下,求預測句子的對數似然性。訓練目標就是使得式4到達最大值。
整個訓練數據集上使用隨機梯度下降演算法進行優化,從而使得LSTM學習更合適的隱含狀態h。第二層LSTM的輸出z通過在辭彙庫V中尋找最大可能性的目標單詞y,具體的如下式所示:
除此,我們還需要一個明確表示句子結束的符號,這使得模型能夠滿足不同長度的輸出。在測試階段,在遇到結束符之前每次都選擇一個使得式5獲得最大概率的單詞。
3.3 視頻和文本的表示方法
RGB幀:與之前基於LSTM的圖像描述方法[8,40]和視頻到文本轉換方法[39,43]一樣,本文用卷積神經網路對輸入的RGB圖像進行處理後作為頂層LSTM的輸入。實驗從256*256大小的輸入幀隨機選取227*227的區域,並採用了AlexNet的一種變體網路模型及16層VGG網路模型[32]的第7個全連接層的輸出,然後在ImageNet[30]的子數據集ILSVRC-2012圖像集上進行模型的參數訓練。
光學流圖像:除了將RGB圖像作為輸入外,我們還將光學流圖像作為輸入。論文[24,8]中已經證明將光學流圖像作為LSTM的輸入有助於提高活動分類的精度,由於本文很多視頻描述也都是基於活動的,所以將其作為一種輸入形式。我們按照[8,9]的方法先提取經典的變分光學流特徵[2],然後用類似[9]的方法將x和y的轉換到0和255之間,除此將流量大小作為第三個通道加到流量圖中。然後使用在UCF101視頻數據集上訓練好的CNN模型[9]將光學流圖像分成101種活動類型,CNN的第6個全連接層輸出500維的空間作為LSTM的輸入。
在最後的組合模型中,本文使用淺層融合技術來集成RGB特徵和流特徵。即在解碼階段,會選擇使得以下式子達到最大值的單詞y:
文本輸入:單詞的目標輸出序列使用1-N方式編碼表示,通過對輸入數據做線性變換我們將單詞嵌入到較低的500維空間中並通過反向傳播學習其參數。輸出的500維特徵向量與第一層LSTM層的輸出h連接後作為第二層LSTM的輸入。考慮第二層LSTM的輸出時,如式5所示我們在整個辭彙表上應用一個softmax函數來挑選最有可能的單詞。
4 環境配置
本節中先介紹了實驗用到的數據集,然後給出了所用的評價標準,最後對於S2VT模型的細節做了一個闡述。
4.1 視頻描述數據集
本文在三個視頻描述語料庫上進行實驗:微軟視頻描述語料庫(MSVD)[3],MPII電影描述語料庫(MPII-MD)[28],蒙特爾特詩品注釋數據集(M-VAD)[37]。這三個語料庫一起形成了開放域視頻的最大平行語料庫。MSVD是藉助於人工在網路短視頻航注釋形成的,而MPII-MD和M-VAD則來自帶有描述腳本數據和音頻描述的好萊塢電影片段。
如下表1列出了每個語料庫的信息:
4.1.1 微軟視頻描述語料庫-MSVD
MSVD[3]是由Mechanical Turk收集的Youtube視頻集合,每個視頻都有工作人員添加單個活動的句子描述。原始的語料庫由多種語言的描述,在本實驗中只使用英文描述,除此還做了將所有文本轉換為小寫,對句子進行標記並去除標點符號這些最小限度的預處理。實驗採用了論文[39]提供的數據拆分功能,並每隔士幀進行一次採樣。
4.1.2 電影描述語料庫-MPII-MD
MPII-MD[28]包含大約從94部好萊塢電影中提取的68,000個視頻片段。每個片段都附帶一個從電影腳本和音頻描述中提取到的文本描述。雖然文本描述跟視頻片段的匹配是手動進行的,但由於電影內容的多樣性以及大多數片段之後一個可以參考的描述句子,數據處理仍然非常具有挑戰性。本文使用該數據集提供的數據,並在每個片段中每隔五幀提取一次,最後得到平均長度為94幀的片段。
4.1.3 蒙特利爾視頻描述語料庫-M-VAD
M-VAD[37]是另一個從92部電影中收集到的短視頻片段數據集,大約包含49,000個短視頻。它與MPII-MD類似,所以實驗中的處理也採用了與MPII-MD一樣的方法。
4.2 評價指標
模型使用METOR[7]來定量評估,該評價指標最初被提出適用於評價機器翻譯結果的準確性。METOR根據給定的假設句子和一組候選參考句子之間的對應關係計算得到的,使用WordNet同義詞進行比較確切的符號匹配、辭彙匹配以及語義相似度上的匹配。METOR在語義當面比BLEU[26]、ROUGE-L[21]或者是CIDEr[38]都好。CIDEr的作者就評估了這四種圖像描述方法,他們發現METOR的變現總是優於BLUE和ROUGE,在參考文字資料很大的時候與CIDEr的表現相當,但是當參考資料數量很小時其表現就會比CIDEr出色。考慮到MPII-MD和M-VAD都只有一個語句描述,我們決定使用METOR來評估實驗結果。
4.3 網路模型的實驗細節
模型的輸入都來自於直接輸入到CNN中的原始RGB幀或者預處理過的光學流圖像。在訓練過程中,將LSTM展開成為80個時間步驟,這使得我們能在小批量上適應多個視頻。且當以每10幀采一次樣時94%的Youtube視頻能滿足這個限制。對於小於80個時間步長的視頻,採用零填充的方法進行補充,而對於較長的視頻則截取幀的數目,以確保幀數在此範圍之內。在測試階段,模型對輸入視頻的長度不做限制,所有採樣好的幀都輸入到模型中進行處理。實驗採用預先訓練好的AlexNet和VGG CNN網路結構來提取輸入幀的特徵。
將本文的從序列到序列的LSTM模型與從AlexNet和16層VGG網路中提取的RGB圖像特徵進行比較。除此,為了將VGG網路中提取出來的特徵與之前的模型進行對比,實驗將16層VGG的第7個全連接層的輸出用在平均混合模型作為基準線。本文所有的序列到序列實驗模型都在表2中的S2VT欄。本文的第一個變種RGB(AlexNet)是在RGB幀上使用了Alex的端到端模型;相應地,Flow (AlexNet)指的是通過訓練流圖像獲取到的模型; RGB(VGG)指的是在16層VGG網路模型上進行對RGB圖像的處理。如表2中的第10行所示實驗還將隨機進行重新排序排序後的幀序列作為輸入以驗證S2VT模型能夠學習時序信息。本文的最終模型是RGB(VGG)和Flow(AlexNet)的集合,而每個時間步驟預測到的單詞都是來自單個模型的加權平均。
4.4 相關方法比較
本文將S2VT模型與元素圖模型FGM[36]、平均池模型Mean Pool[39]以及軟注意力模型[43]進行比較。其中,FGM使用了兩步法即首先獲得對主語、動詞、賓語和情景(S,V,O,P)的置信度,然後將其與語言模型中的置信度結合起來產生最有可能在視頻中出現的(S,V,O,P)組合,最後根據模板生成一個句子。
Mean Pool模型將所有將各幀在AlexNet的第7個全連接層的輸出平均匯聚,從而獲得整個視頻的定長特徵向量,然後使用LSTM模型將該特徵向量解碼成單詞序列。此外,Mean Pool模型在Flickr30k[13]和MSCOCO[22]這兩個圖像描述數據集上進行了預先訓練,並在MSVD上進行參數優化以提升模型性能。
我們將本文提出的模型與FGM模型、平均池模型以及經過在Flickr30k和MSCOCO進行參數優化後的最佳模型都進行了比較。除此,本文跟進行平均匯聚的GoogleNet[35]變體網路、運用了時間注意力模型的GoogleNet、同樣使用了注意力模型的GoogleNet模型和3D-CNN模型的結合都進行了實驗效果的對比。實驗對比結果如下表2所示:
5 討論與結果
本節主要對文中的表2、表4以及表5中的實驗結果進行進一步的討論與分析。
5.1 MSVD數據集
表2展示了在MSVD數據集上進行的實驗結果。其中第1行到底7行表示了相關的方法,而剩下的是S2VT模型的各個變種。最基本的S2VT模型RGB(AlexNet)的METEOR指標達到了27.9%,比第二行中的用了平均池[39]的AlexNet表現(26.9%)和第三行中的VGG平均池模型(27.7%)都要好, 這證明了S2VT是一個性能很好的方法。從第10行可以看出當用隨機排序的幀作為輸入時得分很低,這清晰地表明本文提出的模型能學習到時間信息。
當S2VT模型將流圖像作為唯一輸入時Flow(AlexNet),METOR得分只有24.3%,但是當將其與RGB(VGG)相結合時,性能從原來的29.2%(第11行)提升到29.8%(第12行)。光學流模型表現效果差的一個原因可能在於即使對於相同的活動,光學流特徵可能也有很大差別。此外,該模型只能接受到YouTube視頻中活動的微弱信號。但是將RGB與FLOW這兩種輸入類型集成可以提高整個模型的預測質量。
如表2的第7行所示,將RGB和FLOW結合只有的模型比[43]中的結合GoogleNet和3D-CNN的時間注意力模型結果要好。但是第7行的效果提升是由於使用了更強大的3D-CNN模型。因此S2VT與時序注意力模型最好的對比試驗應該是沒有使用3D-CNN的情況,即第12行與第6行進行對比。
下圖3展示了本文的S2VT模型用MSVD語料庫對YouTube視頻生成的描述。為了比較模型生成的句子的原創性,我們計算了預測的句子與訓練集中句子的Levenshtein距離。從表3可以看到對於MSVD語料庫,42.9%的預測結果與某些訓練語句完全相同,另外的38.3%可以通過在語料庫中插入、刪除或者替換其中的一個詞來得到,而且我們注意到很多生成的句子描述都是相關的。
5.2 電影描述數據集
對於更具挑戰性的MPII-MD和M-VAD數據集,本文使用了單一的最佳模型RGB(VGG)。為了避免對電影語料庫的過擬合,我們採用了在論文[27]中已經被證明可以有效減輕過擬合的drop-out方法,即隨機讓節點失活。除此實驗還發現在兩層LSTM的輸入和輸出上使用隨機失活效果最好。此外,我們還採用ADAM[17]優化器進行優化,第一個動量係數為0.9,第二個動量係數為0.999。
從表4中可以看出對於MPII-MD數據集,本文的METEOR指標比SMT方法[28]的5.6%提高到了7.1%,比平均池方法[39]也提高了0.4%,與Visual-Labels[27]視覺標記法效果相當,該方法是同時期的基於LSTM的方法,不對時間進行編碼但是使用了多樣化的對象檢測器、活動以及場景分類器這樣的視覺特徵。
下表5為在M-VAD數據集上進行的實驗結果,本文模型的METEOR達到了6.7%, 明顯優於時間注意力模型43和平均池(6.1%)。在這個數據集上,我們也超越了Visual-Labels27。
除此,我們還給出了結合M-VAD和MPII-MD兩個電影數據集的LSMDC挑戰的結果。S2VT模型在公共評測系統上達到了7.0的METEOR指標。
圖4展示了S2VT模型在M-VAD數據集上生成的一些描述示例。
6 總結
本文提出了一種新穎的從視頻幀序列到文本單詞序列的視頻描述方法,首先按序讀入視頻幀然後經過模型後逐個單詞生成句子。這使得我們能夠處理可變長度的輸入和輸出,同時對視頻幀的時間結構建模。實驗模型在MSVD數據及上達到了最優的效果,並且在MPII-MD和M-VAD這兩個極具挑戰性的電影描述數據集上的表現也勝過了其他的相關工作。儘管模型的設計簡單,但我們的模型從額外的數據中獲益顯著,表明其具有很大的模型容量。除此,該模型還能在輸入輸出的序列中學習時序結構以用於具有挑戰性的電影描述數據集。
來源:簡書 作者:與陽光共進早餐
鏈接:https://www.jianshu.com/p/dd060e5b0614
- 加入人工智慧學院系統學習 -


※美國攻擊中國「缺芯」軟肋,中興被禁,華為、海康告急!
※3月20日20點 中國科學院博士開講!
TAG:AI講堂 |