Skip to content

Comptage d'objets dans différentes régions à l'aide de Ultralytics YOLO 🚀

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

Le comptage d'objets dans les régions avec Ultralytics YOLO11 consiste à déterminer avec précision le nombre d'objets dans des zones spécifiques à l'aide d'une vision par ordinateur avancée. Cette approche permet d'optimiser les processus, de renforcer la sécurité et d'améliorer l'efficacité dans diverses applications.



Regarder : Comptage d'objets dans différentes régions à l'aide de Ultralytics YOLO11 | Ultralytics Solutions 🚀

Avantages du comptage d'objets dans les régions ?

  • Précision et exactitude : Le comptage d'objets dans les régions grâce à la vision artificielle avancée garantit des comptages précis et exacts, minimisant ainsi les erreurs souvent associées au comptage manuel.
  • Amélioration de l'efficacité : Le comptage automatisé d'objets améliore l'efficacité opérationnelle, en fournissant des résultats en temps réel et en rationalisant les processus dans les différentes applications.
  • Polyvalence et application : La polyvalence du comptage d'objets dans les régions permet de l'appliquer à divers domaines, de la fabrication à la surveillance du trafic, en passant par la surveillance, ce qui contribue à son utilité et à son efficacité étendues.

Applications dans le monde réel

Vente au détail Rues du marché
Comptage de personnes dans différentes régions à l'aide de Ultralytics YOLO11 Comptage des foules dans différentes régions à l'aide de Ultralytics YOLO11
Comptage de personnes dans différentes régions à l'aide de Ultralytics YOLO11 Comptage des foules dans différentes régions à l'aide de Ultralytics YOLO11

Comptage de régions 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="yolo11n.pt",  # model for counting in regions i.e yolo11s.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

Ultralytics Exemple de code

Le module de comptage de régions Ultralytics est disponible dans notre section d'exemples. Vous pouvez explorer cet exemple pour personnaliser le code et le modifier pour l'adapter à votre cas d'utilisation spécifique.

RegionCounter Arguments

Voici un tableau avec les RegionCounter arguments :

Argument Type Défaut Description
model str None Chemin d'accès au fichier modèleYOLO d'Ultralytics .
region list [(20, 400), (1260, 400)] Liste des points définissant la région de comptage.

Le RegionCounter permet d'utiliser des paramètres de suivi des objets :

Argument Type Défaut Description
tracker str 'botsort.yaml' Spécifie l'algorithme de suivi à utiliser, par exemple, bytetrack.yaml ou botsort.yaml.
conf float 0.3 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.5 Définit le seuil d'intersection sur l'union (IoU) pour le filtrage des détections qui se chevauchent.
classes list None Filtre les résultats par indice de classe. Par exemple, classes=[0, 2, 3] ne suit que les classes spécifiées.
verbose bool True Contrôle l'affichage des résultats du suivi, fournissant une sortie visuelle des objets suivis.
device str None Spécifie le dispositif d'inférence (par ex, cpu, cuda:0 ou 0). Permet aux utilisateurs de choisir entre CPU, un GPU spécifique ou d'autres dispositifs de calcul pour l'exécution du modèle.

En outre, les paramètres de visualisation suivants sont pris en charge :

Argument Type Défaut Description
show bool False Si Trueaffiche les images ou vidéos annotées dans une fenêtre. Utile pour un retour d'information visuel immédiat pendant le développement ou les tests.
line_width None or int None Spécifie la largeur de ligne des boîtes de délimitation. Si les NoneLa largeur de la ligne est automatiquement ajustée en fonction de la taille de l'image. Permet une personnalisation visuelle pour plus de clarté.

FAQ

Qu'est-ce que le comptage d'objets dans des régions spécifiques à l'aide de Ultralytics YOLO11 ?

Comptage d'objets dans des régions spécifiques avec Ultralytics YOLO11 consiste à détecter et à compter le nombre d'objets dans des zones définies à l'aide d'un système avancé de vision par ordinateur. 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 par région avec Ultralytics YOLO11 ?

Suivez les étapes suivantes pour exécuter le comptage d'objets dans Ultralytics YOLO11 :

  1. Clonez le dépôt Ultralytics et accédez au répertoire :

    git clone https://github.com/ultralytics/ultralytics
    cd ultralytics/examples/YOLOv8-Region-Counter
    
  2. Exécuter le script de comptage des régions :

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

Pour plus d'options, consultez la section Comptage des régions d'exécution.

Pourquoi utiliser Ultralytics YOLO11 pour le comptage d'objets dans les régions ?

L'utilisation de Ultralytics YOLO11 pour le comptage d'objets dans les régions présente plusieurs avantages :

  1. Traitement en temps réel : L'architecture de YOLO11 permet une inférence rapide, ce qui en fait un outil idéal pour les applications nécessitant des résultats de comptage immédiats.
  2. Définition flexible des régions : La solution vous permet de définir plusieurs régions personnalisées sous forme de polygones, de rectangles ou de lignes afin de répondre à vos besoins spécifiques en matière de surveillance.
  3. Prise en charge de plusieurs classes : Dénombrement simultané de différents types d'objets dans les mêmes régions, ce qui permet de réaliser des analyses complètes.
  4. Capacités d'intégration : Intégration facile avec les systèmes existants grâce à l'APIPython d'Ultralytics ou à l'interface en ligne de commande.

Pour en savoir plus, consultez la section Avantages.

Quelles sont les applications concrètes du comptage d'objets dans les régions ?

Le comptage d'objets avec Ultralytics YOLO11 peut être appliqué à de nombreux scénarios du monde réel :

  • Analyse de la vente au détail : Comptez les clients dans les différentes sections du magasin afin d'optimiser l'agencement et le personnel.
  • Gestion du trafic : Contrôler le flux de véhicules dans des segments de route ou des intersections spécifiques.
  • Fabrication : Suivre les produits circulant dans les différentes zones de production.
  • Opérations d'entrepôt : Compter les articles en stock dans les zones de stockage désignées.
  • Sécurité publique : Contrôler la densité de la foule dans des zones spécifiques pendant les événements.

Découvrez d'autres exemples dans la section Applications réelles et la solution TrackZone pour des capacités supplémentaires de surveillance par zone.

📅C réé il y a 1 an ✏️ Mis à jour il y a 8 jours

Commentaires