v0.7.0

ruvnet/RuViewv0.7.0Apr 6, 2026by ruvnet

AI Summary

First WiFlow model trained on real ESP32 CSI + real camera ground truth achieving 92.9% PCK@20. Includes camera ground-truth pipeline with time-aligned training data collection.

Key Highlights

  • 92.9% PCK@20 accuracy
  • Camera ground-truth pipeline (ADR-079) with MediaPipe sync
  • ruvector optimizations O6-O10 (subcarrier selection, attention-weighted, min-cut, SPSA)
  • 186,946 parameters, 974 KB model, 19 min training time
  • 345 time-aligned paired samples from 7,000 CSI frames

New Features

  • collect-ground-truth.py for MediaPipe webcam capture
  • align-ground-truth.js for nanosecond time alignment
  • train-wiflow-supervised.js with 3-phase curriculum
  • eval-wiflow.js for PCK/MPJPE evaluation
  • record-csi-udp.py for lightweight ESP32 CSI recording
  • wiflow-v1.json model weights archive

Full Release Notes

## WiFlow v1 — Camera-Supervised WiFi Pose Estimation

First WiFlow model trained on **real ESP32 CSI + real camera ground truth**.

### Headline Result
| Metric | Value |
|--------|-------|
| **PCK@20** | **92.9%** |
| Eval loss | 0.082 |
| Bone constraint | 0.008 |
| Parameters | 186,946 |
| Model size | 974 KB |
| Training time | 19 minutes |

### What's New

**Camera Ground-Truth Pipeline (ADR-079)**
- `collect-ground-truth.py` — MediaPipe webcam capture synced with CSI
- `align-ground-truth.js` — Nanosecond time alignment
- `train-wiflow-supervised.js` — 3-phase curriculum training
- `eval-wiflow.js` — PCK/MPJPE evaluation
- `record-csi-udp.py` — Lightweight ESP32 CSI recorder

**ruvector Optimizations**
- O6: Subcarrier selection (70→35, 50% reduction)
- O7: Attention-weighted subcarriers
- O8: Stoer-Wagner min-cut person separation
- O9: Multi-SPSA gradient estimation
- O10: Scalable model (lite/small/medium/full)

**Data Collection**
- ESP32-S3 CSI: 7,000 frames at 23fps (5 min)
- Mac Mini M4 Pro camera: 6,470 frames via MediaPipe (5 min)
- 345 time-aligned paired samples

### Model Archive Contents
- `wiflow-v1.json` — Trained model weights (974 KB)
- `training-log.json` — Loss curves per phase
- `baseline-report.json` — Pre-training baseline metrics
- `MODEL_CARD.md` — Model documentation

### How to Use
```bash
# Collect your own ground truth
python scripts/collect-ground-truth.py --duration 300 --preview
python scripts/record-csi-udp.py --duration 300

# Train
node scripts/train-wiflow-supervised.js --data data/paired/your-data.jsonl --scale lite

# Evaluate
node scripts/eval-wiflow.js --model models/wiflow-real/wiflow-v1.json --data data/paired/your-data.jsonl
```

### Related
- PR #363: Camera ground-truth training pipeline
- ADR-079: Camera Ground-Truth Training Pipeline
- ADR-072: WiFlow Architecture