Etkileşimli görüntü segmentasyonu görev kılavuzu

MediaPipe Etkileşimli Resim Segmenter görevi, bir görüntüyü seçili nesne ve diğer her şey olmak üzere iki bölgeye ayırmanızı sağlar. Görev, görüntüdeki bir konumu alır, o konumdaki bir nesnenin sınırlarını tahmin eder ve nesnenin alanını tanımlayan görüntü verilerini döndürür. Bu görevi, resimdeki bir nesneyi etkileşimli olarak seçmek için kullanabilir ve resmi, nesneyi vurgulayan renk yer paylaşımları veya çevresindeki arka planı bulanıklaştırma gibi efektler uygulamak için çıkışı kullanabilirsiniz. Bu görev, makine öğrenimi (ML) modeliyle görüntü verileri üzerinde çalışır ve bu görevi tekli görüntülerde, video dosyalarında veya kesintisiz bir video akışında kullanabilirsiniz.

Deneyin!

Başlayın

Hedef platformunuz için bu uygulama rehberlerinden birini izleyerek bu görevi kullanmaya başlayın. Bu platforma özel kılavuzlar, önerilen bir model ve önerilen yapılandırma seçenekleriyle birlikte kod örneği dahil olmak üzere, bu görevin temel bir şekilde uygulanmasında size yol gösterir:

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

  • Resim işleme: İşleme resim döndürme, yeniden boyutlandırma, normalleştirme ve renk alanı dönüştürme işlemlerini içerir.
Görev girişleri Görev çıkışları
  • Bir resimdeki nesne için önemli yer koordinatları
  • İşlenecek resim dosyası
Etkileşimli Resim Segmenter, ayarladığınız yapılandırma seçeneklerine bağlı olarak aşağıdakilerden birini veya ikisini birden içerebilen segmentlere ayrılmış görüntü verileri sunar:
  • CATEGORY_MASK: uint8 biçimli resim olarak segmentlere ayrılmış maske içeren bir liste. Her piksel değeri, ilgili alanda bulunan nesnenin bir parçası olup olmadığını gösterir.
  • CONFIDENCE_MASK: float32 biçiminde piksel değerlerine sahip segmentlere ayrılmış bir maske içeren kanalların listesi. Her piksel değeri, ilgili alanda bulunan nesnenin bir parçası olduğuna dair güven düzeyini gösterir.

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
output_category_mask True olarak ayarlanırsa çıkış, uint8 resmi olarak bir segmentasyon maskesi içerir. Her piksel değeri, pikselin ilgilenilen alanda bulunan nesnenin bir parçası olup olmadığını gösterir. {True, False} False
output_confidence_masks True olarak ayarlanırsa çıkış, kayan değer resmi olarak bir segmentasyon maskesi içerir. Burada her kayan değer, pikselin ilgili alanda bulunan nesnenin bir parçası olduğuna dair güveni temsil eder. {True, False} True
display_names_locale Varsa görev modelinin meta verilerinde sağlanan görünen adlar için kullanılacak etiketlerin dilini ayarlar. İngilizce için varsayılan değer en şeklindedir. TensorFlow Lite Metadata Writer API'yi kullanarak özel modelin meta verilerine yerelleştirilmiş etiketler ekleyebilirsiniz Yerel ayar kodu en

Modeller

Etkileşimli Resim Segmenter, birden fazla ML modeliyle kullanılabilir. 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.

Bu model, ilgilenilen bir alan için resim koordinatlarına göre segmentleri belirler. Model, özelleştirilmiş bir kod çözücüye sahip, MobileNetV3 mimarisine benzer bir Evrişimsel Sinir Ağı kullanır.

Model adı Giriş şekli Nicelleştirme türü Model Kartı Sürümler
MagicTouch 512 x 512 x 4 Yok (float32) bilgi 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
MagicTouch 130,11 ms. 67,25 ms