BlazeBVD 团队投稿
量子位公众号 QbitAI
家人们,消除“视频闪烁”(比如画面突然一白)有新招了!
回想一下,当你看一部老电影或者用手机拍摄的视频时,画面偶尔会出现闪烁或颜色不一致等现象。
为了消除这些,来自美图影像研究院、中国科学院大学,以及四川大学的研究人员提出了一种新算法。
新算法“BlazeBVD”可以自动消除视频中的闪烁,而且处理速度非常快,据称比现有方法快 10 倍。
更妙的是!这种方法甚至无需事先知道视频闪烁的具体类型或程度。
换句话说,它是“盲”的,可以应用于各种不同的视频。
这下,即使拍摄环境光线变化,或者相机硬件跟不上也无需头疼了。[doge]
目前相关论文已被计算机视觉顶会ECCV 2024 接收。
感兴趣的话,咱们接着康康~
BlazeBVD 如何消除视频闪烁?
首先,受经典的 STE(闪烁去除方法尺度时间均衡)启发,BlazeBVD 引入了直方图辅助解决方案。
图像直方图被定义为像素值的分布,它被广泛应用于图像处理,以调整图像的亮度或对比度。
打个比方,图像直方图就像是一个统计表,它告诉我们在一张照片中,不同亮度的像素有多少。
△ 图片由 Claude 3.5 Sonnet 生成
而 STE 通过分析视频中每一帧的直方图,然后用一种叫做高斯滤波的方法来平滑这些直方图,先初步矫正直方图分布突变的图像帧,能够让画面看起来更加稳定,减少闪烁。
虽然 STE 只对一些轻微的闪烁有效,但它验证了:
- 直方图比原始的像素数据更简洁,能够更有效地捕捉到视频中的亮度变化和闪烁。
- 通过平滑直方图,可以减少视频中的闪烁现象,让视频看起来更稳定。
因此,利用 STE 和直方图的提示来提高盲视频去闪烁的质量和速度是可行的。
具体而言,BlazeBVD 包括三个阶段。
BlazeBVD 三阶段详解
就像医生治病一样,BlazeBVD 会首先检查视频的每一帧。
它引入了 STE 对视频帧在光照空间下的直方图序列进行校正。
然后从处理过的帧中提取出重要信息,比如哪些帧闪烁最明显(奇异帧集)、哪些地方光线需要调整(滤波后的光照图),以及哪些地方曝光过度或不足(曝光图)。
接下来,BlazeBVD 开始进行修复。
一方面,BlazeBVD 使用一个叫做全局闪烁去除模块(GFRM)的工具,利用之前提取的光照图来调整整个视频的光线,确保每一帧的亮度和颜色看起来都很自然。
另一方面,对于一些特别需要关注的局部区域,比如曝光过度或不足的地方,BlazeBVD 会使用局部闪烁去除模块(LFRM)。这个模块会利用光流信息(就像追踪物体在视频中的运动)来修复这些区域的细节。
完成这一步,BlazeBVD 最后进行完善工作。
它引入一个轻量级的时序网络(TCM),这个网络就像是视频的“美容师”,确保每一帧在视觉上都是平滑过渡的,没有突兀的变化。
为了进一步提高视频的一致性,BlazeBVD 设计了一种特殊的评分系统(自适应掩模加权损失)。这个系统会给每一帧打分,确保它们在视觉上的一致性,让整个视频看起来更加流畅和自然。
至此,BlazeBVD 完成了整个“诊治”流程。
实验结果
那么,BlazeBVD 究竟效果如何呢?
直接看已有方法与 BlazeBVD在盲视频去闪烁任务上的结果对比:
其中 Deflicker 为已有方法,GT(Ground Truth)表示理想的无闪烁视频,而 KL 散度表示处理后的视频与理想无闪烁视频之间的差异。KL 数值越大,差异越大。
可以看出,BlazeBVD 能很好地恢复照明直方图,同时避免出现颜色伪影和颜色失真(例如第二列男人的手臂)。
再进一步和基线方法进行量化对比:
BlazeBVD 在 PSNR(峰值信噪比,数值越高表示视频质量越好)和 SSIM(结构相似性指数,数值接近 1 表示视频质量越好)上得分较高,且在 Ewarp(数值越低,视频越连贯一致)得分较低。
一句话,BlazeBVD 超越了已有基线方法。
为了直观展现这种差别,BlazeBVD 与基线方法的可视化对比如下:
消融实验也验证了 BlazeBVD 所设计模块的有效性:
概括而言,通过对合成视频、真实视频和生成视频的综合实验,BlazeBVD 展现了优越的定性和定量结果,并且比最先进的模型推理速度快 10 倍。
目前相关论文已公开,感兴趣可以进一步了解。
论文: