YOLO Vision 2026:
Volver al glosario de Ultralytics

Non-Maximum Suppression (NMS)

Aprende cómo la supresión de no máximos (NMS) elimina los cuadros delimitadores duplicados en la detección de objetos. Descubre cómo Ultralytics YOLO26 proporciona NMS nativo de extremo a extremo.

La supresión de no máximos (NMS) es una técnica de postprocesamiento utilizada en la detección de objetos para refinar las predicciones brutas realizadas por un modelo. Cuando un modelo de detección de objetos analiza una imagen, a menudo genera múltiples cajas delimitadoras superpuestas para un solo objeto, cada una con una puntuación de confianza asociada. Estas predicciones redundantes ocurren porque el modelo puede detectar la misma característica a escalas o posiciones ligeramente diferentes. NMS filtra este resultado conservando únicamente la caja delimitadora más precisa para cada objeto y descartando las demás, lo que garantiza que el resultado final sea limpio, preciso y libre de duplicados.

Cómo funciona la supresión de no máximos#

El algoritmo NMS opera sobre una lista de bounding boxes candidatas y sus correspondientes puntuaciones de confianza. El objetivo es seleccionar la mejor caja para un objeto y suprimir (eliminar) cualquier otra caja que se solape significativamente con ella, ya que es probable que sean detecciones duplicadas del mismo objeto. El proceso suele seguir estos pasos:

  1. Filtrado: Elimina todas las bounding boxes con puntuaciones de confianza por debajo de un umbral específico (por ejemplo, 0,25) para eliminar predicciones débiles de inmediato.

  2. Ordenación: Ordena las cajas restantes en orden descendente según sus puntuaciones de confianza.

  3. Selección: Elige la caja con la puntuación de confianza más alta como detección válida.

  4. Comparación: Compara esta caja seleccionada con todas las demás cajas restantes utilizando la intersección sobre la unión (IoU), una métrica que mide la superposición entre dos cajas.

  5. Supresión: Si el IoU entre la caja seleccionada y otra caja supera un umbral predefinido (por ejemplo, 0,45), la caja con menor puntuación se considera un duplicado y se elimina.

  6. Iteración: Repite el proceso con la siguiente caja de mayor puntuación que aún no haya sido suprimida o seleccionada, hasta que todas las cajas hayan sido procesadas.

Aplicaciones en el mundo real#

La NMS es esencial en escenarios donde la precisión es primordial y las detecciones duplicadas pueden confundir a los sistemas posteriores.

  • Conducción autónoma: En los sistemas de coches autónomos, las cámaras detectan peatones, otros vehículos y señales de tráfico. Un modelo podría predecir tres cajas ligeramente diferentes para un mismo peatón. La NMS asegura que el sistema de planificación del vehículo reciba solo una coordenada para ese peatón, evitando frenazos erráticos o errores de planificación de trayectoria causados por obstáculos "fantasma".
  • Gestión de inventario minorista: Al utilizar la visión artificial para contar productos en un estante, los artículos suelen estar muy juntos. Sin NMS, una sola lata de refresco podría contarse dos veces debido a las predicciones superpuestas, lo que daría lugar a niveles de existencias inexactos. NMS refina estas detecciones para garantizar que el recuento de inventario coincida con la realidad.

Implementación de NMS con PyTorch#

Aunque muchos marcos modernos gestionan NMS de forma interna, comprender la implementación ayuda a ajustar los parámetros. El siguiente ejemplo demuestra cómo aplicar NMS utilizando la biblioteca 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 frente a detección integral (end-to-end)#

Tradicionalmente, NMS ha sido un paso de "limpieza" obligatorio que se sitúa fuera de la red neuronal principal, lo que añade latencia de inferencia. Sin embargo, el campo está evolucionando hacia arquitecturas de extremo a extremo.

  • NMS estándar: Un proceso heurístico que requiere el ajuste manual del umbral de IoU. Si el umbral es demasiado bajo, es posible que se omitan objetos válidos cercanos entre sí (exhaustividad baja). Si es demasiado alto, los duplicados permanecen (precisión baja).
  • Modelos de extremo a extremo: Los modelos de próxima generación como YOLO26 están diseñados para funcionar de forma nativa de extremo a extremo. Aprenden a predecir exactamente una caja por objeto durante el entrenamiento, internalizando eficazmente el proceso de NMS. Esto elimina la necesidad de un postprocesamiento externo, lo que se traduce en velocidades de inferencia más rápidas y flujos de trabajo de despliegue más simples en la Ultralytics Platform.

Conceptos relacionados#

  • Soft-NMS: Una variante en la que las cajas superpuestas no se eliminan estrictamente, sino que se reducen sus puntuaciones de confianza. Esto permite que objetos que se superponen ligeramente (como personas en una multitud) sigan detectándose si sus puntuaciones siguen siendo lo suficientemente altas después de la reducción.
  • Cajas de anclaje: Formas de caja predefinidas utilizadas por muchos detectores para estimar el tamaño de los objetos. NMS se aplica a las predicciones finales refinadas a partir de estos anclajes.
  • Intersección sobre la unión (IoU): La fórmula matemática utilizada por NMS para determinar cuánto se superponen dos cajas, actuando como umbral de decisión para la supresión.

Explore solutions

Real-time AI that works with your team

IA en robótica

Potencia máquinas más inteligentes con modelos Ultralytics YOLO. La IA de visión en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Real-time AI that works with your team

IA en logística

Optimiza la logística con los modelos de Ultralytics YOLO. La visión artificial por IA permite la inspección de paquetes, clasificación, seguimiento de vehículos y monitoreo de seguridad en almacenes en tiempo real.
Más información
Real-time AI that works with your team

IA en el sector minorista

Reimagina el comercio minorista con los modelos de Ultralytics YOLO. La visión artificial por IA potencia el seguimiento de inventario, el monitoreo de estantes, la gestión de colas y mejores perspectivas sobre los clientes.
Más información
Real-time AI that works with your team

IA en la atención sanitaria

Crea soluciones de salud con los modelos de Ultralytics YOLO. La IA de visión en la sanidad potencia imágenes médicas más rápidas, diagnósticos más inteligentes y supervisión de pacientes.
Más información
Real-time AI that works with your team

IA en la fabricación

Optimiza la fabricación con los modelos de Ultralytics YOLO. La visión artificial por IA impulsa el control de calidad, la detección de defectos, el cumplimiento del uso de PPE y la automatización de la línea de montaje.
Más información
Real-time AI that works with your operation

IA en automoción

Aplica la visión artificial en el sector automotriz con los modelos de Ultralytics YOLO. La IA de visión mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para carreteras más inteligentes.
Más información
Real-time AI tailored to your operation

IA en agricultura

Lleva la visión artificial a la agricultura inteligente con los modelos de Ultralytics YOLO. Potencia el seguimiento de cultivos, el control del ganado y la agricultura de precisión para obtener rendimientos mayores y más inteligentes.
Más información
Real-time AI that works with your team

IA en robótica

Potencia máquinas más inteligentes con modelos Ultralytics YOLO. La IA de visión en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Real-time AI that works with your team

IA en logística

Optimiza la logística con los modelos de Ultralytics YOLO. La visión artificial por IA permite la inspección de paquetes, clasificación, seguimiento de vehículos y monitoreo de seguridad en almacenes en tiempo real.
Más información
Real-time AI that works with your team

IA en el sector minorista

Reimagina el comercio minorista con los modelos de Ultralytics YOLO. La visión artificial por IA potencia el seguimiento de inventario, el monitoreo de estantes, la gestión de colas y mejores perspectivas sobre los clientes.
Más información
Real-time AI that works with your team

IA en la atención sanitaria

Crea soluciones de salud con los modelos de Ultralytics YOLO. La IA de visión en la sanidad potencia imágenes médicas más rápidas, diagnósticos más inteligentes y supervisión de pacientes.
Más información
Real-time AI that works with your team

IA en la fabricación

Optimiza la fabricación con los modelos de Ultralytics YOLO. La visión artificial por IA impulsa el control de calidad, la detección de defectos, el cumplimiento del uso de PPE y la automatización de la línea de montaje.
Más información
Real-time AI that works with your operation

IA en automoción

Aplica la visión artificial en el sector automotriz con los modelos de Ultralytics YOLO. La IA de visión mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para carreteras más inteligentes.
Más información
Real-time AI tailored to your operation

IA en agricultura

Lleva la visión artificial a la agricultura inteligente con los modelos de Ultralytics YOLO. Potencia el seguimiento de cultivos, el control del ganado y la agricultura de precisión para obtener rendimientos mayores y más inteligentes.
Más información
Real-time AI that works with your team

IA en robótica

Potencia máquinas más inteligentes con modelos Ultralytics YOLO. La IA de visión en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Real-time AI that works with your team

IA en logística

Optimiza la logística con los modelos de Ultralytics YOLO. La visión artificial por IA permite la inspección de paquetes, clasificación, seguimiento de vehículos y monitoreo de seguridad en almacenes en tiempo real.
Más información
Real-time AI that works with your team

IA en el sector minorista

Reimagina el comercio minorista con los modelos de Ultralytics YOLO. La visión artificial por IA potencia el seguimiento de inventario, el monitoreo de estantes, la gestión de colas y mejores perspectivas sobre los clientes.
Más información
Real-time AI that works with your team

IA en la atención sanitaria

Crea soluciones de salud con los modelos de Ultralytics YOLO. La IA de visión en la sanidad potencia imágenes médicas más rápidas, diagnósticos más inteligentes y supervisión de pacientes.
Más información
Real-time AI that works with your team

IA en la fabricación

Optimiza la fabricación con los modelos de Ultralytics YOLO. La visión artificial por IA impulsa el control de calidad, la detección de defectos, el cumplimiento del uso de PPE y la automatización de la línea de montaje.
Más información
Real-time AI that works with your operation

IA en automoción

Aplica la visión artificial en el sector automotriz con los modelos de Ultralytics YOLO. La IA de visión mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para carreteras más inteligentes.
Más información
Real-time AI tailored to your operation

IA en agricultura

Lleva la visión artificial a la agricultura inteligente con los modelos de Ultralytics YOLO. Potencia el seguimiento de cultivos, el control del ganado y la agricultura de precisión para obtener rendimientos mayores y más inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Comienza tu viaje con el futuro del aprendizaje automático