Guía de generación de imágenes

La tarea MediaPipe Image Generator te permite generar imágenes basadas en una instrucción de texto. Esta tarea usa un modelo de texto a imagen para generar imágenes con técnicas de difusión.

La tarea acepta una instrucción de texto como entrada, junto con una imagen de condición opcional que el modelo puede aumentar y usar como referencia para la generación. Para obtener más información sobre generación de texto a imagen condicionada, consulta Complementos de difusión en el dispositivo para texto a imagen condicionado generación.

Generador de imágenes también puede generar imágenes basadas en conceptos específicos proporcionados al modelo durante o reentrenamiento. Para obtener más información, consulta personalizar con LoRA

Comenzar

Comienza a usar esta tarea siguiendo una de estas guías de implementación para tu plataforma de destino. Estas guías específicas para plataformas te guiarán a través de un implementación de la tarea, con ejemplos de código que usan un modelo predeterminado y el opciones de configuración recomendadas:

Detalles de la tarea

En esta sección, se describen las capacidades, las entradas, las salidas y la configuración opciones de esta tarea.

Funciones

Puedes usar el generador de imágenes para implementar lo siguiente:

  1. Generación de texto a imagen: Genera imágenes con una instrucción de texto.
  2. Generación de imágenes con imágenes de condición: Genera imágenes con un texto. y una imagen de referencia. El generador de imágenes usa imágenes de condición de formas similar a ControlNet.
  3. Generación de imágenes con ponderaciones de LoRA: Generar imágenes de personas específicas. objetos y estilos con una instrucción de texto usando pesos de modelos personalizados.
Entradas de tareas Resultados de la tarea
El generador de imágenes acepta las siguientes entradas:
  • Instrucción de texto
  • Semillas
  • Cantidad de iteraciones generativas
  • Imagen de condición (opcional)
El generador de imágenes muestra los siguientes resultados:
  • Imagen generada basada en las entradas.
  • Instantáneas iterativas de la imagen generada (opcional).

Opciones de configuración

Esta tarea tiene las siguientes opciones de configuración:

Nombre de la opción Descripción Rango de valores
imageGeneratorModelDirectory El directorio del modelo del generador de imágenes en el que se almacenan los pesos del modelo. PATH
loraWeightsFilePath Configura la ruta de acceso al archivo de ponderaciones de LoRA. Opcional y solo aplicable si se personalizó el modelo con LoRA. PATH
errorListener Configura un objeto de escucha de errores opcional. N/A

La tarea también admite modelos de complementos, que permiten a los usuarios incluir imágenes de condiciones. en la entrada de la tarea, que el modelo de base puede ampliar y usar como referencia para generarla. Estas imágenes de afecciones pueden ser puntos de referencia de rostros, contornos de bordes y estimaciones de profundidad, que el modelo usa como información y contexto adicionales para generar imágenes.

Cuando agregues un modelo de complemento al modelo de base, también debes configurar el complemento opciones de estado. El complemento del punto de referencia Face usa faceConditionOptions, la interfaz de Canny. El complemento usa edgeConditionOptions, y el de Depth usa depthConditionOptions

Opciones perimetrales inteligentes

Configura las siguientes opciones en edgeConditionOptions.

Nombre de la opción Descripción Rango de valores Valor predeterminado
threshold1 Primer umbral para el procedimiento de histéresis. Float 100
threshold2 Es el segundo umbral para el procedimiento de histéresis. Float 200
apertureSize Tamaño de apertura del operador Sobel. El rango habitual es de 3 a 7. Integer 3
l2Gradient Si se usa la norma L2 para calcular la magnitud del gradiente de la imagen, en lugar de la norma L1 predeterminada. BOOLEAN False
EdgePluginModelBaseOptions El objeto BaseOptions que establece la ruta para el modelo del complemento. Objeto BaseOptions N/A

Para obtener más información sobre cómo funcionan estas opciones de configuración, consulta Detector de bordes Canny.

Opciones de puntos de referencia faciales

Configura las siguientes opciones en faceConditionOptions.

Nombre de la opción Descripción Rango de valores Valor predeterminado
minFaceDetectionConfidence La puntuación de confianza mínima para la detección de rostro correctamente. Float [0.0,1.0] 0.5
minFacePresenceConfidence La puntuación de confianza mínima de la presencia facial en la detección de puntos de referencia faciales. Float [0.0,1.0] 0.5
faceModelBaseOptions El objeto BaseOptions que establece la ruta para el modelo que crea la imagen de la condición. Objeto BaseOptions N/A
FacePluginModelBaseOptions El objeto BaseOptions que establece la ruta para el modelo del complemento. Objeto BaseOptions N/A

Para obtener más información sobre cómo funcionan estas opciones de configuración, consulta la Tarea Face Landmarker.

Opciones de profundidad

Configura las siguientes opciones en depthConditionOptions.

Nombre de la opción Descripción Rango de valores Valor predeterminado
depthModelBaseOptions El objeto BaseOptions que establece la ruta para el modelo que crea la imagen de la condición. Objeto BaseOptions N/A
depthPluginModelBaseOptions El objeto BaseOptions que establece la ruta para el modelo del complemento. Objeto BaseOptions N/A

Modelos

El generador de imágenes requiere un modelo de base, que es un modelo de IA de texto a imagen que usa técnicas de difusión para generar imágenes nuevas. Los modelos de base que se enumeran en esta sección son modelos ligeros optimizados para ejecutarse en aplicaciones smartphones.

Los modelos de complementos son opcionales y complementan los modelos de base, lo que permite que los usuarios proporcionen una imagen adicional de la condición junto con un mensaje de texto para para generar imágenes más específicas. Personaliza los modelos de base con LoRA los pesos es una opción que le enseña al modelo de base un concepto específico, como un objeto, una persona o un estilo, e insertarlos en imágenes generadas.

Modelos de base

Los modelos de base son modelos de difusión de texto a imagen latentes que generan imágenes a partir de un mensaje de texto. El generador de imágenes requiere que el modelo de base coincidan con el formato del modelo runwayml/stable-diffusion-v1-5 EMA-only según el siguiente modelo:

Los siguientes modelos de base también son compatibles con el generador de imágenes:

Después de descargar un modelo de base, usa el image_generator_converter para convertir el modelo al formato adecuado en el dispositivo para el Generador de imágenes.

Instala las dependencias necesarias:

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

Ejecuta el convert.py secuencia de comandos:

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

Modelos de complementos

Los modelos de complementos en esta sección son desarrollados por Google y deben utilizarse en combinadas con un modelo de base. Los modelos de complementos permiten que Image Generator Aceptar una imagen de condición junto con una instrucción de texto como entrada, lo que te permite controlar la estructura de las imágenes generadas. Los modelos de complementos proporcionan capacidades similares a ControlNet, con un una nueva arquitectura específica difusión integrada en el dispositivo.

Los modelos del complemento deben especificarse en las opciones de base y es posible que debas descargar archivos de modelo adicionales. Cada complemento tiene requisitos únicos para la de estado de Terraform, que puede generar el generador de imágenes.

Complemento de Canny Edge

El complemento de Canny Edge acepta una imagen de condición que describe los bordes previstos. de la imagen generada. El modelo de base usa las aristas implícitas por la condicional y genera una imagen nueva basada en la instrucción de texto. El El generador de imágenes tiene capacidades integradas para crear imágenes de condición. solo requiere la descarga del modelo del complemento.

Descargar el complemento de Canny Edge

El complemento de Canny Edge incluye las siguientes opciones de configuración:

Nombre de la opción Descripción Rango de valores Valor predeterminado
threshold1 Primer umbral para el procedimiento de histéresis. Float 100
threshold2 Es el segundo umbral para el procedimiento de histéresis. Float 200
apertureSize Tamaño de apertura del operador Sobel. El rango habitual es de 3 a 7. Integer 3
l2Gradient Si se usa la norma L2 para calcular la magnitud del gradiente de la imagen, en lugar de la norma L1 predeterminada. BOOLEAN False
EdgePluginModelBaseOptions El objeto BaseOptions que establece la ruta para el modelo del complemento. Objeto BaseOptions N/A

Para obtener más información sobre cómo funcionan estas opciones de configuración, consulta Detector de bordes Canny.

Complemento Face Landmark

El complemento Face Landmark acepta la salida de la interfaz Face de MediaPipe Landmarker como imagen de la condición. El rostro El marcador proporciona una malla de rostros detallada de un solo rostro, que traza el presencia y ubicación de rasgos faciales. El modelo de base usa el tratamiento facial mapeo implícito en la imagen de la condición, y genera un rostro nuevo en la malla.

Descarga el complemento del punto de referencia de Face

El complemento de punto de referencia de Face también requiere el modelo Face Landmarker bundle para crear la imagen de la condición. Esta es el mismo paquete que usa el Tarea Face LandMarker.

Descargar paquete de modelos de puntos de referencia de rostros

El complemento Face Landmark incluye las siguientes opciones de configuración:

Nombre de la opción Descripción Rango de valores Valor predeterminado
minFaceDetectionConfidence La puntuación de confianza mínima para la detección de rostro correctamente. Float [0.0,1.0] 0.5
minFacePresenceConfidence La puntuación de confianza mínima de la presencia facial en la detección de puntos de referencia faciales. Float [0.0,1.0] 0.5
faceModelBaseOptions El objeto BaseOptions que establece la ruta para el modelo que crea la imagen de la condición. Objeto BaseOptions N/A
FacePluginModelBaseOptions El objeto BaseOptions que establece la ruta para el modelo del complemento. Objeto BaseOptions N/A

Para obtener más información sobre cómo funcionan estas opciones de configuración, consulta la Tarea Face Landmarker.

Complemento de profundidad

El complemento de profundidad acepta una imagen de condición que especifica la profundidad monocular de un objeto. El modelo de base usa la imagen de condición para inferir el tamaño y profundidad del objeto que se generará y genera una imagen nueva basada en el texto mensaje.

Descargar el complemento Depth

El complemento de profundidad también requiere un modelo de estimación de profundidad para crear la condición imagen.

Descargar el modelo de estimación de profundidad

El complemento de profundidad incluye las siguientes opciones de configuración:

Nombre de la opción Descripción Rango de valores Valor predeterminado
depthModelBaseOptions El objeto BaseOptions que establece la ruta para el modelo que crea la imagen de la condición. Objeto BaseOptions N/A
depthPluginModelBaseOptions El objeto BaseOptions que establece la ruta para el modelo del complemento. Objeto BaseOptions N/A

Personalización con LoRA

Personalizar un modelo con LoRA puede habilitar la de imágenes para generar imágenes basadas en conceptos específicos, que son identificados por tokens únicos durante el entrenamiento. Con las nuevas ponderaciones de LoRA después de entrenamiento, el modelo es capaz de generar imágenes del nuevo concepto cuando el token se especifica en el prompt de texto.

Crear ponderaciones de LoRA requiere entrenar un modelo de base con imágenes de una un objeto, una persona o un estilo específicos, que permite al modelo reconocer el nuevo concepto y aplicarlo cuando se generan imágenes. Si estás creando pesos de LoRa para generar imágenes de personas y rostros específicos, usa esta solución solo en tu el rostro o los rostros de las personas que le dieron permiso para hacerlo.

A continuación, se muestra el resultado de un modelo personalizado entrenado con imágenes de teteras desde el conjunto de datos de DreamBooth el token “tetera monadikos”:

Instrucción: una tetera monadikos junto a un espejo

El modelo personalizado recibió el token en la instrucción e insertó una tetera que aprendió a representar a partir de los pesos de la LoRA y coloca la imagen junto a un replicar, como se solicita en la instrucción.

LoRA con Vertex AI

Para obtener más información, consulta la documentación sobre la personalización de la aplicación, que utiliza Model Garden en Vertex AI para personalizar un modelo aplicando ponderaciones de LoRA a un modelo de base.