Detección de rostro

Con la API de detección de rostro del Kit de AA, puedes detectar rostros en una imagen, identificar rasgos faciales clave y obtener los contornos de los rostros detectados.

Con la detección de rostro, puedes obtener la información necesaria para realizar mejoras en selfies y retratos, o generar avatares a partir de una foto del usuario. Ya que el Kit de AA puede realizar la detección de rostro en tiempo real, puedes utilizarlo en aplicaciones como chat de video o juegos que respondan a las expresiones de los jugadores.

iOS Android

Si eres desarrollador de Flutter, es posible que te interese FlutterFire, que incluye un complemento para las API de Vision del AA de Firebase.

Funciones clave

Reconocer y ubicar rasgos faciales. Obtén las coordenadas de los ojos, orejas, mejillas, nariz y boca de cada rostro detectado.
Obtener el contorno de los rasgos faciales. Obtén el contorno de los rostros detectados y el de sus ojos, cejas, labios y nariz.
Reconocer expresiones faciales. Determina si una persona está sonriendo o con los ojos cerrados.
Realizar un seguimiento de rostros a lo largo de fotogramas de video. Obtén un identificador para el rostro de cada persona individual que se detecte. Este identificador es coherente a lo largo de las invocaciones, por lo que puedes, por ejemplo, realizar una manipulación de imagen sobre una persona en particular en un flujo de video.
Procesar fotogramas de video en tiempo real. La detección de rostro se realiza en el dispositivo, y es lo suficientemente rápida para utilizarse en aplicaciones en tiempo real, como en la manipulación de video.

Resultados de ejemplo

Ejemplo 1

Para cada rostro detectado:

Rostro 1 de 3
Polígono de límite (884.880004882812, 149.546676635742), (1030.77197265625, 149.546676635742), (1030.77197265625, 329.660278320312), (884.880004882812, 329.660278320312)
Ángulos de rotación Y: -14.054030418395996, Z: -55.007488250732422
ID de seguimiento 2
Puntos de referencia facial
Ojo izquierdo (945.869323730469, 211.867126464844)
Ojo derecho (971.579467773438, 247.257247924805)
Parte inferior de la boca (907.756591796875, 259.714477539062)

… etc.

Probabilidades de característica
Sonriente 0.88979166746139526
Ojo izquierdo abierto 0.98635888937860727
Ojo derecho abierto 0.99258323386311531

Ejemplo 2 (detección del contorno del rostro)

Cuando la detección de contorno de rostro se encuentra habilitada, obtienes una lista de puntos por cada rasgo facial que se detectó. Estos puntos representan la forma del rasgo. En la siguiente imagen se ilustra cómo se asignan estos puntos a un rostro (haz clic en la imagen para ampliarla):

Contornos de rasgos faciales
Puente de la nariz (505.149811, 221.201797), (506.987122, 313.285919)
Ojo izquierdo (404.642029, 232.854431), (408.527283, 231.366623), (413.565796, 229.427856), (421.378296, 226.967682), (432.598755, 225.434143), (442.953064, 226.089508), (453.899811, 228.594818), (461.516418, 232.650467), (465.069580, 235.600845), (462.170410, 236.316147), (456.233643, 236.891602), (446.363922, 237.966888), (435.698914, 238.149323), (424.320740, 237.235168), (416.037720, 236.012115), (409.983459, 234.870300)
Parte superior del labio superior (421.662048, 354.520813), (428.103882, 349.694061), (440.847595, 348.048737), (456.549988, 346.295532), (480.526489, 346.089294), (503.375702, 349.470459), (525.624634, 347.352783), (547.371155, 349.091980), (560.082031, 351.693268), (570.226685, 354.210175), (575.305420, 359.257751)
(etc.)