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
Grundläggande Datorseende
course content

Kursinnehåll

Grundläggande Datorseende

Grundläggande Datorseende

1. Introduktion till Datorseende
2. Bildbehandling med OpenCV
3. Konvolutionella Neurala Nätverk
4. Objektdetektering
5. Översikt över Avancerade Ämnen

book
Intersection Over Union (IoU) och Utvärderingsmetoder

Hur det beräknas

Matematiskt ges IoU av:

Där:

  • Area of Overlap är skärningsytan mellan den predikterade och den faktiska avgränsningsrutan;

  • Area of Union ä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å noggrannhet för avgränsningsrutor

IoU används ofta för att bedöma hur väl en predikterad avgränsningsruta överensstämmer med den faktiska sanningen (ground truth). Högre IoU-värden indikerar bättre överensstämmelse, där ett IoU på 1.0 innebär perfekt överlappning och 0.0 innebär ingen överlappning alls.

Tröskelvärde för IoU vid 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 modeller för objektdetektering:

  • Precision: mäter andelen korrekt predikterade avgränsningsrutor bland alla prediktioner;

Precision=TPTP+FP\text{Precision}=\frac{\text{TP}}{\text{TP}+\text{FP}}
  • Recall: mäter andelen korrekt predikterade 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.

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 metrisk för att utvärdera 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 i objektdetektering?

3. Hur beräknas precision i objektdetektering?

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 i objektdetektering?

Select the correct answer

question mark

Hur beräknas precision i objektdetektering?

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
ChatGPT

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

course content

Kursinnehåll

Grundläggande Datorseende

Grundläggande Datorseende

1. Introduktion till Datorseende
2. Bildbehandling med OpenCV
3. Konvolutionella Neurala Nätverk
4. Objektdetektering
5. Översikt över Avancerade Ämnen

book
Intersection Over Union (IoU) och Utvärderingsmetoder

Hur det beräknas

Matematiskt ges IoU av:

Där:

  • Area of Overlap är skärningsytan mellan den predikterade och den faktiska avgränsningsrutan;

  • Area of Union ä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å noggrannhet för avgränsningsrutor

IoU används ofta för att bedöma hur väl en predikterad avgränsningsruta överensstämmer med den faktiska sanningen (ground truth). Högre IoU-värden indikerar bättre överensstämmelse, där ett IoU på 1.0 innebär perfekt överlappning och 0.0 innebär ingen överlappning alls.

Tröskelvärde för IoU vid 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 modeller för objektdetektering:

  • Precision: mäter andelen korrekt predikterade avgränsningsrutor bland alla prediktioner;

Precision=TPTP+FP\text{Precision}=\frac{\text{TP}}{\text{TP}+\text{FP}}
  • Recall: mäter andelen korrekt predikterade 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.

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 metrisk för att utvärdera 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 i objektdetektering?

3. Hur beräknas precision i objektdetektering?

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 i objektdetektering?

Select the correct answer

question mark

Hur beräknas precision i objektdetektering?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 4
Vi beklagar att något gick fel. Vad hände?
some-alt