Triff YOLO26: Vision-KI der nächsten Generation.
Ultralytics
Zurück zum Ultralytics Glossar

Non-Maximum Suppression (NMS)

Lerne, wie Non-Maximum Suppression (NMS) doppelte Bounding Boxes bei der Objekterkennung eliminiert. Entdecke, wie Ultralytics YOLO26 natives End-to-End-NMS bietet.

Non-Maximum Suppression (NMS) ist ein Nachbearbeitungsverfahren, das bei der Objekterkennung verwendet wird, um die rohen Vorhersagen eines Modells zu verfeinern. Wenn ein Objekterkennungsmodell ein Bild analysiert, erzeugt es häufig mehrere überlappende Bounding Boxes für ein einzelnes Objekt, wobei jede einen zugehörigen Konfidenzwert besitzt. Diese redundanten Vorhersagen entstehen, weil das Modell dasselbe Merkmal in leicht unterschiedlichen Maßstäben oder Positionen erkennen kann. NMS filtert diese Ausgabe, indem nur die genaueste Bounding Box für jedes Objekt beibehalten und die anderen verworfen werden, wodurch sichergestellt wird, dass das Endergebnis sauber, präzise und frei von Duplikaten ist.

Link to this sectionSo funktioniert Non-Maximum Suppression#

Der NMS-Algorithmus arbeitet mit einer Liste von Bounding-Box-Kandidaten und deren entsprechenden Konfidenzwerten. Ziel ist es, die beste Box für ein Objekt auszuwählen und alle anderen Boxen zu unterdrücken (entfernen), die sich signifikant mit ihr überschneiden, da es sich wahrscheinlich um doppelte Erkennungen desselben Objekts handelt. Der Prozess folgt normalerweise diesen Schritten:

  1. Filtern: Eliminiere alle Bounding Boxes mit Konfidenzwerten unterhalb eines bestimmten Schwellenwerts (z. B. 0,25), um schwache Vorhersagen sofort zu entfernen.

  2. Sortieren: Sortiere die verbleibenden Boxen in absteigender Reihenfolge basierend auf ihren Konfidenzwerten.

  3. Auswahl: Wähle die Box mit dem höchsten Konfidenzwert als gültige Erkennung aus.

  4. Vergleich: Vergleiche diese ausgewählte Box mit allen anderen verbleibenden Boxen unter Verwendung von Intersection over Union (IoU), einer Metrik, die die Überlappung zwischen zwei Boxen misst.

  5. Unterdrückung: Wenn die IoU zwischen der ausgewählten Box und einer anderen Box einen vordefinierten Schwellenwert (z. B. 0,45) überschreitet, wird die Box mit dem niedrigeren Wert als Duplikat betrachtet und entfernt.

  6. Iteration: Wiederhole den Vorgang mit der nächsthöheren bewerteten Box, die noch nicht unterdrückt oder ausgewählt wurde, bis alle Boxen verarbeitet sind.

Link to this sectionPraxisanwendungen#

NMS ist unerlässlich in Szenarien, in denen Präzision von größter Bedeutung ist und doppelte Erkennungen nachgelagerte Systeme verwirren können.

  • Autonomes Fahren: In selbstfahrenden Autosystemen erkennen Kameras Fußgänger, andere Fahrzeuge und Verkehrszeichen. Ein Modell könnte drei leicht unterschiedliche Boxen für einen einzelnen Fußgänger vorhersagen. NMS stellt sicher, dass das Planungssystem des Fahrzeugs nur eine Koordinate für diesen Fußgänger erhält, was unvorhersehbare Bremsmanöver oder Fehler bei der Pfadplanung durch "Geisterhindernisse" verhindert.
  • Einzelhandels-Bestandsmanagement: Wenn Computer Vision verwendet wird, um Produkte im Regal zu zählen, liegen Artikel oft eng beieinander. Ohne NMS könnte eine einzelne Getränkedose aufgrund überlappender Vorhersagen doppelt gezählt werden, was zu ungenauen Lagerbeständen führt. NMS verfeinert diese Erkennungen, um sicherzustellen, dass die Bestandszählung der Realität entspricht.

Link to this sectionNMS-Implementierung mit PyTorch#

Während viele moderne Frameworks NMS intern handhaben, hilft das Verständnis der Implementierung bei der Feinabstimmung der Parameter. Das folgende Beispiel zeigt, wie man NMS mit der PyTorch-Bibliothek anwendet:

import torch
import torchvision.ops as ops

# Example bounding boxes: [x1, y1, x2, y2]
boxes = torch.tensor(
    [
        [100, 100, 200, 200],  # Box A
        [105, 105, 195, 195],  # Box B (High overlap with A)
        [300, 300, 400, 400],  # Box C (Distinct object)
    ],
    dtype=torch.float32,
)

# Confidence scores for each box
scores = torch.tensor([0.9, 0.8, 0.95], dtype=torch.float32)

# Apply NMS with an IoU threshold of 0.5
# Boxes with IoU > 0.5 relative to the highest scoring box are suppressed
keep_indices = ops.nms(boxes, scores, iou_threshold=0.5)

print(f"Indices to keep: {keep_indices.tolist()}")
# Output will likely be [2, 0] corresponding to Box C (0.95) and Box A (0.9),
# while Box B (0.8) is suppressed due to overlap with A.

Link to this sectionNMS vs. End-to-End-Erkennung#

Traditionell war NMS ein obligatorischer "Aufräumschritt", der außerhalb des neuronalen Hauptnetzwerks liegt und die Inferenzlatenz erhöht. Das Feld entwickelt sich jedoch in Richtung End-to-End-Architekturen.

  • Standard-NMS: Ein heuristischer Prozess, der eine manuelle Anpassung des IoU-Schwellenwerts erfordert. Ist der Schwellenwert zu niedrig, könnten gültige, nah beieinander liegende Objekte übersehen werden (niedriger Recall). Ist er zu hoch, bleiben Duplikate bestehen (niedrige Präzision).
  • End-to-End-Modelle: Modelle der nächsten Generation wie YOLO26 sind darauf ausgelegt, nativ End-to-End zu arbeiten. Sie lernen während des Trainings, genau eine Box pro Objekt vorherzusagen, wodurch der NMS-Prozess effektiv verinnerlicht wird. Dies eliminiert die Notwendigkeit einer externen Nachbearbeitung, was zu schnelleren Inferenzgeschwindigkeiten und einfacheren Bereitstellungs-Pipelines auf der Ultralytics Platform führt.

Link to this sectionVerwandte Konzepte#

  • Soft-NMS: Eine Variation, bei der sich überlappende Boxen nicht strikt entfernt, sondern ihre Konfidenzwerte reduziert werden. Dies ermöglicht es, dass sich teilweise überlappende Objekte (wie Menschen in einer Menschenmenge) weiterhin erkannt werden, sofern ihre Werte nach der Abwertung hoch genug bleiben.
  • Anchor Boxes: Vordefinierte Boxformen, die von vielen Detektoren verwendet werden, um die Objektgröße zu schätzen. NMS wird auf die endgültigen Vorhersagen angewendet, die aus diesen Ankern verfeinert wurden.
  • Intersection over Union (IoU): Die mathematische Formel, die von NMS verwendet wird, um zu bestimmen, wie stark sich zwei Boxen überlappen, und die als Entscheidungsschwellenwert für die Unterdrückung dient.

Explore solutions

Real-time AI that works with your team

KI in der Robotik

Stärke intelligentere Maschinen mit Ultralytics YOLO Modellen. Vision AI in der Robotik treibt autonome Navigation, Wahrnehmung, Objektverfolgung und Echtzeitsteuerung voran.
Erfahre mehr
Real-time AI that works with your team

KI in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht Paketkontrolle, Sortierung, Fahrzeugverfolgung und Echtzeit-Überwachung der Lagersicherheit.
Erfahre mehr
Real-time AI that works with your team

KI im Einzelhandel

Erfinde den Einzelhandel neu mit Ultralytics YOLO-Modellen. Vision AI fördert Bestandsverfolgung, Regalüberwachung, Warteschlangenmanagement und intelligentere Kundeneinblicke.
Erfahre mehr
Real-time AI that works with your team

KI im Gesundheitswesen

Baue Gesundheitslösungen mit Ultralytics YOLO Modellen. Vision AI im Gesundheitswesen ermöglicht schnellere medizinische Bildgebung, intelligentere Diagnostik und Patientenüberwachung.
Erfahre mehr
Real-time AI that works with your team

KI in der Fertigung

Optimiere die Fertigung mit Ultralytics YOLO-Modellen. Vision AI treibt Qualitätskontrolle, Fehlererkennung, PSA-Einhaltung und die Automatisierung von Montagelinien voran.
Erfahre mehr
Real-time AI that works with your operation

KI in der Automobilbranche

Nutze Computer Vision in der Automobilindustrie mit Ultralytics YOLO Modellen. Vision AI steigert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung für intelligentere Straßen.
Erfahre mehr
Real-time AI tailored to your operation

KI in der Landwirtschaft

Bringe Vision AI mit Ultralytics YOLO Modellen in die smarte Landwirtschaft. Optimiere die Ernteüberwachung, Viehverfolgung und Präzisionslandwirtschaft für höhere, intelligentere Erträge.
Erfahre mehr
Real-time AI that works with your team

KI in der Robotik

Stärke intelligentere Maschinen mit Ultralytics YOLO Modellen. Vision AI in der Robotik treibt autonome Navigation, Wahrnehmung, Objektverfolgung und Echtzeitsteuerung voran.
Erfahre mehr
Real-time AI that works with your team

KI in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht Paketkontrolle, Sortierung, Fahrzeugverfolgung und Echtzeit-Überwachung der Lagersicherheit.
Erfahre mehr
Real-time AI that works with your team

KI im Einzelhandel

Erfinde den Einzelhandel neu mit Ultralytics YOLO-Modellen. Vision AI fördert Bestandsverfolgung, Regalüberwachung, Warteschlangenmanagement und intelligentere Kundeneinblicke.
Erfahre mehr
Real-time AI that works with your team

KI im Gesundheitswesen

Baue Gesundheitslösungen mit Ultralytics YOLO Modellen. Vision AI im Gesundheitswesen ermöglicht schnellere medizinische Bildgebung, intelligentere Diagnostik und Patientenüberwachung.
Erfahre mehr
Real-time AI that works with your team

KI in der Fertigung

Optimiere die Fertigung mit Ultralytics YOLO-Modellen. Vision AI treibt Qualitätskontrolle, Fehlererkennung, PSA-Einhaltung und die Automatisierung von Montagelinien voran.
Erfahre mehr
Real-time AI that works with your operation

KI in der Automobilbranche

Nutze Computer Vision in der Automobilindustrie mit Ultralytics YOLO Modellen. Vision AI steigert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung für intelligentere Straßen.
Erfahre mehr
Real-time AI tailored to your operation

KI in der Landwirtschaft

Bringe Vision AI mit Ultralytics YOLO Modellen in die smarte Landwirtschaft. Optimiere die Ernteüberwachung, Viehverfolgung und Präzisionslandwirtschaft für höhere, intelligentere Erträge.
Erfahre mehr
Real-time AI that works with your team

KI in der Robotik

Stärke intelligentere Maschinen mit Ultralytics YOLO Modellen. Vision AI in der Robotik treibt autonome Navigation, Wahrnehmung, Objektverfolgung und Echtzeitsteuerung voran.
Erfahre mehr
Real-time AI that works with your team

KI in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht Paketkontrolle, Sortierung, Fahrzeugverfolgung und Echtzeit-Überwachung der Lagersicherheit.
Erfahre mehr
Real-time AI that works with your team

KI im Einzelhandel

Erfinde den Einzelhandel neu mit Ultralytics YOLO-Modellen. Vision AI fördert Bestandsverfolgung, Regalüberwachung, Warteschlangenmanagement und intelligentere Kundeneinblicke.
Erfahre mehr
Real-time AI that works with your team

KI im Gesundheitswesen

Baue Gesundheitslösungen mit Ultralytics YOLO Modellen. Vision AI im Gesundheitswesen ermöglicht schnellere medizinische Bildgebung, intelligentere Diagnostik und Patientenüberwachung.
Erfahre mehr
Real-time AI that works with your team

KI in der Fertigung

Optimiere die Fertigung mit Ultralytics YOLO-Modellen. Vision AI treibt Qualitätskontrolle, Fehlererkennung, PSA-Einhaltung und die Automatisierung von Montagelinien voran.
Erfahre mehr
Real-time AI that works with your operation

KI in der Automobilbranche

Nutze Computer Vision in der Automobilindustrie mit Ultralytics YOLO Modellen. Vision AI steigert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung für intelligentere Straßen.
Erfahre mehr
Real-time AI tailored to your operation

KI in der Landwirtschaft

Bringe Vision AI mit Ultralytics YOLO Modellen in die smarte Landwirtschaft. Optimiere die Ernteüberwachung, Viehverfolgung und Präzisionslandwirtschaft für höhere, intelligentere Erträge.
Erfahre mehr

Lass uns gemeinsam die Zukunft der KI bauen!

Beginne deine Reise mit der Zukunft des maschinellen Lernens