StoryDiffusion 指南:如何用一致性自注意力快速生成角色一致漫画图像序列
【免费下载链接】StoryDiffusionAccepted as [NeurIPS 2024] Spotlight Presentation Paper项目地址: https://gitcode.com/GitHub_Trending/st/StoryDiffusion
StoryDiffusion 是一个一致性图像生成工具,论文被 NeurIPS 2024 接收为 Spotlight。它基于 SDXL,靠几句文字就能画出人物长相前后统一的多格画面,适合想做漫画创作和角色一致图像生成的新手。
一致性图像生成解决什么问题
普通文生图模型每画一张图都是"独立创作",画同一角色十次就会得到十张不同的脸。StoryDiffusion 要解决的就是这个问题:它给多个画面之间共享外观信息,同一个角色在十几格漫画里始终保持同一张脸、同一身衣服。它的最大卖点是长序列下的角色一致性——官方示例里,一个穿黑西装读报纸的红发男子连续出现在十个不同场景的分镜中,长相始终不变。此外它还提供图生视频的第二阶段能力(运动预测模型),不过该部分的源码和权重目前尚未开放。
从提示词到漫画:核心流程分四步
- 写分镜提示词:每行文字对应一个画面,至少 3 行,官方建议 5~6 行以获得更好的排版。文字模式下用
[Bob]、[Alice]这样的标签指定角色;参考图模式下在角色描述后加img触发词,指向你上传的人物照片。 - 一致性自注意力生成图像:自注意力本只在单张图内部计算,这里被扩展到了多张图之间("hot-pluggable",可插拔地兼容 SD1.5 和 SDXL 系模型)。通俗说,就是让每格画面在画脸时都能"参考"其他格的同一角色,从而跨画面保持一致。
- 漫画排版与配字:生成完成后自动按版式(四格 Four Panel 或经典漫画 Classic Comic Style)拼成网格,并给每格加上对话字幕,字体可在
fonts/里选。 - (可选)图生视频:把一致性图像序列作为条件图,运动预测器在压缩语义空间里补出帧间运动,实现两阶段长视频。此部分模型尚未开源,当前版本可先跑通前三步。
实际能做出哪些内容
多格漫画:输入十几行故事文本,直接输出一整张带字幕的漫画网格。比如下面的官方示例,讲的是一个男子在森林中寻到宝藏屋的故事,十个分格里主角的外貌、西装、发型完全一致,还能穿插老虎、汽车等纯场景格([NC]标签表示该格无角色)。
参考图角色入画:上传 1~4 张人物照片(仓库examples/里自带了示例图),选 "Using Ref Images" 模式,照片里的人物会以一致的外观出现在每格画面中,适合做"让指定人物出演某个故事"的内容。
两阶段图生视频:把生成的一致性图像序列当作条件帧,由运动预测器补全帧间过渡,把静态分镜变成动态视频。需要说明:README 的 TODO 列表中,视频模型的源码与预训练权重仍标记为未完成,这一阶段目前还无法本地运行。
最快安装与启动步骤
环境要求:Python 3.10(最低 3.8)、PyTorch ≥ 2.0,建议 NVIDIA GPU。最小启动命令共 3 行:
git clone https://gitcode.com/GitHub_Trending/st/StoryDiffusion conda create -n storydiffusion python=3.10 && conda activate storydiffusion && pip install -r requirements.txt python gradio_app_sdxl_specific_id_low_vram.py启动后打开浏览器里的 Gradio 页面即可操作。关键参数速查:
- Comic Description(分镜描述):每行一格,至少 3 行,角色前加
[名字]标签,纯场景格用[NC] - model_type:
Only Using Textual Description纯文字控制角色,Using Ref Images用 1~4 张参考照片锁定长相 - sa32 / sa64:跨图共享外观的强度(0~1,默认 0.5),调高一致性更强
- height / width:默认 768,范围 256~1024,步长 32
- Number of sample steps:采样步数,默认 35
- Style template:内置日式动漫、Photographic、Comic book 等 8 种风格预设,定义在 utils/style_template.py
核心逻辑在 gradio_app_sdxl_specific_id_low_vram.py(界面 + 生成入口)和 utils/pipeline.py(基于 SDXL 的管线改造),不想搭环境的话也可以直接运行仓库里的Comic_Generation.ipynb。
参数选择与常见坑提示
- 显存不够怎么办:用仓库提供的 low_vram 版本(本文启动命令),官方在 24GB 显存的 A10 + 30GB 内存上测试通过,20GB 以上显存基本可跑;首次启动会自动从 Hugging Face 下载 SDXL 底模和 PhotoMaker 权重,断网环境需提前备好转好的
data/目录。 - 角色一致性不满意:先调高 sa32/sa64;参考图模式下确认角色描述里带了
img触发词,且上传照片是清晰正脸。 - 期待视频功能会落空:README 明确列出"Video Generation Model 源码与权重"仍是待办项,目前能本地复现的是漫画/图像生成部分,写脚本时别把第二阶段算进依赖。
仓库内附带完整示例(examples/)和结果展示(results_examples/),克隆下来按上面三步装好依赖,就能生成自己的第一组一致性漫画分镜。
【免费下载链接】StoryDiffusionAccepted as [NeurIPS 2024] Spotlight Presentation Paper项目地址: https://gitcode.com/GitHub_Trending/st/StoryDiffusion
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考