Detección de expresiones faciales usando el módulo Deepface en Python

En este artículo, vamos a detectar la expresión facial de una imagen ya existente usando módulos OpenCV, Deepface y matplotlib en python.

Módulo necesario

  • OpenCV: OpenCV es una biblioteca de código abierto en python que se utiliza para la visión artificial, el aprendizaje automático y el procesamiento de imágenes.
  • Matplotlib: Matplotlib es una biblioteca completa para crear visualizaciones estáticas, animadas e interactivas en Python.
  • Deepface: Deepface fue creado por un grupo de investigadores de inteligencia artificial en Facebook. Es un framework en python para reconocimiento facial y análisis de atributos. Los componentes principales de la biblioteca de Deepface se utilizan en Keras y TensorFlow.
pip install deepface

Esta es la técnica de detección de expresión más básica y hay varias formas en las que podemos detectar la expresión facial. 

Implementación paso a paso

Paso 1: Importación del módulo requerido.

Python3

#import the required modules
import cv2
import matplotlib.pyplot as plt
from deepface import DeepFace

Paso 2: copie la ruta de la imagen de la que se realizará la detección de expresión, lea la imagen usando el método «imread()» en cv2 proporcionando la ruta dentro del paréntesis. imread() lee la imagen del archivo y la almacena en una array. Luego use el método imshow() de matplotlib. El método imshow() convierte datos en imágenes. Ahora trace la imagen usando el método show para asegurarse de que la imagen se haya importado correctamente.

Python3

# read image
img = cv2.imread('img1.jpg')
  
# call imshow() using plt object
plt.imshow(img[:, :, : : -1])
  
# display that image
plt.show()

Producción:

Imagen de salida

Paso 3: Cree una variable de resultado que almacenará el resultado. Use el método Deepface Analyze(), el método Deepface Analyze() contiene funciones sólidas de análisis de atributos faciales, como la edad, el género y las expresiones faciales. Las expresiones faciales incluyen ira, miedo, neutral, tristeza, disgusto, felicidad y sorpresa. Imprime el resultado. El resultado muestra el porcentaje de expresiones faciales de la persona.

Python3

# storing the result
result = DeepFace.analyze(img,
                          actions = ['emotion'])
  
# print result
print(result)

Producción:

El resultado muestra que esa persona es 96% feliz.

A continuación se muestra la implementación completa:

Python3

# import the required modules
import cv2
import matplotlib.pyplot as plt
from deepface import DeepFace
  
# read image
img = cv2.imread('img.jpg')
  
# call imshow() using plt object
plt.imshow(img[:,:,::-1])
  
# display that image
plt.show()
  
# storing the result
result = DeepFace.analyze(img,actions=['emotion'])
  
# print result
print(result)

Producción:

Publicación traducida automáticamente

Artículo escrito por jyotinigam2370 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *