Contenido del Curso
Fundamentos de Visión por Computadora
Fundamentos de Visión por Computadora
Intersección Sobre Unión (IoU) y Métricas de Evaluación
Cómo se calcula
Matemáticamente, IoU se expresa como:
Donde:
Área de superposición es la intersección de las cajas delimitadoras predicha y real;
Área de unión es el área total cubierta por ambas cajas.
import numpy as np def compute_iou(boxA, boxB): # Extract coordinates xA = max(boxA[0], boxB[0]) yA = max(boxA[1], boxB[1]) xB = min(boxA[2], boxB[2]) yB = min(boxA[3], boxB[3]) # Compute intersection area interArea = max(0, xB - xA) * max(0, yB - yA) # Compute areas of both boxes boxAArea = (boxA[2] - boxA[0]) * (boxA[3] - boxA[1]) boxBArea = (boxB[2] - boxB[0]) * (boxB[3] - boxB[1]) # Compute union area unionArea = boxAArea + boxBArea - interArea # Compute IoU iou = interArea / unionArea return iou # Example usage box1 = [50, 50, 150, 150] # [x1, y1, x2, y2] box2 = [100, 100, 200, 200] iou_score = compute_iou(box1, box2) print("IoU Score:", iou_score)
IoU como métrica para la precisión de las cajas delimitadoras
IoU se utiliza comúnmente para evaluar qué tan bien una caja delimitadora predicha se alinea con la verdad de terreno. Valores más altos de IoU indican una mejor alineación, donde un IoU de 1.0
significa superposición perfecta y 0.0
significa que no hay superposición en absoluto.
Umbral de IoU para verdaderos positivos y falsos positivos
Para determinar si una detección es correcta (verdadero positivo) o incorrecta (falso positivo), normalmente se establece un umbral para IoU. Los umbrales comúnmente utilizados incluyen:
IoU > 0.5: considerado un Verdadero Positivo (TP);
IoU < 0.5: considerado un Falso Positivo (FP).
Establecer umbrales de IoU más altos incrementa la precisión pero puede disminuir la exhaustividad, ya que menos detecciones cumplen con el criterio.
Métricas de evaluación: Precisión, Exhaustividad y mAP
Además de IoU, otras métricas de evaluación ayudan a valorar los modelos de detección de objetos:
Precisión: mide la proporción de cajas delimitadoras correctamente predichas entre todas las predicciones;
Exhaustividad: mide la proporción de cajas delimitadoras correctamente predichas entre todos los objetos de la verdad de terreno;
Precisión Media Promedio (mAP): calcula la precisión promedio a través de diferentes umbrales de IoU y categorías de objetos, proporcionando una evaluación integral del rendimiento del modelo.
def precision_recall(tp, fp, fn): precision = tp / (tp + fp) if (tp + fp) > 0 else 0 recall = tp / (tp + fn) if (tp + fn) > 0 else 0 return precision, recall # Example usage tp, fp, fn = 50, 10, 20 precision, recall = precision_recall(tp, fp, fn) print(f"Precision: {precision:.2f}, Recall: {recall:.2f}")
IoU es una métrica fundamental para evaluar modelos de detección de objetos, ya que ayuda a medir la precisión de las cajas delimitadoras predichas. Al combinar IoU con precisión, recall y mAP, investigadores e ingenieros pueden ajustar sus modelos para lograr mayor exactitud y fiabilidad en la detección.
1. ¿Qué mide la Intersección sobre Unión (IoU) en la detección de objetos?
2. ¿Cuál de las siguientes se considera un falso negativo en la detección de objetos?
3. ¿Cómo se calcula la Precisión en la detección de objetos?
¡Gracias por tus comentarios!