Kursinhalt
Computer Vision Essentials
Computer Vision Essentials
Intersection over Union (IoU) und Evaluationsmetriken
Berechnungsmethode
Mathematisch wird der IoU wie folgt angegeben:
Dabei gilt:
Überlappungsfläche ist der Schnittbereich der vorhergesagten und der tatsächlichen Begrenzungsrahmen;
Vereinigungsfläche ist die Gesamtfläche, die von beiden Rahmen abgedeckt wird.
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 als Metrik für die Genauigkeit von Begrenzungsrahmen
IoU wird häufig verwendet, um zu bewerten, wie gut ein vorhergesagter Begrenzungsrahmen mit dem Ground Truth übereinstimmt. Höhere IoU-Werte deuten auf eine bessere Übereinstimmung hin, wobei ein IoU von 1.0
eine perfekte Überlappung und 0.0
keinerlei Überlappung bedeutet.
Schwellenwertsetzung für IoU bei True Positives und False Positives
Um festzustellen, ob eine Erkennung korrekt (True Positive) oder inkorrekt (False Positive) ist, wird üblicherweise ein Schwellenwert für IoU festgelegt. Häufig verwendete Schwellenwerte sind:
IoU > 0.5: gilt als True Positive (TP);
IoU < 0.5: gilt als False Positive (FP).
Das Setzen höherer IoU-Schwellenwerte erhöht die Präzision, kann jedoch den Recall verringern, da weniger Erkennungen die Kriterien erfüllen.
Bewertungsmetriken: Präzision, Recall und mAP
Zusätzlich zu IoU helfen weitere Bewertungsmetriken bei der Beurteilung von Objekterkennungsmodellen:
Präzision: misst den Anteil korrekt vorhergesagter Begrenzungsrahmen an allen Vorhersagen;
Recall: misst den Anteil korrekt vorhergesagter Begrenzungsrahmen an allen Ground Truth Objekten;
Mean Average Precision (mAP): berechnet die durchschnittliche Präzision über verschiedene IoU-Schwellenwerte und Objektkategorien hinweg und bietet so eine umfassende Bewertung der Modellleistung.
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 ist eine grundlegende Kennzahl zur Bewertung von Objekterkennungsmodellen und hilft dabei, die Genauigkeit der vorhergesagten Begrenzungsrahmen zu beurteilen. Durch die Kombination von IoU mit Präzision, Recall und mAP können Forschende und Ingenieur:innen ihre Modelle feinabstimmen, um eine höhere Erkennungsgenauigkeit und Zuverlässigkeit zu erreichen.
1. Was misst Intersection over Union (IoU) in der Objekterkennung?
2. Welche der folgenden Optionen gilt als False Negative in der Objekterkennung?
3. Wie wird die Präzision in der Objekterkennung berechnet?
Danke für Ihr Feedback!