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

相关文章

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

Java 缓存框架 Caffeine 应用场景解析

《Java缓存框架Caffeine应用场景解析》文章介绍Caffeine作为高性能Java本地缓存框架,基于W-TinyLFU算法,支持异步加载、灵活过期策略、内存安全机制及统计监控,重点解析其... 目录一、Caffeine 简介1. 框架概述1.1 Caffeine的核心优势二、Caffeine 基础2

Spring定时任务之fixedRateString的实现示例

《Spring定时任务之fixedRateString的实现示例》本文主要介绍了Spring定时任务之fixedRateString的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录从毫秒到 Duration:为何要改变?核心:Java.time.Duration.parse

Oracle Scheduler任务故障诊断方法实战指南

《OracleScheduler任务故障诊断方法实战指南》Oracle数据库作为企业级应用中最常用的关系型数据库管理系统之一,偶尔会遇到各种故障和问题,:本文主要介绍OracleSchedul... 目录前言一、故障场景:当定时任务突然“消失”二、基础环境诊断:搭建“全局视角”1. 数据库实例与PDB状态2

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

SpringBoot集成XXL-JOB实现任务管理全流程

《SpringBoot集成XXL-JOB实现任务管理全流程》XXL-JOB是一款轻量级分布式任务调度平台,功能丰富、界面简洁、易于扩展,本文介绍如何通过SpringBoot项目,使用RestTempl... 目录一、前言二、项目结构简述三、Maven 依赖四、Controller 代码详解五、Service

Linux系统管理与进程任务管理方式

《Linux系统管理与进程任务管理方式》本文系统讲解Linux管理核心技能,涵盖引导流程、服务控制(Systemd与GRUB2)、进程管理(前台/后台运行、工具使用)、计划任务(at/cron)及常用... 目录引言一、linux系统引导过程与服务控制1.1 系统引导的五个关键阶段1.2 GRUB2的进化优

Python Flask实现定时任务的不同方法详解

《PythonFlask实现定时任务的不同方法详解》在Flask中实现定时任务,最常用的方法是使用APScheduler库,本文将提供一个完整的解决方案,有需要的小伙伴可以跟随小编一起学习一下... 目录完js整实现方案代码解释1. 依赖安装2. 核心组件3. 任务类型4. 任务管理5. 持久化存储生产环境

解决若依微服务框架启动报错的问题

《解决若依微服务框架启动报错的问题》Invalidboundstatement错误通常由MyBatis映射文件未正确加载或Nacos配置未读取导致,需检查XML的namespace与方法ID是否匹配,... 目录ruoyi-system模块报错报错详情nacos文件目录总结ruoyi-systnGLNYpe

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre