Abrir o espaço de trabalho do modelo visão em alta resolução

Segmentação em alta resolução com birefnet

Máscaras prontas para imagens.

Bordas nítidas Várias tarefas Kit de ferramentas MIT
Experimente o birefnet
prompt / imagem
Exemplos de entrada um toque

Imagem pronta · fluxo de trabalho em uma linha · comece em segundos

birefnet / segmentação de imagens em alta resolução
principal MIT notas do modelo
Arquivos do repositório
Usar o modelo
Atualização mais recente · guias de modelo atualizados e notas de avaliação fonte / birefnet
Arquivo Atualizado
avaliação recente
modelos recente
tutoriais recente
.gitignore recente
LICENSE recente
README.md recente
config.py recente
dataset.py recente
eval_existingOnes.py recente
gen_best_ep.py recente
image_proc.py recente
inference.py recente
loss.py recente
make_a_copy.sh recente
requirements.txt recente
rm_cache.sh recente
sub.sh recente
test.sh recente
train.py recente
train.sh recente
train_test.sh recente
utils.py recente

Referência Bilateral para Segmentação de Imagens em Alta Resolução

Um espaço de trabalho voltado à pesquisa para máscaras nítidas, bordas difíceis e experimentos visuais reproduzíveis.

Artigo de periódico Projeto MIT Modelo Múltiplas imagens Inferência Orientação por caixa
DIS-Sample_1
Um pavilhão tradicional ao lado de águas reflexivas, apresentado como um estudo de segmentação de primeiro plano em alto contraste.
DIS-Sample_2
Um ornamento dourado radial com raios e contas delicados, apresentado como um estudo desafiador de segmentação em alta resolução.

Este é o espaço de trabalho oficial do birefnet para Referência Bilateral para Segmentação Dicotômica de Imagens em Alta Resolução, adaptado aqui como um ponto de partida prático para extração de primeiro plano em alta resolução, composição e tarefas relacionadas de imagens binárias.

Observação

O trabalho em alta resolução se beneficia de hardware capaz. A família de modelos foi projetada para preservar a estrutura à medida que as imagens aumentam, enquanto o conjunto de ferramentas ao redor mantém os experimentos fáceis de reproduzir.

Novidades 📰

  • Sep 23, 2025: O caminho de atenção foi atualizado com uma implementação oficial de SDPA do PyTorch para reduzir a pressão sobre a memória durante o treinamento e a inferência.
  • Jun 30, 2025: O refinamento do primeiro plano foi acelerado com um caminho de estimativa rápida assistido por GPU e um pré-processamento mais limpo de arrays.
  • May 15, 2025: Foi lançado um tutorial gravado sobre o ajuste fino do birefnet em dados personalizados para quem prefere um passo a passo guiado.
  • Mar 31, 2025: O caminho de modelo dinâmico foi ampliado para resoluções de 256x256 a 2304x2304 para uso geral mais robusto.
  • Feb 12, 2025: Uma variante de matting em maior resolução foi adicionada para fluxos de trabalho que precisam de bordas mais suaves e transições mais naturais.
  • Feb 1, 2025: O modelo de alta resolução para uso geral foi publicado com treinamento centralizado em 2048x2048 imagens.
  • Jan 6, 2025: A inferência em FP16 foi validada com qualidade praticamente inalterada e menor uso de memória em GPUs compatíveis.
  • Dec 5, 2024: Foram implementadas correções de compatibilidade para a compilação atual do PyTorch e o treinamento acelerado de precisão mista.
  • Nov 28, 2024: Um projeto estudantil desenvolvido com birefnet recebeu reconhecimento em uma competição nacional de inovação.
  • Oct 26, 2024: A documentação ganhou um guia dedicado ao fine-tuning de pesos existentes em conjuntos de dados personalizados.
  • Oct 6, 2024: Pesos de matting sem trimap foram adicionados para fluxos de trabalho gerais de primeiro plano.
  • Sep 24, 2024: Um modelo leve de 2K e um notebook de inferência de vídeo foram publicados para entradas de maior resolução.
  • Aug 30, 2024: Notebooks de inferência local e conversão para ONNX foram adicionados à pasta de tutoriais.
  • Aug 23, 2024: O trabalho de pesquisa foi publicado oficialmente online, junto com o lançamento público do projeto.
  • Aug 19, 2024: Os arquivos de modelo ONNX para os pesos disponíveis foram reunidos com notas de conversão.
  • Jul 28, 2024: Exemplos de segmentação orientada por caixas foram adicionados para uma seleção de objetos mais controlada.
  • Jul 15, 2024: O carregamento do modelo em uma linha foi documentado para um primeiro experimento mais rápido.
  • May 28, 2024: O zoológico de modelos foi ampliado com pesos para uso geral, matting, DIS, HRSOD e COD.
  • May 7, 2024: Um notebook de inferência para múltiplas imagens foi publicado para experimentação em lote.
  • Mar 7, 2024: O código de treinamento, os utilitários de avaliação e os pesos específicos de cada tarefa foram organizados no projeto público.
  • Jan 7, 2024: O artigo original e a implementação inicial foram publicados.

🚀 Carregue o birefnet em UMA LINHA

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

🛬 Parceiro de inferência:

Você pode acessar o fluxo de trabalho de inferência do birefnet por meio do espaço de trabalho do modelo ou use a opção de implantação para configurar seu próprio ambiente.

Nossos modelos birefnet foram projetados para tarefas exigentes de alta resolução
A família de modelos abrange segmentação de primeiro plano, detecção de objetos camuflados, detecção de objetos salientes em alta resolução, matting e extração guiada. O melhor checkpoint depende da tarefa e da resolução da imagem de entrada.

Experimente nossas demonstrações on-line para inferência:

Uma bancada de trabalho escura no navegador, mostrando uma entrada de imagem, uma máscara de primeiro plano em alto contraste e um painel compacto de avaliação.

Prêmios:

Alguns projetos de destaque de estudantes e da comunidade foram desenvolvidos com o birefnet.
Reconhecimento de projetos da comunidade
Um certificado formal de prêmio de inovação com borda azul sobre uma mesa, fotografado de frente com uma apresentação acadêmica discreta.

Catálogo de modelos

Para ampliar o uso prático, a implementação da pesquisa original foi expandida em variantes do modelo para diferentes tamanhos de imagem, tarefas e restrições de implantação.

Os conjuntos de dados e os pesos dos modelos de base são organizados por tarefa para que os experimentos possam começar a partir de uma referência conhecida.

Os registros de desempenho e os mapas previstos são mantidos junto às configurações dos experimentos correspondentes.

Modelos do artigo original para comparação com benchmarks
TarefaConjuntos de treinamentoBackboneBaixar
DISDIS5K-TRswin_v1_largearquivo do modelo
CODCOD10K-TR, CAMO-TRswin_v1_largearquivo do modelo
HRSODDUTS-TRswin_v1_largearquivo do modelo
HRSODDUTS-TR, HRSOD-TRswin_v1_largearquivo do modelo
HRSODDUTS-TR, UHRSD-TRswin_v1_largearquivo do modelo
HRSODDUTS-TR, HRSOD-TR, UHRSD-TRswin_v1_largearquivo do modelo
Modelos treinados para uso geral e matting
TarefaConjuntos de treinamentoArquitetura baseConjunto de testeMétricaBaixar
uso geral, 2048x2048AIM-500, DIS, HIM2K, PPM-100 e conjuntos de pessoas em alta resoluçãoswin_v1_largeDIS-VD0.927, 0.894arquivo do modelo
uso geralDIS5K, DIS-TEs, DUTS, HRSOD e UHRSDswin_v1_largeDIS-VD0.911, 0.875arquivo do modelo
uso geralDIS5K e DIS-TEsswin_v1_tinyDIS-VD0.882, 0.830arquivo do modelo
matting geralP3M, conjuntos de pessoas, AIM-500, HIM2K e fundos sintetizadosswin_v1_largeTE-P3M0.979, 0.988arquivo do modelo
matting de retratosconjuntos de imagens P3M e de pessoasswin_v1_largeP3M-500-P0.983, 0.989arquivo do modelo
Segmentação guiada por caixa
Use uma caixa de orientação para concentrar a segmentação em uma região selecionada antes de refinar a máscara.
Eficiência do modelo
Tempo de execuçãoFP32FP16
A10086.8ms69.4ms
409095.8ms57.7ms
V100384ms152ms
Conversão para ONNX
O processo de conversão exporta os pesos treinados para inferência local. A compatibilidade entre o ambiente de execução, CUDA e cuDNN deve ser verificada antes da implantação.

Criações de terceiros

Várias aplicações da comunidade usam birefnet como backend ou nó. Os exemplos abaixo mantêm o mesmo espírito prático e focado em cliques do projeto original.

  1. Aplicações

    Removedor de fundo: um fluxo compacto no navegador para remover fundos de fotos com uma variante leve do birefnet.

    Abrir fluxo de trabalho
    Uma interface clara no navegador com uma área de upload para o removedor de fundo, detalhes em rosa suave e um fluxo de trabalho claro com um clique.

    Remoção no navegador: uma interface com prioridade para o processamento local mantém a imagem no dispositivo enquanto a máscara é calculada no navegador.

    Abrir fluxo de trabalho
    Uma ferramenta clara no navegador mostrando uma etapa de upload de foto e uma prévia com fundo transparente, apresentada como um fluxo de trabalho local e privado.

    Fluxo de inferência flexível: um pipeline visual conecta a entrada de imagem, a configuração do modelo, o refinamento e a visualização da saída.

    Abrir fluxo de trabalho
    Um fluxo de trabalho de imagem escuro baseado em nós, conectando entrada, configurações do modelo, refinamento da máscara e prévias da saída.

    Integração com o ComfyUI: um painel baseado em nós disponibiliza a segmentação e a conversão de máscaras dentro de um fluxo de trabalho visual.

    Abrir fluxo de trabalho
    Um editor visual de nós escuro, com nós de entrada de imagem, segmentação, conversão de máscara e visualização conectados em uma grade.

    Serviço de recorte de vídeo: o birefnet pode servir como mecanismo de primeiro plano para fluxos de trabalho de remoção de fundo em vídeos curtos.

    Abrir fluxo de trabalho
    Uma prévia cinematográfica de edição de vídeo mostrando uma dançarina isolada sobre um tabuleiro xadrez transparente ao lado do quadro original.

    Nó no estilo Invoke: um primitivo simples de imagem alimenta um nó de remoção de fundo com refinamento opcional do primeiro plano.

    Abrir fluxo de trabalho
    Um gráfico de nós escuro e refinado, com um primitivo de imagem conectado a um nó de remoção de fundo e a uma saída de galeria.

    Geração de assets 2D: a extração do primeiro plano se combina com ferramentas criativas para produzir assets recortados e limpos para design e pré-visualização.

    Abrir fluxo de trabalho
    Um espaço de trabalho de design 3D mostrando vários recortes coloridos de personagens dispostos sobre um piso de estúdio reflexivo.

    Efeitos de texto atrás do sujeito: extrair o primeiro plano permite posicionar a tipografia entre o sujeito e a cena original.

    Abrir fluxo de trabalho
    Uma composição de design com um sujeito em primeiro plano passando à frente de letras editoriais brancas de grandes dimensões.

    Utilitário do Stable Diffusion: um painel de modelo adiciona a extração do primeiro plano a um fluxo de trabalho de geração de imagens, com visualizações da máscara e da saída transparente.

    Abrir fluxo de trabalho
    Um painel escuro de utilitário de geração de imagens exibindo um retrato original de fantasia, um sujeito recortado e uma prévia de máscara branca.

    Playground de modelo online: uma interface focada em entrada e resultado oferece controles úteis sem exigir uma configuração local.

    Abrir fluxo de trabalho
    Um playground de modelos claro, com uma imagem de sapo carregada à esquerda e um resultado isolado e nítido à direita.
  2. Extensões do modelo

    Modelos de primeiro plano para anime: dados ajustados podem adaptar o birefnet a personagens ilustrados e obras de arte estilizadas, nas quais cabelos, fitas e bordas de fantasias são importantes.

    Explorar extensão
    Uma grade de comparação com quatro linhas de personagens ilustrados coloridos, exibidos contra um fundo azul-petróleo com máscaras em primeiro plano.

    Inferência leve: ambientes de execução alternativos e formatos compactos facilitam levar a segmentação para 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);

    Dados privados de maior qualidade: o treinamento específico para a tarefa pode melhorar as máscaras binárias de primeiro plano, especialmente em cenas variadas e limites difíceis de objetos.

    Explorar extensão
    Uma folha de contatos com produtos, retratos, animais selvagens e plantas exibidos ao lado de recortes sobre um tabuleiro xadrez transparente.
  3. Mais comparações visuais

    Comparações lado a lado mostram como o birefnet se comporta em cenas de produtos, retratos e bordas detalhadas do primeiro plano.

    Um painel de comparação escuro mostrando imagens originais, máscaras do birefnet e resultados de modelos semelhantes em exemplos de produtos e retratos.

    Comparações em vídeo destacam a continuidade, a estabilidade da silhueta e a preservação de pequenos detalhes em movimento.

    Um quadro de comparação de vídeo com quatro painéis identificados, mostrando um sujeito animado isolado contra um fundo preto.

Uso

Configuração do ambiente

# 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

Preparação do conjunto de dados

Baixe os conjuntos combinados de treinamento e teste organizados para DIS, COD e HRSOD, ou use os conjuntos de dados oficiais na single_ones pasta. Mantenha as pastas de imagens e de dados de referência alinhadas em cada tarefa.

Preparação dos pesos

Baixe os pesos do backbone no espaço de trabalho do modelo ou nas páginas oficiais dos respectivos projetos antes de iniciar o treinamento ou a inferência local.

Executar

# 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 com dados personalizados

Um tutorial em vídeo explica o processo de ajuste fino do birefnet, da organização do conjunto de dados à seleção do checkpoint.
Uma capa de tutorial limpa, com um título de segmentação em alta resolução, dois exemplos de imagens e badges compactos do projeto.
  1. Pré-requisitos: coloque os conjuntos de dados em ${data_root_dir}/TASK_NAME/DATASET_NAME, com as pastas im e gt dentro de cada conjunto de dados.
  2. Alterar uma tarefa existente: substitua o nome da tarefa existente em todo o projeto pelo nome da sua tarefa personalizada.
  3. Adaptar as configurações: atualize sys_home_dir, testsets, training_set e os pesos da função de perda para a sua tarefa.
  4. Usar pesos existentes: retome o treinamento a partir de um checkpoint e continue o intervalo de épocas a partir do número indicado no nome do arquivo.
  5. Validar o resultado: compare as máscaras no conjunto de validação antes de usar um checkpoint em um fluxo de trabalho de produção.

Pesos bem treinados:

Baixe os arquivos BiRefNet-{TASK}-{EPOCH}.pth do espaço de trabalho do modelo e da coleção de lançamentos. Os mapas previstos, os resumos de desempenho e os logs de treinamento ficam junto das configurações do experimento correspondente.

Os resultados podem variar ligeiramente conforme o hardware e a configuração de treinamento. Uma única GPU adequada pode ser suficiente para inferência em 1024x1024, enquanto o treinamento em resoluções mais altas se beneficia de mais memória.

Quando houver mais GPUs disponíveis, aumente o tamanho do lote e configure os IDs dos dispositivos em config.py para passar do treinamento com uma GPU para o treinamento com várias GPUs.

Algumas das minhas mensagens:

Este projeto começou como uma implementação do DIS e evoluiu para um toolkit mais amplo para segmentação de imagens binárias. Ele pode oferecer suporte a DIS, COD, SOD, imagens médicas e segmentação de anomalias quando a configuração da tarefa é adaptada cuidadosamente.

  • O treinamento com várias GPUs pode ser ativado ou desativado com uma única configuração.
  • As opções de backbone incluem variantes do Swin, variantes do PVT e redes convolucionais.
  • As perdas ponderadas incluem BCE, IoU, SSIM, MAE e termos voltados para regressão.
  • As técnicas de treinamento incluem supervisão em múltiplas escalas, congelamento do backbone e entradas em múltiplas escalas.
  • O collator de dados pode combinar conjuntos de dados em memória para treinamento e testes coordenados.
  • O objetivo é criar uma base reutilizável para novos trabalhos de segmentação visual.

Resultados quantitativos

Os resumos dos benchmarks comparam birefnet com métodos consolidados em conjuntos de dados de alta e baixa resolução.

Um painel de resultados em estilo de pesquisa, com tabelas densas de benchmarks comparando métricas de segmentação em vários conjuntos de dados.
Conjunto de testePontuação de estruturaPontuação F ponderadaMAEHCE
DIS-TE10.8600.8190.037106
DIS-TE20.8940.8570.036266
DIS-TE30.9250.8930.028569
DIS-VD0.8910.8540.038989

Resultados qualitativos

As comparações visuais concentram-se em estruturas estreitas, oclusão parcial, padrões repetidos e camuflagem.

Uma comparação qualitativa em blocos, mostrando cenas de entrada, máscaras de referência, resultados do birefnet e métodos semelhantes em exemplos difíceis de primeiro plano.

Agradecimentos:

Muitos agradecimentos às empresas, instituições e colaboradores da comunidade que ajudam a tornar a pesquisa visual de alta resolução mais acessível.

Citação

@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}
}

Contato

Perguntas, discussões e notas de implementação podem ser compartilhadas no espaço de trabalho do projeto. Para um início guiado, use o fluxo de trabalho do birefnet e use sua própria imagem ou prompt.

Licença MIT

A documentação do projeto e a implementação principal são disponibilizadas sob a licença MIT. Consulte o arquivo de licença correspondente antes de usar quaisquer pesos de modelo ou extensões de terceiros.

Comece a criar
Comece a criar