Aprenda qué es la intersección sobre la uniónIoU), cómo se calcula y su papel fundamental en la detección de objetos y la evaluación de modelos de IA.
La intersección sobre la uniónIoU) es una métrica de evaluación fundamental utilizada en visión por ordenador (CV) para medir la precisión de un detector de objetos en un conjunto de datos concreto. En los círculos académicos se suele denominar Índice de Jaccard, IoU cuantifica el grado de solapamiento entre dos regiones: el cuadro delimitador previsto generado por un generada por un modelo y el cuadro delimitador real, que es la anotación etiquetada a mano que representa la ubicación real del objeto. objeto. Esta métrica produce un valor que va de 0 a 1, donde 0 indica que no hay solapamiento y 1 representa una coincidencia perfecta entre la predicción y la realidad. perfecta entre la predicción y la realidad.
El cálculo de IoU es conceptualmente sencillo, lo que lo convierte en una referencia estándar para la detección de objetos y segmentación de imágenes. Se determina dividiendo el área de intersección (la región solapada) por el área de unión (el área total combinada de ambas cajas). cajas). Al normalizar el área de solapamiento con respecto al área total, IoU proporciona una medida invariable con respecto a la escala, lo que significa que que evalúa la calidad del ajuste independientemente del tamaño del objeto.
En aplicaciones prácticas, a menudo se aplica un umbral a la puntuación IoU para classify una predicción como una detección "positiva" o "negativa". detección "positiva" o "negativa". Por ejemplo, en desafíos estándar como el COCO , se suele utilizar un umbral de IoU de 0,5 (o 50%) para determinar si una detección es válida. Este umbral es fundamental para calcular métricas posteriores métricas posteriores como Precision y Recall, que en última instancia alimentan la Precisión media (mAP) utilizada para para clasificar el rendimiento del modelo.
Puede calcular fácilmente el IoU entre casillas utilizando las funciones de utilidad proporcionadas en el
ultralytics paquete. Esto es útil para scripts de evaluación personalizados o para comprender el comportamiento del modelo durante la
la inferencia.
import torch
from ultralytics.utils.metrics import box_iou
# Define a ground truth box and a predicted box in (x1, y1, x2, y2) format
# Example: A 100x100 pixel box starting at (50,50) vs shifted prediction
ground_truth = torch.tensor([[50, 50, 150, 150]])
prediction = torch.tensor([[60, 60, 160, 160]])
# Calculate the Intersection over Union
iou_score = box_iou(ground_truth, prediction)
print(f"IoU Score: {iou_score.item():.4f}")
# Output represents the overlap ratio
La precisión de la localización proporcionada por IoU es vital en varios sectores en los que la seguridad y la precisión son primordiales. la seguridad y la precisión.
Más allá de la simple evaluación, IoU desempeña un papel activo en la mecánica interna de arquitecturas modernas como YOLO11.
Es importante distinguir IoU de términos similares para seleccionar la métrica adecuada para su tarea específica.