Resim yerleştirme görev kılavuzu

MediaPipe Görüntü Yerleştirme görevi, bir görüntünün sayısal bir temsilini oluşturmanızı sağlar. Bu da makine öğrenimi tabanlı çeşitli görüntü görevlerini gerçekleştirmede faydalıdır. Bu işlev, iki görselin benzerliğini, Kosinüs Benzerliği gibi matematiksel karşılaştırma teknikleri kullanarak karşılaştırmak için sıkça kullanılır. Bu görev, statik veri veya sürekli akış olarak bir makine öğrenimi (ML) modeliyle görüntü verileri üzerinde çalışır ve görüntü verilerinin, kayan nokta veya nicelleştirilmiş biçimde vektör yerleştirme olarak da bilinen yüksek boyutlu özellik vektörlerinin listesi olarak sayısal gösterimini üretir.

Deneyin!

Başlayın

Hedef platformunuz için bu uygulama rehberlerinden birini izleyerek bu görevi kullanmaya başlayın. Platforma özgü bu kılavuzlar, önerilen bir model kullanarak bu görevin temel uygulamasında size yol gösterir ve önerilen yapılandırma seçenekleriyle kod örnekleri sağlar:

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.
  • İlgilenilen bölge: Resmin tamamı yerine belirli bir bölgesine yerleştirme işlemi gerçekleştirir.
  • Benzerlik hesaplaması: İki özellik vektörü arasındaki kosinüs benzerliğini hesaplamak için kullanılan yerleşik yardımcı program işlevi
  • Niceleme: Özellik vektörleri için skalar nicelemeyi destekler.
Görev girişleri Görev çıkışları
Giriş, aşağıdaki veri türlerinden biri olabilir:
  • Hareketsiz resimler
  • Kodu çözülmüş video kareleri
  • Canlı video feed'i
Resim Yerleştirme, aşağıdakileri içeren bir yerleştirme listesi oluşturur:
  • Yerleştirme: Özellik vektörün kendisi, kayan nokta biçiminde veya skaler miktarlı.
  • Başlık dizini: Bu yerleştirmeyi oluşturan kafanın dizini.
  • Başlık adı (isteğe bağlı): Bu gömmeyi oluşturan başlığın adı.

Yapılandırma seçenekleri

Bu görev aşağıdaki yapılandırma seçeneklerine sahiptir:

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 resimli girişler için mod.

VİDEO: Bir videonun kodu çözülmüş karelerine yönelik mod.

LIVE_STREAM: Kamera gibi giriş verilerini içeren bir canlı yayın modu. Bu modda, sonuçları eşzamansız olarak almak üzere bir işleyici ayarlamak 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 zaten yerel bir L2_NORMALIZATION TFLite Op bulunmuyorsa kullanın. Çoğu durumda bu zaten mevcuttur ve L2 normalleştirmesi, bu seçeneğe gerek olmadan TFLite çıkarımıyla yapılır. Boolean False
quantize Döndürülen yerleştirmenin skalar niceleme kullanılarak baytlara dönüştürülüp ölçülmeyeceği. Yerleştirmelerin açıkça birim norm olduğu varsayılır. Bu nedenle her boyut için [-1,0, 1,0] değerinde bir değer olması garanti edilir. Bu mümkün değilse l2_normalize seçeneğini kullanın. Boolean False
result_callback Sonuç işleyiciyi, Resim Yerleştirme canlı yayın modundayken yerleştirme sonuçlarını eşzamansız olarak alacak şekilde ayarlar. Yalnızca çalıştırma modu LIVE_STREAM olarak ayarlandığında kullanılabilir Yok Belirlenmedi

Modeller

Görüntü Yerleştirme modeli, bir resim yerleştirme modelinin indirilmesini ve 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. Mevcut 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 bir MobileNet V3 mimarisi kullanır ve ImageNet verileri kullanılarak eğitilmiştir. Bu model, doğruluk gecikmesi değerini ayarlamak için evrişimsel katmanlardaki derinlik (özellik sayısı) için 0, 75 çarpanı kullanır. Ayrıca, MobileNet V3'ün ağı düşük veya yüksek kaynak kullanım alanlarına uygun hale getirmek için küçük ve büyük olmak üzere iki farklı boyutu mevcuttur.

Model adı Giriş şekli Nicelleştirme 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ıda önceden eğitilmiş modellere dayalı olarak ardışık düzenin tamamı için görev karşılaştırmaları aşağıda verilmiştir. Gecikme sonucu, Pixel 6'da CPU / GPU kullanılarak elde edilen 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.