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étail | Rues du marché |
---|---|
![]() |
![]() |
Comptage de personnes dans différentes régions à l'aide de Ultralytics YOLO11 | Comptage 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 :
Argument | Type | Par défaut | Description |
---|---|---|---|
model |
str |
None |
Chemin d'accès au fichier de modèle Ultralytics YOLO. |
region |
list |
'[(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 :
Argument | Type | Par 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 basses permettent de suivre plus d'objets, mais peuvent inclure de faux positifs. |
iou |
float |
0.5 |
Définit le seuil Intersection sur 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 périphériques de calcul pour l'exécution du modèle. |
De plus, les paramètres de visualisation suivants sont pris en charge :
Argument | Type | Par 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 pendant le développement ou les tests. |
line_width |
None or int |
None |
Spé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_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 à 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 :
-
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
-
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 :
- 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.
- 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.
- 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.
- 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.