Guide de génération d'images

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

La tâche de génération d'images MediaPipe vous permet de générer des images à partir d'une requête textuelle. Ce utilise un modèle texte-vers-image pour générer des images à l'aide de techniques de diffusion.

La tâche accepte une requête textuelle en entrée, ainsi qu'une image de condition facultative que le modèle peut enrichir et utiliser comme référence pour la génération. Pour en savoir plus sur génération de texte en image conditionnée, consultez la section Plug-ins de diffusion sur l'appareil pour texte-image intégré génération.

Générateur d'images peut également générer des images à partir de concepts spécifiques fournis au modèle d'entraînement ou de réentraînement. Pour en savoir plus, consultez la section Personnaliser avec LoRA

Premiers pas

Commencez à effectuer cette tâche en suivant l'un de ces guides d'implémentation pour votre la plate-forme cible. Ces guides spécifiques à chaque plate-forme vous guident à travers un mise en œuvre de cette tâche, avec des exemples de code utilisant un modèle par défaut et options de configuration recommandées:

Détails de la tâche

Cette section décrit les fonctionnalités, les entrées, les sorties et la configuration de cette tâche.

Fonctionnalités

Vous pouvez utiliser le générateur d'images pour implémenter les éléments suivants:

  1. Génération du texte à l'image : générez des images avec une requête textuelle.
  2. Génération d'images avec des images de conditions : générez des images avec du texte. et une image de référence. Le générateur d'images utilise les images de condition de différentes manières semblable à ControlNet.
  3. Génération d'images avec pondérations LoRA : générez des images de personnes spécifiques, des objets et des styles avec une requête textuelle en utilisant des épaisseurs de modèle personnalisées.
Entrées des tâches Sorties des tâches
Le générateur d'images accepte les entrées suivantes:
<ph type="x-smartling-placeholder">
    </ph>
  • Requête textuelle
  • Graines
  • Nombre d'itérations génératives
  • Facultatif: image de condition
Le générateur d'images génère les résultats suivants:
<ph type="x-smartling-placeholder">
    </ph>
  • Image générée en fonction des entrées.
  • Facultatif: Instantanés itératifs de l'image générée.

Options de configuration

Cette tâche comporte les options de configuration suivantes:

Nom de l'option Description Plage de valeurs
imageGeneratorModelDirectory Répertoire du modèle du générateur d'images qui stocke les pondérations du modèle. PATH
loraWeightsFilePath Définit le chemin d'accès au fichier de pondérations LoRA. Facultatif et applicable uniquement si le modèle a été personnalisé avec LoRA. PATH
errorListener Définit un écouteur d'erreurs facultatif. N/A

La tâche est également compatible avec les modèles de plug-in, qui permettent aux utilisateurs d'inclure des images de conditions dans l'entrée de la tâche, que le modèle de fondation peut enrichir et utiliser comme référence. depuis plusieurs générations. Il peut s'agir de repères de visages, de contours de la profondeur estimée, que le modèle utilise comme contexte et informations supplémentaires pour générer des images.

Lorsque vous ajoutez un modèle de plug-in au modèle de fondation, configurez également le plug-in options. Le plug-in de point de repère "Face" utilise faceConditionOptions, le bord Canny et le plug-in Depth utilise edgeConditionOptions, tandis que le plug-in Depth depthConditionOptions

Options de Canny Edge

Configurez les options suivantes dans edgeConditionOptions.

Nom de l'option Description Plage de valeurs Valeur par défaut
threshold1 Premier seuil pour la procédure d'hystérèse. Float 100
threshold2 Deuxième seuil pour la procédure d'hystérèse. Float 200
apertureSize Taille d'ouverture pour l'opérateur Sobel. La plage standard est comprise entre 3 et 7. Integer 3
l2Gradient Si la norme L2 est utilisée pour calculer la magnitude du gradient de l'image, au lieu de la norme L1 par défaut. BOOLEAN False
EdgePluginModelBaseOptions L'objet BaseOptions qui définit le chemin d'accès pour le modèle de plug-in. Objet BaseOptions N/A

Pour en savoir plus sur le fonctionnement de ces options de configuration, consultez Détecteur de bord Canny :

Options des points de repère du visage

Configurez les options suivantes dans faceConditionOptions.

Nom de l'option Description Plage de valeurs Valeur par défaut
minFaceDetectionConfidence Score de confiance minimal pour la détection de visages considéré comme réussi. Float [0.0,1.0] 0.5
minFacePresenceConfidence Score de confiance minimal de présence du visage dans la détection de points de repère faciales. Float [0.0,1.0] 0.5
faceModelBaseOptions L'objet BaseOptions qui définit le chemin d'accès pour le modèle qui crée l'image de condition. Objet BaseOptions N/A
FacePluginModelBaseOptions L'objet BaseOptions qui définit le chemin d'accès pour le modèle de plug-in. Objet BaseOptions N/A

Pour en savoir plus sur le fonctionnement de ces options de configuration, consultez la Tâche de création de repère de visage.

Options de profondeur

Configurez les options suivantes dans depthConditionOptions.

Nom de l'option Description Plage de valeurs Valeur par défaut
depthModelBaseOptions L'objet BaseOptions qui définit le chemin d'accès pour le modèle qui crée l'image de condition. Objet BaseOptions N/A
depthPluginModelBaseOptions L'objet BaseOptions qui définit le chemin d'accès pour le modèle de plug-in. Objet BaseOptions N/A

Modèles

Le générateur d'images nécessite un modèle de fondation, c'est-à-dire un modèle d'IA de type "texte à image" qui utilise des techniques de diffusion pour générer de nouvelles images. Les modèles de fondation listés dans cette section sont des modèles légers, optimisés pour s'exécuter sur des réseaux les smartphones.

Les modèles de plug-ins sont facultatifs. Ils complètent les modèles de base, ce qui permet aux utilisateurs de fournir une image de condition supplémentaire avec une requête textuelle, pour une génération d'images plus spécifique. Personnaliser les modèles de fondation à l'aide de LoRA les pondérations est une option qui enseigne au modèle de fondation un concept spécifique, comme un objet, une personne ou un style, et les injecter dans les images générées.

Modèles de fondation

Les modèles de fondation sont des modèles de diffusion texte-image latent qui génèrent à partir d'une requête textuelle. Le générateur d'images requiert que le modèle de fondation correspondre au format de modèle runwayml/stable-diffusion-v1-5 EMA-only, en fonction le modèle suivant:

Les modèles de fondation suivants sont également compatibles avec le générateur d'images:

Après avoir téléchargé un modèle de fondation, utilisez la image_generator_converter pour convertir le modèle au format approprié sur l'appareil Générateur d'images.

Installez les dépendances nécessaires:

$ pip install torch typing_extensions numpy Pillow requests pytorch_lightning absl-py

Exécutez la convert.py script:

$ python3 convert.py --ckpt_path <ckpt_path> --output_path <output_path>

Modèles de plug-in

Les modèles de plug-ins présentés dans cette section sont développés par Google et doivent être utilisés avec un modèle de fondation. Les modèles de plug-in permettent au générateur d'images accepter une image de condition avec une requête textuelle en entrée, ce qui vous permet pour contrôler la structure des images générées. Les modèles de plug-ins fournissent semblables à celles de ControlNet, nouvelle architecture spécifiquement pour diffusion sur l'appareil.

Les modèles de plug-in doivent être spécifiés dans les options de base et vous devrez peut-être télécharger des fichiers de modèle supplémentaires. Chaque plug-in a des exigences uniques pour image de condition, qui peut être générée par le générateur d'images.

Plug-in Canny Edge

Le plug-in Canny Edge accepte une image de condition qui délimite les bords souhaités de l'image générée. Le modèle de fondation utilise les arêtes implicites et génère une nouvelle image basée sur la requête textuelle. La Le générateur d'images intègre des fonctionnalités permettant de créer des images de conditions. il suffit de télécharger le modèle du plug-in.

<ph type="x-smartling-placeholder"></ph> Télécharger le plug-in Canny Edge

Le plug-in Canny Edge contient les options de configuration suivantes:

Nom de l'option Description Plage de valeurs Valeur par défaut
threshold1 Premier seuil pour la procédure d'hystérèse. Float 100
threshold2 Deuxième seuil pour la procédure d'hystérèse. Float 200
apertureSize Taille d'ouverture pour l'opérateur Sobel. La plage standard est comprise entre 3 et 7. Integer 3
l2Gradient Si la norme L2 est utilisée pour calculer la magnitude du gradient de l'image, au lieu de la norme L1 par défaut. BOOLEAN False
EdgePluginModelBaseOptions L'objet BaseOptions qui définit le chemin d'accès pour le modèle de plug-in. Objet BaseOptions N/A

Pour en savoir plus sur le fonctionnement de ces options de configuration, consultez Détecteur de bord Canny :

Plug-in Face Repère

Le plug-in Face Marker accepte la sortie de la bibliothèque MediaPipe Face Repère en tant qu'image de condition Le visage Repère fournit une grille de visages détaillée d'un seul visage, qui cartographie le la présence et la localisation des traits du visage. Le modèle de fondation utilise le mappage impliqué par l'image de condition et génère un nouveau visage sur le maillage.

<ph type="x-smartling-placeholder"></ph> Télécharger le plug-in de reconnaissance faciale

Le plug-in Face Repère nécessite également le modèle Face Repèreer. bundle pour créer l'image de condition. Ce "model_bundle" est le même bundle que celui utilisé par Tâche Face Repèreer.

<ph type="x-smartling-placeholder"></ph> Télécharger le lot de modèles de visages familiers

Le plug-in Face Repère contient les options de configuration suivantes:

Nom de l'option Description Plage de valeurs Valeur par défaut
minFaceDetectionConfidence Score de confiance minimal pour la détection de visages considéré comme réussi. Float [0.0,1.0] 0.5
minFacePresenceConfidence Score de confiance minimal de présence du visage dans la détection de points de repère faciales. Float [0.0,1.0] 0.5
faceModelBaseOptions L'objet BaseOptions qui définit le chemin d'accès pour le modèle qui crée l'image de condition. Objet BaseOptions N/A
FacePluginModelBaseOptions L'objet BaseOptions qui définit le chemin d'accès pour le modèle de plug-in. Objet BaseOptions N/A

Pour en savoir plus sur le fonctionnement de ces options de configuration, consultez la Tâche de création de repère de visage.

Plug-in de profondeur

Le plug-in Depth accepte une image de condition qui spécifie la profondeur monoculaire de un objet. Le modèle de fondation utilise l'image de condition pour déduire la taille et de l'objet à générer, puis génère une nouvelle image à partir du texte requête.

<ph type="x-smartling-placeholder"></ph> Plug-in Download Depth

Le plug-in Depth nécessite également un modèle d'estimation de profondeur pour créer la condition l'image.

<ph type="x-smartling-placeholder"></ph> Modèle d'estimation de la profondeur de téléchargement

Le plug-in Depth contient les options de configuration suivantes:

Nom de l'option Description Plage de valeurs Valeur par défaut
depthModelBaseOptions L'objet BaseOptions qui définit le chemin d'accès pour le modèle qui crée l'image de condition. Objet BaseOptions N/A
depthPluginModelBaseOptions L'objet BaseOptions qui définit le chemin d'accès pour le modèle de plug-in. Objet BaseOptions N/A

Personnalisation avec LoRA

La personnalisation d'un modèle avec LoRA peut activer le générateur d'images pour générer des images à partir de concepts spécifiques, identifiés par des jetons uniques pendant l'entraînement. Avec les nouvelles pondérations LoRA après lors de l'entraînement, le modèle est capable de générer des images du nouveau concept lorsque le jeton est spécifiée dans la requête textuelle.

Pour créer des pondérations LoRA, vous devez entraîner un modèle de fondation sur des images d'une un objet, une personne ou un style spécifique, ce qui permet au modèle de reconnaître et l'appliquer lors de la génération d'images. Si vous créez des pondérations LoRa générer des images de personnes et de visages spécifiques, n'utilisez cette solution que sur votre ou visages des personnes qui vous ont autorisé à le faire.

Vous trouverez ci-dessous le résultat d'un modèle personnalisé entraîné à partir d'images de théières de l'ensemble de données DreamBooth, en utilisant le jeton "théière monadikos" :

Requête: une théière Monadikos à côté d'un miroir

Le modèle personnalisé a reçu le jeton dans l'invite et a injecté une théière qui il a appris à représenter des pondérations LoRA et la place l'image à côté d'un comme indiqué dans l'invite.

<ph type="x-smartling-placeholder"></ph> LoRA avec Vertex AI

Pour plus d'informations, consultez la section Personnalisation guide, qui utilise Model Garden sur Vertex AI pour personnaliser un modèle en appliquant des pondérations LoRA à un modèle de fondation.