Découvre YOLO26 : l'IA de vision de nouvelle génération.
Ultralytics
Retour au glossaire Ultralytics

Non-Maximum Suppression (NMS)

Apprends comment la suppression des non-maxima (NMS) élimine les boîtes englobantes en double dans la détection d'objets. Découvre comment Ultralytics YOLO26 fournit une NMS native de bout en bout.

Le Non-Maximum Suppression (NMS) est une technique de post-traitement utilisée dans la détection d'objets pour affiner les prédictions brutes faites par un modèle. Lorsqu'un modèle de détection d'objets analyse une image, il génère souvent plusieurs bounding boxes qui se chevauchent pour un seul objet, chacune associée à un score de confiance. Ces prédictions redondantes se produisent car le modèle peut détecter la même caractéristique à des échelles ou des positions légèrement différentes. Le NMS filtre ce résultat en ne conservant que la bounding box la plus précise pour chaque objet et en écartant les autres, garantissant ainsi que le résultat final est propre, précis et sans doublons.

Link to this sectionComment fonctionne le Non-Maximum Suppression#

L'algorithme NMS opère sur une liste de bounding boxes candidates et leurs scores de confiance correspondants. L'objectif est de sélectionner la meilleure boîte pour un objet et de supprimer (retirer) toutes les autres boîtes qui se chevauchent de manière significative avec elle, car il s'agit probablement de détections en double du même objet. Le processus suit généralement ces étapes :

  1. Filtrage : Élimine toutes les bounding boxes dont le score de confiance est inférieur à un seuil spécifique (par exemple, 0,25) pour supprimer immédiatement les prédictions faibles.

  2. Tri : Trie les boîtes restantes par ordre décroissant en fonction de leurs scores de confiance.

  3. Sélection : Choisit la boîte avec le score de confiance le plus élevé comme détection valide.

  4. Comparaison : Compare cette boîte sélectionnée avec toutes les autres boîtes restantes en utilisant l'Intersection over Union (IoU), une métrique qui mesure le chevauchement entre deux boîtes.

  5. Suppression : Si l'IoU entre la boîte sélectionnée et une autre boîte dépasse un seuil prédéfini (par exemple, 0,45), la boîte ayant le score le plus faible est considérée comme un doublon et est supprimée.

  6. Itération : Répète le processus avec la boîte suivante ayant le score le plus élevé qui n'a pas encore été supprimée ou sélectionnée, jusqu'à ce que toutes les boîtes soient traitées.

Link to this sectionApplications concrètes#

Le NMS est essentiel dans les scénarios où la précision est primordiale et où les détections en double peuvent perturber les systèmes en aval.

  • Conduite autonome : Dans les systèmes de voitures autonomes, les caméras détectent les piétons, d'autres véhicules et les panneaux de signalisation. Un modèle peut prédire trois boîtes légèrement différentes pour un seul piéton. Le NMS garantit que le système de planification du véhicule ne reçoit qu'une seule coordonnée pour ce piéton, évitant ainsi un freinage erratique ou des erreurs de planification de trajectoire causées par des obstacles "fantômes".
  • Gestion des stocks de détail : Lors de l'utilisation de la vision par ordinateur pour compter les produits sur une étagère, les articles sont souvent entassés étroitement. Sans NMS, une seule canette de soda pourrait être comptée deux fois en raison de prédictions qui se chevauchent, conduisant à des niveaux de stock inexacts. Le NMS affine ces détections pour garantir que le comptage de l'inventaire corresponde à la réalité.

Link to this sectionImplémentation du NMS avec PyTorch#

Bien que de nombreux frameworks modernes gèrent le NMS en interne, comprendre l'implémentation aide à ajuster les paramètres. L'exemple suivant démontre comment appliquer le NMS en utilisant la bibliothèque PyTorch :

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 détection de bout en bout#

Traditionnellement, le NMS a été une étape de "nettoyage" obligatoire située en dehors du réseau neuronal principal, ajoutant de la latence d'inférence. Cependant, le domaine évolue vers des architectures de bout en bout.

  • NMS standard : Un processus heuristique qui nécessite un réglage manuel du seuil IoU. Si le seuil est trop bas, des objets valides proches les uns des autres pourraient être manqués (faible rappel). S'il est trop élevé, des doublons subsistent (faible précision).
  • Modèles de bout en bout : Les modèles de nouvelle génération comme YOLO26 sont conçus pour être nativement de bout en bout. Ils apprennent à prédire exactement une boîte par objet pendant l'entraînement, internalisant efficacement le processus NMS. Cela élimine le besoin de post-traitement externe, ce qui se traduit par des vitesses d'inférence plus rapides et des pipelines de déploiement plus simples sur la plateforme Ultralytics.

Link to this sectionConcepts associés#

  • Soft-NMS : Une variante où les boîtes qui se chevauchent ne sont pas strictement supprimées mais voient leurs scores de confiance réduits. Cela permet aux objets se chevauchant quelque peu (comme des personnes dans une foule) d'être toujours détectés si leurs scores restent suffisamment élevés après décroissance.
  • Anchor Boxes : Formes de boîtes prédéfinies utilisées par de nombreux détecteurs pour estimer la taille des objets. Le NMS est appliqué aux prédictions finales affinées à partir de ces ancres.
  • Intersection over Union (IoU) : La formule mathématique utilisée par le NMS pour déterminer à quel point deux boîtes se chevauchent, agissant comme le seuil de décision pour la suppression.

Explore solutions

Real-time AI that works with your team

IA dans la robotique

Équipe tes machines plus intelligentes avec les modèles Ultralytics YOLO. La vision par IA dans la robotique propulse la navigation autonome, la perception, le suivi d'objets et le contrôle en temps réel.
En savoir plus
Real-time AI that works with your team

IA dans la logistique

Simplifie la logistique avec les modèles Ultralytics YOLO. La vision par IA permet l'inspection des colis, le tri, le suivi des véhicules et la surveillance de la sécurité des entrepôts en temps réel.
En savoir plus
Real-time AI that works with your team

IA dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA alimente le suivi des stocks, la surveillance des étagères, la gestion des files d'attente et des informations plus intelligentes sur les clients.
En savoir plus
Real-time AI that works with your team

IA dans la santé

Construis des solutions de santé avec les modèles Ultralytics YOLO. L'IA de vision dans la santé permet une imagerie médicale plus rapide, des diagnostics plus intelligents et une surveillance des patients.
En savoir plus
Real-time AI that works with your team

IA dans la fabrication

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA favorise le contrôle qualité, la détection des défauts, la conformité aux EPI et l'automatisation des chaînes de montage.
En savoir plus
Real-time AI that works with your operation

IA dans l'automobile

Applique la vision par ordinateur dans l'automobile avec les modèles Ultralytics YOLO. L'IA de vision améliore la sécurité routière, l'assistance à la conduite et l'automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Real-time AI tailored to your operation

IA en agriculture

Intègre l'IA de vision à l'agriculture intelligente avec les modèles Ultralytics YOLO. Optimise la surveillance des cultures, le suivi du bétail et l'agriculture de précision pour des rendements plus élevés et plus intelligents.
En savoir plus
Real-time AI that works with your team

IA dans la robotique

Équipe tes machines plus intelligentes avec les modèles Ultralytics YOLO. La vision par IA dans la robotique propulse la navigation autonome, la perception, le suivi d'objets et le contrôle en temps réel.
En savoir plus
Real-time AI that works with your team

IA dans la logistique

Simplifie la logistique avec les modèles Ultralytics YOLO. La vision par IA permet l'inspection des colis, le tri, le suivi des véhicules et la surveillance de la sécurité des entrepôts en temps réel.
En savoir plus
Real-time AI that works with your team

IA dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA alimente le suivi des stocks, la surveillance des étagères, la gestion des files d'attente et des informations plus intelligentes sur les clients.
En savoir plus
Real-time AI that works with your team

IA dans la santé

Construis des solutions de santé avec les modèles Ultralytics YOLO. L'IA de vision dans la santé permet une imagerie médicale plus rapide, des diagnostics plus intelligents et une surveillance des patients.
En savoir plus
Real-time AI that works with your team

IA dans la fabrication

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA favorise le contrôle qualité, la détection des défauts, la conformité aux EPI et l'automatisation des chaînes de montage.
En savoir plus
Real-time AI that works with your operation

IA dans l'automobile

Applique la vision par ordinateur dans l'automobile avec les modèles Ultralytics YOLO. L'IA de vision améliore la sécurité routière, l'assistance à la conduite et l'automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Real-time AI tailored to your operation

IA en agriculture

Intègre l'IA de vision à l'agriculture intelligente avec les modèles Ultralytics YOLO. Optimise la surveillance des cultures, le suivi du bétail et l'agriculture de précision pour des rendements plus élevés et plus intelligents.
En savoir plus
Real-time AI that works with your team

IA dans la robotique

Équipe tes machines plus intelligentes avec les modèles Ultralytics YOLO. La vision par IA dans la robotique propulse la navigation autonome, la perception, le suivi d'objets et le contrôle en temps réel.
En savoir plus
Real-time AI that works with your team

IA dans la logistique

Simplifie la logistique avec les modèles Ultralytics YOLO. La vision par IA permet l'inspection des colis, le tri, le suivi des véhicules et la surveillance de la sécurité des entrepôts en temps réel.
En savoir plus
Real-time AI that works with your team

IA dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA alimente le suivi des stocks, la surveillance des étagères, la gestion des files d'attente et des informations plus intelligentes sur les clients.
En savoir plus
Real-time AI that works with your team

IA dans la santé

Construis des solutions de santé avec les modèles Ultralytics YOLO. L'IA de vision dans la santé permet une imagerie médicale plus rapide, des diagnostics plus intelligents et une surveillance des patients.
En savoir plus
Real-time AI that works with your team

IA dans la fabrication

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA favorise le contrôle qualité, la détection des défauts, la conformité aux EPI et l'automatisation des chaînes de montage.
En savoir plus
Real-time AI that works with your operation

IA dans l'automobile

Applique la vision par ordinateur dans l'automobile avec les modèles Ultralytics YOLO. L'IA de vision améliore la sécurité routière, l'assistance à la conduite et l'automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Real-time AI tailored to your operation

IA en agriculture

Intègre l'IA de vision à l'agriculture intelligente avec les modèles Ultralytics YOLO. Optimise la surveillance des cultures, le suivi du bétail et l'agriculture de précision pour des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble le futur de l'IA !

Commence ton aventure avec le futur de l'apprentissage automatique