Accelera i tuoi progetti di verifica dell'identità utilizzando le implementazioni di esempio di AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Accelera i tuoi progetti di verifica dell'identità utilizzando le implementazioni di esempio di AWS Amplify e Amazon Rekognition

Rekognition di Amazon ti consente di mitigare gli attacchi fraudolenti e ridurre al minimo l'attrito di onboarding per i clienti legittimi attraverso un processo semplificato di verifica dell'identità. Ciò può comportare un aumento della fiducia e della sicurezza dei clienti. Le funzionalità chiave di questa soluzione includono:

  • Registra un nuovo utente usando un selfie
  • Registra un nuovo utente dopo il face match contro una carta d'identità e l'estrazione dei dati della carta d'identità
  • Autenticare l'utente di ritorno

Amazon Rekognition offre pre-addestrati riconoscimento facciale funzionalità che puoi aggiungere rapidamente ai flussi di lavoro di autenticazione e onboarding degli utenti per verificare online le identità degli utenti che hanno aderito. Non è richiesta alcuna competenza di machine learning (ML) per utilizzare questo servizio.

In un precedente settimana, abbiamo descritto un tipico flusso di lavoro di verifica dell'identità e ti abbiamo mostrato come creare una soluzione di verifica dell'identità utilizzando varie API di Amazon Rekognition. In questo post, abbiamo aggiunto un'interfaccia utente di autenticazione basata sull'identità facciale per mostrare una soluzione completa di verifica dell'identità end-to-end. Forniamo un'implementazione di esempio completa nel nostro Repository GitHub.

Panoramica della soluzione

La seguente architettura di riferimento mostra come utilizzare Amazon Rekognition, insieme ad altri servizi AWS, per implementare la verifica dell'identità.

L'architettura include i seguenti componenti:

  1. Gli utenti accedono al portale web front-end ospitato all'interno del AWS Amplifica Amplify è una soluzione end-to-end che consente agli sviluppatori Web front-end di creare e distribuire applicazioni full stack sicure e scalabili.
  2. Le applicazioni invocano Gateway API Amazon per indirizzare le richieste al corretto AWS Lambda funzione a seconda del flusso di utenti. Ci sono quattro azioni principali in questa soluzione: autenticazione, registrazione, registrazione con carta d'identità e aggiornamento.
  3. API Gateway utilizza un'integrazione del servizio per eseguire il Funzioni AWS Step macchina a stati espressa corrispondente all'endpoint specifico chiamato da API Gateway. All'interno di ogni passaggio, le funzioni Lambda sono responsabili dell'attivazione del corretto set di chiamate da e verso Amazon DynamoDB ed Servizio di archiviazione semplice Amazon (Amazon S3), insieme alle API Amazon Rekognition pertinenti.
  4. DynamoDB contiene gli ID dei volti (face-id), URI di percorso S3 e ID univoci (ad esempio il numero ID dipendente) per ciascuno face-id. Amazon S3 memorizza tutte le immagini dei volti.
  5. L'ultimo componente principale della soluzione è Amazon Recognition. Ogni flusso (autenticazione, registrazione, registrazione con carta d'identità e aggiornamento) chiama API Amazon Rekognition diverse a seconda dell'attività.

Prima di distribuire la soluzione, è importante conoscere i seguenti concetti e descrizioni API:

  • Collezioni – Amazon Rekognition archivia le informazioni sui volti rilevati in contenitori lato server noti come collezioni. Puoi utilizzare le informazioni sul viso archiviate in una raccolta per cercare volti noti in immagini, video archiviati e video in streaming. È possibile utilizzare le raccolte in una varietà di scenari. Ad esempio, è possibile creare una raccolta di volti per archiviare le immagini di badge scansionate utilizzando il IndiceFacce Quando un dipendente entra nell'edificio, un'immagine del volto del dipendente può essere catturata e inviata al CercaFacesByImage operazione. Se la corrispondenza facciale produce un punteggio di somiglianza sufficientemente alto (diciamo 99%), puoi autenticare il dipendente.
  • API DetectFaces – Questa API rileva i volti all'interno di un'immagine fornita come input e restituisce informazioni sui volti. In un flusso di lavoro di registrazione utente, questa operazione può aiutarti a visualizzare le immagini prima di passare al passaggio successivo. Ad esempio, puoi controllare se una foto contiene un volto, se la persona identificata è nell'orientamento corretto e se non indossa un blocco facciale come occhiali da sole o un berretto.
  • API IndexFaces – Questa API rileva i volti nell'immagine di input e li aggiunge alla raccolta specificata. Questa operazione viene utilizzata per aggiungere un'immagine schermata a una raccolta per query future.
  • API SearchFacesByImage – Per una determinata immagine di input, l'API rileva prima il volto più grande nell'immagine, quindi cerca nella raccolta specificata i volti corrispondenti. L'operazione confronta le funzioni della faccia di input con le funzioni della faccia nella raccolta specificata.
  • API CompareFaces – Questa API confronta un volto nell'immagine di input di origine con ciascuno dei 100 volti più grandi rilevati nell'immagine di input di destinazione. Se l'immagine di origine contiene più volti, il servizio rileva il volto più grande e lo confronta con ogni volto rilevato nell'immagine di destinazione. Per il nostro caso d'uso, prevediamo che sia l'immagine di origine che quella di destinazione contengano una singola faccia.
  • API EliminaFaces – Questa API elimina i volti da una raccolta. Specifica un ID raccolta e una matrice di ID viso da rimuovere.

Flussi di lavoro

La soluzione fornisce un esempio di flussi di lavoro per abilitare la registrazione utente, l'autenticazione e gli aggiornamenti all'immagine del profilo utente. Descriviamo in dettaglio ogni flusso di lavoro in questa sezione.

Registra un nuovo utente utilizzando un selfie facciale

La figura seguente mostra il flusso di lavoro della registrazione di un nuovo utente. I passaggi tipici di questo processo sono:

  1. Un utente acquisisce un'immagine selfie.
  2. Viene eseguito un controllo della qualità dell'immagine del selfie.
    Note:: Dopo questo passaggio è possibile eseguire anche un controllo del rilevamento della vivacità. Per maggiori dettagli, si prega di leggere questo blog.
  3. Il selfie viene confrontato con un database di volti utente esistenti.

Accelera i tuoi progetti di verifica dell'identità utilizzando le implementazioni di esempio di AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

L'immagine seguente illustra il flusso di lavoro di Step Functions per la registrazione di nuovi utenti.

Accelera i tuoi progetti di verifica dell'identità utilizzando le implementazioni di esempio di AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

In questo flusso di lavoro vengono chiamate tre funzioni: rilevare-volti, facce di ricercae facce-indice. rilevare-volti la funzione chiama Amazon Recognition DetectFaces API per determinare se un volto viene rilevato in un'immagine ed è utilizzabile. Alcuni dei controlli di qualità includono la determinazione della presenza di un solo viso nell'immagine, la verifica che il viso non sia oscurato da occhiali da sole o un cappello e la conferma che il viso non sia ruotato utilizzando il posa dimensione. Se l'immagine supera il controllo di qualità, il facce di ricerca la funzione cerca una corrispondenza facciale esistente nelle raccolte di Amazon Rekognition confermando il Soglia FaceMatch il punteggio di affidabilità soddisfa il tuo obiettivo di soglia. Per ulteriori informazioni, fare riferimento a Utilizzo delle soglie di somiglianza per abbinare i volti. Se l'immagine del viso non esiste nelle raccolte, il file facce-indice viene chiamata la funzione per indicizzare la faccia nelle raccolte. I metadati dell'immagine del viso sono archiviati nella tabella DynamoDB e le immagini del viso sono archiviate in un bucket S3.

Se la registrazione del nuovo utente riesce, le informazioni sull'attributo dell'immagine del viso vengono aggiunte in DynamoDB. È possibile personalizzare il flusso in base al processo aziendale. Spesso contiene alcuni o tutti i passaggi presentati nel diagramma precedente. Puoi scegliere di eseguire tutti i passaggi in modo sincrono (attendere il completamento di un passaggio prima di passare al passaggio successivo). In alternativa, puoi eseguire alcuni dei passaggi in modo asincrono (non attendere il completamento di tale passaggio) per accelerare il processo di registrazione dell'utente e migliorare l'esperienza del cliente. Se i passaggi non hanno esito positivo, è necessario ripristinare la registrazione dell'utente.

Registra un nuovo utente dopo il face match contro una carta d'identità con estrazione dei dati della carta d'identità

Oltre alla registrazione dell'utente con l'immagine, questo flusso di lavoro consente agli utenti di registrarsi con una carta d'identità come la patente di guida. I passaggi per registrare un nuovo utente con una carta d'identità sono simili ai passaggi per registrare un nuovo utente.

Accelera i tuoi progetti di verifica dell'identità utilizzando le implementazioni di esempio di AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

L'immagine seguente illustra il flusso di lavoro di Step Functions per la registrazione di nuovi utenti con ID.

Accelera i tuoi progetti di verifica dell'identità utilizzando le implementazioni di esempio di AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

In questo flusso di lavoro vengono chiamate quattro funzioni:  rilevare-volti, facce di ricerca, facce-indice ed confronta-facce. La sequenza delle operazioni in questo flusso di lavoro è simile al flusso di lavoro di registrazione utente con l'aggiunta di confronta-facce. Dopo aver verificato la qualità dell'immagine del selfie e assicurato che l'immagine del viso non sia presente nella collezione, il confronta-facce viene invocata la funzione per verificare che l'immagine del selfie corrisponda all'immagine del viso nella carta d'identità. Se le immagini corrispondono, le relative proprietà vengono estratte dalla carta d'identità. Puoi estrarre coppie chiave-valore dai documenti di identità utilizzando il nuovo lancio Testo Amazon AnalyzeID API (per le regioni degli Stati Uniti) o Amazon Recognition DetectText API (regioni non statunitensi e lingue diverse dall'inglese). Le proprietà estratte dalla carta d'identità vengono unite e il volto dell'utente viene indicizzato nella collezione tramite il facce-indice funzione.

I metadati dell'immagine del viso sono archiviati nella tabella DynamoDB e le immagini del viso sono archiviate in un bucket S3.

Se le immagini non corrispondono o viene rilevata una registrazione duplicata, l'utente riceve un errore di accesso. Gli errori di accesso possono essere registrati utilizzando un Amazon Cloud Watch evento e le azioni possono essere attivate utilizzando Servizio di notifica semplice Amazon (Amazon SNS) per notificare le operazioni di sicurezza per il monitoraggio e il monitoraggio degli accessi non riusciti. Per ulteriori informazioni, fare riferimento a Monitoraggio degli argomenti Amazon SNS tramite CloudWatch.

Autenticare l'utente di ritorno

Un altro flusso comune è un login utente esistente o di ritorno. In questo flusso, viene eseguito un controllo del volto dell'utente (selfie) rispetto a un volto registrato in precedenza. I passaggi tipici di questo processo includono l'acquisizione del volto dell'utente (selfie), il controllo della qualità dell'immagine del selfie e la ricerca e il confronto del selfie con il database dei volti. Il diagramma seguente mostra un possibile flusso.

Accelera i tuoi progetti di verifica dell'identità utilizzando le implementazioni di esempio di AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

L'immagine seguente illustra il flusso di lavoro per l'autenticazione di un utente esistente.

Accelera i tuoi progetti di verifica dell'identità utilizzando le implementazioni di esempio di AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Questo flusso di lavoro Step Function chiama tre funzioni: rilevare-volti, confronta-facce ed facce di ricerca. Dopo il rilevare-volti la funzione verifica che l'immagine del viso catturata sia valida, il confronta-facce la funzione controlla il collegamento nella tabella DynamoDB per un'immagine del viso nel bucket S3 che corrisponde a un utente esistente. Se viene trovata una corrispondenza, l'utente si autentica correttamente. Se non viene trovata una corrispondenza, viene chiamata la funzione cerca-facce per cercare l'immagine del viso nelle raccolte. L'utente viene verificato e il processo di autenticazione viene completato se la sua immagine del viso esiste nelle raccolte. In caso contrario, l'accesso dell'utente viene negato.

Prerequisiti

Prima di iniziare, completa i seguenti prerequisiti:

  1. Crea un account AWS.
  2. installare il Interfaccia della riga di comando di AWS (AWS CLI) versione 2 sul computer locale. Per istruzioni, fare riferimento a Installazione o aggiornamento dell'ultima versione di AWS CLI.
  3. Configura l'AWS CLI.
  4. Installa Node.js sul tuo computer locale.
  5. Clona il repository di esempio sul tuo computer locale:
git clone https://github.com/aws-samples/rekognition-identity-verification.git

Distribuisci la soluzione

Scegli lo stack CloudFormation appropriato per eseguire il provisioning della soluzione nel tuo account AWS nella tua regione preferita. Questa soluzione distribuisce API Gateway integrato con Step Functions e le API Amazon Rekognition per eseguire i flussi di lavoro di verifica dell'identità.

Facendo clic su uno dei seguenti pulsanti di avvio, verrà eseguito il provisioning della soluzione nel tuo account AWS nella regione specifica.

Pulsante di avvio della pila  Virginia settentrionale (us-east-1)

Accelera i tuoi progetti di verifica dell'identità utilizzando le implementazioni di esempio di AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.  dell'Oregon (us-west-2)

Eseguire i seguenti passaggi sul computer locale per distribuire l'applicazione front-end:

cd rekognition-identity-verification 
./fe-deployment.sh

Richiama l'interfaccia utente web

Il portale web viene distribuito con Amplify. Nella console Amplify, individuare l'ambiente dell'applicazione Web ospitata e l'URL. Copia l'URL e accedi ad esso dal tuo browser.

Accelera i tuoi progetti di verifica dell'identità utilizzando le implementazioni di esempio di AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Registra un nuovo utente utilizzando un selfie facciale

Registrati come utente con i seguenti passaggi:

  1. Apri l'URL web fornito da Amplify.
  2. Scegli Registrati
  3. Abilita la tua fotocamera e cattura un'immagine del viso.
  4. Inserisci il tuo nome utente e i dettagli.
  5. Scegli Registrati per registrare il tuo account.

Accelera i tuoi progetti di verifica dell'identità utilizzando le implementazioni di esempio di AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Autenticare l'utente di ritorno

Dopo esserti registrato, accedi utilizzando il Face ID come meccanismo di autenticazione.

  1. Apri l'URL web fornito da Amplify
  2. Cattura il tuo ID viso.
  3. Inserisci il tuo ID utente.
  4. Scegli Accedi.

Accelera i tuoi progetti di verifica dell'identità utilizzando le implementazioni di esempio di AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Riceverai un messaggio "Accesso riuscito" dopo che il tuo Face ID è stato verificato con l'immagine di registrazione.

Accelera i tuoi progetti di verifica dell'identità utilizzando le implementazioni di esempio di AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Registra un nuovo utente dopo il face match contro una carta d'identità con estrazione dei dati della carta d'identità

Per testare la registrazione utente con un ID, completare i seguenti passaggi:

  1. Apri l'URL web fornito da Amplify.
  2. Scegli Registrati con ID
  3. Abilita la tua fotocamera e cattura un'immagine del viso.
  4. Trascina e rilascia la tua carta d'identità
  5. Scegli Registrati.

Accelera i tuoi progetti di verifica dell'identità utilizzando le implementazioni di esempio di AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Lo screenshot seguente mostra un esempio. L'applicazione supporta immagini di carte d'identità fino a 256 KB.

Accelera i tuoi progetti di verifica dell'identità utilizzando le implementazioni di esempio di AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Riceverai un messaggio "Utente registrato correttamente".

Accelera i tuoi progetti di verifica dell'identità utilizzando le implementazioni di esempio di AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

ripulire

Per evitare di accumulare costi aggiuntivi nel tuo account AWS, elimina le risorse di cui hai eseguito il provisioning accedendo alla console AWS CloudFormation ed eliminando il Riv-Prod pila.

L'eliminazione dello stack non elimina il bucket S3 che hai creato. Questo bucket memorizza tutte le immagini dei volti. Se desideri eliminare il bucket S3, vai alla console Amazon S3, svuota il bucket, quindi conferma di volerlo eliminare definitivamente.

Conclusione

Amazon Rekognition semplifica l'aggiunta dell'analisi delle immagini alle applicazioni di verifica dell'identità utilizzando una tecnologia di deep learning comprovata, altamente scalabile che non richiede competenze di ML per essere utilizzata. Amazon Recognition fornisce rilevamento e confronto dei volti capacità. Con una combinazione di Rileva Facce, ConfrontaFaces, IndiceFacce, CercaFacesByImage, RilevaTesto ed  Analizza ID, puoi implementare i flussi comuni relativi alla registrazione di nuovi utenti e agli accessi degli utenti esistenti.

Le raccolte di Amazon Rekognition forniscono un metodo per archiviare le informazioni sui volti rilevati nei container lato server. È quindi possibile utilizzare le informazioni sul viso archiviate in una raccolta per cercare i volti noti nelle immagini. Quando si utilizzano le raccolte, non è necessario archiviare le foto originali dopo aver indicizzato i volti nella raccolta. Le raccolte di Amazon Rekognition non mantengono le immagini reali. Al contrario, l'algoritmo di rilevamento sottostante rileva i volti nell'immagine di input, estrae le caratteristiche facciali in un vettore di caratteristiche per ciascun volto e lo memorizza nella raccolta.

Per iniziare il tuo viaggio verso la verifica dell'identità, visita Verifica dell'identità tramite Amazon Recognition.


Circa gli autori

Accelera i tuoi progetti di verifica dell'identità utilizzando le implementazioni di esempio di AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Vigneto Kacchawaha è un Solutions Architect presso AWS con esperienza in Machine Learning. È responsabile di aiutare i clienti a progettare carichi di lavoro scalabili, sicuri ed economici su AWS.

Accelera i tuoi progetti di verifica dell'identità utilizzando le implementazioni di esempio di AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Ramesh Thiagarajan è un Senior Solutions Architect con sede a San Francisco. Ha conseguito una laurea in Scienze Applicate e un master in Cyber ​​Security. È specializzato in migrazione cloud, sicurezza cloud, conformità e gestione dei rischi. Al di fuori del lavoro, è un giardiniere appassionato e ha un vivo interesse per i progetti immobiliari e di miglioramento della casa.

Accelera i tuoi progetti di verifica dell'identità utilizzando le implementazioni di esempio di AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Amit Gupta è un AI Services Solutions Architect presso AWS. È appassionato di offrire ai clienti soluzioni di machine learning ben progettate su larga scala.

Accelera i tuoi progetti di verifica dell'identità utilizzando le implementazioni di esempio di AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Tim Murphy è un Senior Solutions Architect per AWS, che lavora con clienti di servizi finanziari aziendali che creano soluzioni incentrate sul cloud aziendale. Ha trascorso l'ultimo decennio lavorando con startup, organizzazioni non profit, imprese commerciali e agenzie governative, implementando infrastrutture su larga scala. Nel suo tempo libero, quando non sta armeggiando con la tecnologia, molto probabilmente lo troverai in aree remote della terra facendo escursioni sulle montagne, facendo surf sulle onde o andando in bicicletta attraverso una nuova città.

Accelera i tuoi progetti di verifica dell'identità utilizzando le implementazioni di esempio di AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Nate Bachmeier è un AWS Senior Solutions Architect che esplora nomadicamente New York, un'integrazione cloud alla volta. È specializzato nella migrazione e nella modernizzazione delle applicazioni. Oltre a questo, Nate è uno studente a tempo pieno e ha due figli.

Accelera i tuoi progetti di verifica dell'identità utilizzando le implementazioni di esempio di AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Jessie Lee Fry è uno specialista AIML Snr con particolare attenzione alla visione artificiale presso AWS. Aiuta le organizzazioni a sfruttare Machine Learning e AI per combattere le frodi e promuovere l'innovazione per conto dei propri clienti. Al di fuori del lavoro, le piace passare il tempo con la sua famiglia, viaggiare e leggere tutto sull'IA responsabile.

Timestamp:

Di più da Apprendimento automatico di AWS