La detección de rostro busca rostros humanos en medios visuales, como imágenes o videos digitales. Cuando se detecta un rostro, tiene una posición, un tamaño y una orientación asociados, y se puede buscar por puntos de referencia, como los ojos y la nariz.
Estos son algunos de los términos que usamos en relación con la función de detección de rostro del ML Kit:
El seguimiento de rostros extiende la detección a secuencias de video. Cualquier rostro que aparezca en un video durante cualquier período se puede hacer un seguimiento de fotograma a fotograma. Esto significa que un rostro detectado en fotogramas consecutivos de un video se puede identificar como la misma persona. Ten en cuenta que esta no es una forma de reconocimiento de rostros; el seguimiento de rostros solo realiza inferencias basadas en la posición y el movimiento de los rostros en una secuencia de video.
Un punto de referencia es un lugar de interés en un rostro. El ojo izquierdo, el ojo derecho y la base de la nariz son ejemplos de puntos de referencia. El Kit de AA proporciona la capacidad de encontrar puntos de referencia en un rostro detectado.
Un contorno es un conjunto de puntos que siguen la forma de una característica facial. El ML Kit brinda la capacidad de encontrar los contornos de un rostro.
La clasificación determina si se encuentra alguna característica facial. Por ejemplo, un rostro se puede clasificar por si tiene los ojos abiertos o cerrados, o por si sonríe o no.
Orientación del rostro
Los siguientes términos describen el ángulo de orientación de un rostro con respecto a la cámara:
- Euler X: Un rostro con un ángulo de Euler X positivo mira hacia arriba.
- Euler Y: Un rostro con un ángulo de Euler Y positivo mira hacia la derecha de la cámara o hacia la izquierda si es negativo.
- Euler Z: Un rostro con un ángulo de Euler Z positivo se rota en sentido contrario a las manecillas del reloj respecto de la cámara.
El ML Kit no informa el ángulo de Euler X, Euler Y ni Euler Z de un rostro detectado cuando LANDMARK_MODE_NONE
, CONTOUR_MODE_ALL
, CLASSIFICATION_MODE_NONE
y PERFORMANCE_MODE_FAST
se configuran juntos.
Puntos de referencia
Un punto de referencia es un lugar de interés en un rostro. El ojo izquierdo, el ojo derecho y la base de la nariz son ejemplos de puntos de referencia.
ML Kit detecta rostros sin buscar puntos de referencia. La detección de puntos de referencia es un paso opcional que está inhabilitado de forma predeterminada.
En la siguiente tabla, se resumen todos los puntos de referencia que se pueden detectar dado el ángulo Euler Y de un rostro asociado:
Ángulo Euler Y | Puntos de referencia detectables |
---|---|
Menos de -36 grados | ojo izquierdo, boca izquierda, oreja izquierda, base de la nariz, mejilla izquierda |
De -36 a -12 grados | boca izquierda, base de la nariz, parte inferior de la boca, ojo derecho, ojo izquierdo, mejilla izquierda, punta de la oreja izquierda |
De -12 a 12 grados | ojo derecho, ojo izquierdo, base de la nariz, mejilla izquierda, mejilla derecha, boca izquierda, boca derecha, parte inferior de la boca |
De 12 a 36 grados | boca derecha, base de la nariz, parte inferior de la boca, ojo izquierdo, ojo derecho, mejilla derecha, punta de la oreja derecha |
Más de 36 grados | ojo derecho, boca derecha, oreja derecha, base de la nariz, mejilla derecha |
Cada punto de referencia detectado incluye su posición asociada en la imagen.
Contornos
Un contorno es un conjunto de puntos que representan la forma de una característica facial. En la siguiente imagen, se ilustra cómo se asignan estos puntos a un rostro. Haz clic en la imagen para ampliarla:
El contorno de cada característica que detecta el Kit de AA se representa con una cantidad fija de puntos:
Óvalo de rostro | 36 puntos | Labio superior (parte superior) | 11 puntos |
---|---|---|---|
Ceja izquierda (parte superior) | 5 puntos | Labio superior (parte inferior) | 9 puntos |
Ceja izquierda (parte inferior) | 5 puntos | Labio inferior (parte superior) | 9 puntos |
Ceja derecha (parte superior) | 5 puntos | Labio inferior (parte inferior) | 9 puntos |
Ceja derecha (parte inferior) | 5 puntos | Puente nasal | 2 puntos |
Ojo izquierdo | 16 puntos | Parte inferior de la nariz | 3 puntos |
Ojo derecho | 16 puntos | ||
Mejilla izquierda (centro) | 1 punto | ||
Mejilla derecha (centro) | 1 punto |
Cuando obtienes todos los contornos de un rostro a la vez, se obtiene un array de 133 puntos, que se asignan a los contornos de los rasgos como se muestra a continuación:
Índices de contornos de características | |
---|---|
0-35 | Óvalo de rostro |
36-40 | Ceja izquierda (parte superior) |
41-45 | Ceja izquierda (parte inferior) |
46-50 | Ceja derecha (parte superior) |
51-55 | Ceja derecha (parte inferior) |
56-71 | Ojo izquierdo |
72-87 | Ojo derecho |
88-96 | Labio superior (parte inferior) |
97-105 | Labio inferior (parte superior) |
106-116 | Labio superior (parte superior) |
117-125 | Labio inferior (parte inferior) |
126, 127 | Puente nasal |
128-130 | Parte inferior de la nariz (ten en cuenta que el punto central está en el índice 128) |
131 | Mejilla izquierda (centro) |
132 | Mejilla derecha (centro) |
Clasificación
La clasificación determina si se encuentra alguna característica facial. Actualmente, el Kit de AA es compatible con dos clasificaciones: ojos abiertos y sonriendo.
La clasificación es un valor de certeza. Indica la confianza en que una característica facial está presente. Por ejemplo, un valor de 0.7 o más para la clasificación de sonrisa indica que es probable que una persona esté sonriendo.
Ambas clasificaciones se basan en la detección de puntos de referencia.
También ten en cuenta que las clasificaciones "ojos abiertos" y "sonriente" solo funcionan para rostros frontales, es decir, rostros con un pequeño ángulo de Euler Y (entre -18 y 18 grados).
Tamaño mínimo de la cara
El tamaño mínimo del rostro corresponde al tamaño deseado, expresado como la proporción entre el ancho de la cabeza y el ancho de la imagen. Por ejemplo, el valor de 0.1 significa que el rostro más pequeño que se debe buscar es aproximadamente el 10% del ancho de la imagen que se está buscando.
El tamaño mínimo de rostro es una compensación entre el rendimiento y la precisión: establecer un tamaño mínimo más pequeño permite que el detector encuentre rostros más pequeños, pero la detección tardará más tiempo; si lo estableces más grande, es posible que se excluyan los rostros más pequeños, pero se ejecutará más rápido.
El tamaño mínimo del rostro no es un límite estricto; el detector podría encontrar rostros un poco más pequeños que lo especificado.
Próximos pasos
Usa la detección de rostro en la app para iOS o Android: