Intersection Over Union (IoU) og Evalueringsmetrikker
Intersection over Union (IoU) er et mål som vurderer nøyaktigheten til predikerte avgrensningsbokser ved å beregne forholdet mellom overlappingsarealet mellom den predikerte og den faktiske boksen, og arealet av deres forening.
Hvordan det beregnes
Matematisk uttrykkes IoU som:

Hvor:
- Område for overlapp er skjæringspunktet mellom de predikerte og faktiske avgrensningsboksene;
- Område for union er det totale området dekket av begge boksene.
12345678910111213141516171819202122232425262728import 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 som en metrikk for nøyaktighet av avgrensningsboks
IoU brukes ofte for å vurdere hvor godt en predikert avgrensningsboks samsvarer med fasiten. Høyere IoU-verdier indikerer bedre samsvar, der en IoU på 1.0
betyr perfekt overlapp og 0.0
betyr ingen overlapp i det hele tatt.
Terskling av IoU for sanne positive og falske positive
For å avgjøre om en deteksjon er korrekt (sann positiv) eller feil (falsk positiv), settes det vanligvis en terskel for IoU. Vanlige terskler inkluderer:
- IoU > 0,5: regnes som en Sann Positiv (TP);
- IoU < 0,5: regnes som en Falsk Positiv (FP).
Å sette høyere IoU-terskler øker presisjonen, men kan redusere tilbakekallingen siden færre deteksjoner oppfyller kriteriene.
Evalueringsmetrikker: Presisjon, tilbakekalling og mAP
I tillegg til IoU hjelper andre evalueringsmetrikker med å vurdere objektdeteksjonsmodeller:
- Presisjon: måler andelen korrekt predikerte avgrensningsbokser blant alle prediksjoner;
- Tilbakekalling: måler andelen korrekt predikerte avgrensningsbokser blant alle faktiske objekter;
- Gjennomsnittlig presisjon (mAP): beregner gjennomsnittlig presisjon på tvers av ulike IoU-terskler og objektkategorier, og gir en helhetlig vurdering av modellens ytelse.

123456789def 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 fungerer som en grunnleggende metrikk for evaluering av objektdeteksjonsmodeller, og hjelper til med å vurdere nøyaktigheten til predikerte avgrensningsbokser. Ved å kombinere IoU med presisjon, tilbakekalling og mAP, kan forskere og ingeniører finjustere modellene sine for å oppnå høyere deteksjonsnøyaktighet og pålitelighet.
1. Hva måler Intersection over Union (IoU) i objektdeteksjon?
2. Hvilket av følgende regnes som en falsk negativ i objektdeteksjon?
3. Hvordan beregnes presisjon i objektdeteksjon?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you explain how the IoU formula works in more detail?
What are some common applications of IoU in computer vision?
How does changing the IoU threshold affect model evaluation?
Awesome!
Completion rate improved to 3.45
Intersection Over Union (IoU) og Evalueringsmetrikker
Sveip for å vise menyen
Intersection over Union (IoU) er et mål som vurderer nøyaktigheten til predikerte avgrensningsbokser ved å beregne forholdet mellom overlappingsarealet mellom den predikerte og den faktiske boksen, og arealet av deres forening.
Hvordan det beregnes
Matematisk uttrykkes IoU som:

Hvor:
- Område for overlapp er skjæringspunktet mellom de predikerte og faktiske avgrensningsboksene;
- Område for union er det totale området dekket av begge boksene.
12345678910111213141516171819202122232425262728import 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 som en metrikk for nøyaktighet av avgrensningsboks
IoU brukes ofte for å vurdere hvor godt en predikert avgrensningsboks samsvarer med fasiten. Høyere IoU-verdier indikerer bedre samsvar, der en IoU på 1.0
betyr perfekt overlapp og 0.0
betyr ingen overlapp i det hele tatt.
Terskling av IoU for sanne positive og falske positive
For å avgjøre om en deteksjon er korrekt (sann positiv) eller feil (falsk positiv), settes det vanligvis en terskel for IoU. Vanlige terskler inkluderer:
- IoU > 0,5: regnes som en Sann Positiv (TP);
- IoU < 0,5: regnes som en Falsk Positiv (FP).
Å sette høyere IoU-terskler øker presisjonen, men kan redusere tilbakekallingen siden færre deteksjoner oppfyller kriteriene.
Evalueringsmetrikker: Presisjon, tilbakekalling og mAP
I tillegg til IoU hjelper andre evalueringsmetrikker med å vurdere objektdeteksjonsmodeller:
- Presisjon: måler andelen korrekt predikerte avgrensningsbokser blant alle prediksjoner;
- Tilbakekalling: måler andelen korrekt predikerte avgrensningsbokser blant alle faktiske objekter;
- Gjennomsnittlig presisjon (mAP): beregner gjennomsnittlig presisjon på tvers av ulike IoU-terskler og objektkategorier, og gir en helhetlig vurdering av modellens ytelse.

123456789def 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 fungerer som en grunnleggende metrikk for evaluering av objektdeteksjonsmodeller, og hjelper til med å vurdere nøyaktigheten til predikerte avgrensningsbokser. Ved å kombinere IoU med presisjon, tilbakekalling og mAP, kan forskere og ingeniører finjustere modellene sine for å oppnå høyere deteksjonsnøyaktighet og pålitelighet.
1. Hva måler Intersection over Union (IoU) i objektdeteksjon?
2. Hvilket av følgende regnes som en falsk negativ i objektdeteksjon?
3. Hvordan beregnes presisjon i objektdeteksjon?
Takk for tilbakemeldingene dine!