AnyV2V:一种用于各种视频编辑任务的即插即用框架

2024-08-25 21:12

本文主要是介绍AnyV2V:一种用于各种视频编辑任务的即插即用框架,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

人工智能咨询培训老师叶梓 转载标明出处

视频编辑任务通常涉及根据额外的控制信息(如文本提示、主题、风格等)编辑源视频,以生成与源视频和提供的控制信息相符的新视频。然而,现有方法往往局限于特定类型的编辑任务,难以满足广泛的用户需求。而且一些方法需要额外的参数调整或视频特征提取,导致时间和内存成本较高。为了解决这些问题,加拿大滑铁卢大学和多伦多Vector Institute的研究团队提出了一种创新的视频编辑框架——AnyV2V。这一框架能够简化视频编辑流程,支持广泛的编辑任务,包括基于文本提示、主题、风格等的编辑。它具有以下两大优势:

  1. 兼容性:AnyV2V与所有图像编辑方法具有优越的兼容性。AnyV2V可以无缝地建立在先进的图像编辑方法之上,如InstructPix2Pix、InstantID、NST、AnyDoor等,以执行多种类型的编辑。
  2. 简单性:AnyV2V是一种无需调整的方法,不需要任何额外的视频特征即可实现高外观和时间一致性。

方法

AnyV2V框架的整体架构(图1),显示视频编辑过程被分解为两个阶段:第一阶段是第一帧图像编辑,第二阶段是利用DDIM反演和特征注入的图像到视频生成。

AnyV2V 框架处理视频编辑任务的两个阶段流程如图2所示。首先,输入源视频 ​,接着在第一阶段利用黑盒图像编辑方法对第一帧 进行编辑以满足特定的编辑需求。第二阶段,将源视频通过 DDIM 反演转换成初始噪声 ,然后使用 DDIM 采样对其进行去噪处理。在采样过程中,从图像到视频模型的解码层提取空间卷积特征、空间注意力和时间注意力特征。为了生成编辑后的视频,通过将固定为 并使用编辑后的第一帧作为条件信号来进行 DDIM 采样。在采样过程中,将提取的特征和注意力注入模型的相应层中,以确保编辑后视频在外观和运动上与源视频保持一致性。 

第一阶段:灵活的第一帧编辑

在视频编辑中,控制性是实现精确编辑的关键因素。AnyV2V通过利用各种图像编辑模型来修改视频的第一帧,从而实现更可控的视频编辑。这种方法不仅能够对视频进行高度精确的修改,还与多种图像编辑模型兼容,包括但不限于以下几类:

  • 图像风格迁移:能够将一种艺术风格应用到视频的第一帧上。
  • 基于遮罩的图像编辑:允许对视频的第一帧进行局部修改,如添加或移除特定对象。
  • 图像修复:在第一帧中填补或修改不期望的区域。
  • 身份保持的图像编辑:在修改第一帧时保留特定人物的身份特征。
  • 主题驱动的图像编辑:根据给定的主题图像替换第一帧中的特定对象。

第二阶段:结构化引导使用DDIM反演

为了确保从I2V(Image-to-Video)生成模型产生的视频遵循源视频的一般结构,AnyV2V采用了DDIM(Denoising Diffusion Implicit Models)反演技术。这个过程在没有文本提示条件的情况下,只使用第一帧作为条件来进行。通过这种方式,可以在每个时间步骤t获得源视频的潜在噪声

在实际操作中,如果直接使用最终时间步骤T的初始噪声(源视频的初始噪声)作为编辑视频的初始噪声,可能会因为某些I2V模型的局限性而导致编辑后的视频出现失真。解决方案为:从早于T的一个时间步骤T'开始采样。

尽管仅使用编辑后的第一帧和DDIM反演的噪声作为模型输入,I2V生成模型已经具备一定的编辑能力,但这种方法往往无法正确保留编辑后第一帧的背景和源视频中的运动,因为编码在反演噪声中的源视频的有条件信号是有限的。

为了加强与源视频的一致性,AnyV2V在去噪U-Net的卷积层和空间注意力层执行特征注入。在视频采样过程中,同时对源视频使用先前收集的DDIM反演的潜在噪声进行去噪,以保存两种类型的特征:卷积特征和空间自注意力分数。

空间特征注入机制显著增强了编辑视频的背景和整体结构的一致性。然而,这种方法在一定程度上帮助保持源视频的运动,编辑后的视频仍有很高几率包含与源视频相比不正确的运动。

为了更好地在编辑视频中重建源视频的运动,AnyV2V提出注入时间注意力特征到视频生成过程中。与空间注意力注入类似,收集源视频的时间自注意力查询和键,并将其注入到编辑视频的去噪分支中。

结合空间和时间特征注入机制,AnyV2V可以在不同的层中替换编辑分支的特征。这种特征注入方案使得I2V生成模型能够无需调整地适应视频编辑任务。实验结果表明,设计中的每个组件对于准确编辑源视频都至关重要。

实验

AnyV2V框架在三个现成的图像到视频(I2V)生成模型上进行了测试:I2VGen-XL、ConsistI2V 和 SEINE。对于所有的I2V模型,研究者设置了特定的超参数,其中τconv、τsa 和 τta 分别代表卷积特征注入、空间注意力注入和时间注意力注入的阈值,并且这些阈值与总采样步数T有关。研究者使用了DDIM采样器,并为所选的I2V模型设置了T的默认值。在采样过程中,所有模型都应用了无文本分类器的引导(CFG),使用了相同的负面提示。

为了获取初始编辑帧,研究者使用了一组图像编辑模型,包括基于提示的图像编辑模型InstructPix2Pix、风格迁移模型Neural Style Transfer (NST)、主题驱动的图像编辑模型AnyDoor 和身份驱动的图像编辑模型InstantID。研究者只对成功编辑的帧进行了实验,这对于本方法至关重要。所有实验都在单个Nvidia A6000 GPU上进行。编辑一个16帧的视频大约需要15G的GPU内存和大约100秒的推理时间。

Figure 3 展示了AnyV2V在多种基于提示的视频编辑任务中的鲁棒性,同时保持了背景的一致性。结果显示,AnyV2V与文本提示的对齐度最高,并且保持了高运动一致性。例如,AnyV2V能够准确地在老人的头上放置一个派对帽,并将飞机涂成蓝色,同时保持原始视频的背景和保真度。

Table 2 展示了AnyV2V与基线模型(Tune-A-Video、TokenFlow 和 FLATTEN)在基于提示的视频编辑任务上的定量比较。AnyV2V在文本对齐和时间一致性方面通常表现更好,特别是使用I2VGen-XL作为骨架时,因为它不会过度编辑视频。

对于风格迁移、主题驱动的编辑和身份操作这些新任务,研究者强调与参考图像的对齐,而不是文本提示。Figure 4 展示了AnyV2V在这些任务上的能力,例如,能够捕捉到定制的风格,即使这种风格没有被文本编码器学习过。在示例中,AnyV2V准确地捕捉到了瓦西里·康定斯基的“构图VII”和文森特·梵高的“奥弗斯的城堡”的艺术风格。

当前最先进的I2V模型大多只训练了包含16帧的视频数据。为了编辑超出I2V模型训练帧数的视频,研究者利用了更长的反演潜在变量作为初始潜在变量,并强制I2V模型生成更长的输出帧。实验发现,反演的潜在变量包含了足够的时间和语义信息,使得生成的视频能够保持时间和语义的一致性,如Figure 5 所示。

为了验证模型设计选择的有效性,研究者进行了消融研究,逐步禁用了模型中的三个核心组件:

  1. 时间特征注入(Temporal Feature Injection):禁用时间特征注入后,虽然CLIP-Image分数略有上升,但编辑后的视频往往显示出对源视频中呈现的运动的依从性降低。例如,在“couple sitting”案例中,如果没有应用时间注入,源视频中女性抬腿的动作在编辑后的视频中没有得到反映。

  2. 空间特征注入(Spatial Feature Injection):移除空间特征注入机制后,CLIP-Image分数下降,表明编辑后的视频在连续帧之间过渡不顺畅,并包含更多外观和运动的不一致性。例如,在“ballet dancing”案例中,移除空间特征注入会导致主体外观和姿态不正确。

  3. DDIM反演噪声作为初始噪声(DDIM Inverted Latent as Initial Noise):将初始DDIM反演噪声替换为随机噪声后,CLIP-Image分数进一步下降,视觉外观显著降低。这表明,当编辑提示完全脱离领域时,I2V生成模型对输入图像的动画制作能力变弱,突出了DDIM反演噪声作为编辑视频结构化引导的重要性。

Table 3展示了消融研究的结果,显示了不同组件对模型性能的影响。这些观察结果表明,直接从DDIM反演噪声生成编辑后的视频通常不足以完全保留源视频的结构,空间特征注入机制对于实现更好的编辑结果至关重要。通过这些评估和消融研究,研究者们展示了AnyV2V模型在视频编辑任务中的有效性和灵活性,并验证了其核心组件在保持视频质量和一致性方面的重要性。

论文链接:https://arxiv.org/abs/2403.13248

GitHub 地址:https://github.com/lichao-sun/Mora

这篇关于AnyV2V:一种用于各种视频编辑任务的即插即用框架的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1106670

相关文章

如何解决Pycharm编辑内容时有光标的问题

《如何解决Pycharm编辑内容时有光标的问题》文章介绍了如何在PyCharm中配置VimEmulator插件,包括检查插件是否已安装、下载插件以及安装IdeaVim插件的步骤... 目录Pycharm编辑内容时有光标1.如果Vim Emulator前面有对勾2.www.chinasem.cn如果tools工

修改若依框架Token的过期时间问题

《修改若依框架Token的过期时间问题》本文介绍了如何修改若依框架中Token的过期时间,通过修改`application.yml`文件中的配置来实现,默认单位为分钟,希望此经验对大家有所帮助,也欢迎... 目录修改若依框架Token的过期时间修改Token的过期时间关闭Token的过期时js间总结修改若依

Java如何获取视频文件的视频时长

《Java如何获取视频文件的视频时长》文章介绍了如何使用Java获取视频文件的视频时长,包括导入maven依赖和代码案例,同时,也讨论了在运行过程中遇到的SLF4J加载问题,并给出了解决方案... 目录Java获取视频文件的视频时长1、导入maven依赖2、代码案例3、SLF4J: Failed to lo

Python实现多路视频多窗口播放功能

《Python实现多路视频多窗口播放功能》这篇文章主要为大家详细介绍了Python实现多路视频多窗口播放功能的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下... 目录一、python实现多路视频播放功能二、代码实现三、打包代码实现总结一、python实现多路视频播放功能服务端开

Python实现视频转换为音频的方法详解

《Python实现视频转换为音频的方法详解》这篇文章主要为大家详细Python如何将视频转换为音频并将音频文件保存到特定文件夹下,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果5. 注意事项

Spring Boot 整合 ShedLock 处理定时任务重复执行的问题小结

《SpringBoot整合ShedLock处理定时任务重复执行的问题小结》ShedLock是解决分布式系统中定时任务重复执行问题的Java库,通过在数据库中加锁,确保只有一个节点在指定时间执行... 目录前言什么是 ShedLock?ShedLock 的工作原理:定时任务重复执行China编程的问题使用 Shed

Python视频处理库VidGear使用小结

《Python视频处理库VidGear使用小结》VidGear是一个高性能的Python视频处理库,本文主要介绍了Python视频处理库VidGear使用小结,文中通过示例代码介绍的非常详细,对大家的... 目录一、VidGear的安装二、VidGear的主要功能三、VidGear的使用示例四、VidGea

Python Invoke自动化任务库的使用

《PythonInvoke自动化任务库的使用》Invoke是一个强大的Python库,用于编写自动化脚本,本文就来介绍一下PythonInvoke自动化任务库的使用,具有一定的参考价值,感兴趣的可以... 目录什么是 Invoke?如何安装 Invoke?Invoke 基础1. 运行测试2. 构建文档3.

解决Cron定时任务中Pytest脚本无法发送邮件的问题

《解决Cron定时任务中Pytest脚本无法发送邮件的问题》文章探讨解决在Cron定时任务中运行Pytest脚本时邮件发送失败的问题,先优化环境变量,再检查Pytest邮件配置,接着配置文件确保SMT... 目录引言1. 环境变量优化:确保Cron任务可以正确执行解决方案:1.1. 创建一个脚本1.2. 修

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五