DiffuEraser: 一种基于扩散模型的视频修复技术

视频修复算法结合了基于流的像素传播与基于Transformer的生成方法,利用光流信息和相邻帧的信息来恢复纹理和对象,同时通过视觉Transformer完成被遮挡区域的修复。然而,这些方法在处理大范围遮挡时常常会遇到模糊和时序不一致的问题,这凸显了增强生成能力模型的重要性。近期,由于扩散模型在图像和视频生成方面展现出了卓越的性能,已成为一种重要的技术。在本文中,我们介绍了DiffuEraser,这是一种基于稳定扩散的视频修复模型,旨在以更丰富的细节和更连贯的结构填充被遮挡区域。我们融入了先验信息以提供初始化和弱条件约束,这有助于减轻噪声伪影并抑制幻觉现象。此外,为了提高长序列推理过程中的时序一致性,我们扩展了先验模型和DiffuEraser的时序感受野,并利用视频扩散模型的时序平滑特性进一步增强了一致性。实验结果表明,我们提出的方法在内容完整性和时序一致性方面均优于当前最先进的技术,同时保持了可接受的效率。

图1. 所提模型DiffuEraser与Propainter的性能比较。

(a)纹理质量:与基于Transformer的Propainter相比,DiffuEraser生成的纹理更加详细和精细。(b)时序一致性:与Propainter相比,DiffuEraser在修复内容中展现出了更优的时序一致性。

引言

视频修复旨在用既合理又时序一致的内容来填补被遮挡的区域。以往的视频修复算法主要依赖于两种机制:

1)基于流的像素传播方法,该方法利用光流,通过借鉴相邻帧的信息来恢复纹理细节和对象;以及
2)基于Transformer的视频修复方法,该方法在完善对象的结构方面表现出色[26]。

当前的主流算法通常将这两种方法相结合,包含三个模块或阶段:
1)流完成,
2)特征传播,以及
3)内容生成。

该解决方案将被遮挡的像素分为两类:
1)已知像素,这些像素在某些被遮挡的帧中出现过,并可以通过流完成和特征传播模块传播到其他帧,确保修复后的内容与未遮挡区域的一致性;以及
2)未知像素,这些像素在任何被遮挡的帧中都未出现过,由内容生成模块生成,从而增强结果的结构完整性。

最先进的算法Propainter[46]就是这一方法的例证,它包含三个关键模块:循环流完成、双域传播和掩码引导稀疏Transformer。它有效地将所有帧中的已知像素进行传播,并初步展现出生成未知像素的能力。然而,当遮挡区域较大时,Transformer模型的生成能力显得不足,导致显著的人工痕迹,如图1所示。

因此,需要具有更强生成能力的更强大模型。最近在图像和视频生成领域崭露头角的稳定扩散模型成为了一个有前景的候选者。

在本研究中,我们首先将视频修复任务分解为三个子问题,然后为每个子问题提出相应的解决方案。具体来说,三个关键挑战是:已知像素的传播、未知像素的生成以及修复后内容的时序一致性。我们的主要贡献总结如下:

  1. 视频修复扩散:我们为基于扩散模型的图像修复模型BrushNet引入了一个运动模块。扩散模型强大的生成能力克服了基于Transformer模型所关联的模糊和马赛克人工痕迹,从而完善了对象结构并生成了更详细的内容。
  2. 注入先验:我们将先验信息融入扩散模型,使得初始化更容易,以减轻噪声人工痕迹,并作为弱条件来抑制不期望对象的生成。
  3. 增强时序一致性:我们通过扩展先验模型和扩散模型的时序感受野,提高了长序列推理的时序一致性。此外,我们还利用视频扩散模型的时序平滑特性,进一步增强了片段之间交界的时序连续性。

DiffuEraser的优势主要体现在以下几个方面:

  1. 详细的纹理和精细的结构
    • DiffuEraser能够生成比基于Transformer的同类算法(如Propainter)更加详细和精细的纹理。这意味着在视频修复过程中,它能够更真实地还原被遮挡或损坏区域的细节。
  2. 优越的时序一致性
    • 在处理长序列视频时,DiffuEraser能够展示出比传统方法更优越的时序一致性。这对于保持视频整体的流畅性和连贯性至关重要,特别是在需要修复大范围遮挡区域时。
  3. 结合先验信息
    • DiffuEraser融入了先验信息,这有助于提供初始化和弱条件约束。这种方法有助于减轻修复过程中可能出现的噪声伪影,并抑制幻觉现象,从而提高修复结果的准确性和真实性。
  4. 扩展的时序感受野
    • 为了进一步提高时序一致性,DiffuEraser扩展了其时序感受野。这意味着它能够更好地捕捉和利用视频帧之间的时间关系,从而生成更加连贯和一致的修复结果。
  5. 利用视频扩散模型的时序平滑特性
    • DiffuEraser还利用了视频扩散模型的时序平滑特性,这进一步增强了其修复结果的一致性。这一特性有助于在视频修复过程中保持整体的平滑性和连贯性。
  6. 高效的性能
    • 尽管DiffuEraser在内容完整性和时序一致性方面表现出色,但它仍然保持了可接受的效率。这意味着它能够在合理的时间内完成高质量的视频修复任务。

综上所述,DiffuEraser以其详细的纹理、优越的时序一致性、结合先验信息的能力、扩展的时序感受野、利用视频扩散模型的时序平滑特性以及高效的性能等优势,在视频修复领域具有显著的优势。

DiffuEraser的原理主要基于稳定扩散的视频修复模型。以下是对其原理的详细解释:

一、基于稳定扩散的模型架构

DiffuEraser利用了扩散模型在图像和视频生成方面的优势。扩散模型是一种生成模型,它通过学习数据分布来生成新的样本。在视频修复任务中,DiffuEraser通过稳定扩散的过程,逐步从噪声中生成出与视频内容一致的修复结果。

二、融合先验信息与弱条件约束

在修复过程中,DiffuEraser融入了先验信息来提供初始化和弱条件约束。这些先验信息可能来自于视频的其他部分、相邻帧或外部数据库等。通过利用这些信息,DiffuEraser能够更好地理解视频的整体结构和内容,从而生成更加准确和连贯的修复结果。

三、处理时序一致性问题

为了保持视频的时序一致性,DiffuEraser采用了多种策略。首先,它扩展了时序感受野,以便更好地捕捉和利用视频帧之间的时间关系。其次,DiffuEraser利用了视频扩散模型的时序平滑特性,通过平滑处理来减少帧与帧之间的不一致性。这些策略共同确保了修复后的视频在时序上保持连贯和一致。

四、详细纹理与精细结构的生成

DiffuEraser在生成修复结果时,注重细节和结构的完整性。它利用扩散模型的生成能力,逐步填充被遮挡或损坏的区域,并生成出与周围内容相匹配的详细纹理和精细结构。这使得修复后的视频在视觉上更加真实和自然。

综上所述,DiffuEraser的原理是基于稳定扩散的视频修复模型,通过融合先验信息与弱条件约束、处理时序一致性问题以及生成详细纹理与精细结构等策略,实现了高质量的视频修复效果。

相关工作

扩散模型。扩散模型[14, 32, 34]的出现极大地提升了图像和视频生成的质量和创造性。在图像合成领域,扩散模型推动了包括文本到图像生成[5, 29]、可控图像生成[24, 43]、图像编辑[1, 12, 22]、个性化图像生成[6, 28]以及图像修复[27, 16]在内的多种任务的显著进步。在这些进展的基础上,结合了额外运动模块的视频扩散模型也获得了广泛关注。该领域的关键应用包括文本到视频生成[11, 8, 10, 13, 15, 31]、可控视频生成[3, 4, 36, 39]、视频编辑[19, 23, 38, 21]以及各种无需训练的视频合成方法[44, 25]。

视频修复。视频修复旨在用合理的内容填补视频中的遮挡区域,同时保持时序一致性。基于3D卷积和移位操作的早期方法性能有限。利用光流和Transformer架构的方法的出现显著提高了视频修复的质量。基于流的像素传播方法[7, 41, 42]擅长利用相邻帧的信息来恢复纹理和细节。相比之下,基于Transformer的方法[40, 20, 18, 46]则擅长完善对象的结构。其中,Propainter[46]作为一种代表性方法脱颖而出,它包含了循环流完成、双域传播和掩码引导稀疏Transformer。Propainter有效地将所有帧中的已知像素进行传播,并初步展现出生成未知像素的能力。然而,在处理大遮挡区域时,其生成能力有限,导致明显的人工痕迹。

随着扩散模型的日益流行,基于扩散的视频修复方法也开始出现[17, 37, 30, 9, 45, 47]。这些方法利用扩散模型强大的生成能力来增强修复区域的细节和结构完整性,从而解决了基于Transformer方法中存在的一些限制。BIVDiff[30]是一个无需训练的框架,通过桥接图像和视频扩散模型来实现。AVID[45](此处未提供详细描述,但假设为另一种视频修复方法)……

图2。基于稳定扩散的所提视频修复模型DiffuEraser的概述。主要去噪UNet执行去噪过程以生成最终输出。BrushNet分支从遮挡图像中提取特征,这些特征在经过一个零卷积块后逐层添加到主要去噪UNet中。在自注意力和交叉注意力之后融入了时序注意力以提高时序一致性。

结论与讨论

在本文中,我们介绍了DiffuEraser,一个基于稳定扩散的视频修复模型。我们通过将视频修复任务分解为三个子问题来解决它:已知像素的传播(出现在某些遮挡帧中的像素)、未知像素的生成(从未在任何遮挡帧中出现的像素)以及保持完成内容的时序一致性。针对每个子问题,我们提出了量身定制的解决方案。

对于未知像素的生成,稳定扩散模型强大的生成能力帮助DiffuEraser有效地克服了基于Transformer模型中普遍存在的模糊和马赛克问题。此外,我们通过结合先验信息来减轻稳定扩散模型固有的幻觉问题,确保修复结果更加准确和真实。

在已知像素的传播方面,去噪UNet中的运动模块与先验信息提供的增强传播特性相结合,确保了已知像素在帧之间的充分且一致传播。这避免了完成内容与未遮挡区域之间的冲突,从而提高了结果的正确性和稳定性。

为了解决长序列推理中片段之间的时序不一致问题,我们扩展了先验模型和DiffuEraser的时序感受野,显著增强了所有帧中完成内容的一致性。此外,我们还利用视频扩散模型(VDM)的时序平滑特性,进一步增强片段交界处的时序连贯性。

结合先验信息的概念以及用于长序列推理中提高时序一致性的方法也适用于其他多种视频编辑任务,如对象替换和局部风格化。这些应用将在未来的工作中进一步探索。实验结果表明,DiffuEraser在内容完整性和时序一致性方面均优于最先进的方法,确立了其在视频修复任务中的优越地位。

视频修复

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/893925.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[c语言日寄]assert函数功能详解

【作者主页】siy2333 【专栏介绍】⌈c语言日寄⌋:这是一个专注于C语言刷题的专栏,精选题目,搭配详细题解、拓展算法。从基础语法到复杂算法,题目涉及的知识点全面覆盖,助力你系统提升。无论你是初学者,还是…

【数据结构】_链表经典算法OJ:分割链表(力扣—中等)

目录 1. 题目描述及链接 2. 解题思路 2.1 思路1 2.2 思路2 2.3 思路3(本题采取该解法) 3. 题解程序 1. 题目描述及链接 题目链接:面试题 02.04. 分割链表 - 力扣(LeetCode) 题目描述: 给你一个链表…

基于vue和elementui的简易课表

本文参考基于vue和elementui的课程表_vue实现类似课程表的周会议列表-CSDN博客,原程序在vue3.5.13版本下不能运行,修改两处: 1)slot-cope改为v-slot 2)return background-color:rgb(24 144 255 / 80%);color: #fff; …

【Unity3D】实现Decal贴花效果,模拟战旗游戏地形效果

目录 一、基础版 二、Post Process 辉光Bloom效果 矩形渐隐 涉及知识点:Decal贴花、屏幕后处理Bloom、屏幕空间构建世界空间、ChracterController物体移动、Terrain地形创建 一、基础版 Unity 2019.4.0f1 普通渲染管线(非URP、非HDRP) UR…

数据结构与算法学习笔记----求组合数

数据结构与算法学习笔记----求组合数 author: 明月清了个风 first publish time: 2025.1.27 ps⭐️一组求组合数的模版题,因为数据范围的不同要用不同的方法进行求解,涉及了很多之前的东西快速幂,逆元,质数,高精度等…

基于物联网设计的疫苗冷链物流监测系统

一、前言 1.1 项目开发背景 随着全球经济的发展和物流行业的不断创新,疫苗和生物制品的运输要求变得越来越高。尤其是疫苗的冷链物流,温度、湿度等环境因素的控制直接关系到疫苗的质量和效力,因此高效、可靠的冷链监控系统显得尤为重要。冷…

学习数据结构(1)时间复杂度

1.数据结构和算法 (1)数据结构是计算机存储、组织数据的方式,指相互之间存在⼀种或多种特定关系的数据元素的集合 (2)算法就是定义良好的计算过程,取一个或一组的值为输入,并产生出一个或一组…

基于RIP的MGRE实验

实验拓扑 实验要求 按照图示配置IP地址配置静态路由协议,搞通公网配置MGRE VPNNHRP的配置配置RIP路由协议来传递两端私网路由测试全网通 实验配置 1、配置IP地址 [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ip add 15.0.0.1 24 [R1]int LoopBack 0 [R1-LoopBack0]i…

Oracle迁移DM数据库

Oracle迁移DM数据库 本文记录使用达梦官方数据迁移工具DTS,将Oracle数据库的数据迁移至达梦数据库。 1 数据准备 2 DTS工具操作步骤 2.1 创建工程 打开DTS迁移工具,点击新建工程,填写好工程信息,如图: 2.2 新建迁…

微服务(一)

文章目录 项目地址一、微服务1.1 分析User的Domian Verb和Nouns 二、运行docker和k8s2.1 Docker1. 编写dockerfile2. 创建docker image3. 运行docker使用指定端口4. 查看当前运行的镜像5. 停止当前所有运行的docker6. 删除不用的docker images7. 将本地的image上传到hub里 2.2 …

分享|instructionfine-tuning 指令微调是提高LLM性能和泛化能力的通用方法

《生成式AI导论》课程中,李宏毅老师提到一篇关于“ instruction fine-tuning” 指令微调的论文: 《Scaling Instruction-Finetuned Language Models》 摘要分享: 事实证明, 在一组以指令形式表达的数据集上微调语言模型可以提…

python生成图片和pdf,快速

1、下载安装 pip install imgkit pip install pdfkit2、wkhtmltopdf工具包,下载安装 下载地址:https://wkhtmltopdf.org/downloads.html 3、生成图片 import imgkit path_wkimg rD:\app\wkhtmltopdf\bin\wkhtmltoimage.exe # 工具路径,安…

Hive:基本查询语法

和oracle一致的部分 和oracle不一样的部分 排序 oracle中,在升序排序中,NULL 值被视为最大的值;在降序排序中,NULL 值被视为最小的值。 在MySQL中,NULL 被视为小于任何非空值。 在Hive中, NULL是最小的; Hive除了可以用order…

Python GUI 开发 | PySide6 辅助工具简介

关注这个框架的其他相关笔记:Python GUI 开发 | PySide6 & PyQt6 学习手册-CSDN博客 在上一章中,我们介绍了如何搭建 PySide6 & PyQt6 的开发环境。在搭建环境的时候我们配置了几个几个快捷工具,很多小伙伴可能都不知道是干啥用的。那…

hive:数据导入,数据导出,加载数据到Hive,复制表结构

hive不建议用insert,因为Hive是建立在Hadoop之上的数据仓库工具,主要用于批处理和大数据分析,而不是为OLTP(在线事务处理)操作设计的。INSERT操作会非常慢 数据导入 命令行界面:建一个文件 查询数据>>复制>>粘贴到新…

HarmonyOS:ForEach:循环渲染

一、前言 ForEach接口基于数组类型数据来进行循环渲染,需要与容器组件配合使用,且接口返回的组件应当是允许包含在ForEach父容器组件中的子组件。例如,ListItem组件要求ForEach的父容器组件必须为List组件。 API参数说明见:ForEa…

基于PostgreSQL的自然语义解析电子病历编程实践与探索(上)

一、引言 1.1研究目标与内容 本研究旨在构建一个基于 PostgreSQL 的自然语义解析电子病历编程体系,实现从电子病历文本中提取结构化信息,并将其存储于 PostgreSQL 数据库中,以支持高效的查询和分析。具体研究内容包括: 电子病历的预处理与自然语言处理:对电子病历文本进…

安装 docker 详解

在平常的开发工作中,我们经常需要部署项目。随着 Docker 容器的出现,大大提高了部署效率。Docker 容器包含了应用程序运行所需的所有依赖,避免了换环境运行问题。可以在短时间内创建、启动和停止容器,大大提高了应用的部署速度&am…

深度学习项目--基于LSTM的糖尿病预测探究(pytorch实现)

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 前言 LSTM模型一直是一个很经典的模型,一般用于序列数据预测,这个可以很好的挖掘数据上下文信息,本文将使用LSTM进行糖尿病…

初阶1 入门

本章重点 C的关键字命名空间C的输入输出缺省参数函数重载引用内联函数auto关键字基于范围的for循环指针的空值nullptr 1.C的关键字 c总共有63个关键字,其中包含c语言的32个 这些关键字不需要特意去记,在我们日后写代码的过程中会慢慢用到并记住。 2.…