> 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.md).

# Object Detection

Ce bloc-fonction détecte des objets courants dans une image et renvoie à la fois des résultats visuels et structurés. Utilisez-le pour localiser et compter des éléments tels que des personnes, des véhicules et de nombreuses classes COCO. Il propose une configuration rapide du niveau de confiance et de la sélection des classes afin que vous puissiez adapter la détection à votre scénario.

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

* `Image Any` Cette entrée accepte l'image que vous souhaitez analyser.

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

* `Image Any` Image annotée avec des boîtes de détection et des étiquettes.
* `Object Count` Nombre d'objets détectés.
* `Object Center Locations` Positions (centres) des objets détectés (peut être multiple).
* `Object Sizes (w, h)` Paires largeur/hauteur pour chaque objet détecté (peut être multiple).
* `Object Class` Noms des classes pour chaque objet détecté (peut être multiple).
* `Rectangles` Coordonnées des rectangles englobants pour chaque détection (peut être multiple).

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

* `Confidence Threshold %` Curseur pour définir la confiance minimale requise pour accepter une détection. L'augmenter réduit les faux positifs ; la diminuer peut détecter davantage d'objets mais inclure des résultats moins certains.
* `Select Detection Class` Menu déroulant pour choisir un groupe prédéfini de classes (par exemple : All, Human, Animals, Indoor, Outdoor). Sélectionner un groupe de classes plus restreint accélère et cible la détection.

## ⚙️ Fonctionnement <a href="#how-it-works" id="how-it-works"></a>

* Lorsque le bloc s'exécute, il traite l'image entrante avec le détecteur interne et applique le filtre de confiance et de classes sélectionné.
* L'image annotée est retournée avec des sorties structurées : nombre, positions des centres, tailles, noms de classes et coordonnées des rectangles.
* Si le détecteur est en cours de chargement, le bloc affiche un message informatif et attend que le détecteur soit prêt avant de produire des résultats.

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

* Détection prête à l'emploi pour de nombreuses classes courantes.
* Préréglages de groupes de classes pour se concentrer rapidement sur les personnes, les animaux, les objets d'intérieur, d'extérieur ou toutes les classes.
* Sortie visuelle annotée ainsi que sorties numériques/structurées détaillées pour l'automatisation ou la journalisation.
* Contrôles simples pour équilibrer la sensibilité de détection et choisir les classes désirées.

## 📝 Mode d'emploi <a href="#usage" id="usage"></a>

1. Connectez une caméra ou une source d'image à l'entrée `Image Any`.
2. Choisissez un préréglage `Select Detection Class` adapté pour limiter la détection aux classes pertinentes.
3. Ajustez `Confidence Threshold %` pour trouver le bon compromis entre détections manquées et faux positifs.
4. Utilisez les sorties pour piloter la logique en aval, le suivi, la visualisation ou le stockage.

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

* Pour une entrée caméra en direct, utilisez l'un des blocs d'entrée d'image tels que les sources Camera ou les lecteurs de flux pour alimenter le détecteur : les options caméra incluent `Camera USB`, `Camera IP (ONVIF)`, `Stream Reader`, ou `Load Image` pour des tests hors ligne.
* Pour visualiser les détections dans l'interface ou un tableau de bord, connectez la sortie d'image annotée à `Show Image` ou dessinez des superpositions avec `Draw Detections`.
* Pour suivre des objets à travers les images, alimentez les sorties de détection dans `Object_Detection_Tracker` pour obtenir des IDs stables et des trajectoires.
* Si vous ne vous intéressez qu'à une zone spécifique, recadrez d'abord l'entrée avec `Image ROI` ou `Image ROI Select` pour réduire les fausses détections et améliorer les performances.
* Lorsqu'on travaille avec des images très grandes, utilisez `Image Resize` ou `Image Resizer` avant la détection pour accélérer le traitement.
* Enregistrez les images ou séquences intéressantes en raccordant l'image annotée à `Image Logger`, `Multi Image Write` ou `Record Video` lorsqu'un certain nombre d'objets ou une classe spécifique est détecté. Combinez avec des blocs logiques (par exemple `Logic Input` manuel ou des vérifications de seuil) pour déclencher l'enregistrement uniquement sur des événements.
* Combinez avec des blocs d'analyse tels que `Measure Position Distance` ou des vérifications ROI comme `Check Area` pour construire des alertes ou des analyses (par exemple, compter les personnes dans une zone ou mesurer l'espacement).

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

* Si vous voyez trop de faux positifs : augmentez `Confidence Threshold %` ou restreignez `Select Detection Class`.
* Si la détection est lente : redimensionnez l'entrée avec `Image Resize` ou réduisez le nombre de classes recherchées en sélectionnant un groupe plus restreint.
* Si l'image annotée semble vide mais que d'autres sorties montrent des détections : vérifiez que le bloc d'affichage (par exemple `Show Image`) est connecté et reçoit bien l'image annotée.
