🚀 TimeZero:基于推理引导大视觉语言模型的视频时间定位
TimeZero 是一款用于视频时间定位(TVG)的推理引导大视觉语言模型(LVLM),能够精准识别视频中与自然语言查询相对应的时间片段。
🔗 相关链接
📢 更新日志
- 2025-03-17:TimeZero 初始版本发布!代码和评估脚本现已开放。
- 2025-03-17:TimeZero 在 Charades-STA 数据集上达到了当前最优性能!
✨ 主要特性
- 强化学习训练:TimeZero 完全通过强化学习进行训练,显著提升了模型生成准确时间边界的能力。
- 推理时推理能力:模型在推理过程中展现出新兴的推理能力,能够生成思维链来证明其片段预测的合理性。
- 最优性能:TimeZero 在 Charades-STA 基准测试中创下了新的最优成绩。
🚀 快速开始
以下是使用 TimeZero 的快速指南,涵盖了环境搭建、训练和评估的步骤。
📦 安装指南
conda create -n timezero python=3.11
conda env create -f environment.yml
conda activate timezero
💻 使用示例
训练步骤
-
数据预处理:
下载数据集 Charades-STA 和 ActivityNet。
在训练前,需要对视频数据进行预处理:
bash preprocess_video.sh
请指定 Charades-STA 数据集的路径(视频文件、注释等)。
-
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 大幅超越了之前的最优方法。
方法 |
类型 |
R1@0.3 |
R1@0.5 |
R1@0.7 |
EaTR(VLP 最优) |
VLP |
- |
68.4 |
44.9 |
TimeSuite(LVLM 最优) |
SFT |
79.4 |
67.1 |
43.0 |
TimeZero(本方法) |
RL |
83.3 |
72.5 |
47.9 |
ActivityNet(微调后)
TimeZero 超越了之前的最优 LVLM 模型。
方法 |
类型 |
R1@0.3 |
R1@0.5 |
R1@0.7 |
EaTR(VLP 最优) |
VLP |
- |
58.18 |
37.64 |
TRACE(LVLM 最优) |
SFT |
54.0 |
37.7 |
24.0 |
TimeZero(本方法) |
RL |
68.6 |
47.3 |
26.9 |
🙏 致谢
感谢以下项目的作者所做出的贡献:
📄 引用
@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}
}