Concetti sul rilevamento dei volti

La funzionalità di rilevamento dei volti individua i volti umani nei supporti visivi, come immagini o video digitali. Quando viene rilevato un volto, questo è associato a posizione, dimensione e orientamento; inoltre, è possibile cercare punti di riferimento come occhi e naso.

Ecco alcuni dei termini utilizzati in merito alla funzionalità di rilevamento facciale di ML Kit:

  • Il monitoraggio dei volti estende il rilevamento dei volti alle sequenze video. Ogni volto visualizzato in un video per qualsiasi durata può essere tracciato da un fotogramma all'altro. Ciò significa che un volto rilevato in fotogrammi video consecutivi può essere identificato come la stessa persona. Tieni presente che questa non è una forma di riconoscimento dei volti; il rilevamento dei volti trae solo conclusioni basate sulla posizione e sul movimento dei volti in una sequenza video.

  • Un punto di riferimento è un punto d'interesse all'interno di un volto. L'occhio sinistro, l'occhio destro e la base del naso sono tutti esempi di punti di riferimento. ML Kit consente di individuare i punti di riferimento su un volto rilevato.

  • Un contorno è un insieme di punti che seguono la forma di una caratteristica del viso. ML Kit consente di individuare i contorni di un viso.

  • La classificazione determina se è presente una determinata caratteristica facciale. Ad esempio, è possibile classificare un volto in base al fatto che gli occhi siano aperti o chiusi oppure che il volto stia sorridendo o meno.

Orientamento del volto

I seguenti termini descrivono l'angolazione di orientamento di un volto rispetto alla videocamera:

  • Eulero X: una faccia con un angolo di Eulero X positivo che è rivolta verso l'alto.
  • Eulero Y: una faccia con un angolo di Eulero Y positivo guarda a destra della fotocamera o a sinistra se negativa.
  • Eulero Z: una faccia con un angolo di Eulero Z positivo viene ruotata in senso antiorario rispetto alla fotocamera.

ML Kit non segnala l'angolo di Eulero X, Eulero Y o Eulero Z di un volto rilevato quando LANDMARK_MODE_NONE, CONTOUR_MODE_ALL, CLASSIFICATION_MODE_NONE ed PERFORMANCE_MODE_FAST sono impostati insieme.

Punti di riferimento

Un punto di riferimento è un punto di interesse all'interno di un volto. L'occhio sinistro, l'occhio destro e la base del naso sono tutti esempi di punti di riferimento.

ML Kit rileva i volti senza cercare i punti di riferimento. Il rilevamento dei punti di riferimento è un passaggio facoltativo, disabilitato per impostazione predefinita.

La seguente tabella riassume tutti i punti di riferimento che possono essere rilevati data l'angolo di Eulero Y di una faccia associata:

Angolo di Eulero Y Punti di riferimento rilevabili
< -36 gradi occhio sinistro, bocca sinistra, orecchio sinistro, base del naso, guancia sinistra
Da -36 a -12 gradi bocca sinistra, base del naso, bocca inferiore, occhio destro, occhio sinistro, guancia sinistra, inserto sinistro
Da -12 a 12 gradi occhio destro, occhio sinistro, base del naso, guancia sinistra, guancia destra, bocca sinistra, bocca destra, bocca inferiore
Da 12 a 36 gradi bocca destra, base del naso, bocca inferiore, occhio sinistro, occhio destro, guancia destra, inserto destro
> 36 gradi occhio destro, bocca destra, orecchio destro, base naso, guancia destra

Ogni punto di riferimento rilevato include la posizione associata nell'immagine.

Contorni

Un contorno è un insieme di punti che rappresentano la forma di una caratteristica del viso. L'immagine seguente illustra come questi punti vengano mappati a un volto. Fai clic sull'immagine per ingrandirla:

Ogni contorno di funzionalità rilevato da ML Kit è rappresentato da un numero fisso di punti:

Faccina ovale 36 punti Labbro superiore (superiore) 11 punti
Sopracciglio sinistro (superiore) 5 punti Labbro superiore (in basso) 9 punti
Sopracciglio sinistro (in basso) 5 punti Labbro inferiore (superiore) 9 punti
Sopracciglio destro (superiore) 5 punti Labbro inferiore (in basso) 9 punti
Sopracciglio destro (in basso) 5 punti Ponte nasale 2 punti
Occhio sinistro 16 punti Naso in basso 3 punti
Occhio destro 16 punti
Guancia sinistra (al centro) 1 punto
Guancia destra (al centro) 1 punto

Quando visualizzi tutti i contorni di un volto contemporaneamente, ottieni un array di 133 punti, che mappano i contorni come mostrato di seguito:

Indici di profili delle caratteristiche
0-35 Faccina ovale
36-40 Sopracciglio sinistro (superiore)
41-45 Sopracciglio sinistro (in basso)
46-50 Sopracciglio destro (superiore)
51-55 Sopracciglio destro (in basso)
56-71 Occhio sinistro
72-87 Occhio destro
88-96 Labbro superiore (in basso)
97-105 Labbro inferiore (superiore)
106-116 Labbro superiore (superiore)
117-125 Labbro inferiore (in basso)
126 Ponte nasale
128-130 Nose in basso (tieni presente che il punto centrale si trova all'indice 128)
131 Guancia sinistra (al centro)
132 Guancia destra (al centro)

Classificazione

La classificazione determina se è presente una determinata caratteristica del volto. ML Kit al momento supporta due classificazioni: occhi aperti e sorridere.

La classificazione è un valore di certezza. Indica con sicurezza la presenza di una caratteristica facciale. Ad esempio, un valore pari o superiore a 0,7 per la classificazione come sorridente indica che è probabile che una persona stia sorridendo.

Entrambe queste classificazioni si basano sul rilevamento dei punti di riferimento.

Inoltre, tieni presente che le classificazioni "occhi aperti" e "sorridente" sono compatibili solo con i volti frontali, ovvero con un angolo di Eulero Y ridotto (tra -18 e 18 gradi).

Dimensioni minime del volto

Le dimensioni minime del volto corrispondono alle dimensioni desiderate del volto, espresse come rapporto tra la larghezza della testa e la larghezza dell'immagine. Ad esempio, il valore 0,1 indica che il volto più piccolo da cercare corrisponde a circa il 10% della larghezza dell'immagine cercata.

La dimensione minima dei volti è un compromesso tra prestazioni e precisione: impostando una dimensione minima inferiore, il rilevatore può trovare i volti più piccoli, ma il rilevamento richiederà più tempo; l'impostazione di dimensioni più grandi potrebbe escludere i volti più piccoli, ma sarà più veloce.

Le dimensioni minime dei volti non sono un limite fisso; il rilevatore potrebbe individuare volti leggermente più piccoli di quanto specificato.

Passaggi successivi

Usa il rilevamento dei volti nell'app per iOS o Android: