From c5fef33c6aa29bc18a652f4610b66c84c0e55d4b Mon Sep 17 00:00:00 2001 From: ruv Date: Mon, 6 Apr 2026 18:18:40 -0400 Subject: [PATCH] =?UTF-8?q?docs:=20reorder=20README=20sections=20=E2=80=94?= =?UTF-8?q?=20v0.7.0=20first,=20then=20descending?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: claude-flow --- README.md | 86 +++++++++++++++++++++++++++---------------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index acaaa6d5..d5ddd7c6 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,49 @@ node scripts/mincut-person-counter.js --port 5006 # Correct person counting > --- +### What's New in v0.7.0 + +
+Camera Ground-Truth Training — 92.9% PCK@20 + +**v0.7.0 adds camera-supervised pose training** using MediaPipe + real ESP32 CSI data: + +| Capability | What it does | ADR | +|-----------|-------------|-----| +| **Camera ground-truth collection** | MediaPipe PoseLandmarker captures 17 COCO keypoints at 30fps, synced with ESP32 CSI | [ADR-079](docs/adr/ADR-079-camera-ground-truth-training.md) | +| **ruvector subcarrier selection** | Variance-based top-K reduces input by 50% (70→35 subcarriers) | ADR-079 O6 | +| **Stoer-Wagner min-cut** | Person-specific subcarrier cluster separation for multi-person training | ADR-079 O8 | +| **Scalable WiFlow model** | 4 presets: lite (189K) → small (474K) → medium (800K) → full (7.7M params) | ADR-079 | + +```bash +# Collect ground truth (camera + ESP32 simultaneously) +python scripts/collect-ground-truth.py --duration 300 --preview +python scripts/record-csi-udp.py --duration 300 + +# Align CSI windows with camera keypoints +node scripts/align-ground-truth.js --gt data/ground-truth/*.jsonl --csi data/recordings/*.csi.jsonl + +# Train WiFlow model (start lite, scale up as data grows) +node scripts/train-wiflow-supervised.js --data data/paired/*.jsonl --scale lite + +# Evaluate +node scripts/eval-wiflow.js --model models/wiflow-real/wiflow-v1.json --data data/paired/*.jsonl +``` + +**Result: 92.9% PCK@20** from a 5-minute data collection session with one ESP32-S3 and one webcam. + +| Metric | Before (proxy) | After (camera-supervised) | +|--------|----------------|--------------------------| +| PCK@20 | 0% | **92.9%** | +| Eval loss | 0.700 | **0.082** | +| Bone constraint | N/A | **0.008** | +| Training time | N/A | **19 minutes** | +| Model size | N/A | **974 KB** | + +Pre-trained model: [HuggingFace ruv/ruview/wiflow-v1](https://huggingface.co/ruv/ruview) + +
+ ### Pre-Trained Models (v0.6.0) — No Training Required
@@ -175,49 +218,6 @@ All scripts support `--replay data/recordings/*.csi.jsonl` for offline analysis
-### What's New in v0.7.0 - -
-Camera Ground-Truth Training — 92.9% PCK@20 - -**v0.7.0 adds camera-supervised pose training** using MediaPipe + real ESP32 CSI data: - -| Capability | What it does | ADR | -|-----------|-------------|-----| -| **Camera ground-truth collection** | MediaPipe PoseLandmarker captures 17 COCO keypoints at 30fps, synced with ESP32 CSI | [ADR-079](docs/adr/ADR-079-camera-ground-truth-training.md) | -| **ruvector subcarrier selection** | Variance-based top-K reduces input by 50% (70→35 subcarriers) | ADR-079 O6 | -| **Stoer-Wagner min-cut** | Person-specific subcarrier cluster separation for multi-person training | ADR-079 O8 | -| **Scalable WiFlow model** | 4 presets: lite (189K) → small (474K) → medium (800K) → full (7.7M params) | ADR-079 | - -```bash -# Collect ground truth (camera + ESP32 simultaneously) -python scripts/collect-ground-truth.py --duration 300 --preview -python scripts/record-csi-udp.py --duration 300 - -# Align CSI windows with camera keypoints -node scripts/align-ground-truth.js --gt data/ground-truth/*.jsonl --csi data/recordings/*.csi.jsonl - -# Train WiFlow model (start lite, scale up as data grows) -node scripts/train-wiflow-supervised.js --data data/paired/*.jsonl --scale lite - -# Evaluate -node scripts/eval-wiflow.js --model models/wiflow-real/wiflow-v1.json --data data/paired/*.jsonl -``` - -**Result: 92.9% PCK@20** from a 5-minute data collection session with one ESP32-S3 and one webcam. - -| Metric | Before (proxy) | After (camera-supervised) | -|--------|----------------|--------------------------| -| PCK@20 | 0% | **92.9%** | -| Eval loss | 0.700 | **0.082** | -| Bone constraint | N/A | **0.008** | -| Training time | N/A | **19 minutes** | -| Model size | N/A | **974 KB** | - -Pre-trained model: [HuggingFace ruv/ruview/wiflow-v1](https://huggingface.co/ruv/ruview) - -
- ### What's New in v0.5.5