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
Trained DensePose Model with RuVector Signal Intelligence Pipeline
What This Is
A complete pipeline for training, packaging, and deploying a real trained neural network that converts WiFi CSI signals into dense human body surface estimation (DensePose). This replaces the current heuristic pose derivation with a model trained on public research datasets, enhanced by RuVector signal processing algorithms, and packaged in the RVF binary container format for single-file deployment.
Why It Matters
The current system does WiFi sensing (presence, motion detection) and derives approximate pose keypoints from signal heuristics. That works, but it is not a trained model -- the keypoint positions are rule-based, not learned from data. The CMU "DensePose From WiFi" paper showed that a neural network trained on paired WiFi + camera data can produce accurate body surface UV coordinates from WiFi alone. This epic implements that capability using RuVector signal processing crates as the backbone.
What You Get
Capability
Current (Heuristic)
After Training
Keypoint count
17 (approximate)
17 (learned, accurate)
Body surface UV
None
24 body parts + UV coordinates
Accuracy (PCK@0.2)
Not measured
Target >70%
Environment adaptation
None
SONA LoRA in <5 seconds
Deployment
ONNX/binary
Single .rvf file
Browser inference
Not possible
WASM in .rvf container
Architecture
ESP32 CSI (UDP :5005)
|
v
RuVector Signal Intelligence (5 crates)
|- ruvector-attn-mincut -> noise-suppressed spectrogram
|- ruvector-mincut -> sensitive/insensitive subcarrier partition
|- ruvector-attention -> body velocity profile extraction
|- ruvector-solver -> Fresnel TX-body-RX distance estimation
'- ruvector-temporal-tensor -> compressed temporal buffering
|
v
Trained Neural Network (6 additional crates)
|- ruvector-graph-transformer -> CSI-to-pose cross-attention
|- ruvector-gnn -> body skeleton graph reasoning
|- ruvector-sparse-inference -> PowerInfer edge deployment
|- ruvector-sona -> LoRA + EWC++ online adaptation
|- ruvector-math -> optimal transport loss
'- ruvector-fpga-transformer -> hardware acceleration path
|
v
Output: 17 keypoints + 25 body parts + 48 UV channels + confidence
|
v
Packaged as wifi-densepose-v1.rvf (single deployable file)
RVF Container Format
The trained model ships as a single .rvf file containing everything needed for inference:
Segment
Type
Contents
Purpose
Manifest
0x05
Model ID, dataset provenance, segment directory
Container metadata
Vec
0x01
~5M model weight parameters
Neural network weights
Index
0x02
HNSW layers A/B/C over weight partitions
Sparse inference routing
Overlay
0x03
Subcarrier, antenna topology, body skeleton graphs
Pre-computed min-cut structures
Quant
0x06
INT8/FP16 codebooks, calibration stats
Weight quantization
Witness
0x0A
Training proof, Ed25519 signature, metrics
Verifiable provenance
Meta
0x07
COCO keypoints, body part labels, normalization
Model metadata
AggregateWeights
0x36
Per-environment SONA LoRA deltas
Adaptation profiles
Profile
0x0B
Input/output specs, hardware requirements
Domain declaration
Crypto
0x0C
Ed25519 public key, signature chain
Integrity verification
Wasm
0x10
WASM inference engine
Browser deployment
Dashboard
0x11
Three.js visualization UI
Embedded web UI
Progressive loading: Layer A loads in <5ms (instant startup), full accuracy in ~500ms.
Training Data Strategy
Source
Subcarriers
Labels
Volume
When
MM-Fi (NeurIPS 2023)
114 -> 56
17 COCO + DensePose UV
40 subjects, 320K frames
Phase 1 (bootstrap)
Wi-Pose (NjtechCVLab)
30 -> 56
18 keypoints
12 subjects, 166K packets
Phase 1 (diversity)
ESP32 self-collected
56 (native)
Camera teacher labels
Unlimited
Phase 5+ (fine-tuning)
Pre-train on public data -> fine-tune on your own ESP32 data -> continuous SONA adaptation at runtime.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Trained DensePose Model with RuVector Signal Intelligence Pipeline
What This Is
A complete pipeline for training, packaging, and deploying a real trained neural network that converts WiFi CSI signals into dense human body surface estimation (DensePose). This replaces the current heuristic pose derivation with a model trained on public research datasets, enhanced by RuVector signal processing algorithms, and packaged in the RVF binary container format for single-file deployment.
Why It Matters
The current system does WiFi sensing (presence, motion detection) and derives approximate pose keypoints from signal heuristics. That works, but it is not a trained model -- the keypoint positions are rule-based, not learned from data. The CMU "DensePose From WiFi" paper showed that a neural network trained on paired WiFi + camera data can produce accurate body surface UV coordinates from WiFi alone. This epic implements that capability using RuVector signal processing crates as the backbone.
What You Get
.rvffile.rvfcontainerArchitecture
RVF Container Format
The trained model ships as a single
.rvffile containing everything needed for inference:Progressive loading: Layer A loads in <5ms (instant startup), full accuracy in ~500ms.
Training Data Strategy
Pre-train on public data -> fine-tune on your own ESP32 data -> continuous SONA adaptation at runtime.
RuVector Crates Used (11 total)
Signal Processing (5, already integrated)
ruvector-attn-mincutruvector-mincutruvector-attentionruvector-solverruvector-temporal-tensorNeural Network (6, newly integrated)
ruvector-graph-transformerruvector-gnnruvector-sparse-inferenceruvector-sonaruvector-mathruvector-fpga-transformerRVF Container (8 subcrates)
rvf-typesrvf-wirervf-manifestrvf-indexrvf-quantrvf-cryptorvf-runtimervf-adapter-sonaPerformance Targets
Implementation Phases
Phase 1: Dataset Loaders (2 weeks)
MmFiDatasetloader -- read .npy, resample 114->56 viaruvector-solverWiPoseDatasetloader -- read .mat, zero-pad 30->56wifi-densepose-signalruvector-temporal-tensorPhase 2: Graph Transformer Integration (2 weeks)
ruvector-graph-transformerto ModalityTranslator bottleneckruvector-gnnbody graph reasoning (17 nodes, 16 anatomical edges)Phase 3: Teacher-Student Label Generation (1 week)
Phase 4: Training Loop (3 weeks)
WiFiDensePoseTrainerwith 6-term loss functionruvector-mathPhase 5: SONA Online Adaptation (2 weeks)
ruvector-sonaLoRA injectionPhase 6: Sparse Inference + Edge Deployment (2 weeks)
ruvector-sparse-inferencehot/cold partitioningruvector-sparse-inference-wasmPhase 7: RVF Container Build Pipeline (2 weeks)
build-rvfbinary -- serialize all segmentsverify-rvfbinary -- validate container integrityPhase 8: Sensing Server Integration (1 week)
.rvfcontainer viarvf-runtime--model wifi-densepose-v1.rvfCLI flag--ui-from-rvfserve embedded Dashboard segment--env office-3fADR Reference
Full technical details:
docs/adr/ADR-023-trained-densepose-model-ruvector-pipeline.mdRelated Issues
Related ADRs
Beta Was this translation helpful? Give feedback.
All reactions