Comptage d'objets dans différentes régions avec Ultralytics YOLO 🚀

Qu'est-ce que le comptage d'objets dans des régions ?

Le comptage d'objets dans des régions avec Ultralytics YOLO26 implique de déterminer précisément le nombre d'objets au sein de zones spécifiées en utilisant la vision par ordinateur avancée. Cette approche est précieuse pour optimiser les processus, renforcer la sécurité et améliorer l'efficacité dans diverses applications.



Watch: Object Counting in Different Regions using Ultralytics YOLO26 | Ultralytics Solutions 🚀

Avantages du comptage d'objets dans des régions

  • Précision et exactitude : Le comptage d'objets dans des régions avec une vision par ordinateur avancée garantit des comptages précis et exacts, minimisant les erreurs souvent associées au comptage manuel.
  • Amélioration de l'efficacité : Le comptage d'objets automatisé améliore l'efficacité opérationnelle, fournissant des résultats en temps réel et rationalisant les processus à travers différentes applications.
  • Polyvalence et application : La polyvalence du comptage d'objets dans des régions le rend applicable dans divers domaines, de la fabrication et la surveillance au contrôle du trafic, contribuant à son utilité et son efficacité étendues.

Applications dans le monde réel

Commerce de détailRues commerçantes
Comptage de personnes dans différentes régions avec Ultralytics YOLO26Comptage de foule dans différentes régions avec Ultralytics YOLO26
Comptage de personnes dans différentes régions avec Ultralytics YOLO26Comptage de foule dans différentes régions avec Ultralytics YOLO26

Exemples d'utilisation

Comptage par région avec Ultralytics YOLO
 import cv2

 from ultralytics import solutions

 cap = cv2.VideoCapture("path/to/video.mp4")
 assert cap.isOpened(), "Error reading video file"

 # Pass region as list
 # region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]

 # Pass region as dictionary
 region_points = {
     "region-01": [(50, 50), (250, 50), (250, 250), (50, 250)],
     "region-02": [(640, 640), (780, 640), (780, 720), (640, 720)],
 }

 # Video writer
 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("region_counting.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

 # Initialize region counter object
 regioncounter = solutions.RegionCounter(
     show=True,  # display the frame
     region=region_points,  # pass region points
     model="yolo26n.pt",  # model for counting in regions, e.g., yolo26s.pt
 )

 # Process video
 while cap.isOpened():
     success, im0 = cap.read()

     if not success:
         print("Video frame is empty or processing is complete.")
         break

     results = regioncounter(im0)

     # print(results)  # access the output

     video_writer.write(results.plot_im)

 cap.release()
 video_writer.release()
 cv2.destroyAllWindows()  # destroy all opened windows
Exemple de code Ultralytics

Le module de comptage par région Ultralytics est disponible dans notre section des exemples. Tu peux explorer cet exemple pour personnaliser le code et le modifier selon ton cas d'utilisation spécifique.

Arguments de RegionCounter

Voici un tableau avec les arguments de RegionCounter :

ArgumentTypeDéfautDescription
modelstrNoneChemin d'accès vers un fichier de modèle Ultralytics YOLO.
regionlist'[(20, 400), (1260, 400)]'Liste de points définissant la zone de comptage.

La solution RegionCounter permet l'utilisation de paramètres de suivi d'objets :

ArgumentTypeDéfautDescription
trackerstr'botsort.yaml'Spécifie l'algorithme de suivi à utiliser, par exemple bytetrack.yaml ou botsort.yaml.
conffloat0.1Définit le seuil de confiance pour les détections ; des valeurs plus basses permettent de suivre davantage d'objets mais peuvent inclure des faux positifs.
ioufloat0.7Définit le seuil Intersection over Union (IoU) pour filtrer les détections qui se chevauchent.
classeslistNoneFiltre les résultats par index de classe. Par exemple, classes=[0, 2, 3] suit uniquement les classes spécifiées.
verboseboolTrueContrôle l'affichage des résultats de suivi, fournissant une sortie visuelle des objets suivis.
devicestrNoneSpé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 dispositifs de calcul pour l'exécution du modèle.

De plus, les paramètres de visualisation suivants sont pris en charge :

ArgumentTypeDéfautDescription
showboolFalseSi True, affiche les images ou vidéos annotées dans une fenêtre. Utile pour un retour visuel immédiat lors du développement ou des tests.
line_widthint or NoneNoneSpécifie l'épaisseur de ligne des boîtes englobantes. Si None, l'épaisseur de ligne est automatiquement ajustée en fonction de la taille de l'image. Fournit une personnalisation visuelle pour plus de clarté.
show_confboolTrueAffiche 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_labelsboolTrueAffiche les étiquettes pour chaque détection dans la sortie visuelle. Fournit une compréhension immédiate des objets détectés.

FAQ

Qu'est-ce que le comptage d'objets dans des régions spécifiées avec Ultralytics YOLO26 ?

Le comptage d'objets dans des régions spécifiées avec Ultralytics YOLO26 implique de détecter et de comptabiliser le nombre d'objets au sein de zones définies en utilisant la vision par ordinateur avancée. Cette méthode précise améliore l'efficacité et la précision dans diverses applications telles que la fabrication, la surveillance et le contrôle du trafic.

Comment exécuter le script de comptage d'objets basé sur des régions avec Ultralytics YOLO26 ?

Suis ces étapes pour exécuter le comptage d'objets dans Ultralytics YOLO26 :

  1. Clone le dépôt Ultralytics et accède au répertoire :

    git clone https://github.com/ultralytics/ultralytics
    cd ultralytics/examples/YOLOv8-Region-Counter
  2. Exécute le script de comptage par région :

    python yolov8_region_counter.py --source "path/to/video.mp4" --save-img

Pour plus d'options, visite la section Exemples d'utilisation.

Pourquoi utiliser Ultralytics YOLO26 pour le comptage d'objets dans des régions ?

L'utilisation d'Ultralytics YOLO26 pour le comptage d'objets dans des régions offre plusieurs avantages :

  1. Traitement en temps réel : L'architecture de YOLO26 permet une inférence rapide, ce qui le rend idéal pour les applications nécessitant des résultats de comptage immédiats.
  2. Définition flexible des régions : La solution te permet de définir plusieurs régions personnalisées sous forme de polygones, de rectangles ou de lignes pour répondre à tes besoins de surveillance spécifiques.
  3. Prise en charge multi-classe : Compte simultanément différents types d'objets au sein des mêmes régions, fournissant des analyses complètes.
  4. Capacités d'intégration : Intègre facilement avec les systèmes existants via l'API Python Ultralytics ou l'interface de ligne de commande.

Explore des avantages plus approfondis dans la section Avantages.

Quelles sont les applications réelles du comptage d'objets dans des régions ?

Le comptage d'objets avec Ultralytics YOLO26 peut être appliqué à de nombreux scénarios réels :

  • Analyses de vente au détail : Compte les clients dans différentes sections du magasin pour optimiser l'aménagement et le personnel.
  • Gestion du trafic : Surveille le flux de véhicules sur des segments routiers ou des intersections spécifiques.
  • Fabrication : Suis les produits se déplaçant à travers différentes zones de production.
  • Opérations d'entrepôt : Compte les articles en inventaire dans des zones de stockage désignées.
  • Sécurité publique : Surveille la densité de la foule dans des zones spécifiques pendant des événements.

Explore plus d'exemples dans la section Applications réelles et la solution TrackZone pour des capacités de surveillance supplémentaires basées sur des zones.

Commentaires