- Resumen del stack
- Arquitectura y flujo de datos
- Requisitos previos
- Configuración rápida
- Variables de entorno
- Scripts habituales
- API interna
- Frontend
- Workflows recomendados
- Roadmap
Sistema de Reconocimiento Facial
Primero ingrese una foto en modo New y luego reconozca su cara en modo Recognize
| Componente | Descripción |
|---|---|
| ⚙️ Backend |
expone /capture y /recognize contra CompreFace |
| 🧠 CompreFace |
orquestado vía 🐳 Docker desde CompreFaceDok |
| ⚛️ Frontend |
interfaz WebCam en FrontEnd/faceApp |
| 💾 Almacenamiento temporal | imágenes intermedias en TempImage/ e image/ |
flowchart LR
A[WebCam en navegador] -->|Foto base64| B[/Backend Node.js/]
B -->|Forwarding| C[CompreFace API]
C -->|Resultado JSON| B -->|payload normalizado| A
WebCaptureobtiene frames conreact-webcam.- Se dispara
/capturepara inscribir un rostro nuevo o/recognizepara compararlo. - El backend formatea la imagen y la envía al stack CompreFace levantado desde Docker.
- El frontend muestra similitud, probabilidad y metadatos.
- ⚙️ Node.js ≥ 18 y 📦 npm/pnpm
- 🐳 Docker + Docker Compose (para 🧠 CompreFace)
- 📷 Cámara local o virtual habilitada en el navegador
- 🔐 Variables
.envconfiguradas tanto en la raíz como enFrontEnd/faceApp/yCompreFaceDok/
- **⚙️ Backend **
npm install npm run dev
- 🧠 CompreFace sobre Docker
cd CompreFaceDok docker compose up -d - ⚛️ Frontend Vite + React + TS
cd FrontEnd/faceApp npm install npm run dev - Abrir
http://localhost:5173(o el puerto configurado) y probar la cámara.
| Archivo | Clave | Significado |
|---|---|---|
.env |
PORT, COMPREFACE_URL, COMPREFACE_KEY |
⚙️ Backend / proxy hacia 🧠 CompreFace |
FrontEnd/faceApp/.env |
VITE_API_URL |
URL pública del ⚛️ frontend |
CompreFaceDok/.env |
Credenciales y llaves internas | Servicio 🧠 CompreFace |
npm run dev· modo desarrollo con recarga.npm run start· ejecución productiva.
npm run dev· servidor local de ⚡ Vite.npm run build· bundle listo para deploy.npm run preview· verificación del build.
docker compose up -d· levanta los contenedores.docker compose logs -f· seguimiento de inferencias.
| Método | Endpoint | Cuerpo | Respuesta |
|---|---|---|---|
POST |
/capture |
{ image: string, name: string } |
Detalles del rostro agregado |
POST |
/recognize |
{ image: string } |
Lista de sujetos, similitud y caja |
Las imágenes se envían en base64 (
data:image/jpeg;base64,...).
En el frontend puedes alternar entre modos New y Recognize mediante el selector integrado en WebCapture.
- Basado en Vite + React + TS; estilos locales por componente
src/components/TodosLosComponentes.css. react-webcamcaptura imágenes a 1280×720, espejo activado.- Manejo de estados para resultados positivos, vacíos y errores.
- UI responsiva con botón único que cambia de comportamiento según el modo seleccionado.
- Entrenamiento rápido
- Selecciona New, captura varias fotos por sujeto con diferentes ángulos.
- Verifica en la respuesta que recibes
image_id.
- Reconocimiento
- Cambia a Recognize y compara contra la galería creada.
- Ajusta umbrales en CompreFace si necesitas mayor precisión.
- Depuración
- Usa el panel
docker compose logspara revisar el pipeline ML. - Activa el inspector de red del navegador y valida payloads.
- Usa el panel
- Persistencia avanzada de perfiles con metadatos externos.
- Notificaciones push cuando se detecte un rostro conocido.
- Optimización WebGL para filtros previos a la captura.
- Tests e2e para la UI de cámara.
