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.
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:
- 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.
- İ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:
|
Resim Yerleştirme, aşağıdakileri içeren bir yerleştirme listesi oluşturur:
|
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. |