Skip to content

TrackZone utilisant Ultralytics YOLO11

Qu'est-ce que TrackZone ?

TrackZone est spécialisé dans la surveillance d'objets dans des zones désignées d'un cadre plutôt que dans l'ensemble du cadre. Construit sur Ultralytics YOLO11TrackZone intègre la détection et le suivi d'objets dans des zones spécifiques pour les vidéos et les flux de caméras en direct. YOLO11 Les algorithmes avancés et les technologies d'apprentissage profond de TrackZone en font un choix parfait pour les cas d'utilisation en temps réel, offrant un suivi d'objet précis et efficace dans des applications telles que le suivi de foule et la surveillance.

Avantages du suivi d'objets par zones (TrackZone)

  • Analyse ciblĂ©e : Le suivi d'objets dans des zones spĂ©cifiques permet d'obtenir des informations plus ciblĂ©es, de surveiller et d'analyser avec prĂ©cision les zones d'intĂ©rĂŞt, telles que les points d'entrĂ©e ou les zones d'accès restreint.
  • EfficacitĂ© accrue : En limitant la portĂ©e du suivi Ă  des zones dĂ©finies, TrackZone rĂ©duit la charge de calcul, ce qui garantit un traitement plus rapide et des performances optimales.
  • SĂ©curitĂ© renforcĂ©e : Le suivi zonal amĂ©liore la surveillance en contrĂ´lant les zones critiques, ce qui permet de dĂ©tecter rapidement les activitĂ©s inhabituelles ou les failles de sĂ©curitĂ©.
  • Des solutions Ă©volutives : La possibilitĂ© de se concentrer sur des zones spĂ©cifiques permet Ă  TrackZone de s'adapter Ă  diffĂ©rents scĂ©narios, des espaces de vente au dĂ©tail aux environnements industriels, garantissant une intĂ©gration et une Ă©volutivitĂ© sans faille.

Applications dans le monde réel

Agriculture Transport
Suivi des plantes sur le terrain à l'aide de Ultralytics YOLO11 Suivi des véhicules sur la route à l'aide de Ultralytics YOLO11
Suivi des plantes sur le terrain à l'aide de Ultralytics YOLO11 Suivi des véhicules sur la route à l'aide de Ultralytics YOLO11

TrackZone Ă  l'aide de YOLO11 Exemple

# Run a trackzone example
yolo solutions trackzone show=True

# Pass a source video
yolo solutions trackzone show=True source="path/to/video/file.mp4"

# Pass region coordinates
yolo solutions trackzone show=True region=[(150, 150), (1130, 150), (1130, 570), (150, 570)]
import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

# Define region points
region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)]

# Video writer
video_writer = cv2.VideoWriter("object_counting_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init TrackZone (Object Tracking in Zones, not complete frame)
trackzone = solutions.TrackZone(
    show=True,  # Display the output
    region=region_points,  # Pass region points
    model="yolo11n.pt",  # You can use any model that Ultralytics support, i.e. YOLOv9, YOLOv10
    # line_width=2,  # Adjust the line width for bounding boxes and text display
    # classes=[0, 2],  # If you want to count specific classes i.e. person and car with COCO pretrained model.
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    im0 = trackzone.trackzone(im0)
    video_writer.write(im0)

cap.release()
video_writer.release()
cv2.destroyAllWindows()

Argument TrackZone

Voici un tableau avec les TrackZone arguments :

Nom Type DĂ©faut Description
model str None Chemin d'accès au fichier modèle Ultralytics YOLO
region list [(150, 150), (1130, 150), (1130, 570), (150, 570)] Liste des points définissant la région de suivi de l'objet.
line_width int 2 Épaisseur du trait pour les cadres de délimitation.
show bool False Indicateur permettant de contrôler l'affichage ou non du flux vidéo.

Arguments model.track

Argument Type DĂ©faut Description
source str None Spécifie le répertoire source pour les images ou les vidéos. Prend en charge les chemins d'accès aux fichiers et les URL.
persist bool False Permet un suivi persistant des objets entre les images, en conservant les identifiants sur l'ensemble des séquences vidéo.
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.

FAQ

Comment suivre des objets dans une zone spécifique d'une image vidéo à l'aide de Ultralytics YOLO11 ?

Le suivi d'objets dans une zone définie d'une image vidéo est très simple avec Ultralytics YOLO11 . Il suffit d'utiliser la commande ci-dessous pour lancer le suivi. Cette approche garantit une analyse efficace et des résultats précis, ce qui la rend idéale pour des applications telles que la surveillance, la gestion des foules ou tout autre scénario nécessitant un suivi de zone.

yolo solutions trackzone source="path/to/video/file.mp4" show=True

Comment puis-je utiliser TrackZone dans Python avec Ultralytics YOLO11 ?

En quelques lignes de code, vous pouvez mettre en place le suivi des objets dans des zones spécifiques, ce qui facilite son intégration dans vos projets.

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

# Define region points
region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)]

# Video writer
video_writer = cv2.VideoWriter("object_counting_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init TrackZone (Object Tracking in Zones, not complete frame)
trackzone = solutions.TrackZone(
    show=True,  # Display the output
    region=region_points,  # Pass region points
    model="yolo11n.pt",
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    im0 = trackzone.trackzone(im0)
    video_writer.write(im0)

cap.release()
video_writer.release()
cv2.destroyAllWindows()

Comment configurer les points de zone pour le traitement vidéo à l'aide de Ultralytics TrackZone ?

La configuration des points de zone pour le traitement vidéo avec Ultralytics TrackZone est simple et personnalisable. Vous pouvez directement définir et ajuster les zones par le biais d'un script Python , ce qui permet un contrôle précis des zones que vous souhaitez surveiller.

# Define region points
region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)]

# Init TrackZone (Object Tracking in Zones, not complete frame)
trackzone = solutions.TrackZone(
    show=True,  # Display the output
    region=region_points,  # Pass region points
)
📅C réé il y a 8 jours ✏️ Mis à jour il y a 8 jours

Commentaires