Diffusion Models专栏文章汇总:入门与实战
前言:视频在传输过程中常常因为各种因素(如恶劣天气、噪声、压缩和传感器分辨率限制)而出现质量下降,这会严重影响计算机视觉任务(如目标检测和视频监控)的性能。现有的视频修复方法虽然取得了一些进展,但通常只能针对特定的退化类型,需要为每种任务训练单独的模型。这种方法在现实应用中成本高昂且不切实际,因为实际场景中往往存在多种退化因素。这篇博客介绍一种使用Diffusion Models完成视频超分、去雨、去雾、降噪等所有Low-Level 任务的方法。
目录
现有视频修复方法的局限性
特定任务导向,缺乏通用性
难以保持时间一致性
现有基于扩散模型的视频修复方法的不足
方法详解
论文
现有视频修复方法的局限性
为了解决上述问题,研究人员开发了多种视频修复方法,这些方法旨在恢复视频质量,使其更接近原始状态。然而,现有方法存在以下局限性:
特定任务导向,缺乏通用性
-
现有方法通常针对特定类型的视频退化进行设计,例如:
- 去雾算法专门处理雾霾导致的图像模糊。
- 去噪算法针对不同类型的噪声进行消除。
- 去雨算法专门去除视频中的雨滴和雨线。
- 超分辨率算法用于提高视频的分辨率和清晰度。
-
这种特定任务导向的设计存在以下问题:
- 成本高昂: 需要为每种退化类型训练单独的模型,增加了计算资源和时间成本。
- 不切实际: 在现实世界中,视频往往同时受到多种退化的影响,例如,雨天通常伴随着雾霾和噪声。单独使用某种修复方法无法有效恢复视频质量。
难以保持时间一致性
-
时间一致性是指视频中连续帧之间的一致性。
- 例如,在修复视频时,物体的形状、颜色和运动轨迹应该在连续帧中保持一致。
- 缺乏时间一致性会导致视频出现闪烁、抖动等不自然的现象,严重影响观看体验。
-
现有图像修复方法在应用于视频时,往往难以保持时间一致性:
- 逐帧处理: 许多图像修复方法逐帧处理视频,忽略了帧与帧之间的关联性,导致时间不一致。
- 缺乏跨帧信息整合: 一些方法虽然尝试整合跨帧信息,但往往存在以下问题:
- 计算成本高: 处理多个帧需要更大的内存和计算资源。
- 难以处理大范围运动: 当视频中存在快速移动的对象时,跨帧信息整合变得更加困难,容易出现伪影和不一致。
现有基于扩散模型的视频修复方法的不足
一些研究尝试将扩散模型应用于视频修复,但存在以下问题:
- 缺乏时间一致性: 逐帧应用扩散模型进行修复,无法有效整合跨帧信息,导致时间不一致。
- 缺乏对内容保留的关注: 一些方法在追求视觉效果的同时,忽略了原始视频内容的保留,导致修复后的视频出现失真。
方法详解
-
提出了一种基于扩散模型的多功能视频修复方法(TDM):
- 利用预训练的 Stable Diffusion 模型: 该模型具有强大的生成能力和对文本提示的理解能力,为视频修复提供了强大的基础。
- 微调 ControlNet: 通过对 ControlNet 进行微调,使其能够适应特定的任务提示(如“去除噪声”),实现对不同视频退化的修复。
- 任务提示引导(TPG): 在训练和推理过程中,使用描述任务名称的文本提示来指导扩散过程,使其专注于特定的任务。
-
提出了一种新的推理策略:
- 滑动窗口跨帧注意力(SW-CFA): 该机制将参考帧扩展到当前帧周围的滑动窗口内,对窗口内的键和值进行平均,以更好地处理大范围运动,并实现更有效的一帧到视频的零样本适应。
- 结合 DDIM 反演: 使用 DDIM 反演生成输入视频帧的潜在表示的确定性噪声,为扩散过程提供稳定的结构引导,从而更好地保留输入视频的内容。
- 构建了一个可扩展的管道: 该方法可以在单个 GPU 上进行训练,并且可以在单图像修复数据集上训练后直接用于视频推理,使其能够轻松扩展到其他视频修复任务。
论文
https://arxiv.org/pdf/2501.02269v1
TDM: Temporally-Consistent Diffusion Model for All-in-One Real-World Video Restoration