Detecção facial

Com a API de detecção facial do kit de ML, é possível detectar rostos em uma imagem, identificar os principais traços faciais e obter o contorno dos rostos detectados.

Com a detecção facial, é possível receber as informações necessárias para executar tarefas como embelezar selfies e retratos ou gerar avatares da foto de um usuário. Como o Kit de ML pode realizar a detecção facial em tempo real, ele pode ser usado em aplicativos como bate-papo por vídeo ou jogos que respondem às expressões do jogador.

iOS Android

Se você é um desenvolvedor do Flutter, pode ter interesse no FlutterFire, que inclui um plug-in para as APIs de visão ML do Firebase.

Principais recursos

Reconhecer e localizar características faciais Detectar as coordenadas dos olhos, orelhas, bochechas, nariz e boca de cada rosto.
Detectar contornos das características faciais Detectar os contornos dos rostos, além de olhos, sobrancelhas, lábios e nariz.
Reconhecer expressões faciais Determinar se uma pessoa está sorrindo ou se está com os olhos fechados.
Rastrear rostos em quadros de vídeo Proporcionar um identificador para cada rosto detectado. Esse identificador é consistente nas invocações, portanto, você pode, por exemplo, realizar manipulação de imagem em uma pessoa específica em um stream de vídeo.
Processar quadros de vídeo em tempo real A detecção facial é executada no dispositivo e é rápida o suficiente para ser usada em aplicativos em tempo real, como manipulação de vídeo.

Resultados de exemplo

Exemplo 1

Para cada rosto detectado:

Rosto 1 de 3
Polígono delimitador (884.880004882812, 149.546676635742), (1030.77197265625, 149.546676635742), (1030.77197265625, 329.660278320312), (884.880004882812, 329.660278320312)
Ângulos de rotação Y: -14.054030418395996, Z: -55.007488250732422
ID de acompanhamento 2
Pontos de referência faciais
Olho esquerdo (945.869323730469, 211.867126464844)
Olho direito (971.579467773438, 247.257247924805)
Parte inferior da boca (907.756591796875, 259.714477539062)

... etc.

Probabilidades de traços
Sorrindo 0.88979166746139526
Olho esquerdo aberto 0.98635888937860727
Olho direito aberto 0.99258323386311531

Exemplo 2 (detecção de contorno facial)

Quando a detecção de contorno facial está ativada, você recebe uma lista de pontos para cada traço facial que foi detectado. Esses pontos representam a forma do traço. A imagem a seguir ilustra como esses pontos mapeiam um rosto (clique na imagem para ampliá-la):

Contornos de traços faciais
Ponte do nariz (505.149811, 221.201797), (506.987122, 313.285919)
Olho esquerdo (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 do lábio 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.)