Object Detection
Die Objekterkennung findet alle Objekte in einem Bild und liefert für jedes eine Bounding Box, eine Klassenbezeichnung und einen Konfidenzwert. Erfahre, wie Detektoren funktionieren und bewertet werden.
Objekterkennung ist eine Aufgabe der Computer Vision: In einem Bild oder Videobild werden alle Instanzen einer Reihe bekannter Klassen gefunden und ihre Positionen bestimmt. Für jedes Objekt liefert das Modell eine Bounding Box, eine Klassenbezeichnung und einen Konfidenzwert. So wird ein Straßenfoto zu einer Liste beschrifteter Boxen, je einer pro Auto, Person oder Ampel. Diese Liste dient als Eingabe für Zählungen, Messungen, Tracking und die Robotersteuerung.
Ausgaben eines Detektors#
Jede Erkennung besteht aus drei Teilen. Die Box wird entweder als Eckkoordinaten (x1, y1, x2, y2) oder als Mittelpunkt mit Breite und Höhe gespeichert, in Pixeln oder auf die Bildgröße normiert. Die Klasse ist ein Index im Labelsatz des Modells, etwa eine der 80 Kategorien des COCO-Datensatzes. Der Score zwischen 0 und 1 gibt an, wie wahrscheinlich es ist, dass die Box diese Klasse enthält. Anwendungen behalten nur Erkennungen oberhalb eines Konfidenzschwellenwerts bei und wägen dabei übersehene Objekte gegen Fehlalarme ab.
from ultralytics import YOLO
# Load a YOLO26 nano detector pretrained on the 80 COCO classes
model = YOLO("yolo26n.pt")
# Run detection on one image
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# Each detection carries a class, a confidence score, and a box in pixels
for box in result.boxes:
name = result.names[int(box.cls)]
corners = box.xyxy[0].int().tolist()
print(f"{name} {box.conf.item():.2f} {corners}")Jede ausgegebene Zeile steht für ein erkanntes Objekt: seinen Klassennamen, den Konfidenzwert sowie die Pixelkoordinaten der linken oberen und rechten unteren Ecke.
Funktionsweise von Objektdetektoren#
Moderne Detektoren sind neuronale Netze mit drei Stufen. Ein Backbone, meist ein Faltungsnetz oder ein Vision Transformer, wandelt das Bild in Merkmalskarten um. Ein Neck, beispielsweise ein Feature-Pyramid-Netzwerk, führt diese Karten maßstabsübergreifend zusammen, damit sowohl kleine als auch große Objekte abgebildet werden. Anschließend sagt ein Detektionskopf an Tausenden von Positionen Klassenwerte und Boxkoordinaten voraus. Benachbarte Positionen reagieren auf dasselbe Objekt, weshalb die Rohdaten viele überlappende Kandidaten enthalten. Die meisten Pipelines verwerfen Boxen mit niedrigen Werten und wenden eine Nicht-Maximum-Unterdrückung (NMS) an, um eine Box pro Objekt zu behalten. End-to-End-Detektoren wie DETR werden darauf trainiert, genau eine Vorhersage pro Objekt auszugeben, und überspringen diesen Schritt daher.
Detektoren unterscheiden sich darin, wie sie Kandidaten finden. Zweistufige Detektoren wie Faster R-CNN schlagen zunächst Regionen vor, die möglicherweise ein Objekt enthalten, und klassifizieren und verfeinern dann jede Region. Einstufige Detektoren wie YOLO, das 2015 vorgestellt wurde, sagen alle Boxen und Klassen in einem einzigen Durchlauf voraus. Dadurch wurde die Echtzeit-Erkennung praktikabel. Frühere einstufige Modelle sagten Abweichungen relativ zu vordefinierten Ankerboxen voraus. Ankerfreie Detektoren sagen stattdessen direkt die Abstände von einem Rasterpunkt zu den vier Boxkanten voraus. YOLO26 ist ein einstufiger, ankerfreier Detektor, der standardmäßig NMS anwendet. Mit nms=False wechselst du zu einem One-to-One-Kopf, der finale Boxen ohne NMS-Schritt ausgibt.
Training und Bewertung#
Detektoren lernen anhand von Bildern, auf denen jedes Objekt mit einer Box und einer Klasse annotiert ist. Während des Trainings entscheidet ein Schritt zur Zuordnung von Beschriftungen, welche Vorhersagen für die einzelnen beschrifteten Objekte verantwortlich sind. Der Verlust kombiniert einen Klassifizierungsterm mit einem Term für die Boxregression, der üblicherweise auf Intersection over Union (IoU) beruht, also der Überlappung zwischen einer vorhergesagten und einer beschrifteten Box. Bei der Auswertung kommt IoU erneut zum Einsatz: Eine Erkennung zählt als korrekt, wenn ihre Klasse übereinstimmt und ihre IoU mit einer beschrifteten Box den Schwellenwert erreicht. Die mittlere durchschnittliche Präzision (mAP) fasst anschließend Präzision und Trefferquote über alle Konfidenzwerte und Klassen hinweg zusammen. COCO weist mAP50 aus, berechnet bei einer IoU von 0,5, und verwendet mAP50-95, gemittelt über zehn IoU-Schwellenwerte von 0,50 bis 0,95, als primäre Metrik. Die VLM-Bestenliste verwendet mAP50, um Vision-Language-Modelle zu vergleichen, die Objekte allein anhand von Klassennamen erkennen. Die Ultralytics Platform verwendet solche Modelle, um Erkennungsdatensätze automatisch zu beschriften, bevor YOLO26 anhand der Beschriftungen trainiert wird.
Anwendungen in der Praxis#
- Autonomes Fahren: Fahrerassistenz- und Selbstfahrsysteme erkennen Fahrzeuge, Fußgänger, Radfahrer und Verkehrsschilder in jedem Kamerabild. Tracking und Bewegungsplanung nutzen diese Boxen.
- Einzelhandel: Regal-Kameras erkennen Produkte und leere Stellplätze, um auf nicht vorrätige Artikel hinzuweisen. Selbstbedienungskassen erkennen die Artikel, die auf das Kassenband gelegt werden.
- Qualitätsprüfung in der Fertigung: Kameras an der Produktionslinie erkennen Kratzer, Dellen und fehlende Bauteile, damit fehlerhafte Teile beim Vorbeifahren aussortiert werden.
Objekterkennung im Vergleich zu verwandten Aufgaben#
- Bildklassifizierung weist einem ganzen Bild eine Bezeichnung zu, gibt aber keine Position an.
- Instanzsegmentierung umreißt jedes erkannte Objekt mit einer Pixelmaske, die seiner exakten Form folgt.
- Rotierte Bounding Boxes ergänzen jede Box um einen Drehwinkel, damit sie schräg ausgerichtete Objekte wie Schiffe und Fahrzeuge in Luftbildern umfasst.
- Objekttracking verknüpft die Erkennungen desselben Objekts über mehrere Videobilder hinweg und weist jeder eine dauerhafte ID zu.
- 3D-Objekterkennung sagt eine Box im 3D-Raum voraus, beschrieben durch ihren Mittelpunkt, ihre Länge, Breite und Höhe in Metern sowie ihren Ausrichtungswinkel.










