jakies pierdoly
This commit is contained in:
1 parent
6a13b1ef04
commit
ae7dc34053
6 files changed
+136
-67
No files matched your search
@@ -109,14 +109,18 @@ Each run writes `results/gaze_exercises_<timestamp>.csv` plus a sidecar
|
||||
every recording with `--subject-id` and, when varying setup, `--session-tag`:
|
||||
|
||||
```powershell
|
||||
python gaze_exercises.py --subject-id you --session-tag laptop_50cm --screen-diagonal 15.6 --viewing-distance 50
|
||||
python gaze_exercises.py --subject-id you --session-tag monitor_90cm --screen-diagonal 27 --viewing-distance 90
|
||||
python gaze_exercises.py --list-monitors
|
||||
python gaze_exercises.py --subject-id you --session-tag laptop_50cm --monitor 1 --viewing-distance 50
|
||||
python gaze_exercises.py --subject-id you --session-tag monitor_90cm --monitor 2 --viewing-distance 90
|
||||
```
|
||||
|
||||
`--screen-diagonal` (inches) and `--viewing-distance` (cm) must match the
|
||||
physical setup for that recording — they drive the pixel-to-degree conversion
|
||||
used for both the logged error and velocity columns, so an incorrect value
|
||||
silently skews every derived feature in that session.
|
||||
`--monitor` picks which physical display to run on and auto-detects its
|
||||
diagonal; pass `--screen-diagonal` explicitly only if auto-detection reports
|
||||
`unknown size` for that display. `--viewing-distance` (cm) has no way to be
|
||||
auto-detected and must match the physical setup for that recording — it
|
||||
drives the pixel-to-degree conversion used for the logged error and velocity
|
||||
columns, so an incorrect value silently skews every derived feature in that
|
||||
session.
|
||||
|
||||
CSV columns beyond the basic error metrics:
|
||||
|
||||
@@ -162,6 +166,14 @@ Once more subjects are recorded, re-run training; group the split by
|
||||
`subject_id` (leave-one-subject-out) instead of by trial for the real paper
|
||||
evaluation.
|
||||
|
||||
`dispersion_px` and `accel_px_s2` in the raw CSV are in screen pixels, which
|
||||
are not comparable across recordings taken on different physical screens or
|
||||
viewing distances. Training re-derives both in visual-angle units
|
||||
(`dispersion_deg`, `accel_deg_s2`) using each session's `_meta.json`, matching
|
||||
what `adaptive_filter.py`'s `OnlineFeatureTracker` computes online — this
|
||||
matters as soon as you record on more than one screen/distance combo, which
|
||||
is exactly what varying `--monitor`/`--viewing-distance` across sessions does.
|
||||
|
||||
`adaptive_filter.py` defines the real-time filters built on that model:
|
||||
`BaselineFilter` (the existing fixed median+EMA filter), and
|
||||
`MLAdaptiveFilter` in `mode="hard"` (discrete fixation/saccade/pursuit
|
||||
@@ -177,7 +189,7 @@ reports RMS error, mean error, and on-target accuracy % for raw gaze, the
|
||||
fixed baseline filter, and both ML-adaptive modes side by side:
|
||||
|
||||
```powershell
|
||||
python eval_static_fixation.py --subject-id you --duration 60 --viewing-distance 70 --screen-diagonal 31.5
|
||||
python eval_static_fixation.py --subject-id you --duration 60 --viewing-distance 70 --monitor 1
|
||||
```
|
||||
|
||||
Press Space to start the 60-second hold. Results are saved to
|
||||
|
||||
Reference in new issue
Block a user