Guida alla generazione di immagini

L'attività Generatore di immagini MediaPipe consente di generare immagini in base a un prompt di testo. Questo utilizza un modello da testo a immagine per generare immagini utilizzando tecniche di diffusione.

L'attività accetta un prompt di testo come input, insieme a un'immagine della condizione facoltativa che il modello può aumentare e utilizzare come riferimento per la generazione. Per ulteriori informazioni su la generazione condizionata da testo a immagine, consulta Plug-in di diffusione sul dispositivo per da testo a immagine condizionato di classificazione.

Generatore di immagini possono anche generare immagini in base a concetti specifici forniti al modello durante o riaddestramento. Per ulteriori informazioni, consulta la sezione Personalizzare con LoRA.

Inizia

Inizia a utilizzare questa attività seguendo una di queste guide all'implementazione per il tuo piattaforma di destinazione. Queste guide specifiche per piattaforma ti illustreranno una procedura di base di questa attività, con esempi di codice che usano un modello predefinito opzioni di configurazione consigliate:

Dettagli attività

Questa sezione descrive le funzionalità, gli input, gli output e la configurazione opzioni di questa attività.

Funzionalità

Puoi utilizzare il generatore di immagini per implementare quanto segue:

  1. Generazione da testo a immagine: genera immagini con un prompt di testo.
  2. Generazione di immagini con immagini delle condizioni: genera immagini con un testo un prompt e un'immagine di riferimento. Generatore di immagini utilizza le immagini delle condizioni in modi in modo simile a ControlNet.
  3. Generazione di immagini con le ponderazioni LoRA: genera immagini di persone specifiche, oggetti e stili con un prompt di testo utilizzando pesi del modello personalizzati.
Input per le attività Output delle attività
Il generatore di immagini accetta i seguenti input:
  • Prompt di testo
  • Origine
  • Numero di iterazioni generative
  • (Facoltativo) Immagine della condizione
Il generatore di immagini restituisce i seguenti risultati:
  • Immagine generata in base agli input.
  • (Facoltativo) Istantanee iterative dell'immagine generata.

Opzioni di configurazione

Questa attività include le seguenti opzioni di configurazione:

Nome opzione Descrizione Intervallo di valori
imageGeneratorModelDirectory La directory del modello del generatore di immagini in cui sono archiviati i pesi del modello. PATH
loraWeightsFilePath Imposta il percorso del file dei pesi LoRA. Facoltativo e applicabile solo se il modello è stato personalizzato con LoRA. PATH
errorListener Imposta un listener di errori facoltativo. N/A

L'attività supporta anche modelli di plug-in, che consentono agli utenti di includere immagini delle condizioni nell'input dell'attività, che il modello di base può aumentare e utilizzare come riferimento per la generazione. Queste immagini possono essere punti di riferimento di volti, contorni dei bordi e stime di profondità, che il modello utilizza come contesto aggiuntivo e generare immagini.

Quando aggiungi un modello plug-in al modello di base, configura anche il plug-in le opzioni di CPU e memoria disponibili. Il plug-in dei punti di riferimento Face utilizza faceConditionOptions, il bordo di Canny Il plug-in utilizza edgeConditionOptions, mentre il plug-in Depth usa depthConditionOptions.

Opzioni per i bordi Canny

Configura le seguenti opzioni in edgeConditionOptions.

Nome opzione Descrizione Intervallo di valori Valore predefinito
threshold1 Prima soglia per la procedura di isteresi. Float 100
threshold2 Seconda soglia per la procedura di isteresi. Float 200
apertureSize Dimensioni dell'apertura per l'operatore Sobel. L'intervallo tipico è compreso tra 3 e 7. Integer 3
l2Gradient Sia che venga utilizzata la norma L2 per calcolare la grandezza del gradiente dell'immagine, anziché la norma L1 predefinita. BOOLEAN False
EdgePluginModelBaseOptions L'oggetto BaseOptions che imposta il percorso per il modello di plug-in. BaseOptions oggetto N/A

Per ulteriori informazioni su come funzionano queste opzioni di configurazione, consulta Rilevatore di bordi Canny.

Opzioni punto di riferimento volto

Configura le seguenti opzioni in faceConditionOptions.

Nome opzione Descrizione Intervallo di valori Valore predefinito
minFaceDetectionConfidence Il punteggio di confidenza minimo per il rilevamento dei volti viene considerata riuscita. Float [0.0,1.0] 0.5
minFacePresenceConfidence Il punteggio di confidenza minimo della presenza di volti di riconoscimento facciale nel rilevamento dei punti di riferimento. Float [0.0,1.0] 0.5
faceModelBaseOptions L'oggetto BaseOptions che imposta il percorso per il modello che crea l'immagine della condizione. BaseOptions oggetto N/A
FacePluginModelBaseOptions L'oggetto BaseOptions che imposta il percorso per il modello di plug-in. BaseOptions oggetto N/A

Per ulteriori informazioni su come funzionano queste opzioni di configurazione, consulta Attività Punti di riferimento volti.

Opzioni di profondità

Configura le seguenti opzioni in depthConditionOptions.

Nome opzione Descrizione Intervallo di valori Valore predefinito
depthModelBaseOptions L'oggetto BaseOptions che imposta il percorso per il modello che crea l'immagine della condizione. BaseOptions oggetto N/A
depthPluginModelBaseOptions L'oggetto BaseOptions che imposta il percorso per il modello di plug-in. BaseOptions oggetto N/A

Modelli

Il generatore di immagini richiede un modello di base, ovvero un modello di IA da testo a immagine che utilizza le tecniche di diffusione per generare nuove immagini. I modelli di base elencati in questa sezione sono modelli leggeri ottimizzati per essere eseguiti smartphone.

I modelli di plug-in sono facoltativi e integrano i modelli di base, consentendo agli utenti di fornire un'immagine condizione aggiuntiva insieme a un prompt di testo, una generazione di immagini più specifica. Personalizzazione dei modelli di base mediante LoRA ponderazioni è un'opzione che insegna al modello di base su un concetto specifico, come un oggetto, una persona o uno stile e inserirli nelle immagini generate.

Modelli di base

I modelli di base sono modelli di diffusione latente da testo a immagine che generano immagini da un prompt di testo. Il generatore di immagini richiede che il modello di base corrispondono al formato del modello runwayml/stable-diffusion-v1-5 EMA-only, in base al modello:

I seguenti modelli di base sono compatibili anche con il generatore di immagini:

Dopo aver scaricato un modello di base, utilizza image_generator_converter per convertire il modello nel formato on-device appropriato per Generatore di immagini.

Installa le dipendenze necessarie:

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

Esegui l' convert.py script:

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

Modelli di plug-in

I modelli di plug-in in questa sezione sono sviluppati da Google e devono essere utilizzati in combinazione con un modello di base. I modelli di plug-in abilitano il generatore di immagini accettare un'immagine condizione insieme a un prompt di testo come input, che ti consente per controllare la struttura delle immagini generate. I modelli di plug-in offrono simili a ControlNet, con un un'architettura inedita, appositamente per di diffusione sul dispositivo.

I modelli di plug-in devono essere specificati nelle opzioni di base e potrebbero richiedere di scaricare file di modello aggiuntivi. Ogni plug-in ha requisiti unici per che può essere generata dal generatore di immagini.

Plug-in Canny Edge

Il plug-in Canny Edge accetta un'immagine condizione che delinea i bordi previsti dell'immagine generata. Il modello di base utilizza i bordi impliciti dell'immagine della condizione e genera una nuova immagine basata sul prompt di testo. La Image Builder offre funzionalità integrate per creare immagini condizione e richiede solo il download del modello plug-in.

Scarica il plug-in Canny Edge .

Il plug-in Canny Edge contiene le seguenti opzioni di configurazione:

Nome opzione Descrizione Intervallo di valori Valore predefinito
threshold1 Prima soglia per la procedura di isteresi. Float 100
threshold2 Seconda soglia per la procedura di isteresi. Float 200
apertureSize Dimensioni dell'apertura per l'operatore Sobel. L'intervallo tipico è compreso tra 3 e 7. Integer 3
l2Gradient Sia che venga utilizzata la norma L2 per calcolare la grandezza del gradiente dell'immagine, anziché la norma L1 predefinita. BOOLEAN False
EdgePluginModelBaseOptions L'oggetto BaseOptions che imposta il percorso per il modello di plug-in. BaseOptions oggetto N/A

Per ulteriori informazioni su come funzionano queste opzioni di configurazione, consulta Rilevatore di bordi Canny.

Plug-in Face Punto

Il plug-in Face Memorystore accetta l'output dal file Face di MediaPipe Punto di riferimento come immagine della condizione. Il viso Punto di riferimento fornisce una rete dettagliata di un singolo volto, che mappa la la presenza e la posizione dei tratti facciali. Il modello di base utilizza il modello mappatura implicita implicita nell'immagine della condizione e genera un nuovo volto sulla mesh.

Scarica il plug-in dei punti di riferimento dei volti .

Il plug-in dei punti di riferimento Volti richiede anche il modello Face Taper bundle per creare l'immagine della condizione. Questo il bundle di modelli è lo stesso utilizzato Attività Face Taper.

Scarica il bundle dei modelli dei punti di riferimento dei volti .

Il plug-in Punti di riferimento sui volti contiene le seguenti opzioni di configurazione:

Nome opzione Descrizione Intervallo di valori Valore predefinito
minFaceDetectionConfidence Il punteggio di confidenza minimo per il rilevamento dei volti viene considerata riuscita. Float [0.0,1.0] 0.5
minFacePresenceConfidence Il punteggio di confidenza minimo della presenza di volti di riconoscimento facciale nel rilevamento dei punti di riferimento. Float [0.0,1.0] 0.5
faceModelBaseOptions L'oggetto BaseOptions che imposta il percorso per il modello che crea l'immagine della condizione. BaseOptions oggetto N/A
FacePluginModelBaseOptions L'oggetto BaseOptions che imposta il percorso per il modello di plug-in. BaseOptions oggetto N/A

Per ulteriori informazioni su come funzionano queste opzioni di configurazione, consulta Attività Punti di riferimento volti.

Plug-in di profondità

Il plug-in Depth accetta un'immagine condizione che specifica la profondità monoculare di un oggetto. Il modello di base utilizza l'immagine della condizione per dedurre le dimensioni profondità dell'oggetto da generare e genera una nuova immagine basata sul testo richiesta.

Plug-in Profondità di download .

Il plug-in Profondità richiede anche un modello di stima della profondità per creare la condizione dell'immagine.

Modello di stima della profondità di download .

Il plug-in Depth contiene le seguenti opzioni di configurazione:

Nome opzione Descrizione Intervallo di valori Valore predefinito
depthModelBaseOptions L'oggetto BaseOptions che imposta il percorso per il modello che crea l'immagine della condizione. BaseOptions oggetto N/A
depthPluginModelBaseOptions L'oggetto BaseOptions che imposta il percorso per il modello di plug-in. BaseOptions oggetto N/A

Personalizzazione con LoRA

Personalizzare un modello con LoRA consente di attivare Generatore di immagini per generare immagini in base a concetti specifici, identificati da token univoci durante l'addestramento. Con i nuovi pesi LoRA dopo durante l'addestramento, il modello è in grado di generare immagini del nuovo concetto specificato nel prompt di testo.

La creazione di pesi LoRA richiede l'addestramento di un modello di base sulle immagini di un oggetto, persona o stile specifico, che consente al modello di riconoscere il nuovo concetto e applicarlo durante la generazione delle immagini. Se stai creando pesi LoRa per generare immagini di persone e volti specifici, utilizza questa soluzione solo volti o volti di persone che ti hanno concesso l'autorizzazione.

Di seguito è riportato l'output di un modello personalizzato addestrato sulle immagini di teiere di il set di dati DreamBooth, utilizzando il token "monadikos teapot":

Prompt: una tè monadikos accanto a uno specchio

Il modello personalizzato ha ricevuto il token nel prompt e ha inserito una teapot. ha imparato a rappresentare dai pesi LoRA e posiziona l'immagine accanto a un come richiesto nel prompt.

LoRA con Vertex AI .

Per ulteriori informazioni, consulta la personalizzazione , che utilizza Model Garden su Vertex AI per personalizzare un modello applicando pesi LoRA a un modello di base.