Glossaire

Suppression non maximale (NMS)

Découvre la suppression non maximale (NMS) pour la détection d'objets. Apprends comment elle affine les résultats, améliore la précision et alimente les applications d'IA telles que YOLO.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

La suppression non maximale (NMS) est une technique de post-traitement cruciale largement utilisée dans le domaine de la vision artificielle (CV), en particulier dans les pipelines de détection d'objets. Son rôle principal est d'affiner la sortie brute générée par les modèles de détection, qui identifient souvent plusieurs boîtes de délimitation se chevauchant pour la même instance d'objet. En filtrant intelligemment ces boîtes redondantes, NMS s'assure que chaque objet distinct d'une image ou d'une trame vidéo est représenté par une seule boîte de délimitation optimale. Cela améliore considérablement la clarté et la précision des résultats de détection finaux, les rendant plus utiles pour les tâches ultérieures.

Comment fonctionne la suppression non maximale

Modèles de détection d'objets, tels que divers Ultralytics YOLO analysent généralement une image et proposent de nombreuses boîtes de délimitation potentielles autour des objets détectés. Chaque boîte proposée est accompagnée d'un score de confiance, indiquant la certitude du modèle que la boîte contient un objet et appartient à une classe spécifique. Le NMS fonctionne en réduisant systématiquement ces propositions en fonction de leur score de confiance et de leur chevauchement spatial.

Le processus suit généralement les étapes suivantes :

  1. Toutes les boîtes de délimitation proposées sont triées en fonction de leur score de confiance, généralement dans l'ordre décroissant.
  2. La boîte englobante ayant le score de confiance le plus élevé est sélectionnée comme détection définitive.
  3. Toutes les autres boîtes de délimitation qui ont un chevauchement significatif avec cette boîte sélectionnée sont supprimées ou enlevées. Le chevauchement est mesuré à l'aide de la métrique Intersection over Union (IoU), et la suppression a lieu si l'IoU dépasse un seuil prédéfini (par exemple, 0,5). Une explication détaillée de ce concept de base peut être trouvée dans des ressources telles que le guide NMS de PyImageSearch.
  4. Le processus se répète de manière itérative : la case suivante ayant obtenu le meilleur score parmi les cases restantes est sélectionnée, et les cases qui se chevauchent sont supprimées.
  5. Cette opération se poursuit jusqu'à ce que toutes les boîtes aient été soit sélectionnées comme détections finales, soit supprimées.

Cela permet de s'assurer que seules les boîtes les plus sûres et qui ne se chevauchent pas restent, ce qui donne un résultat beaucoup plus propre et plus facile à interpréter, comme le montrent de nombreux tutoriels sur la vision par ordinateur.

Importance dans le domaine de l'IA et de l'apprentissage automatique

Dans les domaines plus larges de l'intelligence artificielle (IA) et de l'apprentissage automatique (ML), le NMS est fondamental pour obtenir des performances fiables en matière de détection d'objets. Sans NMS, la sortie d'un détecteur comme YOLO11 serait encombrée de plusieurs cases correspondant à des objets uniques. Cette redondance peut entraîner des erreurs dans les applications en aval, comme le comptage d'objets(guide de comptage d'objets), le suivi d'objets ou la compréhension de scènes complexes en robotique.

En éliminant ces détections redondantes (qui contribuent souvent aux faux positifs), le SGN améliore considérablement la précision des prédictions du modèle. Ce raffinement est essentiel pour les applications exigeant une fiabilité et une précision élevées. L'impact du NMS se reflète dans les mesures d'évaluation telles que la précision moyenne (mAP), qui sont généralement calculées après l'application du NMS, comme le détaille le guide des mesures de performance deYOLO .

Applications dans le monde réel

Le SGN est une technologie de base qui permet de nombreuses applications pratiques de l'IA :

  • Véhicules autonomes: Dans les voitures autonomes, le SGN aide à identifier et à localiser avec précision les véhicules, les piétons, les cyclistes et les panneaux de signalisation en filtrant les détections multiples pour chaque objet, ce qui garantit une navigation plus sûre. En savoir plus sur l'IA dans les voitures autonomes.
  • Analyse d'images médicales: Lors de la détection d'anomalies telles que des tumeurs ou des lésions dans des scanners médicaux (par exemple, des tomodensitogrammes ou des IRM), le NMS s'assure que chaque découverte est marquée par une seule boîte de délimitation, ce qui aide les radiologues à poser leur diagnostic. Ceci est crucial dans des domaines comme la radiologie, soutenue par des organisations comme la Radiological Society of North America (RSNA). En savoir plus sur l'IA dans les soins de santé.
  • Sécurité et surveillance : Le NMS est utilisé dans les systèmes de vidéosurveillance pour détecter et compter avec précision les individus ou les objets dans les scènes de foule(blog AI in surveillance).
  • Analyse de la vente au détail : Pour des tâches telles que la gestion des stocks ou la surveillance des rayons, NMS permet de s'assurer que chaque produit n'est détecté qu'une seule fois.
  • Robotique: Les robots dépendent d'une détection précise des objets pour la navigation et l'interaction ; le SGN fournit les données de détection propres nécessaires à ces tâches(intégration de la vision par ordinateur dans la robotique).

Comparaison avec les techniques connexes

Le NMS est spécifiquement une étape de post-traitement appliquée après qu' un modèle de détection d'objet a généré son ensemble initial de boîtes de délimitation candidates. Il ne doit pas être confondu avec l'architecture de détection elle-même, comme la différence entre les détecteurs basés sur l'ancrage et les détecteurs sans ancrage. Ces architectures définissent la façon dont les boîtes potentielles sont proposées, tandis que le NMS affine ces propositions.

Il est intéressant de noter que le coût de calcul et les goulots d'étranglement potentiels associés au NMS ont stimulé la recherche sur les détecteurs d'objets sans NMS. Des modèles comme YOLOv10 intègrent des mécanismes au cours de l'apprentissage (comme des affectations doubles cohérentes) pour éviter de manière inhérente de prédire des boîtes redondantes, dans le but de réduire la latence de l'inférence et de permettre une détection véritablement de bout en bout(approche sans NMS de YOLOv10). Cela contraste avec les approches traditionnelles telles que Ultralytics YOLOv8 ou YOLOv5où le SGN reste une partie standard et essentielle du pipeline d'inférence. Tu peux explorer les comparaisons techniques, telles que YOLOv10 vs YOLOv8, dans notre documentation. Des variantes comme Soft-NMS(article sur Soft-NMS) proposent des approches alternatives qui réduisent les scores des boîtes qui se chevauchent au lieu de les éliminer complètement.

Intégration avec les outils Ultralytics

NMS est parfaitement intégré à l'écosystème Ultralytics . Les modèlesYOLO 'Ultralytics appliquent automatiquement le NMS pendant la prédiction (predict) et validation (val) Les utilisateurs reçoivent ainsi des résultats de détection propres et précis par défaut. Les paramètres qui contrôlent le comportement du NMS (comme le seuil d'intégrité et le seuil de confiance) peuvent souvent être réglés en fonction des besoins spécifiques de l'application.

Des plateformes comme Ultralytics HUB font encore plus abstraction de ces détails, permettant aux utilisateurs d'entraîner des modèles(guide d'entraînement dans le nuage) et de les déployer là où le NMS est géré automatiquement dans le cadre du pipeline optimisé. Cette intégration garantit que les utilisateurs, quelle que soit leur expertise technique approfondie en matière de MLOps, peuvent bénéficier de résultats de détection d'objets à la pointe de la technologie pour diverses tâches de vision par ordinateur. Les détails de l'implémentation spécifique dans le cadre d'Ultralytics peuvent être explorés dans la référence des utilitairesUltralytics . Pour plus de définitions, consulte le glossaire principal d'Ultralytics .

Tout lire