Guida al rilevamento dei punti di riferimento dei volti

Attività di riconoscimento del volto

L'attività Indicatore del volto di MediaPipe ti consente di rilevare i punti di riferimento e le espressioni facciali all'interno di immagini e video. Con questa attività puoi identificare le espressioni facciali umane, applicare filtri ed effetti facciali e creare avatar virtuali. Questa attività utilizza modelli di machine learning (ML) che possono funzionare con immagini singole o un flusso continuo di immagini. L'attività genera punti di riferimento tridimensionali dei volti, i punteggi di miscelazione (coefficienti che rappresentano l'espressione facciale) per dedurre le superfici facciali dettagliate in tempo reale e le matrici di trasformazione per eseguire le trasformazioni richieste per il rendering degli effetti.

Prova!

Inizia

Inizia a utilizzare questa attività seguendo una delle guide all'implementazione per la tua piattaforma di destinazione. Queste guide specifiche per piattaforma illustrano un'implementazione di base di questa attività, inclusi un modello consigliato ed un esempio di codice con le opzioni di configurazione consigliate:

Dettagli attività

Questa sezione descrive le funzionalità, gli input, gli output e le opzioni di configurazione di questa attività.

Funzionalità

  • Elaborazione dell'immagine in input: l'elaborazione include la rotazione, il ridimensionamento, la normalizzazione e la conversione dello spazio colore delle immagini.
  • Soglia punteggio: filtra i risultati in base ai punteggi delle previsioni.
Input attività Output attività
L'indicatore di riferimento dei volti accetta l'input di uno dei seguenti tipi di dati:
  • Immagini statiche
  • Fotogrammi video decodificati
  • Feed video in diretta
Lo strumento di riferimento dei volti restituisce i seguenti risultati:
  • Caselle di delimitazione per i volti rilevati in una cornice immagine.
  • Una serie completa per ogni volto rilevato, con punteggi di miscelazione che indicano le espressioni facciali e le coordinate dei punti di riferimento del viso.

Opzioni di configurazione

Questa attività prevede le seguenti opzioni di configurazione:

Nome opzione Descrizione Intervallo di valori Valore predefinito
running_mode Imposta la modalità di esecuzione per l'attività. Esistono tre modalità:

IMAGE: la modalità per gli input di singole immagini.

VIDEO: la modalità per i fotogrammi decodificati di un video.

LIVE_STREAM: la modalità per un live streaming di dati di input, ad esempio da una videocamera. In questa modalità, resultListener deve essere chiamato per configurare un listener per ricevere i risultati in modo asincrono.
{IMAGE, VIDEO, LIVE_STREAM} IMAGE
num_faces Il numero massimo di volti che possono essere rilevati dall'FaceLandmarker. Il perfezionamento viene applicato solo quando num_faces è impostato su 1. Integer > 0 1
min_face_detection_confidence Il punteggio di affidabilità minimo affinché il rilevamento dei volti venga considerato efficace. Float [0.0,1.0] 0.5
min_face_presence_confidence Il punteggio di affidabilità minimo del punteggio della presenza di un volto nel rilevamento dei punti di riferimento del volto. Float [0.0,1.0] 0.5
min_tracking_confidence Il punteggio di affidabilità minimo affinché il monitoraggio dei volti venga considerato efficace. Float [0.0,1.0] 0.5
output_face_blendshapes Consente di impostare l'output delle forme dei volti in Tracciato dei volti. Le forme di fusione dei volti vengono utilizzate per il rendering del modello del volto 3D. Boolean False
output_facial_transformation_matrixes Indica se FaceLandMark restituisce la matrice di trasformazione facciale. FaceLandMark utilizza la matrice per trasformare i punti di riferimento dei volti da un modello del volto canonico al volto rilevato, in modo che gli utenti possano applicare effetti sui punti di riferimento rilevati. Boolean False
result_callback Imposta il listener di risultati per ricevere i risultati del punto di riferimento in modo asincrono quando FaceLandMark è in modalità live streaming. Può essere utilizzato solo quando la modalità di esecuzione è impostata su LIVE_STREAM ResultListener N/A

ottimizzabili

L'indicatore di riferimento dei volti utilizza una serie di modelli per prevedere i punti di riferimento dei volti. Il primo modello rileva i volti, il secondo individua i punti di riferimento sui volti rilevati, mentre il terzo utilizza questi punti di riferimento per identificare le caratteristiche e le espressioni facciali.

I seguenti modelli vengono pacchettizzati in un pacchetto di modelli scaricabile:

  • Modello di rilevamento facciale: rileva la presenza di volti con alcuni punti di riferimento principali.
  • Modello mesh dei volti: aggiunge una mappatura completa del volto. Il modello restituisce una stima di 478 punti di riferimento dei volti tridimensionali.
  • Modello di previsione di Blendshape: riceve l'output del modello di mesh del volto che prevede 52 punteggi di miscelazione, che sono coefficienti che rappresentano le diverse espressioni facciali.

Il modello di riconoscimento facciale è il modello BlazeFace a corto raggio, un rilevatore del volto leggero e preciso, ottimizzato per l'inferenza della GPU mobile. Per ulteriori informazioni, consulta l'attività Rilevamento dei volti.

La seguente immagine mostra una mappatura completa dei punti di riferimento facciali dall'output del bundle modello.

Punti chiave del punto di riferimento del volto

Per una vista più dettagliata dei punti di riferimento dei volti, guarda l'immagine a grandezza originale.

Pacchetto di modelli Forma di input Tipo di dati Schede dei modelli Versions
FaceLandmarker FaceDetector: 192 x 192
FaceMesh-V2: 256 x 256
Blendshape: 1 x 146 x 2
numero in virgola mobile 16 FaceDetector
FaceMesh-V2
Blendshape
Più recente