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:
- Android - Ejemplo de código - Guía
- Personalizar con LoRA - Código Ejemplo: Colab
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:
- Generación de texto a imagen: Genera imágenes con una instrucción de texto.
- 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.
- 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:
|
El generador de imágenes muestra los siguientes resultados:
|
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.
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.