BiRefNet en ComfyUI: Guía de Nodos y Workflows

Al explorar las herramientas de ComfyUI, es común encontrarse con dudas sobre cómo funcionan los modelos de eliminación de fondos como BiRefNet. Un usuario preguntó inicialmente si este modelo realmente remueve el fondo por sí solo o si requiere pasos adicionales.

Diagrama técnico mostrando la conexión entre los nodos Load Image y BiRefNet generando una máscara.
Diagrama del flujo inicial para generar máscaras con BiRefNet en ComfyUI.

La respuesta revela que, aunque BiRefNet está diseñado para remover el fondo, en ComfyUI produce una máscara de foreground. Esto significa que la imagen no se vuelve transparente automáticamente; necesitas aplicar esa máscara al canal alfa de la imagen. El flujo conceptual inicial implica conectar la imagen original a BiRefNet para obtener la máscara, y luego usar un nodo como Join Image with Alpha.

El rol del nodo Invert Mask

Un detalle técnico crucial en este proceso es el uso del nodo Invert Mask. Como muchas implementaciones de ComfyUI producen máscaras donde el fondo blanco indica opacidad y el negro transparencia, es necesario invertir la máscara antes de combinarla con la imagen RGB. Si no se invierte correctamente, el resultado será una imagen que parece conservar su fondo en lugar de estar recortada.

El flujo para obtener transparencia se ve así:

  • Load Image: Carga la entrada original.
  • Remove Background (BiRefNet): Genera la máscara de foreground.
  • Invert Mask: Prepara el canal alfa correctamente.
  • Join Image with Alpha: Combina RGB y alpha para crear un PNG transparente.

Workflows para fondos blancos

No obstante, la conversación se dirigió hacia una necesidad diferente: el usuario prefirió no tener transparencia, sino obtener el objeto recortado sobre un fondo blanco sólido. Para lograr esto, es necesario abandonar el canal alfa y utilizar un nodo de composición.

La solución más limpia implica crear una imagen completamente blanca del mismo tamaño que la original y usar el nodo Image Composite. Este nodo toma la máscara de BiRefNet para recortar los píxeles originales, mientras reemplaza todo lo demás con la capa blanca. El resultado es un PNG donde el sujeto se conserva exactamente como está, pero sobre un fondo blanco puro.

Ilustración del nodo Image Composite combinando una imagen recortada con un fondo blanco.
Esquema del flujo final utilizando Image Composite para obtener un fondo blanco sólido.

Aunque no se requiere transparencia, este método asegura que ningún píxel del fondo original sobreviva alrededor de los bordes del sujeto. Para quienes deseen implementar esto directamente en su proyecto sin configurar manualmente cada nodo, existe la opción de generar un archivo .json importable.

Por último, para asegurar que el workflow sea compatible con tu instalación específica, es fundamental saber qué implementación exacta de BiRefNet tienes. Si no estás seguro del nombre exacto del nodo en tu interfaz, proporcionar una captura o el nombre visible te permitirá ajustar las conexiones y obtener el resultado perfecto.