Erfahren Sie, was Intersection over UnionIoU) ist, wie es berechnet wird und welche wichtige Rolle es bei der Objekterkennung und der Bewertung von KI-Modellen spielt.
Intersection over UnionIoU) ist eine grundlegende Bewertungsmetrik, die in der Computer Vision (CV) zur Messung der Genauigkeit eines eines Objektdetektors für einen bestimmten Datensatz zu messen. In akademischen Kreisen wird sie oft auch als Jaccard-Index bezeichnet, quantifiziert IoU den Grad der Überlappung zwischen zwei Regionen: der vorhergesagten Bounding Box, die von einem Modell erzeugten Bounding Box und der Bounding Box der Grundwahrheit, d. h. der handbeschrifteten Annotation, die die tatsächliche Position des Objekts darstellt. Diese Metrik ergibt einen Wert zwischen 0 und 1, wobei 0 für keine Überlappung und 1 für eine perfekte Übereinstimmung zwischen der Vorhersage und der Realität darstellt.
Die Berechnung von IoU ist konzeptionell einfach, was sie zu einem Standardmaßstab für Objekterkennung und Bildsegmentierungsaufgaben. Er wird bestimmt durch den Schnittbereich (die überlappende Region) durch den Vereinigungsbereich (die kombinierte Gesamtfläche der beiden Boxen). Durch die Normalisierung der Überlappungsfläche im Verhältnis zur Gesamtfläche bietet IoU ein skaleninvariantes Maß, d. h. es die Qualität der Anpassung unabhängig von der Größe des Objekts bewertet.
In praktischen Anwendungen wird häufig ein Schwellenwert auf die IoU angewendet, um classify Vorhersage als "positive" oder "negative" Erkennung zu klassifizieren. Zum Beispiel wird bei Standardherausforderungen wie den COCO , ein IoU von 0,5 (oder 50 %) verwendet, um festzustellen, ob eine Erkennung gültig ist. Dieser Schwellenwert ist entscheidend für die Berechnung von nachgelagerten Metriken wie Präzision und Recall, die letztendlich in den Mean Average Precision (mAP) -Punktzahl einfließen, die um die Leistung des Modells zu bewerten.
Sie können die IoU zwischen den Boxen leicht berechnen, indem Sie die Utility-Funktionen verwenden, die in der
ultralytics Paket. Dies ist nützlich für benutzerdefinierte Auswertungsskripte oder zum Verständnis des Modellverhaltens während der
Inferenz.
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
Die von IoU gebotene Präzision der Lokalisierung ist in verschiedenen Branchen, in denen Sicherheit und Genauigkeit im Vordergrund stehen.
Über die einfache Bewertung hinaus spielt IoU eine aktive Rolle in der internen Mechanik moderner Architekturen wie YOLO11.
Es ist wichtig, IoU von ähnlichen Begriffen zu unterscheiden, um die richtige Kennzahl für Ihre spezielle Aufgabe zu wählen.