Automatizované meranie šírky trhliny z obrazových snímok
Automatizované meranie šírky trhliny odvodzuje otváraciu šírku detegovaných trhlín z binárnych pixelových masiek pomocou euklidovskej transformácie vzdialenosti...
Skeletonizácia trhlín je morfologická operácia spracovania obrazu, ktorá redukuje segmentovanú binárnu oblasť trhliny na reprezentáciu stredovej čiary širokú jeden pixel pomocou stenčovacích algoritmov, ako sú Zhang-Suen, Lee alebo transformácia mediálnej osi. Skelet umožňuje presné meranie dĺžky trhliny, analýzu vetvenia, klasifikáciu vzorov trhlín, odhad šírky a kvantifikáciu tortuozity v automatizovaných systémoch kontroly vozoviek.
Skeletonizácia trhlín (tiež označovaná ako stenčovanie alebo extrakcia mediálnej osi) je morfologická operácia spracovania obrazu, ktorá redukuje segmentovanú binárnu oblasť trhliny na reprezentáciu stredovej čiary širokú jeden pixel — skelet — pri zachovaní topologických vlastností (konektivita, štruktúra vetvenia) a geometrických vzťahov (tvar cesty, orientácia) pôvodnej trhliny. Skelet predstavuje „stredovú čiaru" alebo „mediálnu os" trhliny a je základom pre prakticky všetky kvantitatívne analýzy geometrie trhlín v automatizovanej kontrole vozoviek.
Formálne, pre binárny obraz I s pixelmi trhliny nastavenými na 1 (popredie) a pozadím nastaveným na 0, skeletonizácia produkuje množinu S ⊆ I so štyrmi základnými vlastnosťami. S je široký 1 pixel: každý pixel v S má najviac dvoch 8-smerových susedov tiež v S, okrem spojovacích bodov, kde je povolený stupeň vyšší ako 2. S je topologicky ekvivalentný s I: S a I majú rovnaký počet spojených komponentov a rovnakú štruktúru dier/slučiek — Eulerova charakteristika je zachovaná. S je centrovaný v rámci I: každý pixel skeletu leží približne na lokálnej stredovej čiare trhliny. S je dostatočný pre rekonštrukciu: v prípade transformácie mediálnej osi (MAT) možno pôvodný tvar približne rekonštruovať zo skeletu a jeho príslušných hodnôt polomerov.

V automatizovanej analýze trhlín na vozovkách slúži skeletonizácia ako kritický medzikrok medzi detekciou a segmentáciou trhlín a kvantitatívnym odhadom parametrov. Skelet umožňuje sedem primárnych analytických funkcií. Meranie dĺžky trhliny sa priamo vypočítava sledovaním ciest pixelov pozdĺž stredovej čiary širokej jeden pixel. Odhad šírky trhliny využíva vzdialenosť od pixelov skeletu k okrajom trhliny na výpočet lokálnych a agregovaných štatistík šírky. Klasifikácia vzoru trhliny deteguje spojovacie body, vetvy a topologickú štruktúru na rozlíšenie aligátorových, blokových, pozdĺžnych a priečnych trhlín. Analýza orientácie trhliny určuje dominantný smer trhliny na segment. Kvantifikácia tortuozity meria zakrivenie a kľukatenie trhliny ako pomer dĺžky cesty skeletu k euklidovskej vzdialenosti koncových bodov. Redukcia údajov komprimuje oblasť trhliny zo stoviek alebo tisícov pixelov na kompaktnú lineárnu reprezentáciu, ktorá je výpočtovo efektívna pre následnú analýzu. Grafová analýza konvertuje skelet na euklidovský graf s uzlami reprezentujúcimi spojovacie a koncové body a hranami reprezentujúcimi segmenty trhlín pre pokročilú štrukturálnu a topologickú analýzu.
Skelet poskytuje funkčný deskriptor, ktorý prepája nízkodrovňové pixelové údaje a vysokodrovňové parametre hodnotenia technického stavu — dĺžku trhliny v metroch, priemernú šírku v milimetroch, hustotu trhlín a zrážky z Indexu stavu vozovky (PCI) definované v normách ICAO ALACPA/09-2012, FAA PAVER, ASTM D5340-12 a ASTM D6433.
Na skeletonizáciu trhlín sa používajú štyri primárne algoritmy: Zhang-Suen stenčovanie, Guo-Hall stenčovanie, Lee skeletonizácia a transformácia mediálnej osi (MAT). Každý má odlišné charakteristiky, ktoré ho robia vhodným pre rôzne scenáre analýzy vozoviek.
Zhang-Suen (ZS) algoritmus, publikovaný T.Y. Zhangom a C.Y. Suenom v Communications of the ACM (Vol. 27, No. 3, marec 1984), je najpoužívanejší stenčovací algoritmus v analýze trhlín na vozovkách vďaka svojej rýchlosti, jednoduchosti a dobrým výsledkom na pretiahnutých vzoroch podobných trhlinám. ZS je paralelný iteratívny stenčovací algoritmus, ktorý pracuje na binárnych obrázkoch opakovaným odstraňovaním okrajových pixelov pri zachovaní konektivity.
Konvencia označovania susedov pre každý uvažovaný pixel P1 usporadúva jeho ôsmich susedov v smere hodinových ručičiek: P9 (vľavo hore), P2 (hore uprostred), P3 (vpravo hore), P8 (vľavo uprostred), P4 (vpravo uprostred), P7 (vľavo dole), P6 (dole uprostred), P5 (vpravo dole). Pre každý čierny pixel P1 sú definované dve funkcie: A(P1) sa rovná počtu prechodov z bielej (0) na čiernu (1) v usporiadanej kruhovej postupnosti P2 až P9 a späť na P2, čo meria počet spojených komponentov pozadia v susedstve; B(P1) sa rovná počtu čiernych pixelových susedov P1.
ZS je dvojitý subiteračný algoritmus. Každá iterácia pozostáva z dvoch postupných krokov. V kroku 1 sú pixely na severnej a východnej hranici označené na odstránenie; v kroku 2 sú pixely na južnej a západnej hranici označené. Odstránia sa len pixely, ktoré súčasne spĺňajú podmienky oboch subiterácií.
Podmienky kroku 1 (označenie na odstránenie): P1 je čierne popredie A má 8 susedov (nie je okrajovým pixelom obrazu); 2 ≤ B(P1) ≤ 6 (zabezpečuje, že P1 nie je koncový bod ani hrubý vnútorný pixel); A(P1) = 1 (zachováva konektivitu tým, že bráni odstráneniu pixelov, ktoré prepájajú viacero komponentov pozadia); P2 × P4 × P6 = 0 (aspoň jeden z východných, južných alebo západných susedov je biely); a P4 × P6 × P8 = 0 (aspoň jeden zo severných, východných alebo južných susedov je biely). Podmienky 4 a 5 spolu zabezpečujú, že v kroku 1 sú odstránené len severne/východné okrajové pixely.
Podmienky kroku 2 (označenie na odstránenie): Podmienky 1, 2 a 3 sú identické s krokom 1. Podmienky 4 a 5 sa menia na zacielenie južných/západných okrajových pixelov: P2 × P4 × P8 = 0 (aspoň jeden zo severných, východných alebo západných susedov je biely) a P2 × P6 × P8 = 0 (aspoň jeden zo severných, južných alebo západných susedov je biely).
Iteračný proces sa opakuje, kým v žiadnom kroku nie sú odstránené žiadne pixely. Odstránenia sa vykonávajú po každom úplnom prechode, aby sa zabránilo vplyvu poradia odstraňovania na výsledky (paralelizmus). Algoritmus končí, keď žiadne pixely nespĺňajú podmienky kroku 1 ani kroku 2. V praxi obrázky trhlín typicky vyžadujú 5 až 15 iterácií. Štandardná implementácia používa vyhľadávaciu tabuľku s 256 položkami indexovanými 8-bitovým vzorom susedov pre výpočtovú efektivitu.
Charakteristiky Zhang-Suen zahŕňajú zachovanie 8-smerovej konektivity popredia, veľmi rýchly výkon O(n) na iteráciu, produkciu skeletov, ktoré môžu zachovávať niektoré 2-pixelové široké diagonálne čiary, strednú citlivosť na šum produkujúcu falošné vetvy (ostne) na hraniciach nepravidelných oblastí trhlín (pruning je takmer vždy potrebný) a dobré, ale nie dokonalé centrovanie s miernym sklonom k určitým konfiguráciám hraníc.
Guo-Hall (GH) algoritmus, publikovaný Z. Guoom a R.W. Hallom v Communications of the ACM (Vol. 32, No. 3, 1989), je ďalší paralelný dvojitý subiteračný stenčovací algoritmus navrhnutý na riešenie obmedzení ZS — najmä produkcie 2-pixelových širokých diagonálnych čiar a citlivosti na šum. GH používa dve subiterácie s rovnakou štruktúrou ako ZS, ale s odlišnými podmienkami odstraňovania: nepárne iterácie odstraňujú severovýchodné okrajové pixely (podobne ako ZS krok 1) a párne iterácie odstraňujú juhozápadné okrajové pixely (podobne ako ZS krok 2), pričom používa reštriktívnejšiu sadu podmienok susedstva.
Guo-Hall podmienky pre nepárnu iteráciu vyžadujú: P1 je čierne popredie; 2 ≤ B(P1) ≤ 6; A(P1) = 1; P2 × P4 × P6 = 0; a P4 × P6 × P8 = 0. Pre párnu iteráciu: P1 je čierne popredie; 2 ≤ B(P1) ≤ 6; A(P1) = 1; P2 × P4 × P8 = 0; a P2 × P6 × P8 = 0. GH pridáva kontrolnú podmienku na zabránenie úplnému odstráneniu diagonálnych čiar: pixel sa neodstráni, ak je jediným zostávajúcim pixelom spájajúcim dva inak nespojené komponenty skeletu, čo sa určuje kontrolou, či by odstránenie porušilo 8-smerovú konektivitu pomocou špecifického porovnávania vzorov.
| Vlastnosť | Zhang-Suen | Guo-Hall |
|---|---|---|
| Hrúbka skeletu | Môže zanechať 2-pixelové diagonálne čiary | Jeden pixel v celom rozsahu |
| Spracovanie diagonál | Slabé — produkuje hrubšie diagonály | Dobré — zachováva 1-pixelové diagonály |
| Čas behu | Mierne rýchlejší | Porovnateľný |
| Centrovanie | Dobré | Dobré |
| Tvorba ostňov | Stredná | Mierne menej ostňov |
| Konektivita | Dobrá | Lepšia pre tenké prvky |
| Implementácia | Jednoduchá | Stredná (dodatočné kontroly) |
Podľa publikovaných benchmarkov GH produkuje celkovo tenšie skeleton ako ZS a lepšie spracúva diagonálne línie, avšak za mierne vyššie výpočtové náklady.
Lee algoritmus, publikovaný T.-C. Leem, R.L. Kashyapom a C.-N. Chuum v Computer Vision, Graphics, and Image Processing (Vol. 56, No. 6, 1994), rozširuje stenčovanie na 3-D binárne obrázky pomocou oktantovej dátovej štruktúry na skúmanie 3×3×3 susedstiev. Pre 2-D analýzu trhlín poskytuje užitočnú alternatívu k ZS. Pri aplikácii na 2-D obrázky (ako v scikit-image skeletonize(image, method='lee')) sa riadi rovnakým základným princípom iteratívneho odstraňovania okrajových pixelov, ale používa dvojfázový prístup na iteráciu: identifikácia kandidátov (skenovanie všetkých okrajových pixelov popredia a identifikácia tých, ktoré sú odstrániteľné na základe porovnávania so sadou 256 3×3 vzorov) a sekvenčné preverovanie (kandidáti sú postupne znovu preskúmaní, aby sa overilo, že odstránenie neporuší konektivitu). Toto sekvenčné preverovanie je kľúčovým rozdielom oproti ZS — lepšie zachováva konektivitu, ale je mierne pomalšie.
Kľúčové vlastnosti Lee algoritmu zahŕňajú vynikajúce zachovanie konektivity v porovnaní so ZS pre komplexné siete trhlín s viacnásobnými spojovacími bodmi, konzistentne 1-pixelové široké skeleton, nižšiu rýchlosť pre 2-D obrázky kvôli fáze sekvenčného preverovania (navrhnutý primárne pre 3-D) a porovnateľnú alebo mierne lepšiu tvorbu ostňov ako ZS.
Transformácia mediálnej osi (MAT), zavedená H. Blumom v Models for the Perception of Speech and Visual Form (MIT Press, 1967), je zásadne odlišný prístup od iteratívneho stenčovania. Je založená na transformácii vzdialenosti binárneho obrazu. Mediálna os binárneho objektu je množina všetkých bodov, ktoré majú viac ako jeden najbližší bod na hranici objektu — ekvivalentne, miesto stredov maximálnych vpísaných kružníc (diskov), ktoré sa celé nachádzajú vnútri objektu.
Výpočet zahŕňa tri kroky. Po prvé, vypočíta sa transformácia vzdialenosti: pre každý pixel popredia (trhliny) sa vypočíta jeho euklidovská vzdialenosť k najbližšiemu pixelu pozadia, čím vzniká mapa vzdialenosti D(x,y). Po druhé, identifikujú sa hrebeňové body: mediálna os pozostáva z pixelov, ktoré sú lokálnymi maximami v transformácii vzdialenosti — pixely, ktorých hodnota vzdialenosti k hranici je väčšia alebo aspoň rovná ako u ktoréhokoľvek z ich susedov. Po tretie, prahovanie a stenčenie: hrebeňové body s hodnotami vzdialenosti nad prahom šumu tvoria počiatočný skelet, pričom sa aplikuje dodatočné stenčenie na zabezpečenie šírky jedného pixelu.
| Vlastnosť | Iteratívne stenčovanie (ZS, GH, Lee) | Transformácia mediálnej osi |
|---|---|---|
| Princíp | Iteratívne odstraňovanie okrajov | Hrebene transformácie vzdialenosti |
| Centrovanie | Dobré, približné | Optimálne — inherentne centrované |
| Informácia o šírke | Vyžaduje samostatný výpočet | Vstavané (hodnoty vzdialenosti) |
| Výpočtová náročnosť | Rýchle (O(n) na iteráciu) | Stredné (transformácia vzdialenosti) |
| Tvorba ostňov | Významná | Menej falošných |
| Konektivita | Zachovaná | Môže produkovať nespojené komponenty |
| Odolnosť voči šumu | Stredná | Menej odolná voči nepravidelným hraniciam |
| Hladkosť skeletu | Môže byť zubatý | Celkovo hladší |
Pre analýzu trhlín na vozovkách sú stenčovacie algoritmy (najmä ZS) bežnejšie používané, pretože trhliny sú pretiahnuté, nepravidelné štruktúry, kde je prísne centrovanie MAT menej kritické a zachovanie konektivity je prvoradé.

Skeletonizácia nevyhnutne produkuje falošné vetvy (tiež nazývané ostne, vlasy alebo artefakty) — krátke bočné vetvy, ktoré nezodpovedajú skutočným vlastnostiam trhliny, ale vznikajú v dôsledku šumu, nepravidelností hraníc alebo textúry kameniva na povrchu vozovky. Medzi primárne zdroje patrí hraničný šum (malé konkávne/konvexné perturbácie v hranici trhliny, ktoré sú skeletonizované ako krátke vetvy), textúra asfaltového kameniva (odtiene šedej v blízkosti okrajov trhliny spôsobujúce drsné hranice binárnej segmentácie), šum typu soľ a korenie (izolované nesprávne klasifikované pixely v segmentovanom obraze) a artefakty bifurkácie trhliny (kde meniaca sa šírka trhliny spôsobuje, že sa skelet krátko rozdelí a znovu spojí).
Najjednoduchšia a najpoužívanejšia technika pruningu je pruning založený na dĺžke. Algoritmus identifikuje všetky koncové pixely v skeletal (pixely s presne jedným 8-smerovým susedom). Pre každý koncový bod sleduje vetvu späť k hlavnému skeletonu, kým nenarazí na spojovací pixel (stupeň ≥ 3). Potom meria dĺžku vetvy v pixeloch a odstraňuje vetvu, ak je jej dĺžka pod prahom T (typické prahové hodnoty sa pohybujú od 5 do 30 pixelov v závislosti od rozlíšenia obrazu a charakteristík trhliny). Proces sa opakuje, kým nie sú orezané žiadne ďalšie vetvy, pretože odstránenie jednej vetvy môže vytvoriť nové koncové body. Dĺžkový prah sa typicky nastavuje na základe kalibrácie pixel na mm. Pre bežne používané rozlíšenia zobrazovania vozoviek (0,5–2 mm/pixel) prah 10–20 pixelov zodpovedá 5–40 mm, čo účinne odstraňuje šum indukovaný textúrou pri zachovaní skutočných krátkych vetiev trhlín.
Opísaná v Li et al. (2023) pre analýzu trhlín na asfaltových vozovkách, metóda prahovania spojených domén aplikuje označovanie spojených komponentov na skeletový obraz, vypočíta počet pixelov pre každý spojený komponent a odstraňuje komponenty s počtom pixelov pod prahom (typicky 50–200 pixelov). To súčasne odstraňuje izolovaný šum a krátke falošné vetvy z inak spojených skeletonov trhlín.
Pokročilejšie prístupy zohľadňujú dodatočné kritériá ako uhol vetvy voči skeletu (vetvy zvierajúce takmer kolmé uhly s hlavnou líniou trhliny sú pravdepodobnejšie falošné), hrúbka vetvy v mieste vzniku (vetva vychádzajúca z hrubej časti skeletu je pravdepodobnejšie skutočná), hodnota transformácie vzdialenosti (vetvy, ktorých hodnoty transformácie vzdialenosti sa náhle menia, sú pravdepodobnejšie šum) a kontinuita obrysu (ak vetva nemá zodpovedajúce vybranie na obryse hranice trhliny, je falošná).
Matematická morfológia ponúka priame operátory pruningu: MATLAB bwmorph(BW, 'spur', k) odstraňuje ostré pixely s parametrom k určujúcim iterácie a hit-or-miss transformácia používa porovnávanie štruktúrnych prvkov na identifikáciu a odstránenie špecifických vzorov ostňov. Grafový prístup konvertuje skelet na graf s uzlami (spojovacie a koncové body) a hranami (cesty pixelov medzi uzlami), priraďuje váhy hrán na základe euklidovskej vzdialenosti, orezáva hrany, ktorých váha je pod prahom a ktoré sa pripájajú ku koncovému bodu (okrajové hrany), a dodatočne orezáva krátke hrany spájajúce dva spojovacie body, ak vytvárajú malú slučku.
Hybridná metóda Skeleton-Prune-EOB z MDPI článku z roku 2025 o meraní šírky trhlín v betóne aplikuje rýchly pruning skeletu pomocou iteratívneho sledovania koncových bodov s odstraňovaním založeným na dĺžke s adaptívnym prahom založeným na priemernej šírke trhliny, nasledovaný Edge-OrthoBoundary (EOB) rekonštrukciou, kde zostávajúci skelet prechádza spresnením hraníc na zabezpečenie presného merania šírky.
Presné meranie dĺžky trhliny zo skeletu vyžaduje starostlivé zaobchádzanie s konektivitou pixelov. Základný prístup sleduje cestu skeletu pixel po pixeli a akumuluje vzdialenosti.
Počínajúc od koncového bodu (alebo spojenie-spojenie), algoritmus prechádza po 8-smerovej ceste. Pre každú po sebe idúcu dvojicu pixelov (x₁, y₁) a (x₂, y₂) sa pripočíta príslušná vzdialenosť. K dispozícii sú tri metriky vzdialenosti. 4-smerová vzdialenosť pripočíta 1,0 za každý ortogonálny krok (horizontálny alebo vertikálny), ale ignoruje diagonálne spojenia, čo produkuje systematicky dlhšie dĺžky pre diagonálne segmenty trhlín. 8-smerová (Čebyševova) vzdialenosť pripočíta 1,0 za každý krok v ktoromkoľvek z 8 smerov, čo však podhodnocuje diagonálnu vzdialenosť. Korigovaná 8-smerová (Chamfer) vzdialenosť pripočíta 1,0 pre ortogonálne kroky a √2 ≈ 1,414 pre diagonálne kroky, čím poskytuje merania dĺžky s presnosťou približne 0,5 % skutočnej euklidovskej dĺžky cesty.
Odporúčaný prístup pre meranie trhlín používa 8-smerové sledovanie s √2 korekciou:
def skeleton_length(skeleton_pixels):
total_length = 0.0
for i in range(len(skeleton_pixels) - 1):
x1, y1 = skeleton_pixels[i]
x2, y2 = skeleton_pixels[i+1]
dx = abs(x2 - x1)
dy = abs(y2 - y1)
if dx == 1 and dy == 0 or dx == 0 and dy == 1:
total_length += 1.0
elif dx == 1 and dy == 1:
total_length += sqrt(2)
return total_length
Pre komplexné siete trhlín s vetvami je skelet rozložený na segmenty medzi uzlami spojenie/koncový bod. Detegujú sa všetky spojovacie pixely (stupeň ≥ 3) a koncové pixely (stupeň = 1). Skelet je rozložený na segmenty medzi týmito uzlami. Každý segment sa meria individuálne pomocou Chamfer metódy vzdialenosti. Celková dĺžka trhliny sa rovná súčtu dĺžok všetkých segmentov: L_celková = Σᵢ Lᵢ kde Lᵢ je korigovaná 8-smerová dĺžka i-teho segmentu skeletu.
Praktický implementačný pipeline extrahuje skelet pomocou Zhang-Suen stenčovania, orezáva falošné vetvy (prah spojených domén, minimálne 50–200 pixelov), kalibruje pomer pixel na mm pomocou referenčného objektu známych rozmerov nasnímaného v rovnakej vzdialenosti, sleduje usporiadané pixely skeletu, aplikuje Chamfer akumuláciu vzdialenosti a konvertuje na fyzikálne jednotky: L_mm = L_pixely × faktor_merítka.
Spojovací pixel v skeletonizovanom obraze trhliny je pixel so stupňom ≥ 3 — tri alebo viac susedných pixelov skeletu v 8-smerovom susedstve. Pre každý pixel skeletu sa počíta počet 8-smerových susedov:
| Stupeň | Klasifikácia | Interpretácia trhliny |
|---|---|---|
| d = 0 | Izolovaný vrchol | Šum (typicky odstránený) |
| d = 1 | Koncový vrchol | Hrot trhliny, koniec vetvy alebo neúplná detekcia |
| d = 2 | Vnútorný vrchol | Pokračovanie jedného segmentu trhliny |
| d = 3 | Vetviaci vrchol (T/Y) | Bifurkácia trhliny |
| d = 4 | Vetviaci vrchol (X) | Križovatka trhlín |
| d ≥ 3 | Spojovací vrchol | Všeobecný bod vetvenia |
V MATLABe bwmorph(skel, 'branchpoints') deteguje pixely, kde sa skelet rozdeľuje, pomocou vyhľadávacej tabuľky, ktorá skúma vzor 3×3 susedstva oproti vopred vypočítaným šablónam pre konfigurácie vetvenia. Táto funkcia môže produkovať zhluky bodov vetvenia okolo jedného spojenia; tieto by mali byť zlúčené pomocou označovania spojených komponentov a prevzatím ťažiska každého zhluku.
Z grafovej reprezentácie možno vypočítať osem topologických metrík. Počet spojení (J) na jednotku plochy — vysoké J indikuje komplexnú, prepojenú sieť trhlín. Distribúcia stupňov uzlov zahŕňa priemerný stupeň ⟨d⟩ = 2E/N (kde E = počet hrán, N = počet uzlov), pričom čisto lineárna trhlina má ⟨d⟩ = 2 a vetviaca sieť má ⟨d⟩ > 2, a pomer stupňov R_d = (uzly so stupňom 3+) / (uzly so stupňom 1). Počet vetiev (B) počíta celkové segmenty skeletu medzi uzlami spojenie/koncový bod. Štatistiky dĺžky vetiev zahŕňajú priemernú dĺžku vetvy (kratšia pre aligátorové trhliny, dlhšia pre pozdĺžne/priečne trhliny), štandardnú odchýlku (vysoká pre zmiešané vzory trhlín) a variačný koeficient (používa sa na rozlíšenie blokových trhlín od aligátorových). Počet spojených komponentov (C) indikuje buď viacnásobné odlišné trhliny alebo medzery v detekcii. Eulerovo číslo (χ) = C − H kde H = počet dier (slučiek), pričom slučky indikujú aligátorové alebo blokové trhliny. Fraktálna dimenzia (D_f) pomocou metódy počítania boxov na skeletal je približne 1,0 pre rovné lineárne trhliny, 1,2–1,4 pre kľukaté trhliny a 1,5–1,8 pre aligátorové trhliny. Veľkosť ôk pre blokové/aligátorové trhliny — priemerná plocha polygónu z detekcie cyklov v grafe — indikuje závažnosť trhliny.
| Vzor trhliny | Topologická signatúra |
|---|---|
| Pozdĺžna | Jedna hlavná vetva, niekoľko krátkych bočných vetiev, d ≈ 2, nízke J |
| Priečna | Jedna hlavná vetva krížujúca vozovku, d ≈ 2, nízke J |
| Bloková | Polygonálna sieť s cyklami ≥4 strán, stredné J, stredná až veľká veľkosť ôk |
| Aligátorová (únavová) | Hustá sieť malých polygónov, vysoké J, vysoká hustota vetiev, malá veľkosť ôk, D_f ≥ 1,5 |
| Reflexná | Lineárne trhliny v pravidelných intervaloch zodpovedajúcich podkladovým škáram dosiek |
| Okrajová/koľajová | Lokalizovaný zhluk trhlín, často paralelný so smerom dopravy |
Pre pokročilú topologickú charakterizáciu Bettiho čísla poskytujú ďalší pohľad: β₀ sa rovná počtu spojených komponentov (C) a β₁ sa rovná počtu nezávislých cyklov alebo dier (H). Genus g = β₁ = H. Aligátorové trhliny majú vysoké β₁, zatiaľ čo jednoduché lineárne trhliny majú β₁ = 0.

Šírka trhliny je kritickým parametrom pre hodnotenie závažnosti poškodenia vozovky v normách ako ICAO ALACPA/09-2012, FAA PAVER a ASTM D6433. Skelet poskytuje prirodzený referenčný bod pre meranie šírky.
Najpriamejšia metóda používa hodnoty transformácie vzdialenosti na pixeloch skeletu. Euklidovská transformácia vzdialenosti (EDT) binárneho obrazu trhliny ukladá pre každý pixel popredia euklidovskú vzdialenosť k najbližšiemu pixelu pozadia. EDT hodnoty sú extrahované na všetkých pozíciách pixelov skeletu. Pre každý pixel skeletu je lokálna šírka trhliny = 2 × EDT_hodnota (keďže EDT udáva polomer k najbližšej hranici). Vypočítané štatistiky zahŕňajú priemernú šírku, maximálnu šírku, minimálnu šírku a štandardnú odchýlku šírky. Výhrady zahŕňajú nadhodnotenie šírky v blízkosti koncových bodov skeletu (EDT polomer sa zvyšuje na hrotoch trhlín, kde sa vzdialenosť rozširuje okolo zakrivenia hrotu) a podhodnotenie na spojovacích bodoch (skelet sa odchýli od skutočnej mediálnej osi v bodoch vetvenia). Korekcia typicky vylučuje posledných 5–10 pixelov na každom koncovom bode.
Presnejšia alternatíva zohľadňuje lokálnu orientáciu trhliny. Pre každý pixel skeletu (x₀, y₀) sa lokálna orientácia trhliny θ určí preložením priamky cez susedné pixely skeletu (typicky ±3–5 pixelov pozdĺž cesty skeletu). Normálový smer sa vypočíta: θ_normála = θ + π/2. V binárnom obraze trhliny sa profil pozdĺž normály z (x₀, y₀) smerom von v oboch smeroch sleduje, až kým sa nedosiahnu pixely pozadia. Šírka trhliny sa rovná celkovej vzdialenosti (v pixeloch) medzi dvoma priesečníkmi hraníc pozdĺž normály. Implementačné detaily zahŕňajú použitie bilineárnej interpolácie pre presnosť na úrovni sub-pixelov pri profilovaní, nastavenie dĺžky profilu tak, aby presahovala očakávanú maximálnu šírku trhliny (typicky 50–100 pixelov), a udržiavanie veľkosti kroku normály ≤ 1 pixel pre presnú detekciu hraníc.
Výhody kolmého profilovania zahŕňajú vyššiu presnosť ako metóda EDT a lepšie spracovanie ne-kruhových prierezov trhlín. Nevýhody zahŕňajú výpočtovú náročnosť a citlivosť na hladkosť skeletu (zubaté skeleton produkujú zašumené odhady orientácie).
Maximálna šírka trhliny je štandardným kritériom závažnosti v inšpekčných príručkách ICAO aj FAA. Na jej výpočet sa šírka meria na každom pixeli skeletu (pomocou EDT alebo profilovania) a uvádza sa maximálna hodnota. Voliteľne sa pole šírok vyhladzuje kĺzavým priemerom (okno 5–11 pixelov) na filtrovanie odľahlých hodnôt pred určením maxima. Priemerná šírka trhliny spriemeruje šírku pozdĺž celého skeletu s vylúčením spojení a koncových segmentov pre presnosť. Histogram distribúcie šírky charakterizuje rovnomernosť trhliny a identifikuje miesta lokalizovaného rozšírenia. Variačný koeficient šírky (CV = σ_w / μ_w): vysoké CV indikuje nerovnomerné praskanie naznačujúce odlupovanie alebo degradáciu okrajov.
Tortuozita (τ) kvantifikuje odchýlku trhliny od priamky. Je definovaná ako pomer skutočnej dĺžky cesty trhliny k euklidovskej (priamočiarej) vzdialenosti medzi jej koncovými bodmi:
τ = L_skelet / L_euklid
kde L_skelet je celková dĺžka cesty pozdĺž skeletu (s použitím √2-korigovanej 8-smerovej vzdialenosti) a L_euklid je euklidovská vzdialenosť medzi dvoma koncovými bodmi segmentu trhliny.
Vlastnosti zahŕňajú τ ≥ 1,0 vždy (priamka má τ = 1,0), τ = 1,0–1,05 indikujúce takmer priamu trhlinu (typické pre priečne alebo pozdĺžne tepelné trhliny), τ = 1,05–1,2 indikujúce stredne kľukatú trhlinu, τ = 1,2–1,5 indikujúce vysoko tortuóznu trhlinu (typické pre sekundárne vetvy aligátorových trhlín) a τ > 1,5 indikujúce extrémne kľukatú cestu.
Pre siete trhlín s viacnásobnými vetvami sa tortuozita vypočítava na segment trhliny (medzi po sebe idúcimi spojeniami). Pre segment i s koncovými bodmi A(x₁,y₁) a B(x₂,y₂): τᵢ = L_skeletᵢ / √[(x₂ - x₁)² + (y₂ - y₁)²]. Celková tortuozita pre sieť trhlín môže byť vykázaná ako priemerná segmentová tortuozita τ_priemer = (1/N) Σᵢ τᵢ, maximálna segmentová tortuozita τ_max = max(τᵢ) alebo globálna tortuozita pomocou koncových bodov celej siete trhlín (menej zmysluplné pre rozvetvené trhliny).
Tortuozita súvisí s fraktálnou dimenziou (D_f) cesty trhliny. Pre trhlinu s fraktálnou dimenziou D_f: τ ≈ K · (L_euklid)^(D_f - 1) kde K je škálovacia konštanta. Tento vzťah sa používa v lomovej mechanike na prepojenie tortuozity trhliny s materiálovými vlastnosťami, ako je prepojenie kameniva a lomová energia. Z výskumu Purdue University o tortuozite trhlín v betóne tortuozita priamo koreluje s priepustnosťou tekutiny cez sieť trhlín — vyššia tortuozita vedie k zníženej efektívnej prietokovej ploche a nižšej priepustnosti. Pre aplikácie na vozovkách majú trhliny s vyššou tortuozitou tendenciu zadržiavať menej vody a nečistôt, čo ovplyvňuje potenciál poškodenia mrazom a rozmrazovaním.
Skeletonizácia trhlín funguje ako krok následného spracovania v rámci väčšieho pipeline na analýzu trhlín na vozovkách. Kompletný pipeline pozostáva zo šiestich etáp. Akvizícia obrazu zachytáva snímky povrchu vozovky pomocou riadkových skenovacích kamier, DSLR kamier alebo mobilných inšpekčných vozidiel pri typických rozlíšeniach 0,5–2 mm/pixel. Predspracovanie aplikuje normalizáciu, zvýraznenie kontrastu a redukciu šumu na prípravu obrazu pre segmentáciu. Segmentácia trhlín produkuje binárnu masku oblastí trhlín pomocou modelov hlbokého učenia (U-Net, DeepLab alebo Mask R-CNN) alebo tradičných prahovacích metód. Skeletonizácia redukuje binárnu masku na stredovú čiaru širokú jeden pixel pomocou Zhang-Suen, Guo-Hall, Lee alebo MAT. Následné spracovanie aplikuje pruning skeletu na odstránenie falošných vetiev, zhlukovanie spojení na zlúčenie blízkych bodov vetvenia a analýzu spojených komponentov na oddelenie odlišných trhlín. Výpočet parametrov extrahuje dĺžku, šírku, tortuozitu, metriky vetvenia a klasifikáciu vzorov z vyčisteného skeletu.
Tok údajov spracováva binárnu masku na skelet na graf na parametre. Poznámky k integrácii hlbokého učenia uvádzajú, že moderné systémy používajú segmentačné modely trénované na anotáciách trhlín na úrovni pixelov, pričom skeletonizácia sa aplikuje na výstup modelu. Kvalita skeletu silne závisí od kvality základnej segmentácie — nadmerná segmentácia vytvára početné falošné vetvy, zatiaľ čo nedostatočná segmentácia produkuje nespojené skeleton. Spoločné tréningové prístupy, ktoré zahŕňajú straty konzistencie skeletu (skeleton-vedomá segmentácia), sú aktívnou oblasťou výskumu.
Kvantitatívne hodnotenie kvality skeletu je nevyhnutné pre validáciu výkonnosti skeletonizačných algoritmov v analýze trhlín na vozovkách. Používa sa päť primárnych metrík.
Úplnosť meria podiel oblasti trhliny reprezentovanej skeletom. Vypočítava sa ako zlomok pixelov popredia v binárnej maske, ktoré sú v rámci prahu vzdialenosti (typicky 2–5 pixelov) od pixelu skeletu. Hodnota úplnosti nad 0,95 indikuje, že skelet adekvátne zachytáva celý rozsah trhliny.
Správnosť (Presnosť) meria podiel pixelov skeletu, ktoré ležia v skutočnej oblasti trhliny. Vypočítava sa ako zlomok pixelov skeletu, ktoré sú v rámci binárnej masky (s ohľadom na malú toleranciu pre okrajové efekty). Hodnota správnosti nad 0,98 indikuje minimálnu halucinovanú štruktúru.
Skeleton IoU (Intersection over Union) kombinuje úplnosť a správnosť. Vypočítava sa dilatáciou skeletu o malý polomer (napr. 2 pixely), výpočtom prieniku s binárnou maskou a delením zjednotením. To poskytuje jediné skalárne skóre kvality typicky v rozsahu 0,85 až 0,98 pre dobre fungujúce algoritmy.
Hladkosť meria konzistenciu zakrivenia cesty skeletu. Vypočítava sa pomocou priemernej rýchlosti zmeny orientácie pozdĺž skeletu (uhlová odchýlka na pixel) alebo počtu inflexných bodov na jednotku dĺžky. Nižšie hodnoty indikujú hladšie, prirodzenejšie skeleton.
Konektivita overuje, že skelet zachováva prepojenosť pôvodnej trhliny. Meria sa počítaním počtu spojených komponentov v binárnej maske aj v skeletal. Pomer počtu komponentov (skeleton komponenty / maska komponenty) by mal byť blízky 1,0. Chyba Eulerovej charakteristiky |χ_skelet − χ_maska| meria topologickú konzistenciu.
Chyba centrovania meria, ako dobre skelet reprezentuje skutočnú mediálnu os. Vypočítava sa ako priemerná alebo RMS vzdialenosť od pixelov skeletu k skutočnej mediálnej osi (známa pre syntetické testovacie prípady) alebo k stredovej čiare obrysu (odhadovaná pre reálne obrazy).
Kompozitné skóre hodnotenia kvality možno vypočítať ako váženú kombináciu: Q = w₁Úplnosť + w₂Správnosť + w₃(1 − NormalizovanáHladkosť) + w₄Konektivita, s váhami upravenými podľa požiadaviek aplikácie.
Niekoľko softvérových knižníc implementuje skeletonizačné algoritmy vhodné pre analýzu trhlín.
OpenCV poskytuje cv2.ximgproc.thinning() v rozšírenom module spracovania obrazu. Táto funkcia implementuje varianty Zhang-Suen (predvolený) aj Guo-Hall, voliteľné pomocou parametra thinningType. Pracuje priamo na binárnych obrázkoch a vracia skelet široký jeden pixel. Funkcia používa efektívne vyhľadávacie tabuľky a je optimalizovaná pre aplikácie v reálnom čase.
scikit-image poskytuje tri skeletonizačné funkcie. skimage.morphology.skeletonize(image, method='zhang') implementuje Zhang-Suen stenčovanie. skimage.morphology.skeletonize(image, method='lee') implementuje Lee algoritmus so sekvenčným preverovaním. skimage.morphology.medial_axis(image, return_distance=True) vypočítava transformáciu mediálnej osi a voliteľne vracia hodnoty transformácie vzdialenosti pre odhad šírky. Všetky funkcie akceptujú 2-D binárne polia a vracajú binárne skeleton.
MATLAB poskytuje bwmorph(BW, 'skel', Inf) pre skeletonizáciu pomocou Zhang-Suen algoritmu s nekonečnými iteráciami, bwmorph(BW, 'branchpoints') pre detekciu spojení, bwmorph(BW, 'endpoints') pre detekciu koncových bodov a bwmorph(BW, 'spur', k) pre iteratívne odstraňovanie ostňov. MATLAB tiež poskytuje bwdist() pre transformáciu vzdialenosti používanú v prístupoch založených na MAT.
SciPy poskytuje scipy.ndimage.distance_transform_edt() pre výpočet euklidovskej transformácie vzdialenosti, ktorá sa používa so skeletonizáciou na odhad šírky pomocou metódy transformácie vzdialenosti.
| Nástroj | Funkcia | Algoritmus | Prípad použitia |
|---|---|---|---|
| OpenCV | cv2.ximgproc.thinning() | ZS (predvolený) alebo GH | Analýza trhlín v reálnom čase |
| scikit-image | skeletonize(method='zhang') | Zhang-Suen | Všeobecná skeletonizácia trhlín |
| scikit-image | skeletonize(method='lee') | Lee | Komplexné siete trhlín |
| scikit-image | medial_axis() | MAT | Analýza integrujúca šírku |
| MATLAB | bwmorph('skel', Inf) | ZS | Výskum a prototypovanie |
| MATLAB | bwmorph('branchpoints') | Detekcia spojení | Analýza vzorov |
| Fiji/ImageJ | Skeletonize3D plugin | ZS, Lee | 3-D analýza trhlín |
Fiji/ImageJ s pluginom Skeletonize3D (od Ignacia Argandu-Carrerasa) poskytuje 2-D a 3-D skeletonizáciu a je široko používaný v materiálovej vede na analýzu sietí trhlín v CT snímkach pomocou röntgenového žiarenia.
Medzinárodná organizácia civilného letectva (ICAO) poskytuje usmernenia pre kontrolu a meranie trhlín na vozovkách prostredníctvom niekoľkých kľúčových dokumentov. ICAO ALACPA/09-2012 (Údržba a správa letiskových vozoviek) špecifikuje protokoly merania trhlín vrátane merania dĺžky v metroch pomocou metódy stredovej čiary (priamo zodpovedajúcej meraniu založenému na skelete), klasifikácie šírky do úrovní závažnosti (vlásková: <3 mm, stredná: 3–6 mm, závažná: >6 mm) a klasifikácie vzorov (pozdĺžne, priečne, blokové, aligátorové, reflexné). ICAO príručka pre návrh letísk (Doc 9157, Časť 3 — Vozovky) odkazuje na ASTM D5340-12 (Štandardná skúšobná metóda pre prieskumy indexu stavu letiskových vozoviek), ktorá vyžaduje výpočty hustoty trhlín (celková dĺžka trhlín na jednotku plochy) a hodnotenia závažnosti trhlín na základe šírky a vzoru.
Príručka poškodení FAA PAVER definuje typy trhlín so špecifickými kódmi: pozdĺžna (L), priečna (T), bloková (B), aligátorová/únavová (A), reflexná (R) a okrajová (E). Prahové hodnoty závažnosti sú definované pre šírku v palcoch: nízka závažnosť (vlásková až <1/4 palca), stredná závažnosť (1/4 až 1/2 palca) a vysoká závažnosť (>1/2 palca). Meracie protokoly vyžadujú zaznamenávanie dĺžky trhliny pre lineárne trhliny a plochy v štvorcových stopách pre plošné trhliny. ICAO ALACPA a FAA PAVER vyžadujú výpočet PCI pomocou hustoty trhlín (dĺžka na plochu), odpočítavacích hodnôt zo štandardizovaných kriviek a korekčných faktorov pre viacnásobné typy poškodení. Skeletonizačné algoritmy priamo vypočítavajú všetky požadované parametre: dĺžku trhliny (sekcia 4), priemernú šírku (sekcia 6), hustotu trhlín (dĺžka na jednotku plochy vozovky) a klasifikáciu vzorov (sekcia 5) pre automatizované priradenie PCI zrážok.
Pre viac informácií o implementácii skeletonizácie trhlín vo vašom pracovnom poste kontroly vozoviek kontaktujte náš tím alebo si dohodnite ukážku .
Využite pokročilú skeletonizáciu trhlín a extrakciu geometrie pre presné hodnotenie stavu vozoviek. Naše riešenia počítačového videnia integrujú analýzu dĺžky, šírky a vzorov založenú na skeletonizácii, aby poskytli presné PCI hodnotenia a odporúčania údržby. Kontaktujte nás pre ukážku našej automatizovanej inšpekčnej platformy.
Automatizované meranie šírky trhliny odvodzuje otváraciu šírku detegovaných trhlín z binárnych pixelových masiek pomocou euklidovskej transformácie vzdialenosti...
Detekcia trhlín pomocou AI využíva počítačové videnie — konvolučné neurónové siete, vision transformery a modely sémantickej segmentácie — na automatickú identi...
Sémantická segmentácia priraďuje každomu pixelu v obraze kategóriovú značku, čo umožňuje porozumenie celej scéne pre infraštruktúrnu inšpekciu. Zahŕňa architekt...