> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/spanish/function-blocks/blocks-reference/ai-blocks/background-removal-birefnet.md).

# Background Removal (BiRefNet)

Este bloque de función realiza una segmentación de primer plano/fondo de alta calidad usando el modelo BiRefNet. Crea una máscara binaria limpia para las regiones de primer plano y puede generar una visualización superpuesta en color verde sobre la imagen original para una inspección rápida.

## 📥 Entradas

`Image`\
Proporcione una imagen RGB/BGR. El bloque acepta imágenes de cualquier tamaño (las imágenes grandes pueden redimensionarse internamente para el procesamiento).

## 📤 Salidas

`Overlay`\
Visual de la imagen con el primer plano segmentado mostrado como una superposición verde sobre la imagen original.

`Mask`\
Máscara de segmentación binaria donde los píxeles de primer plano son blancos (255) y los del fondo son negros (0).

## 🕹️ Controles

Este bloque funciona con ajustes automáticos y no muestra widgets manuales dentro del bloque. Para influir en su comportamiento, use bloques auxiliares antes o después, por ejemplo:

* `Image Resize` — reducir el tamaño de la imagen de entrada antes del procesamiento para mejorar la velocidad y ahorrar memoria
* `Image ROI` — recortar a una región de interés para que el modelo se concentre en un área menor
* `Apply Mask` — combinar la imagen original y la máscara de forma personalizada tras la segmentación
* `Show Image` — previsualizar `Overlay` o `Mask` en un visor más grande
* `Image Logger` / `Image Write` — guardar máscaras o superposiciones como registro

## ⚙️ Mecanismo de ejecución

* El bloque carga el modelo de segmentación la primera vez que se usa. Esto puede implicar la descarga de archivos de modelo y tomar tiempo en la primera ejecución.
* Si hay GPU disponible, se usará para acelerar el procesamiento; de lo contrario se usará CPU.
* Para cada imagen de entrada, el bloque devuelve una máscara binaria y una superposición coloreada (tinte verde en las regiones segmentadas).
* Las imágenes de entrada muy grandes aumentan el tiempo de procesamiento y el uso de memoria; se recomienda redimensionar la imagen antes de pasarla al bloque para obtener resultados más rápidos.

## 🎯 Características

* Segmentación de alta calidad que maneja bordes complejos y detalles finos.
* Genera tanto una máscara binaria apta para procesamiento adicional como una superposición visual para inspección rápida.
* Selección automática del dispositivo (GPU si está disponible).
* Funciona con entradas de imagen estándar procedentes de cámaras, archivos o bloques de procesamiento previos.

## 📝 Instrucciones de uso

1. Conecte una imagen al socket de entrada `Image`.
2. Use la salida `Mask` para procesos posteriores (mediciones, operaciones ROI, composición).
3. Use la salida `Overlay` para previsualizar la calidad de la segmentación o presentar los resultados visualmente.

Flujos sugeridos:

* Para ejecuciones más rápidas, conecte `Image Resize` antes de este bloque.
* Para segmentar solo una parte de la escena, use `Image ROI` primero.
* Para guardar resultados, conecte `Image Write` o `Image Logger` a las salidas.
* Para previsualizar resultados durante el desarrollo, añada `Show Image` a `Overlay` o `Mask`.

## 💡 Consejos y trucos

* Si quiere una alternativa más ligera, pruebe `Background Removal (RMBG-1.4)` — usa un modelo distinto y puede ser más rápido o generar recortes diferentes según la entrada.
* Limpie pequeños artefactos en la máscara usando `Morphological Transformations` o `Image Threshold` después de obtener la `Mask`.
* Si las máscaras se ven ruidosas, pruebe ejecutar `Denoising` o `Blur` antes de la segmentación para reducir bordes espurios.
* Para procesar imágenes de alta resolución manteniendo la memoria manejable, redúzcalas con `Image Resizer`, ejecute la segmentación y luego reescale los resultados si es necesario con `Image Resize` o `Super Resolution`.
* Combine con bloques de detección (por ejemplo, utilice los resultados de un detector de objetos para recortar el área con `Image ROI` y luego ejecute este bloque para eliminación de fondo por objeto).

## 🛠️ Solución de problemas

* El modelo no arranca o es muy lento en el primer uso: el bloque puede estar descargando archivos de modelo e inicializando. Espere a que termine la descarga e inicialización.
* Errores de memoria en GPU: reduzca el tamaño de entrada con `Image Resize` o ejecute en CPU liberando otras cargas en GPU.
* La máscara tiene agujeros o motas: aplique `Morphological Transformations` (fill / open / close) o aumente el suavizado con `Blur` antes de la segmentación.
* Falta de estructuras delgadas en el primer plano: pruebe el bloque alternativo `Background Removal (RMBG-1.4)` para comparar resultados.

Notas:

* Las bibliotecas y modelos requeridos se gestionan fuera del bloque; es necesario tener instalados los paquetes adecuados y acceso a las descargas de modelos para que este bloque funcione.
