Ultralytics YOLO27 :
Retour au glossaire Ultralytics

Non-Maximum Suppression (NMS)

Découvre comment la suppression des non-maxima (NMS) élimine les cadres englobants en double lors de la détection d’objets. Explore comment Ultralytics YOLO26 fournit une NMS native de bout en bout.

La suppression des non-maxima (NMS) est une technique de post-traitement utilisée dans la détection d’objets pour affiner les prédictions brutes effectuées par un modèle. Lorsqu’un modèle de détection d’objets analyse une image, il génère souvent plusieurs boîtes englobantes qui se chevauchent pour un même objet, chacune étant associée à un score de confiance. Ces prédictions redondantes apparaissent parce que le modèle peut détecter la même caractéristique à des échelles ou des positions légèrement différentes. La NMS filtre cette sortie en conservant uniquement la boîte englobante la plus précise pour chaque objet et en supprimant les autres, afin de garantir une sortie finale propre, précise et exempte de doublons.

Fonctionnement de la suppression des non-maxima#

L’algorithme NMS s’applique à une liste de boîtes englobantes candidates et à leurs scores de confiance correspondants. L’objectif est de sélectionner la meilleure boîte pour un objet et de supprimer toute autre boîte qui se chevauche fortement avec elle, car il s’agit probablement de détections en double du même objet. Le processus suit généralement les étapes suivantes :

  1. Filtrage : Éliminer toutes les boîtes englobantes dont les scores de confiance sont inférieurs à un seuil donné (par exemple, 0.25) afin de supprimer immédiatement les prédictions faibles.

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

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

  4. Comparaison : Comparer cette boîte sélectionnée à toutes les autres boîtes restantes à l’aide de l’intersection sur 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 supprimée.

  6. Itération : Répéter le processus avec la boîte suivante ayant le score le plus élevé et qui n’a pas encore été supprimée ou sélectionnée, jusqu’au traitement de toutes les boîtes.

Applications concrètes#

La NMS est essentielle dans les situations 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 véhicules autonomes, les caméras détectent les piétons, les 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. La 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 les freinages brusques ou les erreurs de planification de trajectoire causés par des obstacles « fantômes ».
  • Gestion des stocks dans le commerce de détail : Lorsqu’on utilise la vision par ordinateur pour compter les produits sur une étagère, les articles sont souvent rangés très près les uns des autres. Sans NMS, une seule canette de soda peut être comptée deux fois en raison de prédictions qui se chevauchent, ce qui entraîne des niveaux de stock inexacts. La NMS affine ces détections afin que le décompte des stocks corresponde à la réalité.

Implémentation de la NMS avec PyTorch#

Même si de nombreux frameworks modernes gèrent la NMS en interne, comprendre son implémentation aide à ajuster les paramètres. L’exemple suivant montre comment appliquer la NMS à l’aide de 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.

NMS et détection de bout en bout#

Traditionnellement, la NMS est une étape obligatoire de « nettoyage » exécutée en dehors du réseau neuronal principal, ce qui ajoute 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 d’IoU. Si le seuil est trop bas, des objets valides proches les uns des autres peuvent ne pas être détectés (rappel faible). S’il est trop élevé, les doublons sont conservés (précision faible).
  • Modèles de bout en bout : Les modèles de nouvelle génération comme YOLO26 sont conçus nativement pour fonctionner de bout en bout. Ils apprennent à prédire exactement une boîte par objet pendant l’entraînement, intégrant ainsi le processus NMS. Cela élimine le besoin d’un post-traitement externe, ce qui permet d’accélérer l’inférence et de simplifier les pipelines de déploiement sur la plateforme Ultralytics.

Concepts associés#

  • Soft-NMS : Une variante dans laquelle les boîtes qui se chevauchent ne sont pas strictement supprimées, mais voient leur score de confiance réduit. Cela permet de continuer à détecter des objets qui se chevauchent partiellement (comme des personnes dans une foule) si leur score reste suffisamment élevé après la décroissance.
  • Boîtes d’ancrage : Formes de boîtes prédéfinies utilisées par de nombreux détecteurs pour estimer la taille des objets. La NMS est appliquée aux prédictions finales affinées à partir de ces ancres.
  • Intersection sur union (IoU) : Formule mathématique utilisée par la NMS pour déterminer le degré de chevauchement entre deux boîtes, et qui sert de seuil de décision pour la suppression.

Explore solutions

Vision par ordinateur pour l'imagerie aérienne

Vision par ordinateur pour l'imagerie aérienne

Transforme les images de drones et aériennes en informations en temps réel pour l'agriculture, l'aquaculture, la surveillance environnementale, la conservation et l'analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l'aérospatiale

Vision par ordinateur dans l'aérospatiale

Apporte l'IA de vision à la surveillance aérienne grâce aux modèles Ultralytics YOLO. Alimente les drones, les flux de travail aérospatiaux, la conservation de l'environnement et les industries géospatiales avec des solutions de vision par ordinateur.
En savoir plus

Protège chaque site avec les modèles Ultralytics YOLO. L'IA de vision alimente la surveillance du périmètre, la détection des menaces, la reconnaissance des plaques d'immatriculation et la sécurité au travail.
En savoir plus
Vision par ordinateur en robotique

Vision par ordinateur en robotique

Donne plus d’intelligence à tes machines avec les modèles Ultralytics YOLO. L’IA visuelle en robotique permet la navigation autonome, la perception, le suivi d’objets et le contrôle en temps réel.
En savoir plus
Vision par ordinateur en logistique

Vision par ordinateur en logistique

Optimise la logistique avec les modèles Ultralytics YOLO. L’IA visuelle 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
Vision par ordinateur dans le commerce de détail

Vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. L’IA visuelle permet le suivi des stocks, la surveillance des rayons, la gestion des files d’attente et l’obtention d’informations plus pertinentes sur les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Développe des solutions de santé avec les modèles Ultralytics YOLO. L'IA de vision dans le secteur de la santé accélère l'imagerie médicale, améliore les diagnostics et renforce la surveillance des patients.
En savoir plus
La vision par ordinateur dans l'industrie manufacturière

La vision par ordinateur dans l'industrie manufacturière

Optimise la production industrielle avec les modèles Ultralytics YOLO. L'IA de vision améliore le contrôle qualité, la détection des défauts, le respect des règles relatives aux EPI et l'automatisation des lignes d'assemblage.
En savoir plus
Vision par ordinateur dans l’automobile

Vision par ordinateur dans l’automobile

Applique la vision par ordinateur à l’automobile avec les modèles Ultralytics YOLO. L’IA de vision améliore la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Apporte 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
Vision par ordinateur pour l'imagerie aérienne

Vision par ordinateur pour l'imagerie aérienne

Transforme les images de drones et aériennes en informations en temps réel pour l'agriculture, l'aquaculture, la surveillance environnementale, la conservation et l'analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l'aérospatiale

Vision par ordinateur dans l'aérospatiale

Apporte l'IA de vision à la surveillance aérienne grâce aux modèles Ultralytics YOLO. Alimente les drones, les flux de travail aérospatiaux, la conservation de l'environnement et les industries géospatiales avec des solutions de vision par ordinateur.
En savoir plus

Protège chaque site avec les modèles Ultralytics YOLO. L'IA de vision alimente la surveillance du périmètre, la détection des menaces, la reconnaissance des plaques d'immatriculation et la sécurité au travail.
En savoir plus
Vision par ordinateur en robotique

Vision par ordinateur en robotique

Donne plus d’intelligence à tes machines avec les modèles Ultralytics YOLO. L’IA visuelle en robotique permet la navigation autonome, la perception, le suivi d’objets et le contrôle en temps réel.
En savoir plus
Vision par ordinateur en logistique

Vision par ordinateur en logistique

Optimise la logistique avec les modèles Ultralytics YOLO. L’IA visuelle 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
Vision par ordinateur dans le commerce de détail

Vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. L’IA visuelle permet le suivi des stocks, la surveillance des rayons, la gestion des files d’attente et l’obtention d’informations plus pertinentes sur les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Développe des solutions de santé avec les modèles Ultralytics YOLO. L'IA de vision dans le secteur de la santé accélère l'imagerie médicale, améliore les diagnostics et renforce la surveillance des patients.
En savoir plus
La vision par ordinateur dans l'industrie manufacturière

La vision par ordinateur dans l'industrie manufacturière

Optimise la production industrielle avec les modèles Ultralytics YOLO. L'IA de vision améliore le contrôle qualité, la détection des défauts, le respect des règles relatives aux EPI et l'automatisation des lignes d'assemblage.
En savoir plus
Vision par ordinateur dans l’automobile

Vision par ordinateur dans l’automobile

Applique la vision par ordinateur à l’automobile avec les modèles Ultralytics YOLO. L’IA de vision améliore la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Apporte 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
Vision par ordinateur pour l'imagerie aérienne

Vision par ordinateur pour l'imagerie aérienne

Transforme les images de drones et aériennes en informations en temps réel pour l'agriculture, l'aquaculture, la surveillance environnementale, la conservation et l'analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l'aérospatiale

Vision par ordinateur dans l'aérospatiale

Apporte l'IA de vision à la surveillance aérienne grâce aux modèles Ultralytics YOLO. Alimente les drones, les flux de travail aérospatiaux, la conservation de l'environnement et les industries géospatiales avec des solutions de vision par ordinateur.
En savoir plus

Protège chaque site avec les modèles Ultralytics YOLO. L'IA de vision alimente la surveillance du périmètre, la détection des menaces, la reconnaissance des plaques d'immatriculation et la sécurité au travail.
En savoir plus
Vision par ordinateur en robotique

Vision par ordinateur en robotique

Donne plus d’intelligence à tes machines avec les modèles Ultralytics YOLO. L’IA visuelle en robotique permet la navigation autonome, la perception, le suivi d’objets et le contrôle en temps réel.
En savoir plus
Vision par ordinateur en logistique

Vision par ordinateur en logistique

Optimise la logistique avec les modèles Ultralytics YOLO. L’IA visuelle 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
Vision par ordinateur dans le commerce de détail

Vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. L’IA visuelle permet le suivi des stocks, la surveillance des rayons, la gestion des files d’attente et l’obtention d’informations plus pertinentes sur les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Développe des solutions de santé avec les modèles Ultralytics YOLO. L'IA de vision dans le secteur de la santé accélère l'imagerie médicale, améliore les diagnostics et renforce la surveillance des patients.
En savoir plus
La vision par ordinateur dans l'industrie manufacturière

La vision par ordinateur dans l'industrie manufacturière

Optimise la production industrielle avec les modèles Ultralytics YOLO. L'IA de vision améliore le contrôle qualité, la détection des défauts, le respect des règles relatives aux EPI et l'automatisation des lignes d'assemblage.
En savoir plus
Vision par ordinateur dans l’automobile

Vision par ordinateur dans l’automobile

Applique la vision par ordinateur à l’automobile avec les modèles Ultralytics YOLO. L’IA de vision améliore la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Apporte 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 l'avenir de l'IA !

Commence ton parcours vers l'avenir de l'apprentissage automatique