Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

Supresión no máximaNMS)

Descubra la supresión no máximaNMS) para la detección de objetos. Descubra cómo perfecciona los resultados, mejora la precisión y potencia aplicaciones de IA como YOLO.

La supresión no máxima (NMS) es un algoritmo de posprocesamiento crítico utilizado en la visión por ordenador para refinar el resultado de los modelos de detección de objetos. Durante la etapa de inferencia , un modelo de detección suele identificar el mismo objeto varias veces, lo que da lugar a un grupo de cuadros delimitadores superpuestos con diferentes puntuaciones de confianza. NMS filtra estas predicciones redundantes para garantizar que cada objeto único esté representado por un solo cuadro delimitador óptimo . Al eliminar las detecciones duplicadas y conservar las más precisas, NMS mejora NMS la precisión y claridad de los resultados finales.

¿Cómo funciona la supresión no máxima?

La función principal del NMS resolver la ambigüedad cuando un modelo «ve» el mismo objeto desde perspectivas o escalas ligeramente diferentes . El proceso se basa en dos criterios principales: la puntuación de confianza, que indica la certeza del modelo, y la intersección sobre la unión (IoU), que mide la superposición física entre dos recuadros.

NMS estándar NMS suele seguir estos pasos:

  1. Umbrales: el algoritmo descarta primero cualquier cuadro delimitador con una puntuación de confianza inferior a un umbral predefinido, eliminando inmediatamente las predicciones débiles.
  2. Clasificación: Las casillas restantes se clasifican en orden descendente en función de sus puntuaciones de confianza.
  3. Selección: La caja con la mayor confianza se selecciona como la «mejor» predicción para ese objeto.
  4. Supresión: este cuadro seleccionado se compara con todos los demás cuadros de la lista. Si el IoU el cuadro seleccionado y otro cuadro supera un NMS específico (por ejemplo, 0,5 o 0,7), el cuadro con la puntuación más baja se suprime (se descarta) porque se supone que es una detección duplicada del mismo objeto.
  5. Iteración: El proceso se repite con la siguiente casilla de mayor puntuación que no haya sido suprimida hasta que se hayan procesado todos los candidatos.

Las variaciones avanzadas, como NMS, modifican este enfoque reduciendo las puntuaciones de los recuadros superpuestos en lugar de eliminarlos por completo. Esto resulta especialmente útil en escenarios de gestión de multitudes, en los que los objetos pueden ocultarse unos a otros de forma natural.

Aplicaciones en el mundo real

NMS un componente estándar en casi todos los procesos de visión práctica que implican la detección de elementos distintos.

  • IA en automoción: en los sistemas de conducción autónoma, las cámaras de un vehículo pueden detect solo peatón varias veces mientras el coche se desplaza. Sin NMS, el sistema de planificación del movimiento podría interpretar esto como un grupo de personas, lo que provocaría frenadas o giros erráticos. NMS la pila de percepción reciba una ubicación única y clara para cada obstáculo, lo cual es vital para sistemas de seguridad como los desarrollados por Waymo.
  • Análisis de imágenes médicas: Al analizar tomografías computarizadas o radiografías en busca de anomalías, como tumores, se requiere una alta precisión. La IA en el ámbito sanitario utiliza NMS garantizar que una única lesión no active múltiples alertas. Esto reduce los falsos positivos y ayuda a los radiólogos a centrarse en hallazgos médicos distintos, agilizando los flujos de trabajo en patología digital.

NMS en Ultralytics YOLO

Dentro del Ultralytics YOLO11 arquitectura, NMS integra perfectamente en el proceso de predicción. Los usuarios pueden controlar el comportamiento de NMS el iou argumento durante la inferencia. Un IoU más bajo da como resultado una supresión más estricta (menos recuadros), mientras que un umbral más alto permite que permanezcan más recuadros superpuestos.

El siguiente Python muestra cómo ajustar NMS al ejecutar la inferencia con ultralytics:

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 weak predictions before NMS runs
results = model.predict("https://ultralytics.com/images/bus.jpg", iou=0.5, conf=0.25)

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

Comparación con conceptos relacionados

Es útil distinguir NMS otros términos que se encuentran a menudo en tareas de visión por computadora.

  • NMS cuadros de anclaje: Los anclajes son formas predefinidas que se utilizan durante el procesamiento del modelo para generar predicciones iniciales. NMS un paso de posprocesamiento que limpia esas predicciones una vez que la red ha finalizado su cálculo.
  • NMS al umbral de confianza: un umbral de confianza filtra los recuadros basándose únicamente en sus puntuaciones de probabilidad individuales (por ejemplo, «¿Es esto un coche?»). NMS los recuadros basándose en su relación espacial con otros recuadros (por ejemplo, «¿Es este el mismo coche que ya he detectado?»).
  • NMS detección de extremo a extremo: NMS tradicional NMS latencia de inferencia porque requiere clasificación y comparación por pares. Los últimos modelos, como YOLO26, están avanzando hacia arquitecturas de extremo a extremo. Estos modelos de última generación tienen como objetivo generar el conjunto final de objetos únicos directamente desde la red neuronal, lo que podría hacer que NMS externos queden obsoletos para futuras aplicaciones de inferencia en tiempo real.

Para los desarrolladores que optimizan modelos para dispositivos periféricos, NMS fundamental comprender NMS . Herramientas como TensorRT a menudo proporcionan NMS optimizados para acelerar este paso específico durante la implementación del modelo.

Únase a la comunidad Ultralytics

Únete al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo

Únete ahora