poolcoach-analyzer / scripts /experiments /check_farzone_gates.bat
masterdanh's picture
feat(analyzer): hybrid detect imgsz 960 with 1280 first-frame pass
9694f55
Raw History Blame Contribute Delete
2.12 kB
@echo off
REM ============================================================
REM FAR-ZONE HAND-OFF 2 -- the clip-measured gates (28/08/2026)
REM Steps 1, 2 and 3 of design doc 7_FarZone_Detection_BallID.md
REM section 5, BRIEF 28/08 (hand-off 2).
REM
REM Why this run happens:
REM Unit tests can prove the two-band association and the rack
REM geometry on synthetic input, but three acceptance numbers
REM only exist in the footage: ball 5 wedged in the far right
REM pocket of shot_02, the 0.5 s hole in the cue track of
REM shot_05 against the far cushion, and which shots are break
REM racks. This driver measures those three on the SHIPPED
REM analyze front end and reports PASS/FAIL against the
REM thresholds the design doc fixed. It tunes nothing.
REM
REM Input clips: the ones the probe already cut on 28/08 with the
REM worker's own cut_clip, so these frames are the frames the
REM analyze job read:
REM D:\poolcoach\out_probe_farzone_20260828\clips\shot_*.mp4
REM Same corners as run A2b (14/08) and every regeneration since:
REM [[527.5,869.7],[1380.1,864.0],[1232.3,278.5],[673.0,272.8]]
REM
REM CPU environment: poolcoach-cv-env carries torch 2.12.1+cpu,
REM so there is no CUDA to fall back to. Expect a couple of
REM minutes for the five clips at imgsz 960.
REM
REM Nothing is written except farzone_gates.json next to the
REM clips. D:\Khoa luan is never opened.
REM
REM No app and no Redis has to be running: the driver loads YOLO
REM itself and imports scripts\cv_worker.py only for the shipped
REM constants, clip_frame_wh and comp_homography_cls.
REM ============================================================
setlocal
set PYTHONUTF8=1
set PYTHONDONTWRITEBYTECODE=1
set POOLCOACH_CV_DEVICE=cpu
set POOLCOACH_APP_ROOT=D:\poolcoach\poolcoach-app
set POOLCOACH_GATE_CLIPS=D:\poolcoach\out_probe_farzone_20260828\clips
set POOLCOACH_GATE_OUT=D:\poolcoach\out_probe_farzone_20260828
set PY=D:\poolcoach\poolcoach-cv-env\Scripts\python.exe
"%PY%" "D:\poolcoach\launchers\check_farzone_gates.py"
echo [check-farzone-gates] exit code %ERRORLEVEL%
endlocal