ইন্টারেক্টিভ ইমেজ সেগমেন্টেশন টাস্ক গাইড

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

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

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

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

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

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

বৈশিষ্ট্য

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

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

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

বিকল্পের নাম বর্ণনা মান পরিসীমা ডিফল্ট মান
output_category_mask যদি True তে সেট করা হয়, আউটপুটে একটি uint8 ইমেজ হিসাবে একটি বিভাজন মাস্ক অন্তর্ভুক্ত থাকে, যেখানে প্রতিটি পিক্সেল মান নির্দেশ করে যে পিক্সেলটি আগ্রহের এলাকায় অবস্থিত বস্তুর অংশ কিনা। { True, False } False
output_confidence_masks যদি True তে সেট করা হয়, আউটপুটে একটি ফ্লোট মান চিত্র হিসাবে একটি বিভাজন মাস্ক অন্তর্ভুক্ত থাকে, যেখানে প্রতিটি ফ্লোট মান আত্মবিশ্বাসের প্রতিনিধিত্ব করে যে পিক্সেলটি আগ্রহের এলাকায় অবস্থিত বস্তুর অংশ। { True, False } True
display_names_locale টাস্কের মডেলের মেটাডেটাতে প্রদত্ত প্রদর্শন নামের জন্য ব্যবহার করার জন্য লেবেলের ভাষা সেট করে, যদি উপলব্ধ থাকে। ইংরেজির জন্য ডিফল্ট হল en । আপনি TensorFlow Lite Metadata Writer API ব্যবহার করে একটি কাস্টম মডেলের মেটাডেটাতে স্থানীয় লেবেল যোগ করতে পারেন স্থানীয় কোড en

মডেল

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

এই মডেলটি আগ্রহের একটি এলাকার জন্য প্রদত্ত চিত্র স্থানাঙ্কগুলিকে চিহ্নিত করে৷ মডেলটি একটি কাস্টমাইজড ডিকোডার সহ একটি MobileNetV3 আর্কিটেকচারের অনুরূপ একটি কনভোলিউশনাল নিউরাল নেটওয়ার্ক ব্যবহার করে।

ণশড ইনপুট আকৃতি কোয়ান্টাইজেশন টাইপ মডেল কার্ড সংস্করণ
জাদুকরী স্পর্শ 512 x 512 x 4 কোনটিই নয় (float32) তথ্য সর্বশেষ

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

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

ণশড CPU লেটেন্সি GPU লেটেন্সি
জাদুকরী স্পর্শ 130.11 মি 67.25ms