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.
Link to this sectionObjekte mit YOLO26 zuordnen#
VisionEye legt einen festen Beobachtungspunkt im Frame fest und zieht einen Strahl von diesem zu jedem verfolgten Objekt, damit du visualisieren kannst, wie eine Szene aus einem Blickwinkel aussieht. Setze vision_point auf die Pixelkoordinaten des Beobachters und führe die Lösung dann mit deiner Videodatei über die Python API oder das CLI aus.
# 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, indem ein fester Sichtpunkt im Frame eingerichtet und Linien von diesem Punkt zu den erkannten Objekten gezeichnet werden. Dies simuliert, wie menschliche Sichtweise mehrere Objekte von einem einzigen Standpunkt aus fokussiert. Die Lösung verwendet object tracking, um eine konsistente Identifizierung von Objekten über Frames hinweg beizubehalten und eine visuelle Darstellung der räumlichen Beziehung zwischen dem Beobachter (Sichtpunkt) und den Objekten in der Szene zu erstellen.
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 distance calculation oder speed estimation kannst du umfassende Systeme aufbauen, die nicht nur Objekte verfolgen, sondern auch deren räumliche Beziehungen und Verhalten verstehen.
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.
Weitere Informationen zu Anwendungen und Vorteilen findest du in der Ultralytics YOLO26 documentation.
Link to this sectionWie 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 die Experimentnachverfolgung, Zusammenarbeit und Reproduzierbarkeit verbessert. Folge den detaillierten Anleitungen dazu, how to use YOLOv5 with Comet und wie du integrate YOLO26 with ClearML, um loszulegen.
Für weitere Erkundungen und Integrationsbeispiele sieh dir unseren Ultralytics Integrations Guide an.