🚀 TimeZero: 推論ガイド付き大規模ビジョン言語モデルによる時間的ビデオグラウンディング
TimeZeroは、時間的ビデオグラウンディング(TVG)のための推論ガイド付き大規模ビジョン言語モデル(LVLM)です。与えられた自然言語のクエリに対応するビデオ内の時間的セグメントを特定する能力に優れています。TimeZeroは、推論時にビデオと言語の関係を推論できる強化学習アプローチによってこれを達成します。
更新情報
- 2025-03-17: TimeZeroの初期リリース!コードと評価スクリプトが公開されました。
- 2025-03-17: TimeZeroがCharades-STAでSOTAの性能を達成しました!
概要
TimeZeroは、時間的ビデオグラウンディング(TVG)のための推論ガイド付き大規模ビジョン言語モデル(LVLM)です。与えられた自然言語のクエリに対応するビデオ内の時間的セグメントを特定する能力に優れています。TimeZeroは、推論時にビデオと言語の関係を推論できる強化学習アプローチによってこれを達成します。
主要な特徴:
- 強化学習による訓練: TimeZeroは完全に強化学習を用いて訓練されており、正確な時間的境界を生成する能力が向上しています。
- 推論時の推論能力: モデルは推論時に自発的な推論能力を発揮し、セグメント予測の根拠となる思考の連鎖を生成します。
- SOTAの性能: TimeZeroはCharades-STAベンチマークで新たなSOTAを達成しています。
このREADMEでは、TimeZeroの概要、セットアップ手順、訓練プロセス、評価ガイドラインについて説明します。
例:

訓練の可視化:

🚀 クイックスタート
セットアップ
conda create -n timezero python=3.11
conda env create -f environment.yml
conda activate timezero
📦 インストール
訓練
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は、以前の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 (ours) |
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 (ours) |
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}
}