StoryDiffusion 一致性自注意力:3 个参数让同一角色贯穿整部漫画 📅 发布时间:2026/8/23 16:27:41 👁 浏览次数: StoryDiffusion 一致性自注意力3 个参数让同一角色贯穿整部漫画【免费下载链接】StoryDiffusionAccepted as [NeurIPS 2024] Spotlight Presentation Paper项目地址: https://gitcode.com/GitHub_Trending/st/StoryDiffusion想给同一个人物画一部连环漫画最麻烦的是从第三格开始人物就开始换脸。StoryDiffusion 的一致性自注意力机制就是为解决这个问题做的它在连续多帧图像之间共享角色的长相记忆让你写一组提示词就能得到人物始终统一的整本漫画。先用一条命令跑起来低显存模式也够用先在本地把仓库 clone 下来地址https://gitcode.com/GitHub_Trending/st/StoryDiffusion 装好依赖再启动脚本pip install -r requirements.txt python gradio_app_sdxl_specific_id_low_vram.py跑起来后浏览器会打开一个 Gradio 界面。左侧填角色描述和每格提示词一行就是一格点 Generate右边会陆续冒出一组图同一角色从第 1 格到最后一格长相保持一致。生成的图会自动存进 results/ 文件夹按时间戳分目录方便回头找。这套低显存脚本预先开了 VAE 分片和 CPU offload把模型临时挪到内存里跑省显存官方在 24GB 显卡上测过20GB 以上的显存一般都能跑。它凭什么记住角色一致性自注意力在做什么可以把这套机制想成桌上放一张参照照。生成时前几张图叫 ID 图负责定下角色长什么样模型会把这些特征存进一块叫 id_bank 的临时记忆后面每一格画的时候再从记忆里取出来让当前这格照着参照照画。这样人物的五官、发型就不会漂移这正是 StoryDiffusion 的一致性自注意力 想做的事。关键的存取逻辑在注意力处理器里思路只有两步if write: # 画前几张把角色特征存下来 self.id_bank[step] hidden_states else: # 画后面的格取出来共享 feats self.id_bank[step] hidden_states attn(query, feats)具体哪些像素能参与照抄由注意力掩码决定——掩码就是给注意力划的一道谁可以看谁的边界。它在 utils/gradio_utils.py 的 cal_attn_mask_xl 里按分辨率分档构建。打开界面看懂 3 个最该动的参数所有可调项都在启动脚本 gradio_app_sdxl_specific_id_low_vram.py 的调参折叠区里。新手重点看这三个参数控制什么默认sa32粗分辨率(32×32)下照抄参照照的概率0.5sa64细分辨率(64×64)下照抄参照照的概率0.5id_length拿前几张图当长相参照的数量1sa32 管大轮廓、sa64 管细节这正是它们在一致性自注意力 里起的作用两个都调到 1 会过度依赖参照照、背景容易糊调到 0 则回到各自独立生成人物开始漂移。id_length 决定参照图有几张建议 13。选好格子后输出还能自动拼成漫画排版结尾常垫一张未完待续的底图来衔接。跑不通或效果不对先查这几处显存爆了OOM。分辨率 768×768 加上角色、帧数一多就容易爆。处理把宽高降到 640减少角色或格子数确认你用的是 low_vram 脚本它才会开 CPU offload 省显存。人物还是换脸。多半是参照照不够准。处理把 id_length 提到 23sa32/sa64 保持在 0.5 左右别动并在角色描述里写清楚衣服、发型这些稳定特征。传了参考图却报错提示缺 img。这是 Photomaker 参考图模式的要求角色描述里没加触发词。处理把a man写成a man img、woman img这类带 img 的形式。小结一条命令加三个参数就能让同一个角色从头贯穿整部漫画这也是这套一致性自注意力 真正的价值所在。想换画风或看更新翻一下仓库里的 examples/ 示例目录和 update.md 就行。【免费下载链接】StoryDiffusionAccepted as [NeurIPS 2024] Spotlight Presentation Paper项目地址: https://gitcode.com/GitHub_Trending/st/StoryDiffusion创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考