張倩 姜峰



摘 要:視頻幀率轉換技術是利用視頻中相鄰兩幀之間的相關信息并應用插值的方法將中間幀重建出來的一種技術。由于該技術能在編碼中去除冗余信息并降低視頻傳輸過程中的幀率,減少視頻網絡傳輸的數據量,因此可應用于視頻壓縮或增強視頻連續性。本文將傳統方法中的光流估計與深度學習相結合,提出了一種將運動估計和遮擋處理聯合建模的視頻幀插值的端到端卷積神經網絡模型。首先使用改進的GridNet網絡模型計算輸入圖像之間的雙向光流,根據估計到的雙向光流信息與輸入圖像進行warp操作得到2個翹曲圖像,為解決遮擋問題,使用另一個GridNet網絡模型重新估計圖像的雙向光流信息并預測插值幀的像素的可見性,最后將估計到的信息與原圖像通過線性融合以形成中間幀。本文還嘗試了多種損失函數,最終確定了將L1損失、感知損失、warp損失、平滑度損失等多種損失函數加權而成的損失函數。實驗結果證明,本文提出的視頻插幀網絡結構可以有效提高光流估計的質量并改善遮擋問題,可以生成逼真、自然、質量更好的中間幀。
關鍵詞:視頻插幀;深度學習;光流估計
文章編號:2095-2163(2019)04-0252-07 中圖分類號:TP391.4 文獻標志碼:A
0 引 言
伴隨智能終端及多媒體技術的迅猛發展,視頻應用更加多樣化,其中涉及到的視頻內容和種類正陸續增多。與此同時,高清晰度的顯示設備也呈現出大規模增長態勢,高刷新頻率的顯示器不斷普及,人們對視頻分辨率的要求也越來越高。目前情況下,很多視頻的幀率通常只用30幀/秒,人們在觀看這種視頻時視覺感知上會出現卡頓等問題,也無法發揮高刷新頻率顯示器的優勢。因此可以將低幀率的視頻通過視頻幀率轉換技術插值為高幀率視頻,例如可將幀率為30幀/秒的視頻提升至幀率為60幀/秒,使視頻更加地平滑和連續,從而提升人們在觀看視頻時的逼真度和交互感。
研究可知,作為數據量非常巨大的信息載體,視頻在網絡傳輸過程中對帶寬的要求非常高,而且存儲視頻的成本也變得巨大,因此就必須采取高效的視頻壓縮方法,盡可能去除視頻中的冗余成分。主流的視頻編碼標準H.265/HEVC[1]已經在很大程度上降低了視頻的冗余信息。視頻冗余信息整體上可分為時間冗余和空間冗余等。其中,時間冗余信息主要指視頻相鄰幀之間具有相似性,H.265/HEVC采用幀間預測的方法來去除時間冗余信息,幀間預測則通過將已編碼的視頻幀作為當前幀的參考,進行運動估計來獲取運動信息,從而去除時間冗余。空間冗余信息主要指視頻單幀圖像在空間上的局部相似性,H.265/HEVC通常采用幀內預測和變換編碼的技術去除空間冗余信息,幀內預測通過已編碼的像素預測當前像素去除空間冗余信息。變換編碼將圖像能量在空間域的分散分布轉換至變換域的集中分布,從而去除空間冗余。
盡管最新的國際視頻壓縮標準H.265/HEVC較H.264/AVC相比性能上有了顯著的提高,可以大幅度地去除視頻中的冗余信息。但在網絡帶寬有限等情況下,這些壓縮標準仍然不能滿足人們的需求,所以一些研究人員開始嘗試用其他的方法手段繼續對視頻進行壓縮處理,其中效果較好的方法為幀率轉換技術。視頻幀率轉換技術是指利用視頻中相鄰兩幀之間的相關信息并應用插值的方法將中間幀重建出來的一種技術。該技術在視頻編碼中去除冗余信息并降低視頻傳輸過程中的幀率,有效減少視頻網絡傳輸的數據量。視頻插幀技術的效果決定了重建幀的質量,因此視頻插幀技術在視頻壓縮領域有著重要影響。
視頻插幀技術一直是計算機視覺領域的熱點研究內容之一,視頻插幀技術的提升對幀率轉換技術及視頻壓縮技術的研發起著舉足輕重的作用,同時視頻插幀技術也廣泛應用于慢鏡頭回放等場景中,這也推動相關研究人員不斷地改進這一技術,并積極展開更深層次的探索。
1 相關工作
隨著深度學習在計算機領域不斷取得成功,研究者們即嘗試將深度學習與視頻插幀技術相結合來滿足插幀需求。視頻插幀技術是指利用視頻中相鄰前后幀之間的相關信息,應用插值的方法獲得中間幀。根據新的插值幀的數量與輸入視頻幀的數量關系,視頻插幀可分為均勻插幀與非均勻插幀,如圖1所示。相應地,均勻插幀是指新的插值幀與輸入的視頻幀序列按照1:1的比例合成新的視頻序列,非均勻插幀一般是指新的插值幀與輸入的視頻序列按照如圖1所示2:3的比例合成新的視頻序列,本文著重研究的是均勻的視頻插幀技術。
本文擬要研究的是基于深度學習的視頻插幀技術。研究中,是將傳統方法中的光流估計與深度學習相結合,提出了一種將運動估計和遮擋處理聯合建模的視頻幀插值的端到端卷積神經網絡模型。文中首先使用GridNet卷積神經網絡模型估計輸入的相鄰幀之間的正反雙向光流。受增強學習的啟發,為了將光流估計的差異向下傳遞,研究將估計到的正反向光流與輸入的相鄰幀圖像進行warp操作獲得2個圖像,將warp得到的圖像與原始輸入圖像及預測到的雙向光流共同作為下一個卷積神經網絡的輸入。為解決光流估計中的遮擋問題,研究中同時使用另一個GridNet卷積神經網絡模型預測像素的可見性,并重新預測光流信息。最后則將預測到的光流信息及可見性因子等通過線性融合來形成視頻插幀過程中的中間幀。
2 算法詳述
2.1 算法原理
研究在相同或相反的方向上取2個輸入圖像之間的光流方向,并相應地調整公式(3)的幅度(1-t)。類似于RGB圖像合成的時間一致性,可以通過如下組合雙向輸入光流來近似中間光流(以矢量形式表示)。可參考寫作如下數學形式:
2.2 網絡結構
研究中用到的網絡結構整體如圖3所示。對于光流計算和光流插值CNN,研究采用GridNet架構[8]。GridNet是一個完全卷積的神經網絡,由編碼器和解碼器組成,對于2個網絡,在相同的空間分辨率下將編碼器和解碼器進行連接。研究中的編碼器共有6個層次結構,包括2個卷積和1個Leaky ReLU(α=0.1)圖層。設計時,除去最底層之外的每個層次結構的末尾,使用步幅為2的平均池化層來減小空間維度。解碼器部分配置了5個層次結構。在每個層次結構的起始處,使用雙線性上采樣層將空間維度增加2倍,緊接著就是2個卷積和Leaky ReLU層。
對于光流計算CNN,在編碼器的前面數層中使用大型濾波器以捕獲大幅運動是至關重要的。因此,研究在前兩個卷積層中使用7*7內核,在第二層次中使用5*5。對于整個網絡其余部分的層,研究使用了3*3卷積內核。
2.3 學習算法
本文中的網絡使用Adam優化器[9]訓練500次迭代。學習率初始化為0.000 1,每200個迭代減少10倍。在訓練期間,所有視頻剪輯先被分成較短的視頻剪輯,每個視頻剪輯中有12幀,并且2個剪輯中的任何一個之間沒有重疊。對于數據增強,研究將隨機反轉整個序列的方向,并選擇9個連續幀進行訓練。
2.4 損失函數
對于視頻插幀合成的插值幀的質量良好與否,損失函數起著不可低估的作用。研究時最直接的衡量模型效果的損失函數就是計算合成幀與真實幀之間的像素誤差,這種方法雖然可以得到高優的量化指標,但是人眼往往對這種像素級別的微小誤差并不敏感,而是更加關注圖像的邊緣及紋理信息。廣泛調研后可知,并未發現哪種損失函數的性能堪稱完美,而是各占勝場、也各有不足,因此可將多種損失函數進行綜合加權,這樣一來也許會取得較好效果。此處,給定輸入圖像I0和I1,兩者之間有一組中間幀It(t∈(0,1))。文中針對實驗時采用的4種損失函數,可做研究闡析論述如下。
2.4.1 L1范數與L2范數
像素之間的誤差小并不代表著肉眼對2張圖片感受相同,由于自然圖像遵循多模態分布,因此L1范數與L2范數收斂的結果非常模糊。
2.4.2 感知損失
感知損失在文獻[10]中首獲提出,用于圖像風格轉換。感知損失如圖4所示。
感知損失將已經訓練好的VGG-16[11]網絡作為損失函數的一部分。研究可知,感知損失是從預先訓練的VGG網絡中提取特征誤差、而非像素誤差,因此就包含了對高頻細節的感受能力,這也是L1范數與L2范數所不具備的。在實際訓練中,加入了感知損失后,紋理和細節得到了明顯的增強。
由于本課題的任務與風格轉換不同,更加需要逼近真實的圖像,因而即需使用更加淺層的網絡輸出。經過調試,使用VGG-16的第二層池化層作為輸出獲得了良好效果。感知損失的計算公式如下:
其中,函數為ImageNet預訓練VGG16模型的第二層池化層之前的網絡結構,包括4個卷積層和2個池化層。
2.4.3 warp損失
warp損失主要用來計算光流估計的質量。光流信息則是用于表示相鄰幀對應像素位置的運動矢量信息,而warp操作可依次分為2個步驟:像素映射以及二維線性插值,因此當已知相鄰幀之間的光流場信息時,就可以通過變形操作將一幀圖像映射為另一幀圖像。再通過計算目標圖像與變形操作合成的新圖像間的差異,就可以用來檢測光流估計的質量。warp損失的計算公式如下:
2.4.4 平滑度損失
平滑度損失的計算公式如下:
平滑度損失與warp損失相結合都是用來檢測光流估計的質量。
由于本文所討論的L1范數與L2范數、感知損失、warp損失、平滑度損失單獨應用到視頻插幀技術中都存在一定的缺陷與不足。其中,L1范數和L2范數直接體現了像素級別的誤差,訓練速度快,但是卻只是給出了像素的差值而忽略了對插值幀圖像結構等差異的計算。感知損失雖然有效解決了使用像素誤差產生的模糊問題,更加關注了圖像的細節紋理信息,但是感知損失對圖像的低頻信息卻并不敏感。單獨使用warp損失和平滑度損失僅能衡量光流估計的質量而無法準確衡量最終插值結果的質量。因此經過仿真驗證,將多種損失函數引入加權處理會彌補單獨使用損失函數的缺點,將會取得比較良好的結果。給定輸入圖像I0和I1,兩者之間有一組中間幀It(t∈(0,1)),本次研究的最終損失函數是4種損失函數的線性組合,其數學公式可表示為:
同時,文中網絡的每個組成部分都是可區分的,包括warp和光流計算。因此,實驗的模型可以進行端到端的訓練。
3 實驗
3.1 實驗參數及數據集
本文使用Adam學習算法優化訓練模型,進行參數更新,設置 Adam 學習算法中相關參數為:α= 0.000 1,β1= 0.9,β2 = 0.999,ε= 10-8。
研究中訓練使用的數據集是從YouTube收集的240-fps視頻,數據集中都有各種各樣的場景,從室內到室外、從靜態到移動的攝像機、從日常活動到專業運動等。在訓練期間,所有視頻剪輯先被分成較短的視頻剪輯,每個視頻剪輯中有12幀,并且2個剪輯中的任何一個之間沒有重疊。對于數據增強,研究中隨機反轉整個序列的方向,并選擇9個連續幀進行訓練。在圖像級別上,每個視頻幀的大小被調整為較短的空間維度,再結合水平移動隨機裁剪為352*352大小。
3.2 實驗結果
研究使用所有數據訓練本文組建的網絡,并在多個獨立的數據集上測試本文的模型,包括Middlebury基準、UCF101、慢流數據集和高幀率Sintel序列。
總地來說,對于Middlebury,研究中將8個序列的單幀視頻插值結果提交給其評估服務器。對于UCF101,在每三幀中,第一和第三幀用作輸入,預測第二幀。慢速流動數據集包含46個使用專業高速攝像機拍攝的視頻。研究使用第一和第三視頻幀作為輸入,并插入中間幀,相當于將30-fps視頻轉換為60-fps視頻。
最初的Sintel序列以24-fps渲染。其中13個以1 008-fps重新渲染。要使用視頻幀插值方法從24-fps轉換為1008-fps,需要插入41個中間幀。然而,正如在前文中所分析的那樣,使用遞歸單幀插值方法不能直接實現這一點。因此,本次研究預測31個中間幀,以便與先前的方法做出公平比較。
實驗中,研究對比了訓練樣本數量的影響,這里比較2個模型。一個僅在Adobe240-fps上訓練,另一個在完整的數據集上進行訓練,2個模型在UCF101數據集上的性能見表1。
從表1的實驗結果可以看出,訓練數據越多,本文模型的效果越好。以圖片的形式給出對比效果如圖5所示。網絡模型在慢數據集下的實驗結果見表2。網絡模型在高幀率數據集下的實驗結果見表3。
在本節中,研究將本文的方法與最先進的方法進行比較,包括基于相位的插值、可分離的自適應卷積(SepConv)和深度體素流(DVF)。實驗表明,本文提出的網絡模型可以獲得更加精確的視頻插幀效果。
4 結束語
本文研發提出了一種端到端可訓練的CNN,可以在2個輸入圖像之間根據需要產生盡可能多的中間視頻幀。首先使用流量計算CNN來估計2個輸入幀之間的雙向光流,并且2個流場線性融合以接近中間光流場。然后,使用流動插值CNN來重新定義近似流場并預測用于插值的軟可見性圖。接下來,又使用超過1.1K 240-fps的視頻剪輯來訓練本文的網絡預測7個中間幀。對單獨驗證集的消融研究證明了流動插值和可見性圖的優勢。仿真實驗證明,本文的多幀方法在Middlebury、UCF101、慢速流和高幀率Sintel數據集上始終優于最先進的單幀方法。對于光學流的無監督學習,本文研發的網絡也要優于KITTI 2012基準測試中最近的DVF方法。
參考文獻
[1]SULLIVAN G J, OHM J R, HAN W J, et al. Overview of the high efficiency video coding (HEVC) standard[J]. IEEE Transactions on circuits and systems for video technology, 2012, 22(12):1649-1668.
[2]LONG G, KNEIP L, ALVAREZ J M, et al. Learning image matching by simply watching video[M]//LEIBE B, MATAS J, SEBE N, et al. Computer Vision-ECCV 2016. ECCV 2016. Lecture Notes in Computer Science. Cham:Springer,2016, 9910:434-450.
[3]BAKER S, SCHARSTEIN D, LEWIS J P, et al. A database and evaluation methodology for optical flow[C]//2007 IEEE 11th International Conference on Computer Vision. Rio de Janeiro, Brazil:IEEE,2007:1-8.
[4]NIKLAUS S, MAI Long, LIU Feng. Video frame interpolation via adaptive convolution[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).Honolulu, HI, USA:IEEE, 2017:2270-2279.
[5]NIKLAUS S, MAI Long , LIU Feng. Video frame interpolation via adaptive separable convolution[C]//2017 IEEE International Conference on Computer Vision (ICCV).Venice, Italy:IEEE, 2017:261-270.
[6]LIU Ziwei, YEH R, TANG Xiaoou, et al. Video frame synthesis using deep voxel flow[C]//Proceedings of International Conference on Computer Vision (ICCV). Venice, Italy:IEEE, 2017:1-10.
[7]ZHOU Tinghui, TULSIANI S, SUN Weilun, et al. View synthesis by appearance flow[C]//LEIBE B, MATAS J, SEBE N, et al. Computer Vision-ECCV 2016. ECCV 2016. Lecture Notes in Computer Science, Cham:Springer,2016,9908:286-301.
[8]FOURURE D , EMONET R, FROMONT E , et al. Residual Conv-Deconv grid network for semantic segmentation[C]//British Machine Vision Conference, 2017 (BMVC'17).London, UK:BMVC, 2017:1-12.
[9]KINGMA D P, BA J. Adam:A method for stochastic optimization[J]. arXiv preprint arXiv:1412.6980, 2014.
[10]JOHNSON J, ALAHI A, LI Feifei. Perceptual losses for real-time style transfer and super-resolution[M]//LEIBE B, MATAS J, SEBE N, et al. Computer Vision-ECCV 2016. ECCV 2016. Lecture Notes in Computer Science. Cham:Springer, 2016,9906:694-711.
[11]SIMONYAN K, ZISSERMAN A. Very deep Convolutional Networks for large-scale image recognition[J]. arXiv preprint arXiv:1409.1556v6, 2015.