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

Detection Head

Ein Detektionskopf ist der letzte Teil eines Objektdetektors. Er wandelt die Merkmale von Backbone und Neck an jeder Gitterposition in Box- und Klassenwerte um.

Ein Detektionskopf ist der letzte Satz von Schichten in einem Netzwerk zur Objekterkennung. Er verarbeitet die von den vorherigen Schichten erzeugten Merkmalskarten und gibt an jedem möglichen Ort einen Begrenzungsrahmen sowie einen Wert für jede Klasse aus. Sein Aufbau bestimmt, wie Rahmen codiert werden – als Abstände zu Ankerrahmen oder als Entfernungen von einem Punkt –, wie viele mögliche Rahmen das Modell erzeugt und ob ein Nachbearbeitungsschritt wie die Nicht-Maximum-Unterdrückung (NMS) Duplikate entfernen muss.

Position des Detektionskopfs#

Moderne Detektoren bestehen aus drei Stufen. Ein Backbone, in der Regel ein faltendes Netzwerk oder ein Vision Transformer, wandelt Pixel in Merkmalskarten um, deren Auflösung mit zunehmender Tiefe sinkt und deren semantischer Gehalt steigt. Ein Neck, beispielsweise ein Merkmalspyramidennetzwerk (FPN), führt tiefe und flache Merkmalskarten zusammen, sodass jede Ausgabeskala sowohl feine Details als auch Kontext enthält. Der Kopf führt dann auf jeder Pyramidenstufe kleine Faltungszweige aus, typischerweise mit Schrittweiten von 8, 16 und 32. So finden die feinen Merkmalskarten kleine Objekte und die groben große.

Einstufige Detektoren haben einen einzelnen dichten Kopf, der an jeder Rasterzelle eine Vorhersage trifft. Zweistufige Detektoren wie Faster R-CNN haben zwei Köpfe: ein Region Proposal Network, das Anker an jedem Ort bewertet, und anschließend einen Region-of-Interest-Kopf, der die wenigen Hundert vorgeschlagenen Regionen klassifiziert und verfeinert.

So sagt ein Kopf Rahmen und Klassen voraus#

An jeder Rasterzelle sagt ein dichter Kopf drei Arten von Werten voraus:

  • Klassenwerte: Ein Wert pro Klasse, jeweils durch eine Sigmoidfunktion geleitet, sodass ein Ort jede Klasse unabhängig bewerten kann.
  • Rahmenregression: Vier Zahlen, die einen Rahmen festlegen: entweder Versätze, die einen Ankerrahmen verschieben und skalieren, oder Entfernungen vom Mittelpunkt der Zelle zu den vier Rahmenkanten.
  • Qualitäts- und Aufgabenwerte: Ein Objektheitswert (YOLOv1 bis YOLOv5) oder ein Zentriertheitswert (FCOS) zur Rangordnung der Rahmen sowie aufgabenspezifische Werte wie Maskenkoeffizienten für die Instanzsegmentierung oder Schlüsselpunkte für die Posenschätzung.

Die Codierung der Rahmen unterscheidet ankerbasierte Detektoren von ankerfreien Detektoren. Jeder Zweig besteht aus einigen Faltungen und endet mit einer 1 × 1-Faltung, die für jeden vorhergesagten Wert einen Ausgabekanal hat. RetinaNet und FCOS verwendeten bereits getrennte Klassifizierungs- und Regressionszweige. YOLOX führte diesen entkoppelten Kopf 2021 bei YOLO ein und berichtete von einer deutlich schnelleren Konvergenz beim Training als bei der einzelnen gemeinsamen Ausgabeschicht von YOLOv3. Die folgende Skizze erstellt diese abschließenden 1 × 1-Schichten für die drei Pyramidenstufen eines Bildes mit 640 × 640 Pixeln und flacht ihre Ausgaben zu einer einzigen Liste möglicher Objekte ab:

import torch
from torch import nn

# Neck outputs for a 640x640 image at strides 8, 16, and 32 (80x80, 40x40, and 20x20 grids)
channels = (64, 128, 256)
features = [torch.randn(1, c, 640 // s, 640 // s) for c, s in zip(channels, (8, 16, 32))]

# Decoupled head: a box branch (4 values) and a class branch (80 scores) for every pyramid level
box_branches = nn.ModuleList(nn.Conv2d(c, 4, 1) for c in channels)
cls_branches = nn.ModuleList(nn.Conv2d(c, 80, 1) for c in channels)

# Flatten each level's grid and concatenate, giving one candidate per grid cell
boxes = torch.cat([branch(f).flatten(2) for branch, f in zip(box_branches, features)], dim=2)
scores = torch.cat([branch(f).flatten(2) for branch, f in zip(cls_branches, features)], dim=2).sigmoid()
print(f"boxes {tuple(boxes.shape)}, class scores {tuple(scores.shape)}")

Ausgegeben wird boxes (1, 4, 8400), class scores (1, 80, 8400): Die 6.400 + 1.600 + 400 Rasterzellen schlagen jeweils einen Rahmen mit 80 Klassenwerten vor.

Von Rohwerten zu Detektionen#

Beim Training wird festgelegt, wie viele Vorhersagen jedes Objekt erhält. Bei der Eins-zu-viele-Zuweisung werden mehrere Zellen in der Nähe jedes Objekts als positive Beispiele markiert. Dadurch erhält der Kopf mehr Trainingssignale und gibt bei der Inferenz mehrere überlappende Rahmen pro Objekt aus. NMS behält den besten davon. Bei der Eins-zu-eins-Zuweisung, die von DETR und vom Inferenzkopf von YOLOv10 verwendet wird, wird genau eine Vorhersage pro Objekt trainiert. Daher benötigen die Ausgaben keine NMS.

Der YOLO26-Kopf sagt die Entfernungen zu den vier Kanten direkt voraus und lässt die Ausgabe mit 16 Klassen der Distribution Focal Loss pro Kante weg, die YOLOv8 und YOLO11 verwendeten. Außerdem trainiert er je eine Eins-zu-viele- und eine Eins-zu-eins-Kopie seiner Rahmen- und Klassifizierungszweige. Standardmäßig wendet YOLO26 NMS auf die Eins-zu-viele-Ausgaben an. Mit nms=False wechselst du zu den Eins-zu-eins-Zweigen, die höchstens 300 Rahmen pro Bild und keinen NMS-Schritt zurückgeben.

Praktische Aspekte des Kopfdesigns#

  • Feinabstimmung auf neue Klassen: Der Klassifizierungszweig endet mit einem Ausgabekanal pro Klasse. Für das Training mit einem Datensatz, der eine andere Anzahl von Klassen hat, ist deshalb eine neue finale Klassifizierungsschicht erforderlich. Die vortrainierten Gewichte von Backbone und Neck lassen sich übernehmen.
  • Bereitstellung: Jede Operation im Kopf wird auf dem Zielgerät ausgeführt. Eine einfache Decodierung der Rahmen und Ausgaben ohne NMS erleichtern daher den Export und verkürzen die Nachbearbeitungszeit.
  • Kleine Objekte: Eine zusätzliche Pyramidenstufe mit Schrittweite 4 liefert dem Kopf ein feineres Raster für winzige Objekte, verursacht aber zusätzliche Rechenkosten: Bei einer Eingabe mit 640 × 640 Pixeln kommen 160 × 160 = 25.600 Zellen hinzu, viermal so viele wie auf der Stufe mit Schrittweite 8.

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