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: