该论文成功提出了第一个无需额外指导或了解闪烁的通用去闪烁方法,可以消除各种闪烁伪影。
高质量的视频通常在时间上具有一致性,但由于各种原因,许多视频会出现闪烁。例如,由于一些老相机硬件质量较差,不能将每帧的曝光时间设置为相同,因此旧电影的亮度可能非常不稳定。此外,具有非常短曝光时间的高速相机可以捕捉室内照明的高频率(例如 60 Hz)变化。
将图像算法应用于时间上一致的视频时可能会带来闪烁,例如图像增强、图像上色和风格转换等有效的处理算法。
视频生成方法生成的视频也可能包含闪烁伪影。
由于时间上一致的视频通常更具视觉上的吸引力,从视频中消除闪烁在视频处理和计算摄影领域中非常受欢迎。
该 CVPR 2023 论文致力于研究一种通用的闪烁去除方法:(1)对于各种闪烁模式或水平均具有较高的泛化性(例如,旧电影、高速相机拍摄的慢动作视频),(2)仅需要一段闪烁视频,并不需要其他辅助信息(例如,闪烁类型、额外的时间一致视频)。由于该方法没有过多假设,它具有广泛的应用场景。
代码链接:https://github.com/ChenyangLEI/All-in-one-Deflicker项目链接:https://chenyanglei.github.io/deflicker论文链接:https://arxiv.org/pdf/2303.08120.pdf
方法
通用的闪烁去除方法很具有挑战性,因为在没有任何额外指导的情况下很难强制整个视频的时间一致性。
现有的技术通常为每种闪烁类型设计特定的策略,并使用特定的知识。例如,对于由高速摄像机拍摄的慢动作视频,之前的工作可以分析照明频率。对于通过图像处理算法处理的视频,盲目视频时域一致性算法可以利用时域上一致的未处理视频上作为参考,从而获得长期的一致性。然而,闪烁类型或未经处理的视频并不总是可用的,因此现有的特定于闪烁的算法无法应用于这种情况。
一个直观的解决方案是使用光流来跟踪对应关系。然而,从闪烁视频中获得的光流不足够准确,光流的累积误差也会随着帧数的增加而增加。
通过两个关键的观察和设计,作者成功提出了一个通用的、无需额外指导的通用去闪烁方法,可以消除各种闪烁伪影。
一种良好的盲去闪烁模型应该具有跟踪所有视频帧之间对应点的能力。视频处理中的多数网络结构只能采用少量帧作为输入,导致感知野较小,无法保证长期一致性。研究者观察到神经图集非常适合闪烁消除任务,因此将引入神经图集到这项任务中。神经图集是视频中所有像素的统一且简洁的表示方式。如图 (a) 所示,设 p 为一个像素,每个像素 p 被输入到映射网络 M 中,该网络预测 2D 坐标(up,vp),表示像素在图集中对应的位置。理想情况下,不同帧之间的对应点应该共享图集中的一个像素,即使输入像素的颜色不同也应该如此。也就是说,这可以确保时间一致性。
其次,虽然从共享的图层中获取的帧是一致的,但图像的结构存在缺陷:神经图层不能轻松地建模具有大运动的动态对象;用于构建图层的光流也不完美。因此,作者们提出了一种神经过滤策略,从有缺陷的图层中挑选好的部分。研究者们训练了一个神经网络来学习两种类型的失真下的不变性,这两种失真分别模拟了图层中的伪影和视频中的闪烁。在测试时,该网络可作为过滤器很好地工作,以保留一致性属性并阻止有缺陷的图层中的伪影。
实验
研究者构建了一个包含各种真实闪烁视频的数据集。广泛的实验表明,在多种类型的闪烁视频上,研究者的方法实现了令人满意的去闪烁效果。研究者的算法甚至在公共基准测试中优于使用额外指导的基线方法。
研究者提供了 (a) 处理的到的闪烁视频和合成的闪烁视频的定量比较,研究者的方法的变形误差比基线要小得多,根据 PSNR,研究者的结果在合成数据上也更接近于真实值。对于其他真实世界视频,研究提供了 (b) 双盲实验以进行比较,大多数用户更喜欢研究者的结果。
如上图所示,研究者的算法可以很好的去除输入视频中的闪烁。注意,第三列图片展示了神经图层的结果,可以观察到明显的缺陷,但是研究者的算法可以很好的利用其一致性又避免引入这些缺陷。
该框架可以去除老电影、AI生成视频中包含的不同类别的闪烁。