ফেস ডিটেকশন, ডিজিটাল ছবি বা ভিডিওর মতো ভিজ্যুয়াল মিডিয়াতে মানুষের মুখ শনাক্ত করে। কোনও মুখ শনাক্ত করা হলে, সেটির সাথে সম্পর্কিত পজিশন, সাইজ ও ওরিয়েন্টেশন থাকে; এবং চোখ ও নাকের মতো ল্যান্ডমার্কের জন্য এটি সার্চ করা যেতে পারে।
ML Kit-এর ফেস ডিটেকশন ফিচার সম্পর্কিত কিছু শব্দ এখানে দেওয়া হল:
ফেস ট্র্যাকিং, ভিডিও সিকোয়েন্সে ফেস ডিটেকশনকে আরও উন্নত করে। ভিডিওতে যেকোনও দৈর্ঘ্যের জন্য দেখা যাওয়া যেকোনও মুখ ফ্রেম থেকে ফ্রেমে ট্র্যাক করা যেতে পারে। এর অর্থ হল, পরপর ভিডিও ফ্রেমে শনাক্ত করা কোনও মুখকে একই ব্যক্তি হিসেবে শনাক্ত করা যেতে পারে। মনে রাখবেন, এটি ফেস শনাক্তকরণ নয়; ফেস ট্র্যাকিং শুধুমাত্র ভিডিও সিকোয়েন্সে মুখের পজিশন ও মোশনের উপর ভিত্তি করে অনুমান করে।
ল্যান্ডমার্ক হল কোনও মুখের মধ্যে আগ্রহের বিষয়। বাঁদিকের চোখ, ডানদিকের চোখ, এবং নাকের নিচের অংশ হল ল্যান্ডমার্কের উদাহরণ। ML Kit-এর মাধ্যমে শনাক্ত করা মুখে ল্যান্ডমার্ক খুঁজে পাওয়া যায়।
কনট্যুর হল এমন কিছু পয়েন্টের সেট যা মুখের কোনও ফিচারের আকার অনুসরণ করে। ML Kit-এর মাধ্যমে মুখের কনট্যুর খুঁজে পাওয়া যায়।
শ্রেণীবিভাগ নির্ধারণ করে যে কোনও নির্দিষ্ট মুখের বৈশিষ্ট্য আছে কিনা। যেমন, কোনও মুখকে এইভাবে শ্রেণীবদ্ধ করা যেতে পারে যে তার চোখ খোলা আছে নাকি বন্ধ আছে অথবা মুখটি হাসছে নাকি হাসছে না।
ফেস ওরিয়েন্টেশন
নিচে উল্লেখ করা শব্দগুলি কোনও মুখমণ্ডল ক্যামেরার তুলনায় কত ডিগ্রি কোণে রয়েছে তা বর্ণনা করে:
- Euler X: একটি পজিটিভ Euler X কোণ সহ মুখ উপরের দিকে মুখ করে আছে।
- Euler Y: কোনও মুখের Euler Y কোণ ধনাত্মক হলে, সেটি ক্যামেরার ডানদিকে তাকিয়ে আছে বলে বোঝা যায় এবং ঋণাত্মক হলে বাঁদিকে তাকিয়ে আছে বলে বোঝা যায়।
- Euler Z: পজিটিভ Euler Z কোণ সহ একটি মুখ ক্যামেরার সাপেক্ষে ঘড়ির কাঁটার বিপরীত দিকে ঘোরানো হয়।
ML Kit শনাক্ত করা মুখের Euler X, Euler Y বা Euler Z অ্যাঙ্গেল রিপোর্ট করে না যখন
LANDMARK_MODE_NONE, CONTOUR_MODE_ALL, CLASSIFICATION_MODE_NONE এবং
PERFORMANCE_MODE_FASTএকসাথে সেট করা থাকে।
ল্যান্ডমার্ক
ল্যান্ডমার্ক হল মুখের মধ্যে একটি উল্লেখযোগ্য স্থান। বাঁদিকের চোখ, ডানদিকের চোখ ও নাকের গোড়া হল ল্যান্ডমার্কের উদাহরণ।
ML Kit ল্যান্ডমার্ক না খুঁজেও ফেস শনাক্ত করে। ল্যান্ডমার্ক শনাক্তকরণ একটি ঐচ্ছিক ধাপ যা ডিফল্ট হিসেবে বন্ধ করা থাকে।
নিচের সারণীতে, কোনও সংশ্লিষ্ট মুখের ইউলার Y কোণ দেওয়া থাকলে, শনাক্ত করা যায় এমন সব ল্যান্ডমার্কের সংক্ষিপ্তসার দেওয়া হল:
| Euler Y অ্যাঙ্গেল | শনাক্তযোগ্য ল্যান্ডমার্ক |
|---|---|
| < -৩৬ ডিগ্রি | বাঁদিকের চোখ, বাঁদিকের ঠোঁট, বাঁদিকের কান, নাকের নিচের অংশ, বাঁদিকের গাল |
| -৩৬ ডিগ্রি থেকে -১২ ডিগ্রি | বাঁদিকের ঠোঁট, নাকের নিচের অংশ, নিচের ঠোঁট, ডানদিকের চোখ, বাঁদিকের চোখ, বাঁদিকের গাল, বাঁদিকের কানের উপরের অংশ |
| -১২ ডিগ্রি থেকে ১২ ডিগ্রি | ডান চোখ, বাঁ চোখ, নাকের নিচের অংশ, বাঁদিকের গাল, ডানদিকের গাল, বাঁদিকের ঠোঁট, ডানদিকের ঠোঁট, মুখের নিচের অংশ |
| ১২ ডিগ্রি থেকে ৩৬ ডিগ্রি | মুখের ডানদিক, নাকের নিচের অংশ, মুখের নিচের অংশ, বাঁ চোখ, ডান চোখ, ডান গাল, ডান কানের ডগা |
| > ৩৬ ডিগ্রি | ডান চোখ, ডানদিকের ঠোঁট, ডান কান, নাকের নিচের অংশ, ডানদিকের গাল |
শনাক্ত করা প্রতিটি ল্যান্ডমার্কে ছবিতে তার সংশ্লিষ্ট অবস্থান অন্তর্ভুক্ত থাকে।
কন্টোর
কনট্যুর হল পয়েন্টের একটি সেট যা মুখের আকৃতিকে দেখায়। নিচের ছবিতে দেখানো হয়েছে যে কীভাবে এই পয়েন্টগুলি কোনও মুখের সাথে ম্যাপ করা হয়। ছবিটি বড় করে দেখতে সেটিতে ক্লিক করুন:
ML Kit-এর শনাক্ত করা প্রতিটি ফিচার কন্টুর নির্দিষ্ট সংখ্যক পয়েন্টের মাধ্যমে দেখানো হয়:
| ফেস ওভাল | ৩৬ পয়েন্ট | উপরের ঠোঁট (উপরের অংশ) | ১১ পয়েন্ট |
|---|---|---|---|
| বাঁদিকের ভ্রু (উপরের অংশ) | ৫ পয়েন্ট | উপরের ঠোঁট (নিচের দিক) | ৯ পয়েন্ট |
| বাঁদিকের ভুরু (নিচের দিকে) | ৫ পয়েন্ট | নিচের ঠোঁট (উপরের অংশ) | ৯ পয়েন্ট |
| ডানদিকের ভুরু (উপরের অংশ) | ৫ পয়েন্ট | নিচের ঠোঁট (নিচে) | ৯ পয়েন্ট |
| ডানদিকের ভুরু (নিচে) | ৫ পয়েন্ট | নাকের ব্রিজ | ২ পয়েন্ট |
| বাঁদিকের চোখ | ১৬ পয়েন্ট | নাকের নিচের অংশ | ৩ পয়েন্ট |
| ডান চোখ | ১৬ পয়েন্ট | ||
| বাঁদিকের গাল (মাঝখানে) | ১ পয়েন্ট | ||
| ডানদিকের গাল (মাঝখানে) | ১ পয়েন্ট |
আপনি যখন একবারে কোনও মুখের সব কনট্যুর পান, তখন আপনি ১৩৩টি পয়েন্টের একটি অ্যারে পান, যা নিচে দেখানো ফিচার কনট্যুরের সাথে ম্যাপ করে:
| ফিচার কনট্যুরের ইন্ডেক্স | |
|---|---|
| 0-35 | ফেস ওভাল |
| 36-40 | বাঁদিকের ভ্রু (উপরের অংশ) |
| 41-45 | বাঁদিকের ভুরু (নিচের অংশ) |
| 46-50 | ডানদিকের ভুরু (উপরের অংশ) |
| 51-55 | ডানদিকের ভুরু (নিচে) |
| 56-71 | বাঁদিকের চোখ |
| 72-87 | ডান চোখ |
| 88-96 | উপরের ঠোঁট (নিচের দিক) |
| 97-105 | নিচের ঠোঁট (উপরের অংশ) |
| 106-116 | উপরের ঠোঁট (উপরের অংশ) |
| 117-125 | নিচের ঠোঁট (নিচে) |
| ১২৬, ১২৭ | নাকের ব্রিজ |
| 128-130 | নাকের নিচের অংশ (মনে রাখবেন, কেন্দ্রবিন্দুটি ১২৮ নম্বর ইন্ডেক্সে আছে) |
| 131 | বাঁদিকের গাল (মাঝখানে) |
| 132 | ডানদিকের গাল (মাঝখানে) |
শ্রেণীবিভাগ
শ্রেণীবিভাগ নির্ধারণ করে যে কোনও নির্দিষ্ট মুখের বৈশিষ্ট্য উপস্থিত আছে কিনা। ML Kit বর্তমানে দুটি ক্লাসিফিকেশন সাপোর্ট করে: চোখ খোলা এবং হাসছে।
শ্রেণিবিভাগ হল একটি নিশ্চিত মান। এটি কোনও মুখের বৈশিষ্ট্য উপস্থিত থাকার ব্যাপারে আত্মবিশ্বাসকে নির্দেশ করে। যেমন, হাসির শ্রেণীবিভাগের জন্য ০.৭ বা তার বেশি ভ্যালু ইঙ্গিত করে যে কোনও ব্যক্তি সম্ভবত হাসছেন।
এই দুটি শ্রেণীবিন্যাসই ল্যান্ডমার্ক শনাক্তকরণের উপর নির্ভর করে।
এছাড়াও, মনে রাখবেন যে "চোখ খোলা" এবং "হাসিমুখ" শ্রেণীবিভাগ শুধুমাত্র ফ্রন্টাল ফেসে কাজ করে, অর্থাৎ, ছোট ইউলার Y কোণ (১৮ থেকে -১৮ ডিগ্রির মধ্যে) সহ মুখ।
মুখের ন্যূনতম সাইজ
ন্যূনতম মুখের সাইজ হল কাঙ্ক্ষিত মুখের সাইজ, যা মাথার প্রস্থের সাথে ছবির প্রস্থের অনুপাত হিসেবে প্রকাশ করা হয়। যেমন, ০.১ ভ্যালুর অর্থ হল যে সবচেয়ে ছোট যে মুখটি সার্চ করা হবে সেটি সার্চ করা হচ্ছে এমন ছবির প্রস্থের মোটামুটি ১০%।
মুখের ন্যূনতম সাইজ হল পারফর্ম্যান্স বনাম নির্ভুলতার ট্রেড-অফ: ন্যূনতম সাইজ ছোট সেট করলে ডিটেক্টর ছোট মুখ খুঁজে পায় কিন্তু শনাক্ত করতে বেশি সময় লাগবে; এটি বড় সেট করলে ছোট মুখ বাদ যেতে পারে কিন্তু দ্রুত কাজ করবে।
মুখের ন্যূনতম সাইজ কোনও কঠোর সীমা নয়; ডিটেক্টর নির্দিষ্ট সাইজের থেকে সামান্য ছোট মুখও খুঁজে পেতে পারে।
পরবর্তী ধাপ
আপনার iOS বা Android অ্যাপে ফেস ডিটেকশন ব্যবহার করুন: