Leitfaden zur Gesichtsstilisierung für Python

<ph type="x-smartling-placeholder">

Mit der Aufgabe „MediaPipe Face Stylizer“ können Sie Gesichterstilisierungen auf Gesichter in einem Bild anwenden. Mit dieser Aufgabe können Sie virtuelle Avatare in verschiedenen Stilen erstellen.

Das in dieser Anleitung beschriebene Codebeispiel ist auf GitHub verfügbar. Weitere Informationen zu Funktionen, Modellen und Konfigurationsoptionen Sehen Sie sich die Übersicht an.

Codebeispiel

Der Beispielcode für Face Stylizer ermöglicht eine vollständige Implementierung dieses in Python. Dieser Code hilft Ihnen, diese Aufgabe zu testen und angefangen mit der Entwicklung eines eigenen Stils für das Gesicht. Sie können den Beispielcode für Face Stylizer nur in Ihrem Webbrowser.

Einrichtung

In diesem Abschnitt werden die wichtigsten Schritte zum Einrichten Ihrer Entwicklungsumgebung und für die Nutzung von Face Stylizer. Allgemeine Informationen zu Einrichten Ihrer Entwicklungsumgebung für die Verwendung von MediaPipe-Aufgaben, einschließlich Anforderungen an die Plattformversion finden Sie im Einrichtungsleitfaden für Python.

Pakete

Für die Aufgabe „MediaPipe Face Stylizer“ ist das PyPI-Paket „mediapipe“ erforderlich. Sie können importieren Sie diese Abhängigkeiten folgendermaßen:

$ python -m pip install mediapipe

Importe

Importieren Sie die folgenden Klassen, um auf die Aufgabenfunktionen für Face Stylizer zuzugreifen:

import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import vision

Modell

Für die Aufgabe „MediaPipe Face Stylizer“ ist ein trainiertes Modell erforderlich, das mit diesem . Weitere Informationen zu verfügbaren trainierten Modellen für den Face Stylizer findest du unter in der Aufgabenübersicht im Abschnitt „Modelle“.

Wählen Sie das Modell aus, laden Sie es herunter und speichern Sie es dann in einem lokalen Verzeichnis:

model_path = '/absolute/path/to/face_stylizer.task'

Verwenden Sie den model_asset_path-Parameter des BaseOptions-Objekts, um den Pfad von das zu verwendende Modell. Ein Codebeispiel finden Sie im nächsten Abschnitt.

Aufgabe erstellen

In der Aufgabe „MediaPipe Face Stylizer“ wird mit der Funktion create_from_options der . Die Funktion create_from_options akzeptiert Werte für die Konfiguration die zu verarbeiten sind.

Der folgende Code zeigt, wie diese Aufgabe erstellt und konfiguriert wird.

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.
  # ...

Daten vorbereiten

Bereiten Sie Ihre Eingabe als Bilddatei oder NumPy-Array vor und konvertieren Sie sie in ein mediapipe.Image-Objekt. Handelt es sich bei deiner Eingabe um eine Videodatei oder einen Livestream aus einem können Sie eine externe Bibliothek wie OpenCV, um die Eingabeframes als NumPy zu laden Arrays.

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)

Aufgabe ausführen

Der Face Stylizer verwendet die Funktion stylize, um Inferenzen auszulösen. Für das Gesicht Hierbei werden Eingabedaten vorverarbeitet und Gesichter in der Bild.

Der folgende Code zeigt, wie die Verarbeitung mit der Aufgabe ausgeführt wird. Modell.

# 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)

Ergebnisse verarbeiten und anzeigen

Der Face Stylizer gibt ein Image-Objekt mit dem auffälliges Gesicht im Eingabebild.

Im Folgenden sehen Sie ein Beispiel für die Ausgabedaten dieser Aufgabe:

Die obige Ausgabe wurde durch Anwenden der Farbskizze erstellt. in das folgende Eingabebild ein: