ইমেজ সার্চ ইমেজের ডাটাবেসে অনুরূপ ইমেজ খোঁজার অনুমতি দেয়। এটি অনুসন্ধান ক্যোয়ারীকে একটি উচ্চ-মাত্রিক ভেক্টরে এমবেড করে কাজ করে যা কোয়েরির শব্দার্থিক অর্থ উপস্থাপন করে, তারপরে ScaNN (স্কেলযোগ্য নিকটতম প্রতিবেশী) ব্যবহার করে পূর্বনির্ধারিত, কাস্টম সূচকে মিল অনুসন্ধান করে।
চিত্র শ্রেণীবিভাগের বিপরীতে, স্বীকৃত আইটেমগুলির সংখ্যা বাড়ানোর জন্য সম্পূর্ণ মডেলটিকে পুনরায় প্রশিক্ষণের প্রয়োজন হয় না। নতুন আইটেম যোগ করা যেতে পারে সহজভাবে সূচক পুনর্নির্মাণ. এটি ইমেজের বড় (100k+ আইটেম) ডাটাবেসের সাথে কাজ করতে সক্ষম করে।
আপনার মোবাইল অ্যাপ্লিকেশনগুলিতে আপনার কাস্টম চিত্র অনুসন্ধানকারী স্থাপন করতে টাস্ক লাইব্রেরি ImageSearcher
API ব্যবহার করুন৷
ImageSearcher API-এর মূল বৈশিষ্ট্য
ইনপুট হিসাবে একটি একক চিত্র নেয়, এম্বেডিং নিষ্কাশন এবং সূচীতে নিকটতম-প্রতিবেশী অনুসন্ধান সম্পাদন করে।
ইনপুট ইমেজ প্রক্রিয়াকরণ, ঘূর্ণন, আকার পরিবর্তন, এবং রঙ স্থান রূপান্তর সহ।
ইনপুট চিত্রের আগ্রহের অঞ্চল।
পূর্বশর্ত
ImageSearcher
API ব্যবহার করার আগে, অনুসন্ধান করার জন্য চিত্রগুলির কাস্টম কর্পাসের উপর ভিত্তি করে একটি সূচক তৈরি করা দরকার। এটি মডেল মেকার অনুসন্ধানকারী API ব্যবহার করে টিউটোরিয়াল অনুসরণ এবং অভিযোজিত করে অর্জন করা যেতে পারে।
এই জন্য আপনার প্রয়োজন হবে:
- একটি TFLite ইমেজ এমবেডার মডেল যেমন মোবাইলনেট v3 । Kaggle মডেলগুলিতে 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
implementation 'org.tensorflow:tensorflow-lite-task-vision:0.4.4'
// Import the GPU delegate plugin Library for GPU inference
implementation 'org.tensorflow:tensorflow-lite-gpu-delegate-plugin:0.4.4'
}
ধাপ 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 দেখুন।
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 সাপোর্ট 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 ডেমো টুল ব্যবহার করে দেখুন।