Rilevamento dei volti, attributi e dati di input

Attenzione

L'accesso al servizio Viso è limitato in base ai criteri di idoneità e utilizzo per supportare i principi di IA responsabile. Il servizio Viso è disponibile solo per i clienti e i partner gestiti da Microsoft. Usare il modulo di assunzione riconoscimento del viso per richiedere l'accesso. Per altre informazioni, vedere la pagina Viso con accesso limitato.

Importante

Gli attributi 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 illustra i concetti relativi ai dati relativi al rilevamento dei visi 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 Viso - Rilevamento per rilevare i visi in un'immagine. Per iniziare a usare l'API REST o un SDK client, seguire una guida introduttiva. In alternativa, per una guida più approfondita, vedere Chiamare l'API di rilevamento.

Rettangolo viso

Ogni viso rilevato corrisponde a un faceRectangle campo nella risposta. Si tratta di un set di coordinate pixel per la parte sinistra, 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 dei volti in modo rapido e semplice 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 assunzione. Per altre informazioni, vedere la pagina Viso con accesso limitato. È possibile richiedere un ID viso nella chiamata API Viso - Rilevamento .

Punti di riferimento del viso

I punti di riferimento del viso sono una serie di punti facili da trovare su un viso, 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:

A face diagram with all 27 landmarks labeled

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 per consentire il tracciamento 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. Queste includono funzionalità che prevedono emozioni, sesso, età, sorriso, capelli facciali, 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 Viso - Rilevamento . È possibile rilevare gli attributi seguenti:

  • Accessori. Indica se il viso specificato ha 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. Sfocatura del viso nell'immagine. Questo attributo restituisce un valore compreso tra zero e uno e una classificazione informale di 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. Se il viso specificato ha occhiali. I valori possibili sono NoGlasses, ReadingGlasses, Occhiali da sole e Occhiali da bagno.

  • Posizione della testa. Orientamento del viso nello spazio 3D. Questo attributo è descritto dagli angoli di rotazione, yaw e inclinazione in gradi, definiti in base alla regola di destra. L'ordine di tre angoli è roll-yaw-pitch 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, yaw e inclinazione in ordine. Per i mapping degli angoli, vedere il diagramma seguente:

    A head with the pitch, roll, and yaw axes labeled

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

  • Maschera. Indica se il viso indossa una maschera. Questo attributo restituisce un possibile tipo di maschera 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 di bassa, media o alta.

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

  • QualityForRecognition La qualità complessiva dell'immagine che indica se l'immagine utilizzata nel rilevamento è di qualità sufficiente per tentare il riconoscimento dei volti. Il valore è una classificazione informale di basso, medio o alto. Per gli scenari di identificazione è consigliabile usare solo immagini di qualità "alta" per la registrazione delle persone e la qualità superiore o superiore a "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 fotogramma), BMP.
  • Le dimensioni del file di immagine non devono superare i 6 MB.
  • La dimensione minima del viso rilevabile è di 36 x 36 pixel in un'immagine che 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 rilevamento di alcuni visi, anche se sono maggiori delle dimensioni minime rilevabili del viso.
  • La dimensione massima del viso rilevabile è 4096 x 4096 pixel.
  • I visi al di fuori dell'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 con formato JPEG possono contenere informazioni sull'orientamento nei metadati EXIF (Exchangeable Image File Format). Se l'orientamento EXIF è disponibile, le immagini vengono ruotate automaticamente sull'orientamento corretto prima dell'invio per il rilevamento dei volti. 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 all'orientamento EXIF per impostazione predefinita. Per altri strumenti, potrebbe essere necessario applicare la rotazione usando il proprio codice. Gli esempi seguenti mostrano un rettangolo del viso su un'immagine ruotata (sinistra) e un'immagine non ruotata (a destra).

Two face images with and without rotation

Input video

Se rilevi i visi da un feed video, potresti essere in grado di migliorare le prestazioni modificando determinate impostazioni nella videocamera:

  • Smoothing: molte videocamere applicano un effetto smoothing. È consigliabile disattivare questa opzione se è possibile perché crea una sfocatura tra fotogrammi e riduce la chiarezza.

  • Velocità otturatore: una velocità di otturatore più veloce riduce la quantità di movimento tra fotogrammi e rende più chiaro ogni fotogramma. Ti consigliamo velocità di otturatore di 1/60 secondi o superiore.

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

    Nota

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

Passaggi successivi

Ora che si ha familiarità con i concetti di rilevamento dei volti, vedere come scrivere uno script che rileva i visi in una determinata immagine.