當前位置:
首頁 > 科技 > 曠視等提出GIF2Video:首個深度學習GIF質量提升方法

曠視等提出GIF2Video:首個深度學習GIF質量提升方法


機器之心發布


來源:曠視科技


你還為 GIF 動圖模糊不清而煩惱嗎?


論文:GIF2Video: Color Dequantization and Temporal Interpolation of GIF images 



論文鏈接:https://arxiv.org/abs/1901.02840



背景

互聯網之中,GIF 可謂無處不在,通過海量用戶的製作與使用而不斷湧現,流轉不息。GIF 的廣泛傳播可歸因於其文件較小,上手高度便捷。

但是,由於製作過程的顏色量化非常嚴重,相較於原視頻,GIF 經常成像較差。把一段視頻製作成一張 GIF 需要 3 步:幀採樣(frame sampling)、顏色量化(color quantization)以及可選用的顏色抖動(color dithering)。

幀採樣會導致 jerky motion 的問題,而顏色量化和抖動則會產生平坦區域(flat color regions)、偽邊界(false contours)、顏色偏移(color shift)和點狀分布(dotted pattern)等問題,如圖 1 所示。




圖 1:顏色量化與抖動。




設計思想

本文工作的亮點是一種新的顏色反量化(color dequantization)方法,去除由顏色量化(一種有損壓縮過程)帶來的成像瑕疵。GIF 的顏色量化過程遠比傳統的色深壓縮(bit depth reduction)更為激進,每張 GIF 通常只用到 256 色(甚至更少,如 32 色)的調色板,本文的任務即是 GIF 圖像進行反量化處理,其挑戰性要遠勝於傳統的色深增強。

當然,從量化圖像中復原所有原始像素近乎不可能,因此本文目標是渲染一個接近原圖像的合理版本,具體做法是收集訓練數據並訓練一個卷積神經網路,從而把量化圖像映射到原版本。

但是,訓練一個良好適用於不同 GIF 圖像的卷積網路相當困難。為此,本文提出 2 項全新的技術以提升反量化網路的性能:



  1. 首先,本文把反量化視為一個優化問題,並借鑒 Lucas-Kanade 迭代思想,提出一種可迭代用於顏色反量化的新型網路架構——組合性顏色反量化網路(Compositional Color Dequantization Network/CCDNet),它可以很好地消除由嚴重量化導致的成像瑕疵。



  2. 其次,本文在設計重建損失和生成對抗損失函數時,兼顧像素顏色和圖像梯度兩個維度,事實證明這比僅在顏色值上定義損失函數更有效。





GIF2Video 效果演示視頻。左上為 input GIF,右上為 ground truth GIF,左下為 output GIF,右下為 ground truth GIF 和 output GIF 之差,黑色越深,表示相差越小。

GIF 製作及其瑕疵


如上所述,把視頻製作成 GIF 共有 3 步: (1) 幀採樣、(2) 顏色量化、(3) 顏色抖動。幀採樣可以顯著減少 GIF 文件大小,但也降低了視頻內容的時序解析度;顏色量化與抖動的詳細過程與細節及其成像瑕疵請參見原論文,本節不再贅述。



方法

本文方法將 GIF 動圖(由一序列 GIF 幀組成)轉化為視頻,質量比原始 GIF 高出一大截,它主要分為兩步:顏色反量化和插幀(frame interpolation)。

顏色反量化方面,本文提出一個由 Lucas-Kanade 迭代演算法啟發的全新的組合性卷積神經網路。並且,用於訓練網路的重建損失函數和生成對抗損失函數都是在像素顏色和圖像梯度兩個空間內計算並結合的。

執行顏色反量化之後,本文使用一個改進的視頻插幀演算法以增加輸出視頻的時序解析度。



顏色反量化

令 

 

表示顏色量化函數,其中 G 和 

分別指代 GIF 幀和原始的輸入幀,C 是量化使用的調色板。C 由 

的顏色聚類產生,也可以根據 G 唯一地確定下來。

因此,顏色反量化的目標是在給定 G 的情況下恢復原始圖像,即。但是量化函數 f_C 是一個多對一的映射,所以顏色的反量化是一個不適定(ill-posed)問題。

本文提出的方法將量化函數 f_C 本身嵌入到組合性網路中,從而為反量化函數的學習和推理提供了有價值的信息和指引。



組合性架構



已量化 GIF 圖像 G 和調色板 C 既定之後,本文尋找接近於 ground truth 圖像 

的圖像 I,同時滿足顏色量化約束 

。這可視為一個優化問題,最小化 

和 I 以及 f_c (I) 和 

 

之間的重建誤差,即:





但是,由於量化函數 f_C 的導數幾乎處處為 0,第二個損失項 

 

無法直接作為合適的損失函數。

為此,本文借鑒 Lucas-Kanade 演算法迭代地優化第二個損失項。每次迭代都要計算對復原圖像的更新以進一步最小化損失:





對 f_C 採用一階泰勒展開,方程(2)可近似為:






這是一個關於 

 

的二次優化問題,所以存在一個計算最佳更新 

的閉式解:






方程(4)表示在一階泰勒展開近似下,最佳更新 

和兩張 GIF 圖像之間的差異成線性關係。為了適用非線性的情況,本文使用卷積神經網路來替換線性函數。具體而言,本文使用 U-Net 架構迭代估計最優更新 

。方程(4)變為:






其中 g 表示需要學習的深度卷積網路。遵循 Lucas-Kanade 演算法的迭代思路,本文交替計算更新方向和更新反量化圖像:

其中 

。這引出了本文提出的組合性顏色反量化網路 CCDNet,其架構如圖 2 所示。 




圖 2: CCDNet 架構。


當前圖像估計 I^t 既定的情況下,本文首先使用輸入 GIF 圖像 G 的同一調色板計算 

I^t 

的顏色量化圖像 G_t。接著 U-Net 模塊把 

 

作為輸入並輸出

。最新的圖像估計是當前估計和

的疊加。這一過程可在訓練和測試之時迭代使用。



顏色反量化損失



令 G_i 表示 CCDNet 的輸入 GIF 圖像,I_i 表示相應的輸出。本文提出使用方程(7)中的損失函數以測量

I_i 

和 

之間的差異。






為使圖像估計更為清晰,本文使用 L_1 範數計算重建損失函數 





本文還使用條件生成式對抗網路(Conditional GAN)優化 CCDNet,促使網路輸出的分布儘可能逼近真實圖像的分布。這裡的對抗性損失函數在顏色值和梯度值上同時定義,實驗表明考慮梯度值的損失確實非常重要:



時序插值

SuperSlomo 是新近提出的一種神經網路,專為變長式多幀插值(variable-length multi-frame interpolation)而設計。本文使用 SuperSlomo 反轉幀採樣的過程,提升 GIF 的時序解析度。


 圖 4:GIF2Video pipeline。




圖 4 描繪了整個 GIF2Video 流程圖,這一演算法有 3 個組件:



  • 網路 A 執行顏色反量化,輸出對 ground truth 圖像的估計 I_0 和 I_1;



  • 網路 B 估計兩個輸入幀之間的雙向光流圖



  • 網路 C 接收網路 A 和 B 的輸出,並計算插值幀 I_t。



本文使用 CCDNet 作為網路 A,網路 B 和 C 則是 SuperSlomo 的兩個 U-Net 模塊。網路 B 直接使用 GIF 圖像來估計雙向光流,而不是使用網路 A 的輸出,這使得網路 A 和 B 可並行運行。實驗表明這一併行模型與串列模型性能相似。



數據集

本文的另一個貢獻是針對這一任務採集了兩個大型數據集:GIF-Faces 和 GIF-Moments。兩個數據集都包含大量 GIF 動圖及其相應的高質量視頻。顧名思義,GIF-Faces 以人臉為主,GIF-Moments 則更通用和多元,基於互聯網用戶製作的真實 GIF 而打造。


圖 5:GIF-Faces(上行)和 GIF-Moments(下行)數據集的樣幀。

圖 5 給出了兩個數據集的一些樣幀(無抖動)。上行的圖像來自數據集 GIF-Faces,包含了人臉和部分上半身,背景場景多樣;下行的圖像來自數據集 GIF-Moments,內容更加多元,場景範圍涵蓋體育、電影、動畫等。



實驗

本文實驗使用峰值信噪比(PSNR)和結構相似性指數(SSIM)作為評價指標。PSNR 基於估計圖像與原始圖像之間的均方根誤差(RMSE)定義。SSIM 也被經常用於評價圖像質量。

本文首先計算每一幀的 PSNR 和 SSIM,然後在每一視頻內取均值,最後再在測試集的所有視頻取均值。下面是一些實驗結果的圖示:


表 1:數據集 GIF-Faces 上的 GIF 顏色反量化的結果對比。


由表 1 可知,第 1-9 行是 CCDNet 不同設置下的結果;第 10-13 行是若干個現有方法的結果。性能通過 PSNR 和 SSIM 進行衡量(越高越好)。


表 2:GIF 幀時序插值的結果。


由表 2 可知,隨著時序下採樣因子從 1 增至 8,已製作 GIF 的成像質量迅速下降。在 GIF-Faces 數據集上,GIF2Video 可提升復原視頻的 PSNR 高達 3 dB。這等價於顏色值減少 30% 的均方根誤差。




圖 8: 數據集 GIF-Faces 中 GIF 顏色反量化的定性結果。

訓練 Pix2Pix 和 CCDNet 而不藉助於圖像的基於梯度的損失是無法很好地消除量化瑕疵的,比如平坦區域和偽邊界。藉助對抗性損失訓練 CCDNet 可帶來更加逼真、顏色更加豐富的圖像(見圖 8 皮膚和嘴唇的顏色)。在數字設備上觀看效果更佳。



結論

本文提出了 GIF2Video,首個基於深度學習提升自然場景下 GIF 成像質量的方法,其主要任務有兩個:顏色反量化和幀插值。針對第一個任務,本文給出一個組合性網路架構 CCDNet,並通過綜合損失函數訓練它,顏色反量化被嵌入於 CCDNet 以指導網路學習和推理。對於第二個任務,本文採用 SuperSlomo 進行變長多幀插值以提升輸入 GIF 的時序解析度。

實驗結果表明 GIF2Video 可以通過顯著減少量化瑕疵而大幅提升輸入 GIF 的成像質量。本文希望該方法可以激發更多靈感,發覺更多方法優化從 GIF 重建視頻的任務,比如把圖像序列看作一個 3D volume 或者應用循環神經網路提升幀內一致性。



參考文獻 

[1] Graphicsinterchangeformat,version89a.https://www.w3.org/Graphics/GIF/spec- gif89a.txt. 


[10] I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, and Y. Bengio. Gen- erative adversarial nets. In Z. Ghahramani, M. Welling, C. Cortes, N. D. Lawrence, and K. Q. Weinberger, editors, NIPS. 2014. 


[18] P.Isola,J.-Y.Zhu,T.Zhou,andA.A.Efros.Image-to-image translation with conditional adversarial networks. In Proc. CVPR, 2017. 


[19] H. Jiang, D. Sun, V. Jampani, M.-H. Yang, E. Learned- Miller, and J. Kautz. Super slomo: High quality estimation of multiple intermediate frames for video interpolation. 2018. 


[27] B.LucasandT.Kanade.Aniterativeimageregistrationtech- nique with an application to stereo vision. In Proceedings of Imaging Understanding Workshop, 1981. 


[39] C. Wang, H. Huang, X. Han, and J. Wang. Video inpaint- ing by jointly learning temporal structure and spatial details. arXiv preprint arXiv:1806.08482, 2018. 


本文為機器之心發布,

轉載請聯繫本公眾號獲得授權



?------------------------------------------------


加入機器之心(全職記者 / 實習生):hr@jiqizhixin.com


投稿或尋求報道:

content

@jiqizhixin.com


廣告 & 商務合作:bd@jiqizhixin.com

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

揭秘框架的本源:開源中文書「TensorFlow內核剖析」
Facebook開源NLP建模框架PyText,從論文到產品部署只需數天

TAG:機器之心 |