DISCOVER THE FUTURE OF AI AGENTSarrow_forward

WiFi DensePose

calendar_todayAdded Feb 22, 2026
categoryModel & Inference Framework
codeOpen Source
PythonDockerPyTorchMultimodalDeep LearningWeb ApplicationModel & Inference FrameworkComputer Vision & MultimodalSecurity & PrivacyMedical & Biomedicine

A production-ready implementation of InvisPose that enables real-time, camera-free full-body tracking through walls using commodity WiFi mesh routers and CSI signals, with advanced analytics like fall detection and multi-person tracking.

Project Overview#

WiFi DensePose is a revolutionary computer vision alternative that captures and analyzes Channel State Information (CSI) from WiFi signals, combined with deep learning models to reconstruct dense human pose keypoints indoors. The system addresses privacy invasion and environmental limitations of traditional camera-based pose estimation systems.

Core Value: Leverage existing WiFi infrastructure (routers) to achieve sub-second (<50ms) multi-person tracking in non-line-of-sight, dark, or occluded environments. The project provides both Python and Rust implementations, with the latter achieving hundreds of times speed improvement, suitable for edge device deployment.


Core Features#

Sensing Capabilities#

  • Camera-free Pose Estimation: Generate dense human poses using only WiFi CSI signals
  • Real-time Processing: End-to-end latency <50ms, supports 30 FPS
  • Multi-person Tracking: Track up to 10 individuals simultaneously with identity consistency
  • Through-wall Sensing: 94.2% accuracy in non-line-of-sight environments (vs cameras)

Advanced Analytics#

  • Fall Detection: 96.5% sensitivity, 94.1% specificity, with automatic alerts
  • Activity Recognition: Identify specific actions (sitting, standing, walking, etc.)
  • Occupancy Monitoring: Real-time counting of people and positions in zones
  • Vital Sign Detection: Detect 4-60 BPM breathing rate and heartbeat (for rescue scenarios)

Enterprise Features#

  • REST API & WebSocket: Standardized data interfaces and real-time streaming
  • Authentication & Security: JWT auth, rate limiting, data encryption
  • Environment Calibration: Automated tools to adapt to multipath effects in different spaces
  • Hardware Abstraction: Compatible with Intel 5300/7260, Atheros, and other NICs plus commercial routers

Performance Metrics#

MetricValue
Pose Detection Accuracy94.2%
Person Tracking Accuracy91.8%
Average Processing Time45.2ms/frame
95th Percentile Latency67ms
99th Percentile Latency89ms
Max Concurrent Connections1000+ WebSocket
API Throughput10,000 requests/min

Rust v2 Performance Optimization#

  • CSI preprocessing speed: ~1000x faster
  • Full pipeline speed: ~810x faster
  • Memory usage reduced from ~500MB to ~100MB
  • Binary size: ~10MB
  • WASM deployment support

Application Scenarios#

Healthcare#

  • Non-intrusive fall detection for nursing homes/home care
  • Activity recognition and inactivity monitoring
  • Privacy-preserving data processing

Smart Fitness#

  • Home workout form correction and counting
  • Pose analysis, form scoring, intensity metrics

Smart Home#

  • Automation based on occupant position and behavior
  • Occupancy monitoring and activity detection

Security#

  • Personnel detection through walls/smoke
  • Anomaly behavior detection

Disaster Rescue (WiFi-Mat Module)#

  • Survivor detection under debris (breathing 4-60 BPM, heartbeat)
  • 3D localization (depth up to 5 meters)
  • START triage automatic classification

Installation & Quick Start#

Installation Methods#

# Using pip (recommended)
pip install wifi-densepose

# GPU acceleration version
pip install wifi-densepose[gpu]

# Development dependencies
pip install wifi-densepose[dev]

# Install from source
git clone https://github.com/ruvnet/wifi-densepose.git
cd wifi-densepose
pip install -r requirements.txt
pip install -e .

# Docker deployment
docker pull ruvnet/wifi-densepose:latest
docker run -p 8000:8000 ruvnet/wifi-densepose:latest

System Requirements#

  • Python 3.8+
  • OS: Linux (Ubuntu 18.04+), macOS (10.15+), Windows 10+
  • Memory: Minimum 4GB RAM, recommended 8GB+
  • Storage: 2GB available space
  • Network: WiFi interface with CSI capability
  • GPU: Optional but recommended (NVIDIA CUDA)

Quick Start Code#

from wifi_densepose import WiFiDensePose

# Initialize with default configuration
system = WiFiDensePose()

# Start pose estimation
system.start()

# Get latest pose data
poses = system.get_latest_poses()
print(f"Detected {len(poses)} people")

# Stop the system
system.stop()

Mock Mode (Development without Hardware)#

export MOCK_HARDWARE=true
export MOCK_POSE_DATA=true
pytest tests/ --mock-hardware

CLI Command Line Tool#

# Server management
wifi-densepose start              # Start API server
wifi-densepose status             # Check server status
wifi-densepose stop               # Stop server
wifi-densepose version            # Display version info

# Configuration management
wifi-densepose config show        # Show current config
wifi-densepose config validate    # Validate config file
wifi-densepose config init        # Create default config

# Database management
wifi-densepose db init            # Initialize database
wifi-densepose db migrate         # Run migrations
wifi-densepose db status          # Check database status

API Endpoints#

REST API#

  • GET /api/v1/pose/latest - Get latest pose data
  • GET /api/v1/pose/history - Get historical data
  • GET /api/v1/pose/zones/{zone_id} - Get zone-specific data
  • GET /api/v1/system/status - System health and status
  • POST /api/v1/system/calibrate - Calibrate environment
  • GET /api/v1/analytics/summary - Analytics dashboard data

WebSocket Streams#

  • ws://localhost:8000/ws/pose/stream - Real-time pose data
  • ws://localhost:8000/ws/analytics/events - Analytics events (falls, alerts)
  • ws://localhost:8000/ws/system/status - System status updates

Key Configuration#

# Application settings
APP_NAME=WiFi-DensePose API
ENVIRONMENT=production
DEBUG=false

# Server settings
HOST=0.0.0.0
PORT=8000
WORKERS=4

# Security settings
SECRET_KEY=your-secure-secret-key-here
JWT_ALGORITHM=HS256
JWT_EXPIRE_HOURS=24

# Hardware settings
WIFI_INTERFACE=wlan0
CSI_BUFFER_SIZE=1000
HARDWARE_POLLING_INTERVAL=0.1

# Pose estimation settings
POSE_CONFIDENCE_THRESHOLD=0.7
POSE_PROCESSING_BATCH_SIZE=32
POSE_MAX_PERSONS=10

# Feature toggles
ENABLE_AUTHENTICATION=true
ENABLE_RATE_LIMITING=true
ENABLE_WEBSOCKETS=true
ENABLE_REAL_TIME_PROCESSING=true

System Architecture#

  1. WiFi Router (CSI Source) - Multiple routers as CSI data sources
  2. CSI Data Collector - Hardware interface to collect CSI data
  3. Signal Processor - Phase sanitization and noise filtering
  4. Neural Network Model - DensePose Head for pose estimation
  5. Person Tracker - Multi-object tracker maintaining person identity
  6. Output Layer - REST API / WebSocket / Analytics

Core Components#

  • CSI Processor: Extract and process channel state information from WiFi signals
  • Phase Sanitizer: Remove hardware-specific phase offsets and noise
  • DensePose Neural Network: Convert CSI data to human pose keypoints
  • Multi-Person Tracker: Maintain consistent person identity across frames
  • Analytics Engine: Advanced analytics including fall detection and activity recognition

Hardware Support#

  • ASUS AX6000 (RT-AX88U) - Excellent CSI quality
  • Netgear Nighthawk AX12 - High performance
  • TP-Link Archer AX73 - Budget option
  • Ubiquiti UniFi 6 Pro - Enterprise grade

CSI-Capable Devices#

  • Intel WiFi cards (5300, 7260, 8260, 9260)
  • Atheros AR9300 series
  • Broadcom BCM4366 series

Physical Deployment Recommendations#

  • Router height: 2-3 meters
  • Device spacing: 5-10 meters
  • Ensure antenna positioning for maximum signal diversity

Python SDK Example#

from wifi_densepose import WiFiDensePoseClient

# Initialize client
client = WiFiDensePoseClient(base_url="http://localhost:8000")

# Get latest poses (with confidence filtering)
poses = client.get_latest_poses(min_confidence=0.7)
print(f"Detected {len(poses)} people")

# Get zone occupancy
occupancy = client.get_zone_occupancy("living_room")
print(f"Living room occupancy: {occupancy.person_count}")

Testing & Quality#

  • Unit tests (95% coverage)
  • Integration tests
  • End-to-end tests
  • Performance tests
  • Mock tests (development without hardware)
# Run tests
pytest --cov=wifi_densepose --cov-report=html

# Load testing
ab -n 10000 -c 100 http://localhost:8000/api/v1/pose/latest

Related Projects

View All arrow_forward

STAY UPDATED

Get the latest AI tools and trends delivered straight to your inbox. No spam, just intelligence.

rocket_launch