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

Non-Maximum Suppression (NMS)

Die Nichtmaximalunterdrückung (NMS) entfernt überlappende, doppelte Boxen, sodass für jedes Objekt nur eine Erkennung bleibt. Erfahre, wie sie funktioniert, wie du sie einstellst und welche Modelle ohne NMS auskommen.

Nicht-maximale Unterdrückung (NMS) ist der Nachverarbeitungsschritt, der aus den rohen, überlappenden Vorhersagen eines Detektors eine Box pro Objekt macht. Ein dichtes Objektdetektionsmodell bewertet Tausende potenzieller Begrenzungsrahmen pro Bild. Häufig lösen mehrere benachbarte Kandidaten für dasselbe Objekt aus, wobei sich Positionen und Bewertungen leicht unterscheiden. NMS behält die Box mit der höchsten Konfidenz in jedem überlappenden Cluster bei und unterdrückt die übrigen. Dabei wird anhand der Schnittmenge über Vereinigungsmenge (IoU) entschieden, welche Boxen stark genug überlappen, um als Duplikate zu gelten.

So funktioniert Non-Maximum Suppression#

Die gängige Variante, Greedy NMS, verwirft zunächst Kandidaten unterhalb eines Konfidenzschwellenwerts und sortiert die übrigen nach ihrer Bewertung. Anschließend behält sie die oberste Box bei, entfernt alle übrigen Boxen, deren IoU mit dieser Box den IoU-Schwellenwert überschreitet, und wiederholt den Vorgang mit der am höchsten bewerteten verbleibenden Box, bis keine Boxen mehr übrig sind. Detektoren führen NMS normalerweise pro Klasse aus, sodass eine Personenbox niemals eine überlappende Fahrradbox unterdrückt.

nms von torchvision implementiert Greedy NMS für eine einzelne Klasse und gibt die Indizes der beibehaltenen Boxen nach Bewertung sortiert zurück.

import torch
from torchvision.ops import nms

# Kandidatenboxen als [x1, y1, x2, y2] mit jeweils einem Konfidenzwert
boxes = torch.tensor(
    [
        [100, 100, 200, 200],  # A
        [105, 105, 195, 195],  # B: fast identisch mit A (IoU 0.81)
        [300, 300, 400, 400],  # C: ein separates Objekt
    ],
    dtype=torch.float32,
)
scores = torch.tensor([0.90, 0.80, 0.95])

# Jede Box unterdrücken, deren IoU mit einer beibehaltenen Box mit höherer Bewertung 0.5 überschreitet
keep = nms(boxes, scores, iou_threshold=0.5)
print(keep.tolist())

Die Ausgabe ist [2, 0]: Box C wird zuerst beibehalten, weil sie die höchste Bewertung hat. Box A bleibt erhalten, weil sie sich nicht mit C überlappt, und Box B wird entfernt, weil ihre IoU mit A 0.81 beträgt.

Schwellenwerte abstimmen#

Der Konfidenzschwellenwert entfernt schwache Kandidaten, bevor die Unterdrückung beginnt. Der IoU-Schwellenwert legt fest, ab welcher Überlappung Boxen als Duplikate gelten. Ist er zu niedrig, verschmelzen zwei echte Objekte, die dicht beieinander stehen, etwa Personen in einer Menschenmenge, zu einer Erkennung und der Recall sinkt. Ist er zu hoch, bleiben doppelte Boxen erhalten und die Präzision sinkt. Bei klassenunabhängigem NMS kann jede Box jede andere unabhängig von der Klasse unterdrücken. Dadurch werden doppelte Labels entfernt, wenn ein Modell ein Objekt mit zwei ähnlichen Klassen wie „Auto“ und „Lkw“ versieht.

Einschränkungen von NMS#

  • Dicht bevölkerte Szenen: Ein einzelner, fester IoU-Schwellenwert kann eine doppelte Box nicht von einem zweiten Objekt unterscheiden, das sich tatsächlich mit dem ersten überlappt. Daher werden stark verdeckte Objekte unterdrückt.
  • Feste Heuristik: Der Schwellenwert wird von Hand gewählt, liegt außerhalb des trainierten Netzwerks und wird nicht aus den Daten gelernt.
  • Latenz und Bereitstellung: Die Greedy-Schleife wird nach dem Netzwerk ausgeführt. Ihr Aufwand wächst mit der Anzahl der Kandidaten, wodurch sich die Inferenzlatenz erhöht. Exportformate, die NMS nicht in den Modellgraphen integrieren können, geben rohe Kandidaten aus, und die Anwendung muss NMS selbst ausführen.

NMS-Varianten und Detektion ohne NMS#

Soft-NMS senkt die Bewertungen überlappender Boxen abhängig von ihrer Überlappung, anstatt sie zu löschen. Dadurch werden in Menschenmengen mehr Objekte erkannt. DIoU-NMS berücksichtigt zusätzlich den Abstand zwischen den Boxmittelpunkten. Daher werden zwei Boxen mit weit auseinanderliegenden Mittelpunkten seltener unterdrückt. Das Verfahren wurde zusammen mit dem Distance-IoU-Verlust vorgeschlagen.

Ende-zu-Ende-Detektoren lassen diesen Schritt vollständig entfallen. DETR wird mit einer eins-zu-eins-Hungarian-Zuordnung zwischen Vorhersagen und Labels trainiert, sodass jedes Objekt genau eine Vorhersage erhält. YOLOv10 brachte einen One-to-One-Kopf in echtzeitfähige YOLO-Modelle. YOLO26 trainiert beide Arten von Köpfen und wendet standardmäßig NMS an, weil sein One-to-Many-Kopf etwas besser abschneidet: 40,9 statt 40,1 mAP50-95 auf COCO für YOLO26n. Mit nms=False wird der One-to-One-Kopf ausgewählt, der pro Bild höchstens 300 endgültige Boxen ohne NMS-Durchlauf ausgibt, wie der Leitfaden zur Ende-zu-Ende-Erkennung für Vorhersage und Export zeigt.

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