A tarefa MediaPipe Face Landmarker permite detectar pontos de referência do rosto e expressões faciais em imagens e vídeos. É possível usar essa tarefa para identificar expressões faciais humanas, aplicar filtros e efeitos faciais e criar avatares virtuais. Essa tarefa usa modelos de machine learning (ML) que podem trabalhar com imagens únicas ou um fluxo contínuo de imagens. A tarefa gera pontos de referência faciais tridimensionais, pontuações de blendshape (coeficientes que representam a expressão facial) para inferir superfícies faciais detalhadas em tempo real e matrizes de transformação para realizar as transformações necessárias para a renderização de efeitos.
Começar
Para começar a usar essa tarefa, siga um dos guias de implementação da sua plataforma de destino. Esses guias específicos da plataforma mostram uma implementação básica dessa tarefa, incluindo um modelo recomendado e um exemplo de código com opções de configuração recomendadas:
- Android - Exemplo de código - Guia
- Python: Exemplo de código - Guia
- Web - Exemplo de código - Guia
Detalhes da tarefa
Esta seção descreve os recursos, entradas, saídas e opções de configuração dessa tarefa.
Recursos
- Processamento de imagens de entrada: inclui rotação, redimensionamento, normalização e conversão de espaço de cores.
- Limite de pontuação: filtre os resultados com base nas pontuações de previsão.
| Entradas da tarefa | Saídas da tarefa |
|---|---|
O Face Landmarker aceita uma entrada de um dos seguintes tipos de dados:
|
O Face Landmarker gera os seguintes resultados:
|
Opções de configuração
Essa tarefa tem as seguintes opções de configuração:
| Nome da opção | Descrição | Intervalo de valor | Valor padrão |
|---|---|---|---|
running_mode |
Define o modo de execução da tarefa. Há três modos: IMAGE: o modo para entradas de imagem única. VÍDEO: o modo para frames decodificados de um vídeo. LIVE_STREAM: o modo para uma transmissão ao vivo de dados de entrada, como de uma câmera. Nesse modo, "resultListener" precisa ser chamado para configurar um listener que receba resultados de forma assíncrona. |
{IMAGE, VIDEO, LIVE_STREAM} |
IMAGE |
num_faces |
O número máximo de rostos que podem ser detectados pelo
FaceLandmarker. O suavização só é aplicada quando
num_faces está definido como 1.
|
Integer > 0 |
1 |
min_face_detection_confidence |
A pontuação mínima de confiança para que a detecção de rosto seja considerada bem-sucedida. | Float [0.0,1.0] |
0.5 |
min_face_presence_confidence |
A pontuação mínima de confiança da presença de rosto na detecção de pontos de referência faciais. | Float [0.0,1.0] |
0.5 |
min_tracking_confidence |
A pontuação mínima de confiança para que o rastreamento de rosto seja considerado bem-sucedido. | Float [0.0,1.0] |
0.5 |
output_face_blendshapes |
Se o Face Landmarker gera blendshapes faciais. As unidades de forma facial são usadas para renderizar o modelo de rosto 3D. | Boolean |
False |
output_facial_transformation_matrixes |
Se o FaceLandmarker gera a matriz de transformação facial. O FaceLandmarker usa a matriz para transformar os pontos de referência do rosto de um modelo facial canônico no rosto detectado. Assim, os usuários podem aplicar efeitos nos pontos de referência detectados. | Boolean |
False |
result_callback |
Define o listener de resultados para receber os resultados do ponto de referência
de forma assíncrona quando o FaceLandmarker está no modo de transmissão ao vivo.
Só pode ser usado quando o modo de execução está definido como LIVE_STREAM |
ResultListener |
N/A |
Modelos
O Face Landmarker usa uma série de modelos para prever pontos de referência do rosto. O primeiro modelo detecta rostos, um segundo localiza pontos de referência nos rostos detectados, e um terceiro usa esses pontos para identificar características e expressões faciais.
Os seguintes modelos são agrupados em um pacote de modelos para download:
- Modelo de detecção facial: detecta a presença de rostos com alguns pontos de referência faciais importantes.
- Modelo de malha facial: adiciona um mapeamento completo do rosto. O modelo gera uma estimativa de 478 pontos de referência faciais tridimensionais.
- Modelo de previsão de blendshape: recebe a saída do modelo de malha facial e prevê 52 pontuações de blendshape, que são coeficientes que representam diferentes expressões faciais.
O modelo de detecção facial é o BlazeFace de curto alcance, um detector facial leve e preciso otimizado para inferência de GPU móvel. Para mais informações, consulte a tarefa Face Detector.
A imagem abaixo mostra um mapeamento completo de pontos de referência faciais da saída do pacote de modelo.
Para uma visão mais detalhada dos pontos de referência faciais, consulte a imagem em tamanho real.
| Pacote de modelos | Dimensão da entrada | Tipo de dado | Cards de modelo | Versões |
|---|---|---|---|---|
| FaceLandmarker | FaceDetector: 192 x 192 FaceMesh-V2: 256 x 256 Blendshape: 1 x 146 x 2 |
ponto flutuante de 16 bits |
FaceDetector FaceMesh-V2 Blendshape |
Mais recente |