Görüntü segmentasyon kılavuzu

MediaPipe Resim Segmenter görevi, görüntüleri önceden tanımlanmış öğelere göre bölgelere bölmenizi sağlar. tıklayın. Belirli nesneleri veya öğeleri tanımlamak için ardından arka plan bulanıklaştırma gibi görsel efektler uygulayabilirsiniz. Bu görev kullanıcıları ve onları segmentlere ayırmak için özel olarak eğitilmiş çeşitli modeller içerir. Aşağıdakiler dahil olmak üzere resim verilerindeki özellikler:

  • Bir kişi ve arka plan
  • Yalnızca kişinin saçı
  • Kişinin saçı, yüzü, cildi, kıyafeti ve aksesuarları

Bu görev, makine öğrenimi (ML) modeliyle görüntü verileri üzerinde, resim veya sürekli video akışı olmalıdır. Segmentlere ayrılmış bölgelerin listesini oluşturur. temsil ettiğiniz modele bağlı olarak, resimdeki nesneleri veya alanları temsil eden seç.

Deneyin!

Başlayın

Aşağıdaki uygulama rehberlerinden birini izleyerek bu görevi kullanmaya başlayın: yardımcı olur. Platforma özel bu kılavuzlar, Google'ın temel özelliklerini önerilen model ve kod örneği dahil olmak üzere bu görevin uygulanması önerilen yapılandırma seçenekleriyle:

Görev ayrıntıları

Bu bölümde özellikler, girişler, çıkışlar ve yapılandırma açıklanmaktadır. bu görev için kullanılabilir.

Özellikler

  • Giriş resmi işleme: İşleme, resim döndürme, yeniden boyutlandırma, normalleştirme ve renk alanı dönüştürme gibi teknikler sunar.
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 Segmenter, segmentlere ayrılmış resim verileri üretir. Bunlar bir veya bir Belirlediğiniz yapılandırma seçeneklerine bağlı olarak aşağıdakilerden her ikisi de:
.
  • CATEGORY_MASK: segmentlere ayrılmış bir maske içeren liste uint8 biçiminde bir resim olarak kaydedin. Her piksel değeri, model tarafından desteklenen belirli bir segment kategorisinin parçası olup olmadığını gösterir.
  • CONFIDENCE_MASK: Aşağıdakileri içeren kanalların listesi: float32 biçiminde piksel değerlerine sahip segmentlere ayrılmış maske. Her piksel değeri, belirli bir kategorinin parçası olduğuna dair güven düzeyini gösterir model tarafından desteklenir.

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örev için çalışma modunu ayarlar. Üç tane var modlar:

. IMAGE: Tek resimli giriş modu.
.
. VIDEO: Bir videonun kodu çözülmüş karelerine yönelik mod.
.
. LIVE_STREAM: Giriş canlı yayını modu kameradan alınan veriler gibi. Bu modda, resultListener, sonuçları almak üzere bir dinleyici ayarlamak için çağrıldı eşzamansız olarak ayarlayabilirsiniz.
{IMAGE, VIDEO, LIVE_STREAM} IMAGE
output_category_mask True olarak ayarlanırsa çıkışta segmentasyon maskesi bulunur. her piksel değeri kazanan kategoriyi gösteren bir uint8 resmi olarak değer. {True, False} False
output_confidence_masks True olarak ayarlanırsa çıkışta segmentasyon maskesi bulunur. her kayan değerin güveni temsil ettiği bir kayan değer resmi olarak ve puan eşlemesini seçin. {True, False} True
display_names_locale görev modelinin meta verileri (varsa). Şunun için varsayılan: en İngilizce. Özel bir modelin meta verilerine yerelleştirilmiş etiketler ekleyebilirsiniz TensorFlow Lite Metadata Writer API'yi kullanarak Yerel ayar kodu en
result_callback Sonuç işleyiciyi segmentasyon sonuçlarını alacak şekilde ayarlar Resim segmentleyici LIVE_STREAM modundayken eşzamansız olarak. Yalnızca koşu modu LIVE_STREAM olarak ayarlandığında kullanılabilir Yok Yok

Modeller

Resim Segmenter, birden fazla ML modeliyle kullanılabilir. Aşağıdakilerin çoğu Segmentasyon modelleri, Veriye Dayalı İlişkilendirme'nin görüntüleri ile segmentasyon yapmak üzere oluşturulur ve eğitilir. kişiler. Ancak DeepLab-v3 modeli, genel bir segment oluşturabilirsiniz. Uygulamanıza en uygun modeli seçin.

Selfie segmentasyon modeli

Bu model, bir kişinin portresini segmentlere ayırabilir ve bir kişinin portresini değiştirmek için kullanılabilir. veya bir resmin arka planını değiştirebilirsiniz. Model, iki kategoriden oluşur: arka plan 0'da ve 1. dizinde bir kişi yer alır. Bu modelin farklı giriş şekilleri. Örneğin, kare ve yatay girdilerin her zaman bu şekilde olduğu uygulamalar için daha verimli olabilir. örneğin görüntülü görüşmeler gibi.

Model adı Giriş şekli Nicelendirme türü Model Kartı Sürümler
SelfieSegmenter (kare) 256 x 256 kayan noktalı 16 bilgi En yeniler
SelfieSegmenter (yatay) 144 x 256 kayan noktalı 16 bilgi En yeniler

Saç segmentasyon modeli

Bu model bir kişinin fotoğrafını çeker, kafasındaki saçı bulur ve saçları için bir görüntü segmentasyon haritası çıktısı. Bu modeli şunlar için kullanabilirsiniz: saç boyama veya başka saç efektleri uygulama. Model aşağıdaki çıkışı üretir segmentasyon kategorileri:

0 - background
1 - hair
Model adı Giriş şekli Nicelendirme türü Model Kartı Sürümler
HairSegmenter 512 x 512 Yok (float32) bilgi En yeniler

Çok sınıflı selfie segmentasyon modeli

Bu model bir kişinin resmini çeker ve ve bu öğeler için bir görüntü segmentasyon haritası çıkarır. Bu modeli resimlerdeki kişilere çeşitli efektler uygulamak için videosunu izleyin. Model aşağıdaki segmentasyon kategorilerini oluşturur:

0 - background
1 - hair
2 - body-skin
3 - face-skin
4 - clothes
5 - others (accessories)
Model adı Giriş şekli Nicelendirme türü Model Kartı Sürümler
Çok Sınıflı Selfie (256 x 256) 256 x 256 Yok (float32) bilgi En yeniler

DeepLab-v3 modeli

Bu model, aşağıdakiler dahil olmak üzere çeşitli kategoriler için segmentleri tanımlar: arka plan, bir bitki temin etti. Modelde atröz uzamsal piramit kullanılıyor daha uzun aralıklı bilgilerin yakalanması için kullanılabilir. Daha fazla bilgi için bkz. DeepLab-v3.

Model adı Giriş şekli Nicelendirme türü Sürümler
DeepLab-V3 257 x 257 Yok (float32) En yeniler

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

Burada, yukarıdaki önceden eğitilmiş olanlara dayalı olarak ardışık düzenin tamamı için görev karşılaştırmalarını görebilirsiniz modeller. Gecikme sonucu, CPU / GPU kullanılan Pixel 6'daki ortalama gecikmedir.

Model Adı CPU Gecikmesi GPU Gecikmesi
SelfieSegmenter (kare) 33,46 ms. 35,15 ms.
SelfieSegmenter (yatay) 34,19 ms. 33,55 ms.
HairSegmenter 57,90 ms. 52,14 ms.
Çok Sınıflı Selfie (256 x 256) 217,76 ms. 71,24 ms.
DeepLab-V3 123,93 ms. 103,30 ms.