<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 MediaPipe Tasks est une implémentation de base d'un styliseur de visage pour Android. L'exemple applique le stylisation des visages aux images fournies au l'application.
Vous pouvez utiliser l'application comme point de départ pour votre propre application Android ou vous y référer. lorsque vous modifiez une application existante. L'exemple de code pour le stylet de visage est hébergé sur GitHub
Télécharger le code
Les instructions suivantes vous expliquent comment créer une copie locale de l'exemple à l'aide de l'outil de ligne de commande git.
Pour télécharger l'exemple de code:
- Clonez le dépôt Git à l'aide de la commande suivante:
git clone https://github.com/google-ai-edge/mediapipe-samples
- Si vous le souhaitez, vous pouvez configurer votre instance Git pour utiliser le paiement creuse.
Seuls les fichiers de l'exemple d'application de stylisation faciale:
cd mediapipe git sparse-checkout init --cone git sparse-checkout set examples/face_stylization/android
Après avoir créé une version locale de l'exemple de code, vous pouvez importer le projet dans Android Studio et exécuter l'application. Pour obtenir des instructions, consultez le Guide de configuration Android
Composants clés
Les fichiers suivants contiennent le code essentiel pour cet exemple de stylisation de visage application:
- FaceStylizationHelper.kt: Initialise le styliseur de visage, et gère la sélection du modèle et du délégué.
- MainActivity.kt: Fournit des résultats et des sorties, et gère les erreurs éventuelles.
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 Android
Dépendances
La tâche de stylisation de visage utilise la bibliothèque com.google.mediapipe:tasks-vision
. Ajouter
cette dépendance au fichier build.gradle
de votre application Android:
dependencies {
implementation 'com.google.mediapipe:tasks-vision:latest.release'
}
Modèle
La tâche MediaPipe Face Stylizer nécessite un bundle de modèles entraînés compatible avec cette tâche. Pour en savoir plus sur les modèles entraînés disponibles pour le styliseur de visage, consultez 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 le répertoire de votre projet:
<dev-project-root>/src/main/assets
Spécifiez le chemin d'accès du modèle dans le paramètre ModelAssetPath
.
val modelName = "https://storage.googleapis.com/mediapipe-models/face_stylizer/blaze_face_stylizer/float32/latest/face_stylizer_color_sketch.task"
baseOptionsBuilder.setModelAssetPath(modelName)
Créer la tâche
La tâche MediaPipe Face Stylizer utilise la fonction createFromOptions()
pour configurer le
tâche. La fonction createFromOptions()
accepte les valeurs pour la configuration
options. Pour plus d'informations sur les options de configuration, consultez la section Configuration
options.
val baseOptionsBuilder = BaseOptions.builder().setModelAssetPath(modelName)
val baseOptions = baseOptionBuilder.build()
val optionsBuilder =
FaceStylizer.FaceStylizerOptions.builder()
.setBaseOptions(baseOptionsBuilder.build())
val options = optionsBuilder.build()
FaceStylizer =
FaceStylizer.createFromOptions(context, options)
Options de configuration
Cette tâche comporte les options de configuration suivantes pour les applications Android:
Nom de l'option | Description | Plage de valeurs | Valeur par défaut |
---|---|---|---|
errorListener |
Définit un écouteur d'erreurs facultatif. | N/A |
Not set |
Préparer les données
Le styliseur de visage fonctionne avec les images fixes. La tâche gère la saisie des données le prétraitement, y compris le redimensionnement, la rotation et la normalisation des valeurs. La le code suivant montre comment transférer les données pour traitement.
import com.google.mediapipe.framework.image.BitmapImageBuilder
import com.google.mediapipe.framework.image.MPImage
// Convert the input Bitmap object to an MPImage object to run inference
val mpImage = BitmapImageBuilder(image).build()
Exécuter la tâche
Utilisez la méthode FaceStylizer.stylize()
sur l'image d'entrée pour exécuter le styliseur:
val result = FaceStylizer.stylize(mpImage)
Gérer et afficher les résultats
Le styliseur de visage renvoie un objet FaceStylizerResult
, qui contient un
Objet MPImage
avec stylisation du visage le plus proéminent dans l'entrée
l'image.
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: