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áximaNMS) es una técnica de posprocesamiento vital utilizada en
visión por ordenador para refinar los resultados
algoritmos de detección de objetos. Cuando un modelo analiza
una imagen, a menudo predice múltiples recuadros
de un mismo objeto, cada uno con una probabilidad
probabilidad distinta. NMS filtra estas predicciones redundantes para garantizar que cada objeto único se identifique exactamente una vez.
una vez, reteniendo sólo el recuadro más preciso y descartando el resto. Este proceso es esencial para lograr una alta
precisión en aplicaciones reales, evitando que los sistemas
detecten duplicados "fantasma" del mismo objetivo.
Mecanismos de supresión
El algoritmo NMS funciona como un filtro que limpia la salida sin procesar de un modelo de aprendizaje profundo.
modelo de aprendizaje profundo. Se basa en gran medida en dos métricas
clave: la puntuación de confianza, que indica
el modelo de que una caja contiene un objeto, y la puntuación de
Intersección sobre Unión (IoU), que
mide el solapamiento espacial entre dos cajas.
El algoritmo greedy estándar para NMS generalmente sigue
estos pasos:
-
Umbral: Todas las cajas candidatas con una puntuación de confianza inferior a un umbral específico se descartan inmediatamente para eliminar las predicciones débiles.
para eliminar las predicciones débiles.
-
Clasificación: Las casillas restantes se clasifican en orden descendente en función de sus puntuaciones de confianza.
- Selección: La casilla con la puntuación más alta se selecciona como detección válida.
-
Supresión: El algoritmo compara la casilla seleccionada con el resto de casillas restantes. Si el IoU
entre la casilla seleccionada y otra casilla supera un límite definido (por ejemplo, 0,5), la casilla con menor puntuación se suprime
(eliminada) porque se supone que representa el mismo objeto.
-
Iteración: Este proceso se repite para la siguiente casilla con mayor puntuación hasta que todos los candidatos hayan sido
procesados.
Variaciones avanzadas, como NMS, reducen la puntuación de detección de
cajas superpuestas en lugar de eliminarlas por completo, lo que puede ser beneficioso en escenas abarrotadas en las que los objetos
objetos se superponen de forma natural.
Aplicaciones en el mundo real
NMS es omnipresente en los sistemas que se basan en
inteligencia artificial para interpretar
datos visuales. Su papel es especialmente importante en entornos críticos para la seguridad y de alta precisión.
-
La IA en la automoción: En la
pilas de percepción de los coches autoconducidos, detectar con precisión otros vehículos y peatones no es negociable.
Sin NMS, un sistema de percepción de vehículos podría detect un solo peatón como si fueran tres o cuatro personas distintas debido a la superposición de predicciones.
predicciones superpuestas. Esto podría confundir
confundir los algoritmos de planificación del movimiento, provocando
o la dirección. NMS garantiza una representación limpia y singular de los obstáculos, como se observa en tecnologías como
NVIDIA DRIVE.
-
Análisis de imágenes médicas:
Cuando se utiliza la IA para identificar tumores o lesiones en radiografías y resonancias magnéticas, la precisión es primordial.
La IA en los sistemas sanitarios utiliza NMS para garantizar que
una sola anomalía no dispare múltiples alertas, ayudando a los radiólogos a centrarse en hallazgos distintos. La fiabilidad de
detección fiable reduce los falsos positivos, agilizando el flujo de trabajo de diagnóstico descrito en
investigación en imagen médica.
NMS en Ultralytics YOLO
En los Ultralytics YOLO11NMS está integrado
directamente en el proceso de predicción. Los usuarios pueden ajustar fácilmente los parámetros de NMS , como el umbral IoU , para equilibrar
entre la eliminación de duplicados y la separación de objetos poco espaciados.
El siguiente fragmento de código muestra cómo ejecutar la inferencia y personalizar la configuración NMS mediante la función
ultralytics paquete:
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)}")
Comparación con conceptos relacionados
Es importante distinguir NMS de otros términos que se encuentran en los conductos de detección.
-
NMS frente a cajas de anclaje: Los anclajes son
formas predefinidas que se utilizan como puntos de partida para las predicciones durante el procesamiento del modelo. NMS es un
es un paso posterior al procesamiento que se produce después de que el modelo haya emitido sus predicciones finales.
-
NMS vs. Umbral de confianza: A
umbral de confianza filtra las casillas basándose únicamente en sus puntuaciones de probabilidad individuales. El NMS filtra las casillas en función de
su relación (solapamiento) con otras casillas.
-
NMS frente a la detección de extremo a extremo: El NMS tradicional añade
latencia de inferencia porque es un proceso
secuencial. Las arquitecturas futuras, como YOLO26, están
avanzan hacia diseños nativos de extremo a extremo. El objetivo de estos modelos es obtener el conjunto final de objetos únicos directamente de la red neuronal, lo que puede hacer que los algoritmos de NMS externos se vuelvan más complejos.
directamente de la red neuronal, con lo que los algoritmos de NMS externos podrían quedar obsoletos en futuras generaciones de modelos de aprendizaje automático.
generaciones futuras de modelos de aprendizaje automático.
Para los desarrolladores que deseen desplegar estos modelos de forma eficiente, es crucial comprender el impacto NMS en la inferencia en tiempo real.
la inferencia en tiempo real. Herramientas como
TensorRT suelen incluir plugins NMS optimizados para acelerar este
paso durante el despliegue del modelo.