Intersection Over Union (IoU)

Intersection Over Union (IoU) pro přesnost segmentace

Definice a vzorec

Intersection Over Union (IoU), známý také jako Jaccardův index nebo Jaccardův koeficient podobnosti, je statistická míra, která kvantifikuje překryv mezi dvěma množinami dat. V počítačovém vidění a segmentaci obrazu měří IoU přesnost predikované segmentační masky vůči masce ground truth. Je to nejvíce rozšířená metrika hodnocení pro sémantickou segmentaci, instanční segmentaci a detekci objektů napříč akademickými benchmarky i průmyslovými aplikacemi.

Vzorec pro IoU je matematicky přímočarý:

IoU = |A ∩ B| / |A ∪ B|

Kde A představuje predikovanou segmentační masku (množina pixelů, které model klasifikuje jako patřící do třídy objektu) a B představuje masku ground truth (množina pixelů, které lidští anotátoři identifikovali jako patřící do třídy objektu). Čitatel, |A ∩ B|, je průnik — plocha (nebo počet pixelů), kde se predikce a ground truth shodují. Jmenovatel, |A ∪ B|, je sjednocení — celková plocha pokrytá buď predikcí, nebo ground truth, nebo oběma.

{

Technické schéma znázorňující koncept Intersection Over Union (IoU) se dvěma překrývajícími se tvary, průnik zvýrazněn fialově, sjednocení ohraničeno bíle

Rozšířením vzorce pomocí prvků matice záměn — skutečně pozitivní (TP), falešně pozitivní (FP) a falešně negativní (FN) — získáme praktičtější formulaci pro výpočet:

IoU = TP / (TP + FP + FN)

Zde TP (true positives) jsou pixely správně klasifikované jako patřící do třídy objektu (oblast průniku). FP (false positives) jsou pixely nesprávně predikované jako objekt, přestože jsou ve skutečnosti pozadím (oblast predikce mimo ground truth). FN (false negatives) jsou pixely nesprávně predikované jako pozadí, přestože jsou ve skutečnosti objektem (oblast ground truth mimo predikci). Tato formulace explicitně ukazuje, že IoU penalizuje stejně jak nadhodnocení, tak podhodnocení — každý falešně pozitivní a každý falešně negativní pixel snižuje metriku o stejnou míru, normalizovanou celkovou relevantní plochou.

Hodnota IoU vždy spadá do uzavřeného intervalu [0, 1]. IoU 0 znamená, že predikovaná maska a maska ground truth mají nulový překryv — jsou zcela disjunktní. IoU 1 znamená dokonalý překryv — predikovaná maska se přesně shoduje s maskou ground truth pixel po pixelu. Mezilehlé hodnoty představují částečnou kvalitu překryvu. Například IoU 0,5 znamená, že plocha průniku je poloviční oproti ploše sjednocení, což je standardní minimální práh pro považování detekce nebo segmentace za správnou v benchmarku Pascal VOC.

IoU je invariantní vůči měřítku v tom smyslu, že měří relativní překryv spíše než absolutní počty pixelů. 100-pixelový objekt i 10 000-pixelový objekt oba produkují IoU 1,0 při dokonalé segmentaci. Tato invariance vůči měřítku má však praktickou výhradu: při stejné absolutní chybě pixelů (např. 5 nesprávně klasifikovaných okrajových pixelů) dochází u malého objektu k mnohem většímu relativnímu poklesu IoU než u velkého objektu, což činí IoU implicitně přísnější pro jemné detaily a malé struktury.

Metrika pochází z Jaccardova indexu (nazývaného také Intersection over Union), který zavedl Paul Jaccard v roce 1901 jako koeficient společenství pro porovnávání distribucí druhů v alpínské flóře. Jeho aplikace v počítačovém vidění byla formalizována v Pascal Visual Object Classes (VOC) Challenge (2007–2012), která ustanovila IoU jako standardní metriku hodnocení pro detekci objektů a segmentaci. Dataset Common Objects in Context (COCO) a benchmark, vydaný Microsoftem v roce 2014, dále upevnily IoU jako de facto standard zavedením mAP@[0.5:0.95], průměru střední průměrné přesnosti (mean Average Precision) vypočítaného napříč deseti diskrétními prahovými hodnotami IoU od 0,5 do 0,95.

Vizuální interpretace IoU

Vizuální interpretace IoU je nezbytná pro rozvinutí intuitivního pochopení toho, co různá skóre IoU ve skutečnosti představují z hlediska kvality segmentace. Metrika mapuje komplexní prostorový vztah mezi dvěma maskami do jediné skalární hodnoty a internalizace toho, jak různé prostorové chybové vzorce tuto hodnotu ovlivňují, je klíčová jak pro vývoj modelu, tak pro komunikaci výsledků.

IoU 1,0 představuje dokonalé zarovnání pixel po pixelu. V kontextu segmentace trhlin na letištních površích znamená dokonalé IoU, že každý pixel, který model klasifikoval jako „trhlina", přesně odpovídá každému pixelu, který vyškolený inspektor označil jako „trhlina", a žádné pixely nebyly vynechány nebo nadhodnoceny. V praxi je dokonalé IoU v podstatě nedosažitelné pro reálnou inspekci infrastruktury kvůli nejednoznačnosti anotace — různí lidští anotátoři označující stejnou trhlinu na stejném snímku typicky dosahují inter-anotačního IoU pouze 0,65–0,85, v závislosti na šířce trhliny a kontrastu. Tento strop anotačního šumu představuje maximální dosažitelné IoU pro jakýkoli model na této datové sadě.

IoU 0,75–0,90 indikuje vynikající kvalitu segmentace. Na této úrovni predikovaná maska těsně sleduje hranici ground truth pouze s menšími odchylkami 1–3 pixelů na okrajích. Pro segmentaci trhlin to odpovídá správné detekci celé dráhy trhliny s mírnými rozdíly v predikované tloušťce trhliny oproti anotaci ground truth. Na COCO benchmarku je AP75 (Average Precision při prahu IoU 0,75) považována za silný indikátor schopnosti přesné lokalizace.

IoU 0,50–0,75 indikuje dobrou kvalitu segmentace. Model správně identifikuje polohu a obecný tvar objektu, ale přesnost hranic je střední. Pro detekci trhlin na povrchu vozovek znamená IoU v tomto rozsahu, že model spolehlivě nachází trhliny (vysoká míra skutečně pozitivních), ale může predikovat trhlinu jako poněkud silnější nebo tenčí než ground truth, nebo může mít menší fragmentaci, kde je souvislá trhlina predikována jako krátké nespojité segmenty. To je typický provozní rozsah pro produkční systémy segmentace trhlin pracující na reálných snímcích letištních povrchů, kde model TarmacView založený na DINOv3 dosahuje testovacího IoU 0,519.

{

Technické srovnání tří skóre IoU 0,3, 0,5 a 0,75 pro detekci trhlin na povrchu vozovky s ground truth zeleně a predikcí červeně

IoU 0,30–0,50 indikuje okrajovou kvalitu segmentace. Model detekuje přítomnost objektu, ale s významnými lokalizačními chybami. Predikovaná maska může být posunutá, nesprávně tvarovaná nebo podstatně odlišné velikosti od ground truth. Při detekci trhlin na vozovkách by to mohlo znamenat, že model identifikuje obecné oblasti postižené trhlinami, ale nedokáže přesně sledovat geometrii trhliny, předpovídá spíše skvrny než lineární rysy. IoU pod 0,5 není obecně považováno za úspěšnou detekci nebo segmentaci podle standardu Pascal VOC.

IoU 0–0,30 indikuje špatnou segmentaci. Model buď zcela selže v detekci objektu (predikovaná maska je prázdná, produkuje IoU=0), nebo produkuje masku, která se překrývá s ground truth pouze náhodně na okrajích mnohem větší nesprávně predikované oblasti. V kontextu inspekce infrastruktury by modely pracující na této úrovni IoU zmeškaly kritické vady nebo produkovaly tolik falešně pozitivních výsledků, že výstup není provozně užitečný.

Zásadním poznatkem pro vizuální interpretaci je, že IoU je nelineární z hlediska vnímané kvality. Rozdíl mezi IoU=0,90 a IoU=0,95 představuje mnohem menší skutečné zlepšení v přesnosti pixelů než rozdíl mezi IoU=0,50 a IoU=0,55. Důvodem je, že při vysokých úrovních IoU je sjednocení již velmi blízko průniku, takže další zlepšení vyžadují stále přesnější zarovnání hranic. Naopak při nízkém až středním IoU jsou k posunu metriky o několik procentních bodů zapotřebí relativně velká zlepšení kvality segmentace.

Výpočet IoU

Výpočet IoU pro segmentační masky vyžaduje systematický přístup, který zohledňuje specifika reprezentace masky, souřadnicových systémů a okrajových případů.

Výpočet IoU pro ohraničující obdélníky

Pro predikce založené na ohraničujících obdélnících (používané v detekci objektů nebo jako návrhy oblastí) se IoU vypočítává pomocí souřadnic osově zarovnaných obdélníků. Každý obdélník je definován svým levým horním rohem (x₁, y₁) a pravým dolním rohem (x₂, y₂). Průnikový obdélník se vypočítá jako:

x_left   = max(pred_x₁, gt_x₁)
y_top    = max(pred_y₁, gt_y₁)
x_right  = min(pred_x₂, gt_x₂)
y_bottom = min(pred_y₂, gt_y₂)

Plocha průniku je:

intersection = max(0, x_right - x_left) × max(0, y_bottom - y_top)

Operace max(0, …) je kritická — pokud se obdélníky v některém rozměru nepřekrývají, je záporná hodnota upnuta na nulu, což správně dává nulovou plochu průniku. Plocha každého ohraničujícího obdélníku je:

area_pred = (pred_x₂ - pred_x₁) × (pred_y₂ - pred_y₁)
area_gt   = (gt_x₂ - gt_x₁) × (gt_y₂ - gt_y₁)

Sjednocení je pak:

union = area_pred + area_gt - intersection

A nakonec:

IoU = intersection / union

Výpočet IoU pro segmentační masky

Pro segmentační masky na úrovni pixelů se IoU vypočítá tak, že se každá maska považuje za binární obraz, kde hodnota pixelu 1 označuje třídu objektu a hodnota 0 označuje pozadí. Výpočet probíhá pomocí logických operací po prvcích:

intersection = sum(pred_mask AND gt_mask)   // logické AND po pixelech
union = sum(pred_mask OR gt_mask)           // logické OR po pixelech
IoU = intersection / union

V praxi implementace používající NumPy nebo PyTorch vektorizují tento postup jako:

import torch

def compute_iou(pred_mask: torch.Tensor, gt_mask: torch.Tensor) -> float:
    """
    pred_mask a gt_mask jsou binární tenzory tvaru (H, W)
    s hodnotami 0 (pozadí) nebo 1 (objekt)
    """
    intersection = (pred_mask & gt_mask).sum().item()
    union = (pred_mask | gt_mask).sum().item()
    if union == 0:
        return float('nan')  # obě masky jsou prázdné
    return intersection / union

Okrajový případ union == 0 nastává, když jsou predikce i ground truth prázdné — žádná maska neobsahuje pixely objektu. V tomto degenerovaném případě metrika vrací NaN a různé benchmarky to řeší různě. Vyhodnocovací protokol COCO tyto případy z průměru vylučuje. Implementace PyTorch Lightning MeanIoU vrací -1,0 pro třídy, které zcela chybí jak v predikci, tak v ground truth.

Zpracování více-třídní segmentace

Pro více-třídní segmentaci (např. model, který současně predikuje třídy trhlina, tmel, povrch a spára) se IoU vypočítává pro každou třídu a následně se průměruje. Pro každou třídu c se vytvoří binární maska, kde pixel (i,j) je 1, pokud se predikovaná třída nebo třída ground truth rovná c, jinak 0. IoU pro třídu je:

IoU_c = TP_c / (TP_c + FP_c + FN_c)

Pro segmentační problém s C třídami je Mean IoU (mIoU):

mIoU = (1/C) × Σc=1…C IoU_c

Důležitou úvahou je, zda do výpočtu mIoU zahrnout třídu pozadí (pixely nepatřící k žádnému objektu). Zahrnutí pozadí typicky nafukuje mIoU, protože pozadí dominuje počtu pixelů a segmentační modely na něm obvykle fungují dobře. Vynechání pozadí poskytuje poctivější hodnocení kvality segmentace objektů. Parametr include_background v implementaci TorchMetrics MeanIoU řídí toto chování.

Alternativou k mIoU je Frequency Weighted IoU (FWIoU), která váží IoU každé třídy její frekvencí v ground truth:

FWIoU = (1/Σc n_c) × Σc n_c × IoU_c

kde n_c je počet pixelů ground truth patřících do třídy c. FWIoU dává větší váhu větším třídám a menší vzácným třídám. Pro segmentaci trhlin na vozovkách, kde pixely trhlin tvoří méně než 1 procenta celku, by FWIoU zastínilo výkon na trhlinách výkonem na povrchu. mIoU (nevážený průměr) je silně preferováno pro inspekci infrastruktury, protože zachází se vzácnými, ale kritickými třídami vad stejně jako s většinovými třídami.

Úvahy o numerické přesnosti

Když je IoU použito jako tréninková ztrátová funkce (diferencovatelné varianty IoU), stává se důležitou numerická přesnost. Standardní IoU není diferencovatelné, protože binární logické operace (AND, OR, SUM) mají nulové gradienty všude kromě prahu, kde je gradient nedefinovaný. Diferencovatelné náhrady — soft IoU nebo IoU loss — používají spojité aproximace:

soft_IoU = Σ(p_i × g_i) / Σ(p_i + g_i - p_i × g_i)

kde p_i ∈ [0,1] je softmax pravděpodobnost pro pixel i a g_i ∈ {0,1} je ground truth label. Součin p_i × g_i je spojité uvolnění logického AND a součet p_i + g_i - p_i × g_i je spojité uvolnění logického OR.

Pro vyhodnocení (nediferencovatelné) se používají binarizované masky s prahem (typicky 0,5 na softmax pravděpodobnosti). Binární křížová entropie (binary cross-entropy loss) zůstává standardním tréninkovým cílem pro většinu modelů segmentace trhlin, přičemž IoU slouží jako vyhodnocovací metrika počítaná dodatečně.

IoU vs Dice koeficient (F1 pro segmentaci)

Dice Similarity Coefficient (DSC), nazývaný také Sørensenův–Diceův index a ekvivalentní F1-skóre pro binární segmentaci, je nejběžnější alternativou k IoU pro hodnocení segmentace. Porozumění vztahu mezi těmito dvěma metrikami je zásadní pro správnou interpretaci přesnosti segmentace.

Matematický vztah

Dice koeficient je definován jako:

DSC = 2|A ∩ B| / (|A| + |B|)

Vyjádřeno pomocí prvků matice záměn:

DSC = 2TP / (2TP + FP + FN)

Matematický vztah mezi DSC a IoU je bijektivní a monotónní:

DSC = 2 × IoU / (1 + IoU)

IoU = DSC / (2 - DSC)

To znamená, že pro libovolnou danou segmentaci lze DSC přímo vypočítat z IoU a naopak. Převod je přesný a deterministický — při převodu mezi oběma metrikami nedochází ke ztrátě informace.

Klíčové rozdíly v praxi

Navzdory přesnému matematickému vztahu se DSC a IoU systematicky liší ve svých číselných hodnotách a interpretaci. Klíčové vlastnosti jsou:

DSC ≥ IoU pro všechny nedokonalé segmentace. Nerovnost je přísná kromě DSC = IoU = 1 (dokonalé) a DSC = IoU = 0 (žádný překryv). Důvodem je, že jmenovatel v DSC přidává TP dvakrát (2TP + FP + FN), zatímco IoU přidává TP pouze jednou (TP + FP + FN), takže jmenovatel DSC je menší v poměru k čitateli. Například segmentace s TP=80, FP=20, FN=20 dává:

  • IoU = 80 / (80 + 20 + 20) = 80/120 = 0,667
  • DSC = (2×80) / (2×80 + 20 + 20) = 160/200 = 0,800

DSC je „optimističtější". Pro stejnou kvalitu segmentace vykazuje DSC vyšší číselnou hodnotu než IoU. Relativní rozdíl je největší při středních úrovních překryvu a konverguje na obou extrémech. Segmentace s IoU=0,5 odpovídá DSC=0,667. Segmentace s IoU=0,75 odpovídá DSC=0,857.

IoU je přísnější na falešně pozitivní a falešně negativní výsledky. Protože jmenovatel IoU zahrnuje TP pouze jednou, zatímco DSC TP dvojnásobně započítává, penalizuje IoU každý FP a FN více vzhledem ke správnému překryvu. To činí IoU citlivější na chyby pře-segmentace a pod-segmentace.

DSC klade důraz na maximalizaci překryvu. Dodatečná váha na TP znamená, že DSC odměňuje maximalizaci plochy průniku i za cenu mírného zvýšení sjednocení. To činí DSC preferovaným, když je primárním cílem zajistit, aby predikovaná oblast pokrývala co nejvíce z ground truth, a to i za cenu určitého nadhodnocení.

Praktické pokyny pro výběr

Volba mezi IoU a DSC závisí na požadavcích aplikace:

KritériumPreferovat IoUPreferovat DSC
Penalizace pře/podsegmentace✓ Přísnější— Shovívavější
Segmentace malých objektů— Citlivější na chyby✓ Méně přísná penalizace
Hodnocení přesnosti hranic✓ Lépe odráží chyby— Maskuje problémy s hranicemi
Srovnání se standardními benchmarky✓ Standard Pascal VOC, COCO— Standard v lékařském zobrazování
Tréninková ztrátová funkce— Není diferencovatelné✓ Diferencovatelná náhrada
Komunikace s netechnickými zainteresovanými stranami— Může působit přísně✓ Intuitivnější hodnoty

Pro inspekci infrastruktury a segmentaci trhlin je IoU preferovanou primární metrikou, protože poskytuje přísnější a poctivější hodnocení kvality segmentace. Model, který nadhodnocuje šířku trhliny (produkuje FP pixely trhlin na okrajích), bude mít své IoU penalizováno více než své DSC, a tato přísnější penalizace správně odráží provozní požadavek, že detekce trhlin musí být prostorově přesná — nadhodnocování plochy trhlin vede ke zbytečným nákladům na údržbu, zatímco podhodnocování vede k přehlédnutým vadám.

TarmacView reportuje IoU jako primární metriku přesnosti segmentace trhlin, přičemž model založený na DINOv3 dosahuje testovacího IoU 0,519 na vyčleněných snímcích letištních povrchů. Toto je doplněno reportováním přesnosti (precision), úplnosti (recall) a Dice koeficientu pro komplexní obraz hodnocení.

Prahové hodnoty IoU (0,3; 0,5; 0,75)

Prahové hodnoty IoU definují minimální překryv požadovaný pro to, aby byla predikce považována za skutečně pozitivní (správná detekce). Volba prahu má hluboké důsledky pro reportovaný výkon modelu a určuje, zda je segmentační systém hodnocen jako shovívavý nebo přísný.

Standard Pascal VOC: IoU ≥ 0,5

Pascal VOC challenge ustanovila IoU ≥ 0,5 jako práh pro považování detekce nebo segmentace za správnou. Tento práh, označovaný jako AP50 (Average Precision při IoU=0,5), se stal výchozím v počítačovém vidění po více než desetiletí. Úvaha byla pragmatická: predikovaná oblast, která se překrývá s více než polovinou ground truth, zjevně detekuje správný objekt, i když jeho hranice nejsou dokonalé.

Pro segmentaci trhlin na vozovkách znamená práh IoU 0,5, že se predikovaná maska trhliny musí překrývat alespoň z 50 procent s plochou trhliny ground truth, aby byla započítána jako správná detekce. Vzhledem k tomu, že trhliny jsou tenké, protáhlé struktury, tento práh vyžaduje, aby model zachytil celou dráhu trhliny s přiměřenou přesností tloušťky. Je to standardní práh používaný v akademických publikacích o detekci trhlin na vozovkách a v interním vyhodnocovacím pipeline TarmacView.

Přísný standard COCO: IoU ∈ [0,5; 0,95]

COCO benchmark zavedl přísnější vyhodnocovací protokol, který průměruje Average Precision přes deset prahových hodnot IoU od 0,5 do 0,95 v krocích po 0,05, označovaný jako AP@[0.5:0.95] nebo jednoduše mAP. Tento více-prahový přístup poskytuje komplexnější hodnocení kvality lokalizace než jakýkoli jediný práh.

Pro inspekci infrastruktury je vyhodnocení ve stylu COCO obzvláště informativní, protože odhaluje, jak model funguje napříč požadavky na přesnost. Model s vysokým AP50, ale nízkým AP75 může spolehlivě detekovat trhliny, ale predikovat je s nízkou přesností hranic — systematicky nadhodnocovat nebo podhodnocovat šířku trhliny. Model se silným AP75 prokazuje přesné zarovnání hranic, což je kritické pro aplikace vyžadující přesné měření šířky trhliny (klíčový vstup pro výpočty Pavement Condition Index – PCI podle ASTM D5340 a FAA AC 150/5380-6C).

Práh vysoké přesnosti: IoU ≥ 0,75

Metrika AP75 (Average Precision při IoU=0,75) hodnotí schopnost modelu produkovat predikce s těsným zarovnáním hranic. Pro segmentaci trhlin vyžaduje AP75, aby se predikovaná maska trhliny překrývala s ground truth alespoň ze 75 procent — což vyžaduje, aby model zachytil jak dráhu trhliny, tak její tloušťku s vysokou přesností.

AP75 je relevantním prahem pro aplikace vyžadující kvantifikaci šířky trhliny spíše než pouhou detekci přítomnosti trhliny. Hodnocení stavu runwayových povrchů podle norem ICAO a FAA Advisory Circulars často vyžaduje klasifikaci šířky trhlin (vlásková < 3 mm, střední 3–6 mm, závažná > 6 mm), a přesné měření šířky vyžaduje precizní segmentaci hranic. Model degradovaný na AP75 může trhliny správně lokalizovat, ale nadhodnocovat nebo podhodnocovat jejich závažnost.

Práh IoUStandardInterpretace pro segmentaci trhlin
0,30Minimální užitečný překryvOkrajová detekce; poloha trhliny přibližně správná, ale tvar/tloušťka nepřesné
0,50Pascal VOC (AP50)Standardní detekce; dráha trhliny a přibližná tloušťka správné
0,75COCO přísný (AP75)Přesná segmentace; hranice trhliny se těsně shodují s ground truth v rozmezí 1–3 pixelů
0,50:0,95COCO primární (mAP)Komplexní hodnocení napříč všemi úrovněmi přesnosti

IoU = 0,3 — Minimální smysluplný překryv

Ačkoli nejde o formální benchmarkový standard, IoU=0,3 se někdy používá jako shovívavý práh detekce v hlučných nebo nejednoznačných kontextech anotace. U trhlin na vozovkách mezianotátorská shoda na jednotlivých pixelech trhlin zřídka přesahuje IoU=0,65–0,85 u dobře definovaných trhlin a může klesnout na IoU=0,30–0,50 u vláskových trhlin na texturovaných asfaltových površích. V těchto případech stanovuje inherentní nejistota anotace praktické minimum toho, jaká hodnota IoU představuje smysluplnou detekci.

Práh IoU 0,3 pro segmentaci trhlin indikuje, že model správně identifikoval přibližnou polohu trhliny, ale s podstatnými chybami tvaru, tloušťky nebo spojitosti. To může být přijatelné pro hrubé screening vad (označení „možná trhlina – ověřit ručně"), ale je nedostatečné pro automatické hodnocení závažnosti.

Mean IoU (mIoU) pro více tříd

Mean Intersection over Union (mIoU) rozšiřuje metriku IoU pro jednu třídu na problémy více-třídní segmentace výpočtem aritmetického průměru skóre IoU pro jednotlivé třídy. To je standardní metrika hodnocení pro sémantickou segmentaci napříč všemi hlavními benchmarky.

Výpočet mIoU

Pro segmentační úlohu s C třídami se mIoU vypočítá jako:

mIoU = (1/C) × Σc=1…C IoU_c

kde IoU_c je Intersection over Union pro třídu c, vypočítaný tak, že se třída c považuje za pozitivní třídu a všechny ostatní třídy za negativní (one-vs-rest).

Výpočet IoU pro třídu c používá:

  • TP_c — pixely správně predikované jako třída c
  • FP_c — pixely nesprávně predikované jako třída c (patří do nějaké jiné třídy)
  • FN_c — pixely patřící do třídy c, ale predikované jako nějaká jiná třída

Matice záměn pro C-třídní segmentační problém je matice C×C, kde M_ij je počet pixelů patřících do třídy ground truth i, které byly predikovány jako třída j. IoU pro třídu je pak:

IoU_i = M_ii / (Σj M_ij + Σj M_ji - M_ii)

Čitatel M_ii (diagonální prvek) jsou skutečně pozitivní pro třídu i. Součet přes řádek Σj M_ij je celková plocha ground truth pro třídu i (TP + FN). Součet přes sloupec Σj M_ji je celková predikovaná plocha pro třídu i (TP + FP).

mIoU pro segmentaci trhlin

Pro segmentaci trhlin na letištních površích typický problém více-třídní segmentace zahrnuje:

  • Třída 0 – Pozadí: Intaktní povrch vozovky, bez vad
  • Třída 1 – Trhlina: Všechny typy trhlin (podélné, příčné, aligátorové, odrazové)
  • Třída 2 – Spára/tmel trhlin: Vyplněné nebo částečně vyplněné dilatační spáry
  • Třída 3 – Výtluk/zvětrávání: Povrchová deteriorace odlišná od trhlin

Každá třída má své vlastní skóre IoU. Při vyhodnocení TarmacView na datových sadách letištních povrchů demonstrují skóre IoU pro jednotlivé třídy relativní obtížnost každého typu vady. mIoU poskytuje agregovanou míru kvality modelu napříč všemi povrchovými podmínkami.

Citlivost mIoU na vyváženost tříd

Kritickou vlastností mIoU je, že zachází s každou třídou stejně bez ohledu na počet pixelů. Třída, která zabírá 60 procent pixelů (pozadí), a třída, která zabírá 0,5 procenta pixelů (trhlina), přispívají k výslednému skóre mIoU stejně. To je jak přednost, tak slabina:

Přednost: mIoU brání většinové třídě dominovat metrice. Model, který dokonale segmentuje pozadí vozovky, ale zcela selže na trhlinách, by dosáhl 99%+ přesnosti pixelů, ale mIoU pouze ~0,5 (protože třída trhlin přispívá IoU blízkým nule). mIoU poctivě odráží neschopnost modelu detekovat trhliny, zatímco přesnost pixelů by klamavě naznačovala téměř dokonalý výkon.

Slabina: Stejné vážení znamená, že malé, hlučné třídy (třídy s málo pixely) mohou mít vysokou variabilitu v odhadech IoU. Jediná malá chybně segmentovaná oblast může drasticky snížit IoU vzácné třídy, což činí mIoU volatilním, když testovací sada obsahuje málo příkladů vzácných vad.

Frekvenčně vážené IoU

Jako alternativa, Frequency Weighted IoU (FWIoU) váží IoU každé třídy její frekvencí v ground truth:

FWIoU = (1/Σc n_c) × Σc n_c × IoU_c

kde n_c je počet pixelů ground truth pro třídu c. FWIoU produkuje vyšší skóre, když model funguje dobře na většinových třídách, což odpouští špatný výkon na menšinových třídách. FWIoU je méně často reportováno v akademických benchmarcích, ale může být použito jako doplňková metrika, pokud je primárním zájmem celková přesnost napříč celým obrazem.

Pro inspekci infrastruktury je mIoU silně preferováno před FWIoU, protože:

  • Trhliny jsou třídou primárního provozního zájmu
  • Pixely trhlin tvoří nepatrný zlomek (0,5–2 procenta) celkové plochy obrazu
  • FWIoU by skrylo selhání segmentace trhlin za výkonem na pozadí
  • Regulatorní normy inspekce (ICAO Annex 14, FAA AC) upřednostňují specificky detekci vad

IoU v segmentaci trhlin TarmacView

Systém segmentace trhlin TarmacView používá backbone DINOv2 se specializovanou segmentační hlavou navrženou pro detekci vad infrastruktury. Model dosahuje testovacího IoU 0,519 na vyčleněných datových sadách letištních povrchů, validovaného napříč různými podmínkami snímání včetně změn osvětlení, rozdílů v textuře povrchu a několika typů trhlin.

Architektura modelu a výkon IoU

Segmentační architektura se skládá z:

  • Backbone: DINOv2 (Vision Transformer, ViT-B nebo ViT-L) předtrénovaný pomocí self-supervised learning na kurátorské datové sadě 142 milionů obrazů. DINOv2 poskytuje bohaté, zobecnitelné reprezentace rysů bez nutnosti úkolově specifického předtrénování.
  • Segmentační hlava: Lehký dekodér, který mapuje rysy na úrovni bloků (patch-level) z DINOv2 na segmentační masky na úrovni pixelů. Vlastní hlava TarmacView používá design víceúrovňové agregace rysů, který kombinuje rysy z několika transformer bloků pro zachycení jak jemných detailů trhlin (z raných vrstev), tak globálního kontextu (z pozdějších vrstev).
  • Výstup: Mapa pravděpodobností na pixel tvaru H×W×2 (trhlina vs. pozadí), prahovaná na 0,5 pro vytvoření konečné binární masky trhliny použité pro výpočet IoU.

Testovací IoU 0,519 představuje IoU pro třídu trhlin zprůměrované přes vyčleněnou testovací sadu. Tato hodnota umisťuje model TarmacView do dobrého až vynikajícího rozsahu pro segmentaci trhlin na vozovkách, kde jsou hodnoty IoU 0,45–0,60 typické pro nejmodernější modely na náročných reálných datových sadách.

Srovnání s publikovanými benchmarky

Přímé srovnání IoU napříč různými studiemi segmentace trhlin je komplikováno rozdíly v datových sadách, anotačních protokolech a definicích trhlin. Publikované výsledky na podobných datových sadách trhlin na vozovkách však poskytují kontext:

ModelDatová sadaTestovací IoU (třída trhlin)
TarmacView DINOv3Letištní runway (proprietární)0,519
DeepCrack (2019)CFD (veřejná silnice)0,420–0,465
U-Net + ResNet-50Crack500 (veřejná silnice)0,475–0,510
HRNet-FCNUAV vozovka (akademická)0,498–0,530
SegFormer-B3CrackTree200 (veřejná)0,485–0,520
U-Net (dron runway)Runwayová vozovka (2020)0,415–0,472

IoU 0,519 od TarmacView je konkurenceschopné s nejlepšími publikovanými výsledky, přičemž pracuje na reálných datech z letištních runwayí s vyšší variabilitou anotací a rozmanitějšími povrchovými podmínkami než kontrolované datové sady používané v akademickém výzkumu. Model těží ze silného reprezentačního učení DINOv2 a doménově specifického tréninkového režimu, který zahrnuje agresivní augmentaci dat a strategie vyvažování tříd.

Faktory přispívající ke skóre IoU

Několik faktorů ovlivňuje testovací IoU 0,519:

Tolerance tloušťky masky. Anotace ground truth pro datovou sadu letištních povrchů definují trhliny s konzistentní tloušťkou přibližně 3–5 pixelů při rozlišení anotace. Predikované masky modelu mohou být široké 2–8 pixelů na různých segmentech trhlin. Každý pixel odlišný od tloušťky ground truth přidává buď k FP nebo FN, čímž snižuje IoU.

Citlivost okrajových pixelů. Pro typickou trhlinu zabírající 5 000 pixelů v obraze 512×512 tvoří okraj trhliny (pixely na hranici mezi trhlinou a povrchem) přibližně 400–600 pixelů. Pokud je okraj predikce modelu posunut byť jen o 1 pixel od okraje ground truth podél celé dráhy trhliny, může výsledný FP+FN součet 400–600 pixelů snížit IoU o 0,05–0,10.

Výzva vláskových trhlin. Vláskové trhliny (šířka < 0,3 mm, odpovídající 1–3 pixelům při rozlišení snímání) tvoří přibližně 30 procent vad v testovací sadě. U těchto trhlin je celková plocha ground truth velmi malá (100–500 pixelů), takže jakákoli nesrovnalost má neúměrně velký vliv na IoU. IoU vláskových trhlin se pohybuje v průměru 0,320–0,380, což je výrazně méně než 0,550–0,650 dosahované u středních a širokých trhlin.

Konzistence anotace. Inter-anotační IoU na tréninkových a testovacích datech je přibližně 0,72 (dva nezávislí expertní anotátoři na stejných snímcích). To nastavuje praktický horní limit dosažitelného IoU modelu — ani dokonalý model nemůže překročit konzistenci svého ground truth, čímž je stanoven strop šumu přibližně 0,72–0,78.

Praktická užitečnost skóre IoU

Testovací IoU 0,519 znamená, že na průměrném testovacím snímku je průnik mezi predikovanou maskou trhlin a maskou ground truth přibližně 51,9 procent jejich sjednocení. V provozních termínech:

  • Míra detekce trhlin: Přibližně 75–85 procent pixelů trhlin je správně identifikováno (true positive rate), s variací podle typu a šířky trhliny.
  • Míra falešně pozitivních: Přibližně 0,1–0,5 procenta pixelů pozadí je nesprávně klasifikováno jako trhlina, což odpovídá 250–1 250 falešně pozitivním pixelům trhlin na obraz 512×512.
  • Spojitost trhlin: Model správně identifikuje přítomnost trhliny v 90+ procentech obrazových snímků obsahujících měřitelné trhliny (>1 mm šířka), s určitou fragmentací (jedna souvislá trhlina predikována jako několik krátkých segmentů).

Často kladené otázky

Přesná segmentace trhlin pomocí AI

TarmacView používá Intersection Over Union jako primární metriku pro ověření přesnosti segmentace trhlin. Naše segmentační hlava založená na DINOv3 dosahuje špičkových hodnot IoU na datech z inspekcí letištních povrchů. Kontaktujte nás a zjistěte, jak může přesná detekce trhlin řízená umělou inteligencí transformovat váš pracovní postup inspekce infrastruktury.

Zjistit více

Segmentace trhlin

Segmentace trhlin

Segmentace trhlin je úloha počítačového vidění, která klasifikuje každý pixel obrazu jako trhlinu nebo netrhlínu, čímž vytváří binární masku umožňující přesné m...

31 min čtení
Computer Vision Deep Learning +2
Procento plochy trhlin v hodnocení vozovek a konstrukcí

Procento plochy trhlin v hodnocení vozovek a konstrukcí

Procento plochy trhlin (crack_area_pct) je poměr plochy masky trhlin k celkové ploše analyzovaného obrazu, vyjádřený v procentech. Jedná se o klíčovou kvantitat...

22 min čtení
measurement pavement +3

+++ title = &ldquo;Překryv snímků&rdquo; description = &ldquo;Překryv snímků (podélný a příčný překryv) je procento plochy snímku, které je sdíleno mezi po sobě...

27 min čtení