চিত্র অনুসন্ধানকারীদের সংহত করুন

সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।

ইমেজ সার্চ ইমেজের ডাটাবেসে অনুরূপ ইমেজ খোঁজার অনুমতি দেয়। এটি অনুসন্ধান ক্যোয়ারীকে একটি উচ্চ-মাত্রিক ভেক্টরের মধ্যে এমবেড করে কাজ করে যা কোয়েরির শব্দার্থিক অর্থের প্রতিনিধিত্ব করে, তারপরে ScaNN (স্কেলযোগ্য নিকটতম প্রতিবেশী) ব্যবহার করে পূর্বনির্ধারিত, কাস্টম সূচকে মিল অনুসন্ধান করে।

চিত্র শ্রেণীবিভাগের বিপরীতে, স্বীকৃত আইটেমগুলির সংখ্যা বাড়ানোর জন্য সম্পূর্ণ মডেলটিকে পুনরায় প্রশিক্ষণের প্রয়োজন হয় না। নতুন আইটেম যোগ করা যেতে পারে সহজভাবে সূচক পুনর্নির্মাণ. এটি ইমেজের বড় (100k+ আইটেম) ডাটাবেসের সাথে কাজ করতে সক্ষম করে।

আপনার মোবাইল অ্যাপ্লিকেশনগুলিতে আপনার কাস্টম চিত্র অনুসন্ধানকারী স্থাপন করতে টাস্ক লাইব্রেরি ইমেজ ImageSearcher API ব্যবহার করুন৷

ImageSearcher API-এর মূল বৈশিষ্ট্য

  • ইনপুট হিসাবে একটি একক চিত্র নেয়, এম্বেডিং নিষ্কাশন এবং সূচীতে নিকটতম-প্রতিবেশী অনুসন্ধান করে।

  • ইনপুট ইমেজ প্রক্রিয়াকরণ, ঘূর্ণন, আকার পরিবর্তন, এবং রঙ স্থান রূপান্তর সহ।

  • ইনপুট চিত্রের আগ্রহের অঞ্চল।

পূর্বশর্ত

ImageSearcher API ব্যবহার করার আগে, অনুসন্ধান করার জন্য চিত্রগুলির কাস্টম কর্পাসের উপর ভিত্তি করে একটি সূচক তৈরি করা দরকার৷ এটি মডেল মেকার অনুসন্ধানকারী API ব্যবহার করে টিউটোরিয়াল অনুসরণ এবং অভিযোজিত করে অর্জন করা যেতে পারে।

এই জন্য আপনার প্রয়োজন হবে:

  • একটি TFLite ইমেজ এমবেডার মডেল যেমন মোবাইলনেট v3 । TensorFlow Hub-এ Google ইমেজ মডিউল সংগ্রহ থেকে আরও পূর্বপ্রশিক্ষিত এমবেডার মডেল (ওরফে ফিচার ভেক্টর মডেল) দেখুন।
  • ইমেজ আপনার কর্পাস.

এই ধাপের পরে, আপনার একটি স্বতন্ত্র TFLite অনুসন্ধানকারী মডেল থাকা উচিত (যেমন mobilenet_v3_searcher.tflite ), যা TFLite মডেল মেটাডেটাতে সংযুক্ত সূচক সহ আসল চিত্র এমবেডার মডেল।

জাভাতে অনুমান চালান

ধাপ 1: Gradle নির্ভরতা এবং অন্যান্য সেটিংস আমদানি করুন

.tflite অনুসন্ধানকারী মডেল ফাইলটি Android মডিউলের সম্পদ ডিরেক্টরিতে অনুলিপি করুন যেখানে মডেলটি চালানো হবে৷ নির্দিষ্ট করুন যে ফাইলটি সংকুচিত করা উচিত নয় এবং মডিউলের build.gradle ফাইলে TensorFlow Lite লাইব্রেরি যোগ করুন:

android {
    // Other settings

    // Specify tflite index file should not be compressed for the app apk
    aaptOptions {
        noCompress "tflite"
    }

}

dependencies {
    // Other dependencies

    // Import the Task Vision Library dependency (NNAPI is included)
    implementation 'org.tensorflow:tensorflow-lite-task-vision:0.4.0'
    // Import the GPU delegate plugin Library for GPU inference
    implementation 'org.tensorflow:tensorflow-lite-gpu-delegate-plugin:0.4.0'
}

ধাপ 2: মডেল ব্যবহার

// Initialization
ImageSearcherOptions options =
    ImageSearcherOptions.builder()
        .setBaseOptions(BaseOptions.builder().useGpu().build())
        .setSearcherOptions(
            SearcherOptions.builder().setL2Normalize(true).build())
        .build();
ImageSearcher imageSearcher =
    ImageSearcher.createFromFileAndOptions(context, modelFile, options);

// Run inference
List<NearestNeighbor> results = imageSearcher.search(image);

ImageSearcher কনফিগার করার জন্য আরও বিকল্পের জন্য সোর্স কোড এবং javadoc ImageSearcher

C++ এ অনুমান চালান

// Initialization
ImageSearcherOptions options;
options.mutable_base_options()->mutable_model_file()->set_file_name(model_path);
options.mutable_embedding_options()->set_l2_normalize(true);
std::unique_ptr<ImageSearcher> image_searcher = ImageSearcher::CreateFromOptions(options).value();

// Create input frame_buffer from your inputs, `image_data` and `image_dimension`.
// See more information here: tensorflow_lite_support/cc/task/vision/utils/frame_buffer_common_utils.h
std::unique_ptr<FrameBuffer> frame_buffer = CreateFromRgbRawBuffer(
      image_data, image_dimension);

// Run inference
const SearchResult result = image_searcher->Search(*frame_buffer).value();

ImageSearcher কনফিগার করার জন্য আরও বিকল্পের জন্য সোর্স কোড দেখুন।

পাইথনে অনুমান চালান

ধাপ 1: TensorFlow Lite Support Pypi প্যাকেজ ইনস্টল করুন।

আপনি নিম্নলিখিত কমান্ড ব্যবহার করে TensorFlow Lite Support Pypi প্যাকেজ ইনস্টল করতে পারেন:

pip install tflite-support

ধাপ 2: মডেল ব্যবহার

from tflite_support.task import vision

# Initialization
image_searcher = vision.ImageSearcher.create_from_file(model_path)

# Run inference
image = vision.TensorImage.create_from_file(image_file)
result = image_searcher.search(image)

ImageSearcher কনফিগার করার জন্য আরও বিকল্পের জন্য সোর্স কোড দেখুন।

উদাহরণ ফলাফল

Results:
 Rank#0:
  metadata: burger
  distance: 0.13452
 Rank#1:
  metadata: car
  distance: 1.81935
 Rank#2:
  metadata: bird
  distance: 1.96617
 Rank#3:
  metadata: dog
  distance: 2.05610
 Rank#4:
  metadata: cat
  distance: 2.06347

আপনার নিজস্ব মডেল এবং পরীক্ষার ডেটা সহ ImageSearcher-এর জন্য সাধারণ CLI ডেমো টুল ব্যবহার করে দেখুন।