ControlNet es una arquitectura de red neuronal diseñada para mejorar la controlabilidad de los modelos de generación de imágenes, en particular los modelos basados en difusión como Stable Diffusion. Al integrar entradas condicionales adicionales, como mapas de bordes, mapas de profundidad o estimaciones de pose, ControlNet permite una síntesis de imágenes más precisa y estructurada, alineando las salidas generadas más estrechamente con las restricciones definidas por el usuario.
ControlNet es una extensión para modelos de generación de imágenes, especialmente modelos basados en difusión como Stable Diffusion, que le permite controlar cómo se generan las imágenes utilizando entradas adicionales. Estas entradas podrían incluir contornos, mapas de profundidad, poses humanas u otra información visual que ayude a guiar la imagen final.
Los modelos de difusión tradicionales utilizan solo un mensaje de texto para generar una imagen. Esto puede resultar en salidas impredecibles o menos estructuradas. ControlNet permite a los usuarios proporcionar información adicional para que el modelo genere imágenes que coincidan con formas, diseños o poses específicos.
Lo hace añadiendo una rama paralela entrenable al modelo. Esta rama toma la entrada de control (como un boceto o un mapa de profundidad) y la utiliza junto con el mensaje de texto. Mientras tanto, el modelo original permanece sin cambios, por lo que se conservan la calidad y las capacidades aprendidas.
Concepto
Los modelos de difusión tradicionales generan imágenes basándose únicamente en mensajes de texto, lo que puede dar lugar a resultados que carecen de detalles estructurales o espaciales específicos. ControlNet aborda esta limitación introduciendo un mecanismo para incorporar información auxiliar en el proceso de generación. Esto se logra creando dos vías paralelas dentro del modelo:
- Vía bloqueada: Conserva los parámetros originales del modelo preentrenado, asegurando que las capacidades fundamentales del modelo permanezcan intactas.
- Vía entrenable: Introduce nuevas capas inicializadas con pesos cero (convoluciones cero) que aprenden a integrar las entradas condicionales adicionales sin interrumpir el rendimiento del modelo original.
Este enfoque de doble vía permite a ControlNet guiar el proceso de generación de imágenes de forma eficaz, preservando al mismo tiempo los puntos fuertes del modelo base.
Marco arquitectónico de ControlNet
Convoluciones cero
Se trata de capas convolucionales inicializadas con pesos y sesgos cero. Inicialmente, no afectan a la salida, lo que garantiza que la integración de ControlNet no altere el comportamiento del modelo base. Con el tiempo, a través del entrenamiento, estas capas aprenden a incorporar eficazmente las entradas condicionales.
Entradas condicionales
ControlNet puede procesar varias formas de datos auxiliares, tales como:
- Mapas de bordes: Resaltan los límites dentro de una imagen, guiando al modelo para mantener contornos específicos.
- Mapas de profundidad: Proporcionan información sobre la distancia de los objetos en una escena, ayudando a generar imágenes con relaciones espaciales precisas.
- Estimaciones de pose: Definen las posiciones de figuras u objetos humanos, asegurando que las imágenes generadas se ajusten a las posturas o disposiciones deseadas.
Mediante el uso de estas entradas, ControlNet mejora la capacidad del modelo para producir imágenes que se alinean estrechamente con los requisitos estructurales específicos.
Ajustes de ControlNet
Activar/desactivar
Este interruptor le permite activar o desactivar ControlNet para una generación de imagen específica. Cuando está desactivado, el modelo ignora cualquier entrada de control y funciona solo a partir del mensaje de texto.
Peso de control
Este ajuste determina con qué fuerza la imagen final debe seguir la entrada de control. Un valor más cercano a 1 obliga al modelo a coincidir estrechamente con la entrada, mientras que los valores más bajos le dan más libertad.
Modo de cambio de tamaño
Las imágenes de entrada de control, como los mapas de profundidad o los bocetos, a menudo difieren en tamaño de la salida final. El modo de cambio de tamaño decide cómo se ajusta la entrada: recortándola, estirándola o escalándola para que se ajuste a las dimensiones de salida.
Intensidad de la guía
Esto controla cuánto el efecto combinado del mensaje de texto y la entrada de control da forma a la imagen. Una mayor intensidad significa una adhesión más estricta a ambos, lo cual es útil para obtener resultados precisos.
Modo de suposición
Cuando está activado, el modo de suposición permite a ControlNet intentar la generación incluso si la entrada de control es vaga o falta. Ayuda al explorar ideas o al usar entradas abstractas o parciales.
Inicio/fin del control
Estos parámetros definen qué parte del proceso de generación de imágenes influye ControlNet. Puede configurarlo para que guíe la fase inicial, media o completa de la generación, dependiendo del efecto deseado.
Modelos de ControlNet
Modelo Canny
Este modelo utiliza la detección de bordes, del filtro Canny, para guiar la generación basándose en los contornos de la imagen. Es ideal para seguir los límites de objetos nítidos o los bocetos de líneas.
Modelo de profundidad
Este modelo entiende la distancia espacial en una imagen. Genera contenido con profundidad y perspectiva similares a las 3D, utilizando mapas de profundidad como guía.
Modelo de pose
El modelo de pose detecta puntos clave en la postura humana, como extremidades y articulaciones, y utiliza esos datos para crear personajes en posiciones coincidentes.
Modelo OpenPose
Una versión avanzada del modelo de pose, OpenPose rastrea no solo las poses corporales, sino también las características faciales y de las manos para un control más detallado.
Modelo de garabato
Este modelo toma una entrada tosca y esbozada y la rellena con detalles realistas o artísticos. Es adecuado para el arte conceptual y los borradores creativos.
Modelo MLSD (dibujo lineal)
Este modelo se especializa en la comprensión de dibujos de líneas rectas, a menudo utilizados en ilustraciones arquitectónicas o técnicas.
Modelo de segmentación
Los modelos de segmentación leen mapas de colores que etiquetan las regiones de la imagen, como el cielo, los edificios y el agua. Estas guías ayudan a generar composiciones de escenas organizadas.
Preprocesadores de ControlNet
Preprocesador de bordes Canny
Esta herramienta detecta los bordes de los objetos en una imagen utilizando el algoritmo Canny. Se combina comúnmente con el modelo Canny para definir los contornos.
Preprocesadores de profundidad (midas, Zoe)
Estas herramientas generan mapas de profundidad en escala de grises que muestran cuán lejos está cada parte de una imagen del espectador. Se utilizan con modelos ControlNet basados en la profundidad.
Preprocesador OpenPose
OpenPose analiza una imagen para identificar las articulaciones del cuerpo humano, las posiciones de las manos y los puntos de referencia faciales, luego crea un mapa de pose para usar con modelos de pose.
HED (detección holística de bordes)
HED encuentra contornos suaves y fluidos en una imagen. A menudo se utiliza para un control de bordes más artístico o estilístico en comparación con los bordes canny más nítidos.
Preprocesador LineArt
Este preprocesador convierte las imágenes en arte lineal limpio en blanco y negro, lo cual es útil para crear entradas de estilo de ilustración.
Segmentación (ADE20K)
Este preprocesador divide una imagen en áreas significativas y etiquetadas, como personas, cielo y edificios. El resultado es un mapa codificado por colores para generar escenas estructuradas.
Usos de ControlNet
ControlNet abre nuevas posibilidades creativas y funcionales para los modelos de imágenes generativas. A continuación, se presentan varias aplicaciones prácticas en diferentes dominios:
1. Diseño creativo
Los artistas pueden esbozar diseños o contornos aproximados y utilizar ControlNet para rellenarlos con imágenes detalladas. Esto permite un mayor control sobre lo que crea la IA, en lugar de depender únicamente de mensajes de texto.
2. Generación de poses y personajes
Los diseñadores y animadores pueden utilizar mapas de pose para generar personajes en posturas específicas, lo cual es útil para la creación de guiones gráficos, el arte conceptual o el diseño de personajes.
3. Arquitectura y diseño de productos
Con modelos como MLSD, los diseñadores pueden crear planos o dibujos lineales y, a continuación, utilizar ControlNet para renderizarlos en visuales detallados, como espacios interiores o edificios.
4. Imágenes médicas y científicas
ControlNet puede convertir mapas de segmentación o bocetos en visuales realistas, lo que ayuda a crear contenido ilustrativo para fines educativos o de investigación.
5. Realidad aumentada (RA) y juegos
Los desarrolladores de juegos pueden crear contornos base o mapas de profundidad de escenas y convertirlos en entornos ricos utilizando ControlNet, lo que reduce el tiempo de modelado manual.
6. Moda y venta al por menor
Los diseñadores de moda pueden utilizar entradas de segmentación o pose para crear maquetas visuales de ropa en modelos en diferentes posturas, o aplicar patrones a prendas dibujadas.
7. Entretenimiento y juegos
Ayuda a diseñar personajes o escenas que coincidan con configuraciones o narrativas predefinidas.
Estas aplicaciones se benefician de la capacidad de ControlNet para producir imágenes consistentes y estructuralmente precisas basadas en condiciones definidas por el usuario.
Ventajas
- Control mejorado: Los usuarios pueden guiar el proceso de generación de imágenes con mayor precisión, lo que da como resultado salidas que coinciden estrechamente con los requisitos específicos.
- Preservación de la integridad del modelo base: La arquitectura de doble vía garantiza que se mantengan las capacidades originales del modelo base.
- Flexibilidad: ControlNet se puede integrar con varios tipos de entradas condicionales, lo que lo hace adaptable a una amplia gama de casos de uso.
Consideraciones
- Complejidad: La implementación de ControlNet requiere una comprensión profunda tanto del modelo base como de la naturaleza de las entradas condicionales.
- Requisitos de recursos: El procesamiento de entradas adicionales y el entrenamiento de la vía entrenable pueden exigir más recursos computacionales.
- Preparación de datos: Las entradas condicionales de alta calidad son esenciales para un rendimiento óptimo, lo que requiere un preprocesamiento de datos cuidadoso.