Comptage d'objets avec Ultralytics YOLO26#
Qu'est-ce que le comptage d'objets ?#
Le comptage d'objets avec Ultralytics YOLO26 implique l'identification et le comptage précis d'objets spécifiques dans des vidéos et des flux de caméras. YOLO26 excelle dans les applications en temps réel, fournissant un comptage d'objets efficace et précis pour divers scénarios tels que l'analyse de foules et la surveillance, grâce à ses algorithmes de pointe et à ses capacités de deep learning.
Watch: How to Perform Real-Time Object Counting with Ultralytics YOLO26 🚀
Avantages du comptage d'objets#
- Optimisation des ressources : Le comptage d'objets facilite une gestion efficace des ressources en fournissant des dénombrements précis, optimisant l'allocation des ressources dans des applications telles que la gestion des stocks.
- Sécurité renforcée : Le comptage d'objets améliore la sécurité et la surveillance en traçant et en comptant avec précision les entités, ce qui contribue à une détection des menaces proactive.
- Prise de décision éclairée : Le comptage d'objets offre des informations précieuses pour la prise de décision, en optimisant les processus dans le commerce de détail, la gestion du trafic et divers autres domaines.
Applications dans le monde réel#
| Logistique | Aquaculture |
|---|---|
![]() | ![]() |
| Comptage de paquets sur tapis roulant avec Ultralytics YOLO26 | Comptage de poissons en mer avec Ultralytics YOLO26 |
Compte les objets avec YOLO26#
Définis un comptage region — deux points pour une ligne ou trois points ou plus pour un polygone — et transmet-le à la solution ObjectCounter. Le compteur suit chaque objet à travers les images et comptabilise les entrées/sorties (IN/OUT) lorsque les objets suivis franchissent la ligne ou traversent la région, renvoyant une image annotée que tu peux enregistrer dans une vidéo de sortie.
# Run a counting example
yolo solutions count show=True
# Pass a source video
yolo solutions count source="path/to/video.mp4"
# Pass region coordinates
yolo solutions count region="[(20, 400), (1080, 400), (1080, 360), (20, 360)]"L'argument region accepte soit deux points (pour une ligne), soit un polygone comportant trois points ou plus. Définis les coordonnées dans l'ordre où elles doivent être connectées pour que le compteur sache exactement où se produisent les entrées et les sorties.
Arguments de ObjectCounter#
Voici un tableau avec les arguments de ObjectCounter :
| Argument | Type | Défaut | Description |
|---|---|---|---|
model | str | None | Chemin d'accès vers un fichier de modèle YOLO d'Ultralytics. |
show_in | bool | True | Indicateur pour contrôler s'il faut afficher les comptages entrants sur le flux vidéo. |
show_out | bool | True | Indicateur pour contrôler s'il faut afficher les comptages sortants sur le flux vidéo. |
region | list ou dict | None | Points définissant la région d'intérêt, soit une liste de tuples (x, y), soit un dictionnaire associant des noms de région à des listes de points pour plusieurs régions (RegionCounter uniquement). Lorsque réglé sur None, les solutions nécessitant une région se replient sur une valeur par défaut prédéfinie. |
line_width | int | 2 | Épaisseur de ligne pour les boîtes, les points clés et les comptes tracés par la solution. |
verbose | bool | True | Active le journal par trame de la solution concernant la forme d'entrée, les comptes de classes et la vitesse de traitement. L'appel de suivi reste toujours silencieux. |
La solution ObjectCounter permet d'utiliser plusieurs arguments track :
| Argument | Type | Défaut | Description |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Spécifie l'algorithme de suivi à utiliser. Options intégrées : botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.25 | Définit le seuil de confiance pour les détections ; des valeurs plus faibles permettent de suivre plus d'objets, mais peuvent inclure des faux positifs. |
iou | float | 0.7 | Définit le seuil d'Intersection over Union (IoU) pour filtrer les détections qui se chevauchent. |
classes | list | None | Filtre les résultats par index de classe. Par exemple, classes=[0, 2, 3] ne suit que les classes spécifiées. |
device | str | None | Spécifie le périphérique pour l'inférence (par exemple, cpu, cuda:0 ou 0). Permet aux utilisateurs de choisir entre le CPU, un GPU spécifique ou d'autres périphériques de calcul pour l'exécution du modèle. |
De plus, les arguments de visualisation listés ci-dessous sont pris en charge :
| Argument | Type | Défaut | Description |
|---|---|---|---|
show | bool | False | Si True, affiche les images ou vidéos annotées dans une fenêtre. Utile pour un retour visuel immédiat pendant le développement ou les tests. |
show_conf | bool | True | Affiche le score de confiance pour chaque détection à côté de l'étiquette. Donne un aperçu de la certitude du modèle pour chaque détection. |
show_labels | bool | True | Affiche les étiquettes pour chaque détection dans la sortie visuelle. Permet une compréhension immédiate des objets détectés. |
FAQ#
Utiliser Ultralytics YOLO26 pour le comptage d'objets offre plusieurs avantages :
- Optimisation des ressources : Il facilite une gestion efficace des ressources en fournissant des dénombrements précis, aidant à optimiser l'allocation des ressources dans des secteurs tels que la gestion des stocks.
- Sécurité renforcée : Il améliore la sécurité et la surveillance en traçant et en comptant avec précision les entités, ce qui contribue à une détection proactive des menaces et aux systèmes de sécurité.
- Prise de décision éclairée : Cela offre des informations précieuses pour la prise de décision, optimisant les processus dans des domaines comme le commerce de détail, la gestion du trafic, et plus encore.
- Traitement en temps réel : L'architecture de YOLO26 permet une inférence en temps réel, ce qui le rend adapté aux flux vidéo en direct et aux applications sensibles au temps.
Pour des exemples d'implémentation et des applications pratiques, explore la solution TrackZone pour suivre des objets dans des zones spécifiques.
Pour compter des classes d'objets spécifiques en utilisant Ultralytics YOLO26, tu dois spécifier les classes qui t'intéressent pendant la phase de suivi. Voici un exemple en Python :
import cv2 from ultralytics import solutions def count_specific_classes(video_path, output_video_path, model_path, classes_to_count): """Count specific classes of objects in a video.""" cap = cv2.VideoCapture(video_path) assert cap.isOpened(), "Error reading video file" w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS)) video_writer = cv2.VideoWriter(output_video_path, cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h)) line_points = [(20, 400), (1080, 400)] counter = solutions.ObjectCounter(show=True, region=line_points, model=model_path, classes=classes_to_count) while cap.isOpened(): success, im0 = cap.read() if not success: print("Video frame is empty or processing is complete.") break results = counter(im0) video_writer.write(results.plot_im) cap.release() video_writer.release() cv2.destroyAllWindows() count_specific_classes("path/to/video.mp4", "output_specific_classes.avi", "yolo26n.pt", [0, 2])Dans cet exemple,
classes_to_count=[0, 2]signifie qu'il compte les objets des classes0et2(par exemple, personne et voiture dans le jeu de données COCO). Tu peux trouver plus d'informations sur les indices de classe dans la documentation du jeu de données COCO.Ultralytics YOLO26 offre plusieurs avantages par rapport à d'autres modèles de détection d'objets comme Faster R-CNN, SSD et les versions précédentes de YOLO :
- Vitesse et efficacité : YOLO26 offre des capacités de traitement en temps réel, ce qui le rend idéal pour les applications nécessitant une inférence à haute vitesse, telles que la surveillance et la conduite autonome.
- Accuracy : Il offre une précision de détection et de suivi de pointe, ce qui réduit les faux positifs et améliore la fiabilité globale du système.
- Facilité d'intégration : YOLO26 offre une intégration transparente avec diverses plateformes et appareils, y compris les appareils mobiles et de périphérie, ce qui est crucial pour les applications IA modernes.
- Flexibilité : Prend en charge les tâches de detection et de segmentation avec le track mode par-dessus, ainsi que des modèles configurables pour répondre aux exigences de cas d'utilisation spécifiques.
Consulte la documentation de YOLO26 d'Ultralytics pour une plongée en profondeur dans ses fonctionnalités et ses comparaisons de performances.
Oui, Ultralytics YOLO26 est parfaitement adapté aux applications avancées comme l'analyse de foule et la gestion du trafic grâce à ses capacités de détection en temps réel, son évolutivité et sa flexibilité d'intégration. Ses fonctionnalités avancées permettent un suivi, un comptage et une classification d'objets de haute précision dans des environnements dynamiques. Quelques exemples d'utilisation incluent :
- Analyse de foule : Surveille et gère les grands rassemblements, garantissant la sécurité et optimisant le flux de foule avec le comptage basé sur les régions.
- Gestion du trafic : Suis et compte les véhicules, analyse les schémas de circulation et gère la congestion en temps réel grâce aux capacités d'estimation de la vitesse.
- Analyses de commerce de détail : Analyse les modèles de déplacement des clients et les interactions avec les produits pour optimiser l'agencement des magasins et améliorer l'expérience client.
- Automatisation industrielle : Compte les produits sur les tapis roulants et surveille les lignes de production pour le contrôle qualité et l'amélioration de l'efficacité.
Pour des applications plus spécialisées, explore les Solutions Ultralytics pour un ensemble complet d'outils conçus pour relever les défis de vision par ordinateur du monde réel.


Pour compter des objets dans une vidéo avec Ultralytics YOLO26, tu peux suivre ces étapes :
cv2,ultralytics).Voici un exemple simple pour le comptage dans une zone :
Pour des configurations et des options plus avancées, consulte la solution RegionCounter pour compter des objets dans plusieurs régions simultanément.