"আইডি + সেলফি" - AWS PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে ডিজিটাল পরিচয় যাচাইকরণ উন্নত করা। উল্লম্ব অনুসন্ধান. আ.

"আইডি + সেলফি" - AWS ব্যবহার করে ডিজিটাল পরিচয় যাচাইকরণ উন্নত করা

COVID-19 বৈশ্বিক মহামারী আর্থিক পরিষেবা, বীমা এবং স্বাস্থ্যসেবার মতো বিভিন্ন শিল্পে অনলাইনে ব্যবহারকারীদের যাচাই এবং অনবোর্ড করার প্রয়োজনীয়তাকে ত্বরান্বিত করেছে। যখন ব্যবহারকারীর অভিজ্ঞতার কথা আসে তখন পরিচয় যাচাইয়ের জন্য একটি উচ্চ মান বজায় রেখে ঘর্ষণহীন লেনদেন প্রদান করা অত্যন্ত গুরুত্বপূর্ণ। প্রশ্ন হল, ডিজিটাল দুনিয়ায় আপনি কীভাবে প্রকৃত মানুষদের যাচাই করবেন?

আমাজন রেকোনিশন আপনার অনলাইন অ্যাপ্লিকেশন, যেমন ব্যাঙ্কিং, সুবিধা, ইকমার্স এবং আরও অনেক কিছুতে পরিচয় যাচাইয়ের জন্য প্রাক-প্রশিক্ষিত মুখের স্বীকৃতি এবং বিশ্লেষণ ক্ষমতা প্রদান করে।

এই পোস্টে, আমরা "আইডি + সেলফি" পরিচয় যাচাইকরণের নকশার প্যাটার্ন এবং উপস্থাপন করি কোডের উদাহরণ আপনি আপনার নিজস্ব পরিচয় যাচাইকরণ REST শেষ পয়েন্ট তৈরি করতে ব্যবহার করতে পারেন। এটি একটি সাধারণ নকশার প্যাটার্ন যা আপনি বিদ্যমান বা নতুন সমাধানগুলির মধ্যে অন্তর্ভুক্ত করতে পারেন যার জন্য মুখ-ভিত্তিক পরিচয় যাচাইকরণ প্রয়োজন৷ ব্যবহারকারী একটি ড্রাইভিং লাইসেন্স বা পাসপোর্টের মতো শনাক্তকরণের একটি ফর্ম উপস্থাপন করে৷ ব্যবহারকারী অ্যাপ্লিকেশনটির সাথে একটি রিয়েল-টাইম সেলফি ক্যাপচার করে। তারপরে আমরা তাদের ডিভাইসে তোলা রিয়েল-টাইম সেলফির সাথে নথি থেকে মুখের তুলনা করি।

Amazon Recognition CompareFaces API

"আইডি + সেলফি" ডিজাইন প্যাটার্নের মূল অংশে শনাক্তকরণ নথিতে থাকা মুখের সাথে সেলফিতে থাকা মুখের তুলনা। এই জন্য, আমরা Amazon Recognition ব্যবহার করি CompareFaces API API সোর্স ইনপুট ইমেজের একটি মুখের সাথে একটি মুখ বা লক্ষ্য ইনপুট ছবিতে সনাক্ত করা মুখের তুলনা করে। নিম্নলিখিত উদাহরণে, আমরা একটি সেলফির (ডানে) সাথে একটি নমুনা ড্রাইভিং লাইসেন্স (বামে) তুলনা করি।

উৎস লক্ষ্য
"আইডি + সেলফি" - AWS PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে ডিজিটাল পরিচয় যাচাইকরণ উন্নত করা। উল্লম্ব অনুসন্ধান. আ.

নিম্নলিখিত 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 প্রদত্ত আইডির সাথে মিলছে সেলফি যাচাই করতে।

কী টিউনিং পরামিতি বোঝা

SimilarityThreshold ডিফল্টরূপে 80% এ সেট করা হয়েছে এবং শুধুমাত্র 80% এর চেয়ে বেশি বা সমান স্কোর সহ ফলাফল প্রদান করবে। উল্লেখ করে মান সামঞ্জস্য করুন SimilarityThreshold প্যারামিটার।

QualityFilter শনাক্ত করা মুখগুলিকে ফিল্টার করার জন্য একটি ইনপুট প্যারামিটার যা একটি প্রয়োজনীয় গুণমানের বার পূরণ করে না। মানের বারটি বিভিন্ন সাধারণ ব্যবহারের ক্ষেত্রের উপর ভিত্তি করে। ব্যবহার করুন QualityFilter নির্দিষ্ট করে গুণমান বার সেট করতে LOW, MEDIUM, বা HIGH. আপনি যদি খারাপ মানের মুখগুলি ফিল্টার করতে না চান তবে নির্দিষ্ট করুন৷ NONE. ডিফল্ট মান হল NONE.

সমাধান ওভারভিউ

আপনি নিম্নলিখিত উপাদানগুলি স্থাপন করে ডিজিটাল পরিচয় যাচাইয়ের জন্য একটি "আইডি + সেলফি" API তৈরি করতে পারেন:

  • একটি POST পদ্ধতি সহ একটি REST API যা আমাদের সেলফি এবং শনাক্তকরণ পেলোড পাঠাতে দেয় এবং একটি প্রতিক্রিয়া প্রদান করে, এই ক্ষেত্রে মিল স্কোর
  • পেলোড গ্রহণ করার জন্য একটি ফাংশন, ছবিগুলিকে সঠিক বিন্যাসে রূপান্তরিত করতে এবং অ্যামাজন স্বীকৃতি কল করার জন্য compare_faces API- টি।

আমরা বাস্তবায়ন করি অ্যামাজন এপিআই গেটওয়ে REST API কার্যকারিতার জন্য এবং এডাব্লুএস ল্যাম্বদা ফাংশনের জন্য।

নিম্নলিখিত চিত্রটি সমাধানের আর্কিটেকচার এবং কর্মপ্রবাহকে চিত্রিত করে।

"আইডি + সেলফি" - AWS PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে ডিজিটাল পরিচয় যাচাইকরণ উন্নত করা। উল্লম্ব অনুসন্ধান. আ.

কর্মপ্রবাহে নিম্নলিখিত পদক্ষেপগুলি রয়েছে:

  1. ব্যবহারকারী প্রয়োজনীয় শনাক্তকরণ নথি এবং একটি সেলফি আপলোড করে।
  2. ক্লায়েন্ট শনাক্তকরণ নথি এবং সেলফি REST এন্ডপয়েন্টে জমা দেয়।
  3. REST এন্ডপয়েন্ট ক্লায়েন্টকে একটি সাদৃশ্য স্কোর প্রদান করে।
  4. আপনার আবেদনে ব্যবসায়িক যুক্তির মাধ্যমে একটি মূল্যায়ন করা হয়। উদাহরণস্বরূপ, যদি মিল স্কোর 80% এর নিচে হয়, তাহলে এটি ডিজিটাল পরিচয় পরীক্ষায় ব্যর্থ হয়; অন্যথায় এটি ডিজিটাল পরিচয় পরীক্ষা পাস করে।
  5. ক্লায়েন্ট ব্যবহারকারীর কাছে স্ট্যাটাস পাঠায়।

ল্যাম্বডা কোড

Lambda ফাংশন প্রতিটি ছবির জন্য বেস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 CDK)। আপনি সংগ্রহস্থলটি ক্লোন করতে পারেন এবং আপনার AWS অ্যাকাউন্টে স্থাপন করতে নিম্নলিখিত AWS CDK প্রক্রিয়াটি ব্যবহার করতে পারেন।

  1. AWS CDK-এর মাধ্যমে প্রোগ্রাম্যাটিকভাবে সমাধান সংস্থান স্থাপন করার অনুমতি রয়েছে এমন একজন ব্যবহারকারীকে সেট আপ করুন৷
  2. সেট আপ করুন এডাব্লুএস কমান্ড লাইন ইন্টারফেস (AWS CLI)। নির্দেশাবলীর জন্য, পড়ুন AWS CLI কনফিগার করা হচ্ছে.
  3. আপনি যদি প্রথমবার AWS CDK ব্যবহার করেন, তাহলে তালিকাভুক্ত পূর্বশর্তগুলি সম্পূর্ণ করুন৷ পাইথনে 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 কল করার জন্য একটি পাইথন ফাইল ব্যবহার করি, যা আমাদের সোর্স এবং টার্গেট ফাইলগুলি খুলতে, বেস64 এ রূপান্তর করতে এবং API গেটওয়েতে পেলোড পাঠাতে দেয়। এই কোড রিপোজিটরি পাওয়া যায়.

উল্লেখ্য যে SOURCE এবং TARGET ফাইলের অবস্থানগুলি আপনার স্থানীয় ফাইল সিস্টেমে থাকবে, এবং URL হল API গেটওয়ে 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())

পরিষ্কার কর

আমরা এই প্রকল্পটি তৈরি করতে AWS CDK ব্যবহার করেছি, তাই আমরা স্থানীয়ভাবে আমাদের প্রকল্প খুলতে পারি এবং সংস্থানগুলি পরিষ্কার করার জন্য নিম্নলিখিত AWS CDK কমান্ড ইস্যু করতে পারি:

CDK Destroy

উপসংহার

আপনার কাছে এটি রয়েছে, একটি সাধারণ API সহ "আইডি + সেলফি" ডিজাইন প্যাটার্ন যা আপনি ডিজিটাল পরিচয় যাচাইকরণের জন্য আপনার অ্যাপ্লিকেশনের সাথে একীভূত করতে পারেন। আমাদের সিরিজের পরবর্তী পোস্টে, আমরা শনাক্তকরণ নথি থেকে পাঠ্য বের করে এবং নকল প্রতিরোধ করতে মুখের সংগ্রহ অনুসন্ধান করে এই প্যাটার্নটিকে আরও প্রসারিত করব।

আরও জানতে, পরীক্ষা করে দেখুন অ্যামাজন স্বীকৃতি বিকাশকারী গাইড মুখ সনাক্ত এবং বিশ্লেষণ উপর.


লেখক সম্পর্কে

"আইডি + সেলফি" - AWS PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে ডিজিটাল পরিচয় যাচাইকরণ উন্নত করা। উল্লম্ব অনুসন্ধান. আ. মাইক আমেস AWS সহ একজন প্রধান ফলিত AI/ML সলিউশন আর্কিটেক্ট। তিনি কোম্পানিগুলিকে জালিয়াতি, অপচয় এবং অপব্যবহার মোকাবেলায় মেশিন লার্নিং এবং AI পরিষেবাগুলি ব্যবহার করতে সহায়তা করেন৷ তার অবসর সময়ে, আপনি তাকে 90 এর দশকের মেটাল ব্যান্ডে মাউন্টেন বাইকিং, কিকবক্সিং বা গিটার বাজানো দেখতে পাবেন।

"আইডি + সেলফি" - AWS PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে ডিজিটাল পরিচয় যাচাইকরণ উন্নত করা। উল্লম্ব অনুসন্ধান. আ.নোয়া ডোনাল্ডসন ফেডারেল আর্থিক সংস্থাগুলিকে সমর্থনকারী AWS-এর একজন সমাধান স্থপতি। তিনি এআই/এমএল প্রযুক্তি সম্পর্কে উত্তেজিত যা ম্যানুয়াল প্রক্রিয়াগুলি হ্রাস করতে পারে, গ্রাহকের অভিজ্ঞতা উন্নত করতে পারে এবং আকর্ষণীয় সমস্যা সমাধানে সহায়তা করতে পারে। কাজের বাইরে, তিনি তার ছেলের সাথে হকি খেলা, তার বড় মেয়ের সাথে শিকার এবং তার কনিষ্ঠ কন্যার সাথে হুপস খেলার সাথে বরফের উপর সময় কাটাতে উপভোগ করেন।

সময় স্ট্যাম্প:

থেকে আরো এডাব্লুএস মেশিন লার্নিং