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ç.
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:
|
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:
.
|
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. |