您当前的位置:首页 >> 频道
旷视等提出GIF2Video:首个深度学习GIF质量提升方法
发布时间:2019-10-06
 

点击上方“CVer”,选择加"星标"或“置顶”

重磅干货,第一时间送达

本文经机器之心(almosthuman2014)

授权转载,禁止二次转载

来源:旷视科技


你还为 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,促使网络输出的分布尽可能逼近真实图像的分布。这里的对抗性损失函数在颜色值和梯度值上同时定义,实验表明考虑梯度值的损失确实非常重要: