Kevin-thu/StoryMem View GitHub Homepage for Latest Official Releases
一种记忆条件视频生成框架,用于创建具有跨镜头一致性的连贯多镜头长篇叙事视频
NOASSERTIONPythonStoryMemKevin-thu 0.6k Last Updated: December 26, 2025
StoryMem:具有记忆的多镜头长视频叙事
概述
StoryMem 是由南洋理工大学 (NTU) S-Lab 和字节跳动研究人员开发的一项尖端人工智能框架,通过实现具有电影级质量的连贯、多镜头叙事视频,彻底改变了长视频生成。该系统解决了人工智能视频生成中的一个基本挑战:在扩展叙事场景中跨多个镜头保持视觉一致性和叙事连贯性。
核心创新
记忆到视频 (M2V) 范式
该项目引入了一种新颖的记忆到视频 (M2V) 设计,该设计将预训练的单镜头视频扩散模型转化为多镜头叙事者。该范式受到人类记忆机制的启发,将长视频叙事重新构建为以显式视觉记忆为条件的迭代镜头合成。
关键技术组件
- 动态记忆库:维护一个由先前生成的镜头中提取的关键帧组成的紧凑、动态更新的记忆库
- 记忆注入:通过潜在拼接和负 RoPE (旋转位置嵌入) 移位将存储的记忆注入单镜头视频扩散模型
- LoRA 微调:仅通过低秩自适应 (LoRA) 微调实现高效适应
- 语义关键帧选择:采用智能关键帧选择策略和美学偏好过滤,以确保在整个生成过程中记忆信息丰富且稳定
技术架构
基础模型
StoryMem 基于 Wan2.2 视频生成框架:
- Wan2.2 T2V-A14B:文本到视频 MoE (专家混合) 模型
- Wan2.2 I2V-A14B:图像到视频 MoE 模型
- StoryMem M2V LoRA:记忆条件微调模型
生成流程
系统通过迭代过程运行:
- 初始镜头生成:使用 T2V 模型生成第一个镜头作为初始记忆
- 迭代镜头合成:生成以记忆库为条件的后续镜头
- 关键帧提取:自动从每个生成的镜头中提取关键帧
- 记忆更新:用新关键帧更新记忆库以进行下一次迭代
- 跨镜头一致性:保持角色外观、场景元素和叙事流程
高级功能
MI2V (记忆 + 图像到视频)
通过在没有场景切换的情况下,以记忆和下一帧的第一帧为条件,实现相邻镜头之间的平滑过渡。这创造了叙事流程的无缝连续性。
MM2V (记忆 + 运动到视频)
支持以前 5 帧运动为条件的记忆,通过整合时间运动信息提供更平滑的镜头过渡。
MR2V (记忆 + 参考到视频)
允许用户提供参考图像作为初始记忆,从而实现具有从一开始就确定的特定角色或背景的定制故事生成。
ST-Bench:评估基准
为了促进全面评估,研究人员引入了 ST-Bench,这是一个用于多镜头视频叙事的多元化基准,包含:
- 30 个长故事脚本,涵盖各种风格
- 每个故事8-12 个镜头级文本提示
- 总共 300 个详细视频提示,描述角色、场景、动态、镜头类型和摄像机运动
- 场景切换指示器,用于正确处理镜头过渡
性能成就
StoryMem 在现有方法上显示出显著的改进:
- 跨镜头一致性比强基线提高 28.7%
- 卓越的视觉质量:保持高美学标准和提示遵循性
- 高效生成:多镜头输出的单镜头计算成本
- 长达一分钟的视频:能够生成超过 60 秒的连贯叙事
技术规格
系统要求
- Python 3.11
- 支持 CUDA 的 GPU
- Flash Attention 支持
- 足够的 VRAM 用于视频扩散模型
关键参数
- 输出分辨率:默认 832×480,可配置
- 最大记忆大小:默认 10 个镜头,可调
- 记忆管理:通过语义过滤进行动态更新
- 随机种子:可重现的生成支持
用途和应用
- 叙事视频创作:生成具有多个场景的完整故事
- 角色一致的内容:在扩展序列中保持角色身份
- 定制叙事:使用参考图像进行个性化叙事
- 电影制作:创作具有专业镜头构图和过渡的视频
- 教育内容:生成具有顺序场景的解释性视频
研究影响
该框架通过以下方式在人工智能视频生成领域取得了重大进展:
- 弥合单镜头质量与多镜头一致性之间的差距
- 引入用于时间连贯性的实用记忆机制
- 通过 LoRA 提供高效的微调方法
- 通过 ST-Bench 建立评估标准
- 实现可访问的长视频创作
实现细节
故事脚本格式
系统使用 JSON 格式的故事脚本,包含:
- story_overview:叙事摘要
- scene_num:顺序场景索引
- cut:场景切换指示器 (True/False)
- video_prompts:镜头级文本描述
生成工作流程
- 加载基础模型 (T2V/I2V) 和 LoRA 权重
- 解析带有镜头描述的故事脚本
- 生成初始镜头或加载参考图像
- 进入迭代生成循环
- 提取和过滤关键帧
- 更新记忆库
- 生成以记忆为条件的下一个镜头
- 重复直到故事完成
未来方向
该框架为以下方面开辟了道路:
- 扩展视频长度功能
- 增强角色定制
- 改进的时间连贯性机制
- 多角色故事处理
- 交互式叙事应用
引用
@article{zhang2025storymem,
title={{StoryMem}: Multi-shot Long Video Storytelling with Memory},
author={Zhang, Kaiwen and Jiang, Liming and Wang, Angtian and
Fang, Jacob Zhiyuan and Zhi, Tiancheng and Yan, Qing and
Kang, Hao and Lu, Xin and Pan, Xingang},
journal={arXiv preprint},
volume={arXiv:2512.19539},
year={2025}
}
资源
- 论文:arXiv:2512.19539
- 项目页面:kevin-thu.github.io/StoryMem
- 代码库:GitHub - Kevin-thu/StoryMem
- 模型权重:Hugging Face - Kevin-thu/StoryMem
致谢
StoryMem 基于 Wan2.2 框架,代表了 NTU S-Lab 和字节跳动之间的合作研究,推动了人工智能驱动的视频叙事领域的最新进展。