এমএল কিট: অ্যান্ড্রয়েডের সাথে একটি ভিজ্যুয়াল পণ্য অনুসন্ধান তৈরি করতে চিত্রগুলিতে বস্তুগুলি সনাক্ত করুন

১. শুরু করার আগে

727608486a28395d.png

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

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

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

আপনি যা তৈরি করবেন

  • এই কোডল্যাবে, আপনি এমএল কিট (ML Kit) ব্যবহার করে একটি অ্যান্ড্রয়েড অ্যাপ তৈরি করবেন। আপনার অ্যাপটি একটি প্রদত্ত ছবিতে বস্তু শনাক্ত করার জন্য এমএল কিট অবজেক্ট ডিটেকশন অ্যান্ড ট্র্যাকিং এপিআই (ML Kit Object Detection and Tracking API) ব্যবহার করবে। এরপর ব্যবহারকারী আমাদের প্রোডাক্ট ডেটাবেস থেকে তার পছন্দের বস্তুটি বেছে নেবেন।
  • শেষে, আপনি ডানদিকের ছবিটির মতো কিছু দেখতে পাবেন।

আপনি যা শিখবেন

  • আপনার অ্যান্ড্রয়েড অ্যাপ্লিকেশনে কীভাবে এমএল কিট এসডিকে (ML Kit SDK) যুক্ত করবেন
  • এমএল কিট অবজেক্ট ডিটেকশন এবং ট্র্যাকিং এপিআই

আপনার যা যা লাগবে

  • অ্যান্ড্রয়েড স্টুডিওর একটি সাম্প্রতিক সংস্করণ (v4.1.2+)
  • অ্যান্ড্রয়েড স্টুডিও এমুলেটর বা একটি বাস্তব অ্যান্ড্রয়েড ডিভাইস
  • নমুনা কোড
  • কোটলিনে অ্যান্ড্রয়েড ডেভেলপমেন্টের প্রাথমিক জ্ঞান

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

২. প্রস্তুত হন

কোডটি ডাউনলোড করুন

এই কোডল্যাবের সমস্ত কোড ডাউনলোড করতে নিচের লিঙ্কে ক্লিক করুন:

ডাউনলোড করা জিপ ফাইলটি আনপ্যাক করুন। এটি একটি রুট ফোল্ডার ( odml-pathways-main ) আনপ্যাক করবে, যেখানে আপনার প্রয়োজনীয় সমস্ত রিসোর্স থাকবে। এই কোডল্যাবের জন্য, আপনার শুধুমাত্র product-search/codelab1/android সাবডিরেক্টরিতে থাকা সোর্সগুলো প্রয়োজন হবে।

mlkit-android রিপোজিটরির `object-detection` সাবডিরেক্টরিতে দুটি ডিরেক্টরি রয়েছে:

  • android_studio_folder.png স্টার্টার — এই কোডল্যাবের জন্য প্রাথমিক কোড, যার উপর ভিত্তি করে আপনি কাজ এগিয়ে নিয়ে যাবেন।
  • android_studio_folder.png চূড়ান্ত — সমাপ্ত নমুনা অ্যাপটির সম্পূর্ণ কোড।

৩. প্রজেক্টে এমএল কিট অবজেক্ট ডিটেকশন অ্যান্ড ট্র্যাকিং এপিআই যোগ করুন।

অ্যান্ড্রয়েড স্টুডিওতে অ্যাপটি ইম্পোর্ট করুন

প্রথমে অ্যান্ড্রয়েড স্টুডিওতে স্টার্টার অ্যাপটি ইম্পোর্ট করুন।

অ্যান্ড্রয়েড স্টুডিওতে যান, ‘ইম্পোর্ট প্রজেক্ট (গ্রেডল, এক্লিপ্স এডিটি, ইত্যাদি)’ নির্বাচন করুন এবং আপনার পূর্বে ডাউনলোড করা সোর্স কোড থেকে স্টার্টার ফোল্ডারটি বেছে নিন।

7c0f27882a2698ac.png

এমএল কিট অবজেক্ট ডিটেকশন অ্যান্ড ট্র্যাকিং-এর জন্য প্রয়োজনীয় নির্ভরতাগুলো যোগ করুন।

এমএল কিট ডিপেন্ডেন্সিগুলো আপনাকে আপনার অ্যাপে এমএল কিট ওডিটি এসডিকে ইন্টিগ্রেট করার সুযোগ দেয়।

আপনার প্রোজেক্টের app/build.gradle ফাইলে যান এবং নিশ্চিত করুন যে ডিপেন্ডেন্সিটি সেখানে আগে থেকেই আছে:

বিল্ড.গ্রেডল

dependencies {
  // ...
  implementation 'com.google.mlkit:object-detection:16.2.4'
}

আপনার প্রজেক্টটি গ্রেডল ফাইলের সাথে সিঙ্ক করুন।

আপনার অ্যাপে সমস্ত ডিপেন্ডেন্সি উপলব্ধ আছে কিনা তা নিশ্চিত করতে, এই পর্যায়ে আপনার প্রজেক্টটিকে গ্রেডল ফাইলের সাথে সিঙ্ক করা উচিত।

গ্রেডল ফাইলের সাথে প্রজেক্ট সিঙ্ক করুন নির্বাচন করুন ( b451ab2d04d835f9.png অ্যান্ড্রয়েড স্টুডিও টুলবার থেকে।

(যদি এই বাটনটি নিষ্ক্রিয় থাকে, তবে নিশ্চিত করুন যে আপনি সম্পূর্ণ রিপোজিটরিটি নয়, শুধুমাত্র starter/app/build.gradle ইম্পোর্ট করছেন।)

৪. স্টার্টার অ্যাপটি চালান।

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

আপনার অ্যান্ড্রয়েড ডিভাইসটি ইউএসবি-র মাধ্যমে আপনার হোস্টের সাথে সংযুক্ত করুন অথবা অ্যান্ড্রয়েড স্টুডিও এমুলেটরটি চালু করুন এবং রান-এ ক্লিক করুন ( execute.png অ্যান্ড্রয়েড স্টুডিও টুলবারে।

অ্যাপটি চালান এবং অন্বেষণ করুন।

অ্যাপটি আপনার অ্যান্ড্রয়েড ডিভাইসে চালু হবে। এতে কিছু বয়লারপ্লেট কোড রয়েছে, যা আপনাকে একটি ছবি তুলতে বা আগে থেকে ঠিক করা কোনো ছবি বেছে নিতে এবং সেটিকে একটি অবজেক্ট ডিটেকশন ও ট্র্যাকিং পাইপলাইনে পাঠাতে সাহায্য করবে, যা আপনি এই কোডল্যাবে তৈরি করবেন। কোড লেখার আগে অ্যাপটি একটু ঘুরে দেখুন:

প্রথমত, একটি বোতাম আছে ( c6d965d639c3646.png নীচে )

  • আপনার ডিভাইস/এমুলেটরে অন্তর্নির্মিত ক্যামেরা অ্যাপটি চালু করুন।
  • আপনার ক্যামেরা অ্যাপের ভিতরে একটি ছবি তুলুন
  • স্টার্টার অ্যাপে তোলা ছবিটি গ্রহণ করুন
  • ছবিটি প্রদর্শন করুন

" ছবি তুলুন " বোতামটি ব্যবহার করে দেখুন। ছবি তোলার জন্য নির্দেশাবলী অনুসরণ করুন, ছবিটি গ্রহণ করুন এবং স্টার্টার অ্যাপের ভিতরে এটি প্রদর্শিত হতে দেখুন।

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

  1. পূর্বনির্ধারিত ৩টি ছবি থেকে একটি ছবি বাছাই করুন
  2. খেয়াল করুন ছবিটি বড় আকারে দেখা যাচ্ছে কিনা।

1290481786af21b9.png

৫. ডিভাইসে বস্তু সনাক্তকরণ যোগ করুন

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

আপনি যখন পূর্বনির্ধারিত ছবিগুলো থেকে অথবা ক্যামেরা অ্যাপ দিয়ে ছবি তুলে কোনো ছবি নির্বাচন করেন, তখন বয়লারপ্লেট কোড সেই ছবিটিকে একটি 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())
   }

সম্পন্ন হলে, ডিটেক্টর আপনাকে অবহিত করবে।

  1. সনাক্ত করা বস্তুর মোট সংখ্যা
  2. প্রতিটি শনাক্তকৃত বস্তুকে বর্ণনা করা হয়
  • trackingId : একটি পূর্ণসংখ্যা যা বিভিন্ন ফ্রেমে এটিকে ট্র্যাক করতে ব্যবহৃত হয় (এই কোডল্যাবে ব্যবহৃত নয়)
  • boundingBox : বস্তুর বাউন্ডিং বক্স
  • labels: শনাক্তকৃত বস্তুর জন্য লেবেল(গুলোর) তালিকা (শুধুমাত্র যখন শ্রেণিবিন্যাস সক্রিয় থাকে)
  • index (এই লেবেলটির সূচক বের করুন)
  • এই লেবেলের text পান, যার মধ্যে "ফ্যাশন সামগ্রী", "খাবার", "গৃহস্থালি সামগ্রী", "স্থান", "উদ্ভিদ" অন্তর্ভুক্ত থাকবে।
  • confidence (০.০ থেকে ১.০ এর মধ্যে একটি পরিবর্তনশীল মান, যেখানে ১.০ মানে ১০০%)

আপনি সম্ভবত লক্ষ্য করেছেন যে কোডটি debugPrint() ব্যবহার করে শনাক্ত করা ফলাফল Logcat-এ প্রিন্ট করে। এটি 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}")
       }
   }
}

এখন আপনি শনাক্তকরণের জন্য ছবি গ্রহণ করতে প্রস্তুত!

রান-এ ক্লিক করে কোডল্যাবটি চালান ( execute.png অ্যান্ড্রয়েড স্টুডিও টুলবারে ) রয়েছে। একটি প্রিসেট ছবি নির্বাচন করার চেষ্টা করুন অথবা একটি ছবি তুলুন, তারপর লগক্যাট উইন্ডোটি দেখুন। 16bd6ea224cf8cf1.png 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: Fashion good
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-তে শনাক্ত করা ফলাফলগুলো ব্যবহার করতে পারেন, যেমন বাউন্ডিং বক্স এঁকে দেওয়া। পরবর্তী ধাপ হলো শনাক্ত করা ফলাফলগুলোকে ভিজ্যুয়ালাইজ করা!

৬. সনাক্তকরণ ফলাফলের পরবর্তী প্রক্রিয়াকরণ

পূর্ববর্তী ধাপগুলোতে, আপনি শনাক্তকৃত ফলাফলটি লগক্যাটে প্রিন্ট করেছেন: যা সহজ এবং দ্রুত।

এই অংশে, আপনি ছবিতে থাকা ফলাফলটি ব্যবহার করবেন:

  • ছবিতে বাউন্ডিং বক্স আঁকুন
  • বাউন্ডিং বক্সের ভিতরে ক্যাটাগরির নাম এবং কনফিডেন্স আঁকুন।

ভিজ্যুয়ালাইজেশন ইউটিলিটিগুলি বুঝুন

ডিটেকশনের ফলাফল ভিজ্যুয়ালাইজ করতে সাহায্য করার জন্য কোডল্যাবের ভিতরে কিছু বয়লারপ্লেট কোড রয়েছে। আমাদের ভিজ্যুয়ালাইজেশন কোডটিকে সহজ করার জন্য এই ইউটিলিটিগুলি ব্যবহার করুন:

  • class ImageClickableView এটি একটি ইমেজ ভিউ ক্লাস যা ডিটেকশন রেজাল্টের ভিজ্যুয়ালাইজেশন এবং ইন্টারঅ্যাকশনের জন্য কিছু সুবিধাজনক ইউটিলিটি প্রদান করে।
  • fun drawDetectionResults(results: List<DetectedObject>) এই মেথডটি শনাক্ত করা প্রতিটি অবজেক্টের কেন্দ্রে সাদা বৃত্ত আঁকে।
  • fun setOnObjectClickListener(listener: ((objectImage: Bitmap) -> Unit)) এটি একটি কলব্যাক যা ব্যবহারকারীর ট্যাপ করা অবজেক্টটি ধারণকারী ক্রপ করা ছবিটি গ্রহণ করে। পরবর্তী কোনো কোডল্যাবে দৃশ্যত একই রকম ফলাফল পাওয়ার জন্য আপনি এই ক্রপ করা ছবিটি ইমেজ সার্চ ব্যাকএন্ডে পাঠাবেন। এই কোডল্যাবে, আপনি এখনও এই মেথডটি ব্যবহার করবেন না।

এমএল কিট সনাক্তকরণের ফলাফল দেখান

ইনপুট ছবির উপরে এমএল কিট অবজেক্ট ডিটেকশনের ফলাফল দেখানোর জন্য ভিজ্যুয়ালাইজেশন ইউটিলিটিগুলো ব্যবহার করুন।

যেখানে আপনি debugPrint() কল করেছেন সেখানে যান এবং এর নিচে নিম্নলিখিত কোড স্নিপেটটি যোগ করুন:

runOnUiThread {
    viewBinding.ivPreview.drawDetectionResults(it)
}

এটা চালান

এখন রান-এ ক্লিক করুন ( execute.png অ্যান্ড্রয়েড স্টুডিও টুলবারে।

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

5027148750dc0748.png

৭. অভিনন্দন!

আপনি আপনার অ্যাপে অবজেক্ট ডিটেকশন সক্ষমতা যোগ করতে এমএল কিট ব্যবহার করেছেন:

  • ৩টি এপিআই দিয়ে ৩টি ধাপ
  • ইনপুট ইমেজ তৈরি করুন
  • ডিটেক্টর তৈরি করুন
  • ডিটেক্টরে ছবি পাঠান

এটি চালু করার জন্য আপনার শুধু এটুকুই প্রয়োজন!

আমরা যা আলোচনা করেছি

  • আপনার অ্যান্ড্রয়েড অ্যাপে কীভাবে এমএল কিট অবজেক্ট ডিটেকশন এবং ট্র্যাকিং যুক্ত করবেন
  • ছবিতে বস্তু শনাক্ত করতে এমএল কিট-এ অন-ডিভাইস অবজেক্ট ডিটেকশন ও ট্র্যাকিং কীভাবে ব্যবহার করবেন

পরবর্তী পদক্ষেপ

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

আরও জানুন