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.
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 de256x256à2304x2304pour 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 les2048x2048images.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
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
Essayez nos démos en ligne pour l’inférence :
- Inférence et évaluation des poids sélectionnés : ouvrir le workflow d’évaluation
- Inférence en ligne avec une interface graphique et des résolutions ajustables : ouvrir l’espace de travail visuel
- Inférence sur plusieurs images pour un petit lot : ouvrir le workflow par lots
Distinctions :
Plusieurs projets remarquables d’étudiants et de la communauté ont été développés autour de birefnet.
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âche | Jeux d’entraînement | Architecture de base | Télécharger |
|---|---|---|---|
| DIS | DIS5K-TR | swin_v1_large | fichier de modèle |
| COD | COD10K-TR, CAMO-TR | swin_v1_large | fichier de modèle |
| HRSOD | DUTS-TR | swin_v1_large | fichier de modèle |
| HRSOD | DUTS-TR, HRSOD-TR | swin_v1_large | fichier de modèle |
| HRSOD | DUTS-TR, UHRSD-TR | swin_v1_large | fichier de modèle |
| HRSOD | DUTS-TR, HRSOD-TR, UHRSD-TR | swin_v1_large | fichier du modèle |
Modèles entraînés pour un usage général et le détourage
| Tâche | Ensembles d’entraînement | Réseau de base | Ensemble de test | Métrique | Télécharger |
|---|---|---|---|---|---|
| usage général, 2048x2048 | AIM-500, DIS, HIM2K, PPM-100 et ensembles d’images humaines haute résolution | swin_v1_large | DIS-VD | 0.927, 0.894 | fichier du modèle |
| usage général | DIS5K, DIS-TEs, DUTS, HRSOD et UHRSD | swin_v1_large | DIS-VD | 0.911, 0.875 | fichier du modèle |
| usage général | DIS5K et DIS-TEs | swin_v1_tiny | DIS-VD | 0.882, 0.830 | fichier du modèle |
| détourage général | P3M, images humaines, AIM-500, HIM2K et arrière-plans synthétiques | swin_v1_large | TE-P3M | 0.979, 0.988 | fichier de modèle |
| détourage de portraits | ensembles d’images P3M et de personnes | swin_v1_large | P3M-500-P | 0.983, 0.989 | fichier de modèle |
Segmentation guidée par un cadre
Efficacité du modèle
| Temps d’exécution | FP32 | FP16 |
|---|---|---|
| A100 | 86.8ms | 69.4ms |
| 4090 | 95.8ms | 57.7ms |
| V100 | 384ms | 152ms |
Conversion ONNX
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.
-
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
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
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
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
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
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
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
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
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
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
-
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
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
-
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.
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.
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.
- Prérequis: placez les jeux de données dans
${data_root_dir}/TASK_NAME/DATASET_NAME, avec des dossiersimetgtà l’intérieur de chaque jeu de données. - 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.
- Adapter les paramètres: mettez à jour
sys_home_dir,testsets,training_setet les poids de perte pour votre tâche. - 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.
- 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.
| Jeu de test | Score structurel | Score F pondéré | MAE | HCE |
|---|---|---|---|---|
| DIS-TE1 | 0.860 | 0.819 | 0.037 | 106 |
| DIS-TE2 | 0.894 | 0.857 | 0.036 | 266 |
| DIS-TE3 | 0.925 | 0.893 | 0.028 | 569 |
| DIS-VD | 0.891 | 0.854 | 0.038 | 989 |
Résultats qualitatifs
Les comparaisons visuelles portent sur les structures fines, les occlusions partielles, les motifs répétitifs et le camouflage.
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.