Conoce YOLO26: IA de visión de nueva generación.
Ultralytics
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 posprocesamiento utilizada en la detección de objetos para refinar las predicciones en bruto realizadas por un modelo. Cuando un modelo de detección de objetos analiza una imagen, a menudo genera múltiples bounding boxes solapados para un mismo objeto, cada uno 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. La NMS filtra este resultado manteniendo solo la bounding box más precisa para cada objeto y descartando las demás, lo que garantiza que el resultado final sea limpio, preciso y sin duplicados.

Link to this sectionCó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 Intersection over Union (IoU), una métrica que mide el solapamiento 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.

Link to this sectionAplicaciones 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 usar computer vision para contar productos en un estante, los artículos a menudo están muy juntos. Sin NMS, una lata de refresco podría contarse dos veces debido a las predicciones solapadas, lo que llevaría a niveles de existencias inexactos. La NMS refina estas detecciones para asegurar que el recuento de inventario coincida con la realidad.

Link to this sectionImplementación de NMS con PyTorch#

Aunque muchos marcos modernos gestionan la NMS internamente, comprender la implementación ayuda a ajustar los parámetros. El siguiente ejemplo demuestra cómo aplicar la 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.

Link to this sectionNMS frente a detección integral (end-to-end)#

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

  • NMS estándar: Un proceso heurístico que requiere el ajuste manual del umbral de IoU. Si el umbral es demasiado bajo, podrían perderse objetos válidos cercanos entre sí (baja recall). Si es demasiado alto, permanecen los duplicados (baja precision).
  • Modelos integrales (End-to-End): Los modelos de nueva generación como YOLO26 están diseñados para ser intrínsecamente integrales. Aprenden a predecir exactamente una caja por objeto durante el entrenamiento, internalizando eficazmente el proceso de NMS. Esto elimina la necesidad de un posprocesamiento externo, lo que resulta en velocidades de inferencia más rápidas y tuberías de despliegue más sencillas en la Ultralytics Platform.

Link to this sectionConceptos relacionados#

  • Soft-NMS: Una variante donde las cajas solapadas no se eliminan estrictamente, sino que se reducen sus puntuaciones de confianza. Esto permite que objetos algo solapados (como personas en una multitud) sigan siendo detectados si sus puntuaciones permanecen lo suficientemente altas después de la degradación.
  • Anchor Boxes: Formas de caja predefinidas utilizadas por muchos detectores para estimar el tamaño del objeto. La NMS se aplica a las predicciones finales refinadas a partir de estos anchors.
  • Intersection over Union (IoU): La fórmula matemática utilizada por la NMS para determinar cuánto se solapan 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