ID + Selfie – digitaalse identiteedi kontrollimise täiustamine AWS PlatoBlockchain Data Intelligence abil. Vertikaalne otsing. Ai.

"ID + Selfie" – digitaalse identiteedi kontrollimise täiustamine AWS-i abil

COVID-19 ülemaailmne pandeemia on suurendanud vajadust kontrollida ja kaasata kasutajaid võrgus mitmes tööstusharus, nagu finantsteenused, kindlustus ja tervishoid. Kasutuskogemuse osas on ülioluline tagada hõõrdumatu tehing, säilitades samal ajal identiteedi kontrollimise kõrge standardi. Küsimus on selles, kuidas kontrollida tegelikke inimesi digimaailmas?

Amazon Rekognitsioon pakub eelkoolitatud näotuvastus- ja analüüsivõimalusi identiteedi kinnitamiseks teie veebirakendustele, nagu pangandus, hüved, e-kaubandus ja palju muud.

Selles postituses tutvustame ID + Selfie identiteedi kinnitamise kujundusmustrit ja näidiskood saate kasutada oma identiteedi kinnitamise REST lõpp-punkti loomiseks. See on levinud kujundusmuster, mille saate lisada olemasolevatesse või uutesse lahendustesse, mis nõuavad näopõhist identiteedi kinnitamist. Kasutaja esitab isikut tõendava vormi, näiteks juhiloa või passi. Kasutaja jäädvustab rakendusega reaalajas selfie. Seejärel võrdleme dokumendis olevat nägu nende seadmega tehtud reaalajas selfie-ga.

Amazon Rekognition CompareFaces API

Kujundusmustri „ID + Selfie” keskmes on selfil oleva näo ja isikut tõendaval dokumendil oleva näo võrdlemine. Selleks kasutame Amazon Rekognitioni CompareFaces API. API võrdleb allika sisendpildil olevat nägu sihtsisendipildil tuvastatud näoga või nägudega. Järgmises näites võrdleme juhiloa näidist (vasakul) selfie'ga (paremal).

allikas sihtmärk
ID + Selfie – digitaalse identiteedi kontrollimise täiustamine AWS PlatoBlockchain Data Intelligence abil. Vertikaalne otsing. Ai.

Järgmine on API koodi näide:

response = client.compare_faces(SimilarityThreshold=80,
                              SourceImage={'Bytes': s_bytes},
                              TargetImage={'Bytes': t_bytes})

for faceMatch in response['FaceMatches']:
    position = faceMatch['Face']['BoundingBox']
    similarity = str(faceMatch['Similarity'])

Lahtris tagastatakse mitu väärtust CompareFaces API vastus. Keskendume sellele Similarity väärtus tagastatud FaceMatches kinnitada, et selfie vastab esitatud ID-le.

Peamiste häälestusparameetrite mõistmine

SimilarityThreshold on vaikimisi seatud väärtusele 80% ja tagastab ainult tulemused, mille sarnasusskoor on suurem või võrdne 80%. Reguleerige väärtust, määrates SimilarityThreshold parameeter.

QualityFilter on sisendparameeter, et filtreerida välja tuvastatud näod, mis ei vasta nõutavale kvaliteediribale. Kvaliteediriba põhineb mitmesugustel levinud kasutusjuhtudel. Kasutage QualityFilter kvaliteediriba määramiseks määrates LOW, MEDIUMvõi HIGH. Kui te ei soovi halva kvaliteediga nägusid filtreerida, täpsustage NONE. Vaikeväärtus on NONE.

Lahenduse ülevaade

Saate luua "ID + Selfie" API digitaalse identiteedi kinnitamiseks, juurutades järgmised komponendid.

  • POST-meetodiga REST API, mis võimaldab meil saata selfie ja identifitseerimisandmed ning tagastab vastuse, antud juhul sarnasusskoori
  • Funktsioon kasuliku koormuse vastuvõtmiseks, piltide õigesse vormingusse teisendamiseks ja Amazon Rekognitioni kutsumiseks compare_faces API.

Rakendame Amazon API värav REST API funktsioonide jaoks ja AWS Lambda funktsiooni jaoks.

Järgmine diagramm illustreerib lahenduse arhitektuuri ja töövoogu.

ID + Selfie – digitaalse identiteedi kontrollimise täiustamine AWS PlatoBlockchain Data Intelligence abil. Vertikaalne otsing. Ai.

Töövoog sisaldab järgmisi samme.

  1. Kasutaja laadib üles vajaliku isikut tõendava dokumendi ja selfie.
  2. Klient esitab isikut tõendava dokumendi ja selfie REST lõpp-punkti.
  3. REST lõpp-punkt tagastab kliendile sarnasuse skoori.
  4. Hindamine toimub teie rakenduse äriloogika kaudu. Näiteks kui sarnasuse skoor on alla 80%, ei kuku see läbi digitaalse identiteedi kontrolli; muidu läbib digitaalse identiteedi kontrolli.
  5. Klient saadab oleku kasutajale.

Lambda kood

Lambda funktsioon teisendab iga pildi sissetuleva kasuliku koormuse baas64-lt baitideks ja saadab seejärel allika (selfie) ja sihtmärgi (tuvastus) Amazon Rekognitionile. compare_faces API ja tagastab API vastuse põhiosas saadud sarnasuse skoori. Vaadake järgmist koodi:

import boto3
import sys
import json
import base64


def lambda_handler(event, context):

  client = boto3.client('rekognition')

  payload_dict = json.loads(json.loads(event['body']))
  selfie = payload_dict['selfie']
  dl = payload_dict['dl']

  # convert text to base64
  s_base64 = dl.encode('utf-8')
  t_base64 = selfie.encode('utf-8')
  #convert base64 to bytes
  s_bytes = base64.b64decode(s_base64)
  t_bytes = base64.b64decode(t_base64)
  response = client.compare_faces(SimilarityThreshold=80,
                                SourceImage={'Bytes': s_bytes},
                                TargetImage={'Bytes': t_bytes})

  for faceMatch in response['FaceMatches']:
      position = faceMatch['Face']['BoundingBox']
      similarity = str(faceMatch['Similarity'])

  return {

    'statusCode': response['ResponseMetadata']['HTTPStatusCode'],

    'body': similarity

  }

Rakenda projekt

See projekt on juurutamiseks saadaval AWS-i näidised koos AWS pilvearenduskomplekt (AWS CDK). Saate hoidla kloonida ja kasutada oma AWS-i kontole juurutamiseks järgmist AWS CDK protsessi.

  1. Seadistage kasutaja, kellel on õigused AWS-i CDK kaudu lahendusressursse programmiliselt juurutada.
  2. Seadistage AWS-i käsurea liides (AWS CLI). Juhiste saamiseks vaadake AWS-i CLI konfigureerimine.
  3. Kui kasutate AWS CDK-d esimest korda, täitke jaotises loetletud eeltingimused AWS CDK-ga töötamine Pythonis.
  4. Kloonige GitHubi hoidla.
  5. Loo virtuaalne keskkond. Kasutatav käsk sõltub teie operatsioonisüsteemist:
    1. Kui kasutate Windowsi, käivitage oma terminaliaknas järgmine käsk kloonitud hoidla allikast:
      ..venvScriptsactivate

    2. Kui kasutate Maci või Linuxit, käivitage oma terminaliaknas järgmine käsk kloonitud hoidla allikast:
      .venv/bin/activate

  6. Pärast virtuaalse keskkonna aktiveerimist installige rakenduse standardsed sõltuvused:
    python -m pip install -r requirements.txt

  7. Nüüd, kui keskkond on seadistatud ja nõuded täidetud, saame selle projekti AWS-i juurutamiseks väljastada AWS CDK juurutamise käsu:
    CDK Deploy

Tehke API-kõnesid

Peame saatma kasuliku koormuse base64-vormingus lõpp-punkti REST. API-kõne tegemiseks kasutame Pythoni faili, mis võimaldab meil avada lähte- ja sihtfailid, teisendada need base64-ks ja saata kasulik koormus API-lüüsile. See kood on hoidlas saadaval.

Pange tähele, et SOURCE ja TARGET faili asukohad asuvad teie kohalikus failisüsteemis ja URL on projekti loomise ajal loodud API lüüsi URL.

import requests
from base64 import b64encode
from json import dumps

TARGET = '.png'
SOURCE = .png'
URL = "https://.execute-api..amazonaws.com//ips"
ENCODING = 'utf-8'
JSON_NAME = 'output.json'

# first: reading the binary stuff
with open(SOURCE, 'rb') as source_file:
    s_byte_content = source_file.read()
with open(TARGET, 'rb') as target_file:
    t_byte_content = target_file.read()

# second: base64 encode read data
s_base64_bytes = b64encode(s_byte_content)
t_base64_bytes = b64encode(t_byte_content)

# third: decode these bytes to text
s_base64_string = s_base64_bytes.decode(ENCODING)
t_base64_string = t_base64_bytes.decode(ENCODING)

# make raw data for json
raw_data = {
    " dl ": s_base64_string,
    " selfie ": t_base64_string
}

# now: encoding the data to json
json_data = dumps(raw_data, indent=2)

response = requests.post(url=URL, json=json_data)
response.raise_for_status()

print("Status Code", response.status_code)
print("Body ", response.json())

Koristage

Kasutasime selle projekti koostamiseks AWS CDK-d, et saaksime oma projekti kohapeal avada ja ressursside puhastamiseks väljastada järgmise AWS CDK käsu:

CDK Destroy

Järeldus

Siin on see kujundusmuster "ID + Selfie" koos lihtsa API-ga, mille saate digitaalse identiteedi kontrollimiseks oma rakendusega integreerida. Meie seeria järgmises postituses laiendame seda mustrit veelgi, eraldades teksti isikut tõendavast dokumendist ja otsides nägude kogust, et vältida dubleerimist.

Lisateabe saamiseks vaadake Amazon Rekognitioni arendaja juhend nägude tuvastamisel ja analüüsimisel.


Autoritest

ID + Selfie – digitaalse identiteedi kontrollimise täiustamine AWS PlatoBlockchain Data Intelligence abil. Vertikaalne otsing. Ai. Mike Ames on AWS-iga peamine rakenduslike AI/ML-lahenduste arhitekt. Ta aitab ettevõtetel kasutada masinõpet ja tehisintellekti teenuseid, et võidelda pettuste, raiskamise ja kuritarvitamise vastu. Vabal ajal võib teda leida mägirattaga sõitmas, kickpoksis või 90ndate metalbändis kitarri mängimas.

ID + Selfie – digitaalse identiteedi kontrollimise täiustamine AWS PlatoBlockchain Data Intelligence abil. Vertikaalne otsing. Ai.Noa Donaldson on AWS-i lahenduste arhitekt, kes toetab föderaalseid finantsorganisatsioone. Ta on põnevil AI/ML-tehnoloogia üle, mis võib vähendada käsitsiprotsesse, parandada klientide kogemusi ja aidata lahendada huvitavaid probleeme. Väljaspool tööd veedab ta meelsasti aega jääl koos pojaga hokit mängides, vanima tütrega jahil ja noorima tütrega rõngaid laskmas.

Ajatempel:

Veel alates AWS-i masinõpe