Entdecken Sie die Funktionsweise von zweistufigen Objektdetektoren mit Schwerpunkt auf Bereichsvorschlägen und Klassifizierung. Erfahren Sie, warum moderne Modelle wie Ultralytics derzeit führend sind.
Zweistufige Objektdetektoren sind eine hochentwickelte Klasse von Deep-Learning-Architekturen (DL), die in der Bildverarbeitung zum Identifizieren und Lokalisieren von Objekten innerhalb eines Bildes verwendet werden. Im Gegensatz zu ihren einstufigen Pendants, die die Erkennung in einem einzigen Durchgang durchführen, unterteilen diese Modelle die Aufgabe in zwei verschiedene Phasen: Bereichsvorschlag und Objektklassifizierung. Dieser zweigeteilte Ansatz wurde entwickelt, um eine hohe Lokalisierungsgenauigkeit zu priorisieren, wodurch diese Detektoren historisch gesehen für die Entwicklung der künstlichen Intelligenz (KI) von Bedeutung sind. Durch die Trennung von „Wo” und „Was” erreichen zweistufige Detektoren oft eine überlegene Präzision, insbesondere bei kleinen oder verdeckten Objekten, was jedoch in der Regel mit einem erhöhten Bedarf an Rechenressourcen und einer langsameren Inferenzlatenz einhergeht.
Die Architektur eines zweistufigen Detektors basiert auf einem sequenziellen Arbeitsablauf, der die Art und Weise nachahmt, wie ein Mensch eine Szene sorgfältig untersuchen würde.
Prominente Beispiele für diese Architektur sind die R-CNN-Familie, insbesondere Faster R-CNN und Mask R-CNN, die mehrere Jahre lang den Standard für akademische Benchmarks gesetzt haben .
Es ist hilfreich, zweistufige Modelle von einstufigen Objektdetektoren wie dem Single Shot MultiBox Detector (SSD) und der Ultralytics YOLO zu unterscheiden. Während zweistufige Modelle der Genauigkeit Vorrang einräumen, indem sie Regionen separat verarbeiten, behandeln einstufige Modelle die Erkennung als ein einziges Regressionsproblem, bei dem Bildpixel direkt auf Begrenzungsrahmenkoordinaten und Klassenwahrscheinlichkeiten abgebildet werden.
Historisch gesehen führte dies zu einem Kompromiss: Zweistufige Modelle waren genauer, aber langsamer, während einstufige Modelle schneller, aber weniger präzise waren. Moderne Fortschritte haben diese Grenze jedoch verwischt. Modernste Modelle wie YOLO26 nutzen nun End-to-End-Architekturen, die mit der Genauigkeit von zweistufigen Detektoren konkurrieren und gleichzeitig die für die Echtzeit-Inferenz erforderliche Geschwindigkeit beibehalten.
Aufgrund ihrer Präzision und Rückrufbarkeit werden zweistufige Detektoren häufig in Szenarien bevorzugt, in denen Sicherheit und Detailgenauigkeit wichtiger sind als die reine Verarbeitungsgeschwindigkeit.
Während zweistufige Detektoren die Grundlage für hochpräzises Sehen geschaffen haben, verwenden moderne Entwickler häufig fortschrittliche einstufige Modelle, die eine vergleichbare Leistung bei deutlich einfacheren Bereitstellungsabläufen bieten. Ultralytics vereinfacht das Training und die Bereitstellung dieser Modelle und verwaltet Datensätze und Rechenressourcen effizient.
Das folgende Python zeigt, wie Sie eine Inferenz unter Verwendung eines modernen Objekterkennungs-Workflows mit laden und ausführen können.
ultralytics, wodurch hochgenaue Ergebnisse erzielt werden, die denen herkömmlicher zweistufiger Ansätze ähneln, jedoch mit größerer
Effizienz:
from ultralytics import YOLO
# Load the YOLO26 model, a modern high-accuracy detector
model = YOLO("yolo26n.pt")
# Run inference on an image to detect objects
results = model("https://ultralytics.com/images/bus.jpg")
# Process results (bounding boxes, classes, and confidence scores)
for result in results:
result.show() # Display the detection outcomes
print(result.boxes.conf) # Print confidence scores