wstecz | dalej  

 Archiwum Process Control Club 2001, poz.11  
 

Uruchomienie i przetestowanie algorytmów
wykorzystywanych przy rozpoznawaniu obrazów
na przykładzie zdjęć dyszy silnika samolotu SU-22


mgr inż. Adrian Jakowiuk

 

Streszczenie - Opracowanie przedstawia możliwość zaadaptowania algorytmów służących do rozpoznawania cech szczególnych obrazu stosowanych w diagnostyce medycznej do diagnostyki technicznej dyszy silnika samolotu.

SPIS TREŚCI

1. Wstęp
2. Obliczanie zmiennych globalnych mających zastosowanie w rozpoznawaniu obrazów
    2.1. Wariancja (V - variance)
    2.2. Współczynnik wariancji (CV - coefficient of variation)
    2.3. Kątowy Fourierowski rozkład mocy (AFP - annular Fourier power spectrum)
    2.4. Wzdłużny Fourierowski rozkład mocy (LFP - longitudinal Fourier power spectrum)
    2.5. Wariancja średniej (VM - variation of the mean)
    2.6. Drugi moment kątowy (ASM - angular second moments)
    2.7. Parametr kontrastu (CON – contrast)
3. Organizacja wewnętrzna programu
4. Zdjęcia testowe
5. Diagnostyka zdjęć dyszy silnika samolotu
    5.1. Opis obrazów użytych w pracy
     5.2. Dyskusja wartości zmiennych globalnych
6. Diagnostyczna sieć neuronowa
    6.1. Architektura
    6.2. Plik uczący i testowy
    6.3. Wyniki treningu i testowanie sieci
7. Dyskusja wyników
Bibliografia

1. Wstęp

     Wraz z rozwojem bardziej złożonych nowoczesnych systemów przemysłowych i linii technologicznych, diagnostyka techniczna jest dynamicznie rozwijającą się dziedziną nauki. Znane dzisiaj metody i techniki redundacji analitycznej oparte są na zastosowaniu teorii sterowania, a w szczególności metod estymacji stanu, identyfikacji parametrów, oraz metod sztucznej inteligencji. Ogólnie są to metody wykorzystujące modele diagnozowanych procesów, przy czym mogą to być modele ilościowe (analityczne), jakościowe (neuronowe, rozmyte, regułowe) oraz ich kombinacje. Pewną wydzieloną klasę metod stanowią metody rozpoznawania obrazów, których zastosowanie w układach diagnostycznych sprowadza się przede wszystkim do rozwiązywania zadań klasyfikacji. Główną zaletą metod rozpoznawania obrazów jest możliwość budowy narzędzi diagnostycznych bazujących na numerycznych danych obserwacji (pomiarów) diagnozowanego systemu. Można je łatwo stosować dla systemów pracujących w warunkach statycznych, a dla procesów dynamicznych wymagane są dodatkowe podejścia i rozwiązania. Ogólnie techniki rozpoznawania obrazów mogą stanowić podstawę projektowania układów diagnostycznych dla systemów statycznych, lub uzupełnienie w powiązaniu z innymi technikami np. wykorzystującymi modele ilościowe i/lub jakościowe, dla systemów dynamicznych.
     W niniejszej pracy wykorzystane zostały następujące algorytmy służące do rozpoznawania cech szczególnych obrazu:  wariancja (V), współczynnik wariancji (CV), radialny Fourierowski rozkład mocy (AFP), wzdłużny Fourierowski rozkład mocy (LFP), wariancja średniej (VM), drugi moment kątowy (ASM) oraz parametr kontrastu (CON). Algorytmy te były z powodzeniem wykorzystane do celów diagnostyki medycznej [1].

2. Obliczanie zmiennych globalnych mających zastosowanie w rozpoznawaniu obrazów

     Zmienne globalne liczone są na podstawie wyodrębnionego fragmentu (ROI - Region of Interest) [sprowadzanego do wymiarów 32 x 32 piksele]. Obszar ten nosi nazwę "centralny - ROI". Na podstawie tego obszaru liczone są parametry:
      - variance (V) - wariancja,
      - coefficient of variation (CV) - współczynnik wariancji,
      - annular Fourier power spectrum (AFP) - kątowy Fourierowski rozkład mocy,
      - longitudinal Fourier power spectrum (LFP) - wzdłużny Fourierowski rozkład mocy,
      - angular second moments (ASM) - drugi moment kątowy,
      - contrast (CON) - parametr kontrastu.
Do obliczenia ostatniej zmiennej tj.:
      - variation of the mean (VM) - wariancja średniej,
należy z obrazu wyodrębnić obszary ROI #1, ROI #2, ROI #3, ROI #4 tak jak przedstawiono to na rys.1.

     Ogólnie rzecz biorąc , może być bardzo wiele innych zmiennych globalnych. Powyższy zestaw zmiennych został zaproponowany w pracy [1] poświeconej diagnostyce medycznej zdjęć USG. W obecnej pracy przyjęto, że mogą być one przydatne także dla diagnostyki dyszy silnika samolotu.

Rys.1
Rys.1 Rozmieszczenie obszaru środek ROI i obszarów ROI #n

2.1. Wariancja (V - variance)

     Parametr wariancji przedstawia średnie odchylenie pikseli od średniej ich wartości.
Przedstawia to następujący wzór:

(1)

     gdzie:

(2)

przy czym:
     m - średnia wartość wszystkich pikseli w obrazie,
     V - wariancja,
     N - wielkość macierzy kwadratowej ROI (N x N = 32 x 32 piksele).

2.2. Współczynnik wariancji (CV - coefficient of variation)

(3)

     gdzie:

(4)

przy czym:
     m - średnia wartość wszystkich pikseli w obrazie,
     V - wariancja,
     N - wielkość macierzy kwadratowej ROI  (N x N = 32 x 32 piksele),
     CV - współczynnik wariancji.

2.3. Kątowy Fourierowski rozkład mocy (AFP - annular Fourier power spectrum)

     Jest to współczynnik obrazu mówiący nam o średnim rozłożeniu pikseli obrazu na okręgu, którego środkiem może być dowolny punkt obrazu. W przypadku, gdy środkiem okręgu jest punkt o współrzędnych (0,0) wzór na AFP przyjmuje postać:

(5)

     gdzie:

(6)

przy czym:

     - jest to Fourierowski rozkład mocy (Fourier power spectrum) obliczane ze wzoru:

(7)

     gdzie:

(8)

     skąd, przy x = 0:

(9)

     oraz:

(10)

     W przypadku obliczania transformaty Fouriera z macierzy kwadratowej należy najpierw obliczyć transformatę z wektora utworzonego z kolumn tej macierzy, a następnie z wektora utworzonego z wierszy powstałych po wyliczeniu transformaty z kolumn.

     Dla obliczenia AFP, którego środek znajduje się w punkcie centralnym obrazu należy zastosować wzór:

(11)

2.4. Wzdłużny Fourierowski rozkład mocy (LFP - longitudinal Fourier power spectrum)

     Jest to współczynnik informujący nas o rozłożeniu wzdłużnym wierszy macierzy powstałej po poddaniu macierzy obrazu transformacie Fouriera. Oblicza się go na podstawie wzoru:

(12)

gdzie:
     - jest to Fourierowski rozkład mocy

2.5. Wariancja średniej (VM - variation of the mean)

     Współczynnik ten podaje nam średnie odchylenie średniej wartości pikseli dla obrazu ROI, ROI#1 - 4. Oblicza się go na podstawie wzoru:

(13)

gdzie:
     - mk jest średnią wartością z pikseli obszaru ROI, ROI#1, ROI#2, ROI#3 i ROI#4.
     - mo oblicza się ze wzoru:

(14)

2.6. Drugi moment kątowy (ASM - angular second moments)

     Jest to parametr, który informuje nas o rozłożeniu par pikseli w obrazie. Oblicza się go na podstawie wzoru:

(15)

     gdzie:

(16)

gdzie: cardinality jest to moc zbioru.

     Macierz kolorów obrazu została w moim programie podzielona na M = 32 poziomy szarości dla każdego koloru. Dla tego typu poziomów szarości liczony jest histogram (a,b) rozmieszczenia odpowiednich par pikseli w obrazie. Następnie na podstawie macierzy C(a;b;1,0o) jest obliczany parametr ASM.

2.7. Parametr kontrastu (CON – contrast)

     Jest to parametr, który informuje nas o kontraście obrazu. Oblicza się go na podstawie wzoru:

(17)

     gdzie:

(18)

     Macierz kolorów obrazu została w moim programie podzielona na M = 32 poziomy szarości dla każdego koloru. Dla tego typu poziomów szarości liczony jest histogram (a,b) rozmieszczenia odpowiednich par pikseli w obrazie. Następnie na podstawie macierzy C(a;b;1,0o) jest obliczany parametr CON.

3. Organizacja wewnętrzna programu

     Zaprojektowany i uruchomiony przez autora pracy system diagnostyczny składa się z szeregu podsystemów mających na celu wczytanie, obróbkę i przetworzenie obrazu. Na rys.2 przedstawiono schemat blokowy działania programu.

Rys.2
Rys.2 Przetwarzanie obrazu w systemie diagnostycznym.

     Obrazy po wprowadzeniu do systemu diagnostycznego (np. za pomocą skanera) poddawane są wstępnej obróbce (zapis w odpowiednim formacie pliku), a następnie w celu uzyskania znormalizowanych obrazów wejściowych do dalszej obróbki w  systemie mogą być poddawane przekształceniom geometrycznym (transformacja, rotacja, skalowanie). Następnym krokiem, wykonywanym przez program jest podział obrazu na trzy podstawowe składowe kolorów czyli R - czerwony, G - zielony i B - niebieski, a następnie przeprowadzenie filtracji obrazu. W zależności od tego jakie szczegóły obrazu chcemy uwypuklić możemy zastosować odpowiednie rodzaje filtrów. Uzyskane w ten sposób obrazy poddane są w następnym etapie dalszej obróbce, która ma na celu wyodrębnienie z wskazanego obszaru macierzy 32x32. Na podstawie tej macierzy obliczane są zmienne globalne zaproponowane w poprzednim rozdziale. Po wykonaniu powyższych kroków dla serii zdjęć generowany jest wektor wyjściowy, w którym znajdują się wartości zmiennych globalnych dla serii obrazów. Wektor ten podawany jest do systemu diagnostycznego, którym może być odpowiedni program ekspercki lub sieć neuronowa.

4. Zdjęcia testowe

     W celu przetestowania zachowania się zmiennych globalny w zależności od różnych obrazów (kształtów, wielkości) zastosowano serię zdjęć testowych rys.3.

Rys.3
Rys.3 Seria obrazów testowych zastosowana do sprawdzenia działania algorytmów
(szóstym obrazem w serii jest białe tło).

Inną serią zdjęć zastosowanych do sprawdzenia działania algorytmów są koła o zmiennym wypełnieniu (rys.4) oraz koła z wycięciem obracającym się dookoła osi.

Rys.4
Rys.4 Seria obrazów testowych zastosowana do sprawdzenia działania algorytmów.

Na podstawie powyższych obrazów otrzymano następujące wyniki:
Dla zmieniających się kół i kwadratów z rys.3:

Rys.5a
Rys.5a Wartości zmiennych globalnych V, CV, VM, AFP

Rys.5b
Rys.5b Wartości zmiennych globalnych LFP, ASM

Rys.5c
Rys.5c Wartości zmiennej globalnej CON

 

Dla kół o zmiennym wypełnieniu z rys.4a:

 Rys.6a
Rys.6a Wartości zmiennych globalnych V, CV

Rys.6b
Rys.6b Wartości zmiennych globalnych AFP, LFP

Rys.6c
Rys.6c Wartości zmiennych globalnych VM, ASM

Rys.6d
Rys.6d  Wartości zmiennej globalnej CON

 

Dla kół z wycięciem z rys.4b:

 Rys.7
Rys.7 Wartości zmiennych globalnych V, CV, AFP, LFP, VM, ASM, CON

     Na podstawie powyższych wykresów można stwierdzić, iż przyjęte zmienne globalne są czułe na zmiany kształtu, wielkości i wypełnienia obrazu.
     Dla obrazów z rys.3 widoczna jest zmiana w zależności od kształtu i wielkości figur. Zmiennymi najbardziej czułymi na te zmiany są: AFP (Kątowy Fourierowski Rozkład Mocy), CV (Współczynnik Wariancji), VM (Wariancja Średniej). Jednak czułość zmiennych zależna jest także od wielkości przedstawionych figur. Np. zmienna CV jest bardziej czuła dla figur większych do obszaru centralny ROI (wynika to z tego, iż przy liczeniu tej zmiennej brane są pod uwagę także obszary 1-4 ROI). Pozostałe zmienne lepiej reagują na zmiany kształtu i wielkości wtedy, gdy cała figura znajduje się w obszarze centralny ROI, jednak ich czułość maleje wraz ze wzrostem stosunku rozmiaru figury do obszaru ROI.
     Przy analizie wykresów otrzymanych na podstawie obrazów (rys.4a) można stwierdzić, iż zaproponowane zmienne są czułe na zmiany stopnia wypełnienia figur, lecz niektóre z nich nie są wrażliwe na określenie kierunku w jakim rozkłada się te wypełnienie. Widać to wyraźnie dla zmiennych ASM, LFP i AFP (dla par zdjęć 1 - 3 oraz 2 - 4 zmienne przyjmują te same wartości).
     Na podstawie wykresów otrzymanych obrazów (rys.4b) widać, iż zmienne te są czułe na zmiany kierunku zakłóceń w obrazie (wycięcie części koła zmieniające się wzdłuż osi).
Zaproponowane zmienne globalne są w stanie wykryć różnice w obrazach, jednak aby stwierdzić to z jeszcze większą pewnością należy poddać analizie serie zdjęć, które będą przedstawiać stany normalne i uszkodzenia jakiegoś urządzenia.

5. Diagnostyka zdjęć dyszy silnika samolotu
5.1. Opis obrazów użytych w pracy

     W pracy wykorzystano obrazy dyszy silnika samolotu (na rys.8 pokazane jest jedno ze zdjęć) wykonane w odstępach 5 sekundowych w trakcie stygnięcia silnika. System diagnostyczny, który został przedstawiony w poprzednim rozdziale służy przetwarzaniu tych zdjęć.

Rys.8
Rys.8 Zdjęcie dyszy silnika samolotu

Na poniższych rysunkach są przedstawione efekty zastosowania dwóch rodzajów filtrów (Laplace’a (wykrywającego krawędzie) i uwypuklającego krawędzie) dla zdjęć dyszy silnika samolotu (rys.9 - 11).

Rys.9
Rys.9 Zdjęcia dyszy silnika samolotu po rozłożeniu na podstawowe kolory składowe
(odpowiednio od prawej: czerwony, zielony, niebieski).

Rys.10
Rys.10  Zdjęcia dyszy silnika samolotu przy zastosowaniu
filtru Laplac’e (wykrywającego krawędzie)

Rys.11
Rys.11 Zdjęcia dyszy silnika samolotu przy zastosowaniu
filtru uwypuklającego krawędzie

5.2. Dyskusja wartości zmiennych globalnych

     Na podstawie wyników otrzymanych ze zdjęć dyszy silnika przedstawionych poprzednio można zauważyć, iż zmienne globalne otrzymane dla serii zdjęć nie wykazują jakiejś systematycznej zależności od czasu (numeru zdjęcia). Można więc wielkości te potraktować jako losowy rozrzut wzdłuż poziomej linii prostej. Wynika to z faktu, że obrazy użyte w pracy stanowią tylko mały wycinek całego okresu stygnięcia dyszy silnika. Przy takim podejściu do otrzymanych wyników można założyć, że w pewnym okresie czasu średnie zmiany parametrów są stałe a ich rozrzut wynika z przypadkowych zakłóceń w otrzymanych obrazach, lub wręcz parametry te są stałe. Za wartość, dokoła której rozkładają się parametry przyjęto ich wartość średnią. Obliczone wartości średnie zmiennych globalnych przedstawia tabela nr 1.


Tabela 1. Wartości średnie zmiennych globalnych (bez użycia filtru)

     Takie założenia pozwalają zdefiniować dwa stany rozkładu zmiennych:
- stan normalny dyszy
"Stan normalny" - jest to taki stan, gdy wszystkie zmienne znajdują się w przedziale wyznaczonym przez odchylenie standardowe populacji (liczone dla każdej zmiennej oddzielnie na podstawie pięciu próbek) pomnożone przez ±3ΔAi liczony na podstawie następującego wzoru:

(19)

gdzie:
     i = 1, ... 7 - numer zmiennej,
     J - numer obrazu.

Geometryczna interpretacja „stanu normalnego” pokazana jest na rys.12.
Można to zapisać za pomocą wzoru:

(20)

- stan anormalny dyszy
"Stan anormalny" - jest to taki stan, gdy co najmniej jedna zmienna znajduje się poza przedziałem wyznaczonym przez „stan normalny”. Obrazuje to rys.12.
Można to zapisać za pomocą wzoru:

(21)

Rys.12
Rys.12  Interpretacja "stanu normalnego" i "stanu anormalnego" dyszy.

W przypadku serii 5 zdjęć dyszy silnika wartość 3Δ wynosi:


Tabela 2. Wartości odchyłek 3∆ dla serii pięciu zdjęć dyszy (bez użycia filtracji)

6. Diagnostyczna sieć neuronowa

     W celu podjęcia dalszej analizy otrzymanych zmiennych globalnych  można skorzystać z dwóch sposobów tj. skorzystać z sieci neuronowej lub z programu eksperckiego. W przypadku, gdyby istniała jakaś zależność między czasem (kolejnymi obrazami) a wartościami zmiennych globalnych np. zmiana wzdłuż jakiejś krzywej, to najlepszym rozwiązaniem byłoby otrzymane zmienne przeanalizować za pomocą odpowiednio stworzonej sieci neuronowej. Jednak, gdyby zauważone zmiany tych zmiennych w czasie były jednak stałe, jak założono poprzednio, to najlepszym rozwiązaniem byłoby użycie systemu eksperckiego.

6.1. Architektura

     Zastosowana sieć neuronowa jest siecią dwuwarstwową o siedmiu wejściach, dziesięciu neuronach w warstwie ukrytej i siedmiu neuronach w warstwie wyjściowej. Na wejście sieci podawane są liczby rzeczywiste znormalizowane w przedziale od 0 do 1. Neurony wyjściowe przyjmują dwie wartości 0 i 1 w zależności od tego, czy wprowadzone zmienne znajdują się w przedziale stanu normalnego (bity stanu są równe 0), czy też stanu anormalnego (odpowiednie bity stanu są równe 1). W zbiorze uczącym założono, iż stan normalny jest wtedy, gdy wartość wejściowa inp(k) = 0,5 ± 0,125, a stan anormalny gdy inp(k) < 0,5 ± 0,125 lub inp(k) > 0,5 ± 0,125.

6.2. Plik uczący i testowy

     Ze względu na to, iż ilość obrazów, do których miałem dostęp jest zbyt mała i przedstawia tylko jeden stan (stan normalny) w celu uczenia i testowania sieci zastosowałem dane, które zostały stworzone za pomocą odpowiedniego programu, którego zadaniem jest losowe generowanie liczb rzeczywistych z zakresu od 0 do 1. Liczby te można interpretować jako odpowiednio znormalizowane wartości zmiennych globalnych V, ..., CON.
     Do uczenia sieci zastosowano 500 zdarzeń.

6.3. Wyniki treningu i testowanie sieci

     W wyniku treningu sieci na podstawie danych przedstawionych poprzednio widać, iż sieć uczy się bardzo szybko, bowiem już po około 27000 kroków uczenia nastąpiło praktycznie całkowite jej nauczenie. Obserwowalny jest od tego miejsca spadek szybkości uczenia się.
W trakcie testowaniu nauczona sieci z 500 zestawów danych tylko w jednym przypadku źle zadziałała nie mogąc rozpoznać, czy dane wejściowe zawierają się w ustalonym przedziale wartości. Wartość ta stanowi zaledwie 0,02% wszystkich danych użytych do treningu i testowania sieci. Wobec czego skuteczność tej sieci można określić jako 99,8%, czyli na bardzo wysoką.

7. Dyskusja wyników

     Głównym celem powyższej pracy było zaprojektowanie systemu diagnostycznego, który na podstawie serii zdjęć urządzenia oceniałby stan jego działania. W systemie zastosowano siedem zmiennych globalnych zaproponowanych w pracy [1]. Jednak możliwe jest także łatwe dołączenie do systemu także innych zmiennych, które mogą okazać się bardziej przydatne przy analizie obrazów. System pozwala także na przeprowadzenie filtracji obrazu (np. pozbawienie szumów) oraz wykrycie cech szczególnych, co pozwala na lepszą analizę obrazów. Dokonuje się tego poprzez wprowadzenie odpowiednich masek filtru.
     Na podstawie otrzymanych zdjęć dyszy silnika samolotu oraz przykładowych zdjęć testowych możliwe było stwierdzenie, iż użyte zmienne globalne są czułe na zmiany w obrazach. Zaproponowany sposób analizy i zastosowana na podstawie powyższych założeń sieć neuronowa pozwala na ocenę stanu urządzenia, tzn. stwierdzenie, iż w urządzeniu nastąpiły jakieś zmiany czy uszkodzenia.
     W celu dalszej analizy otrzymanych w pracy wyników (kontynuacji pracy nad systemem) można skorzystać albo z sieci neuronowej albo z programu eksperckiego. W przypadku, gdyby istniała jakaś zależność między czasem (kolejnymi obrazami) a wartościami zmiennych globalnych np. zmiana wzdłuż jakiejś krzywej (zauważalny trend zmiany zmiennych globalnych w czasie), to najlepszym rozwiązaniem byłoby otrzymane dane poddać dalszej obróbce za pomocą odpowiedniej sieci neuronowej. Gdyby natomiast okazało się, że zauważone zmiany tych zmiennych w czasie były jednak stałe (wykazujące rozrzut statystyczny), to najlepszym rozwiązaniem byłoby użycie odpowiedniego systemu eksperckiego.
     Przedstawiony w pracy system diagnostyczny został przetestowany tylko na jednym komplecie zdjęć wykonanych dla dyszy silnika samolotu. Jest to ilość niewystarczająca, aby móc nauczyć sieć neuronową rozpoznawania stanów. W celu sprawdzenia systemu należałoby przeprowadzić analizę większej ilości zdjęć przedstawiających oprócz stanu normalnego także przykładowe uszkodzenia obiektu.

Bibliografia

[1]    Alirezaie et al.: Neutral network – based segmentation, IEEE Transactions on Nuclear Science, vol. 44, no. 2, april 1997.
[2]    Ambardar: Analog and Digital Signal Processing, PWS Publishing Company, 1995.
[3]    Korbicz J., Obuchowicz A., Uciński D.: Sztuczne sieci neuronowe. Podstawy i zastosowania. Akademicka Oficyna Wydawnicza PLJ, Warszawa, 1994.
[4] Osowski S.: Sieci neuronowe w ujęciu algorytmicznym, WNT, Warszawa 1996.
[5] Watkins C.D., Sadun A., Marenka S.: Nowoczesne metody przetwarzania obrazu, WT, Warszawa 1995.