首页
/ Latte项目中Sky数据集FVD评估问题的技术解析

Latte项目中Sky数据集FVD评估问题的技术解析

2025-07-07 06:22:34作者:姚月梅Lane

在视频生成模型评估过程中,Frechet Video Distance(FVD)是一个重要的量化指标。本文针对Latte项目中使用Sky Timelapse数据集进行FVD评估时遇到的技术问题进行分析,并提供完整的解决方案。

数据集结构问题分析

原始Sky Timelapse数据集采用两级目录结构:

sky_train/
├── 08ug3bzhV8Y/
│   └── 08ug3bzhV8Y_1/
└── 3bufRYg7qxY/
    ├── 3bufRYg7qxY_1/
    └── 3bufRYg7qxY_2/

这种结构会导致FVD计算脚本报错"Video directories should be inside the root dir"。根本原因是Latte的评估脚本要求视频帧必须直接位于一级子目录下。

正确的数据结构规范

符合Latte评估要求的数据结构应为:

sky_train_fvd/
├── 08ug3bzhV8Y_1/
│   ├── frame_000001.jpg
│   └── frame_000002.jpg
└── 3bufRYg7qxY_1/
    ├── frame_000001.jpg
    └── frame_000002.jpg

分辨率处理要点

评估过程中另一个关键点是分辨率处理。原始Sky数据集并非256×256分辨率,需要特别注意:

  1. 训练阶段:Latte模型会自动进行中心裁剪和缩放处理
  2. 评估阶段:需要手动预处理,建议采用中心裁剪后缩放的策略

完整评估流程

  1. 数据预处理

    • 重组目录结构为单层
    • 执行中心裁剪和分辨率调整(建议使用多进程处理)
  2. 视频生成

torchrun --nnodes=1 --nproc_per_node=8 sample/sample_ddp_baseline.py \
--config configs/sky/sky_sample.yaml \
--ckpt ckpts/skytimelapse.pt \
--save_video_path output_videos/
  1. 视频转帧
python tools/convert_videos_to_frames.py \
-s output_videos \
-t output_frames --target_size 256
  1. FVD计算
python tools/calc_metrics_for_dataset.py \
--real_data_path processed_sky_train \
--fake_data_path output_frames \
--resolution 256 --metrics fvd2048_16f

常见问题排查

  1. FVD值异常偏高

    • 检查分辨率是否一致
    • 确认预处理方式(必须与训练时相同)
    • 验证生成视频的视觉质量
  2. 评估速度优化

    • 使用--use_cache 1参数
    • 适当增加GPU数量

通过以上步骤,可以确保在Latte项目中正确评估Sky数据集的生成效果。特别提醒,数据预处理的质量直接影响评估结果的可靠性,建议在处理前后都进行可视化检查。

登录后查看全文
热门项目推荐
相关项目推荐