Concetti sul rilevamento dei volti

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_FASTsono 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: