Ultralytics YOLO27: Trag dich in die Warteliste ein.
Get Started
Grundlagen der Computer Vision·Metriken lesen·Lektion 10/10
LektionAnfänger

Vom Labor in den produktiven Einsatz

Installiere Ultralytics, führe YOLO26 mit deinen eigenen Bildern aus, prüfe die Ausgabe anhand deiner Spezifikation und wähle deinen nächsten Schritt.

Zehn Minuten mit einem vortrainierten Modell beantworten die Frage, von der dein gesamter Plan abhängt: Deckt ein handelsübliches Modell deine Klassen und deine Kamera bereits ab, oder brauchst du eigene Daten? In dieser Lektion installierst du Ultralytics, führst YOLO26 mit realen Bildern aus und prüfst das Ergebnis anhand der Spezifikation, die du in der ersten Lektion erstellt hast.

Lernergebnis

Führe YOLO26 mit deinen eigenen Bildern aus und entscheide anhand der Ausgabe, ob du mit vortrainierten Gewichten einen Prototyp erstellst oder einen Datensatz aufbaust.

Schnellkurs
Wenn du dich bereits auskennst, findest du hier die Kurzfassung.
  1. Installieren: pip install ultralytics, dann yolo checks.

  2. Vorhersagen: yolo predict model=yolo26n.pt source=https://ultralytics.com/images/bus.jpg.

  3. Prüfen: Welche Klassen aus deiner Spezifikation sind vortrainiert, und sitzen die Begrenzungsrahmen auf deinen Bildern richtig?

  4. Wähle anhand der Antwort den nächsten Kurs.

Praxisnah

Installieren#

pip install ultralytics
yolo checks

Die erste Zeile installiert das Python-Paket ultralytics und den Befehl yolo sowie PyTorch, falls es noch nicht installiert ist. Mit yolo checks werden deine Python-, PyTorch- und CUDA-Versionen sowie die von Ultralytics verwendete Hardware angezeigt. So kannst du die Einrichtung überprüfen, bevor du etwas ausführst. Verwende eine neue virtuelle Umgebung; die Schnellstartanleitung behandelt conda-, Docker- und GPU-Einrichtungen.

Python-Version

Das Paket ultralytics lässt sich mit Python 3.8 und neuer installieren, aktuelle PyTorch-Versionen benötigen jedoch Python 3.10 oder neuer. Wenn deine Umgebung älter ist, erstelle zuerst eine neue virtuelle Umgebung mit einer aktuellen Python-Version.

Auswahlmenü „Start Locally“ für PyTorch mit den ausgewählten Optionen Stable, Mac, Pip, Python und Default. Angezeigt wird der Installationsbefehl pip3 für torch, torchvision und torchaudio

Eine GPU, die nicht genutzt wird

Symptom: yolo checks zeigt CPU an, obwohl der Rechner eine NVIDIA-GPU hat, und die Inferenz ist langsam. Ursache: Ein PyTorch-Build ohne GPU-Unterstützung – zum Beispiel das standardmäßige pip-Wheel unter Windows. Lösung: Wähle oben in der PyTorch-Auswahl dein Betriebssystem, deinen Paketmanager und deine CUDA-Version aus, führe den angezeigten Befehl aus und installiere anschließend ultralytics erneut. Auf einem Mac ist wie im Screenshot der Standard-Build richtig; Ultralytics läuft auf der CPU, sofern du nicht device=mps übergibst, um die Apple-GPU zu verwenden.

Eine erste Vorhersage#

from ultralytics import YOLO

model = YOLO("yolo26n.pt")  # lädt das etwa 5 MB große Nano-Modell bei der ersten Verwendung herunter
results = model("https://ultralytics.com/images/bus.jpg", save=True)

for box in results[0].boxes:
    print(model.names[int(box.cls)], round(float(box.conf), 2))

Beide Befehle geben für jedes Bild eine einzeilige Zusammenfassung aus und speichern das annotierte Bild unter runs/detect/predict:

image 1/1 .../bus.jpg: 640x480 4 persons, 1 bus, 19.7ms
Speed: 0.9ms preprocess, 19.7ms inference, 0.4ms postprocess per image at shape (1, 3, 640, 480)
Results saved to runs/detect/predict

Zeile für Zeile: Das Bild wurde für die Inferenz auf 640×480 verkleinert; das Modell hat vier Personen und einen Bus gefunden; die Inferenz dauerte auf einer Laptop-CPU etwa 20 ms. Die Zeile Speed zeigt dir erstmals die Latenz. Vergleiche sie mit der Bildrate in der Eingabezeile deiner Spezifikation. Öffne das gespeicherte Bild: Jeder Begrenzungsrahmen zeigt die Klasse, den Rahmen und die Konfidenz aus der Lektion zur Objekterkennung.

Die Ausgabe anhand deiner Spezifikation prüfen#

FrageWenn jaWenn nein
Gehören deine Klassen zu den 80 COCO-Klassen, die das Modell kennt?Einen Prototyp ohne Training erstellenDu brauchst beschriftete Daten und eine Feinabstimmung (Anleitung zur Feinabstimmung)
Sitzen die Begrenzungsrahmen über deinem Schwellenwert auf deinen Bildern auf den richtigen Objekten?Aufgabe und Perspektive stimmen übereinRechne mit einer Domänenlücke: Sammle Daten von deinen Kameras
Entspricht der Ausgabetyp den Anforderungen deiner Entscheidungsregel?Die Aufgabe beibehaltenGewichte wechseln: -seg, -sem, -depth, -pose, -obb oder -cls
Ist das Modell auf der Zielhardware schnell genug für deine Bildrate?WeitergehenEin kleineres Modell oder ein optimiertes Exportformat ausprobieren

Die erste Frage lässt sich eindeutig beantworten: model.names listet alle Klassen auf, die das vortrainierte Modell kennt. In der Gabelstapler-Spezifikation ist person eine COCO-Klasse, forklift jedoch nicht. Daher kann kein Schwellenwert das vortrainierte Modell dazu bringen, einen Gabelstapler zu erkennen. Das ist das häufigste Ergebnis beim ersten Durchlauf: Das Modell deckt nur einen Teil der Spezifikation ab. Sinnvoll ist es, die Entscheidungslogik zunächst mit den abgedeckten Klassen als Prototyp zu testen und gleichzeitig den Datensatz für die übrigen Klassen aufzubauen.

Was sich im produktiven Einsatz ändert#

Ein eingesetztes Modell trifft auf Bedingungen, die in seinem Datensatz nie vorkamen: neue Kameras, Jahreszeiten, Produkte und Uniformen. Ohne erneutes Training nimmt die Genauigkeit ab. Mit regelmäßigem Training anhand der Daten aus dem laufenden Betrieb erholt sie sich wieder:

Zwei Diagramme zur Modellgenauigkeit im Zeitverlauf: Ein Modell verliert ohne erneutes Training an Genauigkeit, ein regelmäßig neu trainiertes Modell gewinnt mit jeder Aktualisierung wieder an Genauigkeit

Jede Lektion in diesem Kurs ist Teil dieses Kreislaufs: Die Spezifikation beschreibt einen Fehlerfall, die Abdeckungsprüfung zeigt, wo du suchen musst, und der Beschriftungsprüfer sowie die Richtlinie sorgen dafür, dass neue Daten nützlich sind. Saubere Datensatzaufteilungen und aussagekräftige Metriken zeigen dir, ob das erneut trainierte Modell tatsächlich besser ist. Zwei Gewohnheiten helfen von Anfang an: Protokolliere eine Stichprobe von Eingaben und Vorhersagen, auch solche mit niedriger Konfidenz, und behalte den eingefrorenen Testsatz bei, damit alle Modelle anhand derselben Bilder verglichen werden. Unter Beobachtbarkeit und Drift findest du eine ausführliche Anleitung zur Überwachung von Datendrift.

Wie es weitergeht#

KursMach den Kurs, wenn
Leistungsstarke YOLO-Datensätze erstellenDeine Klassen sind nicht vortrainiert oder deine Szenen unterscheiden sich von COCO
Trainiere dein erstes YOLO-ModellDu hast einen beschrifteten Datensatz und möchtest das Modell feinabstimmen
Ultralytics YOLO im produktiven EinsatzDu hast ein Modell und brauchst Export, Tracking und Überwachung
Mit der Ultralytics Platform entwickelnDu möchtest Datenverwaltung, Beschriftung, Training und Bereitstellung an einem Ort erledigen

Möchtest du lieber im Browser arbeiten? Die Ultralytics Platform ermöglicht denselben Ablauf – hochladen, annotieren, trainieren, bereitstellen – ganz ohne lokale Installation:

Ausprobieren

Bearbeite das Lösungsskript: Trage die Klassen aus deiner Spezifikation in spec_classes und deine eigenen Bildpfade in sources ein. Führe das Skript aus und öffne die gespeicherten Ergebnisse. Erstelle eine Tabelle mit den Spalten Bild, erkannte Klassen und Übereinstimmung mit deiner Spezifikation (ja oder nein). Beende die Aufgabe mit einem Satz, der deinen nächsten Schritt und den passenden Kurs nennt.

Commit
git add -A && git commit -m "docs(academy): completed Computer Vision Foundations"
Abgeschlossen, wenn
Du hast die Lektion abgeschlossen, wenn alle folgenden Punkte zutreffen.
  • Du hast YOLO26 mit mindestens drei eigenen Bildern ausgeführt und die gespeicherten Ergebnisse geöffnet.

  • Du weißt, welche Klassen aus deiner Spezifikation vortrainiert sind und für welche du eigene Daten brauchst.

  • Du hast einen Satz formuliert, der deinen nächsten Schritt und den passenden Kurs nennt.

Lösung anzeigen
from pathlib import Path

from ultralytics import YOLO

model = YOLO("yolo26n.pt")

# 1. Which classes in your output line does the pretrained model already know?
spec_classes = {"person", "forklift"}
known = set(model.names.values())
print(f"pretrained: {sorted(spec_classes & known)}  needs your own data: {sorted(spec_classes - known)}")

# 2. What does it find on your images?
sources = [
    "https://ultralytics.com/images/bus.jpg",  # replace with your own images
    "https://ultralytics.com/images/zidane.jpg",
]
for source, result in zip(sources, model.predict(sources, conf=0.25, save=True, verbose=False)):
    names = [result.names[int(c)] for c in result.boxes.cls]
    print(f"{Path(source).name}: {len(names)} detections -> {sorted(set(names))}")
pretrained: ['person']  needs your own data: ['forklift']
bus.jpg: 5 detections -> ['bus', 'person']
zidane.jpg: 3 detections -> ['person', 'tie']

Für die Gabelstapler-Spezifikation gilt: person ist abgedeckt, forklift nicht. Nächster Schritt: Erstelle jetzt mit dem vortrainierten Modell einen Prototyp für die Zonenregel mit Personen und beginne mit Leistungsstarke YOLO-Datensätze erstellen, um Gabelstapleraufnahmen von den Lagerkameras zu sammeln und zu beschriften.

Wie es weitergeht

Kurs abgeschlossen – mach den Abschlusstest, um dein Zertifikat zu erhalten. Mach anschließend mit Leistungsstarke YOLO-Datensätze erstellen weiter, um aus deiner Spezifikation einen trainingsfertigen Datensatz zu erstellen.