Skip to content

sgerritsen2/NodDetect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NodDetect

El Problema

La fatiga es una de las principales causas de accidentes mortales en el trabajo, especialmente para conductores de camiones de larga distancia, operadores de maquinaria pesada y trabajadores del turno de noche. Los sistemas de monitorización tradicionales suelen requerir un hardware costoso y propietario, suponen un riesgo para la privacidad al enviar vídeo a la nube para ser procesado, y requieren instalaciones complejas.

¿Por qué se desarrolló NodDetect?

NodDetect es un sistema de detección de fatiga cognitiva en tiempo real y seguro para la privacidad que se ejecuta íntegramente en el navegador. Utilizando la cámara web del dispositivo y procesamiento de IA local (WASM/WebGPU), extraemos señales biométricas críticas sin enviar un solo píxel o byte de datos a ningún servidor.

Características Clave y Privacidad:

  • Inferencia 100% en el dispositivo: Todo el seguimiento de la cara y el cálculo se realiza localmente. Ningún dato abandona la pestaña del navegador.
  • Sin nube, sin API, sin inicios de sesión: Funciona sin conexión (Offline) una vez cargado.
  • Agnóstico al Hardware: Funciona en cualquier smartphone, tablet o portátil estándar con una cámara y un navegador web moderno.

¿Cómo Funciona?

El sistema utiliza MediaPipe FaceMesh para rastrear 468 puntos faciales a 30 FPS y extraer tres señales biométricas principales:

  1. Relación de Aspecto Ocular (EAR - Eye Aspect Ratio): Mide la tasa de parpadeo y detecta los "microsueños" (cierres prolongados muy peligrosos).
  2. Desviación de Gaze (Mirada): Rastrea las posiciones del iris para detectar la pérdida de enfoque o una "mirada perdida".
  3. Postura de la Cabeza (Head Pose): Monitorea el cabeceo, la guiñada y el balanceo (pitch, yaw, roll) para detectar si el usuario asiente por quedarse dormido.

Estas señales alimentan un modelo heurístico/clasificador (ONNX) para emitir un % de fatiga en vivo y detonar un sistema de alertas escalonadas visuales y sonoras para despertar al conductor antes de que ocurra un accidente.

Capturas de Pantalla

Dashboard View Vista principal del dashboard con las métricas en tiempo real.

Alerta de Microsueño Alerta roja desencadenada por evento de microsueño.

Stack Tecnológico

  • Frontend Framework: Vanilla JavaScript + HTML5.
  • Herramienta de Construcción: Vite (Rápido, ligero y sin configuraciones complejas).
  • Computer Vision: MediaPipe FaceMesh (WASM).
  • Estilos: Tailwind CSS.
  • Machine Learning Inference: ONNX Runtime Web (Proyectado para la Fase 3).

Instalación y Uso (Desarrollo Local)

Para correr este proyecto en tu máquina local:

Requisitos Previos

  • Node.js (v16 o superior recomendado)
  • Una cámara web funcional.

Pasos

  1. Clonar el repositorio:

    git clone https://github.com/sgerritsen2/NodDetect.git
    cd NodDetect
  2. Instalar las dependencias:

    npm install
  3. Iniciar el servidor de desarrollo:

    npm run dev
  4. Abrir en el navegador:

    • Ve a http://localhost:5173 (o la ruta que te indique la terminal de Vite).
    • Nota: La primera vez que presiones "Start Monitor", el navegador te pedirá permiso para acceder a la cámara. Debes aceptar para que el tracker inicie.

Estructura del Proyecto

noddetect/
├── public/                 # Assets estáticos y PWA manifest (pronto)
├── src/
│   ├── core/               # Lógica de cálculo (EAR, Gaze, FaceMesh, Classifier)
│   ├── ui/                 # Controladores de UI (Dashboard, Cámara, Alertas)
│   ├── model/              # Modelos ONNX locales
│   ├── styles/             # CSS base
│   └── main.js             # Punto de entrada y orquestador
├── index.html              # Estructura del dashboard
├── package.json            # Dependencias y scripts
└── vite.config.js          # Configuración de empaquetado (opcional)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors