Passer au contenu

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 YOLO11 implique de déterminer précisément le nombre d'objets dans des zones spécifiées en utilisant la vision par ordinateur avancée. Cette approche est précieuse pour optimiser les processus, améliorer la sécurité et accroître l'efficacité dans diverses applications.



Regarder : Comptage d'objets dans différentes régions avec Ultralytics YOLO11 | Solutions Ultralytics 🚀

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 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 automatisé d'objets améliore l'efficacité opérationnelle, fournissant des résultats en temps réel et rationalisant les processus dans différentes applications.
  • Polyvalence et application : La polyvalence du comptage d'objets dans les régions le rend applicable à divers domaines, de la fabrication et de la surveillance à la surveillance du trafic, contribuant à son utilité et à son efficacité généralisées.

Applications concrètes

Vente au détailRues du marché
Comptage de personnes dans différentes régions à l'aide de Ultralytics YOLO11Comptage de foule dans différentes régions à l'aide d'Ultralytics YOLO11
Comptage de personnes dans différentes régions à l'aide de Ultralytics YOLO11Comptage de foule dans différentes régions à l'aide d'Ultralytics YOLO11

Exemples d'utilisation

Comptage de régions à l'aide d'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

Exemple de code Ultralytics

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

RegionCounter Arguments

Voici un tableau avec les RegionCounter arguments :

ArgumentTypePar défautDescription
modelstrNoneChemin d'accès à un fichier modèle Ultralytics YOLO .
regionlist'[(20, 400), (1260, 400)]'Liste des points définissant la région de comptage.

L'argument RegionCounter la solution permet l'utilisation de paramètres de suivi d'objets :

ArgumentTypePar défautDescription
trackerstr'botsort.yaml'Spécifie l'algorithme de suivi à utiliser, par exemple, bytetrack.yaml ou botsort.yaml.
conffloat0.3Définit le seuil de confiance pour les détections ; des valeurs plus basses permettent de suivre plus d'objets, mais peuvent inclure de faux positifs.
ioufloat0.5Définit le seuil Intersection sur 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 périphériques de calcul pour l'exécution du modèle.

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

ArgumentTypePar défautDescription
showboolFalseSi 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.
line_widthNone or intNoneSpécifie la largeur de ligne des boîtes englobantes. Si None, la largeur 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 à l'aide d'Ultralytics YOLO11 ?

Le comptage d'objets dans des régions spécifiques avec Ultralytics YOLO11 implique la détection et le dénombrement des objets dans des zones définies à l'aide d'une vision artificielle 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 la surveillance du trafic.

Comment exécuter le script de comptage d'objets basé sur la région avec Ultralytics YOLO11 ?

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

  1. Clonez le référentiel 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 de région :

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

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

Pourquoi devrais-je utiliser Ultralytics YOLO11 pour le comptage d'objets dans des régions ?

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

  1. Traitement en temps réel : L'architecture de YOLO11 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 de région flexible : La solution vous permet de définir plusieurs régions personnalisées sous forme de polygones, de rectangles ou de lignes pour répondre à vos besoins de surveillance spécifiques.
  3. Prise en charge multi-classes : Comptez simultanément différents types d’objets dans les mêmes régions, offrant ainsi des analyses complètes.
  4. Capacités d’intégration : Intégrez facilement aux systèmes existants grâce à l’API python Ultralytics ou à l’interface de ligne de commande.

Explorez des avantages plus approfondis dans 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 réels :

  • Analyse de vente au détail : Comptez les clients dans différentes sections du magasin afin d’optimiser la disposition et la dotation en personnel.
  • Gestion du trafic : Surveillez le flux de véhicules dans des segments de route ou des intersections spécifiques.
  • Fabrication : Suivre les produits qui se déplacent dans les différentes zones de production.
  • Opérations d’entrepôt : Comptez les articles d’inventaire dans les zones de stockage désignées.
  • Sécurité publique: Surveiller la densité de la foule dans des zones spécifiques lors d'événements.

Explorez d'autres exemples dans la section Applications concrètes et la solution TrackZone pour des capacités de surveillance supplémentaires basées sur des zones.



📅C réé il y a 1 an ✏️ Mis à jour il y a 5 jours
glenn-jocherRizwanMunawarleonnilBurhan-Q

Commentaires