Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Intersection Over Union (IoU) og Evalueringsmetrikker | Sektion
/
Anvendt Computer Vision

bookIntersection Over Union (IoU) og Evalueringsmetrikker

Stryg for at vise menuen

Note
Definition

Intersection over Union (IoU) er en målemetode, der vurderer nøjagtigheden af forudsagte afgrænsningsbokse ved at beregne forholdet mellem det overlappende område mellem den forudsagte og den faktiske boks og arealet af deres forening.

Beregningsmetode

Matematisk udtrykkes IoU som:

IoU

Hvor:

  • Area of Overlap er skæringsområdet mellem de forudsagte og faktiske afgrænsningsbokse;
  • Area of Union er det samlede område dækket af begge bokse.
12345678910111213141516171819202122232425262728
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)
copy

IoU som en metrisk for nøjagtighed af afgrænsningsboks

IoU anvendes ofte til at vurdere, hvor godt en forudsagt afgrænsningsboks stemmer overens med sandhedsværdien. Højere IoU-værdier indikerer bedre overensstemmelse, hvor en IoU på 1.0 betyder perfekt overlap, og 0.0 betyder ingen overlapning.

Tærskelværdi for IoU ved Sande Positive og Falske Positive

For at afgøre, om en detektion er korrekt (sand positiv) eller ukorrekt (falsk positiv), sættes der typisk en tærskelværdi for IoU. Almindeligt anvendte tærskler inkluderer:

  • IoU > 0,5: betragtes som en Sand Positiv (TP);
  • IoU < 0,5: betragtes som en Falsk Positiv (FP).

Højere IoU-tærskler øger præcisionen, men kan reducere recall, da færre detektioner opfylder kriterierne.

Evalueringsmetrikker: Præcision, Recall og mAP

Ud over IoU hjælper andre evalueringsmetrikker med at vurdere objektdetektionsmodeller:

  • Præcision: måler andelen af korrekt forudsagte bounding boxes blandt alle forudsigelser;
Precision=TPTP+FP\text{Precision}=\frac{\text{TP}}{\text{TP}+\text{FP}}
  • Recall: måler andelen af korrekt forudsagte bounding boxes blandt alle ground truth-objekter;
Recall=TPTP+FN\text{Recall}=\frac{\text{TP}}{\text{TP}+\text{FN}}
  • Mean Average Precision (mAP): beregner den gennemsnitlige præcision på tværs af forskellige IoU-tærskler og objektkategorier, hvilket giver en omfattende evaluering af modellens ydeevne.
metrics
123456789
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}")
copy

IoU fungerer som en grundlæggende målemetode til evaluering af objektdetektionsmodeller og hjælper med at vurdere nøjagtigheden af de forudsagte afgrænsningsbokse. Ved at kombinere IoU med præcision, recall og mAP kan forskere og ingeniører finjustere deres modeller for at opnå højere detektionsnøjagtighed og pålidelighed.

1. Hvad måler Intersection over Union (IoU) i objektdetektion?

2. Hvilket af følgende betragtes som et falsk negativ i objektdetektion?

3. Hvordan beregnes præcision i objektdetektion?

question mark

Hvad måler Intersection over Union (IoU) i objektdetektion?

Select the correct answer

question mark

Hvilket af følgende betragtes som et falsk negativ i objektdetektion?

Select the correct answer

question mark

Hvordan beregnes præcision i objektdetektion?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 22

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 1. Kapitel 22
some-alt