Conceptos de detección de rostro

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: