🚀 SkyCaptioner-V1:结构化视频字幕生成模型
SkyCaptioner-V1 是一款结构化视频字幕生成模型,能够高效且全面地为视频数据添加标签。它集成了专业的子专家模型和多模态大语言模型(MLLMs),结合人工标注,有效解决了普通字幕生成器在捕捉专业电影相关细节方面的局限性。
📑 技术报告 · 👋 在线演示 · 💬 Discord 社区 · 🤗 Hugging Face · 🤖 ModelScope · 🌐 GitHub
🚀 快速开始
欢迎来到 SkyCaptioner-V1 仓库!在这里,你可以找到结构化视频字幕生成模型的权重和推理代码,用于高效全面地为视频数据添加标签。
🔥🔥🔥 最新消息!
- 2025 年 4 月 21 日:👋 我们发布了 SkyCaptioner-V1 模型的 vllm 批量推理代码和字幕融合推理代码。
- 2025 年 4 月 21 日:👋 我们发布了首个镜头感知视频字幕生成模型 SkyCaptioner-V1 模型。更多详情,请查看我们的 论文。
📑 待办事项列表
- SkyCaptioner-V1
- [x] 检查点
- [x] 批量推理代码
- [x] 字幕融合方法
- [ ] Web 演示(Gradio)
✨ 主要特性
结构化字幕生成框架
我们的视频字幕生成模型能够捕捉多维度的细节:
- 主体信息:包括外观、动作、表情、位置和层次分类。
- 镜头元数据:如镜头类型(特写、远景等)、镜头角度、镜头位置、相机运动、环境、光照等。
子专家模型集成
- 镜头字幕生成器:高精度分类镜头类型、角度和位置。
- 表情字幕生成器:分析面部表情、情感强度和时间动态。
- 相机运动字幕生成器:跟踪 6DoF 相机运动和复合运动类型。
训练流程
- 在从 1000 万个原始样本中精心挑选的约 200 万个高质量、概念均衡的视频上进行训练。
- 在 Qwen2.5-VL-7B-Instruct 上进行微调,全局批量大小为 512,使用 32 个 A800 GPU。
- 使用 AdamW 优化器(学习率:1e-5)进行 2 个 epoch 的优化。
动态字幕融合
- 根据应用场景(T2V/I2V)调整输出长度。
- 采用大语言模型融合结构化字段,为下游任务生成自然流畅的字幕。
📊 基准测试结果
SkyCaptioner-V1 在关键的电影特定字幕生成任务中,特别是在 镜头语言理解 和 特定领域精度 方面,相较于现有模型有显著提升。这些优势源于其结构化架构和专家指导的训练:
- 卓越的镜头语言理解能力
- 我们的字幕生成模型在镜头类型、镜头角度和镜头位置的准确率上分别比 Qwen2.5-VL-72B 高出 11.2%、16.1% 和 50.4%。这是因为 SkyCaptioner-V1 的专业镜头分类器优于缺乏电影领域微调的通用 MLLMs。
- 与 Tarsier2-recap-7B 相比,相机运动准确率提高了 28.5%(88.8% 对 41.5%):其 6DoF 运动分析和主动学习流程解决了复合运动(如跟踪 + 平移)中的歧义问题,这是通用字幕生成器面临的挑战。
- 高特定领域精度
- 表情准确率:达到 68.8%,而 Tarsier2-recap-7B 为 54.3%,利用时间感知 S2D 框架捕捉动态面部变化。
指标 |
Qwen2.5-VL-7B-Ins. |
Qwen2.5-VL-72B-Ins. |
Tarsier2-recap-7B |
SkyCaptioner-V1 |
平均准确率 |
51.4% |
58.7% |
49.4% |
76.3% |
镜头类型 |
76.8% |
82.5% |
60.2% |
93.7% |
镜头角度 |
60.0% |
73.7% |
52.4% |
89.8% |
镜头位置 |
28.4% |
32.7% |
23.6% |
83.1% |
相机运动 |
62.0% |
61.2% |
45.3% |
85.3% |
表情 |
43.6% |
51.5% |
54.3% |
68.8% |
TYPES_type |
43.5% |
49.7% |
47.6% |
82.5% |
TYPES_sub_type |
38.9% |
44.9% |
45.9% |
75.4% |
外观 |
40.9% |
52.0% |
45.6% |
59.3% |
动作 |
32.4% |
52.0% |
69.8% |
68.8% |
位置 |
35.4% |
48.6% |
45.5% |
57.5% |
是否为主主体 |
58.5% |
68.7% |
69.7% |
80.9% |
环境 |
70.4% |
72.7% |
61.4% |
70.5% |
光照 |
77.1% |
80.0% |
21.2% |
76.5% |
📦 模型下载
我们的 SkyCaptioner-V1 模型可以从 SkyCaptioner-V1 模型 下载。
我们使用 Qwen2.5-32B-Instruct 作为字幕融合模型,根据应用需求智能组合结构化字幕字段,生成密集或稀疏的最终字幕。
# 下载 SkyCaptioner-V1
huggingface-cli download Skywork/SkyCaptioner-V1 --local-dir /path/to/your_local_model_path
# 下载 Qwen2.5-32B-Instruct
huggingface-cli download Qwen/Qwen2.5-32B-Instruct --local-dir /path/to/your_local_model_path2
📚 详细文档
📦 安装指南
Linux 系统安装指南
我们建议使用 Python 3.10 和 CUDA 12.2 进行手动安装。
pip install -r requirements.txt
💻 使用示例
基础用法
首先克隆仓库:
git clone https://github.com/SkyworkAI/SkyReels-V2
cd skycaptioner_v1
获取 SkyCaptioner-V1 的结构化字幕
export SkyCaptioner_V1_Model_PATH="/path/to/your_local_model_path"
python scripts/vllm_struct_caption.py \
--model_path ${SkyCaptioner_V1_Model_PATH} \
--input_csv "./examples/test.csv" \
--out_csv "./examepls/test_result.csv" \
--tp 1 \
--bs 4
使用 Qwen2.5-32B-Instruct 模型进行 T2V/I2V 字幕融合
export LLM_MODEL_PATH="/path/to/your_local_model_path2"
python scripts/vllm_fusion_caption.py \
--model_path ${LLM_MODEL_PATH} \
--input_csv "./examples/test_result.csv" \
--out_csv "./examples/test_result_caption.csv" \
--bs 4 \
--tp 1 \
--task t2v
⚠️ 重要提示
如果你想获取 i2v 字幕,只需在命令中将 --task t2v
改为 --task i2v
。
致谢
我们感谢 Qwen2.5-VL、tarsier2 和 vllm 仓库的贡献者,感谢他们的开放研究和贡献。
引用
@misc{chen2025skyreelsv2infinitelengthfilmgenerative,
author = {Guibin Chen and Dixuan Lin and Jiangping Yang and Chunze Lin and Juncheng Zhu and Mingyuan Fan and Hao Zhang and Sheng Chen and Zheng Chen and Chengchen Ma and Weiming Xiong and Wei Wang and Nuo Pang and Kang Kang and Zhiheng Xu and Yuzhe Jin and Yupeng Liang and Yubing Song and Peng Zhao and Boyuan Xu and Di Qiu and Debang Li and Zhengcong Fei and Yang Li and Yahui Zhou},
title = {Skyreels V2:Infinite-Length Film Generative Model},
year = {2025},
eprint={2504.13074},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2504.13074}
}
📄 许可证
本项目采用 Apache-2.0 许可证。