Resim yerleştirme görev kılavuzu

Resimlerin sayısal yerleştirmelerini diziler olarak içeren iki örnek dondurma külahı resmi

MediaPipe Resim Yerleştiricisi görevi, bir resmin sayısal temsilini oluşturmanıza olanak tanır. Bu temsil, makine öğrenimine dayalı çeşitli resim görevlerini tamamlarken faydalıdır. Bu işlev, kosinüs benzerliği gibi matematiksel karşılaştırma teknikleri kullanılarak iki resmin benzerliğini karşılaştırmak için sıklıkla kullanılır. Bu görev, makine öğrenimi (ML) modeli ile statik veri veya sürekli akış olarak görüntü verilerinde çalışır ve görüntü verilerinin sayısal temsilini, kayan nokta veya kesirli biçimde, yerleştirme vektörleri olarak da bilinen yüksek boyutlu özellik vektörlerinin listesi olarak döndürür.

Deneyin.

Başlayın

Hedef platformunuzla ilgili bu uygulama kılavuzlarından birini uygulayarak bu görevi kullanmaya başlayın. Platforma özel bu kılavuzlar, önerilen bir model kullanarak bu görevin temel uygulamasını adım adım gösterir ve önerilen yapılandırma seçenekleriyle kod örnekleri sunar:

Görev ayrıntıları

Bu bölümde, bu görevin özellikleri, girişleri, çıkışları ve yapılandırma seçenekleri açıklanmaktadır.

Özellikler

  • Giriş resmi işleme: İşleme, resim döndürme, yeniden boyutlandırma, normalleştirme ve renk alanı dönüştürme işlemlerini içerir.
  • İlgi alanı: Resmin tamamı yerine bir bölgesinde yerleştirme yapar.
  • Embedding benzerlik hesaplaması: İki özellik vektörü arasındaki kosine benzerliği hesaplamak için yerleşik yardımcı program işlevi
  • Nicemleme: Özellik vektörleri için skaler nicelemeyi destekler.
Görev girişleri Görev çıkışları
Giriş aşağıdaki veri türlerinden biri olabilir:
  • Sabit resimler
  • Kodu çözülmüş video kareleri
  • Canlı video feed'i
Resim Yerleştirici, aşağıdakilerden oluşan bir yerleşik öğe listesi döndürür:
  • Yerleştirme: Özellik vektörünün kendisi, kayan noktalı biçimde veya skaler olarak kesikli.
  • Baş dizini: Bu yerleştirmeyi oluşturan başlığın dizini.
  • Başlık adı (isteğe bağlı): Bu yerleştirmeyi oluşturan başlığın adı.

Yapılandırma seçenekleri

Bu görev için aşağıdaki yapılandırma seçenekleri vardır:

Seçenek Adı Açıklama Değer Aralığı Varsayılan değer
running_mode Görevin çalışma modunu ayarlar. Üç mod vardır:

RESİM: Tek resim girişleri için kullanılan mod.

VIDEO: Bir videonun kod çözülmüş karelerinin modu.

LIVE_STREAM: Kameradan alınan giriş verilerinin canlı yayını için kullanılan mod. Bu modda, sonuçları asenkron olarak alacak bir dinleyici oluşturmak için resultListener çağrılmalıdır.
{IMAGE, VIDEO, LIVE_STREAM} IMAGE
l2_normalize Döndürülen özellik vektörünün L2 normuyla normalleştirilip normalleştirilmeyeceği. Bu seçeneği yalnızca modelde halihazırda doğal bir L2_NORMALIZATION TFLite Op içermiyorsa kullanın. Çoğu durumda bu durum geçerlidir ve L2 normalleştirmesi, bu seçeneğe gerek kalmadan TFLite çıkarımıyla elde edilir. Boolean False
quantize Döndürülen yerleştirmenin skaler kesme işlemiyle baytlara bölünüp bölünmeyeceği. Yerleşimlerin birim normal olduğu varsayılır ve bu nedenle tüm boyutların [-1,0; 1,0] aralığında bir değere sahip olduğu garanti edilir. Aksi takdirde l2_normalize seçeneğini kullanın. Boolean False
result_callback Sonuç dinleyicisini, resim yerleştirici canlı yayın modundayken yerleştirme sonuçlarını eşzamansız olarak alacak şekilde ayarlar. Yalnızca çalışma modu LIVE_STREAM olarak ayarlandığında kullanılabilir. Yok Ayarlanmadı

Modeller

Resim Yerleştirici, bir resim yerleştirme modelinin indirilip proje dizininizde depolanmasını gerektirir. Bu görevle geliştirmeye başladığınızda hedef platformunuz için varsayılan, önerilen modelle başlayın. Kullanılabilir diğer modeller genellikle performans, doğruluk, çözünürlük ve kaynak gereksinimleri arasında denge kurar ve bazı durumlarda ek özellikler içerir.

MobileNetV3 modeli

Bu model ailesi, MobileNet V3 mimarisini kullanır ve ImageNet verileri kullanılarak eğitilmiştir. Bu model, doğruluk-gecikme dengesini ayarlamak için konvolüsyon katmanlarındaki derinlik (özellik sayısı) için 0, 75 çarpanı kullanır. Ayrıca MobileNet V3, ağı düşük veya yüksek kaynak kullanım alanlarına uyarlamak için küçük ve büyük olmak üzere iki farklı boyutta gelir.

Model adı Giriş şekli Kesirli sayılaştırma türü Sürümler
MobileNet-V3 (küçük) 224 x 224 Yok (float32) En son
MobileNet-V3 (büyük) 224 x 224 Yok (float32) En son

Görev karşılaştırmaları

Yukarıdaki önceden eğitilmiş modellere dayalı olarak tüm ardışık düzenin görev karşılaştırmalarını aşağıda bulabilirsiniz. Gecikme sonucu, CPU / GPU kullanan Pixel 6'taki ortalama gecikmedir.

Model Adı CPU Gecikmesi GPU Gecikmesi
MobileNet-V3 (küçük) 3,94 ms 7,83 ms
MobileNet-V3 (büyük) 9,75 ms 9,08 ms