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 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 True affiche 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 None La 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 :
-
Clonez le dépôt Ultralytics et accédez au répertoire :
-
Exécuter le script de comptage des régions :
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 :
- 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.
- 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.
- 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.
- 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.