Imagina poder saber exactamente dónde está una persona, qué postura tiene, si respira o si se ha caído, sin usar ni una sola cámara. Esto ya es una realidad gracias a WiFi DensePose: la capacidad de «ver» a través de las paredes utilizando únicamente las ondas de radio de los routers WiFi convencionales.
Este proyecto de código abierto (bajo licencia MIT) combina inteligencia artificial, procesamiento de señales y hardware asequible para crear un sistema de monitorización que respeta la privacidad como ninguna cámara podría hacerlo. Basado en el innovador sistema InvisPose, convierte los routers WiFi en potentes sensores de presencia y movimiento, reconstruyendo poses 2D y 3D en tiempo real, incluso a través de obstáculos.
¿Cómo funciona? La magia de la CSI
En esencia, WiFi DensePose utiliza la Información del Estado del Canal (CSI) de tu red WiFi. Cuando una persona se mueve, altera sutilmente la amplitud y fase de las señales de radio. El sistema captura, procesa e interpreta estas alteraciones para:
- Reconstruir la postura corporal: Genera puntos clave de articulaciones o un mapa denso de la superficie del cuerpo (DensePose).
- Monitorear signos vitales: Detecta la frecuencia respiratoria y el ritmo cardíaco sin ningún contacto.
- Funcionar a través de paredes: Las señales WiFi penetran la mayoría de los materiales de construcción.
- Ofrecer datos en tiempo real: Provee la información a través de una API REST y WebSockets para integrarla con otras aplicaciones.

Principales Características Técnicas
- Visión por radiofrecuencia: Utiliza redes neuronales para lograr resultados comparables a los sistemas ópticos, pero sin capturar imágenes.
- Seguimiento multi-persona: Identifica y sigue a múltiples individuos, manteniendo su identidad incluso cuando se cruzan.
- Hardware estándar y asequible: Funciona con chips WiFi convencionales como el ESP32-S3 (~$8) y routers comerciales. Nada de equipos militares.
- API completa para integración: Incluye endpoints REST y streaming WebSocket para conectar con cualquier plataforma SaaS, smart home o app de fitness.
- Despliegue flexible: Compatible con Docker, Kubernetes y Ansible, con documentación exhaustiva para llevarlo a producción.
¿Qué necesitas para probarlo?
El proyecto está pensado para ser «production-ready» y se despliega fácilmente con Docker:
docker pull ruvnet/wifi-densepose:latest docker run -p 3000:3000 ruvnet/wifi-densepose:latest
Opciones de hardware:
- Opción Profesional (CSI completa): Necesitas hardware que exponga la CSI. La opción más recomendada y económica es usar una malla de 3 a 6 placas ESP32-S3. También funcionan tarjetas de investigación como la Intel 5300.
- Opción Básica (Solo presencia): Si solo tienes un portátil con WiFi estándar, el sistema puede funcionar con datos RSSI, limitado a detección de presencia y movimientos gruesos.
La configuración física típica recomienda colocar los routers/ESP32 a 2-3 metros de altura, separados entre 5 y 10 metros.
Casos de Uso Reales
Las aplicaciones son enormes y abarcan múltiples campos:
- Salud y Teleasistencia: Monitorización no intrusiva de ancianos, detección de caídas y análisis de patrones de sueño, garantizando la privacidad total al no usar cámaras.
- Hogar Inteligente (Smart Home): Control de presencia para automatizar luces, detección de gestos para comandos y monitorización de la calidad del sueño.
- Realidad Virtual/Aumentada (VR/AR): Seguimiento corporal para experiencias inmersivas sin necesidad de sensores en el cuerpo.
- Respuesta a Desastres (WiFi-Mat): El proyecto incluye un módulo específico para equipos de búsqueda y rescate que puede detectar supervivientes atrapados bajo escombros.
Conectando con tu Aplicación desde Python
Acceder a los datos es muy sencillo, ya sea vía REST o WebSocket.
Ejemplo básico con REST (python):
import requests
response = requests.get("http://localhost:3000/api/v1/sensing")
data = response.json()
print(f"Personas detectadas: {len(data.get('persons', []))}")
Ejemplo de Streaming WebSocket en Tiempo Real (python):
import asyncio
import websockets
import json
async def escuchar_poses():
uri = "ws://localhost:3001/ws/sensing"
async with websockets.connect(uri) as websocket:
while True:
mensaje = await websocket.recv()
data = json.loads(mensaje)
print(f"Poses en vivo: {len(data.get('persons', []))}")
asyncio.run(escuchar_poses())
Privacidad: La Ventaja Estratégica
En un mundo donde cada vez más personas desconfían de las cámaras, WiFi DensePose ofrece una alternativa ética y técnicamente superior:
- No graba imágenes: No hay rostros, ropa ni identificación visual. Solo datos de pose y presencia.
- Permite despliegues donde las cámaras son inviables: Hospitales psiquiátricos, baños, vestuarios, habitaciones de ancianos.
- Cumple normativas de privacidad: Al no tratar datos biométricos visuales, el marco regulatorio (GDPR, CCPA) es mucho más sencillo de navegar.
En Resumen
WiFi DensePose no es solo una librería interesante; es una plataforma tecnológica que cambia las reglas del juego en monitorización humana. Representa una oportunidad única para startups que buscan diferenciarse con soluciones técnicamente sólidas y éticamente responsables.
El futuro de la monitorización no se ve, se siente. Y se siente a través del WiFi que ya nos rodea. ¿Te animas a probarlo?
Enlaces de interés: