Cómo Usar el Modelo OpenPose ControlNet SD1.5 en ComfyUI
Introducción a SD1.5 OpenPose ControlNet
OpenPose ControlNet es un modelo de ControlNet especialmente diseñado para controlar la postura de las personas en una imagen. Ayuda a que la IA mantenga la postura correcta al generar nuevas imágenes analizando la postura de las personas en la imagen de entrada. Este modelo funciona particularmente bien en la generación de imágenes de personas, en la generación de anime y en la generación de personajes de videojuegos, porque puede entender y mantener con precisión la postura de una persona.
Este tutorial se centra en el uso del modelo OpenPose ControlNet para SD1.5. Los tutoriales para otras versiones y tipos de modelos ControlNet se agregarán más adelante.
Uso de OpenPose ControlNet
OpenPose ControlNet requiere una imagen OpenPose para controlar las posturas humanas, luego usa el modelo OpenPose ControlNet para controlar las posturas en la imagen generada. Aquí hay un ejemplo de una imagen OpenPose:
Al igual que con las imágenes Depth, puedes usar el complemento ComfyUI ControlNet Auxiliary Preprocessors para generar una imagen OpenPose. Si no deseas instalar este complemento, también puedes usar herramientas en línea como open-pose-editor para generar una imagen OpenPose para el control de posturas. Sin embargo, recomendamos encarecidamente instalar el complemento ComfyUI ControlNet Auxiliary Preprocessors, ya que se utilizará con frecuencia en el uso diario.
Tutorial Paso a Paso para Usar OpenPose ControlNet
1. Actualizar ComfyUI
Como este artículo utiliza el nuevo nodo Apply ControlNet que difiere de los nodos antiguos, se recomienda actualizar o instalar la última versión de ComfyUI Puedes consultar estos tutoriales:
2. Instalar Plugins Necesarios
Como ComfyUI Core no viene con el preprocesador de imágenes OpenPose correspondiente, primero debes descargar el plugin de preprocesador Este tutorial requiere el plugin ComfyUI ControlNet Auxiliary Preprocessors para generar imágenes OpenPose.
Recomendamos usar ComfyUI Manager para la instalación Para obtener instrucciones de instalación de plugins, consulta la Guía de Instalación de Plugins de ComfyUI que proporciona información detallada
La última versión de ComfyUI Desktop viene con el plugin ComfyUI Manager preinstalado
3. Descargar Modelos Requeridos
Primero, necesitas instalar estos modelos:
Tipo de Modelo | Archivo de Modelo | Enlace de Descarga |
---|---|---|
Modelo Base SD1.5 | dreamshaper_8.safetensors | Civitai |
Modelo OpenPose ControlNet | control_v11f1p_sd15_openpose.pth(requerido) | Hugging Face |
4. Ubicación de Almacenamiento de Modelos
Por favor, coloca los archivos de modelo según esta estructura:
📁ComfyUI
├── 📁models
│ ├── 📁checkpoints
│ │ └── 📁SD1.5
│ │ └── dreamshaper_8.safetensors
│ ├── 📁controlnet
│ │ └── 📁SD1.5
│ │ └── control_v11f1p_sd15_openpose.pth
Como las versiones de SD y controlnet tienen dependencias de versión, hemos agregado aquí una capa de carpeta SD1.5
para facilitar la gestión futura de modelos
Después de la instalación, actualiza o reinicia ComfyUI para que el programa lea los archivos de modelo
5. Archivos de Workflow
Aquí se proporcionan dos archivos de workflow
Uso de Imagen OpenPose y Modelo ControlNet para Generación de Imágenes
Descarga el workflow anterior, arrástralo a ComfyUI o usa el atajo Ctrl+O
para abrir este archivo de workflow
Por favor, descarga la imagen de abajo y cárgala en el nodo Load Image
- Carga la imagen de referencia en el nodo
1
Load Image - Selecciona tu modelo instalado en el nodo
2
Load Checkpoint - Selecciona el modelo
control_v11f1p_sd15_openpose.pth
en el nodo3
Apply ControlNet - Usa Queue o el atajo
Ctrl+Enter
para ejecutar el workflow y generar imágenes
Uso de ComfyUI ControlNet Auxiliary Preprocessors para Preprocesar Imágenes de Referencia
A diferencia del workflow anterior, a veces no tenemos una imagen OpenPose lista para usar. En este caso, necesitamos usar el plugin ComfyUI ControlNet Auxiliary Preprocessors para preprocesar la imagen de referencia, luego usar la imagen procesada como entrada junto con el modelo ControlNet
Descarga el workflow anterior, arrástralo a ComfyUI o usa el atajo Ctrl+O
para abrir este archivo de workflow
Por favor, descarga la imagen de abajo y cárgala en el nodo Load Image
- Carga la imagen de entrada en el nodo
1
Load Image - Selecciona tu modelo instalado en el nodo
2
Load Checkpoint - Selecciona el modelo
control_v11f1p_sd15_openpose.pth
en el nodo3
Apply ControlNet - Usa Queue o el atajo
Ctrl+Enter
para ejecutar el workflow y generar imágenes
5.1 Explicación de los Nodos Principales
Los nodos ComfyUI Core, la documentación de los nodos principales está disponible en la documentación actual del sitio web
- Nodo Apply ControlNet: Apply ControlNet
- Carga del modelo ControlNet: ControlNet Loader
5.2 Nodos ComfyUI ControlNet Auxiliary Preprocessors
Para los nodos de detección de pose, se proporcionan dos nodos diferentes: el nodo OpenPose Pose y el nodo DWPose Estimator. Ambos se utilizan para extraer información de pose de manos, cuerpo y rostro de las imágenes y generar diagramas de esqueleto
El nodo DWPose Estimator se basa en el algoritmo de detección de pose DWPose, mientras que el nodo OpenPose Pose se basa en el algoritmo OpenPose. En el workflow proporcionado, usé el nodo OpenPose Pose
, pero puedes probar el nodo DWPose Estimator
después de una ejecución exitosa para ver la diferencia
Nodo OpenPose Pose
Parámetro de Entrada | Descripción | Opciones de Parámetro |
---|---|---|
images | Imagen de entrada | - |
detect_hand | Detectar manos | enable / disable |
detect_face | Detectar rostro | enable / disable |
detect_body | Detectar cuerpo | enable / disable |
resolution | Resolución de la imagen de salida | - |
Parámetro de Salida | Descripción | Opciones de Parámetro |
---|---|---|
image | Imagen de salida procesada | - |
POSE_KEYPOINT | Puntos del esqueleto | - |
Nodo DWPose Estimator
Parámetro de Entrada | Descripción | Opciones de Parámetro |
---|---|---|
images | Imagen de entrada | - |
detect_hand | Detectar manos | enable / disable |
detect_face | Detectar rostro | enable / disable |
detect_body | Detectar cuerpo | enable / disable |
resolution | Resolución de la imagen de salida | - |
bbox-detector | Detectar posición del cuerpo en la imagen | enable / disable |
pose_estimator | Diferentes métodos de detección de pose | - |
Parámetro de Salida | Descripción | Opciones de Parámetro |
---|---|---|
image | Imagen de salida procesada | - |
POSE_KEYPOINT | Puntos del esqueleto | - |