AIGC视频生成/编辑技术调研报告

news2024/11/29 4:03:29

人物AIGC:FaceChain人物写真生成工业级开源项目,欢迎上github体验。

简介: 随着图像生成领域的研究飞速发展,基于diffusion的生成式模型取得效果上的大突破。在图像生成/编辑产品大爆发的今天,视频生成/编辑技术也引起了学术界和产业界的高度关注。该分享主要介绍视频生成/编辑的研究现状,包括不同技术路线的优劣势,以及该领域当下面临的核心问题与挑战。

摘要

随着图像生成领域的研究飞速发展,基于diffusion的生成式模型取得效果上的大突破。在图像生成/编辑产品大爆发的今天,视频生成/编辑技术也引起了学术界和产业界的高度关注。该分享主要介绍视频生成/编辑的研究现状,包括不同技术路线的优劣势,以及该领域当下面临的核心问题与挑战。

1. 背景介绍

不少视频生成/编辑模型都是基于图像生成模型的预训练权重进行训练,结构也与图像生成模型一脉相承,因此在介绍视频生成/编辑模型之前有必要先介绍图像生成/编辑模型。我们根据不同的技术路线将图像生成/编辑模型分成四种类型,分别是使用编辑前后数据对进行训练的模型、zero-shot模型、one-shot/few-shot模型以及解耦合模型。我们将视频生成/编辑模型也分成四类,分别是large-data-driven模型、zero-shot模型、one-shot/few-shot模型和解耦合模型。接下来将分别介绍这几种类型。

2. 图像生成/编辑

2.1. 使用编辑前后数据对进行训练

比较典型的工作是 InstructPix2Pix [1]。该方法通过构造编辑前后的图像数据对来生成训练数据,使用这种数据进行训练得到的模型无需 finetune 即可进行图像编辑。具体的构造方式是利用 GPT3 生成编辑前后的 text prompt,再利用 stable diffusion + Prompt2Prompt 的方式进行编辑得到编辑前后图像对。

下图是 InstructPix2Pix 的示意图:

2.2. Zero-Shot 方法

比较具有代表性的工作是 Prompt-to-prompt [2] 和 MasaCtrl [3]。他们通过修改 cross attention 里的 attention maps 或 attention 机制的方式来实现无需 finetune 的图像编辑。Prompt-to-prompt 的具体做法是,对于由给定 prompt 通过模型生成的图像(若是真实场景图像,则需要做精确的 inversion),保留其 cross attention 步骤中的 attention map,对于新 text prompt,将新的词生成的 new attention 插入原 attention maps 中,并根据权重重新计算,生成编辑后的图像。

下图是 Prompt-to-prompt 的示意图:

2.3. One-Shot/Few-Shot方法

该类方法分为两类,一种是通过 finetune 来让网络学习到关于输入图像的 identifier,这样编辑过程中就能保留原图的内容和结构;第二种是通过设计保留原图内容和结构的 loss 来进行 finetune。第一种的代表性方法包括 Dreambooth [4] 和 DreamArtist [5]。其中 Dreambooth 便是通过对描述输入图像的 text prompt 插入特征 tokenizer,然后在同一物体的少量数据上训练,让网络记住该物体与该特定 identifier 之间的对应关系。接下来便能通过对 identifier 进行修饰从而达到对该物体的图像进行编辑的目的。

下图是 Dreambooth 的示意图:

第二种的代表性方法是 Text2live [6]。对于一张输入图像以及 target text prompt,该方法对图像和 text 分别做 augmentations 并生成数据集 internal dataset,然后在这个 internal dataset 上对模型进行finetune。模型的输出是带 alpha 通道的图层,该图层添加到原图上构成最终的输出图像。为了让生成的图像在保留原图内容和结构不变的基础上符合 target prompt 的描述,它使用了三种 loss:Composition Loss,Structure Loss 和 Screen Loss。Composition Loss 计算生成图像与 target prompt 在 clip 空间的距离;Structure Loss 计算生成图像与原图在结构和内容上的距离;Screen Loss 计算将带 alpha 通道的图层与绿幕组合后的图像与对该绿幕图像的 text 描述之间的 clip 距离。

下图是 Text2live 的示意图:

2.4. 解耦合方法

这类方法将图像要素解耦合成控制条件(如人体pose、edge map等)与图像内容/风格/语义,通过训练显式的编码器对控制条件或图像内容/风格/语义分别进行编码。推理阶段,修改图像内容/风格来生成符合控制条件的编辑后图像,或是通过修改控制条件来生成相同内容/风格/语义的图像。比较典型的方法如 DisCo [14] Prompt-Free Diffusion [15]。其中 DisCo 是针对人物姿态转换的模型,在第一阶段的训练中,它将人物图像进一步拆解成前景(人物)和背景对网络进行训练,第二阶段在第一阶段的基础上加上对控制条件(人物姿态) 的编码器进行进一步训练。DisCo 虽然在图像数据集上训练,但它可以被用来进行姿态引导的人物动态视频的生成,只要对单帧分别处理即可。

下图是 DisCo 的示意图:

3. 视频生成/编辑

3.1. Large-Data-Driven

这类方法在保持图像生成模型权重不变的基础之上,添加时序层,用大量的视频或者视频-文本数据对时序层进行训练,让模型学习到视频帧间连续性的同时尽可能保留原模型的图像生成能力。这类方法包括 Make-A-Video [7],Follow Your Pose [8],Control-A-Video [9],AnimateDiff [10],Align your Latents [11]。其中 Follow Your Pose 采取两阶段的训练方法,第一阶段使用带 pose 的 text-image 图像数据对进行训练,第二阶段使用不带 pose 的 text-video 数据对 temporal self-attention layer 和 cross-frame spatial attention layer 进行训练。最终 inference 阶段,使用 pose 和 text 共同控制视频的生成。

下图是 Follow Your Pose 的示意图:

3.2. One-Shot/Few-Shot 方法

与图像的方法类似,这类方法针对单个视频进行 finetune,使网络学习到属于该视频的时域特征,比较典型的是Tune-A-Video [12] 和 ControlVideo [13]。Tune-A-Video 将图像生成模型的权重固定不变,在单个视频上使用 source text prompt 和 image 对时序层进行 finetune。在 inference 阶段,先对输入视频进行 DDIM inversion,然后使用新的 prompt 生成编辑后的视频。ControlVideo 在 Tune-A-Video 的基础之上,加入了如 edge map 等其他控制手段引导视频的生成。

下图是 ControlVideo 的示意图:

3.3. Zero-Shot 方法

与图像的方法类似,这类方法通过对视频求精确的 inversion,然后修改 attention maps 或是 attention 机制来进行无需训练的视频编辑,典型的比如 Fatezero [16],Zero-shot video editing [17] 和 Video-p2p [18]。另一类方法根据视频时域连续性的先验知识,有针对性地设计新的 cross attention 机制或 adapter 来控制采样阶段生成的帧序列在结构、内容和色彩上的连续性。典型的方法比如 ControlVideo [19] 和 Rerender A Video [20]。其中 Rerender A Video 利用视频的光流信息,对采样阶段的隐空间特征进行变换和引导,同时辅以结构和色彩 adapter,实现了对输出视频的时域连续性控制。

下图为 Rerender A Video 的示意图:

3.4. 解耦合方法

图像编辑的解耦合方法也可以用来实现视频编辑,例如 DisCo [14],这里我们主要介绍针对视频的解耦合方法(考虑了时域特征)。与图像解耦合思路类似,视频也能被解耦合成控制条件帧序列(如人体pose、edge map等)与单帧图像内容/风格/语义,通过训练显式的编码器对控制条件序列或单帧图像内容/风格/语义进行编码,典型的方法如 DreamPose [21]。另一类解耦合方法,CoDeF [22],从视频本身的特性出发将视频拆解成 canonical content field 和 temporal deformation field 两个元素。只要通过图像编辑/生成模型对单帧图像进行编辑,生成新的 canonical content field, 再根据原视频的 temporal deformation field 就能生成被编辑后的视频。这一类方法的效果高度依赖解耦合思路的合理性以及模型的解耦合程度/能力。

下图为 DreamPose 的示意图:

4. 总结

视频编辑/生成的核心难点是如何保证帧间的连续性,在内容和结构上获得令人满意的视觉效果。这四种方法本质上均是试图解决帧间内容连续性的问题,只不过采用了四种不同的手段和技术路线。Large-Data-Driven 需要大量的优质视频数据进行训练,对存储空间和算力资源的需求很大。One-Shot/Few-Shot 方法对资源的消耗较小,但每次需对单个视频进行 finetune,较为耗时。Zero-Shot 方法对资源消耗小且速度快,但囿于技术手段本身的局限性,所能实现的效果存在着天然的瓶颈,且对精心设计的时域控制手段的要求也很高。解耦合方法从视频本身特性出发,将视频拆解成不同的要素,进行针对性的训练以及再组合,但效果的好坏取决于解耦合的设计与模型解耦合的能力。探索出保证视频帧间连续性的技术路线仍然是一个亟待解决的核心问题。

References

[1] InstructPix2Pix: Learning to Follow Image Editing Instructions.

[2] Prompt-to-prompt image editing with cross attention control.

[3] MasaCtrl: Tuning-Free Mutual Self-Attention Control for Consistent Image Synthesis and Editing.

[4] Dreambooth: Fine tuning text-to-image diffusion models for subject-driven generation.

[5] DreamArtist: Towards Controllable One-Shot Text-to-Image Generation via Contrastive Prompt-Tuning.

[6] Text2live: Text-driven layered image and video editing.

[7] Make-A-Video: Text-to-Video Generation without Text-Video Data.

[8] Follow Your Pose: Pose-Guided Text-to-Video Generation using Pose-Free Videos.

[9] Control-A-Video: Controllable Text-to-Video Generation with Diffusion Models.

[10] AnimateDiff: Animate Your Personalized Text-to-Image Diffusion Models without Specific Tuning.

[11] Align your Latents: High-Resolution Video Synthesis with Latent Diffusion Models.

[12] Tune-A-Video: One-Shot Tuning of Image Diffusion Models for Text-to-Video Generation.

[13] ControlVideo: Adding Conditional Control for One Shot Text-to-Video Editing.

[14] DisCo: Disentangled Control for Referring Human Dance Generation in Real World.

[15] Prompt-Free Diffusion: Taking "Text" out of Text-to-Image Diffusion Models.

[16] Fatezero: Fusing attentions for zero-shot text-based video editing.

[17] Zero-shot video editing using off-the-shelf image diffusion models.

[18] Video-p2p: Video editing with cross-attention control.

[19] ControlVideo: Training-free Controllable Text-to-Video Generation.

[20] Rerender A Video: Zero-Shot Text-Guided Video-to-Video Translation.

[21] DreamPose: Fashion Image-to-Video Synthesis via Stable Diffusion.

[22] CoDeF: Content Deformation Fields for Temporally Consistent Video Processing.

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

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

相关文章

【多语言多商户跨境商城系统.源码开源无加密】—— 打破语言障碍,实现全球商业连接

随着全球电子商务的飞速发展,多语言多商户跨境商城系统已成为行业内的热门需求。这类系统能够有效地解决跨国交易中的语言沟通难题,同时为多商户提供公平的交易平台,实现全球商业连接。 今天,我们为您推荐一款多语言多商户跨境商城…

3、FFmpeg基础

1、FFmpeg 介绍 FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库。 2、FFmpeg 组成 - libavformat:用于…

java项目之电子资源管理系统(ssm+jsp)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的电子资源管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: (1)在个…

Redis系列-Redis性能优化与安全【9】

目录 Redis系列-Redis性能优化与安全【9】Redis性能优化策略Redis安全设置与防护措施Redis监控与诊断工具介绍 七、Redis应用案例与实战八、Redis未来发展与趋势 个人主页: 【⭐️个人主页】 需要您的【💖 点赞关注】支持 💯 Redis系列-Redis性能优化与安…

Milvus Cloud——什么是 Agent?

什么是 Agent? 根据 OpenAI 科学家 Lilian Weng 的一张 Agent 示意图 [1] 我们可以了解 Agent 由一些组件来组成。 规划模块 子目标分解:Agent 将目标分为更小的、易于管理的子目标,从而更高效地处理复杂的任务。 反省和调整:Agent 可以对过去的行为进行自我批评和自我反思…

【Linux】 awk命令使用

AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。 之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。 语法 awk [选项] [文件] awk [选项] [程序] [文件] awk命令 -Linux手…

磁盘空间占用巨大的meta.db-wal文件缓存(tracker-miner-fs索引服务)彻底清除办法

磁盘命令参考本博客linux磁盘空间满了怎么办. 问题: 磁盘空间被盗 今天瞄了一下我的Ubuntu系统盘, nftdiggernftdigger-Ubuntu:~$ df -h 文件系统 容量 已用 可用 已用% 挂载点 udev 16G 0 16G 0% /dev tmpfs 3.2G 1.9…

3.5米分辨率地表温度图像——商业热红外遥感卫星HotSat-1第一批数据发布

最近几年上百颗的光学和雷达商业遥感卫星发射升空,空间分辨率更高,性能更强,竞争也越来越激烈。除了光学和雷达遥感卫星之外,也出现了不少多样化传感器的商业遥感卫星,高光谱、热红外、无线电掩星等。不同的传感器获取…

关于 DC电源模块的体积与功率达到平衡的关系

关于BOSHIDA DC电源模块的体积与功率达到平衡的关系 DC电源模块是一种将交流电转换为直流电的装置。它是许多电子设备中非常重要的部分,尤其是电子产品的便携性和用电时间方面,一直是DC电源模块必须考虑的因素。因此,电源模块的体积和功率之…

CAN2无法通信问题

文章目录 一、CAN2通信要注意的问题二、CAN中断无法进入的问题 一、CAN2通信要注意的问题 从这张图片不难看出can1为主机,can2为从机。因此can2的启动前提是已经启动了can1. can通讯can2是基于can1的 使用can2之前必须初始化can1 单独使用CAN2时一定要同时打开CAN1和…

数据采集代码示例

首先,你需要安装一个 Lua 的爬虫库,例如 Luanode 或者 Lush: lua local ltn12 require("ltn12") local http require("") local response http.request{ host "", port , path "/", …

MySQL 5.7停服你的数据库还没迁移怎么破?

10月底,MySQL5.7版本正式终止生命周期状态,即EOL(End of Life),也就是俗称的“停服”,意味着该版本的用户将不能再获得新的安全补丁、版本迭代升级、维护和支持服务,众多使用MySQL 5.7的各个行业…

linux gdb 调试 常见调试命令介绍+总结

1.调试前准备 -g gcc arcg.c -g -oO -o app //必须添加-g 2.调试 gdb gdb app 3.常见调试命令 set args 1 2 3 4 5 6 //设置参数 show args //查看参数 3.1执行程序 1.start2. run gdb app set args 1 2 3 4 5 start //执行一行 c //继续执行 q…

了解千兆光模块和万兆光模块的标准规范

千兆光模块和万兆光模块作为数据中心和网络领域的关键设备,光模块生产需要遵循一些标准规范,为光模块的设计、制造和应用提供统一的规则和指导,确保光模块在各种设备和网络环境中能够正常工作,并满足用户的需求和期望,…

双十一全光谱灯哪个牌子好?双十一必备护眼台灯推荐

护眼台灯近些年来很受欢迎,它采用专业的技术能够帮助调节环境光的变化。尤其是在光线变化复杂的情况下,能够通过智能调光来改善环境,可以减少许多学生党上班族的近视风险,成为了许多学生党打工人的必备照明工具之一。不过随着它的…

移除元素(双指针)

27. 移除元素 - 力扣(LeetCode) 题目描述 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改…

如何准备软考-软件设计师(上)

前言: 参加了2023年下半年的软考-软件设计师的考试,之所以参加这个考试,主要出于以下几个目的: 1.减税。虽然只有1500的额度,但是考虑到税率,其实也不少,而且也没有更好的省钱途径。 2.学习。…

Unit2_2:动态规划DP

文章目录 一、最长公共子序列分析填表伪代码过程时间复杂度 二、最长公共子串问题分析过程时间复杂度 最小编辑距离背景分析状态转移方程填表伪代码案例 一、最长公共子序列 子序列:指从原序列中选取出来的具有相对顺序的一组元素,而这些元素不一定是连…

内衣洗衣机和手洗哪个干净?家用小型洗衣机推荐

在最近的几年来,人们对生活和健康的追求越来越高,使得越来越多的内衣洗衣机也走进了我们日常生活的视线,许多研究显示,单纯只是手洗是不能彻底消除我们贴身衣物上的细菌,而机洗则可以有效地消除大部分的细菌&#xff0…

毫米波雷达技术在自动驾驶中的关键作用:安全、精准、无可替代

自动驾驶技术正以前所未有的速度不断演进,而其中的关键之一就是毫米波雷达技术。作为自动驾驶系统中的核心感知器件之一,毫米波雷达在保障车辆安全、实现精准定位和应对复杂环境中发挥着不可替代的作用。本文将深入探讨毫米波雷达技术在自动驾驶中的关键…