Contenu du cours
Principes Fondamentaux de la Vision par Ordinateur
Principes Fondamentaux de la Vision par Ordinateur
Intersection sur Union (IoU) et Métriques d'Évaluation
Comment c'est calculé
Mathématiquement, l'IoU est défini par :
Où :
Aire de chevauchement correspond à l'intersection des boîtes englobantes prédite et réelle ;
Aire d'union correspond à la surface totale couverte par les deux boîtes.
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 comme métrique pour la précision des boîtes englobantes
L'IoU est couramment utilisé pour évaluer dans quelle mesure une boîte englobante prédite s'aligne avec la vérité terrain. Des valeurs d'IoU plus élevées indiquent un meilleur alignement, un IoU de 1.0
signifiant un chevauchement parfait et 0.0
signifiant aucune superposition.
Seuils d'IoU pour vrais positifs et faux positifs
Pour déterminer si une détection est correcte (vrai positif) ou incorrecte (faux positif), un seuil d'IoU est généralement défini. Les seuils couramment utilisés incluent :
IoU > 0.5 : considéré comme un vrai positif (TP) ;
IoU < 0.5 : considéré comme un faux positif (FP).
L'utilisation de seuils d'IoU plus élevés augmente la précision mais peut diminuer le rappel, car moins de détections répondent aux critères.
Métriques d'évaluation : Précision, Rappel et mAP
En plus de l'IoU, d'autres métriques d'évaluation permettent d'évaluer les modèles de détection d'objets :
Précision : mesure la proportion de boîtes englobantes correctement prédites parmi toutes les prédictions ;
Rappel : mesure la proportion de boîtes englobantes correctement prédites parmi tous les objets de la vérité terrain ;
Mean Average Precision (mAP) : calcule la précision moyenne sur différents seuils d'IoU et catégories d'objets, fournissant une évaluation globale des performances du modèle.
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}")
L'IoU constitue une métrique fondamentale pour l'évaluation des modèles de détection d'objets, permettant d'analyser la précision des boîtes englobantes prédites. En combinant l'IoU avec la précision, le rappel et le mAP, les chercheurs et ingénieurs peuvent ajuster leurs modèles afin d'obtenir une meilleure exactitude et fiabilité de détection.
1. Que mesure l'Intersection over Union (IoU) en détection d'objets ?
2. Lequel des éléments suivants est considéré comme un faux négatif en détection d'objets ?
3. Comment la précision est-elle calculée en détection d'objets ?
Merci pour vos commentaires !