Efficient Attendance management system with AWS Rekognition

Tech Talk

by Engineers of Acroquest Myanmar Technology

Efficient Attendance management system with AWS Rekognition


Go to English summary >>

အားလုံးပဲ မင်္ဂလာပါ။

ကျွန်တော် နာမည် ကတော့ ထက်နောင်နောင် ပါ။ ကျွန်တော် ကတော့ Software Engineer တစ်ယောက် အနေနဲ့ Acroquest မှာ အလုပ်လုပ်ကိုင်လျှက်ရှိပါတယ်။

ကျွန်တော်က Amazon Rekognition ကိုအသုံးပြုကာ ၀န်ထမ်းတွေရဲ့ ဓာတ်ပုံကို analyze လုပ်ပြီး attendanceကို manageလုပ်တဲ့ Attendance Management System တစ်ခုကို လုပ်ခဲ့ပါတယ်။

ဒါကတော့ System Architectureဖြစ်ပါတယ်။

ဒီblogမှာ ကျွန်တော်သုံးခဲ့တဲ့ servicesတွေထဲက Amazon Rekognitionအကြောင်းပြောပြပေးမှာဖြစ်ပါတယ်။

Amazon Rekognitionဆိုတာဘာလဲ။

Amazon Rekognitionဆိုတာ ပုံတွေနဲ့ ဗီဒီယိုတွေကို Machine Learning (ML) ၊ Artificial Intelligent (AI) တို့ကို အသုံးပြုပြီး အသေးစိပ်လေ့လာခြင်း၊ ခွဲခြမ်းစိပ်ဖြာခြင်း တွေကိုလုပ်ဆောင်ပေးတဲ့ service တစ်ခုဖြစ်ပါတယ်။ https://aws.amazon.com/rekognition/

Amazon Rekognition ကို အသုံးပြုခြင်း အားဖြင့် Machine Learning (ML)၊ Artificial Intelligent (AI)တို့ကို အရမ်းသိစရာ မလိုဘဲ programming languages ကို သိရုံနဲ့ image processing လုပ်ရတဲ့ Complex System တစ်ခုကို အလွယ်တကူ လုပ်နိုင်ပါတယ်။ Machine Learning (ML) ၊ Artificial Intelligent (AI) တို့ကို အသုံးပြုစရာ မလို့တဲ့ အတွက် development timeကို လည်း လျှော့ ချနိုင် ပါတယ်။

ဒါ့အပြင် Amazon Rekognitionကအောက်မှာပြထားတဲ့ key featuresတွေကို supportပေးပါတယ်။

  1. Labels
  2. Custom labels
  3. Content moderation
  4. Text detection
  5. Face detection and analysis
  6. Face search and verification
  7. Celebrity recognition
  8. Personal Protective Equipment (PPE) detection

ကျွန်တော်ကတော့ staffတွေကို detectလုပ်ပြီးrecordထဲထည့်ဖို့အတွက် Face detection and analysisကိုသုံးပါတယ်။

Rekognition service ကို နည်း (၃) မျိုးနဲ့ အသုံးပြုနိုင်ပါတယ်။

  1. AWS Management Console ကို အသုံးပြုခြင်း။
  2. AWS Command Line Interface (CLI) ကို အသုံးပြုခြင်း။
  3. Software Development Kits(SDKs) ဆိုတဲ့ Python၊ Java တို့ လိုမျိုး programming languages တွေကို အသုံးပြုပြီး API က နေတဆင့် အသုံးပြုခြင်း။

Machine Learning မှာ boto3 libraryကို သုံးပြီး image analysis လုပ်လို့ရပေမယ့် ဒီမှာတော့ Python languageနဲ့ API ကနေ တစ်ဆင့် လုပ်ပါမယ်။
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/rekognition.html

ပထမဦးဆုံး ‌အနေနဲ့ Python language ကို သုံးပြီး API ကနေ တစ်ဆင့် Image တွေကို collection ထဲမှာ register လုပ်ပါမယ်။

register လုပ်ပြီးပြီ ဆိုတော့ API ကနေ တဆင့် upload တင် လိုက်တဲ့ photo ကို collection ထဲမှာ ရှိ/မရှိ search_faces_by_image()နဲ့ ရှာကြည့်ပါမယ်။

အောက်မှာပြထားသလိုformatနဲ့ responseပြန်ရပါတယ်။ ဥပမာထဲမှာ ‘SearchFaceConfidence’တန်ဖိုးမြင့်နေတာကresultကိုက်ညီမှုက မြင့်နေလို့ပါ။

သုံးရတာ လွယ်ကူရိုးရှင်းပါတယ်။ ဟုတ်တယ်မလား။

ဒါကတော့ complete source codeပါ။

ဒီအ‌ကြောင်းအရာလေးကိုဖတ်ပြီး enjoyဖြစ်လိမ့်မယ်ထင်ပါတယ်။ စာဖတ်သူတို့လည်း projectမှာ ပြန်လည် အသုံးချနိုင်ဖို့မျော်လင့်ပါတယ်။
နောက်လာမယ့်topicတွေလည်း စောင့်မျှော်ကြပါဦး။ (^^)

[ English Summary ]

Hello, everyone. I am Htet Naung Naung. I am working as a software engineer in Acroquest.Today, I would like to share about Amazon Rekognition that is one of the AWS service.

Amazon Rekognition is a service that recognize and analyze the images and videos based on Machine Learning(ML) and Artificial Intelligent(AI).
https://aws.amazon.com/rekognition/

Moreover, it has several key features, please check at
https://aws.amazon.com/rekognition/?blog-cards.sort-by=item.additionalFields.createdDate&blog-cards.sort-order=desc

Among their key features, we used “Face search and verification” in this system.

There are three ways to access Amazon Rekognition.

  1. By using AWS Management Console
  2. By using AWS Command Line Interface (CLI)
  3. By using API through Software Development Kits(SDKs) such as python, java and so on (programming languages)

We used Python language with boto3 library which supports several API to use aws services.
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/rekognition.html

I hope that it will be useful for you and apply in your project.

★★★We are hiring the staff who are interested in latest technologies.★★★

If you are interested in our company, please see the available job descriptions in the following links.

Senior Developer: https://www.acromyanmar.com/senior-developer/
Intermediate Developer: https://www.acromyanmar.com/intermediate-developer/
Junior Developer: https://www.acromyanmar.com/junior-developer/


Check our Facebook Page!