You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Contactless breathing and heart rate monitoring extracted from WiFi CSI signals using the rvdna (RuVector DNA) signal processing pipeline. All processing runs locally on-device with no raw data leaving the host.
|**Fingerprint Matching**| Location and posture classification via RF fingerprints |
244
+
|**Orchestration**| Fuse all stages into unified sensing output |
245
+
246
+
**Build & Test:**
247
+
```bash
248
+
cd rust-port/wifi-densepose-rs
249
+
cargo test -p wifi-densepose-wifiscan
250
+
```
251
+
252
+
See [ADR-022](docs/adr/ADR-022-windows-wifi-enhanced-fidelity-ruvector.md) for the full pipeline design.
253
+
254
+
## 📦 RVF Model Container Format
255
+
256
+
The RuVector Format (RVF) packages model weights, HNSW index, metadata, and WASM runtime into a single `.rvf` file for portable, single-file deployment.
257
+
258
+
| Property | Detail |
259
+
|----------|--------|
260
+
|**Format**| Segment-based binary (magic `0x52564653`) with 64-byte segment headers |
261
+
|**Progressive Loading**| Layer A in <5ms (entry points), Layer B in 100ms-1s (hot adjacency), Layer C (full graph) |
262
+
|**Signing**| Ed25519-signed training proofs for verifiable provenance |
263
+
|**Quantization**| Temperature-tiered (f32/f16/u8) via `rvf-quant` with SIMD distance |
264
+
|**CLI Flags**|`--save-rvf <path>` and `--load-rvf <path>` for model persistence |
265
+
266
+
An RVF container is a self-contained artifact: no external model files, no Python runtime, no pip dependencies. Load it on any host with the Rust binary.
267
+
268
+
See [ADR-023](docs/adr/ADR-023-trained-densepose-model-ruvector-pipeline.md) for the full trained DensePose pipeline.
269
+
270
+
## 🧬 Training and Fine-Tuning
271
+
272
+
The DensePose model uses a three-tier data strategy:
273
+
274
+
1.**Pre-train** on public datasets (MM-Fi, Wi-Pose) for cross-environment generalization. These provide paired WiFi CSI + camera pose labels across diverse environments and subjects.
275
+
2.**Fine-tune** with self-collected ESP32 data using a camera-based teacher model to generate pseudo-labels. Environment-specific multipath patterns are learned at this stage.
276
+
3.**SONA runtime adaptation** via micro-LoRA + EWC++ for continuous on-device learning. The model adapts to furniture changes, new occupants, and seasonal RF propagation shifts without retraining from scratch.
277
+
278
+
```bash
279
+
# Pre-train on MM-Fi dataset
280
+
cargo run -p wifi-densepose-train -- \
281
+
--dataset mmfi --epochs 100 --lr 1e-3
282
+
283
+
# Fine-tune with local ESP32 captures
284
+
cargo run -p wifi-densepose-train -- \
285
+
--dataset local --fine-tune --base-model pretrained.rvf \
286
+
--epochs 20 --lr 1e-4 --save-rvf finetuned.rvf
287
+
288
+
# Enable SONA runtime adaptation (in sensing server)
0 commit comments