Görsel arayan kullanıcıları entegre edin

Görsel arama, görsel veritabanında benzer görsellerin aranmasına olanak tanır. Google arama sorgusunu temsil eden yüksek boyutlu bir vektöre Sorgunun anlamsal anlamını ve ardından birden fazla özel dizin ekleyebilirsiniz. ScaNN (En Yakın Komşular için Ölçeklenebilir).

Şuna karşılık: resim sınıflandırması, Tanınabilecek öğelerin sayısını artırmak için yeniden eğitim gerekmez. sahip olacaksınız. Dizini yeniden oluşturarak yeni öğeler ekleyebilirsiniz. Bu ayrıca daha büyük (100 binden fazla öğe) görsel veritabanlarıyla çalışmayı mümkün kılar.

Özel görüntü aradığınızı dağıtmak için Task Library ImageSearcher API'yi kullanın. mobil uygulamalarınıza entegre edebilirsiniz.

ImageSearcher API'nin temel özellikleri

  • Giriş olarak tek bir resim alır, yerleştirme işlemini gerçekleştirir ve en yakın komşu araması yapar.

  • Döndürme, yeniden boyutlandırma ve renk alanı dahil resim işleme gösterir.

  • Giriş resminin ilgilenilen bölge.

Ön koşullar

ImageSearcher API'yi kullanmadan önce, özel görsel kütüphanesi. Bu, Model Maker Searcher API ve uyarlayarak eğitim.

Bunun için gerekenler:

Bu adımdan sonra bağımsız bir TFLite arama modeli (ör. mobilenet_v3_searcher.tflite) içeren orijinal resim yerleştirme ve TFLite Model Meta Verileri.

Java'da çıkarım çalıştırma

1. Adım: Gradle bağımlılığını ve diğer ayarları içe aktarın

.tflite arama modeli dosyasını Android'in öğe dizinine kopyalayın modülünü kullanabilirsiniz. Dosya adının ve TensorFlow Lite kitaplığını modülün build.gradle öğesine ekleyin dosya:

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. Adım: Modeli kullanma

// 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);

Bkz. kaynak kodu ve javadoc görüntülemek için ImageSearcher simgesini tıklayın.

C++'ta çıkarım çalıştır

// 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();

Bkz. kaynak kod daha fazla ImageSearcher yapılandırma seçeneğine gidin.

Python'da çıkarım çalıştırma

1. Adım: TensorFlow Lite Destek Pypi paketini yükleyin.

Aşağıdakileri kullanarak TensorFlow Lite Destek Pypi paketini yükleyebilirsiniz komut:

pip install tflite-support

2. Adım: Modeli kullanma

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)

Bkz. kaynak kod daha fazla ImageSearcher yapılandırma seçeneğine gidin.

Örnek sonuçlar

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

Nasıl yapıldığını ImageSearcher için KSA demo aracı kullanarak test edebilirsiniz.