• Nie Znaleziono Wyników

IMPLEMENTACJA SIECI NEURONOWYCH W NAHEŁMOWYM SYSTEMIE WSKAZYWANIA CELU

N/A
N/A
Protected

Academic year: 2021

Share "IMPLEMENTACJA SIECI NEURONOWYCH W NAHEŁMOWYM SYSTEMIE WSKAZYWANIA CELU"

Copied!
10
0
0

Pełen tekst

(1)

IMPLEMENTACJA SIECI NEURONOWYCH W NAHEŁMOWYM SYSTEMIE

WSKAZYWANIA CELU

Krzysztof Sibilski

1a

, Wiesław Milewski

1b

, Marek Sosnowski

1c

1Zakład Uzbrojenia Lotniczego, Instytut Techniczny Wojsk Lotniczych, Warszawa

akrzysztof.sibilski@itwl.pl, bwiesław.milewski@itwl.pl, cmarek.sosnowski@itwl.pl

Streszczenie

Referat prezentuje metodę sterowania stanowiskiem ruchomym z karabinem zamontowanym na śmigłowcu, z użyciem celownika nahełmowego, bazującą na sztucznej sieci neuronowej. Układ wykrywania położenia hełmu działa na podstawie optoelektronicznego rozpoznawania i analizy w czasie rzeczywistym, uzyskiwanego z minika- mery, obrazu trzech miniaturowych transmiterów podczerwieni (plamek świetlnych) umieszczonych na hełmie pi- lota. Sygnał wizyjny z kamery jest analizowany sprzętowo przez układ elektroniczny, na którego wyjściu otrzy- mywane są trzy pary współrzędnych wyrażone w układzie przetwornika kamery, opisujące położenie obrazów trzech świecących plamek. Do wyznaczania położenia hełmu zastosowano jednokierunkową wielowarstwową sieć neuronową. Sieć ta po etapie uczenia z nauczycielem została zaimplementowana w systemie celownika nahełmo- wego.

Słowa kluczowe: (sztuczna) sieć neuronowa, celownik nahełmowy

NEURAL NETWORK IMPLEMENTATION IN THE HELMET SIGHT POSITIONING SYSTEM

Summary

In this paper is presented a neural network based method of control the helicopter mounted moving gun turret using helmet-mounted sight. Helmet position detection system acts on the base optoelectronic recognition and real time analysis of the spatial constellation of three miniature IR transmitters (light dots) placed on the pilots hel- met. Video signal from sensor is hardware analyzed. At the system output are sent three pair of measured coordi- nates in camera coordinate system, which designate position of three light dots. A multilayer unidirectional neural network is used to assign helmet spatial position. This network after learning stage using a teacher method is im- plemented in the system of helmet-mounted sight.

Keywords: (artificial) neural network, helmet-mounted sight

1. Wstęp

Współczesne śmigłowce bojowe mogą być wyposażo- ne w celownik nahełmowy współpracujący z podsyste- mem wykrywania położenia hełmu. System taki jest przygotowany do implementacji na polskim śmigłowcu W-3PL Głuszec, na którym celownik nahełmowy opera- tora, służy do zgrubnego celowania karabinem zamon- towanym na ruchomym stanowisku podkadłubowym oraz do szybkiego ustawiania osi optycznej głowicy obserwacyjno-celowniczej w pozycji równoległej do osi

wizowania celu wybranego przez operatora. Dalsze precyzyjne celowanie odbywa się za pomocą systemu stabilizowanej głowicy obserwacyjno-celowniczej z funkcją autotrackingu.

Proponowany układ wykrywania położenia hełmu działa na podstawie optoelektronicznego rozpoznawania i analizy w czasie rzeczywistym, uzyskiwanego z mini- kamery, obrazu trzech miniaturowych transmiterów podczerwieni (plamek świetlnych) umieszczonych na

(2)

hełmie w jego płaszczyźnie symetrii. Minikamera jest nieruchoma względem kabiny śmigłowca i umieszczona w taki sposób, by jej oś optyczna celowała w środek hełmu widzianego w jej polu widzenia.

Sygnał wizyjny z kamery analizowany jest sprzętowo przez układ elektroniczny, na którego wyjściu otrzymy- wane są trzy pary współrzędnych wyrażone w układzie przetwornika kamery, opisujące położenie obrazów trzech świecących plamek.

Badania i analizy ruchów głowy operatora w hełmie w trakcie celowania wykazały, że wypadkowy ruch powodujący zmiany położenia przestrzennego hełmu odbywa się w sposób nieliniowy, zależny od amplitudy odchyleń hełmu od położenia przyjętego umownie za położenie zerowe oraz jest zakłócany poprzez czynniki takie jak drgania nosiciela, mimowolne ruchy głowy i zależy od anatomicznych różnic w budowie głowy i szyi pilota.

Ogólnie można stwierdzić, że:

• dla małych wychyleń w azymucie jest to w przybli- żeniu obrót względem osi pionowej przechodzącej przez górny odcinek kręgosłupa szyjnego,

• dla dużych wychyleń w azymucie ruch dodatkowo odbywa się względem osi przechodzącej przez lędź- wiowy odcinek kręgosłupa,

• ruch w elewacji, w zakresie około +/-15 stopni, dokonywany jest względem osi przechodzącej przez punkt leżący w szyjnej części kręgosłupa przy pod- stawie czaszki,

• przy większych amplitudach wychyleń w elewacji, oś obrotu przesuwa się do dołu wzdłuż kręgosłupa szyj- nego.

Z uwagi na nieliniową charakterystykę opisującą ru- chy głowy pilota wraz z hełmem w trakcie celowania oraz jej zależność od indywidualnych cech budowy antropometrycznej proste analityczne jej zamodelowanie jest trudne i wymaga przyjęcia wyników badań doświad- czalnych.

W związku z powyższym pojawiła się koncepcja za- stosowania sztucznej sieci neuronowej do obliczenia kątów azymutu i elewacji hełmu na podstawie danych wejściowych otrzymywanych z optoelektrycznego układu pomiarowego.

W wyniku przeprowadzonych doświadczeń, do wy- znaczania położenia hełmu wykorzystano jednokierun- kową wielowarstwową sieć neuronową z dwiema war- stwami ukrytymi.

Pojedynczy rekord danych wejściowych układu po- miarowego w postaci współrzędnych plamek świetlnych związany jest z zadanymi kątami azymutu (Az zad) i elewacji (El zad) osi celowania hełmu i po zastosowa- niu odpowiednio zaimplementowanego algorytmu obli- czeniowego sieci neuronowej służy do wyliczenia odpo- wiadających mu kątów azymutu (Az obl) i elewacji (El obl) osi celowania hełmu. W celu opracowania algorytmów obliczeniowych i wyboru optymalnej struk-

tury sztucznej sieci neuronowej konieczne jest wcześniej- sze nauczenie sieci polegające na serii pomiarów położeń kątowych hełmu i odpowiadających im odpowiedzi układu pomiarowego. Pojedyncza odpowiedź układu pomiarowego na zadane kąty azymutu i elewacji hełmu, z odpowiednio gęstym rastrem kątowym, w fazie uczenia sieci stanowi rekord odpowiadający rekordowi danych wejściowych. Po zakończeniu fazy uczenia sieci sczyty- wane są współczynniki wagowe sieci i wraz ze strukturą sieci stanowią zestaw danych do uruchomienia docelo- wego algorytmu wyznaczania położenia przestrzennego hełmu pilota w nahełmowym systemie wskazywania celu. System ten, po odpowiednim dostosowaniu, może być stosowany na dowolnym śmigłowcu z ruchomym stanowiskiem strzeleckim.

2. Architektura układu pomiarowego

Do wykonania serii pomiarów koniecznych do na- uczenia sieci opracowano stanowisko pomiarowe, które spełnia następujące wymagania:

• umożliwia zautomatyzowane zadawanie i pomiar kątów azymutu i elewacji osi celowania z określonym rastrem kątowym,

• umożliwia pomiar położenia transmiterów podczer- wieni,

• umożliwia zapis położenia transmiterów podczerwieni i odpowiadające im zadane kąty azymutu i elewacji, stanowiących dane wejściowe do uczenia sieci neuro- nowej,

• umożliwia wyznaczenie kątów azymutu i elewacji osi wizowania hełmu na podstawie danych wejściowych przez algorytm sztucznej sieci neuronowej i przesła- nie ich do modułu wykonawczego,

• umożliwia określenie dokładności i dokonanie pomia- ru błędów wyznaczania położenia kątowego.

Stanowisko pomiarowe (rys. 1) składa się z:

• hełmu z modułem nahełmowym i wskaźnikiem lase- rowym na obrotnicy PanTilt,

• modułu pokładowego,

• minikamery IR,

• obrotnicy PanTilt ze sterownikiem,

• komputera pomiarowego (PC),

• oprogramowania pomiarowo-badawczego,

• ekranu multimedialnego.

(3)

Ekran Laser

Kamera IR

Moduł pokładowy

Komputer pomiarowy Sterownik

obrotnicy PanTilt Moduł nahełmowy

Az zad El zad

Ethernet RS 232 CV

X1,Y1 X2,Y2 X3,Y3

Rys. 1. Stanowisko pomiarowe

Stanowisko to pozwala na uproszczone zadawanie położenia przestrzennego hełmu poprzez zmianę jedynie jego kątów azymutu i elewacji względem dwóch prosto- padłych osi obrotu, bez uwzględnienia przemieszczeń bocznych. Przemieszczenia boczne (prawo, lewo, przód, tył) realizowane są poprzez równoległe przemieszczanie podstawy obrotnicy z określonym rastrem (np. co 1 cm) i dokonywanie serii pomiarów kątowych dla każdego przemieszczenia.

Pomiar sprzętowy płaskich współrzędnych 3 plamek w układzie przetwornika kamery realizowany jest za pomocą sprzętowego układu analizy sygnału video (MASV). Następnie realizowana jest transmisja odczy- tywanych sześciu współrzędnych plamek (X1, Y1, X2, Y2, X3, Y3) z modułu pokładowego do komputera, gdzie następuje wyliczenie kątów azymutu (Az obl) i elewacji (El obl) hełmu z wykorzystaniem sztucznej sieci neuro- nowej, które przekazywane są do układu wykonawczego.

2.1 Moduł pokładowy

Moduł pokładowy detektora elektrooptycznego służy do:

• detekcji sygnałów optycznych generowanych przez transmitery podczerwieni zamontowane na po- wierzchni hełmu,

• wyznaczania współrzędnych tych transmiterów w układzie przetwornika kamery,

• transmisji zmierzonych współrzędnych transmiterów podczerwieni do komputera pomiarowego.

W skład modułu pokładowego wchodzą następujące elementy:

• moduł elektronicznej analizy sygnału video (MASV),

• mikroprocesorowy moduł sterujący - µP,

• moduł konwertera transmisji szeregowej RS-232.

Moduł elektronicznej analizy sygnału video (MASV) stanowi układ sprzętowy, którego głównym zadaniem jest przetworzenie i analiza sygnału wizyjnego otrzymy- wanego z kamery. Moduł MASV analizuje sygnał video na drodze sprzętowej, wydziela z niego sygnały synchro- nizacji pionowej i poziomej oraz znormalizowany sygnał intensywności plamki, a następnie na ich podstawie

generuje sygnały pośrednie, niosące informacje o pozycji świecących plamek w azymucie i elewacji względem początku układu związanego z polem obrazowym kame- ry.

Pozycje plamek w azymucie wyznaczane są przez od- czyt 9-bitowego licznika położenia horyzontalnego taktowanego częstotliwością 8 MHz. Daje to rozdziel- czość poziomą odczytu położenia piksela wynoszącą 512 punktów na linię.

Pozycje plamek w elewacji wyznaczane są przez pro- gramowe zliczanie linii w obrazach nieparzystych przez mikroprocesor sterujący µP.

Sygnały pośrednie: parzystości, intensywności plamki oraz stan licznika analizowane są programowo przez mikroprocesor µP i na ich podstawie wyznaczane są współrzędne 3 transmiterów podczerwieni (plamek) w układzie przetwornika CCD kamery.

Mikroprocesorowy moduł sterujący µP wykonuje na- stępujące zadania:

• synchronizuje się z kamerą, zgodnie z sygnałami linii synchronizacji pionowej i sygnałem parzystości,

• odbiera sygnały pośrednie (parzystości i intensywno- ści plamki) z MASV i wstępnie je przetwarza,

• na podstawie przetworzonego wstępnie sygnału wizyjnego wyznacza i rejestruje współrzędne trzech plamek w układzie związanym z przetwornikiem ob- razowym kamery,

• transmituje szeregowo do komputera pomiarowego wektor danych wejściowych zawierający sześć współ- rzędnych plamek,

• obsługuje mechanizm watchdoga.

2.2 Moduł nahełmowy

Moduł nehełmowy składa się z układu trzech trans- miterów podczerwieni i służy do generowania sygnałów optycznych wykrywanych przez kamerę.

Układ trzech transmiterów podczerwieni (plamek świetlnych) składa się z trzech diod emitujących pod- czerwień umieszczonych na powierzchni hełmu w jego płaszczyźnie symetrii, tak by w pozycji neutralnej znajdowały się w centrum obrazu widzianego przez kamerę. Diody nie leżą na jednej prostej, co polepsza algorytm dekodowania kątów azymutu i elewacji.

2.3 Moduł kamery

Miniaturowa, monochromatyczna kamera z dobraną optyką i filtrem odcinającym światło widzialne stanowi element detekcyjny elektrooptycznego podsystemu wykrywania położenia hełmu pilota. Jest ona umiesz- czona nad hełmem w jego płaszczyźnie symetrii w taki sposób, by triada świecących transmiterów (plamek) na hełmie zawsze znajdowała się w polu widzenia kamery przy maksymalnie szerokim zakresie zmian położenia przestrzennego hełmu.

(4)

Kamera na swoim wyjściu wytwarza wizyjny sygnał video w standardzie CCIR Composite Video (CV) odpowiadający płaskiemu obrazowi przestrzennej konfi- guracji triady świecących plamek. Do badań użyto kamery monochromatycznej z obiektywem o kącie widzenia FOV 90° z założonym filtrem odcinającym światło widzialne.

Sygnał CV służy do dalszej sprzętowej analizy obra- zu przekazywanego przez kamerę. Analiza każdej klatki (ramki) obrazu odbywa w czasie rzeczywistym co 40 ms.

Jest to czas odpowiadający transmisji jednej ramki obrazu składającego się z dwóch półobrazów.

2.4 Komputer pomiarowy

Komputer pomiarowy służy do:

• odbioru z modułu pokładowego kompletnych rekor- dów danych wejściowych odpowiadających bieżącej pozycji hełmu (z użyciem interfejsu szeregowego RS- 232),

• odfiltrowania zakłóceń i szumów generowanych przez sensory,

• wyliczenia na podstawie danych wejściowych kątów azymutu i elewacji osi celowania hełmu na podstawie zaimplementowanych algorytmów sieci neuronowych,

• przesłania wyliczonych kątów azymutu i elewacji osi celowania hełmu do układu wykonawczego.

3. Model sztucznej sieci neuronowej

Działanie sztucznych sieci neuronowych oparte jest na prostych modelach komórek neuronowych opracowa- nych na podstawie obserwacji układów nerwowych zwierząt i ludzi.

+1

X1

X2

Xj

Xm

wk0

wk1

wk2

wkj wkm

Yk

g() f()

g() – funkcja pobudzenia f() – funkcja aktywacji

Rys. 2. Schemat modelu sztucznego neuronu

Na rysunku 2. przedstawiono schemat często stoso- wanego modelu sztucznego neuronu. Składa się on z:

• n+1 wejść (stanowiących odpowiedniki dendrytów synaps komórki nerwowej), z którymi związane są odpowiednie współczynniki liczbowe W zwane wa- gami lub współczynnikami wagowymi,

• jednostki przetwarzającej (odpowiednik ciała komór- ki nerwowej),

• jednego wyjścia Y (odpowiednika aksonu komórki).

Jedno połączenie synaptyczne jest wyróżnione w ten sposób, że wartość sygnału X na jego wejściu jest stała i wynosi +1, natomiast wartość jego współczynnika wagowego W0 stanowi wartość progową dla tego neuro- nu.

Wartość sygnału wyjściowego Y otrzymywanego na wyjściu k-tego neuronu jest określona następującym wzorem:

Y f g n f g W X (1)

gdzie:

W - wektor wag (ważonych połączeń synaptycznych), X - wektor wartości sygnałów wejściowych,

gk() - funkcją pobudzania k-tego neuronu w postaci sumy:

∑ n ∑ w x (2)

gdzie:

- nk - pobudzenie k-tego neuronu,

- fk() - funkcją aktywacji k-tego neuronu, o postaci (w tym przypadku sigmoidalnej):

f (3)

Informacja zgromadzona przez pojedynczy neuron wchodzący w skład sieci neuronowej zawarta jest we współczynnikach wagowych związanych z połączeniami synaptycznymi tej sieci. Dobór współczynników wago- wych decyduje zatem o jakości działania sztucznej sieci neuronowej.

Bardzo istotną rolę w pracy systemów opartych na sztucznych sieciach neuronowych pełni faza treningu, zwana również fazą uczenia sieci. W jej trakcie sieć uczy się poprawnie reagować na wzorce znajdujące się w zbiorze uczącym. Jednocześnie w trakcie tego procesu sieć nabywa zdolności generalizacji, czyli oczekiwanego reagowania na wektory wejściowe, nie zawarte w zbiorze uczącym.

Rozróżnia się dwie podstawowe metody treningu:

nadzorowaną (z nauczycielem) oraz nienadzorowaną (bez nauczyciela). Autorzy niniejszej pracy zastosowali meto- dę nadzorowaną.

W nadzorowanym procesie uczenia sieci (rys. 3) na wejście sieci neuronowej podawane są wektory X ze zbioru uczącego wraz z żądaną poprawną odpowiedzią D. Aktualny wektor odpowiedzi sieci Y na wyjściu służy do określenia miary odległości L pomiędzy wektorem wyjściowym Y a sygnałem uczącym D. W zależności od wartości miary L dokonywana jest aktualizacja wag W w taki sposób, aby dla danego wektora uczącego X miara L[Y,D] była mniejsza od poprzedniej.

(5)

X Y

D Sieć

neuronowa

Generator odległości Miara odległości

L[D,Y]

Sygnał uczący

Nauczyciel

W

Rys. 3. Schemat modelu nadzorowanego nauczania sieci

Poszczególne jednostki neuronowe mogą być połą- czone połączeniami synaptycznymi, tworząc w ten sposób sieć neuronową. W ogólnym przypadku może być to zupełnie dowolna struktura, jednakże podlega ona pewnym ograniczeniom, nie są bowiem znane efektywne algorytmy nauki takich nieregularnych sieci. Stąd też spotykane obecnie struktury neuronowe charakteryzują się dużą regularnością i na tej podstawie wyróżnia się:

• sieci jednokierunkowe (rys. 4)

• sieci rekurencyjne.

Sieci jednokierunkowe tworzy się w wyniku grupo- wania pojedynczych neuronów w warstwy, a następnie łączy się warstwy w ten sposób, że wyjście każdego neuronu z danej warstwy jest połączone z wejściem każdego neuronu z warstwy następnej. Nie mogą jedno- cześnie istnieć połączenia wewnątrz warstwy, jak rów- nież połączenia wsteczne, czyli połączenia z warstwą poprzednią. Sygnały wejściowe podawane są na pierwszą warstwę ukrytą neuronów, a te z kolei stanowią sygnały źródłowe dla kolejnej warstwy. Sieci jednokierunkowe wielowarstwowe często wykorzystują nieliniową funkcję aktywacji typu sigmoidalnego unipolarną (niesymetrycz- ną) lub bipolarną (symetryczną). W sieci jednokierun- kowej sygnał przechodzi przez dany neutron tylko jeden raz, w jednym kierunku od wejścia do wyjścia. Metody uczenia takich sieci są proste i łatwe do realizacji w praktyce. Ich uczenie zwykle odbywa się z nauczycie- lem. Ponieważ sieć wielowarstwowa o trzech warstwach realizuje odwzorowanie dowolnej przestrzeni X w dowol- ną przestrzeń Y w postaci X→Y, wynika więc z tego, że omawiana sieć powinna być zbudowana przynajmniej z trzech warstw.

X1

Y1

X2

Y2

X3

Y3

2

4 3 1

Az

El +1

w0

w6

WEJŚCIE Warstwa WYJŚCIE

ukryta neuronów

Rys. 4. Struktura sieci neuronowej jednokierunkowej

W sieciach rekurencyjnych, takich jak: Hamminga, Hopfielda, typu BAM i Elmana [1], [2] istnieją sprzęże- nia zwrotne między wejściem a wyjściem. Zależności dynamiczne, jakie panują w sieci, są widoczne na każ- dym etapie działania. Zmiana stanu jednego neuronu przenosi się przez masowe sprzężenie zwrotne na całą sieć, wywołując stan przejściowy, kończący się określo- nym stanem ustalonym na ogół innym niż stan poprzed- ni. Dopuszcza się istnienie sprzężeń zwrotnych, tzn.

wyjścia neuronów mogą być połączone z wejściami neuronów tej samej warstwy lub warstw pośrednich.

Informacja oscyluje między warstwami lub w obrębie warstw aż do spełnienia pewnego kryterium zbieżności i dopiero wtedy jest przekazywana na wyjście sieci.

4. Badania

4.1 Pozyskiwanie danych

Pozycje plamek w azymucie wyznaczane są z 9- bitową dokładnością, co daje rozdzielczość poziomą odczytu położenia piksela wynoszącą 512 punktów na linię.

Pozycje plamek w elewacji wyznaczane są przez pro- gramowe zliczanie linii w obrazach nieparzystych przez mikroprocesor sterujący w module pokładowym, w zakresie od 20 do 290.

Sygnały pośrednie: parzystości, intensywności plamki oraz stan licznika analizowane są programowo przez ten mikroprocesor i na ich podstawie wyznaczane są współ- rzędne trzech transmiterów podczerwieni (plamek) w układzie przetwornika kamery.

Wyznaczone współrzędne przesyłane są do kompute- ra badawczego i archiwizowane w pliku tekstowym wraz z odpowiadającymi im wartościami zadanego azymutu i elewacji.

Pojedynczy rekord danych ma postać: X1, Y1, X2, Y2, X3, Y3, Az zad, El zad.

W procesie pozyskiwania danych kąty zadawane są z rastrem:

• dla azymutu - 2 deg,

• dla elewacji - 1 deg.

Kąt azymutu zmieniany jest w zakresie od -80° do +80°, zaś kąt elewacji w zakresie od -25° do +12°.

Zmianę kąta, odczyt i zapis danych pomiarowych doko- nywany jest co ok. 330 ms.

Po zarchiwizowaniu wszystkich rekordów danych do- konujemy przesunięcia równoległego obrotnicy PanTilt układu pomiarowego w zakresie do 5 cm lewo-prawo i przód-tył z rastrem co 1 cm i dla każdej przesuniętej pozycji wykonujemy serię pomiarów.

Następnym krokiem jest przygotowanie pliku danych wejściowych do uczenia sieci neuronowej. W tym celu wszystkie rekordy danych zapisuje się w jednym pliku tekstowym, po czym poddaje analizie w programie Excel w celu wyeliminowania ewentualnych błędów

(6)

w rekordach danych (brak współrzędnych jednego z transmiterów podczerwieni).

Należy pamiętać o tym, że dane wejściowe powinny być znormalizowane do 1, tzn. zawierać się w przedziale (0;1). Jest to konieczne, jeżeli chce się stosować standar- dowe metody badania sieci i specjalizowane aplikacje sieciowe. W tym celu należy znaleźć największą i najmniejszą wartość danych, obliczyć ich różnicę (zakres), a następnie każdą bieżącą wartość podzielić przez obliczoną różnicę. Normalizację można przeprowa- dzić oddzielnie dla każdej danej wejściowej i wyjściowej, tzn. szukać oddzielnie maksymalnej i minimalnej warto- ści spośród wszystkich zgromadzonych wartości dla każdej danej. Istotne jest późniejsze dokonanie denorma- lizacji z odpowiednimi współczynnikami, odwrotnymi niż przy normalizacji.

4.2 Dobór struktury sieci

W celu doboru optymalnej struktury sztucznej sieci neuronowej przyjęto następujące założenia:

• rozpatrywane będą sieci jednokierunkowe z jedną i dwiema warstwami ukrytymi,

• sieć będzie posiadała 6 wejść i 2 wyjścia,

• ilość neuronów w warstwach ukrytych zostanie dobrana w trakcie badań.

W trakcie badań analizowano sieci z jedną oraz dwiema ukrytymi warstwami neuronów o strukturze, m.in. 6-4-2, 6-8-2, 6-12-2, 6-6-4-2, 6-8-4-2, 6-18-8-2 i na podstawie analizy dokładności i szybkości uczenia się sieci przyjęto sieć o strukturze 6-9-5-2.

4.3 Uczenie sieci

Jedną z głównych zalet sieci neuronowej w stosunku do innych metod przetwarzania danych jest umiejętność generalizacji wiedzy, co umożliwia poprawną reakcję na sygnały nieprzewidziane przez projektanta. W odróżnie- niu od metod matematycznych lub algorytmicznych sieć może być wykorzystywana dla wielu różnych modeli, bez znaczących modyfikacji. Powyższe cechy mogą zostać uzyskane tylko przez zastosowanie odpowiedniego algo- rytmu uczenia. Istnieje wiele algorytmów uczenia sieci.

W tym przypadku zastosowano metodę wstecznej pro- pagacji błędów z modyfikacjami.

Przed rozpoczęciem procesu uczenia należy ustalić strukturę sieci oraz parametry uczenia, tj. szybkość uczenia, moment uczenia, tryb uczenia, maksymalną liczbę epok uczenia oraz założoną dokładność.

Algorytm wstecznej propagacji błędów jest podsta- wowym algorytmem uczenia nadzorowanego wielowar- stwowych jednokierunkowych sieci neuronowych. Polega on na takiej zmianie wag sygnałów wejściowych dla każdego neuronu i w każdej warstwie, aby wartość błędu dla kolejnych par uczących zawartych w zbiorze uczą- cym była jak najmniejsza. Algorytm wykorzystuje

w tym celu metodę gradientową, czyli najszybszego spadku.

Ogólny schemat przebiegu uczenia nadzorowanego sieci neuronowej przebiega wg algorytmu przedstawione- go na rys. 5.

Nie

Inicjalizacja sieci i algorytmu

Obliczanie wartości wyjściowej sieci na podstawie danych

Obliczanie błędów sieci

Korekcja wag

Koniec Czy sieć nauczona?

Tak

Rys. 5. Schemat algorytmu uczenia sieci

Przebieg algorytmu dla wszystkich elementów ciągu uczącego nazywa się epoką.

Algorytm wstecznej propagacji błędów ma postać [3]:

! " #$% & '

*)+,-() ! .) ! #$% & 1, …, ' 2 13(4)

( ! ! 45 6 ! (5)

.7 ! 8 1 .7 ! 8 2:( ! ;7 ! (6) gdzie:

- ! # ! 2 < ! – błąd sygnału wyjściowego i-tego neuronu, i=1,...,Nk, k-tej warstwy, k=1,...,L;

- # – sygnał wzorcowy i-tego neuronu, i=1,...,Nk, k-tej warstwy, k=1,...,L;

- < – sygnał wyjściowy i-tego neuronu, i=1,...,Nk, k-tej warstwy, k=1,...,L;

- ( – błąd i-tego neuronu, i=1,...,Nk, k-tej warstwy, k=1,...,L;

- 6 ! ∑*7 >+=-.7 ! ;7 ! – sygnał wyjściowy części liniowej i-tego neuronu, i=1,...,Nk, k-tej war- stwy, k=1,...,L;

- .7 ! – waga i-tego neuronu, i=1,...,Nk, k-tej war- stwy, k=1,...,L, łącząca go z j-tym wejściem ;7 , j=1,...,Nk-1;

- L – liczba warstw sieci;

- Nk – liczba neuronów w k-tej warstwie, k=1,...,L;

- f – funkcja aktywacji;

- : – współczynnik uczenia.

Wartości początkowe wszystkich wag sieci są wybie- rane losowo (zazwyczaj z przedziału [-0,5, 0,5]), nato-

(7)

miast współczynnik uczenia µ przyjmuje zazwyczaj wartości z przedziału (0, 1〉.

Algorytm wstecznej propagacji błędów posiada jed- nak wady. Do najistotniejszych zalicza się dużą liczbę iteracji potrzebną do osiągnięcia oczekiwanego wyniku oraz wrażliwość na lokalne minima funkcji błędu. Dzia- łanie tego algorytmu zależy również od odpowiedniego dobrania współczynnika szybkości uczenia. Zbyt mały powoduje długą pracę algorytmu, a zbyt duży może doprowadzić do oscylacji. Istnieje jednak metoda zwięk- szania tempa uczenia bez pogorszenia jakości uczenia oraz przy mniejszej wrażliwości na minima lokalne. Jest to momentowa metoda wstecznej propagacji błędu.

Modyfikacja podstawowego algorytmu polega tu na dodaniu członu, który pełni rolę współczynnika bez- władności przy modyfikacji wagi. Powoduje to większą płynność zmian oraz "przeskakiwanie" nad minimami lokalnymi.

Postać po modyfikacji wygląda następująco:

.7 ! 8 1 .7 ! 8 2:( ! 45 6 ! ;7 ! 8

? @.7 ! 2 .7 ! 2 1 A (7)

gdzie:

- α – współczynnik momentu.

Współczynnik α przyjmuje wartości z przedziału (0, 1〉. Przy wartościach α ≈ 1 udział poprzednich przyro- stów wag jest duży (duża bezwładność algorytmu), a dla małych wartości α udział ten jest nieznaczny. Zazwyczaj stosuje się α = 0,9.

Po zakończeniu procesu uczenia, w wyniku osiągnię- cia zadanego parametru błędu średniokwadratowego na poziomie 1% lub maksymalnej liczny epok uczenia (gdy tak niskiego błędu nie można osiągnąć) należy zapisać współczynniki wagowe. Czynność ta kończy proces uczenia, a jakość osiągniętych wyników można obejrzeć, przeglądając zawartość odpowiedniego pliku programu.

Wyliczonych wartości wag można dalej używać w apli- kacji po odczytaniu ich z pliku „weights.csv”.

Proces uczenia sieci można podglądać w jego trakcie, wywołując graficzne zobrazowanie próbek w funkcji błędu wskazań sieci neuronowej.

4.4 Implementacja współczynników wagowych

Implementacja sieci neuronowej w strukturę opro- gramowania układu wykrywania może odbywać się na poziomie oprogramowania mikroprocesora modułu nahełmowego lub też na poziomie aplikacji użytkowej zainstalowanej w komputerze pomiarowym (docelowo w komputerze pokładowym na śmigłowcu).

W pierwszym przypadku wyznaczone w trakcie pro- cesu uczenia sieci współczynniki wagowe odpowiadające przyjętej strukturze sieci umieszczone są w pamięci Flash mikroprocesora modułu nahełmowego i użyte w algorytmie wyliczającym wyjściowe kąty azymutu

i elewacji na podstawie aktualnego rekordu danych wejściowych. Wyliczone kąty azymutu i elewacji osi wizowania hełmu będą przesyłane synchronicznie do komputera pomiarowego.

W drugim przypadku współczynniki wagowe umiesz- czone są w aplikacji użytkowej komputera pomiarowego (pokładowego śmigłowca) i użyte w algorytmie wylicza- jącym wyjściowe kąty azymutu i elewacji osi wizowania hełmu na podstawie aktualnego rekordu danych wej- ściowych, przesyłanych z modułu nahełmowego. Wyli- czone kąty używane są przez inne aplikacje użytkowe zintegrowanego systemu awionicznego śmigłowca. Roz- wiązanie to jest bardziej elastyczne, gdyż pozwala na łatwe modyfikacje algorytmów na poziomie aplikacji użytkownika bez wnikania w strukturę sprzętową modu- łów mikroprocesorowych.

W obu przypadkach konieczne jest synchroniczne przesłanie danych do komputera pomiarowego.

Do zaimplementowania wyliczonych współczynników wagowych sieci w algorytmach wyliczających dane wyjściowe: kąt azymutu i kąt elewacji konieczne jest opracowanie funkcji propagacji, która na podstawie znormalizowanego wektora danych wejściowych i wyliczonej w procesie uruchamiania macierzy współ- czynników wagowych wylicza wyżej wymienione dane wyjściowe na podstawie prostego algorytmu składające- go się z kilkunastu operacji mnożenia i dodawania.

Normalizacji surowych danych wejściowych, wywo- łania funkcji propagacji i denormalizacji wyników, czyli wyrażenia ich w postaci wielkości kątowych, dokonuje się za pomocą specjalizowanych procedur.

Podstawowe zadania, jakie ma spełniać docelowa aplikacja zainstalowana na komputerze graficznym w zakresie obsługi sieci neuronowej w układzie wykry- wania położenia przestrzennego hełmu, to:

• odbieranie, z użyciem łącza szeregowego, komunika- tów zawierających rekordy danych wejściowych prze- syłanych z modułu pokładowego i ich rozkodowywa- nie,

• filtracja docierających danych, zapewniająca odrzu- cenie danych odbiegających od wartości z przewidy- wanego zakresu, na skutek różnych czynników, ta- kich jak zakłócenia synchronizacji przy transmisji miedzy procesorami, itp.,

• wyliczanie kątów azymutu i elewacji hełmu na podstawie rekordu danych wejściowych z wykorzy- staniem opracowanego algorytmu sieci neuronowej i współczynników wagowych wyznaczonych w proce- sie nauczania sieci, zaimplementowanych w odpo- wiednich strukturach tej aplikacji,

• wysyłanie wyliczonych wartości kątów azymutu i elewacji hełmu do wykorzystania w wyższych war- stwach użytkowych zintegrowanego systemu awio- nicznego śmigłowca.

Aplikacja działa w tle, bez konieczności używania in- terfejsu graficznego użytkownika.

(8)

4.5 Oprogramowanie pomiarowo-badawcze

W celu przeprowadzenia badań ilościowych systemu i doboru optymalnej struktury sieci neuronowej opraco- wano specjalizowane oprogramowanie pomiarowo- badawcze w postaci aplikacji Orion.exe.

Podstawowe zadania, jakie spełnia aplikacja zainsta- lowana na komputerze pomiarowym w zakresie obsługi sieci neuronowej obsługującej układ wykrywania położe- nia przestrzennego hełmu, są następujące:

1) związane z odbiorem i dekodowaniem komunikatów otrzymywanych po łączu szeregowym z modułu po- kładowego, zawierających komplet danych pomiaro- wych z czujników układu wykrywania (zadania te obejmują także filtrację otrzymywanych danych wej- ściowych otrzymywanych w kolejnych komunika- tach),

2) związane z obsługą stanowiska pomiarowego do uczenia sieci neuronowej i jego automatyzacji, obej- mujące między innymi ręczne i automatyczne stero- wanie obrotnicą PanTilt z określonym zadawanym krokiem w azymucie i elewacji,

3) związane z nauczeniem sztucznej sieci neuronowej, 4) związane z wykorzystaniem nauczonej sieci do wyli-

czania kątów azymutu i elewacji hełmu na podstawie danych wejściowych, algorytmu implementującego sztuczną sieć neuronową,

5) związane z uruchamianiem nowego systemu pomia- rowo-badawczego, ułatwiające ten proces i zapewniające między innymi:

- łatwe sterowanie wywoływaniem funkcji po- miarowych, zarządzanie procedurami i zadawa- nie parametrów,

- podgląd gromadzonych przez system wyników, - wizualizację w postaci cyfrowej i graficznej, - monitorowanie prawidłowego działania układu

pomiarowo-badawczego,

- obsługę procedur testowych, pomiarowych i archiwizujących zapisujących pozyskiwane dane do plików w celu analiz w procesie uru- chamiania.

- łatwy transfer wyników do innych aplikacji używanych do uczenia sztucznej sieci neurono- wej.

Widok interfejsu graficznego programu przedstawio- no na rys.6.

Rys. 6. Okno interfejsu programu

Aplikacja jest prosta w obsłudze i posiada jedno okno, w którym w zależności o aktualnego trybu pracy wyświetlany jest komplet danych badawczo- pomiarowych i elementy interfejsu sterowania. Ułatwia to wykonywanie bieżącej dokumentacji pomiarowej poprzez bezpośrednie zrzuty ekranowe do schowka systemowego.

Po upewnieniu się, że badany układ pomiarowy jest załączony i podłączony do komputera za pomocą inter- fejsu szeregowego, a obrotnica PanTilt podłączona jest do sieci lokalnej oraz po załączeniu aplikacji użytkowej, w oknie wizualizacji plamek pojawiają się 3 kolorowe plamki ustawione w kolejności: czerwona, zielona, nie- bieska (liczy się je od góry), a w polach danych pomia- rowych pojawiają się odpowiednie odczyty cyfrowe.

Następnie nawiązywane jest połączenie z serwerem obrotnicy PanTilt poprzez naciśnięcie przycisku sterują- cego na panelu sterowania obrotnicą. Jest to sygnalizo- wane poprzez czerwone podświetlenie panelu i komuni- kat o adresie IP podłączonego serwera. Po naciśnięciu klawisza synchronizacji obrotnica powinna ustawić się w położeniu zerowym.

Pozycję obrotnicy można ręcznie sprowadzić do po- łożenia początkowego poprzez naciskanie klawiszy strzałek w panelach zadawania kątów.

Wyboru automatycznego zadawania kątów azymutu i elewacji obrotnicy dokonuje się poprzez zaznaczenie opcji pracy azymut automatyczny (Auto_Azym) w panelu zadawania kąta azymutu. Obrotnica rozpocznie pracę z określonym rastrem kątowym, a w polu Memo1 będą wyświetlane kolejne odczytywane wartości pomia- rowe. Po zakończeniu pomiaru wyniki mogą być skopio- wane z pola Memo1 do schowka, a następnie przekopio- wane do dowolnego edytora tekstowego w celu utworze- nia pliku wynikowego z danymi. Plik danych wejścio- wych zawiera rekordy pomiarowe składające się z trzech par współrzędnych transmiterów podczerwieni i odpo- wiadających im wartości zadanych kątów, poprzez skopiowanie zawartości pola Memo1 do pliku z danymi.

Aplikacja na komputer pomiarowy napisana jest dla rozszerzonej wersji systemu wykrywania, obejmującej wykrywanie hybrydowe, tzn. uwzględniające dodatkowe

(9)

dane z czujników akcelerometrycznych zamontowanych dodatkowo w module nahełmowym.

Plik ten może być następnie wykorzystywany w pro- cesie uczenia sieci o wybranej wcześniej strukturze, za pomocą zewnętrznego specjalizowanego oprogramowania NetMaker.

4.6 System oceny ilościowej

Oceny ilościowej wyliczonych kątów azymutu i ele- wacji dokonano programowo, określając błąd tych kątów wyliczonych przez sieć.

Przykładowy histogram liczby próbek w funkcji błę- du dla azymutu (czerwona linia) i elewacji (niebieska linia), po rozpoczęciu procesu uczenia przedstawia rys. 7, a po zakończeniu procesu uczenia przedstawia rys. 8. Na histogramie, w trakcie uczenia sieci, można zaobserwo- wać zagęszczanie próbek w okolicach zera. Błąd przed- stawiony jest jako różnica pomiędzy kątem zadanym a kątem obliczonym, który wcześniej został znormalizowa- ny, czyli wartości z przedziału od minimalnego do maksymalnego kąta, wyrażonego w stopniach, zostały sprowadzone do przedziału (0,1). Wartość błędu 0,2 na histogramach poniżej odpowiada w przybliżeniu 1° kąta azymutu i elewacji.

Ilość próbek

Błąd wyjściowy Elewacja

Azymut

Rys. 7. Histogram próbek po rozpoczęciu nauki sieci

Ilość próbek

Błąd wyjściowy Elewacja

Azymut

Rys. 8. Histogram próbek po zakończeniu nauki sieci

Innym graficznym zobrazowaniem może być niejako

„przestrzenny” wykres błędów azymutu w funkcji błę- dów elewacji, odpowiednio po rozpoczęciu procesu uczenia – rys. 9, a po zakończeniu – rys. 10. Kolory oznaczają wartości znormalizowanych kątów wejścio- wych. Wykresy te są połączeniem histogramu azymutu – oś rzędnych i elewacji – oś odciętych.

Błąd wyjściowy Azymutu

Błąd wyjściowy Elewacji

Rys. 9. Wykres po rozpoczęciu procesu uczenia

Błąd wyjściowy Azymutu

Błąd wyjściowy Elewacji

Rys. 10. Wykres po zakończeniu procesu uczenia

4.7 System oceny jakościowej

System oceny jakościowej zbudowano poprzez doda- nie do stanowiska pomiarowego układu wykonawczego (rys. 11).

Wyliczone przez sztuczną sieć neuronową kąty azy- mutu i elewacji są przesyłane do układu wykonawczego i przy włączonych wskaźnikach laserowych w układzie pomiarowym i wykonawczym można obserwować ruch

(10)

plamki lasera odpracowujący te same kąty w obu ukła- dach.

Ekran

Laser

Moduł pokładowy

Komputer pomiarowy Układ

pomiarowy

Ethernet

RS232

CV

Laser

Układ wykonawczy

Switch Kamera

Rys. 11. Stanowisko do oceny jakościowej

5. Podsumowanie

Na podstawie wyników badań można stwierdzić, że implementacja sztucznych sieci neuronowych w naheł- mowym systemie wskazywania celu pozwala na określe- nie kątów azymutu i elewacji z dokładnością nie mniej- szą niż 1°, przy czym dla 80% błędów dokładność wzra-

sta dwukrotnie. Otrzymana dokładność zapewnia szyb- kie ustawienie w rejon celu osi optycznej głowicy obser- wacyjno-celowniczej sprzężonej z ruchomym karabinem.

Dalsze precyzyjne celowanie może odbywać się z uży- ciem głowicy obserwacyjno-celowniczej posiadającej automatyczny system śledzenia celu.

Jednym z istotniejszych zalet zastosowania sztucz- nych sieci neuronowych w nahełmowym systemie wska- zywania celu jest wypracowywanie sygnałów sterujących ruchomym stanowiskiem strzeleckim w czasie rzeczywi- stym (ok. 20 ms), co w dynamice realizacji zadań w powietrzu ma kluczowe znaczenie dla dokładności celowania.

Nahełmowy system wskazywania celu, w obecnej po- staci, został zaimplementowany na testowym (nie lata- jącym) egzemplarzu śmigłowca W-3PL i realizuje po- prawnie zadania wskazywania celu.

Prezentowany system wskazywania celu, po odpo- wiednim dostosowaniu, może być stosowany na dowolnej platformie (śmigłowcu) z zaimplementowanym rucho- mym stanowiskiem strzeleckim.

Literatura

1. Rutkowski L.: Metody i techniki sztucznej inteligencji. Warszawa: PWN, 2012.

2. Flasiński M.: Wstęp do sztucznej inteligencji. Warszawa: PWN, 2011.

3. Duch W., Korbicz J., Rutkowski L., Tadeusiewicz R.: Biocybernetyka i inżynieria biomedyczna 2000. T. 6: Sieci neuronowe. Warszawa: PAN, 2000.

4. Velger M.: Helmet-Mounted Displeys and Sights. Boston&London: Artech House, 1998.

5. Praca zbiorowa pod kierownictwem Rash C.E.: Helmet-Mounted Displeys: Design Issues for Rotary-Wing Air- craft. Washington USA: SPIE Press, 1999.

Cytaty

Powiązane dokumenty

10 Jeśli w badaniu USG TV w drugim trymestrze ciąży stwierdzi się, że łożysko jest nisko schodzące lub przodujące, informacje dotyczące ro- kowania można uzyskać, oceniając

Napisać metodę realizującą przekazywanie wsteczne błędów do kolejnych neuronów w poprzednich warstwach sieci od wyjścia do wejścia i obliczania korekty wag sieci3. Następnie

Samoorganizacja w sieci neuronowej (np. SOM) umożliwiają uczenie sieci bez nauczyciela (unsupervised), którego celem jest wykształcenie w sieci neuronów, które by reagowały na

Jeśli natomiast wszystkie 3 rezultaty są różne, wysyła do obydwóch stacji ramki DISCONNECT i przechodzi do oczekiwania na przyłączenie do innej grupy

W razie problemów z zauważeniem, gdzie znajduje się wskazany w zadaniu kąt można posiłkować się rysunkiem poniżej.. Podręcznik

Algorytm Ewolucyjny sterowany jest wieloma parametrami i bardzo trudno uchwycić wpływ poszczególnych parametrów na jakość procesu uczenia, w tym na szybkość

Czas rodzenia, i czas umierania.. N atom iast obserw acje nasze w y kazu ją daleko posuniętą ostrożność tłum acza, jego dążność do precyzyjnego oddania

Na potrzeby procesu oceny systemu analiz danych giełdowych wykorzysta- no dane z sesji giełdowych pomiędzy 01.01.2009 r.. Dane te ob- razowały zachowania akcji polskich