১. শুরু করার আগে
এমএল কিট হলো একটি মোবাইল এসডিকে, যা গুগলের অন-ডিভাইস মেশিন লার্নিং দক্ষতাকে অ্যান্ড্রয়েড এবং আইওএস অ্যাপে নিয়ে আসে। আপনি এর শক্তিশালী অথচ সহজে ব্যবহারযোগ্য ভিশন এবং ন্যাচারাল ল্যাঙ্গুয়েজ এপিআই ব্যবহার করে আপনার অ্যাপের সাধারণ সমস্যাগুলো সমাধান করতে পারেন অথবা একেবারে নতুন ইউজার এক্সপেরিয়েন্স তৈরি করতে পারেন। এই সবকিছুই গুগলের সেরা এমএল মডেল দ্বারা চালিত এবং আপনাকে বিনামূল্যে প্রদান করা হয়।
এমএল কিট-এর সমস্ত এপিআই ডিভাইসেই চলে, ফলে রিয়েল-টাইমে এটি ব্যবহার করা যায়, যেমন—আপনি যদি কোনো লাইভ ক্যামেরা স্ট্রিম প্রসেস করতে চান। এর মানে হলো, এই কার্যকারিতা অফলাইনেও পাওয়া যায়।
এই কোডল্যাবটি আপনাকে ধাপে ধাপে দেখাবে কীভাবে আপনার বিদ্যমান অ্যান্ড্রয়েড অ্যাপে একটি নির্দিষ্ট ছবির জন্য অবজেক্ট ডিটেকশন অ্যান্ড ট্র্যাকিং (ODT) যোগ করতে হয়। অনুগ্রহ করে মনে রাখবেন যে, এমএল কিট (ML Kit) ওডিটি (ODT)-এর ব্যবহার তুলে ধরার জন্য এই কোডল্যাবটিতে কিছু সংক্ষিপ্ত পথ অবলম্বন করা হয়েছে।
আপনি যা তৈরি করবেন
এই কোডল্যাবে, আপনি এমএল কিট (ML Kit) ব্যবহার করে একটি অ্যান্ড্রয়েড অ্যাপ তৈরি করবেন। আপনার অ্যাপটি একটি প্রদত্ত ছবিতে বস্তু শনাক্ত করার জন্য এমএল কিট অবজেক্ট ডিটেকশন অ্যান্ড ট্র্যাকিং এপিআই (ML Kit Object Detection and Tracking API) ব্যবহার করবে। শেষে, আপনি ডানদিকের ছবির মতো কিছু দেখতে পাবেন। |
|
আপনি যা শিখবেন
- আপনার অ্যান্ড্রয়েড অ্যাপ্লিকেশনে কীভাবে এমএল কিট এসডিকে (ML Kit SDK) যুক্ত করবেন
- এমএল কিট অবজেক্ট ডিটেকশন এবং ট্র্যাকিং এপিআই
আপনার যা যা লাগবে
- অ্যান্ড্রয়েড স্টুডিওর একটি সাম্প্রতিক সংস্করণ (v4.1.2+)
- অ্যান্ড্রয়েড স্টুডিও এমুলেটর বা একটি বাস্তব অ্যান্ড্রয়েড ডিভাইস
- নমুনা কোড
- কোটলিনে অ্যান্ড্রয়েড ডেভেলপমেন্টের প্রাথমিক জ্ঞান
এই কোডল্যাবটি এমএল কিট (ML Kit)-কে কেন্দ্র করে তৈরি। এখানে অপ্রাসঙ্গিক ধারণা ও কোড ব্লকগুলো সংক্ষেপে আলোচনা করা হয়েছে এবং এগুলো শুধু কপি-পেস্ট করার জন্য দেওয়া হয়েছে।
২. প্রস্তুত হন
কোডটি ডাউনলোড করুন
এই কোডল্যাবের সমস্ত কোড ডাউনলোড করতে নিচের লিঙ্কে ক্লিক করুন:
ডাউনলোড করা জিপ ফাইলটি আনপ্যাক করুন। এটি একটি রুট ফোল্ডার ( mlkit-android-main ) আনপ্যাক করবে, যেখানে আপনার প্রয়োজনীয় সমস্ত রিসোর্স থাকবে। এই কোডল্যাবের জন্য, আপনার শুধুমাত্র object-detection সাবডিরেক্টরিতে থাকা সোর্সগুলো প্রয়োজন হবে।
mlkit-android রিপোজিটরির `object-detection` সাবডিরেক্টরিতে দুটি ডিরেক্টরি রয়েছে:
স্টার্টার — এই কোডল্যাবের জন্য প্রাথমিক কোড, যার উপর ভিত্তি করে আপনি কাজ এগিয়ে নিয়ে যাবেন।
চূড়ান্ত — সমাপ্ত নমুনা অ্যাপটির সম্পূর্ণ কোড।
৩. প্রজেক্টে এমএল কিট অবজেক্ট ডিটেকশন অ্যান্ড ট্র্যাকিং এপিআই যোগ করুন।
অ্যান্ড্রয়েড স্টুডিওতে অ্যাপটি ইম্পোর্ট করুন
প্রথমে অ্যান্ড্রয়েড স্টুডিওতে স্টার্টার অ্যাপটি ইম্পোর্ট করে নেওয়া যাক।
অ্যান্ড্রয়েড স্টুডিও খুলুন, ‘Import Project (Gradle, Eclipse ADT, etc.)’ নির্বাচন করুন এবং আপনার পূর্বে ডাউনলোড করা সোর্স কোড থেকে starter ফোল্ডারটি বেছে নিন।

এমএল কিট অবজেক্ট ডিটেকশন অ্যান্ড ট্র্যাকিং-এর জন্য প্রয়োজনীয় নির্ভরতাগুলো যোগ করুন।
এমএল কিট ডিপেন্ডেন্সিগুলো আপনাকে আপনার অ্যাপে এমএল কিট ওডিটি এসডিকে ইন্টিগ্রেট করার সুযোগ দেয়। আপনার প্রোজেক্টের app/build.gradle ফাইলের শেষে নিম্নলিখিত লাইনগুলো যোগ করুন:
বিল্ড.গ্রেডল
dependencies {
// ...
implementation 'com.google.mlkit:object-detection:16.2.4'
}
আপনার প্রজেক্টটি গ্রেডল ফাইলের সাথে সিঙ্ক করুন।
আপনার অ্যাপে সমস্ত ডিপেন্ডেন্সি উপলব্ধ আছে কিনা তা নিশ্চিত করতে, এই পর্যায়ে আপনার প্রজেক্টটিকে গ্রেডল ফাইলের সাথে সিঙ্ক করা উচিত।
গ্রেডল ফাইলের সাথে প্রজেক্ট সিঙ্ক করুন নির্বাচন করুন (
অ্যান্ড্রয়েড স্টুডিও টুলবার থেকে।
(যদি এই বাটনটি নিষ্ক্রিয় থাকে, তাহলে সম্পূর্ণ রিপোজিটরিটি নয়, শুধু starter/app/build.gradle ইম্পোর্ট করুন ।)
৪. স্টার্টার অ্যাপটি চালান।
এখন যেহেতু আপনি অ্যান্ড্রয়েড স্টুডিওতে প্রজেক্টটি ইম্পোর্ট করেছেন এবং এমএল কিট অবজেক্ট ডিটেকশন ও ট্র্যাকিং-এর জন্য ডিপেন্ডেন্সিগুলো যোগ করেছেন, আপনি প্রথমবারের মতো অ্যাপটি চালানোর জন্য প্রস্তুত।
আপনার অ্যান্ড্রয়েড ডিভাইসটি ইউএসবি-র মাধ্যমে আপনার হোস্টের সাথে সংযুক্ত করুন, অথবা অ্যান্ড্রয়েড স্টুডিও এমুলেটরটি চালু করুন এবং রান-এ ক্লিক করুন (
অ্যান্ড্রয়েড স্টুডিও টুলবারে।
অ্যাপটি চালান এবং অন্বেষণ করুন।
অ্যাপটি আপনার অ্যান্ড্রয়েড ডিভাইসে চালু হবে। এতে কিছু বয়লারপ্লেট কোড রয়েছে, যা আপনাকে একটি ছবি তুলতে বা আগে থেকে ঠিক করা কোনো ছবি বেছে নিতে এবং সেটিকে একটি অবজেক্ট ডিটেকশন ও ট্র্যাকিং পাইপলাইনে পাঠাতে সাহায্য করবে। এই পাইপলাইনটি আপনি এই কোডল্যাবে তৈরি করবেন। কোড লেখার আগে চলুন অ্যাপটি একটু ঘুরে দেখি।
প্রথমত, একটি বোতাম আছে (
) নীচে:
- আপনার ডিভাইস/এমুলেটরে থাকা ক্যামেরা অ্যাপটি চালু করুন।
- আপনার ক্যামেরা অ্যাপের ভিতরে একটি ছবি তুলুন
- স্টার্টার অ্যাপে তোলা ছবিটি গ্রহণ করুন
- ছবিটি প্রদর্শন করুন
‘Take photo’ বাটনটি ব্যবহার করে দেখুন, ছবি তোলার জন্য নির্দেশাবলী অনুসরণ করুন, ছবিটি গ্রহণ করুন এবং স্টার্টার অ্যাপের ভিতরে এটি প্রদর্শিত হতে দেখুন।
এটি কীভাবে কাজ করে তা দেখতে কয়েকবার পুনরাবৃত্তি করুন:



দ্বিতীয়ত, এখানে ৩টি পূর্বনির্ধারিত ছবি রয়েছে যেখান থেকে আপনি বেছে নিতে পারেন। আপনি যদি অ্যান্ড্রয়েড এমুলেটরে চালান, তবে পরবর্তীতে অবজেক্ট ডিটেকশন কোড পরীক্ষা করার জন্য এই ছবিগুলো ব্যবহার করতে পারবেন।
পূর্বনির্ধারিত ৩টি ছবি থেকে একটি ছবি নির্বাচন করুন। দেখুন ছবিটি বড় আকারে দেখা যাচ্ছে কি না:

৫. ডিভাইসে বস্তু সনাক্তকরণ যোগ করুন
এই ধাপে, আপনি স্টার্টার অ্যাপে ছবির মধ্যে বস্তু শনাক্ত করার কার্যকারিতা যোগ করবেন। আগের ধাপে যেমন দেখেছেন, স্টার্টার অ্যাপটিতে ডিভাইসের ক্যামেরা অ্যাপ দিয়ে ছবি তোলার জন্য বয়লারপ্লেট কোড রয়েছে। অ্যাপটিতে ৩টি পূর্বনির্ধারিত ছবিও আছে, যেগুলোতে আপনি অ্যান্ড্রয়েড এমুলেটরে কোডল্যাবটি চালালে বস্তু শনাক্তকরণ চেষ্টা করে দেখতে পারেন।
আপনি যখন পূর্বনির্ধারিত ছবিগুলো থেকে অথবা ক্যামেরা অ্যাপ দিয়ে কোনো ছবি নির্বাচন করেন, তখন বয়লারপ্লেট কোডটি সেই ছবিটিকে একটি Bitmap ইনস্ট্যান্সে ডিকোড করে, স্ক্রিনে প্রদর্শন করে এবং ছবিটিসহ runObjectDetection মেথডটিকে কল করে।
এই ধাপে, আপনি অবজেক্ট ডিটেকশন করার জন্য runObjectDetection মেথডে কোড যোগ করবেন!
একটি ইমেজের উপর ডিভাইসে অবজেক্ট ডিটেকশন সেট আপ করুন এবং চালান।
এমএল কিট ওডিটি সেট আপ করার জন্য ৩টি এপিআই সহ মাত্র ৩টি সহজ ধাপ রয়েছে:
- একটি ছবি প্রস্তুত করুন:
InputImage - একটি ডিটেক্টর অবজেক্ট তৈরি করুন:
ObjectDetection.getClient(options) - উপরের দুটি অবজেক্ট সংযুক্ত করুন:
process(image)
আপনি MainActivity.kt ফাইলের runObjectDetection(bitmap: Bitmap) ফাংশনের ভিতরে এগুলো সম্পন্ন করবেন।
/**
* ML Kit Object Detection Function
*/
private fun runObjectDetection(bitmap: Bitmap) {
}
এই মুহূর্তে ফাংশনটি খালি আছে। ML Kit ODT প্রয়োগ করতে নিম্নলিখিত ধাপগুলো অনুসরণ করুন! এই প্রক্রিয়ার মধ্যে, Android Studio আপনাকে প্রয়োজনীয় ইম্পোর্টগুলো যোগ করতে বলবে:
-
com.google.mlkit.vision.common.InputImage -
com.google.mlkit.vision.objects.ObjectDetection -
com.google.mlkit.vision.objects.defaults.ObjectDetectorOptions
ধাপ ১: একটি ইনপুটইমেজ তৈরি করুন
এমএল কিট একটি Bitmap থেকে InputImage তৈরি করার জন্য একটি সহজ এপিআই প্রদান করে। এরপর আপনি সেই InputImage এমএল কিট এপিআইগুলোতে ফিড করতে পারেন।
// Step 1: create ML Kit's InputImage object
val image = InputImage.fromBitmap(bitmap, 0)
উপরের কোডটি ` runObjectDetection(bitmap:Bitmap) এর শুরুতে যোগ করুন।
ধাপ ২: একটি ডিটেক্টর ইনস্ট্যান্স তৈরি করুন
এমএল কিট বিল্ডার ডিজাইন প্যাটার্ন অনুসরণ করে। আপনি বিল্ডারে কনফিগারেশনটি পাঠাবেন, তারপর সেখান থেকে একটি ডিটেক্টর সংগ্রহ করবেন। কনফিগার করার জন্য ৩টি অপশন রয়েছে (এই কোডল্যাবে বোল্ড করা অপশনগুলো ব্যবহার করা হয়েছে):
- ডিটেক্টর মোড ( একক চিত্র বা স্ট্রিম )
- সনাক্তকরণ মোড ( একক বা একাধিক বস্তু সনাক্তকরণ )
- শ্রেণিবিন্যাস মোড ( চালু বা বন্ধ )
এই কোডল্যাবটি একটি ছবিতে একাধিক বস্তু শনাক্তকরণ ও শ্রেণীকরণের জন্য। এখনই এটি যোগ করুন:
// Step 2: acquire detector object
val options = ObjectDetectorOptions.Builder()
.setDetectorMode(ObjectDetectorOptions.SINGLE_IMAGE_MODE)
.enableMultipleObjects()
.enableClassification()
.build()
val objectDetector = ObjectDetection.getClient(options)
ধাপ ৩: ডিটেক্টরে ছবি(গুলো) পাঠান।
বস্তু শনাক্তকরণ এবং শ্রেণিবিন্যাস একটি অ্যাসিঙ্ক্রোনাস প্রক্রিয়াকরণ:
- আপনি ডিটেক্টরের কাছে একটি ছবি পাঠান (
process()এর মাধ্যমে)। - ডিটেক্টরটি এটার ওপর বেশ কঠোর পরিশ্রম করে।
- ডিটেক্টরটি একটি কলব্যাকের মাধ্যমে আপনাকে ফলাফলটি জানিয়ে দেয়।
নিচের কোডটি ঠিক এই কাজটিই করে (এটি কপি করে fun runObjectDetection(bitmap:Bitmap)):
// Step 3: feed given image to detector and setup callback
objectDetector.process(image)
.addOnSuccessListener {
// Task completed successfully
debugPrint(it)
}
.addOnFailureListener {
// Task failed with an exception
Log.e(TAG, it.message.toString())
}
সম্পন্ন হলে, ডিটেক্টর আপনাকে নিম্নলিখিত বিষয়গুলো জানিয়ে দেয়:
- শনাক্তকৃত বস্তুর মোট সংখ্যা। প্রতিটি শনাক্তকৃত বস্তুর বর্ণনা নিচে দেওয়া হলো:
-
trackingId: একটি পূর্ণসংখ্যা যা বিভিন্ন ফ্রেমে এটিকে ট্র্যাক করতে ব্যবহৃত হয় (এই কোডল্যাবে ব্যবহৃত নয়)। -
boundingBox: বস্তুটির বাউন্ডিং বক্স। -
labels:শনাক্তকৃত বস্তুর জন্য লেবেল(গুলোর) একটি তালিকা (শুধুমাত্র যখন শ্রেণিবিন্যাস সক্রিয় থাকে): -
index(এই লেবেলটির সূচক বের করুন) - এই লেবেলের
textপান, যার মধ্যে "ফ্যাশন সামগ্রী", "খাবার", "গৃহস্থালি সামগ্রী", "স্থান", "উদ্ভিদ" অন্তর্ভুক্ত থাকবে। -
confidence(০.০ থেকে ১.০ এর মধ্যে একটি পরিবর্তনশীল মান, যেখানে ১.০ মানে ১০০%)
আপনি সম্ভবত লক্ষ্য করেছেন যে, কোডটি debugPrint() ব্যবহার করে শনাক্তকৃত ফলাফলের জন্য এক ধরনের printf প্রক্রিয়াকরণ করে।
এটি MainActivity ক্লাসে যোগ করুন:
private fun debugPrint(detectedObjects: List<DetectedObject>) {
detectedObjects.forEachIndexed { index, detectedObject ->
val box = detectedObject.boundingBox
Log.d(TAG, "Detected object: $index")
Log.d(TAG, " trackingId: ${detectedObject.trackingId}")
Log.d(TAG, " boundingBox: (${box.left}, ${box.top}) - (${box.right},${box.bottom})")
detectedObject.labels.forEach {
Log.d(TAG, " categories: ${it.text}")
Log.d(TAG, " confidence: ${it.confidence}")
}
}
}
এখন আপনি শনাক্তকরণের জন্য ছবি গ্রহণ করতে প্রস্তুত!
রান-এ ক্লিক করে কোডল্যাবটি চালানো যাক।
অ্যান্ড্রয়েড স্টুডিও টুলবারে ) রয়েছে। একটি প্রিসেট ছবি নির্বাচন করার চেষ্টা করুন, অথবা একটি ছবি তুলুন, তারপর লগক্যাট উইন্ডোটি দেখুন।
IDE-এর ভিতরে ।
আপনি এর মতো কিছু দেখতে পাবেন:
D/MLKit Object Detection: Detected object: 0
D/MLKit Object Detection: trackingId: null
D/MLKit Object Detection: boundingBox: (481, 2021) - (2426,3376)
D/MLKit Object Detection: categories: Food
D/MLKit Object Detection: confidence: 0.90234375
D/MLKit Object Detection: Detected object: 1
D/MLKit Object Detection: trackingId: null
D/MLKit Object Detection: boundingBox: (2639, 2633) - (3058,3577)
D/MLKit Object Detection: Detected object: 2
D/MLKit Object Detection: trackingId: null
D/MLKit Object Detection: boundingBox: (3, 1816) - (615,2597)
D/MLKit Object Detection: categories: Home good
D/MLKit Object Detection: confidence: 0.75390625
...যার অর্থ হলো, ডিটেক্টরটি ৩টি বস্তু দেখেছিল:
- বিভাগগুলো হলো খাদ্য ও গৃহস্থালি সামগ্রী ।
- দ্বিতীয়টির জন্য কোনো বিভাগ পাওয়া যায়নি, কারণ এটি একটি অজানা শ্রেণি।
- কোনো
trackingIdনেই (কারণ এটি একক চিত্র সনাক্তকরণ মোড)। -
boundingBoxআয়তক্ষেত্রের ভিতরের অবস্থান (যেমন (481, 2021) – (2426, 3376)) - ডিটেক্টরটি বেশ নিশ্চিত যে প্রথমটি একটি খাবার (৯০% নিশ্চয়তা— এটি সালাদ ছিল )।
প্রযুক্তিগতভাবে এমএল কিট অবজেক্ট ডিটেকশন চালু করার জন্য আপনার শুধু এটুকুই প্রয়োজন: এই মুহূর্তে আপনি সবকিছুই পেয়ে গেছেন! অভিনন্দন!
UI-এর দিক থেকে, আপনি এখনও শুরুর পর্যায়েই আছেন, কিন্তু আরও ভালো অভিজ্ঞতা তৈরির জন্য আপনি UI-তে শনাক্ত করা ফলাফলগুলো ব্যবহার করতে পারেন, যেমন বাউন্ডিং বক্স এঁকে নেওয়া: চলুন পরবর্তী ধাপে যাওয়া যাক – শনাক্ত করা ফলাফলগুলো পোস্ট-প্রসেস করা!
৬. সনাক্তকরণ ফলাফলের পরবর্তী প্রক্রিয়াকরণ
পূর্ববর্তী ধাপগুলোতে, আপনি শনাক্তকৃত ফলাফলটি লগক্যাটে প্রিন্ট করেন: যা সহজ এবং দ্রুত।
এই অংশে, আপনি ফলাফলটি ছবিতে ব্যবহার করবেন:
- ছবিতে বাউন্ডিং বক্স আঁকুন
- বাউন্ডিং বক্সের ভিতরে ক্যাটাগরির নাম এবং কনফিডেন্স আঁকুন।
ভিজ্যুয়ালাইজেশন ইউটিলিটিগুলি বুঝুন
ডিটেকশনের ফলাফল ভিজ্যুয়ালাইজ করতে সাহায্য করার জন্য কোডল্যাবের ভিতরে কিছু বয়লারপ্লেট কোড রয়েছে। আমাদের ভিজ্যুয়ালাইজেশন কোডটিকে সহজ করার জন্য এই ইউটিলিটিগুলি ব্যবহার করুন:
-
data class BoxWithText(val box: Rect, val text: String)এটি ভিজ্যুয়ালাইজেশনের জন্য একটি অবজেক্ট ডিটেকশনের ফলাফল সংরক্ষণ করার একটি ডেটা ক্লাস।boxহলো সেই বাউন্ডিং বক্স যেখানে অবজেক্টটি অবস্থিত, এবংtextহলো ডিটেকশনের ফলাফলের স্ট্রিং যা অবজেক্টের বাউন্ডিং বক্সের সাথে প্রদর্শন করা হয়। -
fun drawDetectionResult(bitmap: Bitmap, detectionResults: List<BoxWithText>): Bitmapএই মেথডটিdetectionResultsএ থাকা অবজেক্ট ডিটেকশনের ফলাফল ইনপুটbitmapউপর অঙ্কন করে এবং এর একটি পরিবর্তিত অনুলিপি ফেরত দেয়।
drawDetectionResult ইউটিলিটি মেথডের আউটপুটের একটি উদাহরণ নিচে দেওয়া হলো:

এমএল কিট সনাক্তকরণের ফলাফলটি দৃশ্যমান করুন
ইনপুট ছবির উপরে এমএল কিট অবজেক্ট ডিটেকশনের ফলাফলটি আঁকতে ভিজ্যুয়ালাইজেশন ইউটিলিটিগুলো ব্যবহার করুন।
যেখানে আপনি debugPrint() কল করেছেন সেখানে যান এবং এর নিচে নিম্নলিখিত কোড স্নিপেটটি যোগ করুন:
// Parse ML Kit's DetectedObject and create corresponding visualization data
val detectedObjects = it.map { obj ->
var text = "Unknown"
// We will show the top confident detection result if it exist
if (obj.labels.isNotEmpty()) {
val firstLabel = obj.labels.first()
text = "${firstLabel.text}, ${firstLabel.confidence.times(100).toInt()}%"
}
BoxWithText(obj.boundingBox, text)
}
// Draw the detection result on the input bitmap
val visualizedResult = drawDetectionResult(bitmap, detectedObjects)
// Show the detection result on the app screen
runOnUiThread {
inputImageView.setImageBitmap(visualizedResult)
}
- প্রথমে আপনাকে এমএল কিট-এর
DetectedObjectপার্স করতে হবে এবং ভিজ্যুয়ালাইজেশনের ফলাফল দেখানোর জন্যBoxWithTextঅবজেক্টের একটি তালিকা তৈরি করতে হবে। - এরপর আপনি
drawDetectionResultইউটিলিটি মেথডটি ব্যবহার করে ইনপুট ইমেজের উপরে ডিটেকশনের ফলাফলটি আঁকবেন এবং স্ক্রিনে তা প্রদর্শন করবেন।
এটা চালান
এখন রান-এ ক্লিক করুন (
অ্যান্ড্রয়েড স্টুডিও টুলবারে।
অ্যাপটি লোড হয়ে গেলে, ক্যামেরা আইকনযুক্ত বাটনটি চাপুন, আপনার ক্যামেরাটি কোনো বস্তুর দিকে তাক করুন, একটি ছবি তুলুন, ছবিটি গ্রহণ করুন (ক্যামেরা অ্যাপে) অথবা আপনি সহজেই আগে থেকে সেট করা যেকোনো ছবিতে ট্যাপ করতে পারেন। আপনি শনাক্তকরণের ফলাফল দেখতে পাবেন; সর্বশেষ এমএল কিট ওডিটি-র অভিজ্ঞতা পেতে বাটনটি আবার চাপুন অথবা অন্য একটি ছবি নির্বাচন করে কয়েকবার প্রক্রিয়াটি পুনরাবৃত্তি করুন!

৭. অভিনন্দন!
আপনি আপনার অ্যাপে অবজেক্ট ডিটেকশন সক্ষমতা যোগ করতে এমএল কিট ব্যবহার করেছেন:
- ৩টি এপিআই দিয়ে ৩টি ধাপ
- ইনপুট ইমেজ তৈরি করুন
- ডিটেক্টর তৈরি করুন
- ডিটেক্টরে ছবি পাঠান
এটি চালু করার জন্য আপনার শুধু এটুকুই প্রয়োজন!
আপনি কাজ করতে করতে মডেলটিকে আরও উন্নত করতে চাইতে পারেন: যেমনটা দেখতে পাচ্ছেন, ডিফল্ট মডেলটি মাত্র ৫টি ক্যাটাগরি চিনতে পারে— মডেলটি এমনকি ছুরি, কাঁটাচামচ এবং বোতলও চেনে না। কীভাবে একটি কাস্টম মডেলকে প্রশিক্ষণ দেওয়া যায় তা শিখতে আমাদের 'অন-ডিভাইস মেশিন লার্নিং - অবজেক্ট ডিটেকশন' লার্নিং পাথওয়ের অন্য কোডল্যাবটি দেখুন।
আমরা যা আলোচনা করেছি
- আপনার অ্যান্ড্রয়েড অ্যাপে কীভাবে এমএল কিট অবজেক্ট ডিটেকশন এবং ট্র্যাকিং যুক্ত করবেন
- ছবিতে বস্তু শনাক্ত করতে এমএল কিট-এ অন-ডিভাইস অবজেক্ট ডিটেকশন ও ট্র্যাকিং কীভাবে ব্যবহার করবেন
পরবর্তী পদক্ষেপ
- ডিটেকশন ও ক্লাসিফিকেশনের নির্ভুলতা এবং পারফরম্যান্স অনুভব করতে আরও ছবি এবং লাইভ ভিডিওর মাধ্যমে এমএল কিট ওডিটি (ML Kit ODT) দিয়ে আরও অন্বেষণ করুন।
- কীভাবে একটি কাস্টম মডেলকে প্রশিক্ষণ দিতে হয় তা শিখতে 'অন-ডিভাইস মেশিন লার্নিং - অবজেক্ট ডিটেকশন' লার্নিং পাথওয়েটি দেখুন।
- আপনার নিজের অ্যান্ড্রয়েড অ্যাপে এমএল কিট ওডিটি প্রয়োগ করুন