Zadanie MediaPipe Stylizer pozwala stosować style twarzy do twarzy na zdjęciu. Możesz używać tego zadania do tworzenia wirtualnych awatarów w różnych stylach.
Przykładowy kod opisany w tych instrukcjach jest dostępny na GitHub. Więcej informacji o funkcjach, modelach i opcjach konfiguracji zapoznaj się z Przeglądem.
Przykładowy kod
Przykładowy kod Stylizatora twarzy zapewnia pełną implementację tego w Pythonie. Ten kod pomoże Ci przetestować to zadanie i uzyskać zaczęło się od zbudowania własnego stylizatora twarzy. Możesz wyświetlać, uruchamiać i edytować Przykładowy kod stylizatora twarzy korzystając tylko z przeglądarki.
Konfiguracja
W tej sekcji opisujemy najważniejsze czynności związane z konfigurowaniem środowiska programistycznego oraz projekty kodu, w których będą używane Stylizatory twarzy. Ogólne informacje na temat: skonfigurować środowisko programistyczne do korzystania z zadań MediaPipe, w tym wymagań wersji platformy znajdziesz w przewodniku konfiguracji dla Pythona.
Pakiety
Zadanie MediaPipe Face Stylizer wymaga pakietu PyPI mediapipe. Możesz zainstalować zaimportuj te zależności z tym kodem:
$ python -m pip install mediapipe
Importy
Aby uzyskać dostęp do funkcji zadań Stylizatora twarzy, zaimportuj te klasy:
import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import vision
Model
Zadanie MediaPipe Face Stylizer wymaga wytrenowanego modelu zgodnego z tym zadanie. Więcej informacji o dostępnych wytrenowanych modelach dotyczących stylizacji twarzy znajdziesz tutaj zapoznaj się z omówieniem zadania sekcją Modele.
Wybierz i pobierz model, a następnie zapisz go w katalogu lokalnym:
model_path = '/absolute/path/to/face_stylizer.task'
Użyj parametru model_asset_path
obiektu BaseOptions
, aby określić ścieżkę
wybierz model. Przykładowy kod znajdziesz w następnej sekcji.
Tworzenie zadania
Zadanie MediaPipe Face Stylizer używa funkcji create_from_options
do skonfigurowania
zadanie. Funkcja create_from_options
akceptuje wartości konfiguracji
różnych opcji.
Poniższy kod pokazuje, jak skompilować i skonfigurować to zadanie.
import mediapipe as mp
BaseOptions = mp.tasks.BaseOptions
Facestylizer = mp.tasks.vision.face_stylizer
FacestylizerOptions = mp.tasks.vision.FaceStylizerOptions
# Create a face stylizer instance with the image mode:
options = FacestylizerOptions(
base_options=BaseOptions(model_asset_path=model_path),
with Facestylizer.create_from_options(options) as stylizer:
# The stylizer is initialized. Use it here.
# ...
Przygotuj dane
Przygotuj dane wejściowe jako plik graficzny lub tablicę numpy, a następnie przekonwertuj je na
mediapipe.Image
obiekt. Jeśli dane wejściowe to plik wideo lub transmisja na żywo z
kamery internetowej, możesz użyć zewnętrznej biblioteki, takiej jak
OpenCV, który wczytuje klatki wejściowe w formacie numpy
tablice.
import mediapipe as mp
# Load the input image from an image file.
mp_image = mp.Image.create_from_file('/path/to/image')
# Load the input image from a numpy array.
mp_image = mp.Image(image_format=mp.ImageFormat.SRGB, data=numpy_image)
Uruchamianie zadania
Styl twarzy używa funkcji stylize
do aktywowania wnioskowania. Do twarzy
stylizacji, obejmuje wstępne przetwarzanie danych wejściowych i dobieranie stylizacji twarzy
.
Ten kod pokazuje, jak wykonać przetwarzanie za pomocą zadania model atrybucji.
# Perform face stylization on the provided single image.
# The face stylizer must be created with the image mode.
face_stylizer_result = stylizer.stylize(mp_image)
Obsługa i wyświetlanie wyników
Stylizator twarzy zwraca obiekt Image
ze stylizacją o największej
wyraźną twarz na obrazie wejściowym.
Poniżej znajdziesz przykładowe dane wyjściowe tego zadania:
Powyższy wynik został utworzony przez zastosowanie szkicu kolorów. do następującego obrazu wejściowego: