EvalCrafter

已接入

WorldFoundry 中的 EvalCrafter text-to-video 质量评测。

本页内容

评测目标

EvalCrafter 是 700-prompt text-to-video benchmark,覆盖视觉质量、内容对齐、运动质量和时间一致性。原 benchmark 报告 17 个客观指标和人工反馈;WorldFoundry 通过仓内 EvalCrafter runner 和 final_result.txt parser 暴露这些客观指标。

当你需要一个宽口径的视频生成诊断栈,而不是只评物理或只评 world model 时,可以使用 EvalCrafter。

资产与数据

WorldFoundry 已经把 prompt suite 和 runtime 放在仓内:

资产路径
Task YAMLworldfoundry/data/benchmarks/tasks/external/evalcrafter.yaml
Prompt suiteworldfoundry/data/benchmarks/assets/evalcrafter/prompt700.txt
Runnerworldfoundry/evaluation/tasks/execution/runners/evalcrafter/run_evalcrafter_official_runner.py
Runtime rootworldfoundry/evaluation/tasks/execution/runners/evalcrafter/runtime/evalcrafter

可选公开数据资产是 RaphaelLiu/EvalCrafter_T2V_Dataset,在 WorldFoundry 中记为 evalcrafter_dataset_assets

生成结果目录

生成视频目录必须是直接包含 700 个 prompt 视频的内层目录:

/path/to/evalcrafter/videos/
  0000.mp4
  0001.mp4
  0002.mp4
  ...
  0699.mp4

不要传入上层 experiment 目录,除非 0000.mp40699.mp4 直接位于该目录下。runner 会用 prompt700.txt 中的 prompt id 检查直接 .mp4 文件名。

依赖

WorldFoundry runner 不再启动 EvalCrafter 的 benchmark-local shell pipeline。它读取由 WorldFoundry metric stack 或已有官方 EvalCrafter 运行产生的 final_result.txt,然后写出 WorldFoundry scorecard 和 metric rows。

完整 metric 生产建议使用专用环境:

bash scripts/setup/model_env_install.sh --model evalcrafter

metric 资产放到 EvalCrafter checkpoint root,或设置 WORLDFOUNDRY_EVALCRAFTER_CHECKPOINTS_DIR。完整指标栈可能需要 DOVER、BLIP2、SDXL、Inception、VideoMAE、FlowNet2、VGG-Face、DeAOT/AOT、OCR、检测、分割和动作识别依赖。仅导入已有 final_result.txt 不需要所有重型 metric package。

常用变量:

变量用途
WORLDFOUNDRY_EVALCRAFTER_ROOT覆盖仓内 runtime root。
WORLDFOUNDRY_EVALCRAFTER_RESULTS_PATH指向 final_result.txt 或包含它的目录。
WORLDFOUNDRY_EVALCRAFTER_PROMPT_MANIFEST覆盖 prompt700.txt
WORLDFOUNDRY_EVALCRAFTER_SCORER_BACKEND默认 artifact,读取已有 final_result.txt

命令

先设置生成视频目录:

export WORLDFOUNDRY_GENERATED_ARTIFACT_DIR=/path/to/evalcrafter/videos
export WORLDFOUNDRY_BENCHMARK_OUTPUT_DIR=tmp/evalcrafter/run

final_result.txt 已通过 WORLDFOUNDRY_EVALCRAFTER_RESULTS_PATH 提供,或已经放在生成目录内时,对生成视频目录计分:

PYTHONPATH=. "${WORLDFOUNDRY_UNIFIED_PYTHON:-python}" \
  worldfoundry/evaluation/tasks/execution/runners/evalcrafter/run_evalcrafter_official_runner.py \
  --evalcrafter-root worldfoundry/evaluation/tasks/execution/runners/evalcrafter/runtime/evalcrafter \
  --videos-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
  --output-dir "${WORLDFOUNDRY_BENCHMARK_OUTPUT_DIR}" \
  --run-official \
  --json

导入已有 result 目录或 result 文件:

PYTHONPATH=. "${WORLDFOUNDRY_UNIFIED_PYTHON:-python}" \
  worldfoundry/evaluation/tasks/execution/runners/evalcrafter/run_evalcrafter_official_runner.py \
  --evalcrafter-root worldfoundry/evaluation/tasks/execution/runners/evalcrafter/runtime/evalcrafter \
  --results-dir /path/to/final_result.txt \
  --videos-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
  --output-dir tmp/evalcrafter/import \
  --json

公共 wrapper 也可以通过 benchmark manifest 调起集成 runner:

worldfoundry-eval zoo benchmark-run \
  --benchmark-id evalcrafter \
  --mode official-run \
  --generated-artifact-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
  --official-results-path /path/to/final_result.txt \
  --output-dir tmp/evalcrafter/zoo-run \
  --json

Python 导入

Python 侧复用:

from worldfoundry.evaluation.tasks.execution.runners.evalcrafter.evalcrafter_metrics import (
    load_upstream_results,
    normalized_score,
)
from worldfoundry.evaluation.tasks.execution.runners.evalcrafter.evalcrafter_official_impl import (
    normalize_evalcrafter_results,
    run_official_evalcrafter,
)

输出

输出目录包含:

文件含义
scorecard.json覆盖率、可比性信息和所有可用 EvalCrafter 指标。
raw_metric_table.jsonl每个指标一行。
per_sample_metrics.jsonl预留给 per-sample 行;当前 result-file 导入为空。
input_validation.json--run-official 计分前写出。
final_result.txtartifact backend 读取外部结果时会复制到输出目录。

主要指标是 visual_qualitytext_video_alignmentmotion_qualitytemporal_consistencyevalcrafter_total。组件指标包括 vqa_aestheticvqa_technicalinception_scoreclip_temp_scorewarping_errorface_consistency_scoreaction_scoremotion_ac_scoreflow_scoreclip_scoreblip_bleusd_scoredetection_scorecolor_scorecount_scoreocr_errorcelebrity_id_error

← Benchmark Hub