Sobre el proyecto

Un repositorio que contiene tanto una demo de investigación como una aplicación web empaquetada para la detección facial que se ejecuta enteramente en el navegador. Toda la inferencia ocurre en el lado del cliente a través de face-api.js sobre TensorFlow.js; el contenedor solo sirve archivos estáticos y pesos del modelo. Se incluye un enlace a una demo en vivo en face.jedarden.com, y el README indica que el repositorio es un espejo de solo lectura de un host de Git externo. Se describen dos directorios principales. El primero, research/face-detection-lite, contiene notas sobre enfoques de detección facial (Viola-Jones con cascadas de Haar, HOG más SVM y detectores basados en CNN), una colección de material fuente en papers/, y una página estática que ejecuta face-api.js contra la cámara web con una opción entre Tiny Face Detector y SSD MobileNet v1, además de modelos opcionales de puntos de referencia (landmarks), expresiones y edad/género. Una carpeta adicional, research/face-detection-pro, contiene notas en markdown sobre la detección de puntos de referencia. La demo de investigación se inicia con un simple python3 -m http.server. El segundo, docker-app, es una aplicación de página única construida con webpack y servida por nginx con dos modos. El modo Lite dibuja cuadros delimitadores mediante el Tiny Face Detector con un umbral ajustable, impulsado por requestAnimationFrame. El modo Pro utiliza SSD MobileNet v1 junto con un modelo de puntos de referencia de 68 puntos, reconocimiento de expresiones sobre las siete clases de expresiones de face-api.js, y estimación de edad/género, con superposiciones para puntos de referencia, contornos, expresiones y datos demográficos. Se indica que el modo Pro es más pesado y lento. Las características adicionales incluyen la selección de cámara cuando hay varias presentes, una superposición de diagnóstico activable que informa sobre FPS, memoria y tiempos, y un punto de entrada para el backend WASM de TensorFlow.js con una comprobación de compatibilidad. El README documenta un Dockerfile de múltiples etapas (constructor Node, tiempo de ejecución nginx:alpine), una imagen de aproximadamente 80 MB comprimida para la etiqueta 2.0.5 en GHCR, un Docker HEALTHCHECK con un endpoint de /health en nginx, y HTTPS en el puerto 8443 utilizando un certificado autofirmado en tiempo de compilación que puede reemplazarse montando certificados en /etc/nginx/ssl. Las instrucciones de inicio rápido cubren la descarga de ghcr.io/jedarden/face-detection:2.0.5, la ejecución desde el código fuente con docker-compose y un perfil de desarrollo en el puerto 3000. Las pruebas se describen como pruebas unitarias y de integración con Jest, pruebas E2E con Puppeteer, especificaciones de Playwright y un archivo de pruebas de seguridad. Se menciona la versión 1.1.0 como una actualización de dependencias en respuesta a los hallazgos de npm audit, con una guía de migración de seguridad enlazada; el archivo security-audit.json incluido se describe como una instantánea puntual de nueve hallazgos. El README establece que no se incluyen cifras de benchmark y que la tasa de fotogramas depende del backend del navegador anfitrión, mostrándose en vivo en la superposición de la aplicación. Los requisitos del navegador son getUserMedia y soporte para WebGL o WebAssembly. El código propio del proyecto tiene licencia MIT, mientras que los pesos de los modelos y las librerías llevan sus propias licencias en LICENSES/. El README también registra el proceso de desarrollo asistido por IA y guiado por prompts, así como las decisiones arquitectónicas tomadas, incluyendo la elección de JavaScript puro sobre un framework y la inferencia en el lado del navegador.