Ouvrir l’espace de travail du modèle vision haute résolution

Segmentation haute résolution avec birefnet

Des masques prêts à l’emploi.

Contours nets Tâches multiples Boîte à outils MIT
Essayer birefnet
prompt / image
Exemples d’entrées un geste

Prêt pour les images · workflow en une ligne · démarrez en quelques secondes

birefnet / segmentation d’images haute résolution
principal MIT notes du modèle
Fichiers du dépôt
Dernière mise à jour · guides des modèles et notes d’évaluation actualisés source / birefnet
Fichier Mis à jour
évaluation récent
modèles récent
tutoriels récent
.gitignore récent
LICENSE récent
README.md récent
config.py récent
dataset.py récent
eval_existingOnes.py récent
gen_best_ep.py récent
image_proc.py récent
inference.py récent
loss.py récent
make_a_copy.sh récent
requirements.txt récent
rm_cache.sh récent
sub.sh récent
test.sh récent
train.py récent
train.sh récent
train_test.sh récent
utils.py récent

Référence bilatérale pour la segmentation d’images haute résolution

Un espace de travail pour les modèles, conçu pour la recherche sur les masques précis, les contours difficiles et les expériences visuelles reproductibles.

Article scientifique Projet MIT Modèle Images multiples Inférence Guidage par boîte
DIS-Sample_1
Un pavillon traditionnel au bord d’une eau réfléchissante, présenté comme une étude de segmentation du premier plan à contraste élevé.
DIS-Sample_2
Un ornement doré radial aux rayons et aux perles délicats, présenté comme une étude de segmentation haute résolution exigeante.

Voici l’espace de travail officiel de birefnet pour Référence bilatérale pour la segmentation dichotomique d’images haute résolution, adapté ici comme point de départ pratique pour l’extraction de premier plan en haute résolution, le détourage et d’autres tâches connexes de traitement binaire des images.

Remarque

Le travail en haute résolution bénéficie d’un matériel performant. Cette famille de modèles est conçue pour préserver les structures à mesure que la taille des images augmente, tandis que les outils associés facilitent la reproduction des expériences.

Actualités 📰

  • Sep 23, 2025: Le mécanisme d’attention a été mis à jour avec l’implémentation officielle de PyTorch SDPA afin de réduire l’utilisation de la mémoire pendant l’entraînement et l’inférence.
  • Jun 30, 2025: Le raffinement du premier plan a été accéléré grâce à une méthode d’estimation rapide assistée par GPU et à un prétraitement plus simple des tableaux.
  • May 15, 2025: Un tutoriel vidéo sur l’ajustement de birefnet avec des données personnalisées a été publié pour les personnes qui préfèrent être guidées pas à pas.
  • Mar 31, 2025: La prise en charge des résolutions par le modèle dynamique a été étendue de 256x256 à 2304x2304 pour une utilisation générale plus robuste.
  • Feb 12, 2025: Une variante de détourage à plus haute résolution a été ajoutée pour les flux de travail nécessitant des contours plus doux et des transitions plus naturelles.
  • Feb 1, 2025: Le modèle généraliste haute résolution a été publié avec un entraînement centré sur les 2048x2048 images.
  • Jan 6, 2025: L'inférence FP16 a été validée avec une qualité presque inchangée et une consommation mémoire réduite sur les GPU compatibles.
  • Dec 5, 2024: Des correctifs de compatibilité ont été apportés pour la compilation avec les versions actuelles de PyTorch et l'entraînement accéléré en précision mixte.
  • Nov 28, 2024: Un projet étudiant réalisé avec birefnet a été récompensé lors d'un concours national d'innovation.
  • Oct 26, 2024: La documentation s'est enrichie d'un guide dédié à l'affinage des poids existants sur des jeux de données personnalisés.
  • Oct 6, 2024: Des poids de détourage sans trimap ont été ajoutés pour les flux de travail généraux sur les objets au premier plan.
  • Sep 24, 2024: Un modèle léger 2K et un notebook d'inférence vidéo ont été publiés pour les entrées à plus haute résolution.
  • Aug 30, 2024: Des notebooks pour l'inférence locale et la conversion ONNX ont été ajoutés au dossier des tutoriels.
  • Aug 23, 2024: Les travaux de recherche ont été officiellement publiés en ligne, accompagnés d'une version publique du projet.
  • Aug 19, 2024: Les fichiers de modèles ONNX correspondant aux poids disponibles ont été rassemblés avec des notes de conversion.
  • Jul 28, 2024: Des exemples de segmentation guidée par boîte ont été ajoutés pour une sélection d'objets plus contrôlée.
  • Jul 15, 2024: Le chargement du modèle en une seule ligne a été documenté pour accélérer les premières expérimentations.
  • May 28, 2024: Le zoo de modèles a été enrichi de poids pour l'utilisation générale, le détourage, DIS, HRSOD et COD.
  • May 7, 2024: Un notebook d'inférence sur plusieurs images a été publié pour les expérimentations par lots.
  • Mar 7, 2024: Le code d'entraînement, les utilitaires d'évaluation et les poids spécifiques aux tâches ont été organisés dans le projet public.
  • Jan 7, 2024: L'article original et l'implémentation initiale ont été publiés.

🚀 Chargez birefnet en UNE SEULE LIGNE

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

🛬 Partenaire d'inférence :

Vous pouvez accéder au flux de travail d'inférence de birefnet via l' espace de travail du modèle ou utilisez le parcours de déploiement pour configurer votre propre environnement.

Nos modèles birefnet sont conçus pour les tâches haute résolution exigeantes
La famille de modèles couvre la segmentation du premier plan, la détection d’objets camouflés, la détection d’objets saillants en haute résolution, le détourage et l’extraction guidée. Le meilleur checkpoint dépend de la tâche et de la résolution d’entrée.

Essayez nos démos en ligne pour l’inférence :

Un atelier de travail sombre dans le navigateur affichant une image d’entrée, un masque de premier plan à contraste élevé et un panneau d’évaluation compact.

Distinctions :

Plusieurs projets remarquables d’étudiants et de la communauté ont été développés autour de birefnet.
Reconnaissance des projets de la communauté
Un certificat officiel de prix de l’innovation à bordure bleue posé sur un bureau, photographié de face dans une présentation académique sobre.

Zoo de modèles

Pour une utilisation pratique plus large, l’implémentation de recherche originale est étendue en variantes de modèles adaptées à différentes tailles d’image, tâches et contraintes de déploiement.

Les jeux de données et les poids des backbones empaquetés sont organisés par tâche afin que les expériences puissent commencer à partir d’une base de référence connue.

Les journaux de performance et les cartes prédites sont conservés avec les paramètres d’expérience correspondants.

Modèles de l’article original pour la comparaison avec les benchmarks
TâcheJeux d’entraînementArchitecture de baseTélécharger
DISDIS5K-TRswin_v1_largefichier de modèle
CODCOD10K-TR, CAMO-TRswin_v1_largefichier de modèle
HRSODDUTS-TRswin_v1_largefichier de modèle
HRSODDUTS-TR, HRSOD-TRswin_v1_largefichier de modèle
HRSODDUTS-TR, UHRSD-TRswin_v1_largefichier de modèle
HRSODDUTS-TR, HRSOD-TR, UHRSD-TRswin_v1_largefichier du modèle
Modèles entraînés pour un usage général et le détourage
TâcheEnsembles d’entraînementRéseau de baseEnsemble de testMétriqueTélécharger
usage général, 2048x2048AIM-500, DIS, HIM2K, PPM-100 et ensembles d’images humaines haute résolutionswin_v1_largeDIS-VD0.927, 0.894fichier du modèle
usage généralDIS5K, DIS-TEs, DUTS, HRSOD et UHRSDswin_v1_largeDIS-VD0.911, 0.875fichier du modèle
usage généralDIS5K et DIS-TEsswin_v1_tinyDIS-VD0.882, 0.830fichier du modèle
détourage généralP3M, images humaines, AIM-500, HIM2K et arrière-plans synthétiquesswin_v1_largeTE-P3M0.979, 0.988fichier de modèle
détourage de portraitsensembles d’images P3M et de personnesswin_v1_largeP3M-500-P0.983, 0.989fichier de modèle
Segmentation guidée par un cadre
Utilisez un cadre de guidage pour concentrer la segmentation sur une région sélectionnée avant d’affiner le masque.
Efficacité du modèle
Temps d’exécutionFP32FP16
A10086.8ms69.4ms
409095.8ms57.7ms
V100384ms152ms
Conversion ONNX
La procédure de conversion exporte les poids entraînés pour une inférence locale. Vérifiez la compatibilité entre l’environnement d’exécution, CUDA et cuDNN avant le déploiement.

Créations de tiers

Plusieurs applications communautaires utilisent birefnet comme backend ou nœud. Les exemples ci-dessous conservent le même esprit pratique, axé sur les clics, que le projet d’origine.

  1. Applications

    Effaceur d’arrière-plan: un workflow compact dans le navigateur pour supprimer l’arrière-plan des photos avec une variante légère de birefnet.

    Ouvrir le workflow
    Une interface de navigateur claire avec une zone de téléversement pour effacer l’arrière-plan, des accents rose pâle et un workflow simple en un clic.

    Suppression dans le navigateur: une interface privilégiant le traitement local conserve l’image sur l’appareil tandis que le masque est calculé dans le navigateur.

    Ouvrir le workflow
    Un outil de navigateur clair affichant une étape de téléversement de photo et un aperçu sur fond transparent, présenté comme un workflow local privé.

    Workflow d’inférence flexible: un pipeline visuel relie l’entrée d’image, la configuration du modèle, l’affinage et l’aperçu de la sortie.

    Ouvrir le workflow
    Un workflow d’image sombre basé sur des nœuds, reliant l’entrée, les paramètres du modèle, l’affinement du masque et les aperçus de sortie.

    Intégration ComfyUI: un panneau basé sur des nœuds rend la segmentation et la conversion de masque disponibles au sein d’un workflow visuel.

    Ouvrir le workflow
    Un éditeur visuel de nœuds sombre avec des nœuds d’entrée d’image, de segmentation, de conversion de masque et d’aperçu connectés sur une grille.

    Service de détourage vidéo: birefnet peut servir de moteur d’extraction du premier plan pour des workflows courts de suppression d’arrière-plan vidéo.

    Ouvrir le workflow
    Un aperçu cinématographique de montage vidéo montrant une danseuse isolée sur un damier transparent à côté de l’image d’origine.

    Nœud de type Invoke: une primitive d’image simple alimente un nœud de suppression d’arrière-plan avec un affinage facultatif du premier plan.

    Ouvrir le workflow
    Un graphe de nœuds sombre et soigné avec une primitive d’image connectée à un nœud de suppression de l’arrière-plan et à une sortie de galerie.

    Génération d’éléments 2D: l’extraction du premier plan s’associe à des outils créatifs pour produire des éléments détourés propres destinés au design et à la prévisualisation.

    Ouvrir le workflow
    Un espace de travail de conception 3D montrant plusieurs personnages colorés détourés, disposés sur un sol de studio réfléchissant.

    Effets de texte derrière le sujet: l’extraction du premier plan permet de placer une typographie entre le sujet et sa scène d’origine.

    Ouvrir le workflow
    Une composition graphique avec un sujet au premier plan passant devant un lettrage éditorial blanc surdimensionné.

    Utilitaire Stable Diffusion: un panneau de modèle ajoute l’extraction de l’avant-plan à un workflow de génération d’images, avec des vues du masque et du résultat transparent.

    Ouvrir le workflow
    Un panneau utilitaire sombre de génération d’images affichant un portrait fantastique d’origine, un sujet détouré et un aperçu de masque blanc.

    Plateforme de test de modèles en ligne: une interface ciblée pour les entrées et les résultats présente des contrôles utiles sans nécessiter de configuration locale.

    Ouvrir le workflow
    Un espace de test lumineux pour modèle, avec une image de grenouille importée à gauche et un résultat proprement isolé à droite.
  2. Extensions de modèle

    Modèles d’avant-plan pour l’anime: des données affinéess peuvent adapter birefnet aux personnages illustrés et aux œuvres stylisées, où les cheveux, les rubans et les contours des costumes sont importants.

    Explorer l’extension
    Une grille de comparaison à quatre rangées présentant des personnages illustrés colorés sur un arrière-plan turquoise, avec des masques au premier plan.

    Inférence légère: des environnements d’exécution alternatifs et des formats compacts facilitent l’utilisation de la segmentation sur du matériel grand public.

    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);

    Données privées de meilleure qualité: un entraînement spécifique à la tâche peut améliorer les masques binaires d’avant-plan, notamment dans des scènes variées et aux limites d’objets difficiles.

    Explorer l’extension
    Une planche-contact de produits, de portraits, d’animaux sauvages et de plantes présentés à côté de détourages sur damier transparent.
  3. Davantage de comparaisons visuelles

    Les comparaisons côte à côte montrent comment birefnet se comporte sur des scènes de produits, des portraits et des contours d’avant-plan détaillés.

    Un tableau de comparaison sombre montrant des images originales, des masques birefnet et les résultats de modèles voisins sur des exemples de produits et de portraits.

    Les comparaisons vidéo mettent l’accent sur la continuité, la stabilité de la silhouette et la préservation des petits détails en mouvement.

    Une image de comparaison vidéo avec quatre panneaux légendés montrant un sujet animé isolé sur un arrière-plan noir.

Utilisation

Configuration de l’environnement

# 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

Préparation du jeu de données

Téléchargez les ensembles combinés d’entraînement et de test organisés pour DIS, COD et HRSOD, ou utilisez les jeux de données sources officiels dans le single_ones dossier. Gardez les dossiers d’images et de vérité terrain alignés pour chaque tâche.

Préparation des poids

Téléchargez les poids du backbone depuis l’espace de travail du modèle ou leurs pages de projet officielles avant de lancer l’entraînement ou l’inférence locale.

Exécuter

# 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.

🖊️ Affinage sur des données personnalisées

Un tutoriel enregistré explique le processus d’affinage de birefnet, de l’organisation du jeu de données à la sélection du checkpoint.
Une couverture de tutoriel épurée présentant un titre sur la segmentation haute résolution, deux exemples d’images et des badges de projet compacts.
  1. Prérequis: placez les jeux de données dans ${data_root_dir}/TASK_NAME/DATASET_NAME, avec des dossiers im et gt à l’intérieur de chaque jeu de données.
  2. Modifier une tâche existante: remplacez le nom de tâche existant dans tout le projet par le nom de votre tâche personnalisée.
  3. Adapter les paramètres: mettez à jour sys_home_dir, testsets, training_set et les poids de perte pour votre tâche.
  4. Utiliser les poids existants: reprenez l’entraînement à partir d’un checkpoint et poursuivez la plage d’époques à partir du nombre indiqué dans le nom du fichier.
  5. Valider le résultat: comparez les masques sur l’ensemble de validation avant de déployer un checkpoint dans un workflow de production.

Poids bien entraînés :

Téléchargez les fichiers BiRefNet-{TASK}-{EPOCH}.pth depuis l’espace de travail du modèle et la collection des versions. Les cartes prédites, les résumés des performances et les journaux d’entraînement se trouvent à côté des paramètres d’expérience correspondants.

Les résultats peuvent varier légèrement selon le matériel et la configuration d’entraînement. Un seul GPU suffisamment puissant peut suffire pour l’inférence à 1024x1024, tandis que l’entraînement à plus haute résolution bénéficie de davantage de mémoire.

Lorsque plusieurs GPU sont disponibles, augmentez la taille du lot et configurez les identifiants des appareils dans config.py pour passer facilement d’un entraînement sur une seule carte à un entraînement sur plusieurs cartes.

Quelques-uns de mes messages :

Ce projet a commencé comme une implémentation de DIS avant de devenir une boîte à outils plus large pour la segmentation binaire d’images. Il peut prendre en charge DIS, COD, SOD, l’imagerie médicale et la segmentation d’anomalies, à condition d’adapter soigneusement la configuration de la tâche.

  • L’entraînement multi-GPU peut être activé ou désactivé à l’aide d’un seul paramètre.
  • Les architectures de base proposées comprennent des variantes de Swin et de PVT, ainsi que des réseaux convolutifs.
  • Les fonctions de perte pondérées comprennent BCE, IoU, SSIM, MAE et des termes axés sur la régression.
  • Les techniques d’entraînement comprennent la supervision multi-échelle, le gel de l’architecture de base et les entrées multi-échelles.
  • Le module de regroupement des données peut combiner des jeux de données en mémoire pour coordonner l’entraînement et les tests.
  • L’objectif est de fournir une base réutilisable pour de nouveaux travaux en segmentation visuelle.

Résultats quantitatifs

Les synthèses des évaluations comparent birefnet aux méthodes établies sur des jeux de données haute et basse résolution.

Un tableau de résultats de style recherche avec des tableaux de référence denses comparant les métriques de segmentation sur plusieurs jeux de données.
Jeu de testScore structurelScore F pondéréMAEHCE
DIS-TE10.8600.8190.037106
DIS-TE20.8940.8570.036266
DIS-TE30.9250.8930.028569
DIS-VD0.8910.8540.038989

Résultats qualitatifs

Les comparaisons visuelles portent sur les structures fines, les occlusions partielles, les motifs répétitifs et le camouflage.

Une comparaison qualitative en mosaïque montrant des scènes d’entrée, des masques de vérité terrain, les sorties de birefnet et celles de méthodes voisines sur des exemples de premier plan difficiles.

Remerciements :

Un grand merci aux entreprises, aux instituts et aux membres de la communauté qui contribuent à rendre la recherche visuelle haute résolution plus accessible.

Citation

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

Contact

Les questions, discussions et notes d’implémentation peuvent être partagées via l’espace de travail du projet. Pour démarrer avec un accompagnement, utilisez le workflow birefnet et apportez votre propre image ou invite.

Licence MIT

La documentation du projet et son implémentation principale sont proposées sous licence MIT. Consultez le fichier de licence fourni avant d’utiliser des poids de modèle ou des extensions tierces.

Commencer à créer
Commencer à créer