AI

StoryDiffusion:用于长序列图像与视频生成的一致性自注意力机制

StoryDiffusion 是南开大学与字节跳动的研究项目,运用新颖的自注意力机制实现一致的长序列漫画生成与视频创作。

Keeping this site alive takes effort — your support means everything.
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分! 無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!
StoryDiffusion:用于长序列图像与视频生成的一致性自注意力机制

StoryDiffusion 是南开大学与字节跳动的一项研究项目,针对生成式 AI 中最困难的问题之一:在长序列图像与视频中维持视觉一致性。作为一项重要的研究贡献,它引入了一种新颖的**一致性自注意力(CSA)**机制,使扩散模型能够生成连贯的漫画条、动画和视频——全部无需微调或逐序列训练。

StoryDiffusion 所解决的核心挑战说起来简单但极难解决:如何生成一系列图像,让同一个角色在每一帧中看起来完全一致?先前的扩散模型可以产生令人惊艳的单张图像,但当要求生成多格漫画或视频片段时,角色会在帧之间微妙地改变外观——不同的鼻子形状、改变的服装、转变的背景风格。

StoryDiffusion 的 CSA 机制通过将自注意力计算扩展到整个生成图像序列(而非在每个图像内独立计算注意力)来解决此问题。结果是一种无需训练的方法,可与现有预训练扩散模型配合使用,并通过滑动窗口技术扩展到任意长度的序列。

仓库github.com/HVision-NKU/StoryDiffusion


一致性自注意力是如何运作的?

在标准扩散模型中,每个图像是独立生成的。自注意力在单张图像内计算像素间的关系,因此一个生成帧无法「知道」另一个生成帧。StoryDiffusion 通过修改自注意力层使其在整个序列上运作来改变这一点:

  1. 跨帧注意力:自注意力层中的键和值矩阵由序列中的所有帧构成,而不仅仅是当前帧。这意味着每个像素的注意力计算会考虑其他所有帧的像素。
  2. 滑动窗口扩展:对于非常长的序列(数百帧),滑动窗口方法将注意力限制在相邻帧,平衡一致性与计算成本。
  3. 无需训练集成:CSA 通过对注意力层进行架构修改,注入现有的预训练扩散模型,无需额外训练或微调。

StoryDiffusion 的主要功能有哪些?

功能描述输出质量
漫画条生成角色与风格一致的多格漫画高——10+ 格仍保持角色身份
视频生成流畅帧间过渡的时间序列高——极少闪烁,外观一致
风格一致批次共享相同艺术风格的多张图像极高——任意批次大小的风格锁定
角色互动多个角色在单一一致场景中互动高——每个角色保持独特身份
长序列扩展100+ 帧的序列搭配滑动窗口中高——极长长度时略有质量下降

StoryDiffusion 与其他方法比较

方法需要训练一致性序列长度推理速度
StoryDiffusion (CSA)否(无需训练)任意(滑动窗口)快(无需重新训练)
微调角色模型需要,每个角色极高受限于训练数据中等
IP-Adapter轻量微调中等任意
逐帧 SD任意
视频扩散模型需要,大规模固定长度

StoryDiffusion 的关键优势在于实现了无需训练的一致性——你可以生成从未在训练数据中出现过的角色 20 页漫画,无需任何微调或额外模型训练。

StoryDiffusion 能生成哪些类型的内容?

漫画条生成

StoryDiffusion 擅长多格漫画生成。用户提供描述每格的文本提示序列,系统生成完整的漫画条,角色在整个过程中保持身份。

虚线箭头代表一致性自注意力连接。每格的生成都知道其他格的存在,确保巫师在每格中看起来相同。

视频生成

对于视频,StoryDiffusion 将相同的 CSA 机制扩展到时间帧上。结果是角色在视频输出中保持一致外观,避免了每帧独立生成时出现的突兀身份变化。

如何安装 StoryDiffusion

git clone https://github.com/HVision-NKU/StoryDiffusion.git
cd StoryDiffusion
pip install -r requirements.txt

生成一致漫画条的基本用法:

python comic_generation.py \
  --prompts "年轻巫师施法" \
             "巫师召唤魔法护盾" \
             "巫师面对可怕的巨龙" \
             "巫师胜利站立" \
  --output ./comic_output \
  --style fantasy

视频生成:

python video_generation.py \
  --prompt "武士走过竹林" \
  --frames 48 \
  --output ./video_output

系统支持可配置的分辨率、引导比例,以及用于平衡一致性与性能的 CSA 滑动窗口大小。

常见问题

什么是 StoryDiffusion?它解决了什么问题? 南开大学与字节跳动的 StoryDiffusion 解决了长序列生成中的一致性问题。它引入的一致性自注意力(CSA)可在任意长度的图像和视频序列中维持角色、风格和场景身份,无需微调。

一致性自注意力机制是如何运作的? CSA 通过同时计算整个序列的自注意力,将注意力感受野扩展到多个帧。滑动窗口方法可扩展到任意长的序列,确保角色外观和背景风格等特征保持一致。

StoryDiffusion 能生成完整的漫画条吗? 是的,它专为漫画生成而设计,可在所有格中生成角色、背景和艺术风格一致的漫画条,无需漫画特定的训练数据。

StoryDiffusion 也支持视频生成吗? 是的,视频分支将 CSA 应用于时间帧,维持角色和场景的连贯性,具有流畅的过渡和极少的闪烁伪影。

如何安装与运行 StoryDiffusion? 克隆 GitHub 仓库,安装依赖项,然后运行提供的漫画或视频生成脚本。建议使用 8 GB+ VRAM 的 GPU。

扩展阅读

TAG
CATEGORIES