Die sieben Bildverarbeitungsaufgaben
Ordne eine Ausgabezeile der Klassifizierung, Objekterkennung, Instanzsegmentierung, semantischen Segmentierung, Tiefenschätzung, Pose oder OBB zu und wähle die YOLO26-Gewichte für den Einstieg.
Die Auswahl der Aufgabe ist die teuerste Entscheidung vor dem Training. Wählst du Segmentierung, obwohl Boxen ausreichen würden, steigen deine Beschriftungskosten erheblich; wählst du aufrechte Boxen für Schiffe, die von einer Drohne aus aufgenommen wurden, besteht jede Box größtenteils aus Wasser. Ultralytics YOLO unterstützt sieben Aufgaben über eine API. Bei der Wahl geht es also um die benötigte Ausgabe – nicht um die Werkzeuge.
Praxisnah
Die sieben Aufgaben im Überblick#

Orientiere dich in der Tabelle an der Ausgabespalte – deine Ausgabezeile muss dazu passen.
| Aufgabe | Ausgabe | Beantwortet | YOLO26-Gewichte |
|---|---|---|---|
| Klassifizierung | Ein Label mit Wahrscheinlichkeit pro Bild | „Was ist auf diesem Bild?“ | yolo26n-cls.pt |
| Objekterkennung | Klasse, Box und Konfidenz pro Objekt | „Was befindet sich wo?“ | yolo26n.pt |
| Instanzsegmentierung | Klasse und Pixelmaske pro Objekt | „Welche genaue Form hat jedes Objekt?“ | yolo26n-seg.pt |
| Semantische Segmentierung | Eine Klasse für jedes Pixel | „Zu welcher Art von Bereich gehört jedes Pixel?“ | yolo26n-sem.pt |
| Tiefenschätzung | Entfernung in Metern für jedes Pixel | „Wie weit entfernt ist jedes Pixel?“ | yolo26n-depth.pt |
| Posenschätzung | Box und Keypoints pro Person oder Objekt | „Welche Haltung hat der Körper?“ | yolo26n-pose.pt |
| Orientierte Bounding-Boxen | Gedrehte Box pro Objekt | „Was befindet sich wo und in welchem Winkel?“ | yolo26n-obb.pt |
Zwei Begriffspaare sorgen oft für Verwirrung. Instanz- und semantische Segmentierung: Die Instanzsegmentierung trennt jedes Objekt voneinander (drei Autos, drei Masken); die semantische Segmentierung ordnet Pixel nur einer Klasse zu (ein „Auto“-Bereich, keine Zählung). Detektion und OBB: Beide liefern eine Box pro Objekt, aber eine OBB ist an das Objekt gedreht. Das ist wichtig, wenn Objekte in Draufsichtbildern schräg liegen.
Eine API, sieben Ausgaben#
Ein Aufgabenwechsel bedeutet nicht, dass du auch das Werkzeug wechseln musst. Die Gewichtsdatei bestimmt, was zurückgegeben wird, und das Results-Objekt füllt das passende Attribut:
from ultralytics import YOLO
image = "https://ultralytics.com/images/bus.jpg"
outputs = ["probs", "boxes", "masks", "semantic_mask", "depth", "keypoints", "obb"]
for suffix in ["-cls", "", "-seg", "-sem", "-depth", "-pose", "-obb"]:
weights = f"yolo26n{suffix}.pt"
model = YOLO(weights)
result = model(image, verbose=False)[0]
filled = [name for name in outputs if getattr(result, name) is not None]
print(f"{weights:18} task={model.task:9} -> {', '.join(filled)}")yolo26n-cls.pt task=classify -> probs
yolo26n.pt task=detect -> boxes
yolo26n-seg.pt task=segment -> boxes, masks
yolo26n-sem.pt task=semantic -> semantic_mask
yolo26n-depth.pt task=depth -> depth
yolo26n-pose.pt task=pose -> boxes, keypoints
yolo26n-obb.pt task=obb -> obbSieh dir die rechte Spalte an: Auch Segmentierung und Posenschätzung liefern Boxen, denn sie ergänzen die Detektion um eine weitere Ausgabe. Semantische Segmentierung und Tiefenschätzung liefern überhaupt keine Ausgabe pro Objekt – sie beschreiben stattdessen jedes Pixel. Dein nachgelagerter Code liest genau eines dieser Attribute aus. Deshalb sollte die Ausgabezeile deiner Spezifikation es benennen.
Die praktische Auswahl#
Überlege zuerst, was eine einzelne Vorhersage beschreiben muss, und wähle dann die einfachste Aufgabe, die die Entscheidungsfrage beantwortet:
- Ein Label für das gesamte Bild → Klassifizierung.
- Eine Klasse für jedes Pixel, ohne dass Objekte voneinander getrennt werden müssen → semantische Segmentierung.
- Eine Entfernung für jedes Pixel → Tiefenschätzung.
- Etwas über jedes Objekt:
- wo es sich befindet, um es zu zählen, zu lokalisieren oder zu filtern → Detektion (ergänze Tracking, um Objekte über mehrere Frames hinweg wiederzuerkennen);
- seine genaue Form, Begrenzung oder Fläche → Instanzsegmentierung;
- seine Körperhaltung → Posenschätzung;
- seine Drehung in Draufsichtbildern → OBB.
Wenn zwei Aufgaben infrage kommen, wähle die kostengünstigere für Annotation und Ausführung. Für die meisten Produkte ist Detektion die Standardwahl: Boxen lassen sich schnell einzeichnen und überprüfen. In Verbindung mit Tracking ermöglichen sie bereits Zählungen, Zonenwarnungen und Verkehrsanalyse wie in dieser Autobahnansicht:

Tiefe: die Aufgabe für die Frage „Wie weit entfernt?“#
Die Tiefenschätzung liefert eine Karte in Bildgröße mit einer Entfernung in Metern pro Pixel – ohne Klassen und ohne Boxen. Verwende sie, wenn die Entfernung für die Entscheidung ausschlaggebend ist: etwa bei einem Roboter, der Hindernissen ausweicht, einem Fahrzeug, das abbremst, wenn etwas nahe ist, oder einer groben Volumenschätzung eines Haufens.
from ultralytics import YOLO
model = YOLO("yolo26n-depth.pt")
result = model("https://ultralytics.com/images/bus.jpg", verbose=False)[0]
depth = result.depth.data # meters, one value per pixel
print(f"depth map {tuple(depth.shape)}, nearest {float(depth.min()):.1f} m, farthest {float(depth.max()):.1f} m")depth map (1080, 810), nearest 2.0 m, farthest 14.9 mEine einzelne Kamera leitet die Tiefe aus erlernten Merkmalen wie Perspektive und Objektgröße ab. Miss daher den Fehler anhand deiner eigenen Szenen, bevor du die Schätzung für sicherheitskritische Entfernungen einsetzt. Tiefenschätzung lässt sich gut mit Detektion kombinieren: Detektiere das Objekt und lies dann den Tiefenwert innerhalb seiner Box aus der Tiefenkarte ab.
Stolperfallen#
| Verwechslung | Symptom | Bessere Wahl |
|---|---|---|
| Segmentierung, obwohl Boxen ausreichen würden | Der nachgelagerte Code verwendet die Maske nie | Detektion |
| Aufrechte Boxen in Draufsichtbildern | Die Boxen enthalten größtenteils Hintergrund, und benachbarte Objekte unterdrücken einander | OBB |
| Klassifizierung für eine Szene mit mehreren Objekten | Das Label hängt von einem einzelnen kleinen Objekt ab | Detektion plus Regel |
| Semantische Segmentierung, obwohl du zählen musst | Berührende Objekte verschmelzen zu einem Bereich | Instanzsegmentierung |
| Die Boxgröße als Näherungswert für die Entfernung verwenden | Die Regeln versagen, wenn die Objektgrößen variieren | Tiefenschätzung oder Detektion plus Tiefenschätzung |
| Posenschätzung zur Prüfung, ob etwas vorhanden ist | Du liest keinen einzigen Keypoint aus | Detektion |
Aufwendigere Ausgaben kosten in jeder Phase mehr: Masken und Keypoints brauchen länger zum Zeichnen und Überprüfen und erfordern strengere Kennzeichnungsregeln. Beginne mit der einfachsten Aufgabe, die die Entscheidungsregel erfüllt, und erweitere sie nur, wenn ein tatsächlicher Nutzer mehr Details benötigt.
Lösung anzeigen
Für die Spezifikation des Gabelstaplers lautet die Antwort Detektion mit yolo26n.pt, ausgelesen über result.boxes.
Die Entscheidungsfrage verlangt, zu wissen, wo sich Gabelstapler und Personen befinden, damit der Code prüfen kann, wie nahe sie beieinander sind. Boxen liefern diese Information. Instanzsegmentierung würde den Annotationsaufwand erhöhen, ohne die Warnung zu verändern, denn die Unterkante einer Box gibt bereits die Position auf dem Boden an. Posenschätzung ist nicht nötig, da die Körperhaltung für die Entscheidung keine Rolle spielt. Tiefenschätzung könnte dabei helfen, Bildpositionen in Meter umzurechnen, aber eine kalibrierte, fest installierte Kamera bildet die Bodenebene auch ohne sie ab. OBB ist nur dann einen Versuch wert, wenn die Kameras direkt nach unten zeigen und Gabelstapler in steilen diagonalen Winkeln erscheinen.