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.
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:
- Android - Kod örneği - Kılavuz
- Python - Kod örneği - Kılavuz
- Web - Kod örneği - Kılavuz
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:
|
Resim Yerleştirici, aşağıdakilerden oluşan bir yerleşik öğe listesi döndürür:
|
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 |