Panoramica

Il riconoscimento facciale di Amazon Rekognition consente agli sviluppatori di applicazioni di misurare la somiglianza tra l'immagine di due volti. Questa scheda dei servizi di IA descrive le considerazioni per il riconoscimento facciale responsabile nelle tipiche foto in stile identificativo e nei media (ad esempio, film, album fotografici e immagini "spontanee" scattate in ambienti naturali o incontrollati) utilizzando le nostre API CompareFaces e SearchFaces. In genere, i clienti utilizzano CompareFaces per confrontare un volto di origine con un volto di destinazione (corrispondenza 1:1) e SearchFaces per confrontare un volto di origine con una raccolta di volti di destinazione (corrispondenza 1:N). Rekognition non fornisce ai clienti raccolte di volti predefinite; i clienti devono creare e compilare le proprie raccolte. In questa scheda, useremo il "riconoscimento facciale" per fare riferimento alle API CompareFaces e SearchFaces di Rekognition.

Si dice che una coppia di immagini del viso sia una "corrispondenza effettiva" se entrambe le immagini contengono il volto della stessa persona e una "mancata corrispondenza effettiva" in caso contrario. Data una coppia di input di immagini "origine" e "destinazione", Rekognition restituisce un punteggio per la somiglianza del volto di origine nell'immagine di origine con il volto di destinazione con quella di destinazione. Il punteggio minimo di somiglianza è 0, che implica una somiglianza molto bassa, e il massimo è 100, il che implica una somiglianza molto elevata. Rekognition di per sé non decide in modo indipendente se i due volti delle immagini corrispondono o meno; il flusso di lavoro del cliente che chiama CompareFaces e/o SearchFaces decide utilizzando la logica automatica (impostando una soglia di somiglianza tra 0 e 100 e prevedendo una corrispondenza effettiva se il punteggio di somiglianza supera la soglia), il giudizio umano o una combinazione di entrambi.

I volti umani differiscono fisicamente, ad esempio per il tono della pelle e la geometria. Tuttavia, ogni singolo individuo può essere rappresentato da immagini diverse e, viceversa, individui diversi possono essere rappresentati da immagini molto simili. Ad esempio, due individui che differiscono solo nella forma degli occhi potrebbero avere lo stesso aspetto se indossano lo stesso paio di occhiali da sole. Questo perché ci sono molti possibili fattori (chiamati "variazione confondente") che si combinano per modificare la posizione e il colore dei pixel dell'immagine che rappresentano un volto. Questi fattori confondenti includono: (1) distribuzioni della direzione, dell'intensità e della lunghezza d'onda della luce; (2) posa della testa; (3) messa a fuoco della fotocamera e difetti di immagine; (4) risoluzione dei pixel; (5) ostruzioni tramite mani, peli del viso, capelli, telefoni cellulari, lingue sporgenti, sciarpe, occhiali, cappelli, gioielli o altri oggetti; (6) espressione facciale (come neutra o con occhi aperti); e (7) alterazioni del tono della pelle (ad esempio, a causa di trucco, pittura del viso, scottature solari o acne). Il punteggio di somiglianza di Rekognition è progettato per essere basso per le immagini di volti di individui diversi e alto per le immagini dello stesso volto, ignorando le variazioni confondenti. Rekognition utilizza le informazioni disponibili nelle immagini di origine e di destinazione solo per valutare la somiglianza delle immagini dei volti umani.

Casi d'uso e limitazioni previsti

Il riconoscimento facciale di Rekognition serve solo a confrontare i volti delle persone. Non supporta il riconoscimento di volti provenienti da cartoni animati, personaggi animati o entità non umane. Inoltre, non supporta l'uso di immagini del viso troppo sfocate e sgranate per essere riconosciute da un essere umano o in cui ampie porzioni del viso sono ostruite da capelli, mani e altri oggetti. Inoltre, AWS ha implementato una moratoria sull'uso da parte della polizia delle API Rekognition::CompareFaces e Rekognition::SearchFaces nell'ambito delle indagini penali (per ulteriori informazioni, consulta la sezione 50.9 di AWS Service Terms of Use).

Il riconoscimento facciale di Rekognition consente molte applicazioni, come l'identificazione dei bambini scomparsi, la concessione dell'accesso agli edifici o alle suite alberghiere per conferenze, la verifica dell'identità online e l'organizzazione di librerie fotografiche personali. Queste applicazioni variano in base al numero di individui coinvolti, al numero di immagini diverse disponibili per ogni individuo, alla quantità di variazioni confondenti previste, ai costi relativi delle false corrispondenze e delle false mancate corrispondenze e ad altri fattori. Organizziamo queste applicazioni in due ampi casi d'uso.

Caso d'uso per la verifica dell'identità: le applicazioni di verifica dell'identità utilizzano il riconoscimento facciale per integrare nuovi utenti e concedere agli utenti esistenti l'accesso alle risorse. In questo caso d'uso, le variazioni confondenti vengono generalmente ridotte al minimo utilizzando foto di documenti di identità rilasciati dalla pubblica amministrazione (come passaporti e patenti di guida) e selfie in tempo reale che incoraggiano le pose frontali di volti ben illuminati e non oscurati. Ciò consente a ciascun individuo della raccolta di destinazione di essere rappresentato da un numero limitato di immagini di volti e permette l'inclusione di un gran numero di individui diversi nella raccolta (ad esempio milioni). In questo caso d'uso, alcuni utenti finali potrebbero tentare di ingannare il sistema per ottenere l'accesso, quindi i clienti possono mitigare questo rischio, ad esempio controllando manualmente che le immagini di origine e di destinazione inviate a Rekognition soddisfino le aspettative del cliente e/o richiedendo che le corrispondenze abbiano punteggi di somiglianza elevati (ad esempio, 95).

Caso di utilizzo dei media: le applicazioni multimediali utilizzano il riconoscimento facciale per identificare gli individui nelle foto e nei video di un gruppo di persone note (ad esempio, trovare familiari nei video delle vacanze). In questo caso d'uso, c'è un'elevata variazione tra le immagini di origine e di destinazione dello stesso individuo, quindi le raccolte di destinazione potrebbero contenere meno persone con più immagini per utente (forse coprendo più anni della vita della persona). Gli utenti finali sono meno incentivati a cercare di ingannare il sistema in questo caso d'uso, quindi i clienti possono scegliere di utilizzare flussi di lavoro altamente automatizzati e, data l'elevata variazione di confusione, possono consentire alle corrispondenze di avere punteggi di somiglianza inferiori (ad esempio, 80).

Progettazione del riconoscimento facciale di Rekognition

Machine learning: il riconoscimento facciale di Rekognition è realizzato utilizzando tecnologie di ML e visione artificiale. Funziona nel seguente modo: (1) individua la parte di un'immagine di input che contiene il volto. (2) Estrai l’area dell'immagine contenente la testa e allineala in modo che il viso si trovi in una posizione verticale "normale", producendo immagini del viso ritagliate. (3) Converti ogni immagine ritagliata del viso in un "vettore facciale" (tecnicamente, una rappresentazione matematica dell'immagine di un volto). Nota che le raccolte ricercate da SearchFaces sono set di vettori facciali e non set di immagini di volti. (4) Confronta i vettori facciali di origine e di destinazione e restituisce il punteggio di somiglianza del sistema per i vettori facciali. Consulta la documentazione per gli sviluppatori per i dettagli sulle chiamate API.

Aspettative prestazionali: le variazioni individuali e confondenti differiscono in base alle applicazioni del cliente. Ciò significa che anche le prestazioni variano in base alle applicazioni, sebbene supportino lo stesso caso d'uso. Prendi in considerazione due applicazioni di verifica dell'identità A e B. Con ciascuna, un utente prima registra la propria identità con un'immagine in stile passaporto e successivamente verifica la propria identità utilizzando selfie in tempo reale. L'applicazione A consente l'accesso allo smartphone utilizzando la fotocamera dello stesso per scattare selfie ben illuminati, a fuoco, posizionati frontalmente, ad alta risoluzione e senza ostruzioni. L'applicazione B consente l'accesso all'edificio utilizzando una telecamera da ingresso per scattare selfie meno illuminati, più sfocati e con una risoluzione inferiore. Poiché A e B hanno diversi tipi di input, probabilmente avranno tassi di errore di riconoscimento facciale diversi, anche supponendo che ciascuna applicazione sia implementata perfettamente utilizzando Rekognition.

Metodologia basata sui test: utilizziamo più set di dati per valutare le prestazioni. Nessun singolo set di dati di valutazione fornisce un quadro completo delle prestazioni. Questo perché i set di dati di valutazione variano in base alla loro composizione demografica (numero e tipo di gruppi definiti), alla quantità di variazioni confondenti (qualità del contenuto, idoneità per il caso d'uso), ai tipi e alla qualità delle etichette disponibili e ad altri fattori. Misuriamo le prestazioni di Rekognition testandole su set di dati di valutazione contenenti coppie di immagini dello stesso individuo (coppie corrispondenti) e coppie di immagini di individui diversi (coppie non corrispondenti). Scegliamo una soglia di somiglianza, utilizziamo Rekognition per calcolare il punteggio di somiglianza di ciascuna coppia e, in base alla soglia, determiniamo se la coppia corrisponde o meno. Le prestazioni complessive di un set di dati sono rappresentate da due numeri: il tasso di corrispondenza effettiva (la percentuale di coppie corrispondenti con una somiglianza superiore alla soglia) e il tasso di mancata corrispondenza effettiva (la percentuale di coppie non corrispondenti con un punteggio di somiglianza inferiore alla soglia). La modifica della soglia di somiglianza modifica le percentuali di corrispondenza effettiva e di mancata corrispondenza effettiva. I gruppi in un set di dati possono essere definiti in base ad attributi demografici (ad esempio, genere), variabili confondenti (ad esempio, la presenza o l'assenza di peli sul viso) o una combinazione di entrambi. I diversi set di dati di valutazione variano in base a questi e ad altri fattori. Per questo motivo, i tassi di corrispondenza e di mancata corrispondenza effettiva, sia complessivi che per i gruppi, variano a seconda del set di dati. Tenendo conto di questa variazione, il nostro processo di sviluppo esamina le prestazioni di Rekognition utilizzando più set di dati di valutazione, adotta misure per aumentare i tassi di corrispondenza effettiva e/o i tassi di mancata corrispondenza effettiva per i gruppi in cui Rekognition ha ottenuto risultati meno buoni, lavora per migliorare la suite di set di dati di valutazione e quindi esegue le iterazioni.

Equità e bias: il nostro obiettivo è che il riconoscimento facciale di Rekognition funzioni bene per tutti i volti umani. Per raggiungere questo obiettivo, utilizziamo il processo di sviluppo iterativo descritto in precedenza. Come parte del processo, creiamo set di dati che acquisiscono una vasta gamma di caratteristiche facciali umane e tonalità della pelle in una molteplicità di variazioni confondenti. Testiamo regolarmente diversi casi d'uso su set di dati di immagini di volti per i quali disponiamo di etichette demografiche affidabili come genere, età e tonalità della pelle. Abbiamo riscontrato che Rekognition ha ottime prestazioni in tutti gli attributi demografici. Ad esempio, iBeta, un laboratorio accreditato dal NIST, ha eseguito una valutazione di Rekognition da parte di terzi. Per la valutazione è stato utilizzato un set di dati di verifica dell'identità contenente immagini di alta qualità con buone condizioni di illuminazione, senza sfocature e senza occlusioni. Il set di dati è stato suddiviso in sei gruppi demografici in base al tono della pelle e al genere. iBeta ha osservato che, con una soglia di somiglianza impostata a 95, il tasso di corrispondenza reale più basso riscontrato in tutti e sei i gruppi demografici è stato del 99,97185% e il tasso di non corrispondenza reale più basso riscontrato in tutti e sei i gruppi demografici è stato del 99,99988%. Poiché i risultati delle prestazioni dipendono da una serie di fattori, tra cui Rekognition, il flusso di lavoro del cliente e il set di dati di valutazione, consigliamo ai clienti di eseguire ulteriori test di Rekognition utilizzando i propri contenuti.

Spiegabilità: se i clienti hanno domande sul punteggio di somiglianza restituito da Rekognition per una determinata coppia di immagini di origine e di destinazione, consigliamo di utilizzare il riquadro di delimitazione e le informazioni sui punti di riferimento del volto restituite da Rekognition per esaminare direttamente le immagini dei volti.

Solidità: massimizziamo la solidità con una serie di tecniche, incluso l'utilizzo di grandi set di dati di formazione che acquisiscono molti tipi di variazioni tra più individui. Poiché Rekognition non può avere contemporaneamente un'elevata sensibilità alle piccole differenze tra individui diversi (come gemelli identici) e una sensibilità molto bassa alle modifiche confondenti (come il trucco applicato per esaltare gli zigomi), i clienti devono stabilire aspettative dei tassi di corrispondenza effettiva e di mancata corrispondenza effettiva adeguate al proprio caso d'uso, e testare le prestazioni del flusso di lavoro, compresa la scelta della soglia di somiglianza, sui loro contenuti.

Privacy e sicurezza: il riconoscimento facciale di Rekognition elabora tre tipi di dati: immagini di input del cliente, vettori facciali delle immagini di input e punteggi di somiglianza in output e metadati di output. I vettori facciali non sono mai inclusi nell'output restituito dal servizio. Gli input e gli output non vengono mai condivisi tra i clienti. I clienti possono scegliere di non partecipare alla formazione sui contenuti dei clienti tramite AWS Organizations o altri meccanismi di rifiuto che potremmo fornire. Per ulteriori informazioni, consulta la sezione 50.3 dei Termini di servizio AWS e le domande frequenti sulla privacy dei dati in AWS. Per informazioni sulla privacy e sulla sicurezza specifiche del servizio, consulta la sezione sulla privacy dei dati delle domande frequenti di Rekognition e la documentazione della Sicurezza di Amazon Rekognition.

Trasparenza: laddove appropriato per il loro caso d'uso, i clienti che integrano le API di riconoscimento facciale di Amazon Rekognition nel proprio flusso di lavoro dovrebbero prendere in considerazione di incoraggiare a divulgare l'uso delle tecnologie di ML e riconoscimento facciale agli utenti finali e ad altri individui interessati dall'applicazione e a offrire ai propri utenti finali la possibilità di fornire feedback per migliorare i flussi di lavoro. Nella propria documentazione, i clienti possono anche fare riferimento a questa scheda dei servizi di IA.

Governance: disponiamo di metodologie rigorose per creare i nostri servizi di IA di AWS in modo responsabile, tra cui un processo di sviluppo del prodotto funzionante a ritroso che include l'IA responsabile nella fase di progettazione, consulenze di progettazione e valutazioni di implementazione da parte di esperti di IA responsabile e dei relativi dati, test di routine, revisioni con i clienti e sviluppo, diffusione e formazione delle best practice.

Best practice per l'implementazione e l'ottimizzazione delle prestazioni

Incoraggiamo i clienti a creare e utilizzare le proprie applicazioni in modo responsabile, come descritto nella guida AWS Responsible Use of Machine Learning. Ciò include l'implementazione di pratiche di IA responsabili per affrontare aspetti chiave, tra cui equità e bias, solidità, spiegabilità, privacy e sicurezza, trasparenza e governance.
 
Progettazione del flusso di lavoro: l'accuratezza di qualsiasi applicazione che utilizza il riconoscimento facciale di Rekognition dipende dalla progettazione del flusso di lavoro del cliente, tra cui: (1) il numero di individui unici da abbinare, (2) la quantità di variazioni confondenti consentite, (3) la selezione delle soglie di somiglianza, (4) il modo in cui vengono decise le corrispondenze, (5) la coerenza con cui il flusso di lavoro viene applicato tra i gruppi demografici, e (6) i test periodici per verificare la variazione.
 
  1. Variante individuale: quando si cerca un volto di origine in una raccolta di volti di destinazione, il successo aumenta con il grado di diversità fisica tra i diversi individui del gruppo di destinazione. Ad esempio, la corrispondenza tra gemelli identici è sostanzialmente più difficile della corrispondenza tra gemelli eterozigoti o individui non imparentati. In generale, le raccolte di destinazione con un numero maggiore di individui unici presentano un rischio maggiore di avere due individui unici che sembrano simili e richiedono maggiore attenzione quando si prende una decisione finale su una corrispondenza. I flussi di lavoro dovrebbero considerare la possibile somiglianza degli individui nella raccolta di destinazione quando interpretano i punteggi di somiglianza restituiti per le immagini di origine.

  2. Variazione confondente: quando si selezionano coppie di immagini di origine e di destinazione, i flussi di lavoro devono includere misure per ridurre al minimo le variazioni tra i due tipi di immagini (come le differenze nelle condizioni di illuminazione). Se la variazione è elevata, prendi in considerazione l'aggiunta di più immagini del viso ("opzioni") per ogni individuo di destinazione che coprano le variazioni previste (come pose, illuminazione ed età) e di confrontare l'immagine del viso di origine con ciascuna opzione di destinazione. Se per questioni di praticità hai a disposizione una sola opzione, prendi in considerazione l'idea di usare una foto del volto in stile passaporto, frontale e senza ostruzioni. I flussi di lavoro dovrebbero stabilire policy per le immagini di input consentite e monitorare la conformità campionando periodicamente e in modo casuale gli input.

  3. Soglia di somiglianza: è importante impostare una soglia di somiglianza appropriata per l'applicazione. In caso contrario, il flusso di lavoro potrebbe concludere che esiste una corrispondenza laddove non c'è (falsa corrispondenza) o viceversa (falsa non corrispondenza). Il costo di una falsa corrispondenza potrebbe non essere uguale al costo di una falsa mancata corrispondenza. Ad esempio, una soglia di somiglianza appropriata per l'autenticazione potrebbe essere molto più alta di quella per i media. Per impostare una soglia di somiglianza appropriata, il cliente deve raccogliere una serie rappresentativa di coppie di input, etichettare ciascuna come corrispondente o non corrispondente e provare soglie di somiglianza più alte o più basse fino a quando non è soddisfatto.

  4. Supervisione umana: se il flusso di lavoro dell'applicazione di un cliente comporta un caso d'uso sensibile o ad alto rischio, come una decisione che influisce sui diritti di un individuo o sull'accesso ai servizi essenziali, la revisione umana dovrebbe essere inclusa nel flusso di lavoro dell'applicazione, ove appropriato. I sistemi di riconoscimento facciale possono fungere da strumenti per ridurre lo sforzo richiesto da soluzioni completamente manuali e per consentire alle persone di esaminare e valutare rapidamente le corrispondenze o mancate corrispondenze possibili.

  5. Coerenza: i clienti devono stabilire e applicare policy per i tipi di immagini di origine e di destinazione consentiti e per il modo in cui le persone combinano l'uso della soglia di somiglianza e il proprio giudizio per determinare le corrispondenze. Queste policy dovrebbero essere coerenti tra tutti i gruppi demografici. La modifica incoerente delle immagini di origine e di destinazione o delle soglie di somiglianza potrebbe comportare risultati non equi per diversi gruppi demografici.

  6. Variazione delle prestazioni: una modifica dei tipi di immagine che un cliente invia a Rekognition o una modifica al servizio possono produrre output diversi. Per ovviare a queste modifiche, i clienti dovrebbero valutare di ripetere periodicamente il test delle prestazioni di Rekognition e modificare il flusso di lavoro, se necessario.

Ulteriori informazioni

  • Per eventuali domande o commenti sulle schede dei servizi di IA di AWS, compila questo modulo.

Glossario

Equità e bias si riferiscono al modo in cui un sistema di IA influisce su diverse sottopopolazioni di utenti (ad esempio, per genere, etnia).

Spiegabilità si riferisce alla disponibilità di meccanismi per comprendere e valutare gli output di un sistema di IA.

Solidità si riferisce alla disponibilità di meccanismi per garantire che un sistema di IA funzioni in modo affidabile.

Privacy e sicurezza si riferiscono alla protezione dei dati dal furto e dall'esposizione.

Governance si riferisce ai processi per definire, implementare e applicare pratiche di IA responsabile all'interno di un'organizzazione.

Trasparenza si riferisce alla comunicazione di informazioni su un sistema di IA in modo che le parti interessate possano fare scelte consapevoli sull'utilizzo del sistema.