发布

  • v1041 d9ca9b3684

    research(R8): RSSI-only person count retains 95% of full-CSI accuracy (#703)

    frostbyte_neo 发布于 2026-05-22 03:18:09 +00:00

    Builds directly on R5's band-spread observation. If the count-task
    signal is spread across the WiFi band (R5: max/mean ratio 2.85× across
    56 subcarriers), then RSSI — which is the integral of |H_k|^2 across
    the band — keeps most of the information. The naive prior (RSSI throws
    away 98% of CSI bytes) is misleading; the relevant metric is how much
    of the signal is in the integral, not how many bytes are in the
    representation.

    Tested by aggregating each existing [56 × 20] CSI window down to a
    [20]-vector RSSI proxy (mean across subcarriers per frame), training a
    tiny MLP (Linear 20→32→8, 656 params, 5 KB) with vanilla NumPy SGD for
    200 epochs on the same random 80/20 split as cog-person-count v0.0.2.

    Result:

    Full CSI v0.0.2 62.3% accuracy
    RSSI-only (this) 59.1% accuracy = 94.82% retained

    Per-class is also markedly more balanced (RSSI: 59.5 / 58.6 ; full
    CSI: 86.2 / 34.3) — the tiny model on a low-dim input can't cheat by
    leaning on class 0 the way v0.0.2's larger model does at inference.

    What this enables on a 10-year horizon: phones, laptops, smart
    speakers, smart TVs, smart lights — anything with WiFi reports RSSI
    and anything with a CPU can run a 656-param MLP. Person counting
    becomes a federated property of any room with WiFi, not a property of
    the ESP32-S3 fleet.

    What this doesn't prove (called out explicitly in the research note):

    • Single room, single operator, single 30-min recording
    • 2-class problem (label distribution is {0, 1})
    • Single random draw — needs K-fold + multi-room replication

    Three follow-up experiments queued in R8-rssi-only-count.md §'What's
    next on this thread':

    • Multi-room replication once #645 lands
    • 3-class extension (0 / 1 / 2+) — measure the info-rate cliff
    • Run on a non-ESP32 RSSI source (e.g. iw event on Linux laptop)

    Files:

    • examples/research-sota/r8_rssi_only_count.py — pure-NumPy, no
      framework deps. Trains + evals in 0.72 s on CPU.
    • examples/research-sota/r8_rssi_only_results.json — full JSON dump
      for cross-tick reproducibility.
    • docs/research/sota-2026-05-22/R8-rssi-only-count.md — method,
      measured numbers, interpretation, what doesn't work yet.
    • docs/research/sota-2026-05-22/PROGRESS.md — updated index + Done
      log.

    Coordination note: horizon-tracker is working on tools/ruview-mcp/

    • tools/ruview-cli/ + ADR-104 — this commit deliberately stays out
      of those paths.
    下载附件