> 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/object-detection-custom.md).

# Object Detection - Custom

Ce bloc de fonction détecte des objets dans des images en utilisant des fichiers de modèle personnalisés que vous fournissez. Il vous permet de charger un détecteur (weights, config, et la liste des classes), choisir quelles classes détecter et contrôler la sensibilité de détection avec un simple curseur. Le bloc produit une image annotée ainsi que des données structurées de détection pour un traitement ultérieur.

## 📥 Entrées

`Image Any`\
L'image à analyser pour les détections d'objets.

## 📤 Sorties

`Image Any`\
Image annotée avec boîtes de détection et étiquettes.

`Object Count`\
Nombre d'objets détectés.

`Object Locations`\
Liste des positions centrales des objets détectés (plusieurs sorties possibles).

`Object Sizes (w, h)`\
Largeur et hauteur pour chaque objet détecté (plusieurs sorties possibles).

`Object Class`\
Nom de classe pour chaque objet détecté (plusieurs sorties possibles).

`Rectangles`\
Coordonnées des rectangles englobants pour chaque détection (plusieurs sorties possibles).

## 🕹️ Contrôles

`Open Weight File`\
Bouton pour choisir le fichier de poids du modèle.

`Open Config File`\
Bouton pour choisir le fichier de configuration du modèle.

`Open Class File`\
Bouton pour choisir un fichier texte listant les noms de classes.

`Class Names`\
Tableau listant les classes disponibles ; activez/désactivez chaque classe selon vos besoins.

`Confidence Threshold %`\
Curseur pour régler la sensibilité de confiance de la détection (plus élevé = plus strict).

## ⚙️ Mécanisme d'exécution

* Le bloc nécessite trois ressources pour fonctionner : un fichier de weights, un fichier de config et un fichier de classes. Chargez-les avec les trois boutons de fichier.
* Une fois les fichiers fournis, le détecteur est initialisé et reste prêt tant que vous ne changez pas les fichiers.
* Lorsqu'une image est fournie à l'entrée, le bloc exécute le détecteur sur l'image et fournit en sortie :
  * une image annotée avec boîtes/étiquettes,
  * le compte et les positions,
  * la taille, la classe et les coordonnées de rectangle pour chaque détection.
* Le changement des fichiers de weights ou de config recharge le détecteur afin d'utiliser les nouveaux modèles pour les évaluations suivantes.

## ✨ Fonctionnalités

* Prise en charge de modèles personnalisés (weights, config et liste de classes).
* Sélection des classes à détecter via une checklist simple.
* Seuil de confiance ajustable avec effet immédiat.
* Sorties visuelles et données structurées (comptes, positions, tailles, rectangles).
* Gère plusieurs objets détectés et renvoie les résultats sous forme de listes pour les blocs en aval.

## 📝 Instructions d'utilisation

1. Cliquez sur `Open Weight File` et sélectionnez le fichier de poids du modèle.
2. Cliquez sur `Open Config File` et sélectionnez le fichier de configuration du modèle.
3. Cliquez sur `Open Class File` et sélectionnez le fichier de noms de classes. La liste des classes se remplira automatiquement.
4. Activez uniquement les classes que vous souhaitez détecter dans la table `Class Names`.
5. Ajustez `Confidence Threshold %` pour équilibrer sensibilité et faux positifs.
6. Fournissez l'image à l'entrée `Image Any` et exécutez le scénario pour obtenir l'image annotée et les données de détection.

## 💡 Astuces

* Pour prévisualiser les résultats de manière interactive, connectez la sortie `Image Any` au bloc `Show Image`.
* Si les images d'entrée sont très grandes et que la détection est lente, insérez `Image Resizer` avant ce bloc pour réduire la résolution et augmenter la vitesse de traitement.
* Limitez l'analyse à une zone spécifique avec `Image ROI` ou `Image ROI Select` en amont afin que le détecteur se concentre uniquement sur les régions d'intérêt.
* Pour suivre les détections entre les images, liez les sorties de ce bloc à `Object_Detection_Tracker`.
* Si vous avez besoin de dessins ou d'overlays personnalisés au-delà des annotations intégrées, utilisez `Draw Detections` avec les rectangles de détection et les comptes fournis par ce bloc.
* Enregistrez les images intéressantes avec détections via `Image Logger` ou `Image Write` / `Record Video` pour une revue ultérieure.
* Surveillez les performances et l'utilisation GPU avec `GPU Statistics` lorsque vous utilisez des modèles lourds.

(hint : activez uniquement les classes nécessaires et augmentez le `Confidence Threshold %` pour réduire les faux positifs et accélérer le post-traitement)

## 🛠️ Dépannage

* Fichiers de modèle manquants : assurez-vous que les trois fichiers (weight, config, class list) sont sélectionnés. Le bloc ne peut pas fonctionner sans eux.
* Aucune détection : essayez de baisser `Confidence Threshold %` ou d'activer plus de classes dans la table. Vérifiez aussi que le fichier de classes correspond bien au modèle.
* Trop de fausses détections : augmentez `Confidence Threshold %` et activez uniquement les classes pertinentes pour réduire le bruit.
* Performances lentes : réduisez la taille de l'image d'entrée avec `Image Resizer` ou utilisez des modèles plus petits ; envisagez l'utilisation d'un GPU et surveillez avec `GPU Statistics`.
* Noms de classes incorrects ou fichiers incompatibles : vérifiez que le fichier de classes correspond au modèle chargé (ordre et noms des classes doivent correspondre à l'entraînement du modèle).

## 🔗 Combinaisons de blocs recommandées

* `Show Image` — Prévisualiser la sortie annotée.
* `Image Resizer` — Accélérer la détection sur les grandes images.
* `Image ROI` / `Image ROI Select` — Focaliser la détection sur des zones spécifiques.
* `Object_Detection_Tracker` — Suivre les objets détectés dans le temps.
* `Draw Detections` — Visualisation personnalisée avec les rectangles de détection et les comptes.
* `Image Logger` / `Image Write` / `Record Video` — Sauvegarder les résultats annotés pour audit ou analyse ultérieure.
