Link to this sectionVisionEye View Objekt-Mapping mit Ultralytics YOLO26 🚀#
Link to this sectionWas 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, bestimmte Objekte zu erkennen und sich auf sie zu konzentrieren, ähnlich wie das menschliche Auge Details aus einem bestimmten Blickwinkel wahrnimmt.
# 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]"Link to this sectionVisionEye Argumente#
Hier ist eine Tabelle mit den VisionEye Argumenten:
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
model | str | None | Pfad zu einer Ultralytics YOLO-Modelldatei. |
vision_point | tuple[int, int] | (20, 20) | Der Punkt, an dem VisionEye Objekte verfolgt und Pfade zeichnet. |
Du kannst auch verschiedene track Argumente innerhalb der VisionEye Lösung nutzen:
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Legt den zu verwendenden Tracking-Algorithmus fest. Integrierte Optionen: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.1 | Legt 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. |
iou | float | 0.7 | Legt den IoU-Schwellenwert für das Filtern überlappender Detektionen fest. |
classes | list | None | Filtert Ergebnisse nach Klassenindex. Zum Beispiel verfolgt classes=[0, 2, 3] nur die angegebenen Klassen. |
verbose | bool | True | Steuert die Anzeige der Tracking-Ergebnisse und bietet eine visuelle Ausgabe der verfolgten Objekte. |
device | str | None | Gibt das Gerät für die Inferenz an (z. B. cpu, cuda:0 oder 0). Ermöglicht die Wahl zwischen CPU, einer spezifischen GPU oder anderen Rechengeräten für die Modellausführung. |
Darüber hinaus werden einige Visualisierungsargumente unterstützt, wie unten aufgelistet:
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
show | bool | False | Wenn True, werden die annotierten Bilder oder Videos in einem Fenster angezeigt. Nützlich für sofortiges visuelles Feedback während der Entwicklung oder Tests. |
line_width | int or None | None | Legt die Linienbreite der BBoxen fest. Wenn None, wird die Linienbreite automatisch basierend auf der Bildgröße angepasst. Bietet visuelle Anpassungsmöglichkeiten für mehr Klarheit. |
show_conf | bool | True | Zeigt den Konfidenzwert für jede Erkennung neben dem Label an. Bietet Einblick in die Gewissheit des Modells für jede Erkennung. |
show_labels | bool | True | Zeigt Labels für jede Erkennung in der visuellen Ausgabe an. Ermöglicht ein sofortiges Verständnis der erkannten Objekte. |
Link to this sectionWie VisionEye funktioniert#
VisionEye funktioniert durch die Einrichtung eines festen Blickpunktes im Frame und das Zeichnen von Linien von diesem Punkt zu den erkannten Objekten. Dies simuliert, wie das menschliche Sehen mehrere Objekte aus einem einzigen Blickwinkel fokussiert. Die Lösung verwendet Objekt-Tracking, um eine konsistente Identifizierung von Objekten über Frames hinweg beizubehalten, was eine visuelle Darstellung der räumlichen Beziehung zwischen dem Beobachter (Blickpunkt) und den Objekten in der Szene erzeugt.
Die process Methode in der VisionEye Klasse führt mehrere wichtige Operationen aus:
- Extrahiert Tracks (BBoxes, Klassen und Masken) aus dem Eingabebild
- Erstellt einen Annotator, um BBoxes und Labels zu zeichnen
- Zeichnet für jedes erkannte Objekt ein Box-Label und erstellt eine Sichtlinie vom Blickpunkt aus
- 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 Überwachungssysteme, autonome Navigation und interaktive Installationen.
Link to this sectionAnwendungen von VisionEye#
VisionEye Objekt-Mapping hat zahlreiche praktische Anwendungen in verschiedenen Branchen:
- Sicherheit und Überwachung: Überwache mehrere relevante Objekte von einer festen Kameraposition aus
- Einzelhandelsanalyse: Verfolge Kundenbewegungsmuster in Bezug auf Ladendisplays
- 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 tracken, sondern auch deren räumliche Beziehungen und Verhalten verstehen.
Link to this sectionHinweis#
Bei Fragen kannst du diese gerne im Ultralytics Issue-Bereich oder im unten genannten Diskussionsbereich posten.
Link to this sectionFAQ#
Link to this sectionWie fange ich mit der Nutzung von VisionEye Objekt-Mapping mit Ultralytics YOLO26 an?#
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 Beispielcode in der Dokumentation verwenden, um Objekterkennung mit VisionEye einzurichten. Hier ist ein einfaches Beispiel für den Einstieg:
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 windowsLink to this sectionWarum 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. Die Hauptvorteile sind:
- Modernste Leistung: Liefert hohe Genauigkeit bei der Echtzeit-Objekterkennung.
- Flexibilität: Unterstützt verschiedene Aufgaben wie Erkennung, Tracking und Distanzberechnung.
- Community und Support: Umfangreiche Dokumentation und aktive GitHub Community für Fehlerbehebung und Erweiterungen.
- Benutzerfreundlichkeit: Intuitives API vereinfacht komplexe Aufgaben und ermöglicht schnelle Bereitstellung und Iteration.
Für weitere Informationen zu Anwendungen und Vorteilen, schaue dir die Ultralytics YOLO26 Dokumentation an.
Link to this sectionWie kann ich VisionEye mit anderen Machine Learning Tools wie Comet oder ClearML integrieren?#
Ultralytics YOLO26 lässt sich nahtlos mit verschiedenen Machine Learning Tools wie Comet und ClearML integrieren, was das Experiment-Tracking, die Zusammenarbeit und die Reproduzierbarkeit verbessert. Folge den detaillierten Anleitungen dazu, wie man YOLOv5 mit Comet verwendet und integriere YOLO26 mit ClearML, um loszulegen.
Für weitere Erkundungen und Integrationsbeispiele, schaue dir unseren Ultralytics Integrations-Leitfaden an.