|
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
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 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 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 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 Wartości zmiennych
globalnych V, CV, VM, AFP

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

Rys.5c Wartości zmiennej globalnej CON
Dla kół o zmiennym wypełnieniu
z rys.4a:

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

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

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

Rys.6d Wartości zmiennej globalnej
CON
Dla kół z wycięciem z
rys.4b:

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
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 Zdjęcia dyszy silnika
samolotu po rozłożeniu na podstawowe kolory składowe
(odpowiednio od prawej: czerwony, zielony, niebieski).

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

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 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. |
|