মুখ সনাক্তকরণ গাইড

MediaPipe ফেস ডিটেক্টর টাস্ক আপনাকে একটি ছবি বা ভিডিওতে মুখ সনাক্ত করতে দেয়। আপনি একটি ফ্রেমের মধ্যে মুখ এবং মুখের বৈশিষ্ট্যগুলি সনাক্ত করতে এই কাজটি ব্যবহার করতে পারেন। এই টাস্কটি একটি মেশিন লার্নিং (ML) মডেল ব্যবহার করে যা একক চিত্র বা একটি অবিচ্ছিন্ন চিত্রের সাথে কাজ করে। টাস্কটি মুখের অবস্থানগুলিকে আউটপুট করে, নিম্নলিখিত মুখের মূল পয়েন্টগুলির সাথে: বাম চোখ, ডান চোখ, নাকের ডগা, মুখ, বাম চোখের ট্র্যাজিয়ন এবং ডান চোখের ট্র্যাজিয়ন।

এটা চেষ্টা করুন!

এবার শুরু করা যাক

আপনার লক্ষ্য প্ল্যাটফর্মের জন্য এই বাস্তবায়ন নির্দেশিকাগুলির একটি অনুসরণ করে এই কাজটি ব্যবহার করা শুরু করুন। এই প্ল্যাটফর্ম-নির্দিষ্ট নির্দেশিকাগুলি আপনাকে এই টাস্কের একটি প্রাথমিক বাস্তবায়নের মাধ্যমে নিয়ে যায়, যার মধ্যে একটি প্রস্তাবিত মডেল এবং প্রস্তাবিত কনফিগারেশন বিকল্পগুলির সাথে কোড উদাহরণ রয়েছে:

টাস্কের বিবরণ

এই বিভাগটি এই কাজের ক্ষমতা, ইনপুট, আউটপুট এবং কনফিগারেশন বিকল্পগুলি বর্ণনা করে।

বৈশিষ্ট্য

  • ইনপুট ইমেজ প্রসেসিং - প্রসেসিং এর মধ্যে রয়েছে ইমেজ রোটেশন, রিসাইজ, নরমালাইজেশন এবং কালার স্পেস কনভার্সন।
  • স্কোর থ্রেশহোল্ড - পূর্বাভাস স্কোরের উপর ভিত্তি করে ফলাফল ফিল্টার করুন।
টাস্ক ইনপুট টাস্ক আউটপুট
ফেস ডিটেক্টর নিম্নলিখিত ডেটা প্রকারগুলির একটির একটি ইনপুট গ্রহণ করে:
  • স্থিরচিত্রসমূহ
  • ডিকোডেড ভিডিও ফ্রেম
  • লাইভ ভিডিও ফিড
ফেস ডিটেক্টর নিম্নলিখিত ফলাফলগুলি আউটপুট করে:
  • একটি ইমেজ ফ্রেমে শনাক্ত করা মুখের জন্য বাউন্ডিং বক্স।
  • প্রতিটি শনাক্ত করা মুখের জন্য 6টি মুখের ল্যান্ডমার্কের জন্য স্থানাঙ্ক।

কনফিগারেশন অপশন

এই কাজের নিম্নলিখিত কনফিগারেশন বিকল্প আছে:

বিকল্পের নাম বর্ণনা মান পরিসীমা ডিফল্ট মান
running_mode টাস্কের জন্য চলমান মোড সেট করে। তিনটি মোড আছে:

IMAGE: একক ইমেজ ইনপুট জন্য মোড.

ভিডিও: একটি ভিডিওর ডিকোড করা ফ্রেমের মোড।

লাইভ_স্ট্রিম: ইনপুট ডেটার লাইভস্ট্রিমের মোড, যেমন ক্যামেরা থেকে। এই মোডে, ফলাফল শ্রোতাকে অ্যাসিঙ্ক্রোনাসভাবে ফলাফল পেতে একটি শ্রোতা সেট আপ করতে কল করতে হবে।
{ IMAGE, VIDEO, LIVE_STREAM } IMAGE
min_detection_confidence মুখ শনাক্তকরণ সফল বলে বিবেচিত হওয়ার জন্য সর্বনিম্ন আত্মবিশ্বাসের স্কোর৷ Float [0,1] 0.5
min_suppression_threshold মুখ সনাক্তকরণের জন্য সর্বনিম্ন অ-সর্বোচ্চ-দমন থ্রেশহোল্ডকে ওভারল্যাপ বলে বিবেচনা করা হবে। Float [0,1] 0.3
result_callback যখন ফেস ডিটেক্টর লাইভ স্ট্রিম মোডে থাকে তখন ফলাফল শ্রোতাকে অ্যাসিঙ্ক্রোনাসভাবে শনাক্তকরণ ফলাফল পেতে সেট করে। চলমান মোড LIVE_STREAM এ সেট করা থাকলেই কেবল ব্যবহার করা যাবে। N/A Not set

মডেল

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

এই বিভাগে তালিকাভুক্ত মডেলগুলি হল BlazeFace-এর রূপ, একটি হালকা ওজনের এবং সঠিক ফেস ডিটেক্টর যা মোবাইল GPU অনুমানের জন্য অপ্টিমাইজ করা হয়েছে। ব্লেজফেস মডেলগুলি 3D মুখের কীপয়েন্ট অনুমান, অভিব্যক্তি শ্রেণিবিন্যাস এবং মুখের অঞ্চল বিভাজনের মতো অ্যাপ্লিকেশনগুলির জন্য উপযুক্ত। BlazeFace MobileNetV1/V2 এর মতো একটি হালকা বৈশিষ্ট্য নিষ্কাশন নেটওয়ার্ক ব্যবহার করে।

ব্লেজফেস (স্বল্প-পরিসর)

স্মার্টফোন ক্যামেরা বা ওয়েবক্যাম থেকে সেলফির মতো ছবির মধ্যে একক বা একাধিক মুখ সনাক্ত করার জন্য একটি হালকা মডেল। মডেলটি স্বল্প পরিসরে ফ্রন্ট-ফেসিং ফোন ক্যামেরা ইমেজের জন্য অপ্টিমাইজ করা হয়েছে। মডেল আর্কিটেকচারটি একটি কাস্টম এনকোডার সহ একটি সিঙ্গেল শট ডিটেক্টর (এসএসডি) কনভোলিউশনাল নেটওয়ার্ক কৌশল ব্যবহার করে। আরও তথ্যের জন্য, সিঙ্গেল শট মাল্টিবক্স ডিটেক্টরের গবেষণাপত্রটি দেখুন।

ণশড ইনপুট আকৃতি কোয়ান্টাইজেশন টাইপ মডেল কার্ড সংস্করণ
ব্লেজফেস (স্বল্প-পরিসর) 128 x 128 ভাসা 16 তথ্য সর্বশেষ

ব্লেজফেস (সম্পূর্ণ পরিসর)

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

ণশড ইনপুট আকৃতি কোয়ান্টাইজেশন টাইপ মডেল কার্ড সংস্করণ
ব্লেজফেস (সম্পূর্ণ পরিসর) 128 x 128 ভাসা 16 তথ্য শীঘ্রই আসছে

ব্লেজফেস স্পার্স (পূর্ণ-পরিসর)

নিয়মিত পূর্ণ-রেঞ্জ ব্লেজফেস মডেলের একটি হালকা সংস্করণ, আকারে প্রায় 60% ছোট। মডেলটি পূর্ণ-রেঞ্জের চিত্রগুলির জন্য অপ্টিমাইজ করা হয়েছে, যেমন একটি ব্যাক-ফেসিং ফোন ক্যামেরা ছবি দিয়ে তোলা। মডেল আর্কিটেকচারটি একটি কাস্টম এনকোডার সহ একটি সেন্টারনেট কনভোলিউশনাল নেটওয়ার্কের মতো একটি কৌশল ব্যবহার করে।

ণশড ইনপুট আকৃতি কোয়ান্টাইজেশন টাইপ মডেল কার্ড সংস্করণ
ব্লেজফেস স্পার্স (পূর্ণ-পরিসর) 128 x 128 ভাসা 16 তথ্য শীঘ্রই আসছে

টাস্ক বেঞ্চমার্ক

উপরের পূর্ব-প্রশিক্ষিত মডেলগুলির উপর ভিত্তি করে পুরো পাইপলাইনের জন্য টাস্ক বেঞ্চমার্কগুলি এখানে রয়েছে৷ CPU/GPU ব্যবহার করে Pixel 6-এর গড় বিলম্বিততার ফলাফল হল লেটেন্সি।

ণশড CPU লেটেন্সি GPU লেটেন্সি
ব্লেজফেস (স্বল্প-পরিসর) 2.94ms 7.41ms