🚀 TimeZero: 基于推理引导大视觉语言模型的视频时间定位
一款用于视频时间定位(TVG)的推理引导大视觉语言模型(LVLM)

📖 详细文档 • 🚀 快速开始 • 💻 使用示例
✨ 主要特性
- 强化学习训练:TimeZero完全使用强化学习进行训练,提升了其生成准确时间边界的能力。
- 推理时推理能力:该模型在推理过程中展现出新兴的推理能力,生成一系列思路来证明其片段预测的合理性。
- SOTA性能:TimeZero在Charades - STA基准测试中创下了新的SOTA记录。
🚀 快速开始
环境安装
conda create -n timezero python=3.11
conda env create -f environment.yml
conda activate timezero
训练步骤
1. 数据预处理
下载数据集 Charades - STA、ActivityNet。在训练之前,你需要预处理视频数据:
bash preprocess_video.sh
指定Charades - STA数据集的路径(视频文件、注释等)。
2. GRPO训练
cd scripts
bash run_grpo_video.sh
run_grpo_video.sh
#!/bin/bash
export DEBUG_MODE="false"
export LOG_PATH="./debug_log.txt"
torchrun --nproc_per_node="4" \
--nnodes="1" \
--node_rank="0" \
--master_addr="127.0.0.1" \
--master_port="12361" \
src/open_r1/grpo_video.py \
--deepspeed scripts/zero3_offload.json \
--output_dir $OUTDIR \
--model_name_or_path mllm/Qwen2.5-VL-7B-Instruct \
--preprocessed_data_path ./Charades_preprocessed_data_maxpix_3584 \
--train_data_path ./Charades/charades_annotation/train.json \
--eval_data_path ./Charades/charades_annotation/val.json \
--video_folder ./Charades/Charades_v1 \
--dataset_name xxx \
--max_prompt_length 8192 \
--max_completion_length 1024 \
--num_generations 8 \
--per_device_train_batch_size 1 \
--gradient_accumulation_steps 2 \
--logging_steps 1 \
--bf16 \
--torch_dtype bfloat16 \
--data_seed 42 \
--gradient_checkpointing true \
--attn_implementation flash_attention_2 \
--num_train_epochs 2 \
--run_name $WANDB_NAME \
--report_to wandb \
--save_steps 50 \
--save_only_model true
评估模型
训练完成后,评估模型的性能:
bash scripts/evaluate.sh
evaluate.sh
python evaluate.py --model_base <path_to_your_trained_model> --dataset <charades or activitynet>
⚠️ 重要提示
评估脚本 (evaluate.py
) 需要实现加载你的模型、处理测试数据并计算相关指标(R1@0.3、R1@0.5、R1@0.7等)。
📈 实验结果
Charades - STA(微调后)
TimeZero大幅超越了之前的SOTA方法。
方法 |
类型 |
R1@0.3 |
R1@0.5 |
R1@0.7 |
EaTR (VLP sota) |
VLP |
- |
68.4 |
44.9 |
TimeSuite (LVLM sota) |
SFT |
79.4 |
67.1 |
43.0 |
TimeZero (本方法) |
RL |
83.3 |
72.5 |
47.9 |
ActivityNet(微调后)
TimeZero超越了之前的SOTA LVLM模型。
方法 |
类型 |
R1@0.3 |
R1@0.5 |
R1@0.7 |
EaTR (VLP sota) |
VLP |
- |
58.18 |
37.64 |
TRACE (LVLM sota) |
SFT |
54.0 |
37.7 |
24.0 |
TimeZero (本方法) |
RL |
68.6 |
47.3 |
26.9 |
📚 详细文档
更新记录
- 2025 - 03 - 17:TimeZero初始版本发布!代码和评估脚本现已可用。
- 2025 - 03 - 17:TimeZero在Charades - STA上达到了SOTA性能!
概述
TimeZero是一款用于视频时间定位(TVG)的推理引导大视觉语言模型(LVLM)。它擅长识别视频中与给定自然语言查询相对应的时间片段。TimeZero完全通过强化学习方法实现这一点,该方法允许模型在推理过程中对视频 - 语言关系进行推理。
示例

训练可视化

🔧 技术细节
本部分详细描述了TimeZero的技术实现,包括强化学习训练的具体策略、推理时推理能力的实现机制等。如果你对模型的算法细节感兴趣,可以深入研究代码中的相关部分。
🤝 贡献指南
如果你想为TimeZero项目做出贡献,可以参考以下步骤:
- 提出问题或建议
- 提交代码更改
- 参与讨论和审查
📄 许可证
请参考项目的许可证文件以获取详细的许可信息。
🙏 致谢
我们感谢以下项目的作者所做出的贡献:
📖 引用
@article{wang2025timezero,
title={TimeZero: Temporal Video Grounding with Reasoning-Guided LVLM},
author={Wang, Ye and Xu, Boshen and Yue, Zihao and Xiao, Zihan and Wang, Ziheng and Zhang, Liang and Yang, Dingyi and Wang, Wenxuan and Jin, Qin},
booktitle={arxiv},
year={2025}
}