Index-AniSora 是由Bilibili开发并开源的动漫视频生成模型,托管在GitHub上。它以CogVideoX-5B和Wan2.1-14B为基础模型,支持生成多样化的动漫风格视频,包括动画剧集、国产原创动画、漫画改编、VTuber内容、动漫PV和恶搞风格视频等。该项目结合了IJCAI’25接受的论文成果,提供了完整的训练和推理代码,支持华为昇腾910B NPU硬件。Index-AniSora通过超千万高质量数据集和时空掩码模块,实现图像到视频生成、帧插值和局部引导动画等功能。它的评估数据集包含948个动画视频片段,搭配Qwen-VL2生成的文本提示,确保文本与视频内容精准对齐。项目完全开源,Apache 2.0许可,鼓励社区参与开发。
功能列表
- 支持生成多样化动漫风格视频,覆盖动画剧集、漫画改编、VTuber内容等。
- 提供图像到视频生成功能,基于单张图像生成动态视频。
- 支持帧插值,生成关键帧、中间帧和末尾帧,优化动画流畅度。
- 提供局部图像引导动画功能,允许用户指定区域生成动画。
- 包含948个动画视频片段的评估数据集,搭配手动校正的文本提示。
- 支持华为昇腾910B NPU,优化训练和推理性能。
- 提供强化学习优化框架(RLHF),提升动漫风格输出质量。
- 发布完整训练和推理代码,路径为
anisoraV1_train_npu
和anisoraV2_npu
。 - 提供蒸馏加速推理技术,降低计算成本,保持生成质量。
使用帮助
安装流程
Index-AniSora 是一个开源项目,托管在 GitHub 上,用户需要克隆仓库并配置环境以使用其功能。以下是详细的安装和使用步骤:
- 克隆仓库
在终端运行以下命令克隆 Index-AniSora 仓库:git clone https://github.com/bilibili/Index-anisora.git cd Index-anisora
- 环境配置
项目依赖 Python 环境和特定深度学习框架。推荐使用 Python 3.8 或以上版本。安装依赖:pip install -r requirements.txt
确保安装 PyTorch(支持昇腾 NPU 或 GPU)、CogVideoX 和 Wan2.1 相关依赖。如果使用华为昇腾910B NPU,需安装昇腾开发套件(如 CANN)。具体安装指南参考官方文档或华为昇腾社区。
- 下载模型权重
用户需要申请 AniSoraV1 或 AniSoraV2 模型权重。填写官方提供的申请表(PDF格式),发送至邮箱yangsiqian@bilibili.com
或xubaohan@bilibili.com
。审核通过后,获取权重下载链接。下载后,将权重文件放置在仓库的指定目录(如anisoraV2_npu
)。 - 运行推理代码
项目提供完整的推理代码,位于anisoraV1_train_npu
或anisoraV2_npu
目录。运行示例推理命令:python inference.py --model_path anisoraV2_npu --prompt "一个穿和服的少女在樱花树下跳舞" --output output_video.mp4
参数说明:
--model_path
:指定模型权重路径。--prompt
:输入文本提示,描述期望的动画场景。--output
:指定输出视频文件路径。
- 训练模型
如果需要自定义训练,项目提供训练代码(anisoraV1_train_npu
)。准备数据集后,运行训练脚本:python train.py --data_path your_dataset --output_dir trained_model
数据集需符合项目要求,推荐使用与评估数据集类似的动画视频片段,搭配文本提示。训练支持华为昇腾 NPU 和 GPU。
主要功能操作
- 图像到视频生成
用户上传一张静态图像(如动漫角色图),通过文本提示生成动态视频。例如,输入图像为“忍者角色”,提示为“忍者在森林中战斗”,模型将生成相应动画。操作步骤:- 准备图像文件(如 PNG/JPG 格式)。
- 编写详细的文本提示,描述动作、场景和风格。
- 运行推理脚本,指定图像路径和提示:
python inference.py --image_path input_image.png --prompt "忍者在森林中战斗" --output ninja_video.mp4
- 检查生成的视频文件,调整提示以优化效果。
- 帧插值
帧插值功能用于生成动画的中间帧,提升视频流畅度。用户可提供关键帧(如起始帧和结束帧),模型自动生成中间过渡帧。操作步骤:- 准备关键帧图像,放置在指定目录。
- 运行帧插值脚本:
python frame_interpolation.py --keyframe_dir keyframes --output interpolated_video.mp4
- 检查输出视频,确保帧间过渡自然。
- 局部图像引导动画
用户可指定图像的特定区域生成动画。例如,固定背景,仅让角色移动。操作步骤:- 提供图像和掩码文件(掩码指定动画区域)。
- 运行局部引导脚本:
python local_guided_animation.py --image_path scene.png --mask_path mask.png --prompt "角色在背景前挥手" --output guided_video.mp4
- 检查输出,确保动画区域符合预期。
- 评估数据集使用
项目提供948个动画视频片段的评估数据集,用于测试模型性能。用户需申请数据集访问权限(同模型权重申请流程)。获取后,可运行评估脚本:python evaluate.py --dataset_path anisora_benchmark --model_path anisoraV2_npu
评估结果包括动作一致性、风格一致性等指标,适用于模型优化。
特色功能操作
- 强化学习优化(RLHF)
AniSoraV1.0 引入了首个动漫视频生成 RLHF 框架,提升生成质量。用户可通过提供的 RL 优化脚本微调模型:python rlhf_optimize.py --model_path anisoraV1_npu --data_path rlhf_data --output optimized_model
RLHF 数据需自行准备,推荐包含高质量动漫视频和评分。
- 华为昇腾 NPU 支持
项目专为华为昇腾910B NPU 优化,适合国内用户。确保安装昇腾开发套件后,运行推理或训练时指定 NPU 设备:python inference.py --device npu --model_path anisoraV2_npu
应用场景
- 动画短片制作
创作者可使用 Index-AniSora 生成高质量动漫短片。例如,输入一张角色设计图和描述“角色在未来城市飞奔”,即可生成动态短片,适用于独立动画制作。 - VTuber内容创作
VTuber 主播可利用模型生成虚拟形象的动态视频,如“虚拟偶像在舞台表演”,快速制作直播或短视频内容。 - 漫画改编预览
漫画家可将静态漫画帧转化为动态视频,预览改编动画效果,验证故事板流畅度。 - 教育与研究
研究人员可使用评估数据集和训练代码,探索动漫视频生成技术,优化模型或开发新算法。
QA
- 如何获取模型权重和数据集?
填写申请表(PDF格式),发送至yangsiqian@bilibili.com
或xubaohan@bilibili.com
。审核通过后,获取下载链接。 - 是否支持非昇腾硬件?
是的,项目支持 GPU 环境,但昇腾 NPU 性能更优。确保安装兼容的 PyTorch 版本。 - 生成的视频质量如何?
模型基于 CogVideoX 和 Wan2.1 训练,结合 RLHF 优化,生成视频在动作和风格一致性上达到先进水平,适合多种动漫场景。 - 是否需要编程经验?
需要基础 Python 知识运行脚本。非开发者可参考文档,使用预训练模型生成视频。