#!/bin/bash set -e SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" cd "$SCRIPT_DIR" SCENARIOS=( unitree_g1_pack_camera unitree_z1_dual_arm_cleanup_pencils unitree_z1_dual_arm_stackbox unitree_z1_dual_arm_stackbox_v2 unitree_z1_stackbox ) CASES=(case1 case2 case3 case4) total=0 success=0 fail=0 for scenario in "${SCENARIOS[@]}"; do for case in "${CASES[@]}"; do case_dir="${scenario}/${case}" gt_video="${case_dir}/${scenario}_${case}.mp4" pred_video=$(ls "${case_dir}"/output/inference/*_full_fs*.mp4 2>/dev/null | head -1) output_file="${case_dir}/psnr_result.json" total=$((total + 1)) echo "==========================================" echo "[${total}/20] ${case_dir}" if [ ! -f "$gt_video" ]; then echo " SKIP: GT video not found: $gt_video" fail=$((fail + 1)) continue fi if [ -z "$pred_video" ]; then echo " SKIP: pred video not found in ${case_dir}/output/inference/" fail=$((fail + 1)) continue fi echo " GT: $gt_video" echo " Pred: $pred_video" echo " Out: $output_file" if python3 psnr_score_for_challenge.py \ --gt_video "$gt_video" \ --pred_video "$pred_video" \ --output_file "$output_file"; then success=$((success + 1)) echo " DONE" else fail=$((fail + 1)) echo " FAILED" fi done done echo "==========================================" echo "Finished: ${success} success, ${fail} fail, ${total} total"