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étail | Rues commerçantes |
|---|---|
![]() | ![]() |
| Comptage de personnes dans différentes régions avec Ultralytics YOLO26 | Comptage de foule dans différentes régions avec Ultralytics YOLO26 |
Exemples d'utilisation
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 windowsLe 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 :
| Argument | Type | Défaut | Description |
|---|---|---|---|
model | str | None | Chemin d'accès vers un fichier de modèle Ultralytics YOLO. |
region | list | '[(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 :
| 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.1 | Dé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. |
iou | float | 0.7 | Définit le seuil 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] suit uniquement les classes spécifiées. |
verbose | bool | True | Contrôle l'affichage des résultats de suivi, fournissant une sortie visuelle des objets suivis. |
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 dispositifs de calcul pour l'exécution du modèle. |
De plus, les paramètres de visualisation suivants 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 lors du développement ou des tests. |
line_width | int or None | None | Spé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_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. 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 :
-
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 -
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 :
- 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.
- 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.
- 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.
- 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.

