Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Suppression non maximaleNMS

Découvrez la suppression non maximaleNMS pour la détection d'objets. Apprenez comment elle affine les résultats, améliore la précision et alimente des applications d'IA telles que YOLO.

La suppression non maximaleNMS est une technique de post-traitement essentielle utilisée en vision par ordinateur pour affiner les résultats des algorithmes de détection d'objets. Lorsqu'un modèle analyse une image, il prédit souvent plusieurs boîtes de délimitation se chevauchant pour un même objet, chacune avec une probabilité distincte. probabilité distincte. NMS filtre ces prédictions redondantes pour s'assurer que chaque objet unique est identifié exactement une fois, en ne conservant que la boîte la plus précise et en rejetant les autres. une seule fois, en ne conservant que la boîte la plus précise et en rejetant les autres. Ce processus est essentiel pour obtenir une précision dans les applications réelles, en empêchant les systèmes de détecter des doublons "fantômes" de la même cible.

Mécanismes de suppression

L'algorithme NMS fonctionne comme un filtre qui nettoie la sortie brute d'un modèle d'apprentissage profond. modèle d'apprentissage profond. Il s'appuie fortement sur deux métriques clés : le score de confiance, qui indique le degré de qu'une boîte contient un objet, et l'intersection sur l'union (IoU), qui indique dans quelle Intersection sur Union (IoU), qui mesure le mesure le chevauchement spatial entre deux boîtes.

L'algorithme de recherche standard pour les NMS suit généralement les étapes suivantes les étapes suivantes :

  1. Seuil : Toutes les boîtes candidates dont le score de confiance est inférieur à un seuil spécifique sont immédiatement éliminées afin de supprimer les prédictions faibles. sont immédiatement éliminées afin de supprimer les prédictions faibles.
  2. Tri : Les cases restantes sont triées par ordre décroissant en fonction de leur score de confiance.
  3. Sélection : La boîte ayant le score le plus élevé est sélectionnée comme détection valide.
  4. Suppression : L'algorithme compare la case sélectionnée à toutes les autres cases restantes. Si l'IoU entre la boîte sélectionnée et une autre boîte dépasse une limite définie (par exemple, 0,5), la boîte ayant le score le plus bas est supprimée, car elle est censée représenter le même objet. (supprimée) car elle est censée représenter le même objet.
  5. Itération : Ce processus est répété pour la case suivante ayant obtenu le meilleur score, jusqu'à ce que tous les candidats aient été traités. traités.

Des variantes avancées, telles que NMS, diminuent les scores de détection les boîtes qui se chevauchent plutôt que de les éliminer complètement, ce qui peut être utile dans les scènes encombrées où les objets se cachent naturellement les uns les autres. où les objets s'occultent naturellement les uns les autres.

Applications concrètes

Le NMS est omniprésent dans les systèmes qui s'appuient sur l'intelligence artificielle. l'intelligence artificielle pour interpréter les données visuelles. Son rôle est particulièrement important dans les environnements de sécurité et de haute précision.

  • L'IA dans l'automobile: Dans les piles de perception des Dans les piles de perception des voitures autonomes, la détection précise des autres véhicules et des piétons n'est pas négociable. Sans NMS, un système de perception de véhicule pourrait detect un seul piéton comme étant trois ou quatre personnes distinctes en raison des prédictions qui se chevauchent. de trois ou quatre personnes distinctes en raison du chevauchement des prédictions. Cela pourrait perturber les algorithmes de planification des mouvements, ce qui entraînerait des erreurs dans les prévisions. algorithmes de planification des mouvements, entraînant un freinage ou une ou une direction erronée. Le NMS garantit une représentation propre et unique des obstacles, comme le montrent des technologies telles que NVIDIA DRIVE.
  • Analyse d'images médicales: Lorsque l'on utilise l'IA pour identifier des tumeurs ou des lésions dans des radiographies et des IRM, la précision est primordiale. L'IA dans les systèmes de soins de santé utilise le NMS pour s'assurer qu'une seule anomalie ne déclenche pas plusieurs alertes. qu'une seule anomalie ne déclenche pas plusieurs alertes, ce qui aide les radiologues à se concentrer sur des résultats distincts. Une détection détection fiable réduit les faux positifs, rationalisant ainsi le flux de travail diagnostique décrit dans la recherche en imagerie médicale. recherche en imagerie médicale.

NMS dans Ultralytics YOLO

Dans le cadre de Ultralytics YOLO11NMS est intégré directement dans directement dans le pipeline de prédiction. Les utilisateurs peuvent facilement ajuster les paramètres du NMS , tels que le seuil de IoU , afin de trouver un équilibre entre la suppression des doublons et la séparation des objets étroitement espacés. entre la suppression des doublons et la séparation d'objets très proches.

L'extrait de code suivant montre comment exécuter l'inférence et personnaliser les paramètres du NMS à l'aide de la commande ultralytics l'emballage :

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")

# Run inference on an image
# 'iou=0.5' sets the NMS threshold; boxes with >50% overlap are suppressed
# 'conf=0.25' filters out boxes with low confidence before NMS runs
results = model.predict("https://ultralytics.com/images/bus.jpg", iou=0.5, conf=0.25)

# Display the number of detected objects after NMS
print(f"Objects detected: {len(results[0].boxes)}")

Comparaison avec des concepts connexes

Il est important de distinguer NMS des autres termes utilisés dans les pipelines de détection.

  • NMS et boîtes d'ancrage: Les ancres sont formes prédéfinies utilisées comme points de départ pour les prédictions pendant le traitement du modèle. Le NMS est une étape étape de post-traitement qui intervient après que le modèle a produit ses prédictions finales.
  • NMS vs. seuil de confiance: A seuil de confiance filtre les cases en se basant uniquement sur leurs scores de probabilité individuels. Le NMS filtre les cases en fonction de leur relation (chevauchement) avec d'autres cases.
  • NMS vs. détection de bout en bout : Le NMS traditionnel ajoute une latence d'inférence car il s'agit d'un NMS séquentiel. latence d'inférence car il s'agit d'un processus séquentiel. séquentiel. Les architectures à venir, telles que YOLO26, s'orientent vers des conceptions nativement de bout en bout. s'orientent vers des conceptions natives de bout en bout. Ces modèles visent à produire l'ensemble final d'objets uniques directement à partir du réseau neuronal, ce qui pourrait rendre les algorithmes de NMS externes inutiles. réseau neuronal, ce qui pourrait rendre obsolètes les algorithmes NMS externes dans les futures générations de modèles d'apprentissage NMS . modèles d'apprentissage automatique.

Pour les développeurs qui cherchent à déployer ces modèles de manière efficace, il est essentiel de comprendre l'impact des NMS sur l'inférence en temps réel. sur l'inférence en temps réel. Des outils tels que TensorRT incluent souvent des plugins NMS optimisés pour accélérer cette cette étape lors du déploiement du modèle.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant