La interfaz está localizada; las descripciones y documentos de las Skills se traducen automáticamente con IA a su idioma. El código, los comandos, rutas y términos técnicos se mantienen en el original, y prevalece el documento del autor.
Explorar Skills
Datos e investigación · SKILL.md

evaluation-toolkit

evaluation-toolkit

Evaluate PySOT benchmark result layouts, metric families, eval commands, hp_search, and dataset adapter troubleshooting.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentación de la Skill

GitHub

name: evaluation-toolkit description: "Evaluate PySOT benchmark result layouts, metric families, eval commands, hp_search, and dataset adapter troubleshooting." disable-model-invocation: true metadata: disco-role: operating license: Apache 2.0

Evaluation Toolkit

Use this sub-skill when the task is about evaluating already-generated PySOT tracker results, checking benchmark result layouts, selecting the metric family, running the PySOT evaluation CLI, interpreting OPE/AR/EAO/F1 output, using hyperparameter-search result conventions, or debugging dataset/result adapter failures.

Route here for

  • “Evaluate PySOT results” or “run eval.py” on OTB, UAV, NFS, LaSOT, VOT short-term, or VOT2018-LT style outputs.
  • Result-tree questions such as tracker directory names, per-video result files, VOT baseline/ or longterm/ folders, GOT-10k server-style files, or --tracker_prefix matching.
  • Metric-family questions: OPE success/precision/norm precision, VOT accuracy/robustness/EAO, and VOT-LT precision/recall/F1.
  • Safe preflight checks that do not require benchmark images, snapshots, CUDA, or full metric computation.
  • Hyperparameter-search planning and result naming for penalty-k, learning rate, window influence, and search-region sweeps.

Route elsewhere

  • To generate tracker result files from snapshots/videos/datasets, use sibling sub-skill ../tracking-inference/.
  • To train a snapshot or prepare training crops/annotations, use sibling sub-skill ../training-data/.
  • To choose or edit model/config families before running tracking, use sibling sub-skill ../configuration-models/.
  • For cross-cutting install/import issues before any workflow, use the root skill troubleshooting and environment checks.

Operating workflow

  1. Identify the benchmark family and result root.

    • PySOT’s evaluation CLI expects a tracker root shaped like <tracker_path>/<dataset>/<tracker_name>/....
    • The default tracker root from PySOT tracking runs is usually results/.
    • Full metric evaluation also expects benchmark data and JSON sidecars under testing_dataset/<dataset>/; the bundled validator below only checks result-tree shape.
  2. Read references/datasets-and-results.md for supported dataset names, JSON sidecars, and expected tracker result files.

  3. Run the safe validator before full evaluation:

    python scripts/validate_results_layout.py \
      --tracker-path results \
      --dataset OTB100 \
      --tracker-prefix siamrpn
    

    This does not import PySOT, open images, require CUDA, or compute metrics. It fails clearly when the dataset result directory or prefix-selected tracker directories are missing, and it prints an evaluation command skeleton when PySOT’s Python evaluator supports the dataset family.

  4. Read references/metrics.md to map the dataset family to OPEBenchmark, AccuracyRobustnessBenchmark, EAOBenchmark, or F1Benchmark and to interpret printed columns.

  5. Read references/workflows.md for concrete eval and hp_search command templates, flag semantics, and VOT/server benchmark notes.

  6. If validation or evaluation fails, use references/troubleshooting.md before changing code. Common fixes are prefix correction, moving result directories under the expected dataset root, installing the legacy toolkit.utils.region extension with Cython<3, and reducing multiprocessing to --num 1.

Safe versus full checks

Safe checks in this sub-skill:

  • CLI help/import checks for the evaluation and hyperparameter-search scripts.
  • Import of benchmark classes and the region extension after the toolkit is installed.
  • Result-tree validation with the bundled script.
  • Small synthetic result-layout fixtures.

Full metric evaluation is not a safe default check. It requires user-supplied benchmark datasets, JSON sidecars, tracker result files, and a compatible Python environment. Hyperparameter search additionally requires a model snapshot, PySOT config, benchmark images, and CUDA because the source workflow loads the model with .cuda().

Input/output contract

Inputs usually needed:

  • tracker_path: root containing dataset result directories, for example results.
  • dataset: one of the supported dataset family names described in the references.
  • tracker_prefix: optional prefix used to select tracker directories under <tracker_path>/<dataset>/.
  • For full evaluation only: benchmark data at testing_dataset/<dataset>/ with <dataset>.json sidecar and image/ground-truth files referenced by the sidecar.

Outputs:

  • Validator: actionable pass/fail report and an evaluation command skeleton.
  • PySOT evaluation: terminal tables for success/precision/norm precision, accuracy/robustness/lost/EAO, or precision/recall/F1 depending on dataset family.
  • Hyperparameter search: many tracker result directories named from snapshot and parameter values under the hp-search result root; evaluate or compare them like ordinary tracker directories after the expensive sweep finishes.
Skills guardadas