VisionEye Objekt-Mapping mit Ultralytics YOLO26 🚀

Was ist VisionEye Objekt-Mapping?

Ultralytics YOLO26 VisionEye bietet Computern die Fähigkeit, Objekte zu identifizieren und zu lokalisieren, wobei die beobachtende Präzision des menschlichen Auges simuliert wird. Diese Funktionalität ermöglicht es Computern, spezifische Objekte zu erkennen und zu fokussieren, ähnlich wie das menschliche Auge Details aus einem bestimmten Blickwinkel betrachtet.

VisionEye object mapping with YOLO tracking

VisionEye Mapping mit Ultralytics YOLO
# Monitor objects position with visioneye
yolo solutions visioneye show=True

# Pass a source video
yolo solutions visioneye source="path/to/video.mp4"

# Monitor the specific classes
yolo solutions visioneye classes="[0, 5]"

VisionEye Argumente

Hier ist eine Tabelle mit den VisionEye Argumenten:

ArgumentTypStandardBeschreibung
modelstrNonePfad zu einer Ultralytics YOLO-Modelldatei.
vision_pointtuple[int, int](20, 20)Der Punkt, an dem Vision Objekte verfolgt und Pfade mithilfe der VisionEye-Lösung zeichnet.

Du kannst auch verschiedene track Argumente innerhalb der VisionEye Lösung nutzen:

ArgumentTypStandardBeschreibung
trackerstr'botsort.yaml'Legt den zu verwendenden Tracking-Algorithmus fest, z. B. bytetrack.yaml oder botsort.yaml.
conffloat0.1Legt den Konfidenz-Schwellenwert für Detektionen fest; niedrigere Werte ermöglichen die Verfolgung von mehr Objekten, können aber zu falsch-positiven Ergebnissen führen.
ioufloat0.7Legt den Intersection over Union (IoU) Schwellenwert zum Filtern überlappender Detektionen fest.
classeslistNoneFiltert Ergebnisse nach Klassen-Index. Beispiel: classes=[0, 2, 3] verfolgt nur die angegebenen Klassen.
verboseboolTrueSteuert die Anzeige der Tracking-Ergebnisse und liefert eine visuelle Ausgabe der verfolgten Objekte.
devicestrNoneSpezifiziert das Gerät für die Inferenz (z. B. cpu, cuda:0 oder 0). Ermöglicht die Wahl zwischen CPU, einer spezifischen GPU oder anderen Recheneinheiten zur Modellausführung.

Des Weiteren werden einige Visualisierungsargumente unterstützt, wie unten aufgelistet:

ArgumentTypStandardBeschreibung
showboolFalseWenn True, werden die annotierten Bilder oder Videos in einem Fenster angezeigt. Nützlich für direktes visuelles Feedback während der Entwicklung oder beim Testen.
line_widthint or NoneNoneGibt die Linienbreite der Bounding-Boxen an. Wenn None, wird die Linienbreite automatisch basierend auf der Bildgröße angepasst. Bietet visuelle Anpassung für mehr Klarheit.
show_confboolTrueZeigt den Konfidenzwert für jede Erkennung neben dem Label an. Gibt Aufschluss über die Sicherheit des Modells bei jeder Erkennung.
show_labelsboolTrueZeigt Labels für jede Erkennung in der visuellen Ausgabe an. Bietet unmittelbares Verständnis der erkannten Objekte.

Wie VisionEye funktioniert

VisionEye funktioniert, indem ein fester Sehpunkt im Frame etabliert und Linien von diesem Punkt zu den erkannten Objekten gezogen werden. Dies simuliert, wie das menschliche Sehen mehrere Objekte von einem einzigen Standpunkt aus fokussiert. Die Lösung nutzt Objekt-Tracking, um eine konsistente Identifizierung der Objekte über Frames hinweg beizubehalten und so eine visuelle Darstellung der räumlichen Beziehung zwischen dem Beobachter (Sehpunkt) und den Objekten in der Szene zu erstellen.

Die process Methode in der VisionEye Klasse führt mehrere wichtige Operationen aus:

  1. Extrahiert Tracks (BBox, Klassen und Masken) aus dem Eingabebild
  2. Erstellt einen Annotator, um BBox und Labels zu zeichnen
  3. Zeichnet für jedes erkannte Objekt ein Box-Label und erstellt eine Sichtlinie vom Sehpunkt aus
  4. Gibt das annotierte Bild mit Tracking-Statistiken zurück

Dieser Ansatz ist besonders nützlich für Anwendungen, die räumliches Bewusstsein und die Visualisierung von Objektbeziehungen erfordern, wie etwa Überwachungssysteme, autonome Navigation und interaktive Installationen.

Anwendungen von VisionEye

VisionEye Objekt-Mapping hat zahlreiche praktische Anwendungen in verschiedenen Branchen:

  • Sicherheit und Überwachung: Überwache mehrere interessante Objekte von einer festen Kameraposition aus
  • Einzelhandelsanalyse: Verfolge Bewegungsmuster von Kunden in Bezug auf Ladenaufbauten
  • Sportanalyse: Analysiere Spielerpositionierung und -bewegung aus der Perspektive eines Trainers
  • Autonome Fahrzeuge: Visualisiere, wie ein Fahrzeug Objekte in seiner Umgebung "sieht" und priorisiert
  • Mensch-Computer-Interaktion: Erstelle intuitivere Schnittstellen, die auf räumliche Beziehungen reagieren

Durch die Kombination von VisionEye mit anderen Ultralytics Lösungen wie Distanzberechnung oder Geschwindigkeitsschätzung kannst du umfassende Systeme aufbauen, die nicht nur Objekte verfolgen, sondern auch deren räumliche Beziehungen und Verhalten verstehen.

Hinweis

Bei Fragen kannst du dich gerne im Ultralytics Issue-Bereich oder im unten genannten Diskussionsbereich melden.

FAQ

Wie fange ich an, VisionEye Objekt-Mapping mit Ultralytics YOLO26 zu verwenden?

Um mit der Nutzung von VisionEye Objekt-Mapping mit Ultralytics YOLO26 zu beginnen, musst du zuerst das Ultralytics YOLO Paket via pip installieren. Dann kannst du den in der Dokumentation bereitgestellten Beispielcode verwenden, um Objekterkennung mit VisionEye einzurichten. Hier ist ein einfaches Beispiel, um loszulegen:

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

# 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("vision-eye-mapping.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init vision eye object
visioneye = solutions.VisionEye(
    show=True,  # display the output
    model="yolo26n.pt",  # use any model that Ultralytics supports, e.g., YOLOv10
    classes=[0, 2],  # generate visioneye view for specific classes
)

# 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

    results = visioneye(im0)

    print(results)  # access the output

    video_writer.write(results.plot_im)  # write the video file

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

Warum sollte ich Ultralytics YOLO26 für Objekt-Mapping und -Tracking verwenden?

Ultralytics YOLO26 ist bekannt für seine Geschwindigkeit, Genauigkeit und einfache Integration, was es zu einer Top-Wahl für Objekt-Mapping und -Tracking macht. Zu den Hauptvorteilen gehören:

  1. Modernste Leistung: Liefert hohe Genauigkeit bei der Objekterkennung in Echtzeit.
  2. Flexibilität: Unterstützt verschiedene Aufgaben wie Erkennung, Tracking und Distanzberechnung.
  3. Community und Support: Umfangreiche Dokumentation und aktive GitHub Community für Fehlerbehebung und Erweiterungen.
  4. Einfache Bedienung: Intuitive API vereinfacht komplexe Aufgaben und ermöglicht eine schnelle Bereitstellung und Iteration.

Für weitere Informationen zu Anwendungen und Vorteilen, sieh dir die Ultralytics YOLO26 Dokumentation an.

Wie kann ich VisionEye mit anderen Machine Learning Tools wie Comet oder ClearML integrieren?

Ultralytics YOLO26 lässt sich nahtlos in verschiedene Machine Learning Tools wie Comet und ClearML integrieren, was Experiment-Tracking, Zusammenarbeit und Reproduzierbarkeit verbessert. Befolge die detaillierten Anleitungen zur Nutzung von YOLOv5 mit Comet und zur Integration von YOLO26 mit ClearML, um zu starten.

Für weitere Erkundungen und Integrationsbeispiele sieh dir unseren Ultralytics Integrations-Guide an.

Kommentare