应用 Stable Diffusion 生成视频始终是人们的钻研指标,然而咱们遇到的最大问题是视频帧和帧之间的闪动,然而最新的论文则着力解决这个问题。
本文总结了 Chai 等人的论文《StableVideo: Text-driven consistency -aware Diffusion Video Editing》,该论文提出了一种新的办法,使扩散模型可能编辑具备高工夫一致性的视频。要害思维是:
1、帧间流传,取得统一的指标外观
2、图集聚合,取得连贯的静止和几何
论文的试验表明,与最先进的办法相比,视频编辑成果更好。
论文提出的 StableVideo 是一个文本驱动的视频编辑框架,通过对天然视频的大量试验表明,与其余基于扩散的办法相比,StableVideo 在放弃几何形态和工夫连续性的状况下产生优越的编辑后果。
图像编辑与扩散模型
扩散模型曾经成为最先进的深度生成模型,用于依据文本提醒或条件生成和编辑高保真图像。dall – e2 和 Stable Diffusion 等模型能够合成合乎所需文本形容的真切图像。对于图像编辑也能够基于文本在语义上批改图像。
然而目前为止间接将扩散模型利用于视频编辑依然是一个挑战。这里的一个最次要的要害的起因是不足工夫一致性:SD 模型是间接独立编辑每一帧,所以往往会导致闪动成果和不间断的静止。
基于图集示意的视频编辑
为了在视频帧之间平滑地流传编辑,许多钻研曾经提出将视频合成为图集示意。视频帧被映射到对立的二维坐标空间,称为 atlases,它随工夫汇总像素。编辑该汇合能够在映射过程中对整个视频进行连贯的更改。
以前的钻研 omnimates 和神经分层图集 (NLA),将前景和背景拆散到不同的图集中。而 Text2LIVE 在 NLA 图集上减少了一个额定的图层,用于文本驱动的外观编辑。然而间接应用扩散模型的钻研还没有胜利
StableVideo 框架
StableVideo 框架通过联合两者的长处实现了高质量的基于扩散的视频编辑,并具备工夫一致性。他的想法是与其间接编辑图集,不如先编辑关键帧,而后将它们聚合到编辑过的图集中,这样能够取得更好的后果。
也就是说具体来说,管道首先应用 NLA 将输出视频合成为前景和背景图集。而后依据文本提醒别离利用扩散模型编辑背景和关键帧前景。为了确保连贯的外观,应用帧间流传编辑前景关键帧。编辑的关键帧被聚合成一个新的前景图集,它与编辑的背景一起重建最终的输入视频。
办法简介
1、基于神经分层图集的视频合成
作为先决条件,应用预训练的 NLA 模型将输出视频合成为前景和背景图集。这为前景和背景提供了像素坐标和标准化图集坐标之间的映射:
UVb(.) = Mb(I)
UVf(.) = Mf(I)
这里 I 是输出帧,而 UVb 和 UVf 别离给出了背景和前景图集中相应的地位。
2、基于扩散的编辑
理论的编辑过程应用扩散模型 Gb 和 Gf 作为背景和前景。Gb 间接编辑背景图集,Gf 编辑前景关键帧:
Ab_edit = Gb(Ab, text_prompt) // 编辑背景图集
Ei = Gf(Fi, text_prompt) // 编辑关键帧
与重大扭曲的图集相比,在关键帧上工作提供了更牢靠的编辑。
3、帧间流传前景编辑
为了保障关键帧编辑的工夫一致性,提出了一种帧间流传机制。对于第一帧 F0,扩散模型 Gf 失常编辑:
E0 = Gf(F0, text_prompt, structure_guidance)
对于随后的帧 Fi,编辑的条件是文本提醒和前一帧 Ei- 1 的外观:
- Ei- 1 到 ai – 1f 的局部图谱映射
- 将 Ai-1_f 反向映射为以后帧 E^i
- 在文本提醒和构造领导下对 E^i 进行降噪,失去 Ei
这种流传容许在关键帧之间顺次生成具备统一外观的新前景对象。
4、Atlas 聚合
编辑后的关键帧应用简略的 3D CNN 聚合成对立的前景图集。该网络被训练到最小化关键帧和它们从聚合图谱的反向映射之间的重建误差。这种严密耦合确保编辑被合并到一个临时统一的图集中。
最初,将编辑后的前景和背景图集进行映射和合成,失去最终编辑后的视频帧。应用原始的前景宰割蒙版来混合图层。
劣势
论文对蕴含简单动作的天然视频进行了合成、格调转移、背景替换等多种视频编辑场景的演示。定性和定量试验均表明 StableVideo 优于现有的基于扩散的办法:
- 与 Tune-A-Video 相比,文本提醒的可信度更高
- 与 Tune-A-Video 相比,闪动和偏差显著缩小
- 通过防止图集扭曲,比 Text2LIVE 更全面的编辑
- 比 Text2LIVE/Tune-A-Video 中的残缺视频 / 编辑再培训更快的推理
融化试验也验证了所提出的流传和聚合模块的奉献——与独立编辑相比,关键帧流传大大提高了外观一致性。对于一个 GPU 上的 70 帧 768×432 视频来说,只须要 30 秒的运行工夫。
装置和应用
git clone https://github.com/rese1f/StableVideo.git
conda create -n stablevideo python=3.11
pip install -r requirements.txt
所有的模型和检测器都能够从 ControlNet 的页面下载。
而后工作目录是这样的
StableVideo
├── ...
├── ckpt
│ ├── cldm_v15.yaml
| ├── dpt_hybrid-midas-501f0c75.pt
│ ├── control_sd15_canny.pth
│ └── control_sd15_depth.pth
├── data
│ └── car-turn
│ ├── checkpoint # NLA models are stored here
│ ├── car-turn # contains video frames
│ ├── ...
│ ├── blackswan
│ ├── ...
└── ...
运行
python app.py
点击渲染按钮后,生成的 mp4 视频和关键帧将存储在 /log 目录中。
总结
StableVideo 是一种具备扩散模型的高质量和工夫统一的文本驱动视频编辑的新办法。其核心思想是编辑关键帧并在它们之间流传外观,并将编辑聚合到对立的图集空间中。大量的试验表明,该办法在编辑宽泛的天然视频方面具备优越的连贯性。该技术提供了一种高效的解决方案,以适应弱小的扩散模型,实现平滑的视频编辑。
看看咱们的演示视频:
https://weixin.qq.com/sph/AkqDCb
最初就是论文地址:
https://avoid.overfit.cn/post/bc9b051949ea48078de19b3d5622e326
作者:TutorMaster