La tarea MediaPipe Face Landmarker te permite detectar puntos de referencia faciales y expresiones faciales en imágenes y videos. Puedes usar esta tarea para identificar expresiones faciales humanas, aplicar filtros y efectos faciales, y crear avatares virtuales. En esta tarea, se usan modelos de aprendizaje automático (AA) que pueden trabajar con imágenes individuales o con un flujo continuo de imágenes. La tarea genera puntos de referencia faciales tridimensionales, puntuaciones de combinación de formas (coeficientes que representan la expresión facial) para inferir superficies faciales detalladas en tiempo real y matrices de transformación para realizar las transformaciones necesarias para la renderización de efectos.
Comenzar
Para comenzar a usar esta tarea, sigue una de las guías de implementación para tu plataforma de destino. En estas guías específicas para cada plataforma, se explica cómo implementar esta tarea de forma básica, incluido un modelo recomendado y un ejemplo de código con opciones de configuración recomendadas:
- Android: Ejemplo de código - Guía
- Python: Ejemplo de código - Guía
- Web: Ejemplo de código - Guía
Detalles de la tarea
En esta sección, se describen las capacidades, las entradas, las salidas y las opciones de configuración de esta tarea.
Funciones
- Procesamiento de imágenes de entrada: El procesamiento incluye la rotación, el cambio de tamaño, la normalización y la conversión del espacio de color de la imagen.
- Umbral de puntuación: Filtra los resultados según las puntuaciones de predicción.
| Entradas de la tarea | Resultados de la tarea |
|---|---|
El Face Landmarker acepta una entrada de uno de los siguientes tipos de datos:
|
El Face Landmarker genera los siguientes resultados:
|
Opciones de configuración
Esta tarea tiene las siguientes opciones de configuración:
| Nombre de la opción | Descripción | Rango de valores | Valor predeterminado |
|---|---|---|---|
running_mode |
Establece el modo de ejecución de la tarea. Existen tres modos: IMAGE: Es el modo para las entradas de una sola imagen. VIDEO: Es el modo para los fotogramas decodificados de un video. LIVE_STREAM: Es el modo para una transmisión en vivo de datos de entrada, como los de una cámara. En este modo, se debe llamar a resultListener para configurar un objeto de escucha que reciba resultados de forma asíncrona. |
{IMAGE, VIDEO, LIVE_STREAM} |
IMAGE |
num_faces |
Es la cantidad máxima de rostros que puede detectar el FaceLandmarker. El suavizado solo se aplica cuando num_faces se establece en 1.
|
Integer > 0 |
1 |
min_face_detection_confidence |
Es la puntuación de confianza mínima para que la detección de rostros se considere exitosa. | Float [0.0,1.0] |
0.5 |
min_face_presence_confidence |
Es la puntuación de confianza mínima de la presencia del rostro en la detección de puntos de referencia faciales. | Float [0.0,1.0] |
0.5 |
min_tracking_confidence |
Es la puntuación de confianza mínima para que el seguimiento de rostro se considere exitoso. | Float [0.0,1.0] |
0.5 |
output_face_blendshapes |
Indica si Face Landmarker genera formas de combinación facial. Los blendshapes faciales se usan para renderizar el modelo facial en 3D. | Boolean |
False |
output_facial_transformation_matrixes |
Indica si FaceLandmarker genera la matriz de transformación facial. FaceLandmarker usa la matriz para transformar los puntos de referencia faciales de un modelo facial canónico al rostro detectado, de modo que los usuarios puedan aplicar efectos en los puntos de referencia detectados. | Boolean |
False |
result_callback |
Establece el objeto de escucha de resultados para recibir los resultados de los puntos de referencia de forma asíncrona cuando FaceLandmarker está en el modo de transmisión en vivo.
Solo se puede usar cuando el modo de ejecución está establecido en LIVE_STREAM. |
ResultListener |
N/A |
Modelos
El Face Landmarker usa una serie de modelos para predecir los puntos de referencia faciales. El primer modelo detecta rostros, el segundo ubica puntos de referencia en los rostros detectados y el tercero usa esos puntos de referencia para identificar los rasgos y las expresiones faciales.
Los siguientes modelos se empaquetan en un paquete de modelos descargable:
- Modelo de detección de rostro: Detecta la presencia de rostros con algunos puntos de referencia faciales clave.
- Modelo de malla facial: Agrega una asignación completa del rostro. El modelo genera una estimación de 478 puntos de referencia faciales tridimensionales.
- Modelo de predicción de formas de combinación: Recibe la salida del modelo de malla facial y predice 52 puntuaciones de formas de combinación, que son coeficientes que representan diferentes expresiones faciales.
El modelo de detección de rostros es el modelo de BlazeFace de corto alcance, un detector de rostros ligero y preciso optimizado para la inferencia de GPU en dispositivos móviles. Para obtener más información, consulta la tarea Face Detector.
En la siguiente imagen, se muestra una asignación completa de los puntos de referencia faciales del resultado del paquete del modelo.
Para obtener una vista más detallada de los puntos de referencia faciales, consulta la imagen de tamaño completo.
| Paquete del modelo | Forma de entrada | Tipo de datos | Tarjetas de modelo | Versiones |
|---|---|---|---|---|
| FaceLandmarker | FaceDetector: 192 x 192 FaceMesh-V2: 256 x 256 Blendshape: 1 x 146 x 2 |
float 16 |
FaceDetector FaceMesh-V2 Blendshape |
Más reciente |