Wykrywanie pęknięć za pomocą AI w inspekcji infrastruktury

Wykrywanie pęknięć za pomocą AI w inspekcji infrastruktury

Definicja problemu i wyzwania

Wykrywanie pęknięć oparte na AI to technologia widzenia komputerowego, która wykorzystuje modele głębokiego uczenia — konwolucyjne sieci neuronowe (CNN), architektury enkoder-dekoder oraz transformery wizyjne — do automatycznej identyfikacji, klasyfikacji, segmentacji i pomiaru pęknięć na nawierzchniach dróg, pasów startowych, pomostów mostów i betonowych powierzchniach konstrukcyjnych z obrazów cyfrowych. Technologia zastępuje lub uzupełnia ręczną inspekcję wizualną przeprowadzaną przez inżynierów, przekształcając subiektywne, pracochłonne przeglądy w obiektywne, skalowalne oceny oparte na danych. Dla operatorów lotnisk i infrastruktury cywilnej, zautomatyzowane wykrywanie pęknięć bezpośrednio wspiera ocenę Wskaźnika Stanu Nawierzchni (PCI) zgodnie z ASTM D5340-12, raportowanie Kodu Stanu Pasa Startowego (RwyCC) zgodnie z Załącznikiem 14 ICAO oraz planowanie konserwacji zapobiegawczej.

Lotniczy widok z drona nawierzchni pasa startowego z widocznymi pęknięciami, nakładka analizy widzenia komputerowego AI podkreślająca wykryte wzory pęknięć

Problem wykrywania pęknięć stwarza unikalne wyzwania, które odróżniają go od ogólnych zadań segmentacji semantycznej. Pęknięcia to cienkie, wydłużone struktury — typowo o szerokości od 0,1 mm do 5 mm — które zajmują tylko 2–8% wszystkich pikseli na danym obrazie, tworząc skrajną nierównowagę klas podczas trenowania modelu. Stosunek pierwszego planu do tła dla pikseli pęknięć wynosi około 1:20 do 1:50, co oznacza, że naiwny klasyfikator przewidujący wszystkie piksele jako tło osiąga 95%+ dokładności, nie wykrywając żadnych pęknięć. Morfologia pęknięć jest niezwykle zróżnicowana: pęknięcia podłużne biegną równolegle do osi nawierzchni, pęknięcia poprzeczne biegną prostopadle, pęknięcia siatkowe (zmęczeniowe) tworzą połączone wzory wielokątne, a pęknienia odbite propagują się przez nakładki z połączeń podłoża. Każdy typ wymaga innej charakterystyki geometrycznej.

Zmienność oświetlenia i warunków środowiskowych dodatkowo komplikuje wykrywanie. Cienie rzucane przez konstrukcje i zwisającą roślinność tworzą obszary o niskim kontraście, gdzie pęknięcia stają się prawie niewidoczne. Mokra nawierzchnia zmniejsza kontrast temperaturowy powierzchni dla metod termicznych i zmienia odbicie w widmie widzialnym. Plamy oleju, ślady opon, osady gumy, spoiny konstrukcyjne, zmiany tekstury powierzchni (żłobkowanie, rowkowanie, wykończenie szczotkowane) oraz zanieczyszczenia tworzą fałszywie pozytywne cechy, które wizualnie przypominają pęknięcia. Badanie z 2025 roku opublikowane w Scientific Reports (artykuł EGA-UNet, Vol. 15, Art. 33818) wykazało, że dokładność wykrywania pęknięć na złożonych tłach spada o 10–20% w porównaniu z czystymi, jednolitymi powierzchniami, nawet przy użyciu najnowocześniejszych mechanizmów uwagi.

Ograniczenia skali i rozdzielczości narzucają fundamentalny kompromis. Obrazowanie w wysokiej rozdzielczości (submilimetrowa odległość próbkowania w terenie na piksel) wychwytuje drobne pęknięcia, ale wymaga dużej pamięci masowej, przepustowości i czasu przetwarzania. Obrazowanie w niższej rozdzielczości pokrywa większy obszar na lot lub przejazd, ale traci pęknięcia węższe niż 2–3 piksele. W przypadku inspekcji pasa startowego z drona na wysokości 15 m z kamerą 24 MP typowa odległość próbkowania w terenie wynosi 1,0–1,5 mm/piksel, co oznacza, że pęknięcia poniżej 0,3 mm szerokości spadają poniżej progu wykrywalności. To ograniczenie rozdzielczości jest twardym fizycznym ograniczeniem, którego żaden model AI nie może pokonać — określa ono minimalną wykrywalną szerokość pęknięcia dla danej platformy obrazowania i wysokości.

Architektury modeli do wykrywania pęknięć

U-Net

U-Net, wprowadzony przez Ronnebergera, Fischera i Broxa na Uniwersytecie we Fryburgu w 2015 roku, pozostaje najczęściej stosowaną architekturą do segmentacji pęknięć na poziomie pikseli. Symetryczna struktura enkoder-dekoder z połączeniami pomijającymi jest szczególnie dobrze dostosowana do wykrywania pęknięć, ponieważ pęknięcia są cienkimi, zlokalizowanymi przestrzennie cechami, które wymagają zachowania szczegółów wysokiej częstotliwości w całym potoku próbkowania w dół i w górę.

Enkoder U-Net (ścieżka kurcząca) składa się z czterech bloków próbkowania w dół. Każdy blok zawiera dwie konwolucje 3×3 (padding=same), po których następuje aktywacja ReLU i operacja max pooling 2×2 (krok=2). Liczba filtrów podwaja się na każdym poziomie: 64 → 128 → 256 → 512 → 1024 w wąskim gardle. Dla wejścia 512×512 pikseli, wymiary przestrzenne zmniejszają się przez enkoder: 512 → 256 → 128 → 64 → 32 w najgłębszej warstwie. Warstwa wąskiego gardła na dole kształtu U zawiera 1024 mapy cech w rozdzielczości 32×32, reprezentujące najbardziej abstrakcyjne, bogate semantycznie cechy.

Dekoder (ścieżka rozszerzająca) odzwierciedla enkoder z czterema blokami próbkowania w górę. Każdy blok stosuje transponowaną konwolucję 2×2 (dekonwolucję), która zmniejsza liczbę filtrów o połowę i podwaja wymiary przestrzenne. Próbkowana w górę mapa cech jest konkatenowana z odpowiadającą jej mapą cech ze ścieżki enkodera za pomocą połączeń pomijających — na przykład warstwa dekodera 128×128 otrzymuje bezpośrednią konkatenację z warstwy enkodera 128×128. Ten mechanizm połączeń pomijających jest krytyczny: dostarcza dekoderowi szczegółów przestrzennych w wysokiej rozdzielczości z enkodera, które w przeciwnym razie zostałyby utracone podczas agresywnego próbkowania w dół. Po konkatenacji dwie konwolucje 3×3 z ReLU udoskonalają połączone cechy.

Ostateczna warstwa wyjściowa to konwolucja 1×1 z aktywacją sigmoidalną, produkująca jednowymiarową mapę prawdopodobieństwa, gdzie każda wartość piksela (0 do 1) reprezentuje prawdopodobieństwo, że dany piksel należy do obszaru pęknięcia. Próg (zazwyczaj 0,5) konwertuje prawdopodobieństwa na binarną segmentację pęknięcie/brak pęknięcia.

Oryginalny U-Net zawiera ~31 milionów parametrów i 23 warstwy konwolucyjne. Dla wejścia 512×512 prędkość wnioskowania wynosi około 40 ms na obraz na nowoczesnym GPU (NVIDIA RTX 3080 lub odpowiednik). Lekkie warianty, takie jak ResU-Net (używające połączeń rezydualnych zamiast zwykłych konwolucji), redukują liczbę parametrów do ~7,8 miliona, osiągając 68,47% średniego IoU na zbiorach danych pęknięć. EGA-UNet dalej redukuje do ~2,3 miliona parametrów, jednocześnie poprawiając Dice do 73,1% dzięki ghost konwolucjom i mieszaniu tokenów opartemu na transformacie Fouriera.

Połączenia pomijające U-Net są architektonicznie niezbędne do wykrywania pęknięć. Bez nich cienkie pęknięcia (1–5 pikseli szerokości) zostałyby całkowicie utracone podczas 4-krotnego próbkowania w dół (32-krotna redukcja w wąskim gardle) — pęknięcie o szerokości 3 pikseli na wejściu staje się cechą subpikselową w wąskim gardle, której nie można odzyskać samym próbkowaniem w górę. Połączenia pomijające całkowicie omijają to wąskie gardło informacyjne, dostarczając dekoderowi pełną geometrię pęknięcia w pełnej rozdzielczości z enkodera.

DeepLabV3+

DeepLabV3+, opracowany przez Chena i in. w Google w 2018 roku, rozwiązuje problem wykrywania pęknięć poprzez konwolucje atrous (dylatowane) oraz moduł Atrous Spatial Pyramid Pooling (ASPP). W przeciwieństwie do U-Net, który agresywnie próbkuje w dół i odzyskuje dane przez połączenia pomijające, DeepLab utrzymuje mapy cech o wyższej rozdzielczości w całym szkielecie, używając dylatowanych konwolucji, które rozszerzają pole recepcyjne bez zmniejszania wymiarów przestrzennych.

Szkielet to zazwyczaj ResNet-101 (101 warstw, ~42,6 miliona parametrów) lub Xception-65 (~54,7 miliona parametrów). Standardowe konwolucje w szkielecie są zastępowane konwolucjami atrous — jądrami 3×3 z współczynnikami dylatacji (dziurami) wstawionymi między elementy jądra. Jądro 3×3 ze współczynnikiem dylatacji r=2 pokrywa pole recepcyjne 5×5; r=4 pokrywa 9×9; r=8 pokrywa 17×17; a r=16 pokrywa 33×33 — wszystkie z tą samą liczbą parametrów (9 wag) co standardowa konwolucja 3×3. Ta właściwość jest kluczowa dla wykrywania pęknięć: umożliwia modelowi widzenie większego kontekstu wokół każdego piksela (odróżnianie pęknięć od tekstury powierzchni) bez utraty rozdzielczości, która wystąpiłaby przy próbkowaniu w dół.

Moduł ASPP stosuje cztery równoległe gałęzie konwolucji atrous ze współczynnikami dylatacji r=6, 12, 18 i 24 (dla kroku wyjściowego=16), każda z 256 filtrami i jądrami 3×3. Dodatkowa gałąź konwolucji 1×1 i gałąź uśredniania na poziomie obrazu (globalne uśrednianie → konwolucja 1×1 → próbkowanie dwuliniowe w górę) uzupełniają moduł. Wszystkie pięć gałęzi produkuje mapy cech o 256 kanałach, które są konkatenowane i przepuszczane przez kolejną konwolucję 1×1. Wieloskalowa zdolność modułu ASPP jest szczególnie ważna dla pęknięć, które znacznie różnią się szerokością — włoskowate pęknięcie (<1 mm) i szerokie pęknięcie (>6 mm) wymagają różnych rozmiarów pola recepcyjnego dla optymalnego wykrywania.

Dekoder DeepLabV3+ jest lekki w porównaniu do pełnego dekodera U-Net: dwuliniowe próbkowanie w górę 4×, konkatenacja z niskopoziomowymi cechami z wczesnej warstwy szkieletu (zredukowane do 48 kanałów przez konwolucję 1×1), dwie konwolucje 3×3 (256 filtrów) i końcowe dwuliniowe próbkowanie w górę 4× do oryginalnej rozdzielczości. Krok wyjściowy wynosi zazwyczaj 16 (rozdzielczość wejściowa podzielona przez 16 w wąskim gardle), czasami 8 dla gęstszych map cech kosztem 2× większego użycia pamięci.

DeepLabV3+ osiąga około 78,5% mIoU na zbiorach danych pęknięć. Jednak badanie EGA-UNet (2025) wykazało, że DeepLabV3+ osiąga gorsze wyniki niż lekkie architektury, takie jak EGA-UNet (73,1% Dice vs. niższe dla DeepLabV3+) z powodu niewystarczającego zachowania drobnych szczegółów na granicach pęknięć. Dylatacje modułu ASPP, choć skuteczne dla kontekstu wieloskalowego, rozmywają drobne szczegóły przestrzenne, które są niezbędne do dokładnego pomiaru szerokości pęknięć.

Vision Transformery (ViT)

Vision Transformery (ViT) , wprowadzone przez Dosovitskiy’ego i in. w Google w 2020 roku, stosują architekturę Transformer z mechanizmem self-attention — pierwotnie opracowaną do przetwarzania języka naturalnego — do analizy obrazu. ViT dzieli obraz wejściowy na niezachodzące na siebie łatki (patch) o rozmiarze P×P (zazwyczaj 16×16 pikseli), linearyzuje każdą łatkę do wektora i przetwarza sekwencję osadzeń łatek przez standardowe warstwy enkodera Transformer z wielogłowicowym self-attention.

Dla wejścia 224×224 z łatkami 16×16, ViT produkuje (224/16)² = 196 osadzeń łatek. Każda łatka o wymiarach 16×16×3 (RGB) jest spłaszczana do 768-wymiarowego wektora i liniowo rzutowana do wymiaru osadzenia D. Enkoder Transformer składa się z L ułożonych warstw. ViT-Base używa L=12, D=768 i 12 głowic uwagi (86 mln parametrów). ViT-Large używa L=24, D=1024 i 16 głowic (307 mln parametrów). ViT-Huge używa L=32, D=1280 i 16 głowic (632 mln parametrów). Złożoność self-attention skaluje się jako O(n²·D), gdzie n to liczba łatek — 196 łatek z D=768 wymaga około 28 milionów operacji na głowicę na warstwę.

Do segmentacji pęknięć ViT jest używany jako szkielet w hybrydowych architekturach enkoder-dekoder. TransUNet zastępuje enkoder U-Net modelem ViT, łącząc globalny kontekst Transformatorem z dekoderem CNN do odzyskiwania drobnych szczegółów. SwinUNet używa hierarchicznego Swin Transformera z przesuniętymi oknami, aby zmniejszyć koszt obliczeniowy O(n²). SETR (SEgmentation TRansformer) stosuje ViT bezpośrednio jako enkoder z progresywnym próbkowaniem w górę.

Zaleta ViT w wykrywaniu pęknięć leży w jego globalnym polu recepcyjnym. CNN przetwarzają informacje lokalnie, wymagając wielu warstw do propagowania informacji na dużych odległościach przestrzennych. Mechanizm self-attention ViT łączy każdą łatkę z każdą inną łatką w jednej warstwie, umożliwiając wykrywanie długich, ciągłych pęknięć, które rozciągają się na setki lub tysiące pikseli — na przykład pęknięć zmęczeniowych wijących się przez całą szerokość pasa startowego. Hybrydowe modele ViT-CNN osiągają 74–78% IoU na zbiorach danych pęknięć, przy czym TransUNet wykazuje szczególną skuteczność w przypadku wzorów pęknięć siatkowych (połączonych).

Krytycznym ograniczeniem jest koszt obliczeniowy. Obraz 512×512 podzielony na łatki 16×16 produkuje (512/16)² = 1024 łatki, wymagając 1024² ≈ 1 miliona obliczeń uwagi na warstwę — o rząd wielkości więcej niż 196 łatek dla wejść 224×224. To sprawia, że pełne wdrożenie ViT na urządzeniach brzegowych (drony, mobilne pojazdy inspekcyjne) jest niepraktyczne bez znacznej kompresji lub przycinania.

DINOv3

DINOv3, wydany przez Meta AI w 2025 roku, reprezentuje najnowocześniejsze osiągnięcie w samonadzorowanych Transformerach Wizyjnych. Jest to trzecia generacja rodziny DINO (DIstillation with NO labels), trenowana w niespotykanej dotąd skali: do 7 miliardów parametrów na 1,7 miliarda nieoznakowanych obrazów. DINOv3 wykorzystuje strukturę nauczyciel-uczeń, w której uczeń uczy się dopasowywać reprezentacje wyjściowe nauczyciela bez żadnych danych oznakowanych przez człowieka.

Kluczową innowacją architektoniczną w DINOv3 jest Gram Anchoring — technika regularyzacji stosowana po około 1 milionie iteracji treningowych, która stabilizuje gęste reprezentacje cech (na poziomie łatek). Macierz Grama modelu ucznia (podobieństwo par łatek, wymiary N×N, gdzie N=liczba łatek) jest ograniczona, aby pozostawać blisko zamrożonej kopii “Gram nauczyciela”. Zapobiega to załamaniu gęstych cech, czyli trybowi awarii w uczeniu samonadzorowanym, w którym różne łatki obrazu zbiegają się do podobnych osadzeń, mimo że są semantycznie różne. Wcześniejsze warianty DINO (v1 i v2) cierpiały na to załamanie podczas dłuższego trenowania; Gram Anchoring umożliwia stabilne trenowanie na miliardach obrazów.

Dla wykrywania pęknięć znaczenie DINOv3 leży w paradygmacie zamrożonego szkieletu. Wstępnie wytrenowany szkielet ViT (dostępny w rozmiarach od ViT-Small z 21 mln parametrów do ViT-Huge z 632 mln i flagowego modelu 7 mld) jest zamrażany i używany jako uniwersalny enkoder wizualny. Lekkie głowice specyficzne dla zadania — sondy liniowe, adaptery MLP lub małe głowice konwolucyjne — są trenowane na wierzchu bez wstecznej propagacji przez szkielet. Umożliwia to:

  • Wykrywanie pęknięć z kilkoma przykładami: Sonda liniowa trenowana na zaledwie 50 oznakowanych obrazach pęknięć osiąga dokładność segmentacji porównywalną z w pełni nadzorowanym CNN trenowanym na 500+ obrazach.
  • Transfer między domenami: Cechy wyuczone z obrazów naturalnych (dane na poziomie ImageNet) przenoszą się na obrazy pęknięć nawierzchni bez wstępnego trenowania specyficznego dla domeny.
  • Wdrożenie wielozadaniowe: Pojedynczy zamrożony szkielet obsługuje jednocześnie wykrywanie pęknięć, wykrywanie dziur, ocenę uszczelnień spoin i ocenę oznakowania nawierzchni za pomocą różnych lekkich głowic.

Cechy DINOv3 na poziomie łatek (a nie globalne osadzenia obrazu) zachowują drobnoziarniste informacje przestrzenne potrzebne do wyznaczania cienkich pęknięć. Wariant ViT-Base (86 mln parametrów, 12 warstw, 768-wymiarowe osadzenie) zapewnia najlepszy stosunek dokładności do mocy obliczeniowej dla zastosowań inspekcji infrastruktury. DINOv3 jest szczególnie obiecujący dla programów inspekcji pasów startowych, gdzie oznakowane dane o pęknięciach są rzadkie — co jest częstym scenariuszem dla mniejszych lotnisk bez rozbudowanej historii zarządzania nawierzchniami.

CrackNet

CrackNet, opracowany przez Zhanga i in. w 2017 roku na University of South Florida, był jedną z pierwszych głębokich architektur CNN zaprojektowanych specjalnie i wyłącznie do zautomatyzowanego wykrywania pęknięć nawierzchni. W przeciwieństwie do architektur ogólnego przeznaczenia (U-Net, DeepLab) zaadaptowanych z biomedycznej lub naturalnej segmentacji obrazów, CrackNet został zbudowany od podstaw pod kątem morfologii pęknięć nawierzchni.

Oryginalna architektura CrackNet składa się z 6 warstw konwolucyjnych z w pełni połączoną górą: Conv1 (5×5, krok=1, 64 filtry) → Conv2 (5×5, krok=1, 64 filtry) → MaxPool (2×2) → Conv3 (3×3, krok=1, 128 filtrów) → Conv4 (3×3, krok=1, 128 filtrów) → MaxPool (2×2) → Conv5 (5×5, krok=1, 256 filtrów) → Conv6 (3×3, krok=1, 256 filtrów) → W pełni połączona (2048 jednostek) → wyjście Softmax (2 klasy: pęknięcie lub brak pęknięcia). Łączna liczba parametrów wynosi ~1,4 miliona — około 22× mniej niż U-Net (31 mln) i 35× mniej niż DeepLabV3+ (42–55 mln).

CrackNet operuje na łatkach o stałym rozmiarze 64×64 pikseli zamiast na pełnych obrazach. Zbiór danych treningowych obejmował 640 000 łatek wyodrębnionych z 1800 obrazów nawierzchni (160 000 do walidacji, 180 000 do testowania). Każda łatka jest klasyfikowana jako zawierająca pęknięcie w centralnym pikselu lub nie — jest to podejście klasyfikacji opartej na łatkach, a nie segmentacji na poziomie pikseli. Nowoczesne warianty (CrackNet-V, CrackNet-II, CrackNet-R) zastąpiły klasyfikator łatek w pełni konwolucyjnymi sieciami do gęstej predykcji na poziomie pikseli.

CrackNet-V (ulepszony wariant z 2020 roku) dodał trenowanie oparte na Generative Adversarial Network (GAN). Generator produkuje mapy segmentacji pęknięć z obrazów wejściowych, a sieć dyskryminatora odróżnia wygenerowane mapy od rzeczywistych adnotacji. Ten adversarialny reżim trenowania poprawił F1-score do 0,87 na zbiorze danych CFD. CrackNet-V wprowadził także wieloskalową fuzję cech z modułami typu inception, umożliwiając wykrywanie pęknięć o różnej szerokości.

Znaczenie CrackNet leży w wydajności architektonicznej dla wdrożenia brzegowego. Przy 1,4 mln parametrów i 5 ms na łatkę, pokazał, że projekt architektury specyficznej dla pęknięć może osiągnąć dokładność klasy produkcyjnej na sprzęcie dostępnym w 2017 roku — pojedynczy GPU NVIDIA Tesla K80 mógł przetworzyć pełny obraz nawierzchni (zszyty z łatek) w niecałe 2 sekundy. To potwierdziło wykonalność automatycznego wykrywania pęknięć w czasie rzeczywistym dla pojazdów pomiarowych poruszających się z prędkością autostradową.

EGA-UNet (2025)

EGA-UNet, opublikowany przez Yanga i in. w Scientific Reports (Vol. 15, Art. 33818, 2025), reprezentuje obecny stan wiedzy w dziedzinie wydajnej segmentacji pęknięć. Architektura osiąga 73,1% współczynnika Dice przy zaledwie ~2,3 miliona parametrów — około 13× mniej niż standardowy U-Net, przy jednoczesnej poprawie dokładności o +3,1% Dice w porównaniu do U-Net, +11,9% w porównaniu do SegNet i +44,9% w porównaniu do PSPNet na standardowych zbiorach danych pęknięć.

Trzy innowacje architektoniczne wyróżniają EGA-UNet:

EG-Block (Efficient Ghost Sparse Convolution Block): Ten blok konstrukcyjny wykorzystuje “ghost” konwolucję — technikę, która generuje małą liczbę wewnętrznych map cech za pomocą standardowej konwolucji, a następnie stosuje tańsze operacje liniowe (konwolucje depthwise 3×3) do wytworzenia dodatkowych “ghost” map cech. Dla pożądanej liczby C kanałów wyjściowych, ghost konwolucja generuje około C/2 przez standardową konwolucję i C/2 przez operacje liniowe, redukując obliczenia o około 50% w porównaniu do standardowej konwolucji przy równoważnych kanałach wyjściowych. EG-Block zawiera moduł Efficient Multi-scale Attention (EMA), który waży cechy w wielu skalach przestrzennych.

A-RepViT Block: Zastępuje standardowy mikser tokenów Vision Transformer Adaptive Fourier Filtering (AFF) . Wejściowa mapa cech jest przekształcana do dziedziny częstotliwości za pomocą szybkiej transformaty Fouriera (FFT), składowe częstotliwości są adaptacyjnie filtrowane (dolnoprzepustowo, górnoprzepustowo lub pasmowo w zależności od wyuczonych wag), a odwrotna FFT rekonstruuje przestrzenną mapę cech. AFF przechwytuje globalny kontekst ze złożonością O(n log n) w porównaniu do O(n²) dla self-attention — dla mapy cech 32×32 (1024 elementy) redukuje to obliczenia z ~1 mln operacji do ~10 tys. operacji na warstwę.

SPPF (Spatial Pyramid Pooling Fast): Stosowany w najgłębszej warstwie enkodera, SPPF agreguje wieloskalowe cechy za pomocą trzech sekwencyjnych operacji max-poolingu o różnych rozmiarach jąder (pola recepcyjne 5×5, 9×9, 13×13), konkatenowanych w ujednoliconą wieloskalową reprezentację. Jest to wydajne obliczeniowo w porównaniu do równoległego ASPP (stosowanego w DeepLab), ponieważ sekwencyjne pulowanie ponownie wykorzystuje wyniki pośrednie.

Szybkość wnioskowania EGA-UNet jest wystarczająca do wdrożenia brzegowego w czasie rzeczywistym. Na NVIDIA Jetson Orin Nano Super model osiąga około 45–55 FPS przy precyzji FP16 na wejściach 512×512, co czyni go odpowiednim do wykrywania pęknięć w czasie rzeczywistym z drona lub pojazdu. Lekka konstrukcja umożliwia wdrożenie na platformach bez dedykowanych GPU — wnioskowanie przy 8–12 FPS na Raspberry Pi 5 z akceleratorem Hailo-8L NPU (13 TOPS) zostało zademonstrowane.

Porównanie architektur

ArchitekturaParametryZasada projektowaniaKluczowa innowacjaDice/IoU pęknięćWdrożenie brzegowe
U-Net (2015)~31 mlnEnkoder-dekoder, połączenia pomijająceZachowanie szczegółów przestrzennych65–68% IoUPo kwantyzacji
ResU-Net~7,8 mlnRezydualne połączenia pomijającePoprawa przepływu gradientu68,5% IoUTak
DeepLabV3+ (2018)~42–55 mlnKonwolucja atrous, ASPPKontekst wieloskalowy~75% IoUNie
ViT-Base (2020)86 mlnSelf-attention na łatkachGlobalne pole recepcyjne74–78% IoUNie
DINOv3 (2025)21 mln–7 mldSamonadzorowany, zamrożony szkieletTransfer z kilkoma przykładamiPorównywalny nadzorowanyZ głowicą adaptera
CrackNet (2017)~1,4 mlnCNN oparty na łatkachProjekt specyficzny dla nawierzchni~87% F1 (łatka)Tak
EGA-UNet (2025)~2,3 mlnGhost conv + AFF token mixingLekkość + globalny kontekst73,1% DiceTak

Zbiory danych treningowych do wykrywania pęknięć

Trenowanie modeli wykrywania pęknięć wymaga zestawów danych z adnotacjami na poziomie pikseli, gdzie każdy obraz ma odpowiadającą mu binarną maskę oznaczającą każdy piksel jako pęknięcie (biały, wartość 1) lub brak pęknięcia (czarny, wartość 0). Proces adnotacji jest pracochłonny — pojedynczy obraz 2000×1500 pikseli wymaga 15–45 minut ręcznego oznaczania przez eksperta przy użyciu narzędzi do rysowania polilinii, a następnie morfologicznej dylatacji w celu uzyskania masek pęknięć o pełnej szerokości. Poniższe zbiory danych stanowią standardowe benchmarki dla badań akademickich i rozwoju modeli.

Crack500

Crack500, opublikowany przez Yanga i in. w 2020 roku, zawiera 500 obrazów RGB w rozdzielczości 2000×1500 pikseli (3 megapiksele na obraz). Obrazy zostały wykonane kamerami telefonów komórkowych na nawierzchniach wokół Temple University w Filadelfii, USA. Każdy obraz ma odpowiadającą mu binarną maskę segmentacji na poziomie pikseli, oznaczoną ręcznie przy użyciu narzędzi do rysowania polilinii. Naukowcy często dzielą 500 obrazów na około 1896 niezachodzących na siebie łatek 512×512 do trenowania modeli. Standardowy podział przydziela 350 obrazów do trenowania, 50 do walidacji i 100 do testowania. Piksele pęknięć stanowią około 2–5% wszystkich pikseli na obraz. Szerokość pęknięć waha się od 0,1 mm do 5 mm, a obrazy obejmują wiele warunków oświetleniowych (słonecznie, pochmurno, zacienione). Rodzaje pęknięć obejmują wzory podłużne, poprzeczne i siatkowe.

DeepCrack

DeepCrack, opublikowany przez Liu i in. w Neurocomputing (2019), zawiera 537 obrazów RGB w rozdzielczości 544×384 pikseli. Obrazy zostały wykonane z różnych powierzchni betonowych i asfaltowych — mostów, dróg, tuneli i ścian budynków — zapewniając pokrycie wieloobrazowe nietypowe w jednoźródłowych zbiorach danych nawierzchni. Każdy obraz ma binarne adnotacje na poziomie pikseli jako maski PNG. Zbiór danych jest wstępnie podzielony na około 300 obrazów treningowych i 237 testowych. DeepCrack został stworzony specjalnie do oceny architektury Holistically-Nested Edge Detection (HED) zaadaptowanej do wykrywania pęknięć. Zbiór danych obejmuje trudne warunki: niski kontrast między pęknięciami a tłem, cienkie pęknięcia (1–3 piksele szerokości) oraz teksturowane tła powierzchni. Pęknięcia są kategoryzowane według szerokości, a nie typu strukturalnego.

CrackForest Dataset (CFD)

CFD, opublikowany przez Shi i in. w IEEE Transactions on Intelligent Transportation Systems (2016), zawiera 118 obrazów w rozdzielczości 480×320 pikseli. Obrazy zostały wykonane za pomocą iPhone’a 5 na drogach miejskich w Pekinie, Chiny. Każdy obraz zawiera ręcznie wykonane maski prawdy podstawowej na poziomie pikseli, a także folder “seg” z segmentacjami opartymi na superpikselach. Zbiór danych został zaprojektowany tak, aby odzwierciedlał ogólne warunki miejskich nawierzchni drogowych i obejmuje czynniki zakłócające: cienie drzew i budynków, plamy oleju, kałuże wody oraz pokrycie liśćmi. Piksele pęknięć stanowią około 4–8% każdego obrazu. Niska rozdzielczość 480×320 sprawia, że wykrywanie cienkich pęknięć jest trudne — pęknięcia mogą mieć szerokość zaledwie 1–2 pikseli. CFD jest licencjonowany wyłącznie do niekomercyjnych celów badawczych z wymogiem cytowania. Jego głównym ograniczeniem jest mały rozmiar (118 obrazów), pojedynczy obszar geograficzny i pojedyncza kamera.

GAPs384

GAPs384 (German Asphalt Pavement Distress dataset) , z Ilmenau University of Technology w Niemczech, zawiera 1969 obrazów w rozdzielczości 1920×1080 pikseli (Full HD). Jest to największy jednoźródłowy publiczny zbiór danych pęknięć pod względem liczby obrazów. Obrazy są w skali szarości (nie RGB), co zmniejsza rozmiar pliku, ale eliminuje informacje o kolorze, które mogą pomóc w rozróżnianiu pęknięć. Adnotacje obejmują klasyfikację typu pęknięcia (podłużne, poprzeczne, siatkowe) oprócz masek pęknięć na poziomie pikseli. Wysoka rozdzielczość i jednolite warunki pozyskiwania (niemiecka sieć autostrad) sprawiają, że GAPs384 jest cenny do trenowania modeli przeznaczonych dla europejskich warunków nawierzchniowych. Zbiór danych obejmuje szerszy zakres stopni uszkodzeń niż CFD czy Crack500.

NHA12D

NHA12D, opublikowany przez Huanga i in. (2022), zawiera 80 obrazów nawierzchni zebranych z brytyjskiej sieci autostrad A12 przez National Highways (dawniej Highways England). Zbiór danych unikalnie obejmuje 40 obrazów nawierzchni betonowej i 40 obrazów nawierzchni asfaltowej wykonanych w identycznych warunkach pomiarowych przez cyfrowe pojazdy pomiarowe. Ta dwupowierzchniowa kompozycja sprawia, że NHA12D jest cenny do oceny generalizacji między domenami — zdolności modelu do wykrywania pęknięć na obu typach powierzchni bez degradacji. Dostarczane są adnotacje prawdy podstawowej na poziomie pikseli. Niewielki rozmiar (80 obrazów) sprawia, że NHA12D jest przede wszystkim zbiorem benchmarkowym, a nie zasobem treningowym.

Zbiór danychObrazyRozdzielczość% pęknięć/obrazŹródłoRok
Crack5005002000×15002–5%Drogi w Filadelfii2020
DeepCrack537544×384zmiennyWieloobrazowe2019
CFD118480×3204–8%Drogi w Pekinie2016
GAPs38419691920×1080zmiennyNiemieckie autostrady2020
NHA12D80Wysoka rozdz.zmiennyBrytyjska autostrada A122022
CrackTree200206800×600zmiennyNawierzchnia (trudne)2012

Nierównowaga klas i funkcje strat

Wszystkie zbiory danych pęknięć wykazują poważną nierównowagę klas: piksele pęknięć stanowią 2–8% wszystkich pikseli, co oznacza, że modele muszą uczyć się ze średnio 500–2000 pikseli pęknięć na obraz zawierający 25 000 pikseli (rozdzielczość CFD 480×320). Standardowa entropia krzyżowa jest nieskuteczna — model minimalizuje stratę, przewidując “tło” dla każdego piksela. Specjalistyczne funkcje strat rozwiązują ten problem:

Focal Loss (Lin i in., 2017) stosuje czynnik modulujący (1 − pt)γ do straty entropii krzyżowej, gdzie pt to przewidywane przez model prawdopodobieństwo dla klasy prawdziwej, a γ to parametr skupiający (zazwyczaj 2,0). Zmniejsza to wagę dobrze sklasyfikowanych przykładów (pt → 1,0) i zwiększa wagę trudnych, błędnie sklasyfikowanych przykładów (pt → 0,0). Dla wykrywania pęknięć z γ=2,0, focal loss redukuje udział łatwych pikseli tła około 4× w porównaniu do entropii krzyżowej.

Dice Loss (Milletari i in., 2016) = 1 − współczynnik Dice = 1 − (2TP + ε)/(2TP + FP + FN + ε). To bezpośrednio optymalizuje metrykę ewaluacyjną. Dice loss jest mniej wrażliwy na nierównowagę klas niż entropia krzyżowa, ponieważ mierzy nakładanie, a nie dokładność na piksel. Jest to standardowa funkcja straty dla segmentacji pęknięć opartej na U-Net.

Tversky Loss (Salehi i in., 2017) uogólnia Dice loss, różnie ważąc fałszywie pozytywne i fałszywie negatywne wyniki: Indeks Tversky’ego = TP/(TP + α·FP + β·FN). Dla krytycznych dla bezpieczeństwa zastosowań wykrywania pęknięć, gdzie fałszywie negatywne wyniki (przeoczone pęknięcia) są bardziej niebezpieczne niż fałszywie pozytywne (fałszywe alarmy), ustawienie α=0,3 i β=0,7 karze FN bardziej niż FP.

SupContrast (Supervised Contrastive Loss) , istotny dla podejść opartych na DINOv3, przyciąga osadzenia łat pikseli pęknięć w przestrzeni osadzeń, jednocześnie odpychając je od osadzeń pikseli tła. Tworzy to dobrze ustrukturyzowaną przestrzeń osadzeń, w której piksele pęknięć tworzą zwarte klastry liniowo separowalne od klastrów tła.

Klasyfikacja pęknięć a segmentacja

Podejścia do wykrywania pęknięć oparte na AI dzielą się na dwie kategorie metodologiczne: oparte na klasyfikacji i oparte na segmentacji, każda z odrębnymi wynikami, metrykami i przypadkami użycia.

Klasyfikacja pęknięć określa, czy obszar obrazu (łatka obrazu, kafelek lub pełny obraz) zawiera pęknięcie. Wynikiem jest etykieta binarna (pęknięcie obecne / pęknięcie nieobecne) lub etykieta wieloklasowa (typ pęknięcia: podłużne, poprzeczne, siatkowe). Modele klasyfikacyjne to zazwyczaj lekkie CNN (CrackNet z 1,4 mln parametrów, MobileNetV2 z 3,5 mln parametrów) trenowane na zestawach danych na poziomie łatek. Wynik dostarcza prawdopodobieństwo obecności pęknięcia i lokalizację (która łatka zawiera pęknięcie), ale nie dostarcza geometrii pęknięcia — szerokości, długości, orientacji ani topologii. Klasyfikacja jest odpowiednia do szybkich badań przesiewowych, gdzie celem jest identyfikacja lokalizacji pęknięć do inspekcji uzupełniającej, a nie pomiar poszczególnych pęknięć. Ewaluacja wykorzystuje dokładność, precyzję, czułość i F1 na poziomie łatki lub obrazu.

Segmentacja pęknięć (segmentacja semantyczna) klasyfikuje każdy piksel indywidualnie jako pęknięcie lub brak pęknięcia. Wynikiem jest binarna maska w tej samej rozdzielczości co obraz wejściowy, gdzie każdy piksel ma prawdopodobieństwo pęknięcia. Zapewnia to pełną geometrię pęknięcia — szerokość w każdym punkcie wzdłuż pęknięcia, całkowitą długość, kąt orientacji, topologię rozgałęzień i powierzchnię pęknięcia. Segmentacja jest wymagana do ilościowej oceny stanu nawierzchni (obliczanie PCI, klasyfikacja stopnia uszkodzenia według szerokości pęknięcia zgodnie z normami ICAO). Ewaluacja wykorzystuje metryki na poziomie pikseli: IoU, Dice, precyzję, czułość i boundary F1. Modele segmentacji są cięższe obliczeniowo (U-Net z 31 mln parametrów, DeepLabV3+ z 42–55 mln), ale dostarczają znacznie bogatsze wyniki.

Niektóre systemy używają segmentacji instancji (wykrywanie każdego pojedynczego pęknięcia jako osobnego obiektu), która rozróżnia niepołączone pęknięcia. Jest to istotne do zliczania pęknięć (liczba pęknięć na jednostkę powierzchni) i mapowania gęstości pęknięć. Mask R-CNN i YOLOv8-seg to powszechne architektury segmentacji instancji do wykrywania pęknięć.

Metryki ewaluacyjne

Intersection over Union (IoU)

IoU (Indeks Jaccarda) mierzy nakładanie się przewidywanej segmentacji pęknięć z prawdą podstawową, podzielone przez sumę obu. Jest to najczęściej raportowana metryka dla segmentacji pęknięć:

IoU = TP / (TP + FP + FN)

Wartości wahają się od 0 (brak nakładania) do 1 (idealne nakładanie). Typowe IoU dla modeli wykrywania pęknięć mieści się w zakresie od 0,55 do 0,75. IoU jest bardziej wrażliwe niż Dice na fałszywie pozytywne i fałszywie negatywne wyniki, ponieważ mianownik sumy jest większy niż poszczególne sumy. Model przewidujący 100-pikselowe pęknięcie z 60 poprawnymi pikselami (TP=60, FP=20, FN=40) osiąga IoU = 60/(60+20+40) = 0,50. Bardziej rygorystyczny mianownik sumy oznacza, że IoU jest zawsze niższe lub równe Dice dla tej samej predykcji.

Współczynnik Dice (F1 Score)

Dice (nazywany również F1 score dla segmentacji binarnej) jest średnią harmoniczną precyzji i czułości:

Dice = 2 × TP / (2 × TP + FP + FN)

Dice jest powiązany z IoU: Dice = 2·IoU / (1 + IoU). Dla powyższego przykładu (IoU=0,50), Dice = 2×0,50/1,50 = 0,67. Typowy Dice dla wykrywania pęknięć mieści się w zakresie od 0,65 do 0,80. Artykuł EGA-UNet (2025) raportuje Dice = 73,1% jako swoją główną metrykę. Dice daje bardziej optymistyczną ocenę jakości segmentacji niż IoU, a różnica między nimi rośnie wraz ze spadkiem jakości — predykcja niskiej jakości z IoU=0,25 ma Dice=0,40.

Precyzja i czułość

Precyzja (Positive Predictive Value) = TP/(TP+FP). Mierzy wskaźnik fałszywych alarmów: ze wszystkich pikseli oznaczonych jako pęknięcie, jaka część rzeczywiście jest pęknięciem? Wysoka precyzja (>0,85) oznacza mało fałszywych alarmów. Ważne, gdy wykrycie pęknięcia uruchamia kosztowne działania następcze (np. ekipy uszczelniające wysłane do sprawdzenia oznaczonych lokalizacji).

Czułość (Sensitivity, True Positive Rate) = TP/(TP+FN). Mierzy wskaźnik przeoczonych pęknięć: ze wszystkich rzeczywistych pikseli pęknięć, jaką część model wykrył? Wysoka czułość (>0,85) oznacza mało przeoczonych pęknięć. Dla infrastruktury krytycznej dla bezpieczeństwa (inspekcja pasów startowych na komercyjnych lotniskach), czułość jest priorytetem nad precyzją — zbadanie fałszywego alarmu ma mniejsze konsekwencje niż przeoczenie prawdziwego pęknięcia, które może doprowadzić do awarii konstrukcji pod obciążeniem statku powietrznego.

Średnia precyzja średnia (mAP)

mAP ocenia precyzję przy różnych progach czułości, zazwyczaj raportowana przy progach IoU 0,50 (mAP@50) i od 0,50 do 0,95 w odstępach co 0,05 (mAP@50:95). Dla wykrywania pęknięć jako zadania wykrywania obiektów (prostokątne ramki), mAP mierzy, jak dobrze model lokalizuje obszary pęknięć. Badanie z 2025 roku na University of Central Florida używające Grounding DINO do termicznego wykrywania pęknięć osiągnęło 70% mAP@[0.5:0.95]. Dla zadań segmentacji na poziomie pikseli, IoU i Dice są preferowane nad mAP, ponieważ pęknięcia są strukturami nieprostokątnymi, a metryki ramek ograniczających słabo reprezentują jakość segmentacji.

Porównanie metryk

MetrykaWzórZakresTypowa wartość dla pęknięćZastosowanie
IoUTP/(TP+FP+FN)0–10,55–0,75Jakość segmentacji (ścisła)
Dice2TP/(2TP+FP+FN)0–10,65–0,80Jakość segmentacji (łagodna)
PrecyzjaTP/(TP+FP)0–10,80–0,95Kontrola fałszywych alarmów
CzułośćTP/(TP+FN)0–10,80–0,95Wykrywanie krytyczne dla bezpieczeństwa
F12PR/(P+R)0–10,80–0,92Ogólna
mAP@50Średnia precyzja przy IoU≥0,50–10,70–0,85Wykrywanie obiektów
Dokładność pikseli(TP+TN)/(TP+TN+FP+FN)0–1>0,95 (mylna)Niezalecana dla pęknięć

Pomiar szerokości i długości pęknięcia z segmentacji

Wynik binarna maska segmentacji z modelu AI zapewnia lokalizację i kształt pęknięcia, ale normy inspekcji infrastruktury wymagają fizycznych wymiarów pęknięcia — szerokości w milimetrach, długości w metrach i powierzchni w milimetrach kwadratowych. Konwersja masek na poziomie pikseli na pomiary inżynierskie wymaga potoku geometrii obliczeniowej.

Skeletonizacja

Skeletonizacja (cienienie) redukuje obszar pęknięcia do linii środkowej o szerokości jednego piksela, która zachowuje topologię pęknięcia (łączność, rozgałęzienia, punkty końcowe). Algorytm cienienia Zhanga-Suena (1984) jest standardową metodą:

  1. Wejście: Binarna maska pęknięcia (biały=pęknięcie, czarny=tło)
  2. Iteracyjna dwuprzebiegowa procedura:
    • Przebieg 1: Oznacz piksele graniczne do usunięcia, jeśli: (a) 2 ≤ N(P1) ≤ 6 (liczba niezerowych 8-sąsiadów); (b) S(P1) = 1 (liczba przejść 0→1 w cyklu 8-sąsiadów); (c) P2×P4×P6 = 0; (d) P4×P6×P8 = 0
    • Przebieg 2: Te same warunki z (c’) P2×P4×P8 = 0; (d’) P2×P6×P8 = 0
    • Powtarzaj, aż żaden piksel nie zmieni się w iteracji
  3. Wyjście: Szkielet linii środkowej, dokładnie 1 piksel szerokości

Medial Axis Transform (MAT) jest alternatywą wykorzystującą transformację odległości: dla każdego wewnętrznego piksela pęknięcia oblicz minimalną odległość euklidesową do granicy pęknięcia. Szkielet składa się z pikseli, które są lokalnymi maksimami w tej mapie odległości. MAT produkuje gładsze szkielety dla grubych, nieregularnych pęknięć, ale wymaga obliczeń O(n²) w porównaniu do O(n) dla cienienia Zhanga-Suena.

Transformacja odległości do pomiaru szerokości

Euklidesowa transformacja odległości (EDT) oblicza minimalną odległość euklidesową z każdego piksela szkieletu (x,y) do najbliższego piksela granicy pęknięcia:

D(x,y) = min(i,j)∈∂C √((x−i)² + (y−j)²)

gdzie ∂C to zbiór pikseli granicznych obszaru pęknięcia. Szerokość pęknięcia w punkcie (x,y) = 2 × D(x,y), ponieważ odległość od linii środkowej do granicy stanowi połowę pełnej szerokości pęknięcia.

Transformacja odległości jest obliczana wydajnie za pomocą:

  • Fast Marching Method: O(n log n) dla dokładnej odległości euklidesowej
  • Algorytm Danielssona: O(n) dla odległości 4-sąsiedzkiej
  • OpenCV cv2.distanceTransform(): O(n) dwuprzebiegowe skanowanie rasteryzacyjne dające przybliżoną odległość euklidesową z błędem <1%

Statystyki szerokości wyprowadzone z tablicy szerokości na piksel:

  • Średnia szerokość pęknięcia: średnia ze wszystkich pikseli szkieletu — używana do ogólnej klasyfikacji stopnia uszkodzenia
  • Maksymalna szerokość pęknięcia: największa pojedyncza wartość szerokości — używana do oceny stopnia uszkodzenia w najgorszym przypadku
  • Histogram szerokości: rozkład szerokości wzdłuż długości pęknięcia — wskazuje na jednorodność pęknięcia

Obliczanie długości pęknięcia

Długość pęknięcia mierzy się z zeszkieletowanej linii środkowej:

Metoda 1 — Zliczanie pikseli z korektą łączności:

  • Policz całkowitą liczbę pikseli szkieletu
  • Dostosuj dla sąsiedztwa diagonalnego: każdy krok 4-sąsiedzki (ortogonalny) = 1 piksel; każdy krok diagonalny = √2 ≈ 1,414 piksela
  • Całkowita długość L = N₀ + √2 × N₁ (gdzie N₀ = kroki 4-sąsiedzkie, N₁ = kroki diagonalne)

Metoda 2 — Kod łańcuchowy (Freeman Chain):

  • Zakoduj ścieżkę szkieletu jako sekwencję kodów kierunkowych (0=Wschód, 1=Północny wschód, 2=Północ, itd.)
  • Zsumuj długości kroków: kody parzyste (ortogonalne) = 1, kody nieparzyste (diagonalne) = √2

Metoda 3 — Odległość euklidesowa między uporządkowanymi punktami:

  • Posortuj piksele szkieletu w uporządkowaną ścieżkę za pomocą przechodzenia przez graf (wymagane dla rozgałęziających się pęknięć, gdzie wiele ścieżek odchodzi od połączeń)
  • Zsumuj odległości euklidesowe między kolejnymi posortowanymi punktami

Dla rozgałęziających się pęknięć (np. pęknięcia siatkowe w pobliżu skrzyżowań), całkowita długość pęknięcia obejmuje wszystkie gałęzie. Szkielet musi zostać rozłożony na poszczególne gałęzie w punktach połączeń przed obliczeniem długości.

Kalibracja piksel-na-milimetr

Maski segmentacji mierzą pęknięcia w pikselach; normy inżynierskie wymagają fizycznych milimetrów. Stosowane są cztery metody kalibracji:

1. Znany obiekt referencyjny: Umieść obiekt o znanych wymiarach (moneta, linijka lub cel kalibracyjny) w scenie. Współczynnik skali S = znana_długość_mm / zmierzona_długość_piksele. Dokładność: ±0,5–1%.

2. Projekcja laserowa (Carrasco i in., 2021): Dwie równoległe wiązki laserowe w znanej odległości (np. 50 mm) są rzutowane na powierzchnię. Odległość pikselowa między punktami lasera daje S = 50 mm / Δpiksele. Dokładność: ±0,02 mm.

3. Geometria kamery: mm_na_piksel = (2 × Z × tan(HFOV/2)) / Szerokość_obrazu, gdzie Z = odległość kamera-powierzchnia (m), HFOV = poziome pole widzenia (stopnie). Dla drona na wysokości 10 m z obiektywem 24 mm i kamerą 20 MP (5472×3648, ogniskowa 24 mm na sensorze APS-C z współczynnikiem kadrowania 1,5×, efektywna ogniskowa 36 mm, HFOV ≈ 51°): mm_na_piksel ≈ (2 × 10 000 × tan(25,5°)) / 5472 ≈ 1,8 mm/piksel.

4. Stała prekalibracja: Dla drona lub pojazdu pomiarowego na stałej wysokości/konfiguracji obiektywu, prekalibruj S. Na wysokości 15 m z kamerą 20 MP i obiektywem 35 mm, S ≈ 0,5 mm/piksel.

Kompletny potok pomiarowy

  1. Obraz wejściowy → Segmentacja głębokiego uczenia → Binarna maska pęknięcia
  2. Cienienie Zhanga-Suena → 1-pikselowy szkielet pęknięcia
  3. Euklidesowa transformacja odległości → Szerokość prostopadła w każdym punkcie szkieletu
  4. Przejście szkieletu z kodem łańcuchowym → Całkowita długość pęknięcia
  5. Kalibracja piksel-na-mm → Fizyczne wymiary pęknięcia (szerokość w mm, długość w m, powierzchnia w mm²)
  6. Klasyfikacja stopnia uszkodzenia według ICAO/FAA: <1 mm (włoskowate), 1–3 mm (wąskie), 3–6 mm (średnie), >6 mm (szerokie)

Generalizacja na różnych typach nawierzchni i oświetleniu

Generalizacja modelu — zdolność do utrzymania dokładności wykrywania na typach nawierzchni, warunkach oświetleniowych i systemach kamer nieobecnych podczas trenowania — jest krytycznym wyzwaniem dla produkcyjnego wykrywania pęknięć. Model wytrenowany wyłącznie na Crack500 (asfalt w Filadelfii) może stracić 5–15% IoU po zastosowaniu do betonowych nawierzchni pasów startowych, a model wytrenowany na słonecznych obrazach dziennych może stracić 10–20% dokładności w warunkach pochmurnych lub mokrych.

Generalizacja między nawierzchniami

Nawierzchnie asfaltowe i betonowe prezentują zasadniczo różne cechy wizualne dla wykrywania pęknięć. Asfalt ma ciemny, jednolity wygląd z niskim albedo (odbicie 5–15%). Krawędzie pęknięć w asfalcie są zazwyczaj ostre i wysokokontrastowe, ponieważ nowe powierzchnie pęknięć odsłaniają jaśniejsze kruszywo. Beton ma wyższe albedo (odbicie 30–50%) i cętkowany wygląd powierzchni wynikający z rozkładu drobnego kruszywa. Pęknięcia w betonie są często niższego kontrastu, ponieważ powierzchnie pęknięć wietrzeją podobnie do odsłoniętej powierzchni. Model wytrenowany na jednym typie powierzchni uczy się cech tekstury specyficznych dla powierzchni (jednolite ciemne tło asfaltu), które są nieobecne lub odwrócone na drugiej powierzchni (jaśniejsze, teksturowane tło betonu).

Zbiór danych NHA12D został specjalnie zaprojektowany do oceny tego wyzwania między domenami — zawiera 40 obrazów betonu i 40 obrazów asfaltu z tej samej brytyjskiej sieci autostrad. Opublikowane wyniki pokazują, że modele wytrenowane na zestawach danych wyłącznie asfaltowych (CFD, Crack500) i testowane na obrazach betonu z NHA12D tracą 8–12% IoU w porównaniu do oceny na tej samej powierzchni. Techniki adaptacji domeny rozwiązują ten problem poprzez:

  • Adwersarialne dopasowanie domeny: Sieć dyskryminatora domeny uczy się rozróżniać źródłowe domeny asfaltu i betonu; enkoder wykrywania pęknięć uczy się cech, które oszukują dyskryminator, produkując reprezentacje niezależne od domeny.
  • Augmentacja przez transfer stylu: Obrazy treningowe są stylistycznie przekształcane, aby naśladować różne tekstury nawierzchni za pomocą neuronowego transferu stylu (dopasowanie macierzy Grama) lub adaptacji domeny Fouriera (zamiana amplitud).
  • Trenowanie na wielu powierzchniach: Włączenie zarówno danych asfaltowych, jak i betonowych do trenowania (np. łączenie Crack500 + NHA12D beton) poprawia generalizację między powierzchniami o 3–5%.

Zmienność oświetlenia

Dokładność wykrywania pęknięć w różnych warunkach oświetleniowych znacznie się różni. Systematyczne badanie na Crack500 w trzech scenariuszach oświetleniowych wykazało:

  • Słonecznie, bezpośrednio z góry: IoU = 0,72 (optymalna wartość bazowa)
  • Pochmurno, światło rozproszone: IoU = 0,63 (−12,5% od wartości bazowej)
  • Zacienione (cień budynku/drzew na 30% obrazu): IoU = 0,58 (−19,4% od wartości bazowej)
  • Mokra nawierzchnia (symulowana przez przyciemnienie i zwiększenie odbicia lustrzanego): IoU = 0,43 (−40,3% od wartości bazowej, z powodu maskowania cech pęknięć przez wodę powierzchniową)

Augmentacja danych podczas trenowania poprawia odporność na oświetlenie. Standardowe augmentacje dla wykrywania pęknięć obejmują:

  • Zmiana jasności: Losowa zmiana jasności ±30%
  • Zmiana kontrastu: Losowa zmiana kontrastu ±20%
  • Szum Gaussa: σ = 0,01–0,05 (znormalizowane wartości pikseli)
  • Rozmycie Gaussa: rozmiar jądra 3–7, σ = 0,5–2,0
  • Symulacja deszczu: Dodawanie półprzezroczystych smug symulujących mokre warunki

Model wytrenowany z agresywną augmentacją (jasność ±40%, kontrast ±30%, szum σ=0,03, jądro rozmycia do 7) traci około 1–2% bezwzględnego IoU na czystym, optymalnym oświetleniu, ale zyskuje 6–8% IoU w trudnych warunkach (cień, pochmurno). Poprawa w trudnych przypadkach zazwyczaj uzasadnia niewielką karę w łatwych przypadkach w rzeczywistych wdrożeniach, gdzie oświetlenie jest niekontrolowane.

Wdrożenie brzegowe do wykrywania pęknięć w czasie rzeczywistym

Wdrażanie AI do wykrywania pęknięć na urządzeniach brzegowych — wbudowanych komputerach montowanych na dronach, pojazdach inspekcyjnych lub robotach — umożliwia przetwarzanie w czasie rzeczywistym bez łączności z chmurą, co jest kluczowe dla odległych lotnisk, dużych sieci autostrad i zastosowań krytycznych dla bezpieczeństwa, gdzie opóźnienie musi być mierzone w milisekundach, a nie sekundach.

Platformy sprzętowe

NVIDIA Jetson Orin Nano Super (67 TOPS INT8, 7–15W, 249 USD) jest główną platformą brzegową do wykrywania pęknięć z dronów. 1024 rdzenie CUDA i 32 rdzenie Tensor zapewniają wystarczającą przepustowość dla segmentacji w czasie rzeczywistym przy 30–50 FPS (FP16) na zoptymalizowanych architekturach (EGA-UNet, ResU-Net). 8 GB pamięci LPDDR5 (przepustowość 102 GB/s) obsługuje wnioskowanie wsadowe 512×512. Wymiary: moduł 69,6×45 mm, odpowiedni do integracji z ładunkiem drona.

NVIDIA Jetson Orin NX (100 TOPS, 10–25W) oferuje wyższą przepustowość do jednoczesnego przetwarzania wielu strumieni kamer — przydatny w pojazdach inspekcyjnych z kamerami skierowanymi do przodu, na boki i w dół.

NVIDIA Jetson AGX Orin (275 TOPS, 15–60W) umożliwia wdrożenie pełnowymiarowych modeli (DeepLabV3+, TransUNet) przy produkcyjnych szybkościach klatek. Stosowany w systemach montowanych w pojazdach, gdzie zużycie energii jest mniej ograniczone.

Raspberry Pi 5 (czterordzeniowy Cortex-A76 @ 2,4 GHz, 60–80 USD) z Hailo-8L NPU (13 TOPS, M.2 HAT) zapewnia tańsze rozwiązanie brzegowe. Lekkie modele (U-Net z ghost konwolucją, głowica segmentacji MobileNetV3) osiągają 5–12 FPS na wejściach 512×512. Całkowity koszt systemu łącznie z kamerą i mocowaniem do drona: ~200 USD.

PlatformaTOPSMocCenaFPS pęknięć (FP16)FPS pęknięć (INT8)
Jetson Orin Nano Super677–15W249 USD30–5050–80
Jetson Orin NX10010–25W499 USD40–6070–100+
Jetson AGX Orin27515–60W1999 USD60–100+100–200+
Raspberry Pi 5 + Hailo-8L135–12W~80 USD5–128–15

Optymalizacja wnioskowania

TensorRT (SDK optymalizacji wnioskowania NVIDIA) wykonuje optymalizację grafu, automatyczne dostrajanie jądra i kalibrację precyzji:

  • Tryb FP16: 2× przepustowość w porównaniu do FP32 z <0,5% utratą dokładności. Redukuje pamięć modelu o ~50%.
  • Kwantyzacja INT8 (Post-Training Quantization, PTQ): 3–4× przepustowość w porównaniu do FP32. Reprezentatywny zbiór danych (~500 obrazów) kalibruje rozkłady aktywacji dla optymalnych współczynników skalowania INT8. Utrata dokładności 1–3% dla segmentacji pęknięć.
  • Quantization-Aware Training (QAT): Symuluje kwantyzację INT8 podczas trenowania (wstawia pozorowane węzły kwantyzacji). Model dostosowuje swoje wagi do skwantyzowanego zachowania wnioskowania, dając 0,5–1,5% lepszą dokładność niż PTQ dla segmentacji pęknięć.

ONNX Runtime zapewnia wdrożenie międzyplatformowe z dostawcami wykonania dla CUDA (GPU), TensorRT (NVIDIA), OpenVINO (Intel), CoreML (Apple) i ARM CPU. Typowe przyspieszenie: 1,2–1,5× w porównaniu do surowego wnioskowania PyTorch na CPU.

Przycinanie kanałów usuwa mniej ważne kanały konwolucyjne na podstawie wielkości normy L1 (wagi bliskie zeru wnoszą minimalny wkład). Może zmniejszyć FLOPs o 30–50% przy 1–2% utracie dokładności dla segmentacji pęknięć. Destylacja wiedzy trenuje mały model ucznia (np. EGA-UNet z 2,3 mln parametrów), aby naśladował wyjście dużego modelu nauczyciela (np. DeepLabV3+ z 55 mln parametrów) poprzez minimalizację rozbieżności KL między ich rozkładami prawdopodobieństwa wyjściowego. Uczeń osiąga 95–98% dokładności nauczyciela przy 70–90% mniejszej liczbie parametrów.

Strategia przepustowości dla inspekcji dronami

W przypadku inspekcji pasów startowych lub autostrad z wieloma dronami, pełne przesyłanie wideo (4K, 30 FPS, H.264) wymaga 15–25 Mbps na drona — przekraczając przepustowość komórkową na obszarach wiejskich i uniemożliwiając analizę w chmurze w czasie rzeczywistym. Strategia selektywnego przesyłania rozwiązuje ten problem:

  • Model na urządzeniu działa ciągle przy 10–30 FPS
  • Tylko klatki z pewnością pęknięcia > próg (np. >0,7) są kompresowane (JPEG, jakość 85) i przesyłane
  • Obrazy w pełnej rozdzielczości (20+ MP) zapisane na pokładzie i przesyłane po locie
  • Szacowane dane na 1-godzinny lot inspekcyjny: ~50–200 MB obrazów z pęknięciami + metadane vs. ~30–50 GB dla pełnego przesyłania wideo
  • Umożliwia operacje z flotą wielu dronów z łączem komórkowym lub satelitarnym dla oznaczonych obszarów

Weryfikacja z udziałem człowieka

Pomimo postępów w dokładności AI, inspekcja infrastruktury krytycznej dla bezpieczeństwa (pasy startowe komercyjnych lotnisk, mosty na autostradach międzystanowych, tamy) wymaga weryfikacji z udziałem człowieka — wykwalifikowany inspektor przegląda mapy pęknięć wygenerowane przez AI i zatwierdza, odrzuca lub koryguje wyniki. Wynika to z wymogów regulacyjnych (ICAO, FAA, ASTM), które nakazują podpis inżyniera profesjonalnego na raportach o stanie wpływających na decyzje dotyczące bezpieczeństwa.

Typowy przepływ pracy z udziałem człowieka dla wykrywania pęknięć AI:

  1. AI generuje mapę segmentacji pęknięć z pomiarami szerokości/długości według klasyfikacji stopnia uszkodzenia ICAO
  2. Interfejs przeglądu prezentuje nakładkę przewidywań AI na oryginalnym obrazie, podkreślając obszary pęknięć według stopnia uszkodzenia (kodowane kolorami: zielony = włoskowate <1 mm, żółty = wąskie 1–3 mm, pomarańczowy = średnie 3–6 mm, czerwony = szerokie >6 mm)
  3. Inspektor akceptuje/kwestionuje/odrzuca każde oznaczone pęknięcie:
    • Akceptacja: Klasyfikacja i pomiary AI zapisane bez zmian (zazwyczaj 60–75% wykryć)
    • Zapytanie: AI oznaczyło region; inspektor przegląda w pełnej rozdzielczości, potencjalnie korygując granicę pęknięcia lub usuwając fałszywie pozytywny wynik (zazwyczaj 15–25%)
    • Odrzucenie: Fałszywie pozytywny wynik spowodowany przez spoinę, cień, teksturę powierzchni, plamę oleju (zazwyczaj 5–15%)
  4. Inspektor dodaje przeoczone pęknięcia: Pęknięcia, których AI nie wykryło (fałszywie negatywne), są ręcznie adnotowane (zazwyczaj 2–5% całkowitej długości pęknięć)
  5. Poprawione dane są rejestrowane z zachowaniem adnotacji zarówno AI, jak i inspektora
  6. Przypadki brzegowe są rejestrowane do ponownego trenowania modelu — fałszywie pozytywne i fałszywie negatywne wyniki są zbierane, oznaczane i dodawane do zbioru danych treningowych dla następnej iteracji modelu

Ta pętla sprzężenia zwrotnego ciągle poprawia wydajność modelu. Po 3–5 cyklach ponownego trenowania z przypadkami brzegowymi zweryfikowanymi przez człowieka, wskaźniki fałszywie pozytywnych zazwyczaj spadają o 40–60%, a czułość poprawia się o 5–10% na konkretnych typach nawierzchni i warunkach w programie inspekcji.

Obecne ograniczenia i przyszłe kierunki

Obecne ograniczenia

Granica rozdzielczości wykrywania cienkich pęknięć: Pęknięcia węższe niż 2–3 piksele nie mogą być wiarygodnie wykryte ani zmierzone niezależnie od jakości modelu — fizyczna informacja po prostu nie jest obecna na obrazie. Przy odległości próbkowania w terenie 1,0 mm/piksel (typowe dla inspekcji dronami na wysokości 10–15 m), pęknięcia poniżej 0,3 mm są niewykrywalne. Jest to twarde fizyczne ograniczenie wynikające z rozdzielczości platformy obrazowania, a nie modelu AI.

Degradacja między domenami: Modele wytrenowane na jednym typie nawierzchni (asfalt) lub regionie geograficznym (drogi USA) tracą 5–15% IoU po wdrożeniu na innych typach nawierzchni (beton, kompozyt) lub regionach (europejskie, azjatyckie nawierzchnie drogowe). Techniki adaptacji domeny zmniejszają tę różnicę, ale jej nie eliminują. Wdrożenie produkcyjne wymaga dostrajania specyficznego dla lokalizacji lub trenowania wieloregionalnego.

Spójność fałszywie pozytywnych wyników: Podczas gdy ogólne wskaźniki fałszywie pozytywnych są niskie (5–15% wykryć), fałszywie pozytywne wyniki grupują się w określonych warunkach: spoiny konstrukcyjne powodują fałszywe wykrycia na 20–40% spoin; podłużne rowki (żłobkowanie) powodują okresowe fałszywe wzory; a plamy oleju powierzchniowego powodują nieregularne fałszywie pozytywne wyniki. Te systematyczne tryby awarii wymagają regułowych filtrów przetwarzania końcowego (np. “usuń wykrycia wzdłuż znanych linii spoin z danych GIS”).

Warunki mokre i słabe oświetlenie: Wydajność na mokrej nawierzchni spada o do 40% IoU w porównaniu do suchych warunków. Inspekcja nocna wymaga aktywnego oświetlenia (reflektory LED na dronie lub pojeździe), co wprowadza odblaski i artefakty cieni, które dodatkowo zmniejszają dokładność. Deszcz, mgła i pokrywa śnieżna sprawiają, że wykrywanie pęknięć jest praktycznie niemożliwe za pomocą kamer w świetle widzialnym.

Akceptacja regulacyjna: Żaden główny organ lotnictwa lub transportu (ICAO, FAA, ASTM, AASHTO) nie opublikował norm dotyczących wykrywania pęknięć opartego na AI jako samodzielnej metody inspekcji. Obecne przepisy wymagają, aby wyniki AI były weryfikowane tradycyjnymi metodami (przeciąganie łańcucha, pobieranie rdzeni, inspekcja wizualna przez certyfikowanego inspektora). Ogranicza to operacyjne oszczędności kosztów wdrożenia AI, ponieważ czas inspektora jest nadal wymagany do weryfikacji.

Przyszłe kierunki

Uczenie samonadzorowane dla reżimów z małą ilością danych: Paradygmat zamrożonego szkieletu DINOv3 pokazuje, że modele wykrywania pęknięć mogą być trenowane z 50–100 oznakowanymi obrazami zamiast 500–2000. Przyszłe opracowania rozszerzą to na wykrywanie pęknięć bez przykładów (zero-shot) — modele wykrywające pęknięcia na każdym typie powierzchni bez jakiegokolwiek trenowania specyficznego dla domeny, wykorzystując cechy modeli fundamentalnych wyuczone z miliardów różnorodnych obrazów.

Sieci neuronowe uwzględniające fizykę: Obecne modele uczą się wyłącznie cech wizualnych. Modele uwzględniające fizykę będą integrować równania wymiany ciepła dla termicznego wykrywania pęknięć, modele naprężenie-odkształcenie do przewidywania propagacji pęknięć na podstawie wykrytej geometrii oraz modele obciążenia dla nawierzchni lotniskowych (masa statku powietrznego, ciśnienie w oponach, częstotliwość przelotów) w celu ustalania priorytetów napraw na podstawie ryzyka konstrukcyjnego, a nie tylko wymiarów pęknięć.

Analiza czasowa oparta na wideo: Obecne systemy analizują pojedyncze klatki. Modele oparte na wideo będą śledzić progresję pęknięć w wielu przejazdach pomiarowych (porównanie rok do roku), wykrywać otwieranie/zamykanie pęknięć pod obciążeniem ruchem (pomiar szerokości pęknięcia przed, w trakcie i po przejeździe statku powietrznego) oraz filtrować przejściowe fałszywie pozytywne wyniki (liście, zanieczyszczenia, stojąca woda) poprzez kontrole spójności czasowej.

Fuzja sensorów multimodalnych: Połączenie kamer w świetle widzialnym z termiczną podczerwienią (IRT), georadarem (GPR), profilowaniem wysokościowym LiDAR i tomografią ultradźwiękową zapewnia bogatszą charakterystykę uszkodzeń. Ujednolicony model AI przetwarzający wszystkie modalności jednocześnie będzie wykrywać pęknięcia powierzchniowe (światło widzialne), delaminację podpowierzchniową (IRT), zawartość pustek (GPR) i chropowatość powierzchni (LiDAR) w jednym przejściu — zapewniając kompleksową ocenę stanu konstrukcji wykraczającą poza samo wykrywanie pęknięć.

Natywne brzegowe architektury transformerów: Koszt obliczeniowy O(n²) Vision Transformerów obecnie ogranicza wdrożenie brzegowe. Architektury specyficzne dla sprzętu (zoptymalizowane NVIDIA TensorRT, mapowane Qualcomm AI Engine, skompilowane Apple Neural Engine) w połączeniu z mechanizmami uwagi o liniowej złożoności (Performer, Linformer, modele przestrzeni stanów Mamba) przyniosą dokładność na poziomie transformerów do urządzeń brzegowych do 2027 roku. Architektura Mamba-UNet (2024) wykorzystująca modele przestrzeni stanów zamiast uwagi osiąga konkurencyjną segmentację pęknięć (71,5% mIoU) przy około 40% kosztu obliczeniowego EGA-UNet.

Ewolucja regulacyjna: W miarę jak wykrywanie pęknięć AI gromadzi dowody operacyjne w sieciach lotnisk i autostrad, oczekuje się, że organy normalizacyjne opublikują normy inspekcyjne specyficzne dla AI — określające wymagania walidacyjne, progi dokładności, częstotliwość ponownego trenowania i protokoły nadzoru ludzkiego. Mapa drogowa FAA dla AI w lotnictwie (FAA AI Strategic Plan, 2024) wyraźnie uwzględnia AI do inspekcji infrastruktury w planowanym cyklu rozwoju ram regulacyjnych na lata 2026–2028.

Urządzenie obliczeniowe brzegowe z modułem NVIDIA Jetson zamontowane na ładunku drona do inspekcji infrastruktury z wykrywaniem pęknięć AI w czasie rzeczywistym

Referencje

  • Ronneberger, O., Fischer, P., & Brox, T. (2015). U-Net: Convolutional Networks for Biomedical Image Segmentation. MICCAI 2015, 234–241.
  • Chen, L.C., et al. (2018). Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation. ECCV 2018, 801–818.
  • Dosovitskiy, A., et al. (2020). An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale. ICLR 2021.
  • Oquab, M., et al. (2025). DINOv3: Gram-Anchored Dense Features at Scale. Meta AI Research.
  • Yang, L., et al. (2025). An efficient semantic segmentation method for road crack based on EGA-UNet. Scientific Reports, 15, 33818.
  • Zhang, A., et al. (2017). Automated Pixel-Level Pavement Crack Detection on 3D Asphalt Surfaces. Journal of Computing in Civil Engineering, 31(1), 04016093.
  • Liu, Y., et al. (2019). DeepCrack: A Deep Hierarchical Feature Learning Architecture for Crack Segmentation. Neurocomputing, 338, 139–153.
  • Shi, Y., et al. (2016). Automatic Road Crack Detection Using Random Structured Forests. IEEE Transactions on Intelligent Transportation Systems, 17(12), 3434–3445.
  • Yang, F., et al. (2020). Feature Pyramid and Hierarchical Boosting Network for Pavement Crack Detection. IEEE Transactions on Intelligent Transportation Systems, 21(4), 1525–1535.
  • Huang, Y., et al. (2022). NHA12D: A New Pavement Crack Dataset and A Comparison Study of Crack Detection Algorithms. EC3 2022.
  • International Civil Aviation Organization. (2018). Annex 14 — Aerodromes, Volume I: Aerodrome Design and Operations (8th ed.).
  • FAA Advisory Circular 150/5200-30D. (2016, Chg 2 2020). Airport Field Condition Assessments and Winter Operations Safety.
  • ASTM D5340-12. Standard Test Method for Airport Pavement Condition Index Surveys.
  • Carrasco, M., et al. (2021). Laser-Based Pixel-to-Millimeter Calibration for Pavement Crack Measurement. Automation in Construction, 126, 103667.
  • Zhang, T.Y. & Suen, C.Y. (1984). A Fast Parallel Algorithm for Thinning Digital Patterns. Communications of the ACM, 27(3), 236–239.
  • Lin, T.Y., et al. (2017). Focal Loss for Dense Object Detection. ICCV 2017, 2980–2988.
  • Milletari, F., et al. (2016). V-Net: Fully Convolutional Neural Networks for Volumetric Medical Image Segmentation. 3DV 2016, 565–571.

Najczęściej Zadawane Pytania

Zautomatyzuj inspekcje pęknięć na pasach startowych i nawierzchniach

Wdróż wykrywanie pęknięć oparte na AI z obrazów z dronów i pojazdów do zautomatyzowanych inspekcji pasów startowych, dróg i pomostów mostów. Uzyskaj segmentację pęknięć z dokładnością do piksela, pomiar szerokości i klasyfikację stopnia uszkodzenia zintegrowane z systemem zarządzania majątkiem.

Dowiedz się więcej

Segmentacja Semantyczna dla Rozumienia Scen Infrastrukturalnych

Segmentacja Semantyczna dla Rozumienia Scen Infrastrukturalnych

Segmentacja semantyczna przypisuje etykietę kategorii do każdego piksela obrazu, umożliwiając pełne zrozumienie sceny do inspekcji infrastruktury. Obejmuje arch...

36 min czytania
Technology Computer Vision +3
Automatyczny pomiar szerokości rys z obrazów cyfrowych

Automatyczny pomiar szerokości rys z obrazów cyfrowych

Automatyczny pomiar szerokości rys wyznacza szerokość rozwarcia wykrytych rys z segmentowanych masek pikselowych przy użyciu euklidesowej transformaty odległośc...

22 min czytania
technology inspection +4