Zum Inhalt springen

TrackZone mit Ultralytics YOLO11

Was ist TrackZone?

TrackZone ist auf die Überwachung von Objekten in bestimmten Bereichen eines Rahmens spezialisiert, nicht auf den gesamten Rahmen. Aufgebaut auf Ultralytics YOLO11TrackZone integriert die Objekterkennung und -verfolgung speziell innerhalb von Zonen für Videos und Live-Kamera-Feeds. YOLO11 Die fortschrittlichen Algorithmen und Deep-Learning-Technologien von TrackZone machen es zu einer perfekten Wahl für Echtzeitanwendungen, da es eine präzise und effiziente Objektverfolgung in Anwendungen wie der Überwachung von Menschenmengen und der Überwachung bietet.

Vorteile der Objektverfolgung in Zonen (TrackZone)

  • Gezielte Analyse: Die Verfolgung von Objekten innerhalb bestimmter Zonen ermöglicht gezieltere Einblicke und damit eine präzise Überwachung und Analyse von Bereichen, die von Interesse sind, z. B. Eingangspunkte oder Sperrzonen.
  • Verbesserte Effizienz: Durch die Eingrenzung des Verfolgungsbereichs auf definierte Zonen reduziert TrackZone den Rechenaufwand und sorgt für eine schnellere Verarbeitung und optimale Leistung.
  • Erhöhte Sicherheit: Die zonale Verfolgung verbessert die Überwachung kritischer Bereiche und hilft bei der frühzeitigen Erkennung von ungewöhnlichen Aktivitäten oder Sicherheitsverletzungen.
  • Skalierbare Lösungen: Die Möglichkeit, sich auf bestimmte Zonen zu konzentrieren, macht TrackZone anpassungsfähig an verschiedene Szenarien, von Einzelhandelsflächen bis hin zu industriellen Umgebungen, und gewährleistet eine nahtlose Integration und Skalierbarkeit.

Anwendungen in der realen Welt

Landwirtschaft Transport
Pflanzenverfolgung im Feld mit Ultralytics YOLO11 Fahrzeugverfolgung auf der Straße mit Ultralytics YOLO11
Pflanzenverfolgung im Feld mit Ultralytics YOLO11 Fahrzeugverfolgung auf der Straße mit Ultralytics YOLO11

TrackZone mit YOLO11 Beispiel

# 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

Hier ist eine Tabelle mit den TrackZone Argumente:

Name Typ Standard Beschreibung
model str None Pfad zu Ultralytics YOLO Modelldatei
region list [(150, 150), (1130, 150), (1130, 570), (150, 570)] Liste der Punkte, die den Objektverfolgungsbereich definieren.
line_width int 2 Linienstärke für Begrenzungsrahmen.
show bool False Flagge zur Steuerung, ob der Videostream angezeigt werden soll.

Argumente model.track

Argument Typ Standard Beschreibung
source str None Gibt das Quellverzeichnis für Bilder oder Videos an. Unterstützt Dateipfade und URLs.
persist bool False Ermöglicht die dauerhafte Verfolgung von Objekten zwischen Einzelbildern, wobei IDs über Videosequenzen hinweg beibehalten werden.
tracker str botsort.yaml Gibt den zu verwendenden Verfolgungsalgorithmus an, z. B., bytetrack.yaml oder botsort.yaml.
conf float 0.3 Legt die Konfidenzschwelle für Erkennungen fest; niedrigere Werte ermöglichen die Verfolgung von mehr Objekten, können aber auch zu falsch positiven Ergebnissen führen.
iou float 0.5 Legt den Schwellenwert für die Überschneidung über die Vereinigung (IoU) zum Filtern von überlappenden Erkennungen fest.
classes list None Filtert die Ergebnisse nach Klassenindex. Zum Beispiel, classes=[0, 2, 3] verfolgt nur die angegebenen Klassen.
verbose bool True Steuert die Anzeige der Verfolgungsergebnisse und liefert eine visuelle Ausgabe der verfolgten Objekte.

FAQ

Wie verfolge ich Objekte in einem bestimmten Bereich oder einer Zone eines Videobildes mit Ultralytics YOLO11 ?

Die Verfolgung von Objekten in einem definierten Bereich oder einer Zone eines Videobildes ist mit Ultralytics YOLO11 ganz einfach. Verwenden Sie einfach den unten angegebenen Befehl, um die Verfolgung zu starten. Dieser Ansatz gewährleistet eine effiziente Analyse und genaue Ergebnisse und ist daher ideal für Anwendungen wie Überwachung, Crowd Management oder andere Szenarien, die eine zonale Verfolgung erfordern.

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

Wie kann ich TrackZone in Python mit Ultralytics YOLO11 verwenden?

Mit nur wenigen Codezeilen können Sie die Objektverfolgung in bestimmten Zonen einrichten und so leicht in Ihre Projekte integrieren.

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()

Wie konfiguriere ich die Zonenpunkte für die Videoverarbeitung mit Ultralytics TrackZone?

Das Konfigurieren von Zonenpunkten für die Videoverarbeitung mit Ultralytics TrackZone ist einfach und anpassbar. Sie können die Zonen direkt über ein Python Skript definieren und anpassen, was eine genaue Kontrolle über die zu überwachenden Bereiche ermöglicht.

# 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
)
📅 Erstellt vor 8 Tagen ✏️ Aktualisiert vor 8 Tagen

Kommentare