Zum Inhalt springen

aaron.de

Hauptmenü
  • Über mich
  • Heim
  • Personentracking mit Ultralytics & YOLO11
  • Allgemein

Personentracking mit Ultralytics & YOLO11

aaron 3. Dezember 2025
ultralytics

Table of Contents

Toggle
  • Einleitung
  • Was ist Ultralytics?
  • Die Architektur: YOLO11
  • Warum kein Training notwendig ist
  • Beispiel
  • Über den Autor
    • aaron

Einleitung

In einem vorangegangenen Artikel wurde der Prozess des Transfer Learnings unter Verwendung des NVIDIA TAO Toolkits beschrieben. Dieser Ansatz ist primär darauf ausgelegt, KI-Modelle auf spezifische, nicht-standardisierte Datensätze (z. B. industrielle Defekterkennung) zu trainieren.

Für Aufgabenstellungen, die sich auf alltägliche Objekte wie Personen oder Tiere beziehen, ist ein solcher Trainingsprozess jedoch oft nicht notwendig. Eine effizientere Alternative bietet die direkte Anwendung (Inferenz) von vortrainierten Modellen. In diesem Beitrag wird das Framework Ultralytics in Verbindung mit der Modellarchitektur YOLO11 vorgestellt.

Was ist Ultralytics?

Ultralytics ist ein Unternehmen und gleichzeitig der Name eines Open-Source-Frameworks, das auf der Deep-Learning-Bibliothek PyTorch basiert. Es fungiert als High-Level-API (Schnittstelle), die komplexe Prozesse der Computer Vision abstrahiert.

Während Frameworks wie TensorFlow oder natives PyTorch eine detaillierte Definition der neuronalen Netzarchitektur und der Trainingsschleifen erfordern, stellt Ultralytics standardisierte Methoden für Training, Validierung und Inferenz bereit. Der Fokus liegt auf der Anwendbarkeit der YOLO-Algorithmen (You Only Look Once). Das Framework ermöglicht die Integration auf verschiedenen Hardware-Architekturen (CPU, NVIDIA GPU, Apple Silicon) mit minimalem Konfigurationsaufwand, da Abhängigkeiten und Treiber-Schnittstellen weitgehend automatisiert verwaltet werden.

Die Architektur: YOLO11

YOLO (You Only Look Once) bezeichnet eine Familie von „Single-Stage-Detectors“. Im Gegensatz zu zweistufigen Verfahren, die zuerst Regionen vorschlagen und diese dann klassifizieren, analysiert YOLO das gesamte Bild in einem einzigen Durchlauf des neuronalen Netzes.

YOLO11 ist die zum Zeitpunkt dieses Artikels aktuelle Iteration dieser Architektur. Die wesentlichen Merkmale sind:

  • Grid-basierte Vorhersage
    Das Bild wird in ein Raster unterteilt. Jede Zelle des Rasters ist dafür verantwortlich, Objekte zu detektieren.
  • Object Detection
    Bounding Boxes (Rechtecke) um Objekte.
  • Instance Segmentation
    Pixelgenaue Maskierung der Objektkonturen.
  • Pose Estimation
    Erkennung von Skelettpunkten bei Personen.

Warum kein Training notwendig ist

Der entscheidende Unterschied zur im NVIDIA TAO-Artikel beschriebenen Methode liegt im verwendeten Datenbestand. Das hier eingesetzte Modell (yolo11l-seg.pt) wurde bereits umfassend auf dem COCO-Datensatz (Common Objects in Context) trainiert. Der COCO-Datensatz ist ein Standard in der Computer-Vision-Forschung und umfasst über 330.000 Bilder, 1.5 Millionen annotierte Objektinstanzen und 80 Objektkategorien (Class ID 0: Person, Class ID 9: Hund).

Beispiel

import cv2
from ultralytics import YOLO

# 1. Lade das Modell
# Das Modell wird beim ersten Start automatisch heruntergeladen.
model = YOLO('yolo11l.pt')  # 'l' steht für Large = sehr präzise

# 2. Pfad zu deinem Video
video_path = "./videos/walk1.mp4" 
cap = cv2.VideoCapture(video_path)

# Video-Eigenschaften für das Speichern
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
out = cv2.VideoWriter('tracked_walk1.mp4', cv2.VideoWriter_fourcc(*'mp4v'), fps, (w, h))

while cap.isOpened():
    success, frame = cap.read()
    if not success:
        break

    # 3. Tracking ausführen
    # persist=True ist wichtig, damit das Tracking über Frames hinweg funktioniert
    # classes=[0, 16] filtert nur nach Person (ID 0) und Hund (ID 16) im COCO-Datensatz
    results = model.track(frame, persist=True, classes=[0, 16], conf=0.5)

    # 4. Ergebnisse auf das Bild zeichnen
    annotated_frame = results[0].plot()

    # Anzeigen (Optional - Fenster mit 'q' schließen)
    cv2.imshow("Tracking", annotated_frame)
    
    # Speichern
    out.write(annotated_frame)

    if cv2.waitKey(1) & 0xFF == ord("q"):
        break

cap.release()
out.release()
cv2.destroyAllWindows()
print("Fertig! Video wurde als output_tracking.mp4 gespeichert.")

Über den Autor

aaron

Administrator

Besuchen Sie die Website Alle Beiträge anzeigen

Post navigation

Previous: Transfer Learning mit NVIDIA TAO

Verwandte Geschichten

brain
  • Allgemein

Transfer Learning mit NVIDIA TAO

aaron 2. Dezember 2025 0
Telegra-Dektop_02
  • Allgemein

Bau eines automatischen KI-News-Bots mit n8n, LLM & Telegram

aaron 26. November 2025 0
REFRAG_Ablauf__Aaron_Kreis_v02
  • Allgemein

RAG vs. REFRAG: Prozessabläufe und Unterschiede

aaron 19. November 2025 0

Möglicherweise haben Sie es verpasst

ultralytics
  • Allgemein

Personentracking mit Ultralytics & YOLO11

aaron 3. Dezember 2025 0
brain
  • Allgemein

Transfer Learning mit NVIDIA TAO

aaron 2. Dezember 2025 0
Telegra-Dektop_02
  • Allgemein

Bau eines automatischen KI-News-Bots mit n8n, LLM & Telegram

aaron 26. November 2025 0
REFRAG_Ablauf__Aaron_Kreis_v02
  • Allgemein

RAG vs. REFRAG: Prozessabläufe und Unterschiede

aaron 19. November 2025 0
Impressum & Datenschutz
Impressum & Datenschutz
Copyright © All rights reserved. | MoreNews von AF themes.