Czym jest przecięcie nad sumą (IoU)?
Przecięcie nad sumą (IoU) to wynik mierzący nakładanie się dwóch obszarów jako pole części wspólnej podzielone przez pole łączne. Te dwa obszary to zwykle przewidywana maska lub ramka oraz maska lub ramka rzeczywista.
Obliczanie
IoU = |A ∩ B| / |A ∪ B|
A to przewidywany obszar, a B to obszar rzeczywisty. Część wspólna to obszar należący do obu. Suma to obszar należący do co najmniej jednego z nich. Wartość wynosi 0, gdy obszary się nie nakładają, a 1, gdy są równe. Ta sama miara to indeks Jaccarda.
Dla maski pikselowej IoU można też zapisać jako TP / (TP + FP + FN). TP to liczba pikseli należących do obu masek. FP to liczba pikseli należących tylko do predykcji. FN to liczba pikseli należących tylko do maski rzeczywistej.

Zastosowanie w benchmarkach
Zadanie detekcji PASCAL VOC uznaje przewidywaną ramkę za poprawną, gdy jej IoU z ramką rzeczywistą jest większe niż 0,5. Autorzy VOC ustawili ten próg celowo nisko, ponieważ ramki rzeczywiste nie są dokładne. Od VOC2008 zadanie segmentacji VOC ocenia też każdą klasę wzorem TP / (TP + FP + FN).
Kod oceny COCO podaje średnią precyzję przy IoU 0,50, przy IoU 0,75 i uśrednioną po dziesięciu progach od 0,50 do 0,95.
Średnie IoU
Średnie IoU (mIoU) to IoU każdej klasy uśrednione po wszystkich klasach.
IoU a współczynnik Dice’a
Współczynnik Dice’a (Sørensena-Dice’a) mierzy to samo nakładanie w innej skali. Oznaczając Dice jako S, a IoU jako J:
- S = 2J / (1 + J)
- J = S / (2 - S)
Dla tej samej pary masek Dice jest równy lub wyższy niż IoU. Segmentacja z TP = 80, FP = 20 i FN = 20 ma IoU 0,67 i Dice 0,80. Porównuj wyniki tylko wtedy, gdy używają tej samej miary.
Zastosowanie przy segmentacji pęknięć nawierzchni
Opublikowane modele segmentacji pęknięć nawierzchni, na przykład Context-CrackNet, podają mIoU razem ze współczynnikiem Dice. Wartość IoU porównuje maskę modelu z maską rzeczywistą. Nie podaje szerokości, długości ani stopnia uszkodzenia pęknięcia.
Często zadawane pytania
- Jak oblicza się IoU?
- IoU to pole części wspólnej dwóch obszarów podzielone przez pole ich sumy. Dla masek pikselowych wynosi TP / (TP + FP + FN). TP to piksele należące do obu masek. FP to piksele należące tylko do predykcji. FN to piksele należące tylko do maski rzeczywistej. Wynik mieści się między 0 a 1.
- Jaka jest różnica między IoU a współczynnikiem Dice'a?
- Obie miary mierzą nakładanie się i jedną można przeliczyć na drugą. Dice = 2 x IoU / (1 + IoU), a IoU = Dice / (2 - Dice). Dla tej samej pary masek Dice jest równy lub wyższy niż IoU. IoU równe 0,5 odpowiada Dice wynoszącemu około 0,67.
- Jaki próg IoU uznaje detekcję za poprawną?
- Zależy to od benchmarku. Zadanie detekcji PASCAL VOC wymaga współczynnika nakładania powyżej 0,5. Ocena COCO podaje średnią precyzję przy IoU 0,50, przy IoU 0,75 oraz uśrednioną po dziesięciu progach od 0,50 do 0,95, co 0,05.
Bibliografia
- 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
To wpis referencyjny. TarmacView świadczy usługi inspekcji dronami i nie sprzedaje sprzętu ani materiałów opisanych w tym słowniczku.