Benchmarking and validation evidence¶
GazeForge separates software smoke tests, known-truth simulation, and empirical scientific validation.
Passing ordinary synthetic smoke tests proves that an analysis path executes as specified; it does not establish accuracy. Known-truth simulation is stronger for method validation because the latent target is exactly known, but it still establishes recovery only under the simulator's frozen generative assumptions. Empirical validity on devices, participants, or external datasets requires separate human/device data and the relevant leakage-aware design.
AOI validation¶
evaluate_aoi_detection() compares AI AOI proposals with expert/reference AOIs using one-to-one
Hungarian matching and an explicit IoU threshold. It reports precision, recall, F1, mean matched
IoU, and semantic-label agreement.
fixation_assignment_agreement() compares the downstream fixation-to-AOI labels themselves. This
is important because small geometric differences do not necessarily alter substantive gaze
metrics, while some apparently similar boundaries can change assignment near AOI edges.
aoi_boundary_sensitivity() expands and contracts AOIs to quantify how robust fixation assignment
is to plausible boundary uncertainty.
Synthetic evidence classes¶
GazeForge keeps two synthetic roles separate:
simulate_gaze()supports examples, smoke tests, and pipeline checks. Reports using this role should retainsynthetic-smoke-onlysemantics.simulate_known_truth_gaze()creates a separately fingerprinted latent truth, artifact ledger, corrupted observed signal, and event truth. Itssynthetic-known-truthreference strength can support recovery-error claims under the frozen simulator assumptions, but never an empirical human/device validity claim.
See Known-truth synthetic benchmarks for the complete contract and recovery-certificate boundary.
Frozen reports¶
BenchmarkDatasetCard records benchmark provenance, license, sampling rates, split unit, and the
intended validation scope. build_benchmark_report() creates a deterministic report fingerprint,
and freeze_benchmark_report() refuses to overwrite a previous report unless explicitly told to.
Synthetic recovery certificates intentionally use their own schema rather than the public Frozen empirical-evidence report schema. A passing synthetic certificate must not be presented as empirical validation of event classification, semantic AOI accuracy, GP3 validity, or subject-independent generalisation.
Evidence hierarchy¶
- Synthetic implementation smoke tests.
- Synthetic known-truth recovery validation across controlled error surfaces.
- Internal manually annotated eye-tracking recordings with participant-held-out evaluation.
- Public benchmark datasets with frozen splits and dataset-held-out testing.
- Dedicated native-rate validation for GP3-class recordings.
- Cross-domain AOI validation across static ads, interfaces, and other stimulus families.