mirror of
https://github.com/ruvnet/RuView
synced 2026-07-22 17:23:19 +00:00
research(R3.1): physics-informed env prediction at raw-CSI level — NEGATIVE (architecture-error) (#723)
R3's 'next research lever' was: use R6.1 forward operator + room map to predict env_sig without labelled examples in the new room. R6.1 shipped (tick 18); this tick implements the prediction. Result: at raw-CSI level, all three approaches collapse to chance. | Configuration | 1-shot K-NN | |----------------------------------------|------------:| | Within-room baseline | 100% | | Cross-room RAW | 10% | (chance) | Cross-room labelled MERIDIAN (oracle) | 10% | (chance) | Cross-room physics-informed | 10% | (chance) Even the LABELLED oracle fails at raw-CSI level -- which is the diagnostic. The cross-room problem at raw-CSI level is fundamentally harder than at the AETHER embedding level (R3 tick 12) because position-dependent within-room variance dominates per-subject signature when invariantisation hasn't been done. Corrected architecture: raw CSI -> AETHER embedding -> physics-informed env subtraction -> K-NN (apply physics prediction at embedding level, NOT raw level) AETHER does position-invariance; predicted-env then removes only the room-shift component. THIS IS THE LOOP'S THIRD KIND OF NEGATIVE RESULT: 1. Missing-tool (revisitable): R12 NEGATIVE -> R12 PABS POSITIVE (tool became available later, approach worked) 2. Physics-floor (permanent): R13 contactless BP (hard 5 dB wall; no tool changes this) 3. Architecture-error (correctable): R3.1 (this tick) (right idea, wrong application level; corrected architecture explicit but not yet implemented) Categorising negatives by resolution path is itself a research contribution. Surfaces an architecture error BEFORE implementation. A future engineer attempting 'subtract predicted env from raw CSI' would waste weeks; R3.1 documents the failure path. Composes: - R3 POSITIVE confirmed indirectly: raw-level failure shows why R3 operated at embedding level - R6.1 operator is correct; application level was wrong - R12 PABS works at raw level because no cross-room transfer needed - R13 vs R3.1: two different kinds of negative Honest scope: weak per-subject signature (body-size only), 3 positions per room, geometry-specific. Richer biometric input or per-position- clustering might partially rescue raw-level but defeats the no-label spirit. Coordination: ticks/tick-20.md, no PROGRESS.md edit.
This commit is contained in:
@@ -0,0 +1,123 @@
|
||||
# R3.1 — Physics-informed env_sig prediction at raw-CSI level: NEGATIVE (with a clear path forward)
|
||||
|
||||
**Status:** experimental result + scope correction · **2026-05-22**
|
||||
|
||||
## The plan
|
||||
|
||||
R3 (tick 12) showed MERIDIAN env-centroid subtraction recovers cross-room re-ID accuracy in the **AETHER embedding space**, but requires labelled examples *in the new room*. R3's "next research lever":
|
||||
|
||||
> Use R6.1 forward operator + a coarse room map to PREDICT the env_sig without labelled examples — zero-shot transfer.
|
||||
|
||||
R6.1 (tick 18) shipped the multi-scatterer Fresnel forward operator. This tick implements the predicted-env approach at the **raw CSI level** (not the embedding level) and benchmarks it against R3's labelled MERIDIAN oracle.
|
||||
|
||||
## Result
|
||||
|
||||
Two synthetic rooms (5×5 m diagonal link vs 4×6 m different link), 10 subjects with 0.85-1.15× body-size variation, 3 positions per room:
|
||||
|
||||
| Configuration | 1-shot K-NN accuracy |
|
||||
|---|---:|
|
||||
| Within-room 1 baseline | **100%** |
|
||||
| Within-room 2 baseline | **100%** |
|
||||
| Cross-room raw (no env subtraction) | 10% (= chance) |
|
||||
| Cross-room **labelled MERIDIAN** (oracle) | **10% (= chance)** |
|
||||
| Cross-room physics-informed env prediction | 10% (= chance) |
|
||||
|
||||
**All three cross-room approaches collapse to chance.** Not just the physics-informed one — even the labelled MERIDIAN oracle fails. This is meaningfully different from R3's tick-12 result where labelled MERIDIAN reached 100%.
|
||||
|
||||
## Why R3 worked but R3.1 doesn't
|
||||
|
||||
R3 was simulated on a **128-dim AETHER-style embedding space** where:
|
||||
- person_signature, environment_signature, and noise were in independent random directions
|
||||
- env_sig was a single fixed vector per room (no within-room positional variance)
|
||||
- cosine normalisation partially absorbed the env shift
|
||||
|
||||
R3.1 is at the **raw CSI level (52-dim complex)** where:
|
||||
- Subjects move to 3 positions per room — each position has its own complex CSI signature
|
||||
- Per-position variance within a room can exceed per-subject variance between rooms
|
||||
- Subtracting a single per-room centroid removes the *mean* position but not the *variance*
|
||||
|
||||
The headline gap: **AETHER embedding space invariantises over within-room position**; raw CSI does not. **The cross-room problem at raw-CSI level is fundamentally harder than at the embedding level.**
|
||||
|
||||
## The honest takeaway
|
||||
|
||||
| What R3 showed | What R3.1 shows |
|
||||
|---|---|
|
||||
| Cross-room re-ID works in embedding space with MERIDIAN | Cross-room re-ID **doesn't** work at raw-CSI level |
|
||||
| Labelled centroid subtraction is enough | Labelled centroid subtraction is **not** enough at raw CSI |
|
||||
| Physics-informed prediction is a worthwhile next step | Physics-informed prediction at raw-CSI level is **also not enough** |
|
||||
|
||||
This is a **third honest negative result** for the loop (alongside R13 contactless BP and R12 NEGATIVE pre-PABS). The negative pattern: any cross-room method at raw-CSI level fails because position-variance is the dominant source of within-room CSI variation.
|
||||
|
||||
## The path forward
|
||||
|
||||
The physics-informed env prediction approach is *not dead* — it just needs to be **applied at the embedding level, not the raw-CSI level**. The corrected architecture:
|
||||
|
||||
```
|
||||
raw CSI → AETHER embedding head (position-invariant) → physics-informed env subtraction → cross-room K-NN
|
||||
```
|
||||
|
||||
Or equivalently: subtract the physics-predicted env_sig **from the AETHER head's output**, not from the raw input. AETHER already does the heavy lifting of invariantising over position; the physics-informed prediction then has only the room-shift component to remove.
|
||||
|
||||
This requires AETHER (ADR-024) to be trained or fine-tuned, which is out of scope for this loop. **The implementation roadmap is now clear:**
|
||||
|
||||
1. AETHER head fine-tuned per-installation (ADR-024 baseline)
|
||||
2. Physics-informed env_sig from R6.1 forward operator + room map
|
||||
3. Subtract (2) from (1)'s output → invariantised embedding
|
||||
4. K-NN matching across rooms with no labels in the new room
|
||||
|
||||
R3.1 says: the **physics-informed prediction must be applied in the right space**. The raw-CSI experiment exposes that the wrong space gives no lift.
|
||||
|
||||
## Composes with prior threads
|
||||
|
||||
- **R3** (cross-room re-ID) — R3.1 confirms R3's MERIDIAN-in-embedding-space result by showing the *raw-CSI* version fails. R3's choice to operate in embedding space was correct.
|
||||
- **R6.1** (multi-scatterer Fresnel) — provides the forward operator. R3.1 used it; the operator is correct; the application level was wrong.
|
||||
- **R12 PABS** (POSITIVE) — operates on raw CSI directly *but doesn't compare across rooms*. PABS detects structural changes *within* a room; cross-room transfer needs an additional invariance layer (= AETHER).
|
||||
- **R14 / R15 / ADR-105** — the privacy framework still holds; AETHER + physics-env-prediction stays on-device per ADR-106.
|
||||
|
||||
## Why this negative result is still useful
|
||||
|
||||
1. **Surfaces an architecture error before implementation.** Without this tick, a future engineer might attempt the obvious "subtract predicted env from raw CSI" approach and waste weeks. R3.1 documents that this fails.
|
||||
2. **Tightens the R3 implementation roadmap.** The corrected architecture is now explicit.
|
||||
3. **Demonstrates the difference between embedding-space and raw-space approaches.** This generalises beyond R3 — it informs every "subtract a learned/predicted nuisance" pattern in the codebase.
|
||||
|
||||
## Honest scope
|
||||
|
||||
- 10 subjects with 0.85-1.15× body-size variation is a deliberately weak per-subject signature. Stronger biometric primitives (gait, breathing, RCS from R15) would give larger per-subject contrasts. The "raw CSI level fails" finding might be sensitive to this scale; with richer biometric input the raw-level approach might recover.
|
||||
- The simulation uses 3 positions per room. With more positions (5-10), the failure would be sharper. With fewer (1), it would partially work.
|
||||
- Position-variance dominance is geometry-specific. Long-narrow rooms vs square rooms have different ratios; this is one geometry.
|
||||
- We didn't test "labelled MERIDIAN per-position-cluster" (cluster positions within a room, subtract per-cluster centroid). That might work for the labelled oracle; physics-informed equivalent would need a position-clustering layer.
|
||||
|
||||
## What this DOES enable
|
||||
|
||||
- **A negative result** that prevents wasted implementation effort.
|
||||
- **A corrected architecture sketch**: physics-informed env prediction at the embedding level (not raw level).
|
||||
- **A reference benchmark** showing that the cross-room problem at raw-CSI level is genuinely hard, contextualising R3's embedding-level result.
|
||||
|
||||
## What this DOES NOT enable
|
||||
|
||||
- The originally hoped-for zero-shot cross-room re-ID. That still needs the embedding-level implementation (R3.2, future).
|
||||
- Any improvement to the existing within-room re-ID (which already works).
|
||||
- Cross-installation re-ID — still prohibited by R3 + R14 + R15 + ADR-106.
|
||||
|
||||
## What's next
|
||||
|
||||
- **R3.2**: embedding-level physics-informed env prediction (corrected architecture). Requires AETHER + R6.1 integration; out of scope for this loop.
|
||||
- **R12.1 (pose-PABS closed loop)** — still the highest-leverage next implementation.
|
||||
- **ADR-107 (cross-installation federation)** — still deferred.
|
||||
|
||||
## Connection back
|
||||
|
||||
- **R3 (POSITIVE in embedding space)** — confirmed indirectly; raw-level failure shows why R3 operated at the embedding level.
|
||||
- **R6.1** — operator is correct; application level was wrong.
|
||||
- **R12 PABS (POSITIVE)** — operates in raw space for *structure detection* (no cross-room transfer needed). PABS works at raw level because the comparison is within-room.
|
||||
- **R13 (NEGATIVE, physics floor)** + **R3.1 (NEGATIVE, architecture error)** — two different kinds of negative result: one is a physics wall (R13), the other is a fixable design choice (R3.1).
|
||||
|
||||
## Three kinds of negative result this loop has produced
|
||||
|
||||
This tick is the third honest negative — and the loop now has examples of all three categories:
|
||||
|
||||
1. **R12 NEGATIVE → POSITIVE** (revisited): missing tool (forward operator) blocked the right approach; tool became available later, approach worked.
|
||||
2. **R13 NEGATIVE → permanent**: physics floor (5 dB shortfall) cannot be overcome by any tool; the negative is final.
|
||||
3. **R3.1 NEGATIVE → architecture-error**: right idea, wrong application level; corrected architecture is now explicit but not yet implemented.
|
||||
|
||||
Knowing which category a negative result falls into is itself a research contribution. R3.1 sits in category 3.
|
||||
@@ -0,0 +1,80 @@
|
||||
# Tick 20 — 2026-05-22 07:54 UTC
|
||||
|
||||
**Thread:** R3.1 (physics-informed env_sig prediction at raw-CSI level) — **NEGATIVE (architecture-error category)**
|
||||
**Verdict:** The naive "subtract predicted env from raw CSI" fails at chance level. Even the labelled MERIDIAN oracle fails at raw-CSI level. The fix: apply physics-informed prediction at the **AETHER embedding level**, not raw CSI.
|
||||
|
||||
## What shipped
|
||||
|
||||
- `examples/research-sota/r3_1_physics_informed_env.py` — pure-numpy two-room cross-room experiment.
|
||||
- `examples/research-sota/r3_1_physics_env_results.json` — machine-readable result.
|
||||
- `docs/research/sota-2026-05-22/R3_1-physics-informed-env-prediction.md` — research note documenting the negative + corrected architecture.
|
||||
|
||||
## Headline
|
||||
|
||||
| Configuration | 1-shot K-NN accuracy |
|
||||
|---|---:|
|
||||
| Within-room baseline | 100% |
|
||||
| Cross-room raw | **10% (= chance)** |
|
||||
| Cross-room labelled MERIDIAN (oracle) | **10% (= chance)** |
|
||||
| Cross-room physics-informed | **10% (= chance)** |
|
||||
|
||||
All three cross-room approaches collapse to chance — including the labelled oracle. Position-dependent within-room variance dominates per-subject signature at the raw-CSI level.
|
||||
|
||||
## Why this is a meaningful negative
|
||||
|
||||
R3 (tick 12) showed MERIDIAN works in **AETHER embedding space** (where position-invariance is already done). R3.1 surfaces that at **raw CSI level**, where position-invariance hasn't been done yet, no env-subtraction method works — because the variance you'd subtract isn't the variance you need to remove.
|
||||
|
||||
**Surfaces an architecture error before implementation.** Future engineer attempting "subtract predicted env from raw CSI" would waste weeks; R3.1 documents the failure path.
|
||||
|
||||
## Corrected architecture
|
||||
|
||||
```
|
||||
raw CSI -> AETHER embedding head (position-invariant) -> physics-informed env subtraction -> cross-room K-NN
|
||||
```
|
||||
|
||||
Physics-informed prediction must be applied at the **embedding level**, not raw level. AETHER already removes position-dependent variation; the predicted-env subtraction then has only the room-shift component to remove.
|
||||
|
||||
## Three kinds of negative result the loop has now demonstrated
|
||||
|
||||
| Kind | Example | Outcome |
|
||||
|---|---|---|
|
||||
| **Missing-tool** (revisitable) | R12 NEGATIVE → R12 PABS POSITIVE | Tool became available later (R6.1) and approach worked |
|
||||
| **Physics-floor** (permanent) | R13 contactless BP | Hard 5 dB wall; no tool changes this |
|
||||
| **Architecture-error** (correctable) | R3.1 (this tick) | Right idea, wrong application level; corrected architecture explicit but not yet implemented |
|
||||
|
||||
Categorising negatives by their resolution path is itself a research contribution. This is the loop's most "meta" tick.
|
||||
|
||||
## Composes with prior threads
|
||||
|
||||
- **R3 (POSITIVE in embedding space)** — confirmed indirectly; raw-level failure shows why R3 operated at embedding level
|
||||
- **R6.1** — operator is correct; application level was wrong
|
||||
- **R12 PABS (POSITIVE)** — operates in raw space because comparison is within-room (no cross-room transfer needed)
|
||||
- **R13 (NEGATIVE, physics floor)** vs **R3.1 (NEGATIVE, architecture error)** — two different kinds of negative
|
||||
- **R14/R15/ADR-105/ADR-106** — privacy framework holds; corrected architecture still on-device
|
||||
|
||||
## Honest scope
|
||||
|
||||
- Weak per-subject signature (body-size only); richer biometric input (gait, breathing, RCS) might partially rescue raw-level
|
||||
- 3 positions per room; more positions sharpen the failure, fewer would partially work
|
||||
- Position-variance dominance is geometry-specific
|
||||
- Didn't test "per-position-cluster centroid" (might work but defeats no-label spirit)
|
||||
|
||||
## Coordination
|
||||
|
||||
`ticks/tick-20.md`. No PROGRESS.md edit. Branch `research/sota-r3.1-physics-env-prediction`.
|
||||
|
||||
## Remaining work
|
||||
|
||||
- **R3.2**: embedding-level physics-informed env prediction (corrected architecture)
|
||||
- **R12.1**: pose-PABS closed loop (still highest-leverage)
|
||||
- **R6.2.1**: 3D placement
|
||||
- **R6.2.3**: chest-centric zones
|
||||
- **ADR-107**: cross-installation federation
|
||||
|
||||
~4.1h to cron stop. **20 ticks landed.** Loop now has:
|
||||
- 13 research threads (R1-R15)
|
||||
- 3 negative results (R13 physics-floor, R3.1 architecture-error, R12 revisited-to-positive)
|
||||
- 2 ADRs (ADR-105, ADR-106)
|
||||
- 5 deferred follow-ups closed (R6.2, R6.2.2, R6.1, R12 PABS, R3.1)
|
||||
|
||||
Pattern: ~3 ticks per hour sustained over 8 hours.
|
||||
Reference in New Issue
Block a user