> 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/french/function-blocks/blocks-reference/ai-blocks/background-removal-birefnet.md).

# Background Removal (BiRefNet)

Ce bloc de fonction réalise une segmentation avant/arrière-plan de haute qualité en utilisant le modèle BiRefNet. Il génère un masque binaire propre pour les régions de premier plan et peut produire une visualisation en superposition verte sur l'image d'origine pour une inspection rapide.

## 📥 Entrées <a href="#inputs" id="inputs"></a>

`Image`\
Fournissez une image RGB/BGR. Le bloc accepte des images de toute taille (les images plus grandes peuvent être redimensionnées en interne pour le traitement).

## 📤 Sorties <a href="#outputs" id="outputs"></a>

`Overlay`\
Image visuelle avec le premier plan segmenté affiché en superposition verte sur l'image d'origine.

`Mask`\
Masque de segmentation binaire où les pixels de premier plan sont blancs (255) et les pixels d'arrière-plan sont noirs (0).

## 🕹️ Contrôles <a href="#controls" id="controls"></a>

Ce bloc fonctionne avec des réglages automatiques et n'expose pas de widgets manuels à l'intérieur du bloc. Pour influencer son comportement, utilisez des blocs auxiliaires avant ou après celui-ci, par exemple :

* `Image Resize` — réduire la taille de l'image d'entrée avant traitement pour améliorer la vitesse et réduire l'utilisation de mémoire
* `Image ROI` — rogner vers une région d'intérêt afin que le modèle se concentre sur une zone plus petite
* `Apply Mask` — combiner l'image d'origine et le masque de manière personnalisée après la segmentation
* `Show Image` — prévisualiser l'`Overlay` ou le `Mask` dans un visualiseur plus grand
* `Image Logger` / `Image Write` — sauvegarder les masques ou les superpositions pour archivage

## ⚙️ Mécanisme d'exécution <a href="#how-it-runs" id="how-it-runs"></a>

* Le bloc charge le modèle de segmentation lors de sa première utilisation. Cela peut télécharger des fichiers de modèle et prendre du temps au premier lancement.
* Si un GPU est disponible, il sera utilisé pour accélérer le traitement ; sinon le CPU sera utilisé.
* Pour chaque image d'entrée, le bloc renvoie un masque binaire et une superposition colorée (teinte verte sur les régions segmentées).
* Les images d'entrée volumineuses augmentent le temps de traitement et l'utilisation mémoire ; il est recommandé de redimensionner l'image avant de l'envoyer au bloc pour des résultats plus rapides.

## 🎯 Fonctionnalités <a href="#features" id="features"></a>

* Segmentation de haute qualité capable de gérer des contours complexes et des détails fins.
* Produit à la fois un masque binaire adapté au traitement en aval et une superposition visuelle pour une inspection rapide.
* Sélection automatique du dispositif (GPU si disponible).
* Fonctionne avec des entrées d'image standard provenant de caméras, de fichiers ou d'autres blocs de traitement.

## 📝 Instructions d'utilisation <a href="#usage" id="usage"></a>

1. Fournissez une image à la prise d'entrée `Image`.
2. Utilisez le `Mask` retourné pour les traitements en aval (mesures, opérations ROI, compositing).
3. Utilisez l'`Overlay` retourné pour prévisualiser la qualité de la segmentation ou présenter les résultats visuellement.

Flux suggérés :

* Pour des exécutions plus rapides, connectez `Image Resize` avant ce bloc.
* Pour segmenter uniquement une partie de la scène, utilisez d'abord `Image ROI`.
* Pour sauvegarder les résultats, connectez `Image Write` ou `Image Logger` aux sorties.
* Pour prévisualiser les résultats lors du développement, attachez `Show Image` à l'`Overlay` ou au `Mask`.

## 💡 Astuces et conseils <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Si vous souhaitez une alternative plus légère, essayez `Background Removal (RMBG-1.4)` — il utilise un modèle différent et peut être plus rapide ou produire des découpes différentes selon l'entrée.
* Éliminez les petits artefacts de masque en utilisant `Morphological Transformations` ou `Image Threshold` après obtention du `Mask`.
* Si les masques semblent bruyants, essayez d'exécuter `Denoising` ou `Blur` avant la segmentation pour réduire les contours parasites.
* Pour traiter des images haute résolution tout en maîtrisant la mémoire, utilisez `Image Resizer` pour réduire l'échelle, effectuez la segmentation, puis utilisez `Image Resize` ou `Super Resolution` pour remonter les résultats si nécessaire.
* Combinez avec des blocs de détection (par exemple, utilisez les résultats d'un détecteur d'objets pour rogner la zone avec `Image ROI` puis exécuter ce bloc pour une suppression d'arrière-plan par objet).

## 🛠️ Dépannage <a href="#troubleshooting" id="troubleshooting"></a>

* Le modèle ne démarre pas ou est très lent au premier usage : le bloc peut être en train de télécharger des fichiers de modèle et d'initialiser. Attendez la fin du téléchargement et de l'initialisation.
* Erreurs de mémoire (Out of Memory) sur GPU : réduisez la taille de l'image d'entrée avec `Image Resize` ou exécutez sur CPU en libérant d'autres charges GPU.
* Le masque contient des trous ou des taches : appliquez `Morphological Transformations` (remplir / ouverture / fermeture) ou augmentez le lissage avec `Blur` avant la segmentation.
* Les structures fines du premier plan sont manquantes : essayez la variante `Background Removal (RMBG-1.4)` pour comparer les résultats.

Remarques :

* Les bibliothèques et modèles requis sont gérés en dehors du bloc ; l'installation des paquets appropriés et l'accès aux téléchargements de modèles sont nécessaires pour que ce bloc fonctionne.
