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 আর্কিটেকচারের অনুরূপ একটি কনভোলিউশনাল নিউরাল নেটওয়ার্ক ব্যবহার করে।
উপরের পূর্ব-প্রশিক্ষিত মডেলগুলির উপর ভিত্তি করে পুরো পাইপলাইনের জন্য টাস্ক বেঞ্চমার্কগুলি এখানে রয়েছে৷ CPU/GPU ব্যবহার করে Pixel 6-এর গড় বিলম্বিততার ফলাফল হল লেটেন্সি।
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2025-01-13 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[],null,["# Interactive image segmentation task guide\n\nThe MediaPipe Interactive Image Segmenter task lets you divide an image into two regions: a selected\nobject and everything else. The task takes a location in an image, estimates the\nboundaries of an object at that location, and returns image data defining the\narea of the object. You can use this task to interactively select an object in\nan image and use the output to apply effects to the image, such as color\noverlays highlighting the object or blurring the background around it. This task\noperates on image data with a machine learning (ML) model and you can use it on\nsingle images, video files, or a continuous video stream.\n\n[Try it!arrow_forward](https://mediapipe-studio.webapps.google.com/demo/interactive_segmenter)\n\nGet Started\n-----------\n\nStart using this task by following one of these implementation guides for your\ntarget platform. These platform-specific guides walk you through a basic\nimplementation of this task, including a recommended model, and code example\nwith recommended configuration options:\n\n- **Android** - [Code example](https://github.com/googlesamples/mediapipe/blob/main/examples/interactive_segmentation/android) - [Guide](./android)\n- **Python** - [Code example](https://colab.sandbox.google.com/github/googlesamples/mediapipe/blob/main/examples/interactive_segmentation/python/interactive_segmenter.ipynb) - [Guide](./python)\n- **Web** - [Code example](https://codepen.io/mediapipe-preview/pen/ZEqzpRg) - [Guide](./web_js)\n\nTask details\n------------\n\nThis section describes the capabilities, inputs, outputs, and configuration\noptions of this task.\n\n### Features\n\n- **Input image processing** - Processing includes image rotation, resizing, normalization, and color space conversion.\n\n| Task inputs | Task outputs |\n|----------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| - Point of interest coordinates for an object in an image - Image file to be processed | Interactive Image Segmenter outputs segmented image data, which can include one or both of the following, depending on the configuration options you set: - `CATEGORY_MASK`: a list containing a segmented mask as a uint8 format image. Each pixel value indicates if it is part of the object located at the area of interest. \u003c!-- --\u003e - `CONFIDENCE_MASK`: a list of channels containing a segmented mask with pixel values in float32 format. Each pixel value indicates the level of confidence that it is part of the object located at the area of interest. |\n\n### Configurations options\n\nThis task has the following configuration options:\n\n| Option Name | Description | Value Range | Default Value |\n|---------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|---------------|\n| `output_category_mask` | If set to `True`, the output includes a segmentation mask as a uint8 image, where each pixel value indicates if the pixel is part of the object located at the area of interest. | {`True, False`} | `False` |\n| `output_confidence_masks` | If set to `True`, the output includes a segmentation mask as a float value image, where each float value represents the confidence that the pixel is part of the object located at the area of interest. | {`True, False`} | `True` |\n| `display_names_locale` | Sets the language of labels to use for display names provided in the metadata of the task's model, if available. Default is `en` for English. You can add localized labels to the metadata of a custom model using the [TensorFlow Lite Metadata Writer API](https://ai.google.dev/edge/lite/models/metadata_writer_tutorial) | Locale code | en |\n\nModels\n------\n\nThe Interactive Image Segmenter can be used with more than one ML model. Start with the\ndefault, recommended model for your target platform when you start developing\nwith this task. The other available models typically make trade-offs between\nperformance, accuracy, resolution, and resource requirements, and in some cases,\ninclude additional features.\n| **Attention:** This MediaPipe Solutions Preview is an early release. [Learn more](/edge/mediapipe/solutions/about#notice).\n\n### MagicTouch model (recommended)\n\nThis model identifies segments given image coordinates for an area of interest.\nThe model uses a Convolutional Neural Network, similar to a\n[MobileNetV3](https://www.kaggle.com/models?query=mobilenet-v3)\narchitecture, with a customized decoder.\n\n| Model name | Input shape | Quantization type | Model Card | Versions |\n|-----------------------------------------------------------------------------------------------------------------------------------|---------------|-------------------|---------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|\n| [MagicTouch](https://storage.googleapis.com/mediapipe-models/interactive_segmenter/magic_touch/float32/latest/magic_touch.tflite) | 512 x 512 x 4 | None (float32) | [info](https://storage.googleapis.com/mediapipe-assets/Model%20Card%20MagicTouch.pdf) | [Latest](https://storage.googleapis.com/mediapipe-models/interactive_segmenter/magic_touch/float32/latest/magic_touch.tflite) |\n\nTask benchmarks\n---------------\n\nHere's the task benchmarks for the whole pipeline based on the above\npre-trained models. The latency result is the average latency on Pixel 6 using\nCPU / GPU.\n\n| Model Name | CPU Latency | GPU Latency |\n|------------|-------------|-------------|\n| MagicTouch | 130.11ms | 67.25ms |"]]