Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Intersection over Union (IoU) och Utvärderingsmetoder | Objektdetektering
Grunder i Datorseende

bookIntersection over Union (IoU) och Utvärderingsmetoder

Note
Definition

Intersection over Union (IoU) är ett mått som mäter noggrannheten hos förutsagda avgränsningsrutor genom att beräkna förhållandet mellan det överlappande området mellan den förutsagda och den faktiska rutan och området för deras union.

Hur det beräknas

Matematiskt ges IoU av:

IoU

Där:

  • Överlappningsyta är skärningsytan mellan den predikterade och den faktiska avgränsningsrutan;
  • Unionsyta är den totala ytan som täcks av båda rutorna.
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 ett mått på avgränsningsrutans noggrannhet

IoU används ofta för att utvärdera hur väl en predikterad avgränsningsruta överensstämmer med det faktiska värdet. Högre IoU-värden indikerar bättre överensstämmelse, där ett IoU på 1.0 betyder perfekt överlappning och 0.0 betyder ingen överlappning alls.

Tröskelvärde för IoU för sanna och falska positiva

För att avgöra om en detektion är korrekt (sant positiv) eller felaktig (falskt positiv) sätts vanligtvis ett tröskelvärde för IoU. Vanligt förekommande tröskelvärden inkluderar:

  • IoU > 0,5: betraktas som Sant Positiv (TP);
  • IoU < 0,5: betraktas som Falskt Positiv (FP).

Att sätta högre IoU-tröskelvärden ökar precisionen men kan minska återkallelsen eftersom färre detektioner uppfyller kriterierna.

Utvärderingsmått: Precision, Recall och mAP

Utöver IoU används andra utvärderingsmått för att bedöma objektigenkänningsmodeller:

  • Precision: mäter andelen korrekt förutsagda avgränsningsrutor bland alla förutsägelser;
Precision=TPTP+FP\text{Precision}=\frac{\text{TP}}{\text{TP}+\text{FP}}
  • Recall: mäter andelen korrekt förutsagda avgränsningsrutor bland alla faktiska objekt;
Recall=TPTP+FN\text{Recall}=\frac{\text{TP}}{\text{TP}+\text{FN}}
  • Mean Average Precision (mAP): beräknar den genomsnittliga precisionen över olika IoU-tröskelvärden och objektkategorier, vilket ger en omfattande utvärdering av modellens prestanda.
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 fungerar som en grundläggande mätvärde vid utvärdering av objektigenkänningsmodeller och hjälper till att bedöma noggrannheten hos förutsagda avgränsningsrutor. Genom att kombinera IoU med precision, recall och mAP kan forskare och ingenjörer finjustera sina modeller för att uppnå högre detekteringsnoggrannhet och tillförlitlighet.

1. Vad mäter Intersection over Union (IoU) inom objektigenkänning?

2. Vilket av följande betraktas som ett falskt negativt resultat inom objektigenkänning?

3. Hur beräknas precision inom objektigenkänning?

question mark

Vad mäter Intersection over Union (IoU) inom objektigenkänning?

Select the correct answer

question mark

Vilket av följande betraktas som ett falskt negativt resultat inom objektigenkänning?

Select the correct answer

question mark

Hur beräknas precision inom objektigenkänning?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 4

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Awesome!

Completion rate improved to 3.45

bookIntersection over Union (IoU) och Utvärderingsmetoder

Svep för att visa menyn

Note
Definition

Intersection over Union (IoU) är ett mått som mäter noggrannheten hos förutsagda avgränsningsrutor genom att beräkna förhållandet mellan det överlappande området mellan den förutsagda och den faktiska rutan och området för deras union.

Hur det beräknas

Matematiskt ges IoU av:

IoU

Där:

  • Överlappningsyta är skärningsytan mellan den predikterade och den faktiska avgränsningsrutan;
  • Unionsyta är den totala ytan som täcks av båda rutorna.
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 ett mått på avgränsningsrutans noggrannhet

IoU används ofta för att utvärdera hur väl en predikterad avgränsningsruta överensstämmer med det faktiska värdet. Högre IoU-värden indikerar bättre överensstämmelse, där ett IoU på 1.0 betyder perfekt överlappning och 0.0 betyder ingen överlappning alls.

Tröskelvärde för IoU för sanna och falska positiva

För att avgöra om en detektion är korrekt (sant positiv) eller felaktig (falskt positiv) sätts vanligtvis ett tröskelvärde för IoU. Vanligt förekommande tröskelvärden inkluderar:

  • IoU > 0,5: betraktas som Sant Positiv (TP);
  • IoU < 0,5: betraktas som Falskt Positiv (FP).

Att sätta högre IoU-tröskelvärden ökar precisionen men kan minska återkallelsen eftersom färre detektioner uppfyller kriterierna.

Utvärderingsmått: Precision, Recall och mAP

Utöver IoU används andra utvärderingsmått för att bedöma objektigenkänningsmodeller:

  • Precision: mäter andelen korrekt förutsagda avgränsningsrutor bland alla förutsägelser;
Precision=TPTP+FP\text{Precision}=\frac{\text{TP}}{\text{TP}+\text{FP}}
  • Recall: mäter andelen korrekt förutsagda avgränsningsrutor bland alla faktiska objekt;
Recall=TPTP+FN\text{Recall}=\frac{\text{TP}}{\text{TP}+\text{FN}}
  • Mean Average Precision (mAP): beräknar den genomsnittliga precisionen över olika IoU-tröskelvärden och objektkategorier, vilket ger en omfattande utvärdering av modellens prestanda.
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 fungerar som en grundläggande mätvärde vid utvärdering av objektigenkänningsmodeller och hjälper till att bedöma noggrannheten hos förutsagda avgränsningsrutor. Genom att kombinera IoU med precision, recall och mAP kan forskare och ingenjörer finjustera sina modeller för att uppnå högre detekteringsnoggrannhet och tillförlitlighet.

1. Vad mäter Intersection over Union (IoU) inom objektigenkänning?

2. Vilket av följande betraktas som ett falskt negativt resultat inom objektigenkänning?

3. Hur beräknas precision inom objektigenkänning?

question mark

Vad mäter Intersection over Union (IoU) inom objektigenkänning?

Select the correct answer

question mark

Vilket av följande betraktas som ett falskt negativt resultat inom objektigenkänning?

Select the correct answer

question mark

Hur beräknas precision inom objektigenkänning?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 4
some-alt