Spaces:
Running
Running
File size: 1,608 Bytes
b4d728d 03b0173 b4d728d 03b0173 b4d728d 54708e8 03b0173 b4d728d 54708e8 03b0173 54708e8 b4d728d 03b0173 54708e8 03b0173 b4d728d 03b0173 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | """Task: Future Frame Prediction (scene-level)."""
from __future__ import annotations
from typing import Any, Dict
from src.tasks.base import TaskPlugin
def validate_scene(_scene_dir: str) -> None:
return None
def evaluate_scene(_scene_dir: str, _gt_scene: Any) -> Dict[str, float]:
return {"psnr": 0.0, "ssim": 0.0, "lpips": 0.0, "pmf": 0.0}
def load_gt_scene(scene_id: str, gt_dir: str) -> Any:
return {"scene_id": scene_id, "gt_dir": gt_dir}
TASK = TaskPlugin(
name="task_future_prediction",
display_name="Future Frame Prediction",
description="Predict future frames from historical video frames. Evaluated with PSNR / SSIM / LPIPS / PMF.",
expected_scene_layout=(
"```\n"
"<scene_id>.zip\n"
"βββ CineCamera_0/\n"
"β βββ rgb/\n"
"β βββ 0075.jpg\n"
"β βββ ...\n"
"βββ CineCamera_1/\n"
"β βββ rgb/\n"
"βββ ... (must match the GT camera set except for CineCamera_Moving)\n"
"\n"
"The system generates a uid for each submission (the submission_id), and the Worker extracts the archive to\n"
" /data/tmp_inference_output/<uid>/<benchmark>/<scene_id>_trajectory/\n"
"Each camera must provide at least the second-half GT frames with matching filenames.\n"
"```"
),
validate_scene_fn=validate_scene,
evaluate_scene_fn=evaluate_scene,
load_gt_scene_fn=load_gt_scene,
primary_metric="psnr",
higher_is_better=True,
leaderboard_columns=["psnr", "ssim", "lpips", "pmf"],
)
|