Guia de geração de imagens

A tarefa "MediaPipe Image Generator" permite gerar imagens com base em um prompt de texto. Isso usa um modelo de texto para imagem para gerar imagens usando técnicas de difusão.

A tarefa aceita um comando de texto como entrada, junto com uma imagem de condição opcional que o modelo pode ampliar e usar como referência para geração. Para saber mais sobre geração de texto para imagem condicionado, consulte Plug-ins de difusão no dispositivo para texto para imagem condicionado geração de imagens.

Gerador de imagens também pode gerar imagens com base em conceitos específicos fornecidos ao modelo durante ou retreinamento. Para mais informações, consulte Personalizar com LoRA.

Começar

Comece a usar esta tarefa seguindo um destes guias de implementação para sua plataforma de destino. Estes guias específicos da plataforma orientam você em um processo implementação dessa tarefa, com exemplos de código que usam um modelo padrão e o opções de configuração recomendadas:

Detalhes da tarefa

Esta seção descreve as capacidades, entradas, saídas e configurações dessa tarefa.

Recursos

Use o gerador de imagens para implementar o seguinte:

  1. Geração de texto para imagem: gere imagens com um comando de texto.
  2. Geração de imagens com condições: gere imagens com um texto. e uma imagem de referência. O Image Generator usa imagens de condição de maneiras semelhante ao ControlNet.
  3. Geração de imagens com pesos LoRA: gere imagens de pessoas específicas, objetos e estilos com um comando de texto que usa pesos de modelo personalizados.
Entradas de tarefas Saídas de tarefas
O gerador de imagens aceita as seguintes entradas:
  • Comando de texto
  • Semente
  • Número de iterações generativas
  • Opcional: imagem de condição
O gerador de imagens gera os seguintes resultados:
  • Imagem gerada com base nas entradas.
  • Opcional: snapshots iterativos da imagem gerada.

Opções de configurações

Essa tarefa tem as seguintes opções de configuração:

Nome da opção Descrição Intervalo de valor
imageGeneratorModelDirectory O diretório do modelo do gerador de imagens que armazena os pesos do modelo. PATH
loraWeightsFilePath Define o caminho para o arquivo de pesos LoRA. Opcional e aplicável somente se o modelo foi personalizado com o LoRA. PATH
errorListener Define um listener de erro opcional. N/A

A tarefa também oferece suporte a modelos de plug-in, o que permite que os usuários incluam imagens de condição na entrada da tarefa, que o modelo de fundação pode ampliar e usar como referência para geração. Essas imagens de condição podem ser pontos de referência, contornos de bordas e estimativas de profundidade, que o modelo usa como contexto e informações adicionais para gerar imagens.

Ao adicionar um modelo de plug-in ao modelo de fundação, configure também o plug-in . O plug-in de ponto de referência do Face usa faceConditionOptions, a borda do Canny. o plug-in usa edgeConditionOptions, e o plug-in Depth usa depthConditionOptions

Opções do Canny Edge

Configure as opções abaixo no edgeConditionOptions.

Nome da opção Descrição Intervalo de valor Valor padrão
threshold1 Primeiro limite para o procedimento de histerese. Float 100
threshold2 Segundo limite para o procedimento de histerese. Float 200
apertureSize Tamanho da abertura para o operador Sobel. O intervalo típico é de 3 a 7. Integer 3
l2Gradient Se a norma L2 for usada para calcular a magnitude do gradiente da imagem, em vez da norma L1 padrão. BOOLEAN False
EdgePluginModelBaseOptions O objeto BaseOptions que define o caminho para o modelo do plug-in. Objeto BaseOptions N/A

Para mais informações sobre como essas opções de configuração funcionam, consulte Detector de borda do Canny.

Opções de pontos de referência do rosto

Configure as opções abaixo no faceConditionOptions.

Nome da opção Descrição Intervalo de valor Valor padrão
minFaceDetectionConfidence A pontuação de confiança mínima para que a detecção facial seja considerada bem-sucedida. Float [0.0,1.0] 0.5
minFacePresenceConfidence A pontuação de confiança mínima da presença facial na detecção de pontos de referência do rosto. Float [0.0,1.0] 0.5
faceModelBaseOptions O objeto BaseOptions que define o caminho para o modelo que cria a imagem de condição. Objeto BaseOptions N/A
FacePluginModelBaseOptions O objeto BaseOptions que define o caminho para o modelo do plug-in. Objeto BaseOptions N/A

Para mais informações sobre como essas opções de configuração funcionam, consulte a Tarefa "Face Marqueer":

Opções de profundidade

Configure as opções abaixo no depthConditionOptions.

Nome da opção Descrição Intervalo de valor Valor padrão
depthModelBaseOptions O objeto BaseOptions que define o caminho para o modelo que cria a imagem de condição. Objeto BaseOptions N/A
depthPluginModelBaseOptions O objeto BaseOptions que define o caminho para o modelo do plug-in. Objeto BaseOptions N/A

Modelos

O gerador de imagens requer um modelo de fundação, que é um modelo de IA de texto para imagem que usa técnicas de difusão para gerar novas imagens. Modelos de fundação listados nesta seção são modelos leves otimizados para execução em e smartphones.

Os modelos de plug-in são opcionais e complementam os modelos de fundação, permitindo os usuários forneçam uma imagem de condição adicional junto com um comando de texto, por gerar imagens mais específicas. Personalizar os modelos de fundação usando LoRA pesos são uma opção que ensina o modelo de fundação sobre um conceito específico, como um objeto, pessoa ou estilo, e injetá-los nas imagens geradas.

Modelos de fundação

Os modelos de fundação são modelos latentes de difusão de texto para imagem que geram imagens a partir de um comando de texto. O Image Generator exige que o modelo de fundação correspondem ao formato do modelo runwayml/stable-diffusion-v1-5 EMA-only, com base modelo a seguir:

Os seguintes modelos de fundação também são compatíveis com o gerador de imagens:

Depois de fazer o download de um modelo de fundação, use o image_generator_converter para converter o modelo no formato adequado no dispositivo Gerador de imagens.

Instale as dependências necessárias:

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

Execute o convert.py script:

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

Modelos de plug-in

Os modelos de plug-in nesta seção são desenvolvidos pelo Google e devem ser usados em com um modelo de fundação. Os modelos de plug-in permitem que o gerador de imagens aceita uma imagem de condição e um comando de texto como entrada, o que permite controlam a estrutura das imagens geradas. Os modelos de plug-in fornecem recursos semelhantes ao ControlNet, com um nova arquitetura especificamente para difusão no dispositivo.

Os modelos de plug-in precisam ser especificados nas opções de base e podem exigir que você fazer o download de outros arquivos de modelo. Cada plug-in tem requisitos exclusivos para a , que pode ser gerada pelo gerador de imagens.

Plug-in Canny Edge

O plug-in Canny Edge aceita uma imagem de condição que descreve as bordas pretendidas. da imagem gerada. O modelo de fundação usa as arestas implícitas condição de imagem e gera uma nova imagem com base no comando de texto. A O Image Generator tem recursos integrados para criar imagens de condição. requer apenas o download do modelo do plug-in.

Baixar o plug-in Canny Edge

O plug-in Canny Edge contém as seguintes opções de configuração:

Nome da opção Descrição Intervalo de valor Valor padrão
threshold1 Primeiro limite para o procedimento de histerese. Float 100
threshold2 Segundo limite para o procedimento de histerese. Float 200
apertureSize Tamanho da abertura para o operador Sobel. O intervalo típico é de 3 a 7. Integer 3
l2Gradient Se a norma L2 for usada para calcular a magnitude do gradiente da imagem, em vez da norma L1 padrão. BOOLEAN False
EdgePluginModelBaseOptions O objeto BaseOptions que define o caminho para o modelo do plug-in. Objeto BaseOptions N/A

Para mais informações sobre como essas opções de configuração funcionam, consulte Detector de borda do Canny.

Plug-in de ponto de referência de rostos

O plug-in Face Points aceita a saída do Face do MediaPipe Pontos de referência como a imagem de condição. O rosto O ponto de referência oferece uma malha detalhada de um único rosto, que mapeia o a presença e a localização de características faciais. O modelo de fundação usa o implícito pela imagem de condição e gera uma nova face na malha.

Baixar o plug-in de ponto de referência do Face

O plug-in de ponto de referência do Face também exige o modelo do Face Markdown bundle para criar a imagem de condição. Isso pacote de modelo é o mesmo pacote usado pelo Tarefa Face Marqueer.

Baixar o pacote de modelos de ponto de referência do rosto

O plug-in "Face Endpoints" contém as seguintes opções de configuração:

Nome da opção Descrição Intervalo de valor Valor padrão
minFaceDetectionConfidence A pontuação de confiança mínima para que a detecção facial seja considerada bem-sucedida. Float [0.0,1.0] 0.5
minFacePresenceConfidence A pontuação de confiança mínima da presença facial na detecção de pontos de referência do rosto. Float [0.0,1.0] 0.5
faceModelBaseOptions O objeto BaseOptions que define o caminho para o modelo que cria a imagem de condição. Objeto BaseOptions N/A
FacePluginModelBaseOptions O objeto BaseOptions que define o caminho para o modelo do plug-in. Objeto BaseOptions N/A

Para mais informações sobre como essas opções de configuração funcionam, consulte a Tarefa "Face Marqueer":

Plug-in Depth

O plug-in Depth aceita uma imagem de condição que especifica a profundidade monocular dos um objeto. O modelo de fundação usa a imagem de condição para inferir o tamanho e profundidade do objeto a ser gerado e gera uma nova imagem com base no texto prompt de comando.

Fazer o download do plug-in Depth

O plug-in Depth também exige um modelo de estimativa de profundidade para criar a condição. imagem.

Baixar o modelo de estimativa de profundidade

O plug-in Depth contém as seguintes opções de configuração:

Nome da opção Descrição Intervalo de valor Valor padrão
depthModelBaseOptions O objeto BaseOptions que define o caminho para o modelo que cria a imagem de condição. Objeto BaseOptions N/A
depthPluginModelBaseOptions O objeto BaseOptions que define o caminho para o modelo do plug-in. Objeto BaseOptions N/A

Personalização com o LoRA

A personalização de um modelo com LoRA pode ativar a Image Generator para gerar imagens com base em conceitos específicos, que são identificados por tokens exclusivos durante o treinamento. Com os novos pesos LoRA após treinamento, o modelo pode gerar imagens do novo conceito quando o token é especificado no comando de texto.

A criação de pesos LoRA requer o treinamento de um modelo de fundação em imagens de um objeto, pessoa ou estilo específico, o que permite ao modelo reconhecer o novo e aplicá-lo ao gerar imagens. Se você estiver criando pesos de LoRa para gerar imagens de pessoas e rostos específicos, use essa solução apenas no seu rostos ou rostos de pessoas que lhe deram permissão para fazer isso.

Abaixo está a saída de um modelo personalizado treinado em imagens de teapots de conjunto de dados da DreamBooth, usando o token "monadikos teapot":

Comando: um bule monadikos ao lado de um espelho

O modelo personalizado recebeu o token no comando e injetou um bule que ele aprendeu a representar os pesos LoRA e coloca a imagem ao lado de uma espelhar conforme solicitado no comando.

LoRA com a Vertex AI

Para mais informações, consulte a seção sobre personalização guia, que usa Model Garden na Vertex AI para personalizar um modelo aplicando pesos LoRA a um modelo de fundação.