KOMPUTEROWE MODELOWANIE PĘKNIĘĆ NA BAZIE ZDJĘĆ
Transkrypt
KOMPUTEROWE MODELOWANIE PĘKNIĘĆ NA BAZIE ZDJĘĆ
Lech NAPIERAŁA KOMPUTEROWE MODELOWANIE PĘKNIĘĆ NA BAZIE ZDJĘĆ RADIOGRAFICZNYCH STRESZCZENIE W pracy zaprezentowano algorytm generacji pęknięć jako komputerowych obiektów trójwymiarowych. Przedstawiono metodę ekstrakcji parametrów pęknięcia ze zdjęcia radiograficznego i ich przełożenia na obiekt trójwymiarowy. Zamieszczono również efekty symulowanych prześwietleń z wykorzystaniem sztucznie utworzonych pęknięć. Słowa kluczowe: badania nieniszczące, radiografia, przetwarzanie obrazu, modelowanie pęknięć 1. WSTĘP Symulacja komputerowa jest potężnym narzędziem, którego wartość trudno przecenić. Posiadanie komputerowego modelu rzeczywistego obiektu jest zazwyczaj bardzo korzystne, gdyż pozwala na stosunkowo tanie, symulacyjne zbadanie jego zachowania w różnych warunkach. Badania nieniszczące nie są tutaj wyjątkiem. W zależności od techniki wytwarzania czy łączenia elementów metalowych (spawanie, odlewanie), pojawia się wiele rozmaitych wad [1], takich jak pęcherzyki powietrza, wtrącenia żużlowe czy pęknięcia. Trójwymiarowe modele tych wad mogą łatwo znaleźć szereg zastosowań. mgr inż. Lech NAPIERAŁA e-mail: [email protected] Zachodniopomorski Uniwersytet Technologiczny, Wydział Elektryczny, Katedra Elektrotechniki Teoretycznej i Informatyki PRACE INSTYTUTU ELEKTROTECHNIKI, zeszyt 243, 2009 128 L. Napierała Jednym z takich zastosowań jest niewątpliwie tworzenie i testowanie algorytmów automatycznego wyszukiwania defektów. Symulacja pozwoliłaby zarówno na uzupełnienie bazy testowej przy braku wystarczającej ilości rzeczywistych radiogramów, jak i na przetestowanie algorytmu w pewnych szczególnych zastosowaniach. Takim szczególnym zastosowaniem mogłoby być zbadanie zależności pomiędzy rozmiarem pęknięcia a skutecznością jego wykrycia – wyjątkowo proste dzięki możliwości skalowania trójwymiarowego modelu. W tej pracy szczególny nacisk został położony na pęknięcia, pominięto inne rodzaje defektów. Modelowanie pęknięć zostało rozważone w dwóch podstawowych wariantach, są to: generacja losowa i generacja na bazie istniejącego radiogramu. Pierwsze podejście może być bardzo pomocne przy szybkim tworzeniu dużej bazy testowych radiogramów. Drugie może posłużyć do precyzyjnego rozpoznawania istniejących defektów. 2. GENERACJA PĘKNIĘĆ LOSOWYCH Podstawą prezentowanych algorytmów jest spostrzeżenie, że pęknięcie w swojej strukturze jest formą grafu [2]. Każde pęknięcie składa się z pewnej ilości gałęzi (odpowiadających krawędziom w grafach) i punktów węzłowych, pomiędzy którymi są one rozciągnięte (odpowiadających grafowym wierzchołkom). Analogia nie jest zupełna, gdyż dla pęknięć ogromne znaczenie ma kształt i grubość gałęzi, co jest raczej pomijane w teorii grafów. Niemniej jednak wiele z algorytmów grafowych można wykorzystać do przetwarzania obiektów pęknięć. 2.1. Pęknięcia jednosegmentowe Na początek rozważmy najprostszy przypadek, czyli pęknięcie składające się z jednego tylko segmentu. Ideę jego generacji prezentuje rysunek 1. Na dwie płaszczyzny prostokątne umieszczone w przestrzeni trójwymiarowej (rys. 1a) nakładany jest profil wady (rys. 1b). Jest on przechowywany w pamięci pod postacią macierzy, której wartości interpretowane są jako miara wysunięcia odpowiadającego im punktu z płaszczyzny. Warto zauważyć, że takie przedstawienie pęknięcia jest bardzo ogólne. Prostokątne płaszczyzny mogą być umieszczone w przestrzeni w dowolny sposób, profil pęknięcia może zawierać zupełnie dowolne wartości (mogą to też 129 Komputerowe modelowanie pęknięć na bazie zdjęć radiograficznych być dwa oddzielne profile), można dowolnie zmieniać kierunek wysunięcia punktów z płaszczyzn. Dzięki tej ogólności algorytmu możliwe jest między innymi generowanie przy jego pomocy pęknięć wielosegmentowych. a) b) c) d) Rys. 1. Generacja pęknięcia jednosegmentowego: a) dwa prostokąty w przestrzeni trójwymiarowej; b) profil pęknięcia; c) profil w przestrzeni 3D; d) gotowe pękniecie, powstałe poprzez zmniejszenie kąta pomiędzy prostokątami z punktu „c” i „zaszycie” góry, dołu i przodu #12# #2.2. Pęknięcia wielosegmentowe #12# Pęknięcia wielosegmentowe są generalizacją pęknięć jednosegmentowych (rys. 2). Pojedyncze segmenty umieszczane są jeden za drugim, przy czym prostokątne płaszczyzny segmentów, które kończą się w punktach środkowych pęknięcia, nie stykają się na jego końcu (rys. 2b). a) b) c) d) Rys. 2. Generacja pęknięcia wielosegmentowego: a) pęknięcie jednosegmentowe; b) pęknięcie jednosegmentowe z rozsuniętym końcem; c) dołączony drugi segment; d) dołączony trzeci segment 3. MODELOWANIE PĘKNIĘĆ NA BAZIE RADIOGRAMÓW Głównym celem prezentowanego algorytmu jest ekstrakcja cech rzeczywistego pęknięcia i stworzenie jego modelu trójwymiarowego. Model ten jest 130 L. Napierała siłą rzeczy uproszczony, gdyż bazą jest pojedyncze zdjęcie dwuwymiarowe, co nie pozwala na stworzenie pełnego modelu 3D. Uzyskany obiekt jest więc mimo swej trójwymiarowości de facto modelem dwuwymiarowym, rozciągniętym w trzecim wymiarze w celu dokonywania symulowanych prześwietleń. Takie podejście sprawia oczywiście, że model może dość znacznie odbiegać od prawdziwego pęknięcia, dając jedynie zbliżony rezultat przy symulowanym prześwietlaniu w jednym kierunku. Wada ta zostanie wyeliminowana poprzez kompilację informacji z kilku zdjęć jednego pęknięcia pod różnymi kątami – pozwoli to na tworzenie pełnych modeli trójwymiarowych, przydatnych do oceny rozległości pęknięcia. Obraz wejściowy Binaryzacja [3] Szkieletyzacja, obcinanie gałęzi Wyznaczanie punktów skrajnych i węzłowych Wyznaczanie siatki połączeń i kształtu linii łączących Wyznaczanie grubości linii w węzłach Generacja obiektu trójwymiarowego na bazie uzyskanych parametrów Rys. 3. Algorytm ekstrakcji cech pęknięcia: schemat blokowy Na wejściu algorytmu znajduje się rzeczywisty radiogram pęknięcia. Zostaje on uproszczony do reprezentacji czarno-białej, po czym dokonywana jest ekstrakcja ważnych parametrów (położenia punktów kluczowych, struktury połączeń, grubości w punktach kluczowych itp.). 131 Komputerowe modelowanie pęknięć na bazie zdjęć radiograficznych 3.1. Szkieletyzacja i odcinanie gałęzi Szkieletyzacja jednym z najbardziej popularnych przekształceń morfologicznych [4]. Po zastosowaniu na obrazie binarnym pozostawia jedynie te punkty, które znajdowały się w jednakowej odległości od dwóch punktów na obwodzie obrazu oryginalnego. Rezultat szkieletyzacji można zobaczyć na rysunku 4b. a) c) b) #10# Rys. 4. Szkieletyzacja i obcinanie gałęzi: a) obraz wejściowy; b) obraz po szkieletyzacji; c) obraz po obcinaniu gałęzi Szkieletyzacja w omawianym algorytmie została przeprowadzona z zastosowaniem wielokrotnego morfologicznego ścieniania elementami strukturalnymi przedstawionymi w (1) [5] ⎡X ⎢X ⎢ ⎣⎢ 1 0 1 1 X⎤ X ⎥⎥ 1 ⎦⎥ ⎡X ⎢0 ⎢ ⎣⎢ X X 1⎤ 1 1⎥⎥ X 1⎦⎥ ⎡1 ⎢X ⎢ ⎣⎢ X 1 1 0 1⎤ X ⎥⎥ X ⎦⎥ ⎡1 X ⎢1 1 ⎢ ⎢⎣1 X X⎤ 0 ⎥⎥ X ⎦⎥ , (1) gdzie „1” oznacza piksel obiektu (czarny), „0” oznacza piksel tła (biały) a „X” to dowolny piksel. Wadą szkieletyzacji jest fakt, że zwracany przez nią wynik zazwyczaj nie jest czystym szkieletem obiektu, ale zawiera wiele niepotrzebnych, wynikających z nieregularnego kształtu krawędzi gałęzi. Z tego też powodu w wielu zastosowaniach po szkieletyzacji korzysta się z algorytmu obcinania gałęzi, również będącego jednym z podstawowych przekształceń morfologicznych [6]. Obcinanie gałęzi skraca wszelkie jednopikselowej grubości fragmenty obrazu o długość zależną od ilości iteracji (rys 4c). W niniejszym algorytmie 132 L. Napierała zostało dokonane poprzez kilkukrotnie ścienianie przy użyciu elementów strukturalnych z (2) [5] ⎡0 X X⎤ ⎡0 0 ⎢0 1 0 ⎥ ⎢0 1 ⎥⎢ ⎢ ⎢⎣0 0 0 ⎦⎥ ⎢⎣0 0 X⎤ X ⎥⎥ 0 ⎦⎥ ⎡0 0 ⎢0 1 ⎢ ⎣⎢0 0 0⎤ X ⎥⎥ X ⎦⎥ ⎡0 ⎢0 ⎢ ⎣⎢0 0 1 X 0⎤ 0 ⎥⎥ X ⎥⎦ ⎡0 ⎢0 ⎢ ⎣⎢ X 0 1 X 0⎤ 0⎥⎥ 0⎥⎦ ⎡0 ⎢X ⎢ ⎣⎢ X 0 0⎤ ⎡ X 1 0⎥⎥ ⎢⎢ X 0 0⎥⎦ ⎢⎣ 0 0 0⎤ ⎡ X 1 0⎥⎥ ⎢⎢ 0 0 0⎥⎦ ⎣⎢ 0 X 1 0 0⎤ 0⎥⎥ 0⎦⎥ (2) Ponadto na obrazie zostało jednokrotnie wykonane ścienianie z wykorzystaniem elementów strukturalnych z (3) ⎡1 1 1⎤ ⎢0 1 0 ⎥ ⎢ ⎥ ⎢⎣0 0 0⎥⎦ ⎡0 0 1⎤ ⎢0 1 1⎥ ⎢ ⎥ ⎢⎣0 0 1⎥⎦ ⎡0 0 0 ⎤ ⎢0 1 0 ⎥ ⎢ ⎥ ⎢⎣1 1 1⎥⎦ ⎡1 0 0⎤ ⎢1 1 0⎥ ⎢ ⎥ ⎢⎣1 0 0⎥⎦ , (3) Było to konieczne, gdyż obcinanie gałęzi przeprowadzone przy pomocy elementów strukturalnych z (2) może pozostawić na obrazie pojedyncze piksele [pasujące do elementów z (3)], które niepotrzebnie skomplikowałyby dalsze kroki algorytmu, nie wnosząc jednocześnie nic do jakości uzyskanego modelu. Obcinanie krawędzi ma jedną ważną wadę w omawianym zastosowaniu. Skraca ono zarówno gałęzie niepotrzebne, wynikające z procesu szkieletyzacji, jak i te potrzebne, oznaczające fragmenty pęknięcia. Może to znacznie zniekształcić modele pęknięć o dużym stosunku szerokości do długości. 3.2. Wyznaczanie punktów kluczowych Wyznaczanie punktów kluczowych jest stosunkowo proste ze względu na fakt, że po przeprowadzeniu szkieletyzacji i obcinania gałęzi zgodnie z algorytmem opisanym w 3.1, spełniają one pewien warunek. Mianowicie wszystkie punkty kluczowe mają jedną, trzy lub cztery sąsiadujące z nimi grupy pikseli. Dwie grupy pikseli natomiast oznaczają punkty przynależące do gałęzi. a) b) Rys. 5. Znajdowanie punktów węzłowych: a) obraz pęknięcia po szkieletyzacji i obcinaniu gałęzi; b) obraz po wyszukaniu punktów kluczowych Komputerowe modelowanie pęknięć na bazie zdjęć radiograficznych 133 Pęknięcie z wyszukanymi punktami kluczowymi zostało przedstawione na rysunku 5b. Kolor czarny oznacza piksele tła, ciemnoszary – punkty z jedną grupą sąsiadującą (końce gałęzi), jasnoszary – punkty z dwiema grupami sąsiadującymi (gałęzie), a biały – punkt o trzech grypach sąsiadujących. Piksele o czterech grupach sąsiadujących, jakkolwiek możliwe, są bardzo mało prawdopodobne i na przykładowym obrazie nie występują. 3.3. Wyznaczanie siatki połączeń W tym miejscu algorytmu znana jest już ilość i rozmieszczenie wszystkich punktów kluczowych. Ta informacja jest następnie wykorzystana do wyznaczenia sieci połączeń i indeksacji gałęzi. Algorytm rekursywny startuje z punktu kluczowego i nadaje sąsiadującym pikselom ten sam numer aż do momentu, w którym natrafi na kolejny punkt kluczowy. Gdy to się stanie, do listy połączeń dodawana jest informacja, które dwa punkty kluczowe są połączone i jaki indeks ma łącząca je gałąź. Procedura jest powtarzana aż do wyczerpania punktów kluczowych o nieznanych połączeniach. Rys. 6. Siatka połączeń 3.4. Wyznaczanie kształtu gałęzi #12# Jak było poprzednio opisane, profil pęknięcia przechowywany jest w macierzy, której wartości są interpretowane jako miara wysunięcia odpowiadającego im punktu z zadanej płaszczyzny prostokątnej. W celu uzyskania tego profilu stosowane jest pewne uproszczenie. Profil mierzony jest w odniesieniu do linii prostej łączącej dwa punkty kluczowe. Wprowadza to pewne niewielkie zniekształcenie, gdyż jest on następnie umieszczany na dwóch płaszczyznach prostokątnych, które leżą blisko tej linii, ale są do niej nachylone pod niewielkimi kątami. Macierz profilu generowana jest z wartościami wysunięcia punktów uzyskanymi w odniesieniu do linii prostej łączącej punkty kluczowe (rys. 7). 134 L. Napierała Wartości te są następnie umieszczone w macierzy profilu w taki sposób, że wszystkie komórki w jednej kolumnie mają te same wartości. Jest to uproszczenie wynikające z faktu, że pojedynczy dwuwymiarowy radiogram nie pozwala na pełne odwzorowanie trójwymiarowe. a) b) c) d) Rys. 7. Pomiar wartości wysunięcia punktów względem prostej łączącej punkty kluczowe 4. WYNIKI SYMULACJI I PODSUMOWANIE #12# Symulacje zostały przeprowadzone z zastosowanie oprogramowania aRTist, zarówno dla pęknięć generowanych losowo jak i na bazie zdjęć radiograficznych. Rysunki 8 i 9 przedstawiają losowo wygenerowane pęknięcia wielosegmentowe i odpowiadające im symulowane radiogramy. Rysunki 10 i 11 przedstawiają obiekty pęknięć wygenerowane na bazie zdjęć radiograficznych i wynik ich symulowanego prześwietlenia. a) b) Rys. 8. Pęknięcie losowe: a) Trójwymiarowy model; b) efekt symulowanego prześwietlenia Komputerowe modelowanie pęknięć na bazie zdjęć radiograficznych a) 135 b) Rys. 9. Pęknięcie losowe: a) Trójwymiarowy model; b) efekt symulowanego prześwietlenia a) b) c) Rys. 10. Pęknięcie wygenerowane na bazie radiogramu: a) Oryginalny radiogram; b) trójwymiarowy model pęknięcia; c) efekt symulowanego prześwietlenia a) b) c) Rys. 11. Pęknięcie wygenerowane na bazie radiogramu: a) Oryginalny radiogram; b) trójwymiarowy model pęknięcia; c) efekt symulowanego prześwietlenia Zaprezentowana metoda pozwala na tworzenie trójwymiarowych modeli pęknięć, zarówno losowych, jak i na bazie zdjęć radiograficznych. Symulacje przeprowadzone z użyciem tych modeli zachowują wysoki stopień podobieństwa do przykładów rzeczywistych. Użycie opisanego algorytmu może ułatwić rozwój algorytmów detekcji i rozpoznawania pęknięć. 136 L. Napierała LITERATURA 1. Mery D., Jaeger T., Gilbert D.: A Review of Methods for Automated Recognition of Casting Defects. 2002. 2. Kaufmann M., Wagner D.: Drawing Graphs Methods and Models, Springer, 2001. 3. Gupta M. R., Jacobson N. P., Garcia E. K.: OCR binarization and mage pre-processing for searching historical documents, Pattern Recognition 40 (2007), 389–397. 4. Tadeusiewicz R.: Komputerowa analiza i przetwarzanie obrazu, Wydawnictwo Fundacji Postępu Telekomunikacji, Kraków 1997. 5. Russ J. C.: The Image Processing Handbook Fifth Edition, Taylor and Francis Group, 2007. 6. Ritter G. X., Wilson J. N.: Handbook of Computer Vision Algorithms in Image Algebra Second Edition, CRC Press, 2001. Rękopis dostarczono dnia 27.10.2009 r. Opiniował: dr hab. inż. Jacek Starzyński COMPUTER CRACK MODELLING BASED ON REAL-LIFE RADIOGRAPHIC IMAGES L. NAPIERAŁA ABSTRACT In this paper algorithm for generation of cracks as a three-dimensional objects has been presented. Method for extraction of crack’s parameters from radiographic image has also been discussed. Results of simulated x-raying with artificial cracks have been included. Mgr inż. Lech NAPIERAŁA – ukończył Politechnikę Szczecińską na kierunku Elektronika i Telekomunikacja. Obecnie doktorant na wydziale Elektrycznym Zachodniopomorskiego Uniwersytetu Technologicznego w Szczecinie. Zajmuje się przetwarzaniem i analizą obrazów, ze szczególnym uwzględnieniem zastosowań w radiograficznych badań nieniszczących.