Persoonlijke identiteitsverificatie van gebruikers is traag op te schalen, kostbaar en levert veel problemen op voor gebruikers. Door machine learning (ML) aangedreven gezichtsherkenningstechnologie kan online gebruikersidentiteitsverificatie mogelijk worden gemaakt. Amazon Rekognition biedt voorgetrainde gezichtsherkenning mogelijkheden die u snel kunt toevoegen aan uw onboarding- en authenticatieworkflows voor gebruikers om de identiteit van aangemelde gebruikers online te verifiëren. Er is geen ML-expertise vereist. Met Amazon Rekognition kunt u gebruikers binnen enkele seconden onboarden en authenticeren, terwijl u frauduleuze of dubbele accounts opspoort. Als gevolg hiervan kunt u het aantal gebruikers sneller laten groeien, fraude verminderen en de kosten voor gebruikersverificatie verlagen.
In dit bericht beschrijven we een typische workflow voor identiteitsverificatie en laten we zien hoe u een oplossing voor identiteitsverificatie kunt bouwen met behulp van verschillende Amazon Rekognition API's. Wij bieden een complete voorbeeldimplementatie in onze GitHub-repository.
Werkstroom voor gebruikersregistratie
De volgende afbeelding toont een voorbeeldworkflow van een nieuwe gebruikersregistratie. Typische stappen in dit proces zijn:
- De gebruiker legt een selfie-afbeelding en de afbeelding van een door de overheid uitgegeven identiteitsdocument vast.
- Kwaliteitscontrole van het selfie-beeld en optioneel detectie van levendigheid van het gebruikersgezicht.
- Vergelijking van het selfie-beeld met het gezichtsbeeld van het identiteitsbewijs.
- Controle van de selfie aan de hand van een database met bestaande gebruikersgezichten.
U kunt de stroom aanpassen aan het bedrijfsproces. Het bevat vaak enkele of alle stappen die in het voorgaande diagram worden gepresenteerd. U kunt ervoor kiezen om alle stappen synchroon uit te voeren (wacht tot één stap is voltooid voordat u doorgaat naar de volgende stap). Als alternatief kunt u enkele van de oranje gemarkeerde stappen asynchroon uitvoeren (wacht niet tot die stap is voltooid) om het gebruikersregistratieproces te versnellen en de klantervaring te verbeteren. Als de stappen niet succesvol zijn, moet u de gebruikersregistratie ongedaan maken.
Naast de registratie van nieuwe gebruikers is een andere veel voorkomende stroom het inloggen van een bestaande of terugkerende gebruiker. In deze stroom wordt een controle van het gebruikersgezicht (selfie) uitgevoerd ten opzichte van een eerder geregistreerd gezicht. Typische stappen in dit proces zijn onder meer het vastleggen van het gezicht van de gebruiker (selfie), het controleren van de selfie-beeldkwaliteit en het zoeken en vergelijken van de selfie met de gezichtendatabase. Het volgende diagram toont een mogelijke stroom.
U kunt de stappen van het proces aanpassen aan uw zakelijke behoeften en ervoor kiezen om de detectie van liveness op te nemen of uit te sluiten.
Overzicht oplossingen
De volgende referentiearchitectuur laat zien hoe u Amazon Rekognition, samen met andere AWS-services, kunt gebruiken om identiteitsverificatie te implementeren.
De architectuur omvat de volgende componenten:
- Toepassingen roepen: Amazon API-gateway om verzoeken naar de juiste te routeren AWS Lambda functie afhankelijk van de gebruikersstroom. Er zijn vier belangrijke acties in deze oplossing: authenticeren, registreren, registreren met ID-kaart en bijwerken.
- API Gateway gebruikt een service-integratie om de AWS Stap Functies express state machine die overeenkomt met het specifieke pad dat wordt aangeroepen vanuit API Gateway. Binnen elke stap zijn Lambda-functies verantwoordelijk voor het activeren van de juiste reeks oproepen van en naar Amazon DynamoDB en Amazon eenvoudige opslagservice (Amazon S3), samen met de relevante Amazon Rekognition API's.
- DynamoDB bevat gezichts-ID's (
face-id
), S3-pad-URI's en unieke ID's (bijvoorbeeld werknemers-ID-nummer) voor elkface-id
. Amazon S3 slaat alle gezichtsafbeeldingen op. - Het laatste belangrijke onderdeel van de oplossing is Amazon Rekognition. Elke stroom (authenticeren, registreren, registreren met ID-kaart en bijwerken) roept verschillende Amazon Rekognition-API's aan, afhankelijk van de taak.
Voordat we de oplossing implementeren, is het belangrijk om de volgende concepten en API-beschrijvingen te kennen:
- Collecties – Amazon Rekognition slaat informatie over gedetecteerde gezichten op in server-side containers die bekend staan als collecties. U kunt de gezichtsinformatie die in een verzameling is opgeslagen, gebruiken om bekende gezichten te zoeken in afbeeldingen, opgeslagen video's en streamingvideo's. U kunt verzamelingen in verschillende scenario's gebruiken. U kunt bijvoorbeeld een gezichtsverzameling maken om gescande badge-afbeeldingen op te slaan met behulp van de
IndexFaces
operatie. Wanneer een medewerker het gebouw betreedt, wordt er een beeld van het gezicht van de medewerker gemaakt en naar het gebouw verzondenSearchFacesByImage
operatie. Als de gezichtsovereenkomst een voldoende hoge gelijkenisscore oplevert (zeg 99%), kunt u de werknemer authenticeren. - DetectFaces-API – Deze API detecteert gezichten binnen een afbeelding die als invoer wordt verstrekt en retourneert informatie over gezichten. In een gebruikersregistratieworkflow kan deze handeling u helpen afbeeldingen te screenen voordat u naar de volgende stap gaat. U kunt bijvoorbeeld controleren of een foto een gezicht bevat, of de geïdentificeerde persoon zich in de juiste richting bevindt en of deze geen gezichtsblokkering draagt, zoals een zonnebril of pet.
- IndexFaces-API – Deze API detecteert gezichten in de invoerafbeelding en voegt ze toe aan de opgegeven verzameling. Deze bewerking wordt gebruikt om een gescreende afbeelding toe te voegen aan een verzameling voor toekomstige zoekopdrachten.
- SearchFacesByImage-API – Voor een bepaalde invoerafbeelding detecteert de API eerst het grootste gezicht in de afbeelding en zoekt vervolgens in de opgegeven verzameling naar overeenkomende gezichten. De bewerking vergelijkt de kenmerken van het invoervlak met gezichtskenmerken in de opgegeven verzameling.
- CompareFaces-API – Deze API vergelijkt een gezicht in de broninvoerafbeelding met elk van de 100 grootste gezichten die zijn gedetecteerd in de doelinvoerafbeelding. Als de bronafbeelding meerdere gezichten bevat, detecteert de service het grootste gezicht en vergelijkt dit met elk gezicht dat in de doelafbeelding is gedetecteerd. Voor ons gebruik verwachten we dat zowel de bron- als de doelafbeelding één enkel gezicht bevatten.
- DeleteFaces-API – Deze API verwijdert gezichten uit een collectie. U geeft een collectie-ID en een reeks gezichts-ID's op om te verwijderen.
Voorwaarden
Voordat u aan de slag gaat, moet u aan de volgende vereisten voldoen:
- Maak een AWS-account aan.
- Kloon de voorbeeldrepo op uw lokale computer:
We gebruiken de testclient in deze repository om de verschillende workflows te testen.
- Install Python 3.6 + op uw lokale computer.
Implementeer de oplossing
Kies de juiste AWS CloudFormatie stack om de oplossing in uw AWS-account in de door u gewenste regio in te richten:
Zoals we eerder hebben besproken, maakt deze oplossing gebruik van API Gateway geïntegreerd met Step Functions en Amazon Rekognition API's om de workflows voor identiteitsverificatie uit te voeren. Om de oplossing te testen, volgt u de stappen in de code opslagplaats om de meegeleverde testclient te gebruiken.
In de volgende secties worden de verschillende workflows beschreven die via Step Functions zijn geïmplementeerd.
Nieuwe gebruiker registratie
De volgende afbeelding illustreert de definitie van stapfuncties voor nieuwe gebruikersregistratie. De stappen zijn gedefinieerd in de register_user.py
bestand.
In deze workflow worden drie functies aangeroepen: gezichten detecteren, zoekgezichten en index-gezichten. De gezichten detecteren -functie roept de Amazon Rekognition DetectFaces API aan om te bepalen of een gezicht in een afbeelding wordt gedetecteerd en bruikbaar is. Enkele van de kwaliteitscontroles omvatten het vaststellen dat alleen het gezicht in de afbeelding aanwezig is, het garanderen dat het gezicht niet wordt bedekt door een zonnebril of een hoed, en het bevestigen dat het gezicht niet wordt gedraaid met behulp van de pose dimensie. Als de afbeelding de kwaliteitscontrole doorstaat, wordt de zoekgezichten functie zoekt naar een bestaande gezichtsovereenkomst in de Amazon Rekognition-collecties door de FaceMatch-drempel de betrouwbaarheidsscore voldoet aan uw drempeldoelstelling. Voor meer informatie, zie het hoofdstuk over gebruik gelijkenisdrempels om gezichten te matchen. Als de gezichtsafbeelding niet in de collecties voorkomt, wordt de index-gezichten functie wordt aangeroepen om het gezicht in de verzameling te indexeren. De metagegevens van de gezichtsafbeelding worden opgeslagen in de DynamoDB-tabel en de gezichtsafbeeldingen worden opgeslagen in een S3-bucket.
Om een nieuwe gebruiker te registreren, voert u de opdracht uit app.py script (test-client
) door de volgende code uit te voeren:
Als de registratie van de nieuwe gebruiker slaagt, wordt de kenmerkinformatie van het gezichtsbeeld toegevoegd in DynamoDB.
Registratie van nieuwe gebruikers met identiteitskaart
De stappen voor het registreren van een nieuwe gebruiker met een ID-kaart zijn vergelijkbaar met de stappen voor het registreren van een nieuwe gebruiker. De volgende afbeelding illustreert de stappen die zijn gedefinieerd in de register_idcard.py
bestand.
Dezelfde drie functies die we gebruikten om een gebruiker te registreren (detect-faces
, search-faces
en index-faces
) worden voor deze workflow ingeschakeld. Eerst maakt de klant een beeld van zijn identiteitsbewijs en een live beeld van zijn gezicht. Het gezichtsbeeld wordt gecontroleerd om te bevestigen dat het voldoet aan onze gedefinieerde kwaliteitsnormen met behulp van de DetectFaces
API. Als de afbeelding aan de kwaliteitsnormen voldoet, wordt het live gezichtsbeeld vergeleken met het gezicht in de ID om te bepalen of ze overeenkomen. Als de afbeeldingen niet overeenkomen, krijgt de gebruiker een foutmelding en wordt het proces beëindigd. Als de afbeeldingen overeenkomen, controleren we of het gezicht al bestaat in de Amazon Rekognition-collecties met behulp van de SearchFacesByImage
API. De zoekresultaten worden vergeleken met het huidige gezichtsbeeld van de gebruiker. Als de gebruiker al bestaat, is de gebruiker niet geregistreerd. Als de gebruiker niet voorkomt in de collecties, worden de relevante eigenschappen uit de identiteitskaart gehaald. U kunt sleutel-waardeparen uit identiteitsdocumenten extraheren met behulp van het onlangs gelanceerde Amazon T-extract AnalyzeID
API. De geëxtraheerde eigenschappen van de ID-kaart worden samengevoegd en het gezicht van de gebruiker wordt geïndexeerd in de DynamoDB-tabel. Nadat de afbeelding is geïndexeerd, is het registratieproces voor een nieuwe gebruikers-ID voltooid.
Bestaande gebruikersverificatie
De volgende afbeelding illustreert de workflow voor het verifiëren van een bestaande gebruiker. De stappen zijn gedefinieerd in de auth.py
bestand.
Deze Step Function workflow roept drie functies aan: detect-faces
, compare-faces
en search-faces
. Na de detect-faces
functie controleert of het vastgelegde gezichtsbeeld geldig is, de compare-faces
functie controleert de DynamoDB-tabel op een gezichtsafbeelding die overeenkomt met een bestaande gebruiker. Als er een match wordt gevonden in DynamoDB, authenticeert de gebruiker succesvol. Als er geen overeenkomst wordt gevonden, wordt de search-faces
De functie wordt aangeroepen om naar de gezichtsafbeelding in de collecties te zoeken. De gebruiker wordt geverifieerd en het authenticatieproces wordt voltooid als zijn of haar gezichtsafbeelding in de collecties voorkomt. Anders wordt de toegang van de gebruiker geweigerd.
Om de authenticatie van een bestaande gebruiker te testen, voert u de opdracht uit app.py
script (test-client
) door de volgende code uit te voeren::
Bestaande gebruiker login met een verzoek om foto-update
De volgende afbeelding illustreert de workflow voor het bijwerken van de foto van een bestaande gebruiker. De stappen zijn gedefinieerd in de update.py
bestand.
Deze workflow roept vier functies aan: detect-faces
, compare-faces
, search-faces
en index-faces
. De stappen zijn vergelijkbaar met de stappen in de bestaande workflow voor gebruikersauthenticatie. Nadat de gebruiker het gezichtsbeeld heeft vastgelegd en de beeldkwaliteit is gecontroleerd, controleren we of er een overeenkomend gezichtsbeeld is in DynamoDB met behulp van de compare-faces
functie. Als er een match voor de gebruiker wordt gevonden, wordt het gebruikersprofiel bijgewerkt en wordt het nieuwe gezichtsbeeld geïndexeerd door de index-faces
functie en het updateproces is voltooid. Als er geen overeenkomst wordt gevonden, wordt de functie Search-faces ook aangeroepen om naar de gezichtsafbeelding in de Amazon Rekognition-collecties te zoeken. Als de gezichtsafbeelding in de collectie wordt gevonden, wordt het profiel van de gebruiker bijgewerkt en wordt de nieuwe gezichtsafbeelding geïndexeerd. De toegang van de gebruiker wordt geweigerd als zijn afbeelding niet in de collecties wordt gevonden.
Om de foto van een bestaande gebruiker bij te werken, voert u de opdracht uit app.py script (test-client
) door de volgende code uit te voeren:
Opruimen
Om te voorkomen dat er extra kosten in uw AWS-account worden gegenereerd, verwijdert u de resources die u hebt ingericht door naar de AWS CloudFormation-console te gaan en de Riv-Prod
stack.
Als u de stapel verwijdert, wordt de S3-bucket die u hebt gemaakt niet verwijderd. In deze bucket worden alle gezichtsafbeeldingen opgeslagen. Als u ervoor kiest om de S3-bucket te verwijderen, navigeert u naar de Amazon S3-console, maakt u de bucket leeg en bevestigt u dat u deze permanent wilt verwijderen.
Conclusie
Amazon Rekognition maakt het eenvoudig om beeldanalyse toe te voegen aan uw identiteitsverificatietoepassingen met behulp van bewezen, zeer schaalbare, deep learning-technologie waarvoor geen ML-expertise vereist is. Amazon Recognition biedt: gezichtsherkenning en vergelijking mogelijkheden. Met een combinatie van de DetectGezichten, VergelijkGezichten, IndexGezichten en ZoekenFacesByImage API's kunt u de algemene stromen rond nieuwe gebruikersregistratie en bestaande gebruikersaanmeldingen implementeren.
Amazon Rekognition-verzamelingen bieden een methode om informatie over gedetecteerde gezichten op te slaan in containers aan de serverzijde. Vervolgens kunt u de gezichtsinformatie die in een verzameling is opgeslagen, gebruiken om bekende gezichten in afbeeldingen te zoeken. Als u verzamelingen gebruikt, hoeft u geen originele foto's op te slaan nadat u gezichten in de verzameling hebt geïndexeerd. Amazon Rekognition-collecties bevatten geen werkelijke afbeeldingen. In plaats daarvan detecteert het onderliggende detectiealgoritme de gezichten in het invoerbeeld, extraheert het gezichtskenmerken in een kenmerkvector voor elk gezicht en slaat het op in de verzameling.
Om uw reis naar identiteitsverificatie te beginnen, gaat u naar Identiteitsverificatie met Amazon Recognition.
Over de auteurs
Nate Bachmeier is een AWS Senior Solutions Architect die nomadisch New York verkent, één cloudintegratie tegelijk. Hij is gespecialiseerd in het migreren en moderniseren van applicaties. Daarnaast is Nate een voltijdstudent en heeft ze twee kinderen.
Antonius Pasquariello is een Enterprise Solutions Architect gevestigd in New York City. Hij geeft technisch advies aan klanten tijdens hun cloudtraject, vooral op het gebied van best practices op het gebied van beveiliging. Hij heeft een MS en BS in elektrische en computertechniek van de Boston University. In zijn vrije tijd houdt hij van ramen, het schrijven van non-fictie en filosofie.
Lauren Mullennex is een Solutions Architect gevestigd in Denver, CO. Ze werkt samen met klanten om hen te helpen bij het ontwerpen van oplossingen op AWS. In haar vrije tijd houdt ze van wandelen en koken van de Hawaïaanse keuken.
Amit Gupta is Senior AI Services Solutions Architect bij AWS. Hij is gepassioneerd om klanten op grote schaal goed ontworpen machine learning-oplossingen te bieden.
Bron: https://aws.amazon.com/blogs/machine-learning/identity-verification-using-amazon-rekognition/
- '
- 100
- 107
- 7
- toegang
- Account
- Extra
- AI
- AI-diensten
- algoritme
- Alles
- Amazone
- Amazon Rekognition
- analyse
- api
- APIs
- toepassingen
- architectuur
- rond
- authenticatie
- AWS
- BEST
- 'best practices'
- Boston
- Boston University
- bouw
- Gebouw
- bedrijfsdeskundigen
- lasten
- Controles
- Plaats
- Cloud
- code
- collecties
- Gemeen
- bestanddeel
- vertrouwen
- troosten
- containers
- koken
- Kosten
- Actueel
- klantervaring
- Klanten
- Database
- diepgaand leren
- Denver
- Opsporing
- Afmeting
- documenten
- eindigt
- Engineering
- Enterprise
- Ondernemingsoplossingen
- Komt binnen
- ervaring
- extracten
- Gezicht
- gezichten
- gezichtsherkenning
- Gezichtsherkenningstechnologie
- Kenmerk
- Voordelen
- Figuur
- Voornaam*
- stroom
- volgen
- bedrog
- Gratis
- functie
- toekomst
- Groeien
- Hoge
- Gemarkeerd
- wandelen
- Hoe
- How To
- HTTPS
- Identiteit
- identiteit verificatie
- beeld
- foto analyse
- index
- informatie
- integratie
- IT
- kinderen
- leren
- lokaal
- machine learning
- groot
- Match
- ML
- MS
- New York
- new york city
- Aanbod
- Onboarding
- online.
- Oregon
- Overige
- filosofie
- presenteren
- Profiel
- Python
- kwaliteit
- verminderen
- Registratie
- Resources
- Resultaten
- Retourneren
- Rollen
- weg
- lopen
- lopend
- Scale
- scherm
- Ontdek
- veiligheid
- selfie
- Diensten
- reeks
- Eenvoudig
- Oplossingen
- specialiseert
- snelheid
- normen
- begin
- gestart
- Land
- mediaopslag
- shop
- winkels
- streaming
- Student
- geslaagd
- doelwit
- Technisch
- Technologie
- proef
- De Bron
- niet de tijd of
- universiteit-
- bijwerken
- gebruikers
- Verificatie
- Video's
- Virginia
- wachten
- binnen
- workflow
- Bedrijven
- het schrijven van