首发:AIWalker
标题&作者团队
paper: http://www.cad.zju.edu.cn/hom...
该文是浙江大学&微软提出的一种实时视频增强方案(ACM Multimedia 2020),它不仅可以达到SOTA的视频增强效果,同时对于1080P的视频可以达到惊人的77fps@Tesla P40GPU或者45fps@CPU端。
Abstract
实时视频增强具有巨大的潜在应用场景,但是现有的方案远远不足以满足视频增强的实时性与稳定性需求。
该文提出一种新颖的AI视频增强方法,它能够单CPU以45fps处理1080P视频,极具产品化应用价值。所提方法基于轻量型MobileNetV2设计,并在此基础上引入了时序特征集(Temporal Feature Aggregation, TFA)成模块以确保视频的时序一致性。不同于已有多数图像增强方法采用encoder-decoder架构生成通分辨率的输出,该文所提方法消除了decoder模块,而仅仅采用了encoder部分与一个小的head模块。所提方法直接预测颜色映射函数,而非像素值,这就使得所提方法可以更好的处理任意分辨率的视频。除此之外,该文还引入了TFA以确保生成视频的时序一致性。
最后,作者通过实验证实:所提方法可以适用于不同类型的增强任务,比如relighting, retouching 以及dehazing等。相比已有方法(比如HDRNet、UPE),所提方法不仅可以取得SOTA性能,同时处理速度快10倍(HD视频哦)。
image-20201121193610283
该文的主要贡献包含以下三点:
- 提出一种新颖的实时图像/视频增强方法,所提方法比现有实时方法(HDRNet,UPE)快10倍(处理的对象是1080P视频哦);
- 提出一种广义的图像增强表达方式,它可以有效的集成全局上下文信息与局部信息进行像素映射。实验证实:所提方法可以处理欠曝光、过曝光、retouching、dehazing等场景图像;
- 提出一种TFA用于确保视频的时序一致性,甚至可以进一步改善训练的稳定性。
Method
该文提出了一种end-to-end轻量CNN用于实时视频增强,接下来,我们将从问题定义、视频增强网络、损失函数三个方面展开本文所提方法的介绍。
Problem Formulation
现有稠密像素预测任务大多采用encoder-decoder方案,而decoder部分的高计算量问题是难以忽视的。估计颜色映射函数是一种极具吸引力的方向,然而它有这样两个挑战:(1) 单一映射函数难以反映复杂的局部图像处理计算问题;(2) 现有的颜色映射函数往往基于用户评价或参考图像,而无参考自动校正则会“模棱两可”。
受启发于“Bilateral Guided Upsampling”与“Fast Guided Filter”(两种非常经典的传统图像处理方法),该文构建了一种网格状态的映射函数,它不仅可以获得局部区域的更细粒度的细节,同时可以更好的切合encoder部分的CNN结构。输入图像I经过CNN处理后,可以得到一个大小为的特征。网格中每个特征点信息与网格中的映射函数参数相关,并用于预测映射函数,并反过来作用于局部区域。下图给出了该过程的示意图,也就是说图像将被进行分块处理,每个块采用不同的映射函数。
image-20201121195843151
映射函数在这里定义为分片线性函数,定义如下:
其中,L表示映射函数的分片数量,表示每个线性函数的斜率。因此,网络的目标在于预测映射函数的系数。
看到这里,也许会有不少同学不知道这里的系数与映射函数该怎么去应用。其实这个地方没想象的那么复杂。先来个最简单的情形:,即恒等映射,也就是图像不做任何操作,此时有。如果我们希望调整图像的亮区呢,其实就需要将亮区对应的斜率调大,而其他区域对应的斜率调小;类似的,如果我们希望调整图像的暗区,就需要调整其对应的斜率。也就是说,通过每一段线性函数的斜率,它可以轻松的构建不同形状的映射函数,而这个映射函数则对应于传统图像处理中的累积直方图。
对此该兴趣的同学,非常建议去了解一下直方图均衡相关的一些基础知识,可以参考刚萨雷斯的《图像处理》第三章的直方图均衡。其实这个地方的映射函数理解还可以参考PhotoShop中的直方图类增强方案,通过调节直方图的形状达到不同的编辑目的,Photoshop中的直方图调整方法其实与这里的调整机制是相通的。
Video Enhancement Network
image-20201121195529411
上图给出了该文所提出的视频增强网络架构示意图,它包含一个轻量型基础网路与一个时序特征集成模块。
Baseline Image Network 上图的下半部分给出了基础网络部分,注:下角标t表示视频的时序标签。输入图像I首先下采样到低分辨率,然后送入到基础网络中回归映射系数集。这里的基础网络是在MobileNetV2的基础上改进而来,它用于将图像映射到高维空间并得到隐状态特征。在上述网络的后端接一个head,它包含三个卷积用于将隐状态特征变换为颜色映射系数。最终输出的形状为。最后,目标图像则是由输入图像经由映射函数变换得到。
Temporal feature aggregation 视频增强网络是在上述图像增强网络的基础上插入TFA得到,TFA用于促使时序一致性。为缓解闪烁伪影问题,作者认为:静态区域应当有相邻两帧赋予相似的注意力,运动区域则主要由当前帧决定,而区域的运动/静态特性则由相邻帧的相关性决定。基于该假设,作者设计了如下的特征集成方式:
其中,分别表示融合特征,前一帧的影响因子,以及像素级特征相似性。特征的相似性计算方式则是采用的cosine相似性(上图也给出了相邻帧的相似性图示),公式如下:
$$M\_g = cos\= \\frac{f\_{t-1} \\cdot f\_t}{\\|f\_{t-1} \\| \\cdot \\|f\_t \\|} $$
Loss Function
给定预测的映射系数与高分辨率图像,我们可以通过相应的变换得到目标图像(假设表示GT)。为更好的训练上述模型,作者提出了一个同时考虑图像距离关系和映射函数约束的损失函数,定义如下:
损失函数的四部分分别对应重建损失(损失)、感知损失、平滑损失以及时序一致性损失。更具体的函数定义建议查看原文,这里不再赘述。
Experiments
在实现方面,输入图像首先被下采样到大小,映射函数的分片数,对应的输出通道数为48。正如前述,骨干网络包含5个阶段,前四个阶段与MobileNetV2相同,最后一个阶段包含三个卷积,其参数为:。head部分由三个卷积构成,其输出通道数分别为。最终的输出经tanh激活,其对应了映射系数的对数值。假设表示每个通道的输出,那么映射函数可以表示为 其中用于控制映射函数的范围。基于上述表达,曲线的范围将被限制在.
在超参方面,。作者选用Adam+L2正则进行训练,batch=32,学习率为0.005,经40k迭代后衰减到0.001.
我们先来看一下所提方法在图像增强方面的效果,见下图&下表。从中可以看到:(1) 相比HDRNet,所提方法具有更快的推理速度,更高的PSNR、SSIM等指标;(2) 相比HDRNet、UPE等方法,所提方法生成结果具有更好的对比度和颜色分布。
接下来,我们再来看一下所提方法在视频增强方面的效果,见下图&下表。可以看到:所提方法具有更高的PSNR指标;更快的推理速度;更好的时序一致性。
image-20201122132832313
image-20201122132857742
最后,我们再来看一下所提方法在去雾任务上的表现,见下图。从中可以看到:所提方法在图像去雾任务上同样取得了SOTA指标与视觉效果。
image-20201122133254136
Conclusion
该文从AI+直方图的角度提出了一种实时图像/视频增强方法,它采用encoder网络预测映射函数系数,然后将得到的映射函数作用于输入图像得到期望的输出图像。这种处理方式将输入分辨率与方法进行了解耦,进而使得Image-to-Image类方法的的产品化应用提供了一个非常有参考价值的方向。尽管所提方法在图像/视频增强方面取得了非常好的效果和推理速度,但该方法对于低光/带噪图像的效果并不太好,甚至会进一步造成噪声放大,当然,这也是直方图增强类方案的缺陷所在。
image-20201122134143102
推荐阅读
本文章著作权归作者所有,任何形式的转载都请注明出处。更多动态滤波,图像质量,超分辨相关请关注我的专栏深度学习从入门到精通。