Guide de stylisation des visages pour Python

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

La tâche MediaPipe "Face Stylizer" (Stylet de visage MediaPipe) vous permet d'appliquer des stylisations aux visages dans une image. Vous pouvez utiliser cette tâche pour créer des avatars virtuels de différents styles.

L'exemple de code décrit dans ces instructions est disponible sur GitHub. Pour en savoir plus sur les fonctionnalités, les modèles et les options de configuration de cette tâche, consultez la section Présentation.

Exemple de code

L'exemple de code pour le styliseur de visage fournit une implémentation complète de cette dans Python à titre de référence. Ce code vous aide à tester cette tâche et à obtenir vous avez commencé à créer votre propre styliseur de visage. Vous pouvez afficher, exécuter et modifier les Exemple de code pour le stylet de visage en utilisant uniquement votre navigateur Web.

Configuration

Cette section décrit les étapes clés à suivre pour configurer votre environnement de développement projets de code spécifiquement pour utiliser Face Stylizer. Pour obtenir des informations générales sur configurer votre environnement de développement pour utiliser les tâches MediaPipe, y compris version de la plate-forme requise, consultez le guide de configuration Python.

Colis

La tâche MediaPipe Face Stylizer nécessite le package Mediapipe PyPI. Vous pouvez installer Importez ces dépendances à l'aide de la commande suivante:

$ python -m pip install mediapipe

Importations

Importez les classes suivantes pour accéder aux fonctions de la tâche "Styliseur de visage" :

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

Modèle

La tâche MediaPipe Face Stylizer nécessite un modèle entraîné et compatible avec ce tâche. Pour en savoir plus sur les modèles entraînés disponibles pour le styliseur de visage, consultez la section Modèles de la présentation des tâches.

Sélectionnez et téléchargez le modèle, puis stockez-le dans un répertoire local:

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

Utilisez le paramètre model_asset_path de l'objet BaseOptions pour spécifier le chemin d'accès que le modèle doit utiliser. Pour obtenir un exemple de code, consultez la section suivante.

Créer la tâche

La tâche MediaPipe Face Stylizer utilise la fonction create_from_options pour configurer le tâche. La fonction create_from_options accepte des valeurs pour la configuration à gérer.

Le code suivant montre comment compiler et configurer cette tâche.

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

Préparer les données

Préparez votre entrée en tant que fichier image ou tableau Numpy, puis convertissez-la en mediapipe.Image. Si votre entrée est un fichier vidéo ou une diffusion en direct webcam, vous pouvez utiliser une bibliothèque externe comme OpenCV pour charger vos frames d'entrée au format Numpy ; tableaux.

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)

Exécuter la tâche

Le styliseur de visage utilise la fonction stylize pour déclencher des inférences. Pour le visage la stylisation : il s'agit de prétraiter les données d'entrée et de styliser les visages dans l'image.

Le code suivant montre comment exécuter le traitement avec la tâche du modèle.

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

Gérer et afficher les résultats

L'outil de stylisation de visages renvoie un objet Image avec une stylisation des un visage proéminent dans l'image d'entrée.

Voici un exemple de données de sortie de cette tâche:

La sortie ci-dessus a été créée en appliquant le croquis des couleurs. à l'image d'entrée suivante: