
room-occupancy-co2
Un sensor de CO₂. Detectar si hay gente sin cámara, sin micrófono, sin nada más.
El problema
Las soluciones de detección de ocupación de sala que realmente funcionan (cámaras, sensores PIR, contadores de personas) cuestan cientos de euros por sala y generan datos sensibles. ¿Cuánto se puede hacer con un único sensor de CO₂ de 20€? Esa pregunta tiene un límite físico: el CO₂ mide concentración de gas, no personas. El reto es saber exactamente dónde está ese límite y sacar todo lo posible de él.
Los datos
Dataset de una sala de reuniones real con sensor de CO₂, temperatura y humedad a resolución de 1 minuto. Etiquetas de ocupación (0/1) recogidas de forma independiente de la señal de CO₂. El dataset cubre distintos patrones de uso: reuniones cortas, sesiones largas, ventilación esporádica.
Enfoque
- Reformulación como problema de estado latente: la ocupación no se observa directamente, el CO₂ es un proxy ruidoso con inercia — eso es un HMM, no una clasificación directa
- Algoritmo de Viterbi sobre el HMM: encuentra la secuencia de estados (ocupado/libre) más probable dada la secuencia de observaciones de CO₂
- Modelado explícito de la inercia: el CO₂ tarda entre 5 y 15 minutos en reflejar un cambio de ocupación — el modelo lo sabe y no reacciona a cada pico
- Histéresis en los umbrales de transición para evitar estados oscilantes por ruido del sensor
- Comparativa con clasificación directa por umbral: el HMM gana en transiciones, pierde en velocidad de reacción — ambas opciones están documentadas
Herramientas
Resultado
Detección de ocupación binaria fiable con un único sensor de bajo coste. El resultado más valioso no es la accuracy: es el análisis explícito del límite físico. Intentar predecir cuántas personas hay con un sensor de CO₂ es un error de planteamiento — el gas no lleva esa información. El proyecto lo demuestra con datos.
Próximos pasos
La extensión directa es añadir un segundo sensor (temperatura o VOC) para mejorar la velocidad de detección en transiciones — el CO₂ solo es lento. También queda explorar si el modelo generaliza a otras salas sin reentrenar, o si necesita calibración por sala por las diferencias de ventilación y volumen.