Temas acerca de Inteligencia Artificial
Foto de Usuario
frankhuaricacha

Ranking Troomes
Mensajes: 45
Registrado: 08 Ene 2020, 20:46

App Web de Detección en tiempo real usando tapabocas. Tecnologías: Transfer Learning, Keras, OpenCV

Mensaje por frankhuaricacha » 08 May 2020, 16:47

El objetivo de este proyecto es entrenar un modelo de deep learning para detectar si una persona lleva o no un tapaboca o mascarilla. Uno de los retos de este proyecto es conseguir un dataset de personas con mascarillas. Explico quién creó este dataset y como se usó a lo largo de la publicación

FASES DEL PROCESO:
Para entrenar un detector de máscara facial personalizado, necesitamos dividir nuestro proyecto en dos fases distintas, cada una con sus propios subpasos respectivos (como se muestra en la Figura 1 anterior):
  • Entrenamiento: aquí nos enfocaremos en cargar nuestro conjunto de datos de detección de máscara facial desde el disco, entrenar un modelo (usando Keras / TensorFlow) en este conjunto de datos y guardar el modelo entrenado en un archivo. (serializarlo).
    Implementación: una vez que el detector de máscara facial está entrenado, se puede probar con nuevas imágenes o un video en tiempo real. podemos pasar a cargar la imagen/video, realizar la detección de la cara y luego clasificar cada cara como con mascarilla o sin máscara.
Dataset 🗃️

Imagen

Según Rosebrock (2020) El conjunto de datos que usaremos aquí hoy fue creado por el lector de PyImageSearch Prajna Bhandary. Este conjunto de datos consta de 1.376 imágenes que pertenecen a dos clases:
  • con_mascarilla 😷: 690 imágenes
    sin_mascarilla 😲 686 imágenes
Para crear este conjunto de datos, Prajna tuvo la ingeniosa solución de:
  • Tomar imágenes normales de caras.
    Luego, Prajna creó un script Python de visión por computadora personalizado para agregarles máscaras faciales, creando así un conjunto de datos artificial (pero aún aplicable en el mundo real)
Modelo: Red neuronal Convolucional 🧠
Transfer Learning o aprendizaje por transferencia es un método de
aprendizaje automático en el que un modelo desarrollado para una tarea se reutiliza como punto de partida para un modelo en una segunda tarea. (Goodfellow et.al.,2016).
El aprendizaje por transferencia es un método popular en la visión por
computadora porque nos permite construir modelos precisos de una manera que ahorra tiempo, en lugar de comenzar el proceso de aprendizaje desde cero, comienza a partir de patrones que se han aprendido al resolver un problema diferente. (Rawat & Wang, 2017).

referencias:
-


Responder