Mi a metszet per unió (IoU)?
A metszet per unió (IoU) olyan pontszám, amely két régió átfedését méri: a közös terület osztva az együttes területtel. A két régió általában egy előrejelzett maszk vagy doboz, illetve egy valóságalap maszk vagy doboz.
Számítás
IoU = |A ∩ B| / |A ∪ B|
A az előrejelzett régió, B a valóságalap régió. A metszet az, ami mindkettőben benne van. Az unió az, ami legalább az egyikben benne van. Az érték 0, ha a régiók nem fedik egymást, és 1, ha egyenlők. Ugyanezt a pontszámot nevezik Jaccard-indexnek.
Pixelmaszk esetén az IoU TP / (TP + FP + FN) alakban is felírható. A TP a mindkét maszkban lévő pixelek száma. Az FP csak az előrejelzésben lévő pixelek száma. Az FN csak a valóságalap maszkban lévő pixelek száma.

Használat benchmarkokban
A PASCAL VOC detektálási feladat akkor fogad el egy előrejelzett dobozt helyesnek, ha az IoU-ja a valóságalap dobozzal 0,5-nél nagyobb. A VOC szerzői szándékosan alacsonyra állították ezt a küszöböt, mert a valóságalap dobozok nem pontosak. A VOC2008-tól kezdve a VOC szegmentációs feladat osztályonként is TP / (TP + FP + FN) szerint pontoz.
A COCO kiértékelő kód az átlagos precizitást (average precision) közli 0,50-es IoU-nál, 0,75-ös IoU-nál, valamint a tíz küszöbérték átlagában, 0,50 és 0,95 között.
Átlagos IoU
Az átlagos IoU (mIoU) az osztályonkénti IoU értékek átlaga az összes osztályra.
IoU és a Dice-együttható
A Dice-együttható (Sørensen-Dice) ugyanazt az átfedést méri más skálán. A Dice jelölése S, az IoU-é J:
- S = 2J / (1 + J)
- J = S / (2 - S)
Azonos maszkpár esetén a Dice egyenlő az IoU-val vagy nagyobb nála. Egy TP = 80, FP = 20 és FN = 20 szegmentációnak 0,67-es IoU-ja és 0,80-as Dice-ja van. Pontszámokat csak akkor hasonlítsunk össze, ha ugyanazt a mérőszámot használják.
Használat útburkolat-repedés szegmentációban
A közzétett útburkolat-repedés szegmentációs modellek, például a Context-CrackNet, az mIoU-t a Dice-pontszámmal együtt közlik. Egy IoU érték egy modellmaszkot hasonlít össze egy referenciamaszkkal. Nem adja meg a repedés szélességét, hosszát vagy súlyosságát.
Gyakran Ismételt Kérdések
- Hogyan számítják ki az IoU-t?
- Az IoU a két régió metszetének területe osztva a két régió uniójának területével. Pixelmaszkok esetén ez egyenlő: TP / (TP + FP + FN). A TP a mindkét maszkban szereplő pixelek száma. Az FP csak az előrejelzésben szereplő pixelek száma. Az FN csak a valóságalap maszkban szereplő pixelek száma. Az eredmény 0 és 1 közé esik.
- Mi a különbség az IoU és a Dice-együttható között?
- Mindkettő az átfedést méri, és az egyik átalakítható a másikba. Dice = 2 x IoU / (1 + IoU), és IoU = Dice / (2 - Dice). Azonos maszkpár esetén a Dice tehát egyenlő az IoU-val vagy nagyobb nála. Az 0,5-ös IoU körülbelül 0,67-es Dice-nak felel meg.
- Melyik IoU-küszöb számít helyes detektálásnak?
- Ez a benchmarktól függ. A PASCAL VOC detektálási feladat 0,5-nél nagyobb átfedési arányt követel meg. A COCO kiértékelés az átlagos precizitást (average precision) közli 0,50-es IoU-nál, 0,75-ös IoU-nál, valamint a 0,50 és 0,95 közötti tíz küszöbérték átlagában, 0,05-ös lépésekben.
Hivatkozások
- wikipedia-jaccard
- Jaccard index Wikipedia
- pascal-voc-2010
- The PASCAL Visual Object Classes (VOC) Challenge, International Journal of Computer Vision 88, 303-338 (2010) Everingham, Van Gool, Williams, Winn, Zisserman
- coco-cocoeval
- pycocotools cocoeval.py (COCO API) COCO Consortium
- context-cracknet
- Context-CrackNet: A Context-Aware Framework for Precise Segmentation of Tiny Cracks in Pavement images (arXiv 2501.14413) Kyem, Asamoah, Aboah
Ez egy referenciabejegyzés. A TarmacView drónos ellenőrzési szolgáltatásokat nyújt, és nem árulja az ebben a szószedetben leírt felszereléseket vagy anyagokat.