1.Unsupervised learning of video representations using LSTMs
方法:從先前的幀編碼預測未來幀序列
相似於Sequence to sequence learning with neural networks論文
方法:使用一個LSTM編碼輸入文本成固定表示,另一個LSTM解碼成不同語言
2.Describing Videos by Exploiting Temporal Structure
該論文發表在iccv2015,是第一篇使用時間關注解決視頻描述的文章。
方法:①使用融合時空運動特征的3D回旋網絡
②引入attention機制
3.Long-term recurrent convolutional networks for visual recognition and description
方法:①使用CRFs獲得活動物體工具位置的語義元組
②使用一層LSTM將元組翻譯成句子
缺點:僅用於有限域
4.Translating videos to natural language using deep recurrent neural networks
①CNN抽取視頻幀特征
②平均池化產生單一特征向量代表整個視頻
③使用LSTM作為序列編碼器產生基於向量的描述
缺點:①完全忽略視頻幀順序
②未利用時間信息
5. Sequence to Sequence -Video to Text
出現問題:1.現實世界視頻復雜(物件場景行為屬性多樣化,並且難以確定主要內容正確用文本描述事件)
2.對視頻描述需要對時間結構敏感以及允許可變長度的輸入(視頻幀)輸出(文本)
方法:端到端序列到序列模型,使用LSTMs
模型:S2VT,學習直接將序列幀映射成序列句子。使用一層LSTM編碼視頻幀序列成分布式向量表示。這層單一的LSTM對輸入編碼並解碼,允許在編碼和解碼時分享權重。
①LSTM對幀逐一編碼,幀由CNN輸出。為模擬時間活動方面,計算連續幀對之間的光流。流圖像通過CNN輸出給LSTM作為輸出
②讀取了所有幀,模型就逐句生成句子。
同時加入了另外的特征——光流圖像提取的特征,因為可以更好的表示視頻中的動作。
本篇詳細方法:
1.LSTMs for sequence modeling
在編碼階段,給一個輸入序列X(1,2,…n),LSTM計算一個隱藏狀態序列(h1,h2,…hn)
解碼階段,給定輸入序列X的輸出序列Y定義分布為p(Y|X)
2.序列到序列視頻到文本
其他方法:第一個LSTM將輸入序列編碼成一個固定長度向量,第二個LSTM將向量映射成序列輸出。
本篇方法:一個單一的LSTM進行編碼解碼。
①在前幾時間步里,首層LSTM獲得序列幀,進行編碼,二層LSTM獲得隱藏表示ht聯結成空的輸入句子,然后編碼
②當視頻幀結束后,第二層LSTM會嵌入一個句子開始(BOS)標簽,提示開始編碼現有的隱藏表示為句子序列
3.視頻和文本表示
(1)RGB frames:使用CNN輸入圖片提供輸出為LSTMs的輸入。輸入視頻幀為256256,裁剪為227227
本篇還移除了原始的最后一層全連接分類層,學習新的特征線性嵌入成一個500維空間。這個低維特征構成到第一層LSTM的輸入
(2)Optical Flow:
①抽取經典變分光流特征
②創造流圖像
③計算流強度並作為第三頻道增加到流圖像
④使用CNN初始化在UCF101視頻集上的權重來將光流圖像分類為101個活動類別。CNN的fc6層活性被嵌入到一個低於500維空間里並作為LSTM的輸入。
在組合模型中,使用淺融合技術來組合流和RGB特征。
(3)文本輸入
目標輸出單詞序列使用one-hot向量解碼表示。
①通過應用線性變換嵌入單詞成低於500的維空間成輸入數據,然后通過反向傳播學習參數。
②嵌入的單詞向量連接第一層LSTM的輸出ht來構成第二層LSTM的輸入。
③對於LSTM輸出應用softmax成完整的詞匯
總結:對視頻的特征提取也僅僅對每幀的圖像使用CNN網絡進行2D特征的提取,同時加入了另外的特征——光流圖像提取的特征,因為可以更好的表示視頻中的動作,整個視頻encoder和decoder過程在一個LSTM模型上完成,考慮到了視頻的時序特征,因此使用LSTM網絡來順序進行圖像特征的輸入,用隱含層來表示整個視頻,再接着輸入單詞來逐個預測單詞,之后是詳細介紹。
6. Frame- and Segment-Level Features and Candidate Pool Evaluation for Video Caption Generation(2016)
這篇文章提出的方法就是用不同的模型在不同種類的特征上進行訓練從而來生成視頻的描述,再使用一個評估網絡來評估生成句子和視頻特征之間的關聯性,選擇關聯性最好的為最終的視頻描述。
選擇的特征有三種:第一種是針對幀的特征,使用GoogleNet來提取特征;第二種是基於視頻片段的特征,這里文章使用了兩種特征,人工特征dense trajectories和使用C3D網絡提取的特征;第二種是數據庫給出的視頻類別信息,一共20類。
在decoder上使用了LSTM的改進版,深層的LSTM,並且一個模型使用兩種特征來進行訓練,一種來init,另一種來persist。
7.Describing Videos using Multi-modal Fusion(2016)
這篇文章使用了多種類型的特征,比如:圖像特征、視頻特征、環境音特征、語音特征和種類特征,將它們融合作為視頻的表示。其中的的fusion network實際上是單層的FC網絡,即對各類型的特征進行加權平均,在輸入到decoder的LSTM模型來生成描述。
8.Multi-Task Video Captioning with Video and Entailment Generation 2017 ICCV
這篇文章的主要貢獻是提出了使用多任務學習來優化視頻描述任務,作者認為單獨使用一個模型來訓練視頻描述任務不能很好的提取時序特征也就是動作序列,同時他把視頻描述當成了一個推演過程,通過視頻特征序列來推演出對應的描述,給出前提(視頻特征)得出結果(描述),作者認為單任務單模型不能很好的擬合這種推演過程。因此他提出了用多任務來彌補視頻描述中缺乏時序表示和邏輯推演這兩方面。
這篇文章模型是沒有創新的,還是2015年提出的attention加LSTM模型,每個任務的模型還有視頻提取特征方法還有待提升。主要貢獻是提出了多任務學習方法,其實個人認為還是加入更多的模型,更多的數據從而得到更好的特征來提升效果。
9.Weakly Supervised Dense Video Captioning 2017 CVPR
接下來這篇論文就比較厲害了(同時比較復雜),可以說開啟了視頻描述的新篇章,基於區域序列的多視頻描述生成,因為作者覺得視頻包含的信息很多,一句話是描述不清楚的,視頻中也包含這各種對象,每個對象有着不同的動作,因此提出了基於區域序列的視頻描述,同時這些描述要保證多樣性,全方位的描述整個視頻。如圖,對同一個視頻,先提取出不同的區域序列,對每個區域序列生成一句描述。至於為什么是弱監督學習,因為現在的視頻描述數據庫沒有針對區域序列的描述數據,只有視頻級的描述,要用視頻級的描述來學習區域級的描述,因此是弱監督學習。
參考文獻: