Zadanie MediaPipe Image segmenter umożliwia podział obrazów na regiony na podstawie wstępnie zdefiniowanych kategorii reklam. Możesz użyć tej funkcji do identyfikacji określonych obiektów lub tekstury, a potem stosować efekty wizualne, takie jak rozmycie tła. To zadanie kilka modeli stworzonych specjalnie do segmentowania funkcji w danych zdjęć, w tym:
- Osoba i tło
- Tylko włosy osoby
- Włosy, twarz, skóra, ubrania i akcesoria osoby
To zadanie działa na danych obrazów za pomocą modelu systemów uczących się z jednym obrazów lub ciągłego strumienia wideo. Zwraca listę posegmentowanych regionów, reprezentujące obiekty lub obszary na obrazie, w zależności od wybranego modelu. wyboru.
Rozpocznij
Aby zacząć z niego korzystać, postępuj zgodnie z jednym z tych przewodników po implementacji platformy docelowej. Te przewodniki dotyczące konkretnych platform przeprowadzą Cię przez wdrożenie tego zadania, w tym zalecany model i przykładowy kod z zalecanymi opcjami konfiguracji:
- Android – Kod przykład – Przewodnik
- Python – przykładowy kod Przewodnik
- Sieć – Kod przykład – Przewodnik
Szczegóły zadania
W tej sekcji opisujemy możliwości, dane wejściowe, wyjściowe i konfigurację. aby wykonać tę czynność.
Funkcje
- Wprowadzanie obrazów – przetwarzanie obrazu – przetwarzanie obejmuje obrót, zmianę rozmiaru normalizację i konwersję przestrzeni kolorów.
Dane wejściowe zadania | Wyniki zadania |
---|---|
Dostępne są te typy danych:
|
Narzędzie do segmentowania obrazów generuje podział na segmenty danych obrazu, które mogą zawierać jeden lub
obie te opcje, zależnie od wybranych opcji konfiguracji:
|
Opcje konfiguracji
To zadanie zawiera te opcje konfiguracji:
Nazwa opcji | Opis | Zakres wartości | Wartość domyślna |
---|---|---|---|
running_mode |
Ustawia tryb działania zadania. Są trzy
tryby: IMAGE: tryb wprowadzania pojedynczego obrazu. WIDEO: tryb zdekodowanych klatek filmu. LIVE_STREAM: tryb transmisji danych wejściowych na przykład z kamery. W tym trybie detektor wyników musi mieć wartość wywołano, aby skonfigurować detektor i otrzymywać wyniki asynchronicznie. |
{IMAGE, VIDEO, LIVE_STREAM } |
IMAGE |
output_category_mask |
Jeśli ma wartość True , dane wyjściowe będą zawierały maskę podziału na segmenty.
jako obraz uint8, gdzie każda wartość w pikselach wskazuje zwycięską kategorię
. |
{True, False } |
False |
output_confidence_masks |
Jeśli ma wartość True , dane wyjściowe będą zawierały maskę podziału na segmenty.
jako obraz wartości zmiennoprzecinkowej, gdzie każda wartość zmiennoprzecinkowa odzwierciedla poziom ufności
punktację danej kategorii. |
{True, False } |
True |
display_names_locale |
Ustawia język etykiet, które mają być używane w przypadku nazw wyświetlanych w kolumnie
metadane modelu zadania, jeśli są dostępne. Wartość domyślna to en dla
Angielski. Do metadanych modelu niestandardowego możesz dodać zlokalizowane etykiety
za pomocą interfejsu TensorFlow Lite Metadata Writer API. |
Kod języka | en |
result_callback |
Konfiguruje detektor wyników, który ma otrzymywać wyniki segmentacji
asynchronicznie, gdy segmenter obrazów działa w trybie LIVE_STREAM .
Tej opcji można używać tylko wtedy, gdy tryb działania jest ustawiony na LIVE_STREAM |
Nie dotyczy | Nie dotyczy |
Modele
Segmentacji obrazów można używać z więcej niż jednym modelem ML. Większość z następujących modele segmentacji są tworzone i trenowane tak, aby przeprowadzały segmentację z użyciem obrazów ludzi. Model DeepLab-v3 jest jednak ogólny dzięki segmentowaniu obrazów do celów. Wybierz model, który najlepiej pasuje do Twojej aplikacji.
Model segmentacji selfie
Ten model umożliwia segmentowanie portretu osoby i może być używany do zastępowania lub modyfikowanie tła zdjęcia. Model generuje 2 kategorie: tło w indeksie 0 i osoba w indeksie 1. Ten model ma wersje z o różnych kształtach do wprowadzania danych, w tym w wersji kwadratowej i poziomej, mogą być skuteczniejsze w aplikacjach, w których dane wejściowe mają zawsze taki kształt, takich jak rozmowy wideo.
Nazwa modelu | Wpisz kształt | Typ kwantyzacji | Karta modelu | Wersje |
---|---|---|---|---|
SelfieSegmenter (kwadrat) | 256 x 256 | liczba zmiennoprzecinkowa 16 | informacje | Najnowsze |
SelfieSegmenter (orientacja pozioma) | 144 x 256 | liczba zmiennoprzecinkowa 16 | informacje | Najnowsze |
Model segmentacji włosów
Ten model wykonuje zdjęcie osoby, lokalizuje włosy na jej głowie, generuje mapę segmentacji obrazu dla włosów. Możesz użyć tego modelu do zmiana kolorystyki włosów lub stosowanie innych efektów Model na wyjściu generuje kategorie podziału na segmenty:
0 - background
1 - hair
Nazwa modelu | Wpisz kształt | Typ kwantyzacji | Karta modelu | Wersje |
---|---|---|---|---|
HairSegmenter | 512 x 512 | Brak (float32) | informacje | Najnowsze |
Wieloklasowy model segmentacji selfie
Ten model wykonuje zdjęcie osoby, lokalizuje obszary w różnych miejscach, włosy, skóra i odzież, a następnie generuje mapę segmentacji dla tych elementów. Za pomocą tego modelu możesz stosować różne efekty do ludzi na obrazach lub film. Model na wyjściu generuje te kategorie podziału na segmenty:
0 - background
1 - hair
2 - body-skin
3 - face-skin
4 - clothes
5 - others (accessories)
Nazwa modelu | Wpisz kształt | Typ kwantyzacji | Karta modelu | Wersje |
---|---|---|---|---|
SelfieMulticlass (256 x 256) | 256 x 256 | Brak (float32) | informacje | Najnowsze |
Model DeepLab-v3
Ten model identyfikuje segmenty dla wielu kategorii, w tym tła, osoba, kot, pies i roślina doniczkowa. Model wykorzystuje zieloną piramidę przestrzenną w celu zebrania informacji z dłuższego zakresu. Więcej informacji: DeepLab-v3.
Nazwa modelu | Wpisz kształt | Typ kwantyzacji | Wersje |
---|---|---|---|
DeepLab V3 | 257 x 257 | Brak (float32) | Najnowsze |
Testy porównawcze zadań
Oto testy porównawcze zadań dla całego potoku oparte na wyżej wytrenowanych modeli ML. Wynik opóźnienia to średnie opóźnienie w przypadku używania CPU / GPU na Pixelu 6.
Nazwa modelu | Opóźnienie procesora | Opóźnienie GPU |
---|---|---|
SelfieSegmenter (kwadrat) | 33,46 ms | 35,15 ms |
SelfieSegmenter (orientacja pozioma) | 34,19 ms | 33,55 ms |
HairSegmenter | 57,90 ms | 52,14 ms |
SelfieMulticlass (256 x 256) | 217,76 ms | 71,24 ms |
DeepLab V3 | 123,93 ms | 103,30 ms |