Detección de rostro

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

Con la detección de rostros, puedes obtener la información que necesitas para realizar tareas como embellecer selfies y retratos, o generar avatares a partir de la foto de un usuario. Debido a que ML Kit puede realizar la detección de rostros en tiempo real, puedes usarlo en aplicaciones como video chat o juegos que responden a las expresiones del jugador.

iOSAndroid _

Si es desarrollador de Flutter, es posible que le interese FlutterFire , que incluye un complemento para las API ML Vision de Firebase.

Capacidades clave

Reconocer y localizar rasgos faciales. Obtenga las coordenadas de los ojos, oídos, mejillas, nariz y boca de cada rostro detectado.
Obtener los contornos de los rasgos faciales. Obtenga los contornos de los rostros detectados y sus ojos, cejas, labios y nariz.
Reconocer expresiones faciales. Determina si una persona está sonriendo o tiene los ojos cerrados.
Seguimiento de caras en fotogramas de vídeo Obtenga un identificador para el rostro de cada persona individual que se detecte. Este identificador es consistente en todas las invocaciones, por lo que puede, por ejemplo, realizar manipulación de imágenes en una persona en particular en una transmisión de video.
Procese fotogramas de vídeo en tiempo real La detección de rostros se realiza en el dispositivo y es lo suficientemente rápida como para usarse en aplicaciones en tiempo real, como la manipulación de videos.

Resultados de ejemplo

Ejemplo 1

Para cada rostro detectado:

Cara 1 de 3
Polígono delimitador (884.880004882812, 149.546676635742), (1030.77197265625, 149.546676635742), (1030.77197265625, 329.660278320312), (884.880004882 812, 329.660278320312)
Ángulos de rotación Y: -14.054030418395996, Z: -55.007488250732422
ID de rastreo 2
Puntos de referencia faciales
Ojo izquierdo (945.869323730469, 211.867126464844)
Ojo derecho (971.579467773438, 247.257247924805)
fondo de la boca (907.756591796875, 259.714477539062)

... etc.

Probabilidades de características
Sonriente 0.88979166746139526
ojo izquierdo abierto 0.98635888937860727
ojo derecho abierto 0.99258323386311531

Ejemplo 2 (detección del contorno del rostro)

Cuando tiene habilitada la detección del contorno del rostro, también obtiene una lista de puntos para cada rasgo facial que se detectó. Estos puntos representan la forma de la característica. La siguiente imagen ilustra cómo estos puntos se asignan a una cara (haga 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), (4 42.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), (5 03.375702, 349.470459), (525.624634, 347.352783), (547.371155, 349.091980), (560.082031 , 351.693268), (570.226685, 354.210175), (575.305420, 359.257751)
(etc.)