Abrir el espacio de trabajo del modelo visión de alta resolución

Segmentación de alta resolución con birefnet

Máscaras listas para usar con imágenes.

Bordes nítidos Múltiples tareas Kit de herramientas MIT
Probar birefnet
prompt / imagen
Ejemplos de entrada un toque

Lista para imágenes · flujo de trabajo en una línea · empieza en segundos

birefnet / segmentación de imágenes de alta resolución
principal MIT notas del modelo
Archivos del repositorio
Usar el modelo
Última actualización · guías del modelo y notas de evaluación actualizadas fuente / birefnet
Archivo Actualizado
evaluación reciente
modelos reciente
tutoriales reciente
.gitignore reciente
LICENSE reciente
README.md reciente
config.py reciente
dataset.py reciente
eval_existingOnes.py reciente
gen_best_ep.py reciente
image_proc.py reciente
inference.py reciente
loss.py reciente
make_a_copy.sh reciente
requirements.txt reciente
rm_cache.sh reciente
sub.sh reciente
test.sh reciente
train.py reciente
train.sh reciente
train_test.sh reciente
utils.py reciente

Referencia bilateral para la segmentación de imágenes de alta resolución

Un espacio de trabajo de modelos orientado a la investigación para obtener máscaras nítidas, bordes difíciles y experimentos visuales reproducibles.

Artículo de revista Proyecto MIT Modelo Varias imágenes Inferencia Orientación mediante recuadros
DIS-Sample_1
Un pabellón tradicional junto a aguas reflectantes, mostrado como un estudio de segmentación del primer plano de alto contraste.
DIS-Sample_2
Un ornamento dorado radial con radios y cuentas finos, mostrado como un estudio desafiante de segmentación de alta resolución.

Este es el espacio de trabajo oficial de birefnet para Segmentación bilateral de imágenes dicotómicas de alta resolución, adaptado aquí como un punto de partida práctico para la extracción de primeros planos en alta resolución, el recorte y otras tareas relacionadas con imágenes binarias.

Nota

El trabajo con imágenes de alta resolución se beneficia de un hardware potente. La familia de modelos está diseñada para preservar la estructura a medida que aumentan las dimensiones de las imágenes, mientras que el conjunto de herramientas mantiene los experimentos fáciles de reproducir.

Novedades 📰

  • Sep 23, 2025: La ruta de atención se actualizó con una implementación oficial de SDPA de PyTorch para reducir la presión sobre la memoria durante el entrenamiento y la inferencia.
  • Jun 30, 2025: El refinamiento del primer plano se aceleró con una ruta de estimación rápida asistida por GPU y un preprocesamiento de matrices más limpio.
  • May 15, 2025: Se publicó un tutorial grabado para ajustar birefnet con datos personalizados, dirigido a quienes prefieren una guía paso a paso.
  • Mar 31, 2025: La ruta de modelos dinámicos se amplió para distintas resoluciones, desde 256x256 hasta 2304x2304 para un uso general más robusto.
  • Feb 12, 2025: Se añadió una variante de matting de mayor resolución para flujos de trabajo que necesitan bordes más suaves y transiciones más naturales.
  • Feb 1, 2025: El modelo de uso general de alta resolución se publicó con un entrenamiento centrado en 2048x2048 imágenes.
  • Jan 6, 2025: La inferencia con FP16 se validó con una calidad prácticamente sin cambios y un menor uso de memoria en GPU compatibles.
  • Dec 5, 2024: Se incorporaron correcciones de compatibilidad para la compilación actual de PyTorch y el entrenamiento acelerado de precisión mixta.
  • Nov 28, 2024: Un proyecto estudiantil creado con birefnet recibió reconocimiento en una competencia nacional de innovación.
  • Oct 26, 2024: La documentación incorporó una guía específica para ajustar pesos existentes con conjuntos de datos personalizados.
  • Oct 6, 2024: Se añadieron pesos de matting sin trimap para flujos de trabajo generales de primer plano.
  • Sep 24, 2024: Se publicaron un modelo ligero de 2K y un cuaderno de inferencia de vídeo para entradas de mayor resolución.
  • Aug 30, 2024: Se añadieron cuadernos de inferencia local y conversión a ONNX a la carpeta de tutoriales.
  • Aug 23, 2024: El trabajo de investigación se publicó formalmente en línea, junto con el lanzamiento de un proyecto público.
  • Aug 19, 2024: Se recopilaron archivos de modelos ONNX para los pesos disponibles, con notas de conversión.
  • Jul 28, 2024: Se añadieron ejemplos de segmentación guiada por cuadros para una selección de objetos más controlada.
  • Jul 15, 2024: Se documentó la carga del modelo en una sola línea para realizar un primer experimento más rápido.
  • May 28, 2024: El catálogo de modelos se amplió con pesos para uso general, matting, DIS, HRSOD y COD.
  • May 7, 2024: Se publicó un cuaderno de inferencia de múltiples imágenes para realizar experimentos por lotes.
  • Mar 7, 2024: El código de entrenamiento, las utilidades de evaluación y los pesos específicos de cada tarea se organizaron en el proyecto público.
  • Jan 7, 2024: Se publicaron el artículo original y la implementación inicial.

🚀 Carga birefnet en UNA LÍNEA

python
from transformers import AutoModelForImageSegmentation
birefnet = AutoModelForImageSegmentation.from_pretrained(
    "birefnet/model",
    trust_remote_code=True
)

🛬 Socio de inferencia:

Puedes acceder al flujo de trabajo de inferencia de birefnet a través del espacio de trabajo del modelo o usa la vía de implementación para configurar tu propio entorno.

Nuestros modelos de birefnet están diseñados para tareas exigentes de alta resolución
La familia de modelos abarca la segmentación del primer plano, la detección de objetos camuflados, la detección de objetos destacados en alta resolución, la extracción de máscaras alfa y la extracción guiada. El punto de control más adecuado depende de la tarea y de la resolución de entrada.

Prueba nuestras demostraciones en línea para realizar inferencias:

Un banco de trabajo de navegador oscuro que muestra una entrada de imagen, una máscara de primer plano de alto contraste y un panel de evaluación compacto.

Premios:

Se han desarrollado destacados proyectos estudiantiles y comunitarios en torno a birefnet.
Reconocimiento a proyectos de la comunidad
Un certificado formal de premio a la innovación con borde azul sobre un escritorio, fotografiado de frente con una presentación académica sobria.

Colección de modelos

Para ampliar su uso práctico, la implementación de la investigación original se ha extendido con variantes del modelo para distintos tamaños de imagen, tareas y requisitos de implementación.

Los conjuntos de datos preparados y los pesos de los modelos base se organizan por tarea para que los experimentos puedan partir de una referencia conocida.

Los registros de rendimiento y los mapas predichos se conservan junto con la configuración de cada experimento.

Modelos del artículo original para la comparación con los puntos de referencia
TareaConjuntos de entrenamientoArquitectura baseDescargar
DISDIS5K-TRswin_v1_largearchivo del modelo
CODCOD10K-TR, CAMO-TRswin_v1_largearchivo del modelo
HRSODDUTS-TRswin_v1_largearchivo del modelo
HRSODDUTS-TR, HRSOD-TRswin_v1_largearchivo del modelo
HRSODDUTS-TR, UHRSD-TRswin_v1_largearchivo del modelo
HRSODDUTS-TR, HRSOD-TR, UHRSD-TRswin_v1_largearchivo del modelo
Modelos entrenados para uso general y matting
TareaConjuntos de entrenamientoBackboneConjunto de pruebaMétricaDescargar
uso general, 2048x2048AIM-500, DIS, HIM2K, PPM-100 y conjuntos de personas de alta resoluciónswin_v1_largeDIS-VD0.927, 0.894archivo del modelo
uso generalDIS5K, DIS-TEs, DUTS, HRSOD y UHRSDswin_v1_largeDIS-VD0.911, 0.875archivo del modelo
uso generalDIS5K y DIS-TEsswin_v1_tinyDIS-VD0.882, 0.830archivo del modelo
matting generalP3M, personas, AIM-500, HIM2K y fondos sintetizadosswin_v1_largeTE-P3M0.979, 0.988archivo del modelo
recorte de retratosconjuntos de imágenes P3M y humanasswin_v1_largeP3M-500-P0.983, 0.989archivo del modelo
Segmentación con guía de recuadro
Utiliza un recuadro guiado para centrar la segmentación en una región seleccionada antes de perfeccionar la máscara.
Eficiencia del modelo
Tiempo de ejecuciónFP32FP16
A10086.8ms69.4ms
409095.8ms57.7ms
V100384ms152ms
Conversión a ONNX
La ruta de conversión exporta los pesos entrenados para la inferencia local. Se debe comprobar la compatibilidad entre el entorno de ejecución, CUDA y cuDNN antes de la implementación.

Creaciones de terceros

Varias aplicaciones de la comunidad usan birefnet como backend o nodo. Los ejemplos siguientes mantienen el mismo espíritu práctico y centrado en los clics que el proyecto original.

  1. Aplicaciones

    Borrador de fondos: un flujo de trabajo compacto en el navegador para eliminar fondos de fotos con una variante ligera de birefnet.

    Abrir flujo de trabajo
    Una interfaz de navegador pálida con un área de carga para borrar el fondo, acentos rosa suave y un flujo de trabajo claro de un solo clic.

    Eliminación en el navegador: una interfaz que prioriza el procesamiento local mantiene la imagen en el dispositivo mientras se calcula la máscara en el navegador.

    Abrir flujo de trabajo
    Una herramienta de navegador clara que muestra un paso de carga de fotos y una vista previa con fondo transparente, encuadrada como un flujo de trabajo local y privado.

    Flujo de trabajo de inferencia flexible: un proceso visual conecta la imagen de entrada, la configuración del modelo, el refinamiento y la vista previa del resultado.

    Abrir flujo de trabajo
    Un flujo de trabajo de imágenes oscuro basado en nodos que conecta la entrada, los ajustes del modelo, el refinamiento de la máscara y las vistas previas de salida.

    Integración con ComfyUI: un panel basado en nodos permite segmentar y convertir máscaras dentro de un flujo de trabajo visual.

    Abrir flujo de trabajo
    Un editor visual de nodos oscuro con nodos de entrada de imagen, segmentación, conversión de máscaras y vista previa conectados en una cuadrícula.

    Servicio de recorte de vídeo: birefnet puede servir como motor de extracción del primer plano en flujos de trabajo de eliminación de fondos de vídeos cortos.

    Abrir flujo de trabajo
    Una vista previa cinematográfica de edición de video que muestra a una bailarina aislada sobre un tablero de ajedrez transparente junto al fotograma original.

    Nodo de estilo Invoke: un componente básico de imagen alimenta un nodo de eliminación de fondos con refinamiento opcional del primer plano.

    Abrir flujo de trabajo
    Un gráfico de nodos oscuro y pulido con una primitiva de imagen conectada a un nodo de eliminación de fondo y una salida de galería.

    Generación de recursos 2D: la extracción del primer plano se combina con herramientas creativas para producir recursos recortados y limpios para diseño y previsualización.

    Abrir flujo de trabajo
    Un espacio de trabajo de diseño 3D que muestra varios recortes coloridos de personajes dispuestos sobre un suelo de estudio reflectante.

    Efectos de texto detrás del sujeto: extraer el primer plano permite colocar texto entre el sujeto y la escena original.

    Abrir flujo de trabajo
    Una composición de diseño con un sujeto en primer plano pasando por delante de letras editoriales blancas de gran tamaño.

    Utilidad de Stable Diffusion: un panel de modelos añade extracción del primer plano a un flujo de generación de imágenes con vistas de la máscara y de la salida transparente.

    Abrir flujo de trabajo
    Un panel oscuro de utilidad para generación de imágenes que muestra un retrato fantástico original, un sujeto recortado y una vista previa de máscara blanca.

    Entorno de pruebas de modelos en línea: una interfaz centrada en la entrada y el resultado ofrece controles útiles sin requerir una configuración local.

    Abrir flujo de trabajo
    Un entorno de pruebas de modelos luminoso con una imagen de una rana cargada a la izquierda y un resultado aislado y limpio a la derecha.
  2. Extensiones del modelo

    Modelos de primer plano para anime: los datos ajustados pueden adaptar birefnet a personajes ilustrados y obras de arte estilizadas donde importan el cabello, las cintas y los bordes del vestuario.

    Explorar extensión
    Una cuadrícula comparativa de cuatro filas con personajes ilustrados y coloridos mostrados sobre un fondo verde azulado con máscaras en primer plano.

    Inferencia ligera: los tiempos de ejecución alternativos y los formatos compactos facilitan llevar la segmentación a hardware de consumo.

    image_data image = image_load("input.png");
    backend_device device = backend_init();
    birefnet_model model = birefnet_load_model("BiRefNet-F16", device);
    image_data mask = birefnet_compute(model, image);

    Datos privados de mayor calidad: el entrenamiento específico para cada tarea puede mejorar las máscaras binarias del primer plano, especialmente en escenas variadas y con límites de objetos difíciles.

    Explorar extensión
    Una hoja de contactos con productos, retratos, fauna y plantas mostrados junto a recortes sobre un tablero de ajedrez transparente.
  3. Más comparaciones visuales

    Las comparaciones en paralelo muestran cómo se comporta birefnet en escenas de productos, retratos y bordes detallados del primer plano.

    Un panel comparativo oscuro que muestra imágenes originales, máscaras de birefnet y resultados de modelos similares en ejemplos de productos y retratos.

    Las comparaciones de vídeo se centran en la continuidad, la estabilidad de la silueta y la conservación de pequeños detalles en movimiento.

    Un fotograma comparativo de video con cuatro paneles etiquetados que muestran un sujeto animado aislado sobre un fondo negro.

Uso

Configuración del entorno

# PyTorch >= 2.5.0 is used for faster training with compilation.
conda create -n birefnet python=3.11 -y && conda activate birefnet
pip install -r requirements.txt

Preparación del conjunto de datos

Descarga los conjuntos combinados de entrenamiento y prueba organizados para DIS, COD y HRSOD, o utiliza los conjuntos de datos oficiales de origen en la single_ones carpeta. Mantén alineadas las carpetas de imágenes y de datos de referencia dentro de cada tarea.

Preparación de los pesos

Descarga los pesos del backbone desde el espacio de trabajo del modelo o sus páginas oficiales del proyecto antes de iniciar el entrenamiento o la inferencia local.

Ejecutar

# Train & Test & Evaluation
./train_test.sh RUN_NAME GPU_NUMBERS_FOR_TRAINING GPU_NUMBERS_FOR_TEST
# Example: ./train_test.sh tmp-proj 0,1,2,3 0

# See train.sh / test.sh for only training or evaluation.
# After evaluation, use gen_best_ep.py to select the best checkpoint.

🖊️ Ajuste fino con datos personalizados

Un tutorial grabado explica el proceso de ajuste fino de birefnet, desde la estructura del conjunto de datos hasta la selección del checkpoint.
Una portada de tutorial limpia que muestra un título sobre segmentación de alta resolución, dos ejemplos de imágenes y distintivos compactos del proyecto.
  1. Prerrequisitos: coloca los conjuntos de datos en ${data_root_dir}/TASK_NAME/DATASET_NAME, con las carpetas im y gt dentro de cada conjunto de datos.
  2. Cambia una tarea existente: reemplaza el nombre de la tarea existente en todo el proyecto por el nombre de tu tarea personalizada.
  3. Adapta la configuración: actualiza sys_home_dir, testsets, training_set y los pesos de pérdida para tu tarea.
  4. Usa los pesos existentes: reanuda desde un checkpoint y continúa el rango de épocas a partir del número codificado en el nombre del archivo.
  5. Valida el resultado: compara las máscaras del conjunto de validación antes de promover un checkpoint a un flujo de trabajo de producción.

Pesos bien entrenados:

Descarga los archivos BiRefNet-{TASK}-{EPOCH}.pth desde el espacio de trabajo del modelo y la colección de versiones. Los mapas predichos, los resúmenes de rendimiento y los registros de entrenamiento se encuentran junto a la configuración del experimento correspondiente.

Los resultados pueden variar ligeramente según el hardware y la configuración de entrenamiento. Una sola GPU con capacidad suficiente puede bastar para la inferencia a 1024x1024, mientras que el entrenamiento a mayor resolución se beneficia de memoria adicional.

Cuando haya más GPU disponibles, aumenta el tamaño del lote y configura los ID de dispositivo en config.py para pasar sin problemas del entrenamiento con una sola tarjeta al entrenamiento con varias tarjetas.

Algunos de mis mensajes:

Este proyecto comenzó como una implementación de DIS y evolucionó hasta convertirse en un conjunto más amplio de herramientas para la segmentación binaria de imágenes. Puede utilizarse para DIS, COD, SOD, imágenes médicas y segmentación de anomalías cuando la configuración de la tarea se adapta cuidadosamente.

  • El entrenamiento con múltiples GPU se puede activar o desactivar con un solo ajuste.
  • Las opciones de arquitectura base incluyen variantes de Swin, variantes de PVT y redes convolucionales.
  • Las funciones de pérdida ponderadas incluyen BCE, IoU, SSIM, MAE y términos orientados a la regresión.
  • Las técnicas de entrenamiento incluyen supervisión multiescala, congelación de la arquitectura base y entradas multiescala.
  • El agregador de datos puede combinar conjuntos de datos en memoria para coordinar el entrenamiento y las pruebas.
  • El objetivo es ofrecer una base reutilizable para nuevos trabajos de segmentación visual.

Resultados cuantitativos

Los resúmenes de las evaluaciones comparan birefnet con métodos consolidados en conjuntos de datos de alta y baja resolución.

Un panel de resultados con estilo de investigación y tablas de referencia densas que comparan métricas de segmentación en varios conjuntos de datos.
Conjunto de pruebaPuntuación de estructuraPuntuación F ponderadaMAEHCE
DIS-TE10.8600.8190.037106
DIS-TE20.8940.8570.036266
DIS-TE30.9250.8930.028569
DIS-VD0.8910.8540.038989

Resultados cualitativos

Las comparaciones visuales se centran en estructuras estrechas, oclusiones parciales, patrones repetidos y camuflaje.

Una comparación cualitativa en mosaico que muestra escenas de entrada, máscaras de referencia, resultados de birefnet y métodos similares en ejemplos difíciles de primer plano.

Agradecimientos:

Muchas gracias a las empresas, instituciones y colaboradores de la comunidad que ayudan a hacer más accesible la investigación visual de alta resolución.

Cita

@article{birefnet2024,
  title={Bilateral Reference for High-Resolution Dichotomous Image Segmentation},
  author={Birefnet Research Team},
  journal={CAAI Artificial Intelligence Research},
  volume={3},
  pages={9150038},
  year={2024}
}

Contacto

Las preguntas, los debates y las notas de implementación se pueden compartir a través del espacio de trabajo del proyecto. Para comenzar con una guía, usa el flujo de trabajo de birefnet y aporta tu propia imagen o indicación.

Licencia MIT

La documentación del proyecto y la implementación principal se presentan bajo la licencia MIT. Revisa el archivo de licencia adjunto antes de usar cualquier peso de modelo o extensión de terceros.

Comenzar a crear
Comenzar a crear