“ID + Selfie” – Improving digital identity verification using AWS PlatoBlockchain Data Intelligence. Vertical Search. Ai.

"ID + سیلفی" - AWS کا استعمال کرتے ہوئے ڈیجیٹل شناخت کی تصدیق کو بہتر بنانا

COVID-19 عالمی وبائی مرض نے متعدد صنعتوں، جیسے مالیاتی خدمات، انشورنس، اور صحت کی دیکھ بھال میں آن لائن صارفین کی تصدیق اور آن بورڈ کرنے کی ضرورت کو تیز کر دیا ہے۔ جب صارف کے تجربے کی بات آتی ہے تو شناخت کی تصدیق کے لیے اعلیٰ معیار کو برقرار رکھتے ہوئے بغیر رگڑ کے لین دین فراہم کرنا بہت ضروری ہے۔ سوال یہ ہے کہ آپ ڈیجیٹل دنیا میں حقیقی لوگوں کی تصدیق کیسے کرتے ہیں؟

ایمیزون پہچان۔ آپ کی آن لائن ایپلی کیشنز، جیسے بینکنگ، فوائد، ای کامرس، اور بہت کچھ کو شناخت کی تصدیق کے لیے پہلے سے تربیت یافتہ چہرے کی شناخت اور تجزیہ کی صلاحیتیں فراہم کرتا ہے۔

اس پوسٹ میں، ہم "ID + Selfie" شناخت کی تصدیق کے ڈیزائن کا نمونہ پیش کرتے ہیں اور نمونہ کوڈ آپ اپنی شناخت کی تصدیق REST اختتامی نقطہ بنانے کے لیے استعمال کر سکتے ہیں۔ یہ ایک عام ڈیزائن پیٹرن ہے جسے آپ موجودہ یا نئے حلوں میں شامل کر سکتے ہیں جن کے لیے چہرے پر مبنی شناخت کی تصدیق کی ضرورت ہوتی ہے۔ صارف شناخت کا ایک فارم پیش کرتا ہے جیسے ڈرائیونگ لائسنس یا پاسپورٹ۔ صارف ایپلی کیشن کے ساتھ ریئل ٹائم سیلفی لیتا ہے۔ پھر ہم دستاویز سے چہرے کا موازنہ ان کے آلے پر لی گئی ریئل ٹائم سیلفی سے کرتے ہیں۔

Amazon Recognition CompareFaces API

"ID + Selfie" ڈیزائن پیٹرن کے بنیادی حصے میں سیلفی میں چہرے کا شناختی دستاویز پر چہرے سے موازنہ ہے۔ اس کے لیے ہم Amazon Recognition کا استعمال کرتے ہیں۔ CompareFaces API API سورس ان پٹ امیج میں کسی چہرے کا موازنہ کسی چہرے یا ٹارگٹ ان پٹ امیج میں پائے جانے والے چہروں سے کرتا ہے۔ مندرجہ ذیل مثال میں، ہم ایک نمونہ ڈرائیور کے لائسنس (بائیں) کا سیلفی (دائیں) سے موازنہ کرتے ہیں۔

ماخذ ہدف
“ID + Selfie” – Improving digital identity verification using AWS PlatoBlockchain Data Intelligence. Vertical Search. Ai.

مندرجہ ذیل API کوڈ کی ایک مثال ہے:

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'])

میں کئی قدریں لوٹائی جاتی ہیں۔ CompareFaces API جواب. ہم پر توجہ مرکوز کرتے ہیں Similarity قدر واپس آ گئی۔ FaceMatches سیلفی کی توثیق کرنے کے لیے فراہم کردہ ID سے میل کھاتا ہے۔

کلیدی ٹیوننگ پیرامیٹرز کو سمجھنا

SimilarityThreshold پہلے سے طے شدہ طور پر 80% پر سیٹ کیا گیا ہے اور صرف 80% سے زیادہ یا اس کے مساوی مماثلت والے اسکور والے نتائج واپس کرے گا۔ کی وضاحت کرکے قدر کو ایڈجسٹ کریں۔ SimilarityThreshold پیرامیٹر

QualityFilter پتہ لگائے گئے چہروں کو فلٹر کرنے کے لیے ایک ان پٹ پیرامیٹر ہے جو مطلوبہ کوالٹی بار کو پورا نہیں کرتے ہیں۔ کوالٹی بار مختلف عام استعمال کے معاملات پر مبنی ہے۔ استعمال کریں۔ QualityFilter کوالٹی بار کی وضاحت کرکے سیٹ کریں۔ LOW, MEDIUM، یا HIGH. اگر آپ ناقص کوالٹی کے چہروں کو فلٹر نہیں کرنا چاہتے تو وضاحت کریں۔ NONE. پہلے سے طے شدہ قدر ہے۔ NONE.

حل جائزہ

آپ درج ذیل اجزاء کو تعینات کر کے ڈیجیٹل شناخت کی تصدیق کے لیے ایک "ID + Selfie" API بنا سکتے ہیں:

  • POST طریقہ کے ساتھ ایک REST API جو ہمیں سیلفی اور شناختی پے لوڈ بھیجنے کی اجازت دیتا ہے اور جواب واپس کرتا ہے، اس صورت میں مماثلت کا سکور
  • پے لوڈ وصول کرنے، تصاویر کو مناسب فارمیٹ میں تبدیل کرنے اور ایمیزون ریکگنیشن کو کال کرنے کا فنکشن compare_faces API.

ہم نافذ کرتے ہیں ایمیزون API گیٹ وے REST API فعالیت کے لیے اور او ڈبلیو ایس لامبڈا۔ فنکشن کے لیے

مندرجہ ذیل خاکہ حل کے فن تعمیر اور ورک فلو کی وضاحت کرتا ہے۔

“ID + Selfie” – Improving digital identity verification using AWS PlatoBlockchain Data Intelligence. Vertical Search. Ai.

ورک فلو میں درج ذیل مراحل شامل ہیں:

  1. صارف مطلوبہ شناختی دستاویز اور سیلفی اپ لوڈ کرتا ہے۔
  2. کلائنٹ شناختی دستاویز اور سیلفی REST اینڈ پوائنٹ پر جمع کراتا ہے۔
  3. REST اینڈ پوائنٹ کلائنٹ کو مماثلت کا اسکور واپس کرتا ہے۔
  4. آپ کی درخواست میں کاروباری منطق کے ذریعے تشخیص کی جاتی ہے۔ مثال کے طور پر، اگر مماثلت کا سکور 80% سے کم ہے، تو یہ ڈیجیٹل شناخت کی جانچ میں ناکام ہو جاتا ہے۔ بصورت دیگر یہ ڈیجیٹل شناختی چیک پاس کرتا ہے۔
  5. کلائنٹ صارف کو اسٹیٹس بھیجتا ہے۔

لیمبڈا کوڈ

لیمبڈا فنکشن ہر تصویر کے لیے آنے والے پے لوڈ کو بیس 64 سے بائٹ میں تبدیل کرتا ہے اور پھر ماخذ (سیلفی) اور ہدف (شناخت) کو ایمیزون ریکگنیشن کو بھیجتا ہے۔ compare_faces API اور API جواب کے باڈی میں موصول ہونے والے مماثلت اسکور کو لوٹاتا ہے۔ درج ذیل کوڈ دیکھیں:

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

  }

پروجیکٹ کو تعینات کریں۔

یہ پروجیکٹ کے ذریعے تعینات کرنے کے لیے دستیاب ہے۔ AWS نمونے کے ساتھ AWS کلاؤڈ ڈویلپمنٹ کٹ (AWS CDK)۔ آپ ریپوزٹری کو کلون کر سکتے ہیں اور اپنے AWS اکاؤنٹ میں تعینات کرنے کے لیے درج ذیل AWS CDK عمل استعمال کر سکتے ہیں۔

  1. ایک ایسا صارف ترتیب دیں جس کے پاس پروگرامی طور پر AWS CDK کے ذریعے حل کے وسائل کو تعینات کرنے کی اجازت ہو۔
  2. سیٹ کریں AWS کمانڈ لائن انٹرفیس (AWS CLI)۔ ہدایات کے لیے، رجوع کریں۔ AWS CLI کو ترتیب دینا.
  3. اگر آپ پہلی بار AWS CDK استعمال کر رہے ہیں تو اس میں درج شرائط کو مکمل کریں۔ Python میں AWS CDK کے ساتھ کام کرنا.
  4. کلون GitHub ذخیرہ.
  5. ورچوئل ماحول بنائیں۔ آپ جو کمانڈ استعمال کرتے ہیں اس کا انحصار آپ کے OS پر ہے:
    1. اگر ونڈوز استعمال کر رہے ہیں تو، کلون شدہ ریپوزٹری کے ماخذ سے اپنے ٹرمینل ونڈو میں درج ذیل کمانڈ کو چلائیں۔
      ..venvScriptsactivate

    2. اگر میک یا لینکس استعمال کر رہے ہیں تو، کلون شدہ ریپوزٹری کے ماخذ سے اپنی ٹرمینل ونڈو میں درج ذیل کمانڈ کو چلائیں۔
      .venv/bin/activate

  6. ورچوئل ماحول کو چالو کرنے کے بعد، ایپ کے معیاری انحصار کو انسٹال کریں:
    python -m pip install -r requirements.txt

  7. اب جب کہ ماحول ترتیب دیا گیا ہے اور ضروریات پوری ہو گئی ہیں، ہم اس پروجیکٹ کو AWS پر تعینات کرنے کے لیے AWS CDK تعیناتی کمانڈ جاری کر سکتے ہیں:
    CDK Deploy

API کال کریں۔

ہمیں پے لوڈ کو بیس 64 فارمیٹ میں REST اینڈ پوائنٹ پر بھیجنے کی ضرورت ہے۔ ہم API کال کرنے کے لیے ایک Python فائل استعمال کرتے ہیں، جو ہمیں سورس اور ٹارگٹ فائلز کو کھولنے، انہیں base64 میں تبدیل کرنے، اور پے لوڈ کو API گیٹ وے پر بھیجنے کی اجازت دیتا ہے۔ یہ کوڈ ریپوزٹری میں دستیاب ہے۔

یاد رکھیں کہ SOURCE اور TARGET فائل کے مقامات آپ کے مقامی فائل سسٹم پر ہوں گے، اور URL API گیٹ وے یو آر ایل ہے جو پروجیکٹ کی تخلیق کے دوران تیار کیا گیا ہے۔

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())

صاف کرو

ہم نے اس پروجیکٹ کو بنانے کے لیے AWS CDK کا استعمال کیا، لہذا ہم اپنے پروجیکٹ کو مقامی طور پر کھول سکتے ہیں اور وسائل کو صاف کرنے کے لیے درج ذیل AWS CDK کمانڈ جاری کر سکتے ہیں:

CDK Destroy

نتیجہ

آپ کے پاس یہ ہے، ایک سادہ API کے ساتھ "ID + Selfie" ڈیزائن پیٹرن جسے آپ ڈیجیٹل شناخت کی توثیق کرنے کے لیے اپنی درخواست کے ساتھ ضم کر سکتے ہیں۔ ہماری سیریز کی اگلی پوسٹ میں، ہم شناختی دستاویز سے متن نکال کر اور نقل کو روکنے کے لیے چہروں کے مجموعے کو تلاش کرکے اس طرز کو مزید بڑھاتے ہیں۔

مزید جاننے کے ل the ، چیک کریں ایمیزون ریکگنیشن ڈویلپر گائیڈ چہروں کا پتہ لگانے اور تجزیہ کرنے پر۔


مصنفین کے بارے میں

“ID + Selfie” – Improving digital identity verification using AWS PlatoBlockchain Data Intelligence. Vertical Search. Ai. مائیک ایمز AWS کے ساتھ ایک پرنسپل اپلائیڈ AI/ML سلوشنز آرکیٹیکٹ ہے۔ وہ کمپنیوں کو مشین لرننگ اور AI سروسز استعمال کرنے میں مدد کرتا ہے تاکہ دھوکہ دہی، فضلہ اور غلط استعمال کا مقابلہ کیا جا سکے۔ اس کے فارغ وقت میں، آپ اسے ماؤنٹین بائیک، کک باکسنگ، یا 90 کی دہائی کے دھاتی بینڈ میں گٹار بجاتے ہوئے پا سکتے ہیں۔

“ID + Selfie” – Improving digital identity verification using AWS PlatoBlockchain Data Intelligence. Vertical Search. Ai.نوح ڈونلڈسن وفاقی مالیاتی تنظیموں کی مدد کرنے والے AWS میں ایک حل آرکیٹیکٹ ہے۔ وہ AI/ML ٹیکنالوجی کے بارے میں پرجوش ہے جو دستی عمل کو کم کر سکتی ہے، کسٹمر کے تجربات کو بہتر بنا سکتی ہے، اور دلچسپ مسائل کو حل کرنے میں مدد کر سکتی ہے۔ کام سے باہر، وہ اپنے بیٹے کے ساتھ ہاکی کھیلتے ہوئے، اپنی سب سے بڑی بیٹی کے ساتھ شکار کرتے ہوئے، اور اپنی سب سے چھوٹی بیٹی کے ساتھ ہوپس شوٹنگ کرتے ہوئے برف پر وقت گزارتے ہیں۔

ٹائم اسٹیمپ:

سے زیادہ AWS مشین لرننگ