劉志超
摘? 要:視頻預(yù)測一直以來都是計算機視覺領(lǐng)域的熱點問題,由于其廣泛的實用價值和理論價值,引起了研究人員的廣泛關(guān)注。該文對主流的視頻幀預(yù)測算法進行了研究,首先介紹了視頻預(yù)測領(lǐng)域的常見問題,并由基本架構(gòu)對視頻預(yù)測算法進行了分類,接下來介紹了該領(lǐng)域常用的數(shù)據(jù)集并給予評價,最后從視頻預(yù)測算法的運行流程和最新的論文角度上,總結(jié)該領(lǐng)域算法的發(fā)展方向。
關(guān)鍵詞: 視頻幀預(yù)測;長短時記憶網(wǎng)絡(luò) ;自編碼器 ;生成對抗網(wǎng)絡(luò);注意力機制;強化學(xué)習(xí)
中圖分類號:TP391? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)10-0249-03
Abstract:Video prediction has always been a key issue in the computer vision field.Because of its extensive pratical and theoratical values,the video prediction technique has attracted attentions of many researchers.This paper reviews the main video prediction algorithms.Firstly,this paper introduce the common problems in video prediction,and classify many famous video prediction algorithms according to basic architectures.Then,the common datasets of video prediction are introduced and evaluated.Finally,on the basis of the process of the algorithms and the latest papers,this paper summarize the development of algorithms in this field.
Key words:video prediction; long short-term memory network; autoencoder; generative adversarial net; attention mechanism;? reinforcement learning
視頻幀預(yù)測(video predictin)是指通過對視頻中的歷史圖像幀序列進行學(xué)習(xí),從而生成未來的圖像幀。在自動駕駛技術(shù)日趨成熟的今天,能夠預(yù)測圖象的未來幀序列變得越來越重要。目前視頻預(yù)測已經(jīng)在無人駕駛、機器人導(dǎo)航、人機交互等廣泛的應(yīng)用領(lǐng)域取得了一定的成功,如預(yù)測未來的活動和事件[1]、目標的位置預(yù)測、交通中行人的軌跡預(yù)測、自動駕駛等。
軌跡預(yù)測是視頻中運動預(yù)測的關(guān)鍵,預(yù)測系統(tǒng)不僅需要知道目標周圍對象的當前狀態(tài),還需要知道它們未來可能的狀態(tài)。在視頻預(yù)測研究興起之前,物體運動軌跡預(yù)測更加受學(xué)術(shù)界關(guān)注。二者的區(qū)別與聯(lián)系在于:運動預(yù)測一般是指從靜態(tài)圖像或視頻前幾幀中推斷出人體動作、物體移動軌跡等動態(tài)信息;而視頻預(yù)測是從靜態(tài)圖片或視頻前幾幀中直接預(yù)測未來圖像。目前的,針對視頻預(yù)測算法的常用評價指標為均方誤差(MSE)、絕對誤差(MAE)、峰值信噪比(PSNR)和結(jié)構(gòu)相似性(SSIM)。前兩者越小越好,后兩者越大越好。
本文由常見的視頻預(yù)測基本架構(gòu)作為分類準則,按時間順序回顧了現(xiàn)有的視頻預(yù)測算法。具體結(jié)構(gòu)如下:首先簡要介紹視頻預(yù)測領(lǐng)域常見的問題;之后對視頻幀預(yù)測領(lǐng)域中的算法按照上文提及的基準進行分類;其次介紹該領(lǐng)域常用的數(shù)據(jù)集,并評價其特點;最后介紹改善該領(lǐng)域算法的新方向和視頻預(yù)測算法的下一步發(fā)展與展望。
1 視頻預(yù)測的常見問題
視頻幀預(yù)測技術(shù)的性能在近幾年逐漸改善,但是由于視頻數(shù)據(jù)中存在大量的復(fù)雜信息,同時相鄰的視頻幀間具有較強的相關(guān)性,而傳統(tǒng)的機器學(xué)習(xí)算法在自動標注特征信息和根據(jù)歷史幀序列生成預(yù)測幀的能力方面有所欠缺,因此視頻預(yù)測領(lǐng)域仍然存在很大的挑戰(zhàn),面臨的挑戰(zhàn)主要如下:
1)模糊的預(yù)測。這個問題一般是誤差在循環(huán)模型中的傳播造成的,而這與視頻預(yù)測的固有不確定性有關(guān)。對于之前給定的一系列先前幀,存在多個平行的未來。如果不加以限制,就會產(chǎn)生一個模糊的預(yù)測,同時這預(yù)測結(jié)果會影響后續(xù)幀傳播回網(wǎng)絡(luò)的信息,產(chǎn)生更大的誤差。
2)高內(nèi)存消耗。伴隨著視頻預(yù)測技術(shù)的發(fā)展,神經(jīng)網(wǎng)絡(luò)的深度逐漸增加,模型高內(nèi)存消耗的特點逐漸凸顯。而這一特點極大地限制了他們的應(yīng)用場景和降低預(yù)測效率。
3)預(yù)測的長期性。由于復(fù)雜的動力學(xué)和背景外觀的變化,在模型架構(gòu)生成較為遙遠的未來幀時,由于存儲單元記憶能力的限制和長期預(yù)測中主要由遮擋、照明條件變化和攝像機運動等因素造成的視覺外觀可變性,未來幀可能出現(xiàn)與現(xiàn)實情況不符甚至不合理的結(jié)果。
4)無法捕捉全部分布。在上文中提到視頻數(shù)據(jù)高復(fù)雜性的特點,而這直接導(dǎo)致了當目標對象的運動場景較為復(fù)雜時,會導(dǎo)致模型架構(gòu)對視頻前后幀間部分復(fù)雜關(guān)系的疏漏。
2 基本的算法架構(gòu)
在視頻預(yù)測的研究過程中,我們發(fā)現(xiàn)了各種架構(gòu)和計算單元所組成的算法,而這些所產(chǎn)生的算法主要是依據(jù)以下三種基本神經(jīng)網(wǎng)絡(luò)架構(gòu)發(fā)展得到的:基于自動編碼器(Auto-Encoder, AE)的方法、基于生成對抗神經(jīng)網(wǎng)絡(luò)(Generate Adversarial Network, GAN)的方法,以及基于長短時記憶神經(jīng)網(wǎng)絡(luò)(Long Short-Term Memory, LSTM)的方法,如圖1。
2.1 自編碼器
2.1.1 自編碼器思想
傳統(tǒng)的自編碼器模型主要由編碼器和解碼器兩部分構(gòu)成,通過將視頻幀序列編碼成為一個潛在變量,然后再利用潛在變量生成視頻幀序列。
2.1.2 基于AE結(jié)構(gòu)的改進
Patraucean團隊通過將一種具有長短時記憶功能的卷積模塊加入編碼器的架構(gòu)中而提出一種新的時空視頻自動編碼器[2],與早期的編碼器和短時性記憶模塊的簡單連接,該模型所需的參數(shù)更少;而DeBrabandere等提出的方案中,卷積模塊是用來融入編碼器架構(gòu)來產(chǎn)生濾波器生成網(wǎng)絡(luò)[3],最終達到在模型參數(shù)不會過度增加的前提下進行自適應(yīng)特征提取。同時,由于視頻數(shù)據(jù)的時序特性,其算法架構(gòu)大多會使用循環(huán)結(jié)構(gòu),而Lotter等人基于對循環(huán)結(jié)構(gòu)中誤差的傳遞考慮,提出了PredNet,該網(wǎng)絡(luò)通過將預(yù)測信息與實際信息相對比來產(chǎn)生誤差信息,再將誤差信息自下而上傳遞回去來更新預(yù)測信息,最終減小誤差信息對于預(yù)測的影響。Villegas等人提出MCnet網(wǎng)絡(luò),該網(wǎng)絡(luò)在基礎(chǔ)架構(gòu)中融入了ConvLstm,創(chuàng)新性地將視頻預(yù)測的輸入分成了兩個易識別的組成,即內(nèi)容組和運動組。該網(wǎng)絡(luò)可以通過從運動組編碼空間區(qū)域的局部動態(tài)和從內(nèi)容組編碼圖像的空間布局信息,最終實現(xiàn)將提取出來的內(nèi)容信息和動作信息加入未來幀,來簡化預(yù)測的工作量。與MCnet算法的拆分思想類似,Hsieh等人結(jié)合結(jié)構(gòu)化概率模型和深層網(wǎng)絡(luò)架構(gòu)提出了DDPAE,將預(yù)測的高維視頻拆分為組件,并將每個組件拆分為低維時間動態(tài)來進行預(yù)測,從而對視頻進行良好的分解和理解,最終達到降低預(yù)測工作的復(fù)雜性的目的。FAN等人提出分層自動編碼器(HRPAE),則是利用編碼器編碼成不同層次的卷積特征,并使用ConvLSTMs對這些特征分別建模。同時,在該架構(gòu)下,編碼器和解碼器之間的特征信息更容易共享。
2.2 生成對抗網(wǎng)絡(luò)
2.2.1 生成對抗網(wǎng)絡(luò)思想
生成對抗網(wǎng)絡(luò)的核心思想在于以零和博弈的方式進行交替訓(xùn)練。該網(wǎng)絡(luò)由一個生成器(generator,G)和一個判別器(discriminator,D)組成。在視頻預(yù)測中,生成器在鑒別器網(wǎng)絡(luò)的指導(dǎo)下,基于輸入像素的聯(lián)合分布模型而無需進行任何其他獨立假設(shè)來生成未來幀。
2.2.2 基于GAN結(jié)構(gòu)的改進
基于生成對抗網(wǎng)絡(luò)的方法通常是利用GAN中的生成器作為預(yù)測模型來實現(xiàn)對未來視頻幀的預(yù)測。Liang等為了使生成的未來幀與視頻序列中的像素流一致,提出了一種雙重運動生成對抗網(wǎng)絡(luò)模型[4],來通過雙重學(xué)習(xí)機制來學(xué)習(xí)預(yù)測未來幀。在該學(xué)習(xí)機制下,原始的未來幀預(yù)測和后續(xù)的未來流預(yù)測形成一個閉環(huán)來反過來糾正現(xiàn)實數(shù)據(jù),來使生成的信息相互反饋,從而實現(xiàn)更有效的預(yù)測。這類方法中,由于其融入的對抗思想,能夠較為清晰地預(yù)測未來的視頻幀,但是處于長期預(yù)測的任務(wù)中時,視頻幀質(zhì)量會迅速下滑。而Xiong等人提出運用多個階段GAN來生成和細化原始幀。類似的思想還有,Bhattacharjee等人基于對時間維度上的考慮,提出了兩個基于歸一化互相關(guān)和成對對比散度的目標函數(shù)和一個多階段生成對抗框架,并通過兩個階段的生成對抗網(wǎng)絡(luò)來生成清晰的未來幀。Lee等人提出的隨機對抗生成網(wǎng)絡(luò)(SAVP),通過結(jié)合對抗性損失和潛在變量等方法來進行預(yù)測,在GAN架構(gòu)的基礎(chǔ)上加入變分自編碼器來觀察真實的視頻幀潛在編碼,最后結(jié)合ConvLstm來進行視頻幀預(yù)測。Ying等人[5]提出差異導(dǎo)向的生成對抗網(wǎng)絡(luò),通過引入雙路徑網(wǎng)絡(luò)的方式,來盡可能地保留未來幀的細節(jié)信息。一條路徑生成未來幀的粗略結(jié)果,另一條路徑則是用來生成歷史幀和預(yù)測幀之間的差異圖像。該模型的特點在于擺脫了從隨機噪聲中生成圖像的局限性,而創(chuàng)新性地從對相鄰幀之間的差異得到靈感,從而以歷史幀序列的分布為基準進行像素偏移。其價值在于在未來幀的SSIM等指標合適的前提下,使生成的幀可以具有精細的細節(jié)。
2.3 長短時記憶網(wǎng)絡(luò)
2.3.1? Lstm的思想
Lstm模型通過有選擇性地丟失存儲的信息,并將選擇出來的信息與后續(xù)輸入的時序信息相結(jié)合來完成對時間序列數(shù)據(jù)的處理與分析,同時也由于視頻數(shù)據(jù)的特點,許多視頻幀預(yù)測算法都是在該模型上發(fā)展而來的。
2.3.2 基于Lstm結(jié)構(gòu)的改進
早期,由Lotter等人將卷積模塊與傳統(tǒng)的LSTM模型結(jié)合,而提出了預(yù)測神經(jīng)網(wǎng)絡(luò)[6],該網(wǎng)絡(luò)能夠?qū)γ恳粚佣歼M行局部預(yù)測,并且將預(yù)測的偏差向后傳遞,最終實現(xiàn)對視頻序列進行預(yù)測。Oliu[7]等人創(chuàng)新性地提出了GRU計算單元和一種遞歸結(jié)構(gòu),通過疊加多層ConvGRU結(jié)構(gòu)形成一個具有雙重門控循環(huán)單元的循環(huán)自動編碼器。同時,由于編碼器和解碼器的權(quán)重共享,減少了計算成本,并且達到了較好的預(yù)測效果。與Oliu的信息共享思想類似的,Wang等人先提出PredRNN,其架構(gòu)中的每一個LSTM單元的記憶狀態(tài)并不獨有且允許不同單元的內(nèi)存狀態(tài)跨層,其信息可以垂直和水平地穿過所有的RNN堆疊層,同時該網(wǎng)絡(luò)可以同時提取和記憶空間信息和時間信息,后來在該算法的基礎(chǔ)上提出了一個梯度公路單元,來緩解梯度傳播的困難。接著,Wang等人提出了MIM模塊來利用相鄰循環(huán)狀態(tài)之間差分信息,最終實現(xiàn)處理時空動力學(xué)的非平穩(wěn)和近似平穩(wěn)變量。對于之前提到的架構(gòu),雖然都可以進行較長的時間預(yù)測,但是由于架構(gòu)內(nèi)部的計算單元提取特征能力較弱而受一定局限。最近,Wang等人利提出將3D-Conv單元集成到循環(huán)神經(jīng)網(wǎng)絡(luò),來使網(wǎng)絡(luò)更好地感知運動,同時,存儲更好的短期特征。該網(wǎng)絡(luò)通過門控自我注意模塊來提升其長期記憶的能力,并得以在多個時間點回憶存儲記憶,所以對于長時間的干擾有著很好的糾正能力。
3 常用數(shù)據(jù)集
由于常見的視頻預(yù)測算法所需要的輸入大多是一系列有著連續(xù)變化關(guān)系的視頻幀,所以數(shù)據(jù)之間有著邏輯關(guān)系的數(shù)據(jù)集大多比較適合作為該領(lǐng)域的使用數(shù)據(jù),例如人的運動姿態(tài)、汽車行駛鳥瞰圖、3維彈球運動等。
KTH數(shù)據(jù)集記錄了一個演員在相同背景下進行運動的視頻數(shù)據(jù)。該數(shù)據(jù)集包含包括2391個平均持續(xù)時間為4秒的視頻序列,視頻序列中演員的動作可以分為6種。分辨率下采樣至160 × 120像素。
移動數(shù)字數(shù)據(jù)集為一個人工合成數(shù)據(jù)集。其記錄的數(shù)據(jù)為兩個不同的阿拉伯數(shù)字伴隨著時間的推移,在同質(zhì)的黑色背景下各自進行連續(xù)運動的視頻序列。該數(shù)據(jù)集的分辨率為64×64像素。
Kitti數(shù)據(jù)集是一個移動機器人和自動駕駛數(shù)據(jù)集。該數(shù)據(jù)集有151個視頻序列,采樣至1392×512像素。他是由數(shù)小時的交通場景組成,用各種傳感器記錄得到的,例如RGB、3D激光掃描儀等。
彈跳球數(shù)據(jù)集記錄的是三個彈球在盒子中跳動的情況,它是生成高維序列模型的通用測試集。同時,該數(shù)據(jù)集共同包含4000個視頻序列,其采樣分辨率為150×150。
4 視頻幀預(yù)測算法改進方向
從上文中,可以看出在改善視頻預(yù)測網(wǎng)絡(luò)結(jié)構(gòu)的方向上,學(xué)者已經(jīng)做出了許多成果,并取得不錯的成效。這一章節(jié),將介紹有別于之前專注于改善模型架構(gòu)的算法提升方向。
自然語言任務(wù)轉(zhuǎn)換模型(Transformer),近年來在計算機視覺領(lǐng)域取得了許多令人興奮的結(jié)果。該模型由于利用了注意力機制來編碼輸入中的依賴關(guān)系而得到了很高的表達能力。同時由于編碼特征的一般化,該模型在視頻預(yù)測、動作識別、圖像超分辨率等領(lǐng)域都得到了廣泛的應(yīng)用。Zhong等人提出的基于行為條件的未來幀預(yù)測模型,該學(xué)習(xí)框架通過將強化學(xué)習(xí)與視頻預(yù)測模型融合來解開可控對象,其特點在于利用行為條件進行未來幀預(yù)測,并使用行為信息來學(xué)習(xí)可控對象的解開。其模型的運行方式為將預(yù)測任分為了三部分,分別是預(yù)測相關(guān)動作信息、圖像的背景信息和掩模圖像信息,最終達到生成未來幀的目的。Kim等人提出了一種檢測任意對象的關(guān)鍵點算法,該算法被訓(xùn)練成以無監(jiān)督方式檢測任意對象的關(guān)鍵點。然后,在此算法的基礎(chǔ)上,提出了一種新的從輸入上進行處理的視頻預(yù)測算法。其缺陷也十分明顯,由于該算法是基于關(guān)鍵點展開的,所以它的目標對象更適合于在運動時會產(chǎn)生關(guān)鍵點的人等對象。Lin等人提出SA-ConvLstm模型,其特點在于提出了一種新的自我注意記憶(SAM)來記憶時空領(lǐng)域的長期特征。較之于之前的算法模型,在MSE等指標上有了突破。Lange等人[8]同樣在算法中加入注意力機制,而提出了SAAConvLstm和TAALSTM,來解決視頻預(yù)測過程中的移動對象顯著模糊和消失的問題。
5 結(jié)論
通過本文的討論,未來的研究方向可以從以下幾個方面來進行,具體如圖2所示:
在視頻幀的輸入端上,為了捕捉視頻數(shù)據(jù)中復(fù)雜且長期的空間關(guān)系,可以從預(yù)先處理輸入數(shù)據(jù)開始,例如上文提到的關(guān)鍵點和注意力層面,未來可以研究如何針對不同的運動對象和應(yīng)用場景來創(chuàng)造合適的視頻數(shù)據(jù)預(yù)處理方法;視頻預(yù)測的架構(gòu)是視頻預(yù)測領(lǐng)域一直著力研究的方向,未來學(xué)者可以提出更加合理的計算單元來生成準確率更高的未來幀;融入其他計算機視覺領(lǐng)域算法到視頻幀預(yù)測領(lǐng)域也是未來發(fā)展的前景,上文中提到的transformer模型本為自然語言處理領(lǐng)域提出的算法,但由于其良好的泛化能力,在眾多CV方向得到了廣泛應(yīng)用。本研究團隊未來欲將強化學(xué)習(xí)的知識運用到視頻預(yù)測領(lǐng)域,期待產(chǎn)生更加驚喜的效果。
參考文獻:
[1] Hoai M,de la Torre F.Max-margin early event detectors[J].International Journal of Computer Vision,2014,107(2):191-202.
[2] PATRAUCEAN V, HANDA A, CIPOLLA R. Spatio-temporal video autoencoder with differentiable memory[C].ICLR,San Juan, Puerto Rico,2016.
[3] Brabandere B D,Jia X,Tuytelaars T,et al.Dynamic filter networks[EB/OL].2016.
[4] Liang X D,Lee L,Dai W,et al.Dual motion GAN for future-flow embedded video prediction[C]//2017 IEEE International Conference on Computer Vision (ICCV).October 22-29,2017,Venice,Italy.IEEE,2017:1762-1770.
[5] Ying G H,Zou Y T,Wan L,et al.Better guider predicts future better:difference guided generative adversarial networks[EB/OL].2019.
[6] LOTTER W, KREIMAN G, COX D. Deep predictive coding networks for video prediction and unsupervised learning[C] ICLR., Toulon, French.
[7] Oliu M,Selva J,Escalera S.Folded recurrent neural networks for future video prediction[C]//Computer Vision - ECCV,2018: 745-761.
[8] Lange B,Itkina M,Kochenderfer M J.Attention augmented ConvLSTM forEnvironment prediction[EB/OL].2020.
【通聯(lián)編輯:唐一東】