La funzionalità di rilevamento dei volti individua i volti umani nei contenuti multimediali come immagini o video digitali. Quando un volto viene rilevato, ha una posizione, una dimensione e un orientamento associati, e può essere cercato nei punti di riferimento come gli occhi e il naso.
Ecco alcuni dei termini che utilizziamo per la funzionalità di rilevamento dei volti di ML Kit:
Il monitoraggio dei volti estende il rilevamento dei volti alle sequenze video. È possibile monitorare qualsiasi volto presente in un video per qualsiasi durata, da un frame 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 facciale; il monitoraggio dei volti crea conclusioni solo in base alla posizione e al movimento dei volti in una sequenza video.
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. Il kit ML offre la possibilità di trovare i punti di riferimento su un volto rilevato.
Un contorno è un insieme di punti che seguono la forma di un visino. Il kit ML offre la possibilità di trovare i contorni di un volto.
La classificazione determina se è presente una determinata caratteristica del viso. Ad esempio, un volto può essere classificato a seconda che abbia gli occhi aperti o chiusi o che stia sorridendo o meno.
Orientamento facciale
I seguenti termini descrivono l'angolazione di un volto rispetto alla videocamera:
- Euler X: un volto con un'angolazione positiva di Euler X è rivolto verso l'alto.
- Euler Y: un volto con un angolo Euler Y positivo guarda a destra della fotocamera o verso sinistra se è escluso.
- Euler Z: un volto con un angolo positivo di Euler Z viene ruotato in senso antiorario rispetto alla videocamera.
ML Kit non segnala l'angolo di Euler X, Euler Y o Euler Z di un volto rilevato quando
LANDMARK_MODE_NONE
, CONTOUR_MODE_ALL
, CLASSIFICATION_MODE_NONE
e
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 ricercare punti di riferimento. Il rilevamento dei punti di riferimento è un passaggio facoltativo disattivato per impostazione predefinita.
La tabella riportata di seguito riassume tutti i punti di riferimento che possono essere rilevati data l'angolazione di Eulero Y di un volto associato:
Angolo Y di Euler | Punti di riferimento rilevabili |
---|---|
< -36 gradi | occhio sinistro, bocca sinistra, orecchio sinistro, base del naso, guancia sinistra |
Da -36 gradi a -12 gradi | bocca sinistra, base del naso, bocca inferiore, occhio destro, occhio sinistro, guancia sinistra, punta dell'orecchio 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 gradi a 36 gradi | bocca destra, base del naso, bocca inferiore, occhio sinistro, occhio destro, guancia destra, punta dell'orecchio destro |
> 36 gradi | occhio destro, bocca destra, orecchio destro, base nasale, guancia destra |
Ogni punto di riferimento rilevato include la sua posizione associata nell'immagine.
Contorni
Un contorno è un insieme di punti che rappresentano la forma di un visino. La seguente immagine illustra come questi punti vengono mappati su un volto. Fai clic sull'immagine per ingrandirla:
Ogni contorno delle funzionalità rilevato da ML Kit è rappresentato da un numero fisso di punti:
Ovale del volto | 36 punti | Labbro superiore (in alto) | 11 punti |
---|---|---|---|
Sopracciglio sinistro (in alto) | 5 punti | Labbro superiore (in basso) | 9 punti |
Sopracciglio sinistro (in basso) | 5 punti | Labbro inferiore (in alto) | 9 punti |
Sopracciglio destro (in alto) | 5 punti | Labbro inferiore (in basso) | 9 punti |
Sopracciglio (in basso) | 5 punti | Ponte nasale | 2 punti |
Occhio sinistro | 16 punti | Naso inferiore | 3 punti |
Occhio destro | 16 punti | ||
Guancia sinistra (al centro) | 1 punto | ||
Guancia destra (al centro) | 1 punto |
Quando ottieni tutti i contorni di un volto contemporaneamente, ottieni una matrice di 133 punti, che vengono mappati a caratteristiche del profilo come mostrato di seguito:
Indici di contorni delle caratteristiche | |
---|---|
0-35 | Ovale del volto |
36-40 | Sopracciglio sinistro (in alto) |
41-45 | Sopracciglio sinistro (in basso) |
46-50 | Sopracciglio destro (in alto) |
51-55 | Sopracciglio (in basso) |
56-71 | Occhio sinistro |
72-87 | Occhio destro |
88-96 | Labbro superiore (in basso) |
97-105 | Labbro inferiore (in alto) |
106-116 | Labbro superiore (in alto) |
117-125 | Labbro inferiore (in basso) |
126, 127 | Ponte nasale |
128-130 | Naso inferiore (tieni presente che il punto centrale è in indice 128) |
131 | Guancia sinistra (al centro) |
132 | Guancia destra (al centro) |
Classificazione
La classificazione determina se è presente una determinata caratteristica del viso. ML Kit al momento supporta due classificazioni: occhi aperti e sorriso.
La classificazione è un valore di certezza. Indica la certezza che sia presente una caratteristica del viso. Ad esempio, un valore pari o superiore a 0,7 per la classificazione sorridente indica che è probabile che una persona stia sorridendo.
Entrambe queste classificazioni si basano sul rilevamento dei punti di riferimento.
Nota inoltre che le classificazioni "occhi aperti" e "sorriso" funzionano solo per i volti frontali, ossia quelli con un piccolo angolo di Eulero Y (tra -18 e 18 gradi).
Dimensione minima del volto
La dimensione minima del volto è quella desiderata, espressa come rapporto tra la larghezza della testa e la larghezza dell'immagine. Ad esempio, il valore 0,1 indica che, per la ricerca del volto più piccolo, approssimativamente il 10% della larghezza dell'immagine.
La dimensione minima del volto è un compromesso tra prestazioni e precisione: impostare la dimensione minima per il rilevamento consente al rilevatore di trovare volti più piccoli, ma il rilevamento richiederà più tempo. Se imposti una dimensione maggiore, i volti più piccoli potrebbero essere esclusi, ma il tempo di esecuzione sarà più rapido.
La dimensione minima del volto non è un limite fisso; il rilevatore potrebbe rilevare volti leggermente più piccoli di quanto specificato.
Passaggi successivi
Utilizzare il rilevamento dei volti nell'app per iOS o Android: