In vari settori, come i servizi finanziari, le telecomunicazioni e la sanità, i clienti utilizzano un processo di identità digitale, che di solito prevede diversi passaggi per verificare gli utenti finali durante l'onboarding online o l'autenticazione step-up. Un esempio di passaggio che può essere utilizzato è la ricerca del volto, che può aiutare a determinare se il volto di un nuovo utente finale corrisponde a quelli associati a un account esistente.
La creazione di un sistema di ricerca facciale accurato prevede diversi passaggi. Il sistema deve essere in grado di rilevare i volti umani nelle immagini, estrarre i volti in rappresentazioni vettoriali, archiviare i vettori dei volti in un database e confrontare i nuovi volti con le voci esistenti. Rekognition di Amazon semplifica tutto ciò fornendo modelli preaddestrati che vengono richiamati tramite semplici chiamate API.
Amazon Rekognition ti consente di ottenere una precisione molto elevata nella ricerca dei volti con una singola immagine del volto. In alcuni casi, puoi utilizzare più immagini del volto della stessa persona per creare vettori utente e migliorare ulteriormente la precisione. Ciò è particolarmente utile quando le immagini presentano variazioni di illuminazione, pose e aspetto.
In questo post, mostriamo come utilizzare le API di Amazon Rekognition Face Search con i vettori degli utenti per aumentare il punteggio di somiglianza per le corrispondenze reali e diminuire il punteggio di somiglianza per le corrispondenze reali.
Confrontiamo i risultati dell'esecuzione della corrispondenza dei volti con e senza i vettori utente.
Corrispondenza facciale di Amazon Rekognition
La corrispondenza del volto di Amazon Rekognition consente di misurare la somiglianza di un vettore di volto estratto da un'immagine con un vettore di volto estratto da un'altra immagine. Si dice che una coppia di immagini di volti sia a corrispondenza vera se entrambe le immagini contengono il volto della stessa persona, e a vera non corrispondenza Altrimenti. Amazon Rekognition restituisce un punteggio per la somiglianza dei volti di origine e di destinazione. Il punteggio di somiglianza minimo è 0, il che implica una somiglianza molto ridotta, e il punteggio massimo è 100.
Per confrontare un volto di origine con una raccolta di volti di destinazione (corrispondenza 1:N), Amazon Rekognition consente di creare un oggetto Collection e popolarlo con volti provenienti da immagini utilizzando chiamate API.
Quando si aggiunge un volto a una raccolta, Amazon Rekognition non memorizza l'immagine effettiva del volto ma piuttosto il vettore del volto, una rappresentazione matematica del volto. Con il CercaVolti API, puoi confrontare un volto di origine con una o più raccolte di volti di destinazione.
A giugno 2023, AWS ha lanciato i vettori degli utenti, una nuova funzionalità che migliora significativamente la precisione della ricerca dei volti utilizzando più immagini del volto di un utente. Ora puoi creare vettori utente, che aggregano più vettori di volti dello stesso utente. I vettori utente offrono una maggiore precisione nella ricerca dei volti con rappresentazioni più affidabili, perché contengono diversi gradi di illuminazione, nitidezza, posa, aspetto e altro ancora. Ciò migliora la precisione rispetto alla ricerca rispetto ai singoli vettori dei volti.
Nelle sezioni seguenti, descriviamo il processo di utilizzo dei vettori utente di Amazon Rekognition. Ti guidiamo attraverso la creazione di una raccolta, l'archiviazione di vettori di volti in tale raccolta, l'aggregazione di tali vettori di volti in vettori di utenti e quindi il confronto dei risultati della ricerca con i singoli vettori di volti e i vettori di utenti.
Panoramica della soluzione
Per questa soluzione, utilizziamo una raccolta di utenti di Amazon Rekognition, ciascuno con i relativi vettori di volti indicizzati associati da una serie di immagini di volti diverse per ciascun utente.
Diamo un'occhiata al flusso di lavoro per creare una raccolta con utenti e volti:
- Crea una raccolta Amazon Rekognition.
- Per ogni utente, crea un utente nella raccolta.
- Per ogni immagine dell'utente, aggiungi il volto alla raccolta (IndiceFacce, che restituisce l'ID del volto corrispondente a ciascun vettore del volto).
- Associa tutti gli ID volto indicizzati all'utente (questo è necessario per i vettori utente).
Quindi, confronteremo i seguenti flussi di lavoro:
Ricerca con una nuova immagine di input data rispetto ai singoli vettori di volti nella nostra raccolta:
- Ottieni tutti i volti da un'immagine (Rileva Facce).
- Per ciascun volto, confrontalo con i singoli volti della nostra raccolta (CercaFacesByImage).
Ricerca con una nuova immagine di input specificata rispetto ai vettori utente nella nostra raccolta:
- Ottieni tutti i volti da un'immagine (Rileva Facce).
- Per ciascuna faccia, confrontare con il vettore utente (Cerca utenti per immagine).
Ora descriviamo la soluzione nei dettagli.
Prerequisiti
Aggiungi la seguente policy al tuo Gestione dell'identità e dell'accesso di AWS (IAM) utente o ruolo. La policy ti concede l'autorizzazione per le API Amazon Rekognition pertinenti e consente l'accesso a un file Servizio di archiviazione semplice Amazon bucket (Amazon S3) per archiviare le immagini:
Crea una raccolta Amazon Rekognition e aggiungi utenti e volti
Innanzitutto, creiamo un bucket S3 per archiviare le immagini degli utenti. Organizziamo il bucket creando per ogni utente una cartella che contenga le sue immagini personali. Nostro cartella delle immagini assomiglia alla seguente struttura:
Il nostro bucket S3 ha una directory per ogni utente che memorizza le proprie immagini. Attualmente ci sono due cartelle e ciascuna contiene diverse immagini. Puoi aggiungere più cartelle per i tuoi utenti, ciascuna contenente una o più immagini da indicizzare.
Successivamente, creiamo la nostra raccolta Amazon Rekognition. Abbiamo fornito helpers.py, che contiene diversi metodi che utilizziamo:
- crea_collezione – Crea una nuova collezione
- delete_collection – Elimina una raccolta
- creare un utente – Crea un nuovo utente in una raccolta
- aggiungi_faces_to_collection – Aggiungi volti alla raccolta
- associare_facce – Associa face_ids a un utente in una raccolta
- get_sottodir – Ottieni tutte le sottodirectory con il prefisso S3
- get_files – Ottieni tutti i file con il prefisso S3
Di seguito è riportato un metodo di esempio per creare una raccolta Amazon Rekognition:
Crea la raccolta con il seguente codice:
Successivamente, aggiungiamo i vettori dei volti alla nostra raccolta e aggreghiamoli in vettori utente.
Per ogni utente nella directory S3, creiamo un vettore utente nella raccolta. Quindi indicizziamo le immagini dei volti di ciascun utente nella raccolta come vettori di volti individuali, generando ID volti. Infine, associamo gli ID dei volti al vettore utente appropriato.
Questo crea due tipi di vettori nella nostra collezione:
- Vettori di facce individuali
- Vettori utente, creati in base agli ID dei vettori dei volti forniti utilizzando il metodo
associate_faces
Vedi il seguente codice:
Utilizziamo i seguenti metodi:
- get_sottodir – Restituisce un elenco di tutte le directory degli utenti. Nel nostro esempio, il valore è [Swami,Werner].
- get_files – Restituisce tutti i file di immagini con il prefisso S3 per l'utente.
- face_id – Questo è un elenco contenente tutti i face ID appartenenti a un utente. Usiamo questo elenco quando chiamiamo il AssociateFaces API.
Come spiegato in precedenza, puoi aggiungere più utenti aggiungendo cartelle per loro (la cartella determina l'ID utente) e aggiungere le tue immagini in quella cartella (non è richiesto alcun ordine per i file).
Ora che il nostro ambiente è configurato e disponiamo sia di vettori di volti individuali che di vettori di utenti, confrontiamo la qualità della nostra ricerca con ciascuno di essi. Per fare ciò, utilizziamo una nuova foto con più persone e proviamo ad abbinare i loro volti alla nostra raccolta, prima con i vettori dei volti individuali e poi con i vettori degli utenti.
Ricerca di volti di immagini rispetto a una raccolta di singoli vettori di volti
Per cercare i nostri vettori di volti individuali, utilizziamo Amazon Rekognition CercaFacesByImage API. Questa funzione utilizza un'immagine del volto di origine per cercare singoli vettori di volti nella nostra raccolta e restituisce volti che corrispondono alla soglia del punteggio di somiglianza definita.
Una considerazione importante è che il SearchFacesByImage
L'API funzionerà solo sul volto più grande rilevato nell'immagine. Se sono presenti più volti, è necessario ritagliare ogni singolo volto e passarlo separatamente al metodo per l'identificazione.
Per estrarre i dettagli dei volti da un'immagine (come la loro posizione sull'immagine), utilizziamo Amazon Rekognition Rileva Facce API.
Le seguenti rileva_visi_in_immagine Il metodo rileva i volti in un'immagine. Per ciascuna faccia esegue le seguenti azioni:
- Stampa la posizione del riquadro di delimitazione
- Ritaglia il volto dall'immagine e controlla se tale volto esiste nella raccolta e stampa l'utente o "Sconosciuto"
- Stampa il punteggio di somiglianza
Il codice Python di esempio utilizza il file cuscino libreria per eseguire manipolazioni di immagini (come stampa, disegno e ritaglio).
Utilizziamo una soglia del punteggio di somiglianza del 99%, che è un'impostazione comune per i casi d'uso della verifica dell'identità.
Esegui il seguente codice:
file_key
è la chiave dell'oggetto S3 che vogliamo abbinare alla nostra raccolta. Abbiamo fornito un'immagine di esempio (photo.jpeg
) nella cartella delle immagini.
L'immagine seguente mostra i nostri risultati.
Utilizzando una soglia del 99%, è stata identificata una sola persona. Il dottor Werner Vogels è stato contrassegnato come sconosciuto. Se eseguiamo lo stesso codice utilizzando una soglia inferiore a 90 (imposta soglia=90), otteniamo i seguenti risultati.
Ora vediamo che il volto del dottor Werner Vogel ha un punteggio di somiglianza del 96.86%. Successivamente, controlliamo se possiamo ottenere il punteggio di somiglianza al di sopra della soglia definita utilizzando i vettori utente.
Ricerca facciale di immagini rispetto a una raccolta di vettori utente
Per effettuare ricerche rispetto ai nostri vettori utente, utilizziamo Amazon Rekognition Cerca utenti per immagine API. Questa funzione utilizza un'immagine del volto di origine per cercare i vettori utente nella nostra raccolta e restituisce gli utenti che corrispondono alla nostra soglia di punteggio di somiglianza definita.
La stessa considerazione è rilevante qui: il SearchUsersByImage
L'API funzionerà solo sul volto più grande rilevato nell'immagine. Se sono presenti più volti, è necessario ritagliare ogni singolo volto e passarlo separatamente al metodo per l'identificazione.
Per estrarre i dettagli dei volti da un'immagine (come la loro posizione sull'immagine), utilizziamo Amazon Rekognition Rileva Facce API.
Le seguenti rileva_utenti_in_immagine Il metodo rileva i volti in un'immagine. Per ciascuna faccia esegue le seguenti azioni:
- Stampa la posizione del riquadro di delimitazione
- Ritaglia il volto dall'immagine e controlla se tale volto utente esiste nella nostra raccolta e stampa l'utente o "Sconosciuto"
- Stampa il punteggio di somiglianza
Vedi il seguente codice:
La funzione restituisce un'immagine modificata con i risultati che possono essere salvati su Amazon S3 o stampati. La funzione fornisce anche statistiche sull'età stimata dei volti al terminale.
Esegui il seguente codice:
L'immagine seguente mostra i nostri risultati.
Gli utenti presenti nella nostra raccolta sono stati identificati correttamente con un'elevata somiglianza (oltre il 99%).
Siamo stati in grado di aumentare il punteggio di somiglianza utilizzando tre vettori di volti per vettore utente. Man mano che aumentiamo il numero di vettori di volti utilizzati, prevediamo che aumenti anche il punteggio di somiglianza per le corrispondenze reali. È possibile utilizzare fino a 100 vettori di volti per vettore utente.
Un codice di esempio end-to-end può essere trovato nel file Repository GitHub. Include un dettagliato Notebook Jupyter su cui puoi correre Amazon Sage Maker Studio (o altre alternative).
ripulire
Per eliminare la raccolta, utilizzare il seguente codice:
Conclusione
In questo post, abbiamo presentato come utilizzare i vettori utente di Amazon Rekognition per implementare la ricerca dei volti rispetto a una raccolta di volti degli utenti. Abbiamo dimostrato come migliorare la precisione della ricerca dei volti utilizzando più immagini di volti per utente e confrontandole con i singoli vettori di volti. Inoltre, abbiamo descritto come utilizzare le diverse API di Amazon Rekognition per rilevare i volti. Il codice di esempio fornito funge da solida base per costruire un sistema di ricerca facciale funzionale.
Per ulteriori informazioni sui vettori utente di Amazon Rekognition, fare riferimento a Ricerca di volti in una raccolta. Se non hai mai utilizzato Amazon Rekognition, puoi utilizzare il nostro livello gratuito, che dura 12 mesi e include l'elaborazione di 5,000 immagini al mese e l'archiviazione di 1,000 oggetti vettoriali utente al mese.
Informazioni sugli autori
Arik Porat è un Senior Startup Solutions Architect presso Amazon Web Services. Lavora con le startup per aiutarle a costruire e progettare le loro soluzioni nel cloud ed è appassionato di machine learning e soluzioni basate su container. Nel tempo libero, Arik ama giocare a scacchi e ai videogiochi.
Eliran Efron è un architetto di soluzioni per startup presso Amazon Web Services. Eliran è un appassionato di dati e calcolo e assiste le startup nella progettazione delle loro architetture di sistema. Nel suo tempo libero, Eliran ama costruire auto e gareggiare in gare Touring e costruire dispositivi IoT.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- PlatoData.Network Generativo verticale Ai. Potenzia te stesso. Accedi qui.
- PlatoAiStream. Intelligenza Web3. Conoscenza amplificata. Accedi qui.
- PlatoneESG. Carbonio, Tecnologia pulita, Energia, Ambiente, Solare, Gestione dei rifiuti. Accedi qui.
- Platone Salute. Intelligence sulle biotecnologie e sulle sperimentazioni cliniche. Accedi qui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/improve-accuracy-of-amazon-rekognition-face-search-with-user-vectors/
- :ha
- :È
- $ SU
- 000
- 1
- 10
- 100
- 12
- 12 mesi
- 17
- 2023
- 28
- 30
- 7
- 9
- a
- capace
- Chi siamo
- sopra
- accesso
- Il mio account
- precisione
- preciso
- Raggiungere
- Action
- azioni
- presenti
- aggiungere
- l'aggiunta di
- Inoltre
- contro
- Ages
- aggregato
- aggregando
- Tutti
- consentire
- consente
- già
- anche
- alternative
- Amazon
- Rekognition di Amazon
- Amazon Web Services
- an
- ed
- Un altro
- api
- API
- aspetto
- le apparenze
- opportuno
- architetture
- SONO
- Italia
- AS
- assistere
- Associate
- associato
- At
- tentativo
- Autenticazione
- AWS
- basato
- BE
- perché
- appartenente
- fra
- stile di vita
- entrambi
- Scatola
- scatole
- costruire
- costruito
- ma
- by
- calcolare
- chiamata
- chiamata
- Bandi
- Materiale
- Può ottenere
- capacità
- auto
- casi
- dai un'occhiata
- Scacchi
- cliente
- Cloud
- codice
- collezione
- collezioni
- Uncommon
- confrontare
- rispetto
- confronto
- Calcolare
- considerazione
- costruire
- contenere
- contiene
- convertire
- correttamente
- Corrispondente
- creare
- crea
- Creazione
- raccolto
- Attualmente
- Clienti
- dati
- Banca Dati
- diminuire
- definito
- dimostrare
- dimostrato
- descrivere
- descritta
- Design
- progettazione
- dettagliati
- dettagli
- individuare
- rilevato
- Determinare
- dispositivi
- dettami
- diverso
- digitale
- identità digitale
- directory
- elenco
- Dsiplay
- do
- non
- fare
- fatto
- dr
- disegnare
- disegno
- durante
- ogni
- In precedenza
- effetto
- senza sforzo
- altro
- Abilita
- da un capo all'altro
- appassionato
- Ambiente
- particolarmente
- stimato
- Anche
- esempio
- Tranne
- esistere
- esistente
- esiste
- uscite
- attenderti
- ha spiegato
- estratto
- Faccia
- facce
- File
- finanziario
- servizi finanziari
- Trovare
- Nome
- contrassegnato
- galleggiante
- i seguenti
- Nel
- formato
- essere trovato
- Fondazione
- Gratis
- da
- function
- funzionale
- ulteriormente
- Giochi
- genera
- ottenere
- dato
- Dare
- borse di studio
- guida
- Avere
- he
- assistenza sanitaria
- altezza
- Aiuto
- aiutanti
- utile
- qui
- Alta
- superiore
- il suo
- Come
- Tutorial
- HTML
- http
- HTTPS
- umano
- ID
- Identificazione
- identificato
- Identità
- Verifica dell'identità
- ids
- if
- Immagine
- immagini
- realizzare
- importare
- importante
- competenze
- migliora
- in
- inclusi
- Aumento
- Index
- indicizzati
- individuale
- industrie
- informazioni
- ingresso
- ai miglioramenti
- invocato
- comporta
- IoT
- dispositivi iot
- IT
- SUO
- jpeg
- giugno
- Le
- maggiore
- infine
- lanciato
- apprendimento
- a sinistra
- Biblioteca
- Illuminazione
- piace
- piace
- Lista
- piccolo
- caricare
- località
- Guarda
- SEMBRA
- Basso
- inferiore
- macchina
- machine learning
- FA
- manipolazioni
- partita
- fiammiferi
- corrispondenza
- matematica
- matematico
- massimo
- di misura
- metodo
- metodi
- ordine
- modelli
- modificato
- Mese
- mese
- Scopri di più
- multiplo
- devono obbligatoriamente:
- Nome
- necessaria
- Bisogno
- New
- GENERAZIONE
- no
- adesso
- numero
- oggetto
- oggetti
- of
- offrire
- Vecchio
- on
- Procedura di Onboarding
- ONE
- online
- esclusivamente
- operare
- or
- Altro
- altrimenti
- nostro
- contorno
- uscite
- ancora
- coppia
- passare
- appassionato
- Persone
- per
- esecuzione
- esegue
- autorizzazione
- persona
- cronologia
- foto
- Platone
- Platone Data Intelligence
- PlatoneDati
- Giocare
- punti
- politica
- posa
- pone
- Post
- presenti
- presentata
- Stampa
- stampa
- processi
- lavorazione
- purché
- Python
- qualità
- Gara
- gare
- piuttosto
- riferimento
- pertinente
- rappresentazione
- necessario
- risorsa
- risposta
- Risultati
- ritorno
- problemi
- robusto
- Ruolo
- Correre
- sagemaker
- Suddetto
- stesso
- salvato
- Punto
- Cerca
- ricerca
- sezioni
- vedere
- anziano
- serve
- Servizi
- Sessione
- set
- regolazione
- alcuni
- Spettacoli
- significativamente
- Un'espansione
- singolo
- Taglia
- solido
- soluzione
- Soluzioni
- alcuni
- Fonte
- Startup
- dichiarazione
- statistica
- Stato dei servizi
- step
- Passi
- conservazione
- Tornare al suo account
- negozi
- memorizzare
- ruscello
- La struttura
- tale
- in dotazione
- sistema
- Target
- telecomunicazioni
- terminal
- che
- I
- L’ORIGINE
- loro
- Li
- poi
- Là.
- di
- questo
- quelli
- tre
- soglia
- Attraverso
- fila
- tempo
- a
- top
- touring
- vero
- prova
- seconda
- Tipi di
- per
- Sconosciuto
- uso
- utilizzato
- Utente
- utenti
- usa
- utilizzando
- generalmente
- APPREZZIAMO
- variazioni
- vario
- variando
- Convalida
- verificare
- versione
- molto
- via
- Video
- video games
- volere
- Prima
- we
- sito web
- servizi web
- sono stati
- quando
- se
- quale
- larghezza
- volere
- con
- senza
- flusso di lavoro
- flussi di lavoro
- lavori
- sarebbe
- anni
- Tu
- Trasferimento da aeroporto a Sharm
- zefiro