Visión por Computadora: Contador de rostros

En esta primera fase del proyecto de Visión por Computadora el objetivo fue capturar y guardar los rostros obtenidos de una webcam, enviar la cifra de rostros que encuentra el sistema a una hoja de cálculo de Google Sheets, realizar la sumatoria y mostrar un gráfico con el resultado en tiempo real. Todo este proceso de manera automática.

En una segunda etapa, implementaré el envío de alerta por correo electrónico.

Luego trataré de entrenar mediante un modelo de aprendizaje para que reconozca rostros o gestos y de allí las posibilidades se amplían.

Este proyecto fue empleado para una demostración sobre la medición en la analítica digital en el curso de Gestión y Métricas en Redes Sociales.

Gráfico que muestra la sumatoria de rostros en una determinada hora que fueron capturados por una webcam

Gráfico de sumatoria de rostros capturados por webcam

BENEFICIOS

  • Análisis de Audiencia.
  • Medición de compromiso
  • Optimización de Contenido.
  • Integración con Experiencias Interactivas (En proyecto)
  • Conteo de Tráfico.
  • Personalización.
  • Mejora del retorno de la inversión.

FLUJO DEL PROYECTO

Configuración Inicial

Google Sheets:

  • Establecer conexión con Google Sheets a través de las credenciales.
  • Seleccionar la hoja específica.

OpenCV:

  • Inicializar cámara.
  • Cargar el clasificador Haar Cascade para detección de rostros.

Bucle Principal

a. Captura de Imagen:
  • Tomar un frame desde la cámara.
  • Convertir este frame a escala de grises.
b. Detección de Rostros:
  • Utilizar el clasificador para detectar rostros en la imagen.
  • Mostrar en consola cuántos rostros se detectaron.
c. Almacenamiento en Google Sheets:
  • Identificar la siguiente fila vacía en la hoja.
  • Verificar y asegurarse de que hay suficientes filas disponibles.
  • Guardar en la hoja la fecha y hora actual y el número de rostros detectados.
d. Captura de Rostros (si es aplicable):
  • Guardar la imagen de los rostros detectados en el directorio especificado.
e. Pausa:
  • Esperar 10 minutos antes de volver al paso "a".


REQUERIMIENTO DEL PROYECTO

Hardware:

Cámara web: Necesaria para capturar imágenes en tiempo real.

Software y Librerías:

Python: 

  • El lenguaje de programación utilizado para escribir el script.

OpenCV:

  • Librería de procesamiento de imágenes y visión por computadora.
  • Debe incluir el archivo haarcascade_frontalface_default.xml para la detección de rostros.

Gspread: 

  • Librería para interactuar con Google Sheets desde Python.

oauth2client: 

  • Librería para la autenticación con Google Sheets.

Archivo de credenciales de Google Sheets:

  • Un archivo .json para autenticarse y acceder a Google Sheets.

Google Sheets: 

  • Una hoja de cálculo creada previamente para almacenar los datos.

Datos y Recursos Adicionales:

URL de Google Sheets: 

  • URL de la hoja de cálculo donde se almacenarán los datos.

Directorio para guardar imágenes (opcional):

  • Si decides guardar imágenes de rostros, necesitas un directorio para guardarlas.

Conocimientos:

Conocimiento básico de Python: 

  • Para entender y adaptar el código.

Conocimiento básico de OpenCV: 

  • Para la detección de objetos y captura de imágenes.

Conocimientos de Google Sheets y su API: 

  • Para la autenticación y envío de datos a la hoja de cálculo.




Entradas más populares de este blog

Texto a Voz con HTML y Javascript

Experiencia VR Interactiva con A-Frame: Tutorial para Principiantes

Automatización en la redacción con Python, inteligencia artificial y web scraping