Match EasyCom oracle labels to EgoSpeak sampling

This commit is contained in:
Xin Wang
2026-09-07 10:22:05 +08:00
parent 70e3aaaaf6
commit 2632402a70
4 changed files with 78 additions and 46 deletions
+9 -6
View File
@@ -10,8 +10,11 @@ This is an information upper-bound experiment, not a deployable input setting.
## Causal contract
- The task grid remains 5 Hz. State row `t` has cutoff `(t+1)/5` seconds.
- Oracle bin `t` summarizes transcript frames in
`[t/5,(t+1)/5)` and is therefore completely observed at that cutoff.
- Oracle state `t` follows EgoSpeak's released-target conversion exactly:
source-frame markers `4, 8, 12, ...` are sampled at the corresponding
`0.2, 0.4, 0.6, ...` second cutoffs, with
`Start_Frame <= marker < End_Frame`. This is right-edge point sampling, not
an any-overlap reduction over a 200 ms bin.
- Each person vector stores the last 2 seconds of binary activity followed by
a visibility/availability mask. Activity is exposed only in bins where that
participant was visible according to the provided boxes. No future bin,
@@ -19,8 +22,8 @@ This is an information upper-bound experiment, not a deployable input setting.
- Only non-wearer participant IDs present in the latest provided-box frame
strictly before the cutoff receive slots. IDs route annotations during
preparation but are not exposed as embeddings to the head.
- Transcript-derived wearer/others activity must match `target_perframe` by
default. Any mismatch fails closed instead of being silently tolerated.
- Transcript-derived wearer/others activity must match `target_perframe`
exactly. Any mismatch fails closed; there is no tolerance flag.
- Oracle sidecars use `easycom-oracle-person-history-v1` and are accepted only
by the explicit `oracle-frame-set-attention` mode. Normal local-feature
loading rejects them because they use speech labels.
@@ -65,8 +68,8 @@ dense AP/mAP screen. Existing compatible oracle sidecars are validated and
reused, so interrupted preparation can resume. It deliberately does not run
Sessions 1--3.
If preparation reports any transcript/target mismatch, stop and inspect it.
Do not raise `--max-label-mismatch-rows` merely to make the run continue.
If preparation reports any transcript/target mismatch, stop and inspect it;
the preparation command has no mismatch-tolerance option.
## Follow-up