Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

Anchor Boxes

Ankerrahmen sind vorab festgelegte Rahmen mit festen Größen und Seitenverhältnissen, die ein Detektor verschiebt und skaliert, um sie an Objekte anzupassen. So werden sie dimensioniert, zugeordnet und eingesetzt.

Ankerboxen sind vordefinierte Rechtecke mit festen Größen und Seitenverhältnissen, die an jeder Position der Feature-Maps eines Detektors angeordnet werden und als erste Schätzungen für Position und Form von Objekten dienen. Ein ankerbasierter Detektor bewertet jede Ankerbox für jede Klasse und sagt kleine Verschiebungen voraus, die sie verschieben und skalieren, damit sie zum Objekt passt. Das ist leichter zu lernen, als eine Box aus dem Nichts vorherzusagen. Faster R-CNN setzt an jeder Position 9 Ankerboxen ein: drei Flächen (128², 256² und 512² Pixel) mal drei Seitenverhältnisse (1:1, 1:2 und 2:1). Bei einem Bild mit 1000 × 600 Pixeln ergibt das rund 20.000 Ankerboxen.

Wie Ankerboxen definiert werden#

Ein Ankersatz ist eine Liste von Größen und Seitenverhältnissen, die an jeder Zelle einer Feature-Map wiederholt wird. Die Anzahl der Ankerboxen entspricht daher Zellen × Formen pro Zelle. Detektoren mit einem Feature-Pyramid-Netzwerk (FPN) weisen kleinen Ankerboxen feine, hochauflösende Ebenen und großen Ankerboxen gröbere Ebenen zu: RetinaNet verwendet auf jeder von fünf Ebenen 9 Ankerboxen pro Position, also etwa 100.000 pro Bild. SSD nennt sie Standardboxen; SSD300 ordnet 8.732 davon an.

Von Hand gewählte Formen passen oft schlecht zu bestimmten Datensätzen. Deshalb führte YOLOv2 eine k-Means-Clusteranalyse der Breiten und Höhen der Trainingsboxen durch, verwendete 1 − IoU als Distanzmaß und wählte die Mittelpunkte von 5 Clustern als Ankerboxen. YOLOv3 gruppierte 9 Ankerboxen und verteilte sie gleichmäßig auf seine drei Ausgabeschrittweiten – von 10 × 13 Pixeln auf der Ebene mit Schrittweite 8 bis zu 373 × 326 Pixeln auf der Ebene mit Schrittweite 32.

Ankerboxen Objekten zuordnen#

Während des Trainings wird jede Ankerbox anhand der Schnittmenge über Vereinigung (IoU) mit jeder beschrifteten Box verglichen. Ankerboxen, die ein Objekt ausreichend überlappen, werden zu positiven Beispielen und lernen die Klasse des Objekts sowie die Verschiebungen zu seiner Begrenzungsbox. Ankerboxen mit geringer Überlappung werden zu negativen Beispielen und lernen „Hintergrund“; Ankerboxen dazwischen werden ignoriert. Das Region-Proposal-Netzwerk von Faster R-CNN stuft IoU-Werte ab 0,7 als positiv und Werte unter 0,3 als negativ ein. Außerdem kennzeichnet es die am besten passende Ankerbox jedes Objekts als positiv, damit kein Objekt ohne eine solche bleibt.

import torch
from torchvision.ops import box_iou

# Nine anchors centered on one feature-map cell at (200, 200): 3 sizes x 3 aspect ratios (height / width)
shapes = [(size, ratio) for size in (64, 128, 256) for ratio in (0.5, 1.0, 2.0)]
anchors = []
for size, ratio in shapes:
    w, h = size / ratio**0.5, size * ratio**0.5
    anchors.append([200 - w / 2, 200 - h / 2, 200 + w / 2, 200 + h / 2])

# A labeled pedestrian box (x1, y1, x2, y2): tall and narrow
person = torch.tensor([[160.0, 110.0, 240.0, 290.0]])

# Faster R-CNN RPN rule: IoU >= 0.7 is positive, below 0.3 is negative, anything between is ignored
iou = box_iou(torch.tensor(anchors), person).squeeze(1)
for (size, ratio), value in zip(shapes, iou.tolist()):
    label = "positive" if value >= 0.7 else "negative" if value < 0.3 else "ignored"
    print(f"size {size}, ratio {ratio}: IoU {value:.2f} -> {label}")

Nur die hohe Ankerbox mit 128 Pixeln (Seitenverhältnis 2,0) überlappt den Fußgänger ausreichend, um mit einer IoU von 0,88 als positiv zu gelten. Zwei weitere Ankerboxen mit 128 Pixeln und IoU-Werten von 0,31 und 0,50 werden ignoriert; die sechs Ankerboxen mit unpassender Größe gelten als negativ. Die positive Ankerbox lernt anschließend Verschiebungen gemäß der üblichen Parametrisierung: Der Mittelpunkt verschiebt sich um Bruchteile der Breite und Höhe der Ankerbox, und Breite und Höhe werden mit Exponentialfunktionen der vorhergesagten Werte skaliert.

Ankerboxgrößen für einen Datensatz auswählen#

Ankerboxen, deren Formen zu den Objekten eines Datensatzes passen, ermöglichen es mehr Objekten, eine positive Ankerbox zu erhalten, und erhöhen dadurch den erreichbaren Recall eines Detektors. Ultralytics YOLOv5 beginnt mit den 9 Ankerboxen von YOLOv3 und prüft sie vor dem Training mit AutoAnchor: Das Verfahren misst den bestmöglichen Recall der Ankerboxen für die Trainingsbeschriftungen und passt sie mit k-Means und 1.000 Generationen genetischer Optimierung neu an, sofern der Wert nicht über 0,98 liegt. Die neuen Ankerboxen werden nur übernommen, wenn sich der Recall verbessert.

Einschränkungen und ankerfreie Detektoren#

Ankerboxen verursachen drei Nachteile. Fast alle der Zehntausenden Ankerboxen in einem Bild decken den Hintergrund ab. Diese einfachen negativen Beispiele überlagern den Verlust; RetinaNet führte deshalb den Focal Loss ein, um ihr Gewicht zu verringern. Mehrere benachbarte Ankerboxen passen zu demselben Objekt, weshalb die Ausgabe eine Nicht-Maximum-Unterdrückung (NMS) benötigt, um eine Box pro Objekt zu behalten. Größen, Seitenverhältnisse und IoU-Schwellenwerte sind außerdem Hyperparameter, die je nach Datensatz und Bildgröße angepasst werden müssen.

Ankerfreie Detektoren vermeiden diese Hyperparameter, indem sie Boxen anhand von Punkten oder Schlüsselpunkten vorhersagen. Die meisten seit YOLOX im Jahr 2021 veröffentlichten Echtzeitdetektoren sind ankerfrei. Ankerboxen kommen weiterhin in ankerbasierten Detektoren wie Faster R-CNN, Mask R-CNN und RetinaNet zum Einsatz. Beim Vergleich von RetinaNet mit dem ankerfreien FCOS stellte ATSS fest, dass RetinaNet mit 9 Ankerboxen pro Position nicht genauer war als mit einer Ankerbox, sobald beide positive Beispiele auf dieselbe Weise auswählten.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens