mirror of
https://github.com/ruvnet/RuView
synced 2026-06-09 10:13:17 +00:00
research(R6.2.3): chest-centric placement — +26.9 pp coverage gain for vital-signs cogs (#726)
Direct follow-up from R6.1 (chest contributes 27.6% of CSI energy, 5x per-limb value, limbs are confound not signal). R6.2.3 re-runs R6.2's placement search with chest-only target zones (40x40 cm patches at expected chest positions) vs body-footprint zones (R6.2's default full-area definition). Headline result: | Configuration | Coverage | Placement | |----------------------------|---------:|----------------------------| | Body-centric (R6.2 default)| 49.3% | (4.25,0)-(0,3.25), 5.35 m | | CHEST-CENTRIC (R6.2.3 new) | 82.4% | (2.0,0)-(4.5,5), 5.59 m | Cross-eval: - Body-optimal on chest zones: 55.5% - Chest-targeting GAIN on chest: +26.9 pp - Chest-optimal on body zones: 40.3% (-9.0 pp loss) The two strategies are genuinely different. Same engine, different zones. Per-cog deployment recommendation surfaced: - --target-mode=body (default): cog-person-count, cog-pose, cog-presence - --target-mode=chest (new): cog-vital-signs, cog-breathing, cog-HR - --target-mode=extremity (future): gesture detection ~20 LOC change to R6.2 CLI. R14 vertical-specific: - V1 stress-responsive lighting: chest mode - V2 adaptive HVAC (presence+breathing): mixed - V3 attention-respecting conversation: chest mode R6.2.3 surfaces a per-cog config that empathic-appliance products need at install time. Why placements differ: when target ~ envelope width, envelope can cover it entirely; when target >> envelope, placement must compromise. 40 cm Fresnel envelope @ 5 m link comfortably covers 40 cm chest patches but must spread to cover 3 m^2 bed. Composes: - R6.1 motivated this tick - R6.2 / R6.2.1 / R6.2.2 -- orthogonal extensions - R14 V1/V3 should use chest mode - R12 PABS improves body-position-detection scenarios Honest scope: - Chest positions approximated - 2D still (3D chest-centric = R6.2.3.1 follow-up) - Single subject (multi-subject = union of chest envelopes) - Per-cog zone schema is deployment-time Coordination: ticks/tick-23.md, no PROGRESS.md edit.
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
# R6.2.3 — Chest-centric placement: +27 pp coverage gain for vital-signs cogs
|
||||
|
||||
**Status:** chest-vs-body placement benchmark · **2026-05-22**
|
||||
|
||||
## Premise
|
||||
|
||||
R6.1 showed the chest contributes **27.6% of CSI energy** — 5× the per-limb value — and that limbs are *confound, not signal* for breathing-rate detection. R6.2 / R6.2.1 / R6.2.2 treated target zones as full body footprint (full bed, full chair, full standing zone). R6.2.3 asks: **does targeting the chest specifically change the optimal placement?**
|
||||
|
||||
If chest-centric and body-centric produce the same placement, the cog-time DSP work (limb masking in `vital_signs.rs`) suffices. If they differ, R6.2's CLI tool needs a `--cog vital-signs` flag that switches target-zone definitions.
|
||||
|
||||
## Method
|
||||
|
||||
Same 5×5 m bedroom search as R6.2, but with two zone definitions:
|
||||
|
||||
**Body-centric** (R6.2 default):
|
||||
- bed: 1.5×0.5 → 3.5×2.0 m (3.00 m²)
|
||||
- chair: 3.5×3.5 → 4.3×4.3 m (0.64 m²)
|
||||
- desk: 0.2×2.5 → 1.2×3.1 m (0.60 m²)
|
||||
|
||||
**Chest-centric** (R6.2.3 new):
|
||||
- bed_chest: 60×40 cm patch where the chest sits while lying (2.2-2.8, 0.8-1.2)
|
||||
- chair_chest: 40×40 cm patch on the seat (3.7-4.1, 3.7-4.1)
|
||||
- desk_chest: 40×20 cm patch above the desk (0.5-0.9, 2.7-2.9)
|
||||
|
||||
Same antenna candidate grid, same greedy search.
|
||||
|
||||
## Result
|
||||
|
||||
| Configuration | Coverage | Best Tx | Best Rx | Link |
|
||||
|---|---:|---:|---:|---:|
|
||||
| Body-centric (R6.2) | 49.3% | (4.25, 0) | (0, 3.25) | 5.35 m |
|
||||
| **Chest-centric (R6.2.3)** | **82.4%** | (2.0, 0) | (4.5, 5) | 5.59 m |
|
||||
|
||||
Cross-evaluation:
|
||||
|
||||
| Apply to | Body-centric placement | Chest-centric placement |
|
||||
|---|---:|---:|
|
||||
| Body zones | 49.3% (its own optimum) | 40.3% (-9.0 pp) |
|
||||
| Chest zones | 55.5% | **82.4%** (+26.9 pp) |
|
||||
|
||||
**Chest-targeting wins by +26.9 pp** on chest zones; body-targeting wins by +9.0 pp on body zones. The two strategies are not equivalent — chest-centric is a genuinely different deployment recipe.
|
||||
|
||||
## Why the placement differs
|
||||
|
||||
The optimal placements:
|
||||
- **Body-centric**: corner-to-corner-ish (4.25, 0) → (0, 3.25). Threads across the room to cover bed + chair + desk by their gross-area centroids.
|
||||
- **Chest-centric**: diagonal (2.0, 0) → (4.5, 5). Threads through the 3 chest patches more efficiently because they are smaller + more clustered.
|
||||
|
||||
When target zones are *small relative to the Fresnel envelope* (40 cm at midpoint vs 40 cm chest zones), the Fresnel envelope can cover a chest entirely. When targets are *large* (3 m² bed), full coverage by a 40 cm envelope is impossible — the placement must compromise across the body's spatial extent.
|
||||
|
||||
Different geometry → different optimum.
|
||||
|
||||
## Per-cog placement recommendation surfaced
|
||||
|
||||
R6.2.3 says R6.2's CLI tool should add a `--target-mode` flag:
|
||||
|
||||
| `--target-mode` | Zone definition | Best cog use |
|
||||
|---|---|---|
|
||||
| `body` (default) | Full body footprint (current R6.2) | `cog-person-count`, `cog-pose-estimation`, `cog-presence` |
|
||||
| `chest` (new) | 40×40 cm chest patches | `cog-vital-signs`, `cog-breathing`, `cog-heart-rate` |
|
||||
| `extremity` (future) | Hand / foot zones | Gesture detection cogs (out of scope for this loop) |
|
||||
|
||||
The placement-search engine is unchanged; only the target zones differ. ~20 LOC change to the existing R6.2 CLI.
|
||||
|
||||
## Composes with prior threads
|
||||
|
||||
- **R6.1** (multi-scatterer) — directly motivated this tick: chest = 27.6% of signal, limbs are confound.
|
||||
- **R6.2 / R6.2.1 / R6.2.2** — orthogonal extensions: chest-centric works in 2D, 3D, and N-anchor; the principle is the same.
|
||||
- **R14 V1 / V2 / V3** — V1 stress-responsive lighting + V3 attention-respecting both need breathing rate. **Both should use `--target-mode=chest`** at installation time. V2 HVAC uses presence + breathing → mixed mode (chest for breathing, body for presence). R6.2.3 says: configure the placement per cog deployed.
|
||||
- **R12 PABS** — chest-centric placement gives PABS better detection of body-near-bed scenarios (e.g. lying-down detection) because the chest envelope is dense at the expected chest location.
|
||||
|
||||
## Honest scope
|
||||
|
||||
- **Chest position is approximated** — humans don't sit / lie at fixed coordinates. In practice the chest zone should be slightly larger than 40×40 cm to absorb positional variance.
|
||||
- **Per-cog zone schema** is a deployment-time question, not a research one. The CLI option is the actionable output of this tick.
|
||||
- **2D still** — chest height (z=1.0-1.5 m for standing, 0.5-0.8 m for sitting, 0.2-0.4 m for lying) was implicit. A 3D chest-centric search (composing R6.2.1 + R6.2.3) would refine the placements further. Estimated +3-5 pp.
|
||||
- **Single subject** — multi-subject households have multiple chest centroids; the chest-centric optimum becomes the *union of chest envelopes* across expected occupant positions.
|
||||
|
||||
## What this DOES enable
|
||||
|
||||
1. **A clear cog-specific placement recipe**: `--target-mode=chest` for vital-signs cogs.
|
||||
2. **Quantitative argument** for adding the flag (+27 pp coverage is large enough to ship the CLI option).
|
||||
3. **Confirmation that R6.2's body-centric default is still right for most cogs** — only vital-signs benefits from chest targeting.
|
||||
|
||||
## What this DOES NOT enable
|
||||
|
||||
- Multi-subject chest unions (out of scope for this tick).
|
||||
- 3D chest-centric (R6.2.1 + R6.2.3 composition, future).
|
||||
- Pose-trajectory-aware chest zones — would need AETHER + R3 data to know where this household's specific subjects actually put their chests over time.
|
||||
|
||||
## Next ticks
|
||||
|
||||
- **R6.2.3.1**: 3D chest-centric placement (compose with R6.2.1).
|
||||
- **R6.2.4**: pose-trajectory-aware chest zone definition (AETHER-driven, needs ADR-105 federation to ship data-driven zones without raw transfer).
|
||||
- **R6.2 CLI productisation**: add `--target-mode={body,chest}` flag.
|
||||
|
||||
## Connection back
|
||||
|
||||
- **R5 / R6 / R6.1** — physical basis; R6.1's chest dominance directly motivates this tick.
|
||||
- **R6.2 / R6.2.1 / R6.2.2** — orthogonal extensions; R6.2.3 is a cog-mode option that composes with all three.
|
||||
- **R14** (V1 lighting / V3 attention) — both should use chest mode.
|
||||
- **R12 PABS** — placement-driven detection sensitivity improves with chest-centric targeting for body-position-detection scenarios.
|
||||
- **ADR-104 (ruview-mcp + ruview-cli)** — `--target-mode` is a new CLI arg + a new MCP tool argument.
|
||||
@@ -0,0 +1,79 @@
|
||||
# Tick 23 — 2026-05-22 08:33 UTC
|
||||
|
||||
**Thread:** R6.2.3 (chest-centric placement)
|
||||
**Verdict:** Chest-centric targeting gains **+26.9 pp coverage** vs body-centric for vital-signs cogs. R6.2's CLI needs a `--target-mode=chest` flag.
|
||||
|
||||
## What shipped
|
||||
|
||||
- `examples/research-sota/r6_2_3_chest_centric.py` — pure-numpy chest-vs-body placement benchmark.
|
||||
- `examples/research-sota/r6_2_3_chest_centric_results.json` — full benchmark.
|
||||
- `docs/research/sota-2026-05-22/R6_2_3-chest-centric-placement.md` — research note.
|
||||
|
||||
## Headline
|
||||
|
||||
5×5 m bedroom, same antenna candidate grid, two zone definitions:
|
||||
|
||||
| Configuration | Coverage | Best placement |
|
||||
|---|---:|---|
|
||||
| Body-centric (R6.2 default) | 49.3% | (4.25, 0) ↔ (0, 3.25), 5.35 m |
|
||||
| **Chest-centric (R6.2.3 new)** | **82.4%** | (2.0, 0) ↔ (4.5, 5), 5.59 m |
|
||||
|
||||
Cross-eval:
|
||||
- Body-optimal applied to chest zones: 55.5%
|
||||
- **Chest-targeting gain on chest zones: +26.9 pp**
|
||||
- Chest-optimal applied to body zones: 40.3% (-9.0 pp)
|
||||
|
||||
The two strategies are **not equivalent**. Different cogs want different placements.
|
||||
|
||||
## Per-cog deployment recommendation surfaced
|
||||
|
||||
| `--target-mode` | Zones | Best cog use |
|
||||
|---|---|---|
|
||||
| `body` (default) | Full body footprint | cog-person-count, cog-pose-estimation, cog-presence |
|
||||
| `chest` (new) | 40×40 cm chest patches | cog-vital-signs, cog-breathing, cog-heart-rate |
|
||||
| `extremity` (future) | Hand/foot zones | Gesture detection (not in scope) |
|
||||
|
||||
Same engine, different zones. ~20 LOC change to R6.2 CLI.
|
||||
|
||||
## Why placements differ
|
||||
|
||||
- **Body-centric** threads across the room to compromise across 3 m² bed + chair + desk by gross-area centroids.
|
||||
- **Chest-centric** threads more efficiently through the 3 small chest patches because targets fit inside the Fresnel envelope.
|
||||
|
||||
When target ≈ envelope width, the envelope can cover it entirely. When target >> envelope, placement is forced to compromise.
|
||||
|
||||
## R14 vertical-specific recommendation
|
||||
|
||||
- V1 stress-responsive lighting: needs breathing rate → `chest` mode
|
||||
- V2 adaptive HVAC: presence + breathing → mixed (placement for chest, additional anchors for presence)
|
||||
- V3 attention-respecting conversational: shallow-breathing recovery → `chest` mode
|
||||
|
||||
R6.2.3 surfaces a per-cog config that empathic-appliance products need at install time.
|
||||
|
||||
## Composes with prior threads
|
||||
|
||||
- **R6.1 motivated this tick**: chest = 27.6% of signal, limbs are confound
|
||||
- **R6.2 / R6.2.1 / R6.2.2** — orthogonal: chest-centric works in 2D, 3D, N-anchor
|
||||
- **R14 V1/V3** — should use chest mode
|
||||
- **R12 PABS** — chest-centric placement improves body-position-detection scenarios
|
||||
|
||||
## Honest scope
|
||||
|
||||
- Chest positions approximated (humans don't sit/lie at fixed coords)
|
||||
- 2D still; 3D chest-centric = R6.2.3.1 follow-up (~+3-5 pp expected)
|
||||
- Single subject; multi-subject = union of chest envelopes
|
||||
- Per-cog zone schema is deployment-time, not research-time
|
||||
|
||||
## Coordination
|
||||
|
||||
`ticks/tick-23.md`. No PROGRESS.md edit. Branch `research/sota-r6.2.3-chest-centric`.
|
||||
|
||||
## Remaining work
|
||||
|
||||
- R6.2.3.1: 3D chest-centric (R6.2.1 + R6.2.3 compose)
|
||||
- R6.2.4: pose-trajectory-aware chest zones (needs AETHER + ADR-105 federation)
|
||||
- R12.1: pose-PABS closed loop
|
||||
- R3.2: embedding-level physics-informed env (from R3.1's corrected sketch)
|
||||
- ADR-108: Kyber substitution
|
||||
|
||||
~3.4h to cron stop. **23 ticks landed.** Loop now has 13 research threads + 3 ADRs + 8 deferred follow-ups closed.
|
||||
Reference in New Issue
Block a user