Rilevamento dei volti, attributi e dati di input

Attenzione

L'accesso al servizio Viso è limitato in base ai criteri di idoneità e utilizzo al fine di supportare i nostri principi di intelligenza artificiale responsabile. Il servizio Viso è disponibile solo per i clienti e i partner gestiti da Microsoft. Usare il modulo di acquisizione riconoscimento volto per richiedere l'accesso. Per altre informazioni, vedere la pagina Accesso limitato dalla funzione Viso.

Importante

Gli attributi relativi al viso vengono stimati tramite l'uso di algoritmi statistici. Potrebbero non essere sempre accurati. Prestare attenzione quando si effettuano decisioni basate sui dati degli attributi. Non usare questi attributi per lo spoofing. È invece consigliabile usare il rilevamento di Liveness viso. Per altre informazioni, vedere Esercitazione: Rilevare la vivacità nei visi.

Questo articolo descrive i concetti associati ai dati relativi al rilevamento dei volti e all'attributo viso. Il rilevamento dei volti è il processo di individuazione dei visi umani in un'immagine e, facoltativamente, la restituzione di diversi tipi di dati correlati al viso.

Usare l'API Rileva per rilevare i visi in un'immagine. Per iniziare a usare l'API REST o un SDK client, seguire le indicazioni fornite nelle istruzioni di avvio rapido. In alternativa, per una guida più approfondita, vedere Chiamare l'API di rilevamento.

Rettangolo del viso

Ogni viso rilevato corrisponde a un campo faceRectangle nella risposta. Si tratta di un set di coordinate pixel per lato sinistro, lato superiore, larghezza e altezza del viso rilevato. Usando queste coordinate, è possibile ottenere la posizione e le dimensioni del viso. Nella risposta API i visi sono elencati in ordine di dimensioni, dal più grande al più piccolo.

Provare le funzionalità di rilevamento volto in modo semplice e rapido usando Vision Studio.

ID viso

L'ID viso è una stringa di identificatore univoco per ogni viso rilevato in un'immagine. L'ID viso richiede un'approvazione con accesso limitato, che è possibile richiedere compilando il modulo di acquisizione. Per altre informazioni, vedere la pagina relativa all'accesso limitato alla funzione Viso. È possibile richiedere un ID viso nella chiamata ALL'API Detect .

Punti di riferimento del viso

I punti di riferimento del viso sono una serie di punti facili da trovare su un volto, come le pupille o la punta del naso. Per impostazione predefinita, esistono 27 punti di riferimento predefiniti. La figura seguente mostra tutti i 27 punti:

Diagramma viso con tutti e 27 i punti di riferimento etichettati

Le coordinate dei punti vengono restituite in unità di pixel.

Attualmente il modello Detection_03 ha il rilevamento dei punti di riferimento più accurato. I punti di riferimento degli occhi e della pupilla restituiti sono abbastanza precisi da consentire il rilevamento dello sguardo fisso del viso.

Attributi

Attenzione

Microsoft ha ritirato le funzionalità di riconoscimento facciale che possono essere usate per provare a dedurre gli stati emotivi e gli attributi di identità che, se usati in modo improprio, possono essere soggetti a stereotipi, discriminazione o negazione ingiusta dei servizi. Sono incluse le funzionalità che formulano previsioni in relazione a emozioni, sesso, età, sorriso, peli del volto, capelli e trucco. Altre informazioni su questa decisione sono disponibili qui.

Gli attributi sono un set di funzionalità che possono essere rilevate facoltativamente dall'API Di rilevamento . È possibile rilevare gli attributi seguenti:

  • Accessori. Indica se sul viso specificato sono presenti accessori. Questo attributo restituisce i possibili accessori, tra cui capo, occhiali e maschera, con punteggio di confidenza compreso tra zero e uno per ogni accessorio.

  • Sfocatura. Livello di sfocatura del viso nell'immagine. Questo attributo restituisce un valore compreso tra zero e uno e una classificazione informale per sfocatura bassa, media o alta.

  • Esposizione. Esposizione del viso nell'immagine. Questo attributo restituisce un valore compreso tra zero e uno e una classificazione informale di underExposure, goodExposure o overExposure.

  • Occhiali. Indica se sul viso specificato è presente un paio di occhiali. I valori possibili sono NoGlasses, ReadingGlasses, Sunglasses e SwimmingGoggles.

  • Posizione della testa. Orientamento del viso nello spazio 3D. Questo attributo è definito dagli angoli di rotazione intorno all'asse Z (rollio), rotazione intorno all'asse Y(imbardata) e rotazione intorno all'asse X (beccheggio) in gradi, definiti in base alla regola della mano destra. L'ordine di tre angoli è asse Z-asse Y-asse X e l'intervallo di valori di ogni angolo è compreso tra -180 e 180 gradi. L'orientamento 3D del viso viene stimato in base agli angoli di rotazione intorno all'asse Z, all'asse Y e all'asse X, in questo ordine. Per i mapping degli angoli, vedere il diagramma seguente:

    Una testa con l'inclinazione, il rotolo e gli assi di yaw etichettati

    Per altre informazioni su come usare questi valori, vedere la guida pratica relativa alla posizione della testa.

  • Mascherina. Indica se sul viso è presente una mascherina. Questo attributo restituisce un possibile tipo di mascherina e un valore booleano per indicare se il naso e la bocca sono coperti.

  • Rumore. Rumore visivo rilevato nell'immagine del viso. Questo attributo restituisce un valore compreso tra zero e uno e una classificazione informale per sfocatura bassa, media o alta.

  • Occlusione. Indica se sono presenti oggetti che bloccano visivamente parti del viso. Questo attributo restituisce un valore booleano per eyeOccluded, foreheadOccluded e mouthOccluded.

  • QualityForRecognition. Qualità complessiva dell'immagine che indica se l'immagine utilizzata nel rilevamento è di qualità sufficiente per tentare il riconoscimento del volto. Il valore è una classificazione informale per qualità bassa, media o alta. Per gli scenari di identificazione è consigliabile usare solo immagini di qualità "alta", mentre per gli scenari di identificazione è consigliabile una qualità uguale o superiore "media".

    Nota

    La disponibilità di ogni attributo dipende dal modello di rilevamento specificato. L'attributo QualityForRecognition dipende anche dal modello di riconoscimento, poiché è attualmente disponibile solo quando si usa una combinazione di modelli di rilevamento detection_01 o detection_03 e il modello di riconoscimento recognition_03 o recognition_04.

Requisiti di input

Usare i suggerimenti seguenti per assicurarsi che le immagini di input restituiscano i risultati di rilevamento più accurati:

  • I formati di immagine di input supportati sono JPEG, PNG, GIF (il primo frame), BMP.
  • La dimensione del file di immagine selezionato deve essere minore di 6 MB.
  • La dimensione minima del viso rilevabile è pari a 36 x 36 pixel per un'immagine non superiore a 1920 x 1080 pixel. Le immagini con dimensioni superiori a 1920 x 1080 pixel hanno dimensioni minime proporzionalmente maggiori. La riduzione delle dimensioni del viso potrebbe causare il mancato rilevamento di alcuni visi, anche se questi hanno dimensioni maggiori di quelle minime rilevabili.
  • La dimensione massima del viso rilevabile è 4096 x 4096 pixel.
  • I visi non compresi nell'intervallo di dimensioni da 36 x 36 a 4096 x 4096 pixel non verranno rilevati.

Dati di input con informazioni sull'orientamento:

Alcune immagini di input in formato JPEG possono contenere informazioni sull'orientamento nei metadati EXIF (Exchangeable Image File Format). Se l'orientamento EXIF è disponibile, le immagini vengono ruotate automaticamente in base all'orientamento corretto prima dell'invio per il rilevamento volto. Il rettangolo del viso, i punti di riferimento e la posizione della testa per ogni viso rilevato vengono stimati in base all'immagine ruotata.

Per visualizzare correttamente il rettangolo del viso e i punti di riferimento, è necessario assicurarsi che l'immagine sia ruotata correttamente. La maggior parte degli strumenti di visualizzazione delle immagini ruota automaticamente l'immagine in base al relativo orientamento EXIF per impostazione predefinita. Per gli altri strumenti, potrebbe essere necessario applicare la rotazione usando codice personalizzato. Gli esempi seguenti mostrano un rettangolo del viso su un'immagine ruotata (sinistra) e un'immagine non ruotata (a destra).

Due immagini del viso con e senza rotazione

Input video

Se i visi vengono rilevati da un feed video, è possibile migliorare le prestazioni modificando determinate impostazioni nella videocamera:

  • Smussamento: molte videocamere applicano un effetto di smussamento. Se possibile, è consigliabile disattivare questa opzione perché crea una sfocatura tra fotogrammi e riduce la chiarezza.

  • Velocità dell'otturatore: una velocità dell'otturatore più alta riduce la quantità di movimento tra fotogrammi e rende più chiaro ogni fotogramma. È consigliabile usare velocità dell'otturatore pari a 1/60 secondi o superiore.

  • Angolo dell'otturatore: in alcune fotocamere viene specificato l'angolo dell'otturatore anziché la velocità. Se possibile, è consigliabile usare un angolo dell'otturatore inferiore. Ciò comporta fotogrammi video più chiari.

    Nota

    Una fotocamera con un angolo dell'otturatore inferiore riceverà meno luce in ogni fotogramma, quindi l'immagine sarà più scura. È necessario determinare il livello corretto da usare.

Passaggi successivi

Dopo aver familiarizzato con i concetti di rilevamento dei volti, è necessario scoprire come scrivere uno script che rileva i visi in una determinata immagine.