• No results found

Categorization and change detection using synthetic aperture radar data with deep learning algorithm

N/A
N/A
Protected

Academic year: 2021

Share "Categorization and change detection using synthetic aperture radar data with deep learning algorithm"

Copied!
93
0
0

Loading.... (view fulltext now)

Full text

(1)UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO. Aleš Obal. KATEGORIZACIJA IN DETEKCIJA SPREMEMB V RADARSKIH SLIKAH SAR Z UPORABO ALGORITMA GLOBOKEGA UČENJA Magistrsko delo. Maribor, januar 2018.

(2)

(3) KATEGORIZACIJA IN DETEKCIJA SPREMEMB V RADARSKIH SLIKAH SAR Z UPORABO ALGORITMA GLOBOKEGA UČENJA Magistrsko delo. Študent:. Aleš Obal. Študijski program:. Študijski program 2. stopnje Elektrotehnika. Smer:. Avtomatika in robotika. Mentor:. red. prof. dr. Dušan Gleich. Lektor:. Žiga Oset.

(4)

(5)

(6)

(7) Zahvala. Zahvaljujem se mentorju red. prof. dr. Dušanu Gleichu za strokovne nasvete, vsa priporočila ter vložena trud in čas.. Najlepša hvala staršem, ki so mi študij omogočili. Posebna zahvala gre mojemu staremu očetu prof. dr. Miloradu Miloradovu, da me je podpiral..

(8)

(9) Kategorizacija in detekcija sprememb v radarskih slikah SAR z uporabo algoritma globokega učenja Ključne besede: SAR, kategorizacija slik, detekcija sprememb v sliki, globoka nevronska mreža, paralelno procesiranje. UDK: 004.032.26:550.837.7(043.2). Povzetek. V magistrskem delu je opisan postopek kategorizacije in detekcije sprememb v radarskih slikah SAR z uporabo konvolucijske nevronske mreže, tako imenovane »Deep Learning«. V ta namen je bil izdelan program v Matlab programskem okolju, ki je sposoben izrezati SAR radarsko sliko na poljubne manjše dele, ustvariti konvolucijsko nevronsko mrežo, jo naučiti ter uporabiti pri klasifikaciji in detekciji predelov površja na Zemlji. Programu je dodana tudi opcija uporabe grafično procesne enote »GPU« za pohitritev učenja konvolucijskih nevronskih mrež.. I.

(10) Categorization and detection of changes in radar SAR images using deep learning algorithms Keywords: SAR, image categorization, change detection in image, deep neural network, parallel processing. UDK: 004.032.26:550.837.7(043.2). Abstract. The master's thesis describes the process of categorization and detection of changes in SAR radar images using a convolutional neural network, the so-called "Deep Learning." A program was developed In the Matlab program environment for this purpose. The program is capable of cutting the SAR radar image into smaller thumbnails, creating convolution neural network for learning and recognition of Earth's surface parts and changes on it. The program also contains an option to use the graphics processing unit »GPU« for speeding up the learning process of the convolutional neural network.. II.

(11) KAZALO VSEBINE 1. UVOD .................................................................................................................... 1 1.1. Cilj in omejitve magistrske naloge .......................................................................... 4. 2. POSTOPEK OD SNEMANJA DO OBDELAVE SLIK ....................................................... 6. 3. OPIS GRADNIKOV .................................................................................................. 9 3.1. Opis radarja ............................................................................................................. 9. 3.1.1 Radar z umetno odprtino .................................................................................. 12 3.1.2 Princip delovanja radarja z umetno odprtino ................................................... 13 3.2. Nevronske mreže .................................................................................................. 14. 3.2.1 Globoke arhitekture »Deep Learning«.............................................................. 17 3.2.2 Arhitektura konvolucijskih nevronskih mrež »CNN« ........................................ 18 3.2.3 Plasti, ki sestavljajo konvolucijsko nevronsko mrežo »CNN« ........................... 18. 4. 3.3. GLCM ..................................................................................................................... 26. 3.4. Cuda ...................................................................................................................... 30. 3.5. Matlab 2017 .......................................................................................................... 31. IZDELAVA PROGRAMA ......................................................................................... 32 4.1. Model CNN pri učenju, kategorizaciji in detekciji sprememb v SAR slikah .......... 32. 4.2. Kategorizacija radarskih slik SAR .......................................................................... 33. 4.2.1 Izrez slik ............................................................................................................. 35 4.2.2 Učenje................................................................................................................ 37 4.2.3 Prepoznaj........................................................................................................... 40 4.3. Detekcija sprememb v radarskih slikah SAR ......................................................... 42. 4.3.1 Izrez slik za učenje sprememb........................................................................... 45 4.3.2 Učenje sprememb ............................................................................................. 49 4.3.3 Prepoznaj spremembe ...................................................................................... 50. III.

(12) 5. PREDSTAVITEV REZULTATOV ................................................................................ 52 5.1. Prikaz kategorizacije površja z naučeno CNN ....................................................... 52. 5.2. Prikaz učenja in testiranja uspešnosti CNN pri detekciji sprememb .................... 54. 5.3. Meritev hitrost učenja CNN glede na uporabljeno CPU in GPU ........................... 56. 5.4. Meritev hitrosti in uspešnosti učenja glede na izbrano število kategorij ............ 57. 5.5. Uspešnost nevronske mreže s povečevanjem števila vhodnih podatkov (slik) pri. enakemu številu izhodnih kategorij ................................................................................ 59 5.6. Primerjava uspešnosti kategorizacije površja z uporabo GLCM značilk in brez. GLCM značilk kot vhod pri učenju ................................................................................... 62 5.7. Primerjava uspešnosti in hitrosti učenja z uporabo ene in dveh konvolucijskih. plasti 65 6. SKLEP ................................................................................................................... 69. 7. VIRI...................................................................................................................... 70. IV.

(13) KAZALO SLIK Slika 1: Časovni pregled SAR radarjev [2] .............................................................................. 1 Slika 2: Prikaz odboja elektromagnetnih žarkov od vegetacije [3]........................................ 2 Slika 3: Satelit TerraSAR-X [4] ................................................................................................ 6 Slika 4: Postopek od snemanja do obdelave radarskih slik SAR ............................................ 7 Slika 5: Razdelitev programa za kategorizacijo SAR slik ........................................................ 8 Slika 6: Razdelitev programa za detekcijo sprememb v SAR slikah....................................... 8 Slika 7: Celotni spekter elektromagnetnega valovanja [9] .................................................... 9 Slika 8: Širjenje elektromagnetnega valovanja [10] ............................................................ 10 Slika 9: Čirk signal ................................................................................................................ 11 Slika 10: Avto-korelacija čirk signala [12] ............................................................................ 11 Slika 11: Stranski geometrični profil radarskega sistema [14] ............................................ 13 Slika 12: Navadna umetna nevronska mreža z enim skritim slojem ................................... 15 Slika 13: Seštevalnik ter aktivacijska funkcija na podlagi uteženih vhodov določata izhod 16 Slika 14: Navadna nevronska mreža levo in konvolucijska nevronska mreža desno [18]... 18 Slika 15: (a) Prikaz konvolucije s korakom 1, (b) Prikaz konvolucije s korakom 2, (c) Uteži [18]....................................................................................................................................... 21 Slika 16: Konvolucijska plast ................................................................................................ 22 Slika 17: Rezultat učenja CNN so seti uteži oz. filtri [18] ..................................................... 23 Slika 18: Združevalna plast .................................................................................................. 24 Slika 19: AlexNet CNN [19] .................................................................................................. 25 Slika 20: Geometrija GLCM za štiri dolžine (d) in štiri kote (θ) [21] .................................... 27 Slika 21: Primer šestih izračunanih GLCM značilk, prikazanih v RGB sliki ........................... 29 Slika 22: Program za kategorizacijo radarskih slik SAR, izdelan v Matlabu ......................... 34 Slika 23: Okno s prikazano radarsko sliko SAR .................................................................... 35 Slika 24: Izrezana slika velikosti 200 x 200 slikovnih točk ................................................... 36 Slika 25: Shranjevanje slik SAR v direktorije z njihovimi imeni (pred priprava za učenje) .. 37 Slika 26: Primer kategorizirane slike SAR ............................................................................ 41 Slika 27: Legenda kategorij, ki jih želimo prepoznati na površju ........................................ 42. V.

(14) Slika 28: Program za detekcijo sprememb v radarskih slikah SAR, izdelan v Matlabu ....... 44 Slika 29: Okno s prikazano radarsko sliko SAR .................................................................... 46 Slika 30: Shranjevanje slik SAR v direktorije z njihovimi imeni (pred priprava za učenje) .. 47 Slika 31: RGB slika iz izračunanih GLCM značilk dveh nespremenjenih ampak različno časovno posnetih slik .......................................................................................................... 48 Slika 32: RGB slika iz izračunanih GLCM značilk dveh spremenjenih ampak različno časovno posnetih slik .......................................................................................................... 48 Slika 33: Kategorizirana slika SAR »mesto (svetlo modra), gozd (rumena) in reka (roza)« 53 Slika 34: Kategorizirane RGB slike velikosti 1200 x 400 x 3, izračunane iz GLCM značilk ... 55 Slika 35: Radarski sliki SAR, posneti v časovnem zamiku enega leta .................................. 55 Slika 36:Rezultat algoritma za detekcijo sprememb na površju Zemlje ............................. 56 Slika 37: Graf odvisnosti uspešnosti od števila uporabljenih kategorij .............................. 58 Slika 38: : Graf odvisnosti časa učenja od števila uporabljenih kategorij ........................... 58 Slika 39: (A) je osnovna slika, izrezana iz večje SAR slike; (B) je nastala iz slike A po izračunu GLCM značilk......................................................................................................... 62 Slika 40: : Proces učenja na vhodnih podatkih, pridobljenih iz izračunanih GLCM značilk. 64 Slika 41: Proces učenja s SAR slikami velikosti 200 x 200 slikovnih točk ............................ 64 Slika 42: Filtri konvolucijske plasti ena ................................................................................ 67 Slika 43: Filtri konvolucijske plasti dve ................................................................................ 67. VI.

(15) KAZALO TABEL Tabela 1: Zgradba konvolucijskih nevronskih mrež – CNN ................................................. 19 Tabela 2: Zgodovina konvolucijskih nevronskih mrež – CNN [20] ...................................... 25 Tabela 3: Enačbe za izračun tekstur GLCM [21] .................................................................. 28 Tabela 4: Matlabov model CNN (angl. LettersClassificationNet) ........................................ 32 Tabela 5: Opis podprogramov za kategorizacijo radarskih slik SAR .................................... 34 Tabela 6: Konfiguracija CNN za učenje ................................................................................ 38 Tabela 7: Parametri CNN ..................................................................................................... 39 Tabela 8: Algoritem za kategorizacijo površja iz radarske slike .......................................... 40 Tabela 9: Opis podprogramov za detekcijo sprememb v radarskih slik SAR ...................... 45 Tabela 10: Konfiguracija CNN za učenje sprememb ........................................................... 49 Tabela 11: Algoritem za detekcijo sprememb na površju iz radarske slike SAR ................. 50 Tabela 12: Matrika pogreška (angl. Confusion Matrix) ....................................................... 54 Tabela 13: Rezultati učenja glede na število kategorij ........................................................ 57 Tabela 14: Rezultati učenja s povečevanjem števila vhodnih slik v CNN ............................ 59 Tabela 15: Rezultati učenja s povečevanjem števila vhodnih slik v CNN do nasičenosti .... 61 Tabela 16: Pogoji preizkusa ................................................................................................. 63 Tabela 17: Rezultati preizkusa ............................................................................................. 63 Tabela 18: Konfiguracija konvolucijske nevronske mreže................................................... 66 Tabela 19: Primerjava učenja z eno in dvema konvolucijskima plastema .......................... 66. VII.

(16) KRATICE IN SIMBOLI DFD - Deutsche Fernerkundungsdatenzentrum (angl. German Remote Sensing Data Center) CNN - konvolucijska nevronska mreža (angl. Convolutional Neural Network) CPU - centralno procesna enota (angl. Central Processing Unit) GPU - grafična procesna enota (angl. Graphics Processing Unit) GUI - grafični uporabniški vmesnik (angl. Graphical user interface) RGB - 24 bitni barvni model, ki ga sestavljajo tri barve (Rdeča, Zelena in Modra) (angl. Red, Green, Blue) SAR - radar z umetno odprtino (angl. Synthetic Aperture Radar) SGD - stohastični gradientni spust (ang. Stochastic Gradient Descent) Epoha - časovna perioda ali časovni cikel (angl. Epoch) MBS - minimalno število vhodnih podatkov na epoho (angl. Min Batch Size) MBA - uspešnost naučene konvolucijke nevronske mreže na set vhodnih podatkov (angl. Min Batch Accuracy). VIII.

(17) 1 UVOD Med sateliti, ki krožijo okrog našega planeta, so tudi tisti, na katere so nameščeni radarji z umetno odprtino (angl. Synthetic Aperture Radar – SAR). Radarji z umetno odprtino se uporabljajo za skeniranje površja Zemlje. Odporni so proti vremenskim pojavom, kot so dež, oblačnost, toča itd. Tehnologija teh radarjev je namenjena predvsem zanesljivemu spremljanju dinamičnih procesov na Zemlji. Radar deluje tako, da meri razdaljo med senzorjem in točko na površini Zemlje, kjer se signal odbija nazaj. Valovna dolžina senzorja določa globino penetracije prenesenega signala v rastlinski sloj terena. Zaradi vseh prednosti se ta vrsta radarja uporablja za radarsko fotografiranje površin in se namešča na izvidniška letala, satelite in vesoljske sonde [1]. Do sedaj je bilo razvitih kar nekaj SAR radarjev, ki delujejo na različnih frekvencah oz. v pasovih L, C in X (Slika 1).. Slika 1: Časovni pregled SAR radarjev [2]. 1.

(18) Različni frekvenčni pasovi radarjev prodirajo različno globoko skozi vegetacijo (Slika 2).. Slika 2: Prikaz odboja elektromagnetnih žarkov od vegetacije [3] Daljša je valovna dolžina elektromagnetnega polja, ki ga seva radar, globlji je prodor, medtem ko s krajšimi valovnimi dolžinami dosegamo boljšo ločljivost in s tem tudi boljšo kvaliteto slike. Najboljši radarski sistemi SAR danes dosegajo ločljivost nekaj milimetrov in tudi manj.. V magistrskem delu smo uporabljali posnetke posnete s TerraSAR-X satelitom, ki deluje v radarskem frekvenčnem spektru, pasu X mikrovalov, in nam omogoča metrsko ločljivost razdalje v reflektorskem načinu delovanja. TerraSAR-X je bil izstreljen 24. januarja 2007. Napajajo ga GaAs solarni paneli skupne površine 5,24 m2. Sprejemna antena satelita je dolga 4,8 m in široka 0,8 m in ima možnost delovanja v dveh polarizacijah, horizontalni in vertikalni. Sestavljena je iz 12 panelov. Vsak panel vsebuje 32 oddajno/sprejemnih modulov. Satelit ima na voljo 256 Gbit pomnilnika, kamor se shranjujejo posneti podatki. Satelit ima tudi prenosno anteno za komunikacijo z bazno postajo. Pasovna širina prenosne antene znaša 300 Mbit/s. Pozicija ter tirnica satelita se določa z žiroskopi in GPS navigacijskim sistemom [4].. V našem primeru smo prejete SAR radarske slike površja Zemlje uporabili za kategorizacijo različnih delov površin ter detekcijo sprememb na Zemlji. Za kategorizacijo in detekcijo sprememb na površju zemlje smo uporabili umetne nevronske mreže. Umetne nevronske. 2.

(19) mreže so matematični oz. računski modeli, ki temeljijo na delovanju bioloških nevronskih mrež. Sestavljene so iz množice umetnih nevronov, katerih osnovni gradniki so pragovne funkcije, ki imajo več različno uteženih vhodov in en izhod ter so med seboj povezane. Najenostavnejše nevronske mreže imajo le eno plast. Pri bolj kompliciranih nevronskih mrežah je teh plasti lahko več. Po povezavah umetni nevroni drug drugemu pošiljajo signale. Če je vsota vhodnih signalov dovolj velika, pride do vžiga nevrona, kar pomeni, da se na izhodu prav tako pojavi signal. Povezave med nevroni imajo lahko poljubno jakost in strukturo [5].. Uteži na vhodih posameznih nevronov ter prag, pri katerem nevron na izhodu odda signal, se oblikujejo z učenjem. To pomeni, da se navedeni parametri nevronske mreže spreminjajo toliko časa, dokler ni nevronska mreža zmožna optimalno rešiti nekega problema. Nevronske mreže med učenjem same ugotovijo pravilo, ki povezuje izhodne podatke z vhodnimi. Ko je nevronska mreža naučena, deluje tudi v situacijah, s katerimi v procesu učenja ni imela opravka. To pomeni, da lahko rešuje tudi naloge, kjer ne obstaja rešitev v obliki zaporedja korakov (kot npr. pri računalniških algoritmih), čeprav pri tem obstaja večja nevarnost nepredvidljivega delovanja.. Prvi teoretični začetki razvoja umetnih nevronskih mrež so se začeli leta 1943, ko sta nevrofiziolog Warren McCulloch in kognitivni psiholog Walter Pitts ustvarila prvi računalniški model nevronskih mrež [6]. Njun model je slonel na predpostavkah o delovanju nevronov. Osnovan je bil na preprostih nevronih, za katere sta domnevala, da so binarne naprave s konstantnim pragom.. Napredek simulacij z nevronskimi mrežami ni vplivala samo nevroznanost, temveč tudi sodelovanje med psihologi, nevrologi in inženirji. Leta 1957 je z izdelavo perceptrona psiholog Frank Rosenblatt vzbudil veliko zanimanja. Perceptron Rosenblatta so prvotno simulirali na računalniku IBM 704 v laboratoriju Cornell Aeronautical. Kasneje je bil objavljen leta 1962 v reviji Spartan Books [7].. 3.

(20) Perceptron je imel tri plasti. Prva plast se je imenovala vhodna plast, druga asociativna plast, tretja pa izhodna plast. Sistem se je bil zmožen naučiti in povezati vhodno enoto z naključno izbrano izhodno enoto. Tako so se umetne nevronske mreže sčasoma razvile do najrazličnejših oblik nevronskih mrež ter algoritmov učenja. Danes so najbolj znani algoritmi učenja nevronskih mrež, globoke arhitekture, tako imenovane »Deep Learning«, ki so znane po tem, da vsebujejo več kot eno skrito plast. Ena izmed globokih arhitektur je konvolucijska nevronska mreža – CNN, ki se uspešno uporablja pri računalniškem vidu za razpoznavanje slik, objektov iz slik, zvoka ter pisave in še bi lahko naštevali [8]. Tako lahko model CNN uporabimo kot rešitev za ogromno število tehnoloških problemov. V našem primeru bomo konvolucijsko nevronsko mrežo uporabili za kategorizacijo ter detekcijo sprememb površja zemlje iz manjše izrezanih koščkov SAR radarske slike.. 1.1 Cilj in omejitve magistrske naloge Cilj naloge je ugotoviti, kako natančno je mogoče prepoznati predele površja Zemlje z radarske slike SAR s tako imenovanimi konvolucijskimi nevronskimi mrežami – CNN. Med drugim je cilj ugotoviti tudi hitrost učenja ter prepoznavanja slik s centralno procesno enoto – CPU in z dodano grafično procesno enoto – GPU. CNN bo potrebno naučiti, kako ločiti SAR slike v kategorije, da jih lahko kasneje tudi prepozna.. Praktični del bomo razdelili na dva dela. Prvi bo obsegal kategorizacijo površja Zemlje, drugi pa detekcijo sprememb na površju Zemlje. Pri kategorizaciji bomo CNN naučili prepoznati in ločiti med kategorijami, kot so gozd, travnik, mesto, reka itd. Pri detekciji sprememb pa bomo iz koščkov radarskih slik velikosti 200 x 200 slikovnih točk, novih in predhodnih, izračunali lastnosti GLCM oz. histogram sorazmernih vrednosti sivine v danem pomiku nad sliko. Te GLCM lastnosti bomo pretvorili v RGB slike, nato pa združili pretekle z na novo posnetimi. V nadaljevanju bomo združene slike razvejali še v dve kategoriji (»spremenjeno« in »nespremenjeno«) ter jih potem uporabili pri postopku učenja CNN. CNN kasneje dobi sposobnost prepoznavanja teh dveh kategorij in s tem v končni fazi tudi odgovor na vprašanje, ali je prišlo do sprememb na površju Zemlje ali ne.. 4.

(21) Glavno omejitev pri nalogi predstavlja količina podatkov »slik SAR«, s katerimi bomo skušali naučiti nevronsko mrežo ter prepoznati in ločiti dele zemeljskega površja. Predpostavljam, da bo ob večji količini podatkov, s katerimi bomo učili mrežo, mreža bolj natančna, ampak tako bomo prispevali tudi k času trajanja učenja, ki utegne biti zato tudi znatno večji. Omejeni smo s strojno opremo, ki jo imamo na voljo. Učenje bo potekalo na enem samem osebnem računalniku z eno centralno procesno enoto in eno grafično procesno enoto.. Magistrsko delo je razdeljeno na tri večje dele. Prvi del opisuje gradnike sistema, njihov pomen ter uporabljene metode za realizacijo projekta. V drugem, osrednjem delu je opisana izdelava sistema, ki vključuje opis in postopek izdelave programa za kategorizacijo ter detekcijo sprememb v radarskih slikah SAR. V tretjem delu sledi predstavitev rezultatov sistema, ki jih dobimo s končno izdelanim programom v Matlab programskem okolju.. 5.

(22) 2 POSTOPEK OD SNEMANJA DO OBDELAVE SLIK Radarske sliko SAR posnamemo s satelitom TerraSAR – X (Slika 3), na katerega je nameščen radar z umetno odprtino (angl. Synthetic Aperture Radar – SAR). To je vrsta radarja za snemanje terena, ki med gibanjem izdela celotno radarsko sliko površine Zemlje.. Slika 3: Satelit TerraSAR-X [4] Posnete podatke radarja pridobi podatkovni center DFD v Oberpffafenhofnu v Nemčiji, jih predela in v uporabni obliki shrani na strežnik za kasnejšo obdelavo. Dostop do strežnika s SAR slikami si pridobi fakulteta z dogovorom s podatkovnim centrom. Za nadaljnjo obdelavo pridobljenih radarskih slik uporabimo stacionarni računalnik z Intel i7-7700K centralno procesno enoto in eno NVIDIA GTX 1070 grafično procesno enoto. Postopek od snemanja in vse do obdelave slike je prikazan na sliki 4.. 6.

(23) Slika 4: Postopek od snemanja do obdelave radarskih slik SAR Za obdelavo radarskih slik SAR smo razvili dva programa. Enega za kategorizacijo in drugega za detekcijo sprememb. Ta dva programa smo zasnovali v Matlab programskem okolju in ju razdelili na podprograme, kot je prikazano na slikah 5 in 6.. 7.

(24) Slika 5: Razdelitev programa za kategorizacijo SAR slik. Slika 6: Razdelitev programa za detekcijo sprememb v SAR slikah. Da bi izbrali podprograme, smo izdelali grafični vmesnik. Podrobnejše informacije o podprogramih, programu samem ter grafičnem vmesniku so zbrane v poglavju izdelava programa. Poudarjam, da je glavni gradnik programa konvolucijska nevronska mreža, ki smo jo uporabili pri obeh kategorizaciji in detekciji sprememb v slikah. Uporabili smo tudi paralelno procesiranje. V naslednjem poglavju smo podrobneje opisali vlogo gradnikov, njihovo delovanje in smisel uporabe.. 8.

(25) 3 OPIS GRADNIKOV Tukaj smo opisali pomembne gradnike sistema in uporabljene metode pri realizaciji projekta. Začeli smo z opisom radarja, nadaljevali z metodami za realizacijo (nevronske mreže in metoda za pridobitev tekstur oz. statističnih značilnosti iz slik - GLCM), ter končali z uporabljeno strojno in programsko opremo.. 3.1 Opis radarja Radarsko sliko ustvarjajo radarji, ki v smeri objekta oddajajo elektromagnetno valovanje v obliki mikrovalov in hkrati zaznavajo odziv oz. povratni odboj. Radarji oddajajo elektromagnetno valovanje in to v območju mikrovalov oz. radijskih valov, katerih valovne dolžine se gibljejo v frekvenčnem intervalu med 300 MHz in 300 GHz (Slika 7).. Slika 7: Celotni spekter elektromagnetnega valovanja [9] To elektromagnetno valovanje se od svetlobe razlikuje po valovni dolžini, pri kateri je valovanje nedovzetno za atmosferske motnje, kot so oblaki, dež, sneg, toča itd.. 9.

(26) Elektromagnetno valovanje se širi pravokotno na električno in magnetno polje. Električno in magnetno polje si med seboj prenašata energijo z elektromagnetno indukcijo. Elektromagnetno polje se vzdržuje s fazno zakasnitvijo ter medsebojno pravokotno postavitvijo tih dveh energij (Slika 8).. Slika 8: Širjenje elektromagnetnega valovanja [10] Valovanje in napredovanje električnega polja oz. premik nabojev lahko opišemo z Maxwellovimi enačbami, ki govorijo, da časovno spremenljivo magnetno polje inducira električno polje in da se magnetno polje pojavi v okolici časovno spremenljivega električnega polja [11]. Večina radarjev oddaja mikrovalove s horizontalno ali vertikalno polariziranim električnim poljem. Povratno radarsko valovanje pa je odvisno od sipanja valovanja na površju. Več različnih slik z različnimi frekvencami in polarizacijami lahko doprinese različne informacije o objektih na površju tal.. Da lahko uspešno zajamemo odbite pulze od površja, moramo najprej oddani pulz skonstruirati tako, da ga lahko kasneje tudi sprejmemo. Radarski pulz skonstruiramo tako, da mu z metodo komprimiranja vnaprej določimo obliko. To naredimo tako, da na oddajni anteni tvorimo časovno daljše frekvenčno modulirane pulze v obliki čirk signala (ang. chirp).. 10.

(27) Za čirk signal je značilno, da mu frekvenca narašča po neki znani funkciji, navadno linearni (Slika 9).. Slika 9: Čirk signal Sprejet signal je zakasnjen in ima v primerjavi z oddanim signalom manjšo energijo, ki jo posledično izgubi zaradi razpršenosti od podlage. Ob sprejetju signala se odziv najprej filtrira z oddanim signalom. Kadar se sprejet signal popolnoma prilega oddanemu signalu, dobimo maksimalen odziv. To matematično operacijo imenujemo avto-korelacija (Slika 10).. Slika 10: Avto-korelacija čirk signala [12]. 11.

(28) Pulze oddajamo po frekvenčno modulirani sekvenci enaki na oddajni in sprejemni strani. Sekvenca je izbrana, tako da ima močne avto-korelacijske lastnosti. Tako se doseže, da se izhod iz filtra postavi le takrat, ko je prisotno ujemanje sprejetega z oddanim signalom in je s tem tudi natančno določen čas sprejema odziva oddanega pulza ter odprava šuma na podlagi ostalih zelo nizkih izhodnih vrednostih. Po ločitvi signala in šuma lahko v vsaki resolucijski celici ali slikovnem elementu izračunamo odstotek povrnjene elektromagnetne energije med oddano in filtrirano sprejeto močjo signala.. 3.1.1 Radar z umetno odprtino Radar z umetno odprtino (angl. Synthetic Aperture Radar – SAR) deluje kot koherentni vir mikrovalov bočnega pogleda. Radar za svoje delovanje izrablja gibanje platforme s konstantno hitrostjo. Tako elektronsko simulirajo navidezno ekstremno veliko anteno ali odprtino, kar v končni fazi privede do visoke azimutne ločljivosti slik SAR. Medtem ko se platforma pomika v smeri letenja, se skozi celotno časovno obdobje obstoja tarče v radarskem snopu zajemajo odzivi izsevanih pulzov. Vsi sprejeti pulzi se pred elektronskim zapisom dopolnijo z meta-podatki o Dopplerjevem procesiranju in tirnici platforme. Pri signalnem procesiranju in rekonstruiranju slike se kasneje uporablja tudi amplituda in faza sprejetega signala zaporednih pulzov umetne odprtine. Po obdelavi signala z upoštevanjem Dopplerjevih učinkov, povezanih z različno geometrijo oddajnika in tarče, se obdelani podatki shranijo in tako se formira slika visoke ločljivosti posnete površine. Ta metoda dosega fino azimutno ločljivost v celotnem pasu snemanja slike [13].. 12.

(29) 3.1.2 Princip delovanja radarja z umetno odprtino Primer skeniranja površja je prikazan na sliki 11 z izvorom mikrovalov v repu letala.. Slika 11: Stranski geometrični profil radarskega sistema [14]. Azimutno ločljivost Ra lahko izračunamo po enačbi 3.1. 𝐻𝜆. 𝑅𝑎 = L cos 𝜃,. (3.1). kjer H predstavlja višino antene od površine, L geometrično dolžino antene, 𝜆 valovno dolžino oddajanih pulzov in 𝜃 vpadni kot valovanja [9]. Iz enačbe lahko sklepamo, da je azimutna ločljivost odvisna od geometrijske dolžine antene. Daljša kot je antena, večja je azimutna ločljivost. Prav tako azimutno ločljivost povečujemo z zmanjševanjem oddaljenosti antene od vpadne površine ali, z drugo besedo, z zviševanjem višine se. 13.

(30) povečuje vpadna širina. Razlike v višini moramo upoštevati pri obdelavi podatkov oz. fokusiranju.. Ločljivost prečno na anteno je definirana z enačbo 3.2. 𝑐0 𝑡𝑝. 𝑅𝑟 = 2 sin 𝜃,. (3.2). kjer 𝑐0 predstavlja svetlobno hitrost, 𝑡𝑝 čas oddajanja pulzov in 𝜃 vpadni kot valovanja [9]. Azimutna ločljivost v smeri leta je neodvisna od višine platforme radarja z umetno odprtino in se izboljšuje z zmanjšanjem dolžine antene. Med gibanjem platforme po svoji tirnici je z usmerjanjem radarskega snopa na način, da je vedno osvetljeno enako področje, mogoče doseči daljšo umetno odprtino, kar imenujemo reflektorski način delovanja. Maksimalno dosežena azimutna ločljivost sistema SAR je približno enaka polovici dolžine realne antene. Da bi dobili končno našim očesom vidno sliko je pri fokusiranju podatkov potrebno upoštevati še dosti dodatnih faktorjev, kot so razpršitev signala znotraj ene slikovne točke z različnimi amplitudami in fazami, prekrivanje slikovnih točk, ki se pojavijo zaradi gibanja antene in Dopplerjevega pojava, ter čas procesiranja [15].. 3.2 Nevronske mreže Nevronska mreža, ali bolj natančno umetna nevronska mreža, je sestavljena po vzoru modela človeških možganov. Nevronska mreža ni le kompleksen sistem, ampak zapleten prilagodljivi sistem, kar pomeni, da lahko spremeni svojo notranjo strukturo [16]. Nevronske mreže delujejo kot ene vrste algoritmi interpolacije, tako da utežijo vhodne podatke glede na izhodne podatke. Umetni nevroni so med seboj povezani in predstavljajo skupek uteži. Ko se utežijo, so to interpolirane vrednosti med vhodi in izhodi. Te uteži ali interpolirane vrednosti med vhodi. 14.

(31) in izhodi dobimo na takšen način, da na vhod pripeljemo parametre, od katerih želimo ali mislimo, da je odvisen izhod. Potem z algoritmi nadzorovanega učenja oz. metodo vzvratnega razširjanja (angl. Backpropagation) prilagodimo uteži izhodu nevronske mreže [17]. Nevronsko mrežo oz. skupek uteži lahko shranimo v notranji pomnilnik in jih kasneje uporabimo pri napovedovanju izhoda glede na dan vhod. Na sliki 12 vsaka puščica predstavlja povezavo med dvema nevronoma in kaže pot za pretok informacij.. Slika 12: Navadna umetna nevronska mreža z enim skritim slojem. Vsak priključek ima utež ali številko, ki krmili signal med obema nevronoma. Dokler omrežje ne doseže želenega pogreška, ki ga določimo v začetku učenja, se uteži prilagajajo, da bi zmanjšale napako med vhodi in izhodi. Ko omrežje doseže želeni pogrešek, ki ga določimo na začetku učenja, se učenje ustavi. Na sliki 13 je prikazan en umetni nevron (perceptron), ki predstavlja en krogec na sliki 12 [7].. 15.

(32) Slika 13: Seštevalnik ter aktivacijska funkcija na podlagi uteženih vhodov določata izhod. Nevron (perceptron) je osnovna enota umetnih nevronskih mrež, sestavljena iz vhodnih povezav, seštevalnika, praga in aktivacijske funkcije. Enačba splošnega nevrona (perceptrona) je. 𝑧 = 𝜎(𝑥𝑤 + 𝑏),. (3.3). kjer 𝜎 predstavlja aktivacijsko funkcijo, x je vhodni vektor, w je vektor uteži nevrona in b njegov prag. Namen aktivacijske funkcije je omejitev izhoda na določen interval, recimo [0, 1] (sigmoidna funkcija). Tako na nek način tudi normiramo izhod in preprečimo, da bi nekateri nevroni dobili zelo velike vrednosti. Za nadzorovano učenje je značilno, da pogrešek, izračunan na izhodu nevrona, seštejemo z utežmi, uporabljenimi pri trenutni iteraciji. Pogrešek izhoda izračunamo tako, da odštejemo dejansko vrednost od želene vrednosti izhoda. Uteži in prav tako pragovna funkcija se nato v naslednjih iteracijah spreminjajo tako, da izhod konvergira proti čedalje manjšemu pogrešku. To traja tako dolgo, dokler ne dosežemo minimalnega želenega pogreška ali končnega števila dovoljenih iteracij, ki jih določimo pred začetkom učenja.. 16.

(33) 3.2.1 Globoke arhitekture »Deep Learning« Za globoke nevronske mreže je značilno, da imajo več skritih nivojev. Z dodatnimi nivoji nam globoke nevronske mreže omogočajo reševanje kompleksnih nelinearnih problemov. Znano je, da lahko z enimi samim skritim nivojem opišemo katerokoli matematično funkcijo. V globokih arhitekturah je uporabljena serija več skritih nivojev, ki so med seboj povezani zaporedno, ne pa tudi vzporedno. Vsaka naslednja zaporedna plast uporablja izhod iz prejšnje plasti kot vhod. Za učenje globokih nevronskih mrež prav tako uporabljamo algoritem oz. metodo vzvratnega razširjanja (angl. Backpropagation). Z učenjem vsaka utež v perceptronu na področju skritih nivojev sčasoma zavzame svojo vrednost. Matrika teh vrednosti v vsaki skriti plasti odraža funkcijo vhodnih vzorcev.. Višje plasti so izpeljane iz nižjih plasti, tako da tvorijo hierarhično predstavitev. V primeru uporabe nevronske mreže za učenje slik npr. velikosti 200 x 200 x 3 (200 širina, 200 višina, 3 barvni kanali) bi samo en popolnoma povezan nevron v eni plasti vseboval 200 * 200 * 3 = 120,000 uteži. Če pa bi dodali še več takih plasti, bi dobili zelo veliko količino nevronov, zato je jasno, da je ta povezljivost potratna. Ogromno število parametrov bi hitro pripeljalo do prekomerno naučene nevronske mreže. Zato se te nevronske mreže pri učenju na slikah ne obnesejo zelo dobro. Zato so bile ustvarjene konvolucijske nevronske mreže – CNN (angl. Convolutional Neural Network), ki s svojo arhitekturo kot vhod v nevronsko mrežo izrabljajo sliko na bolj občutljiv način, plasti z navadnimi nevroni pa sledijo šele v kasnejši fazi. Nastale so po vzorcu bioloških procesov. Sestavljajo jih več plasti perceptronov z utežmi, le da so te ločene v filtre, ki pokrivajo le dele vhodov. Preden se naučijo, se v odnosu do njih izvaja operacija konvolucije. Uporabljajo se predvsem na področjih strojnega vida, prepoznavanja govora, filtriranja socialnih omrežij, strojnega prevajanja in bioinformatike, kjer so dosegli rezultate, ki so primerljivi in v nekaterih primerih tudi boljši od človeških strokovnjakov. Arhitektura CNN izrecno predpostavlja, da so vhodi v njih kar surove slike. To nam omogoča, da z večjim številom podobnih slik v arhitekturo CNN kodiramo določene lastnosti, ki so pri vseh slikah skupne. CNN ima zmožnost, da se nauči omenjenih filtrov. 17.

(34) (HOG, SIFT, GIST, itd.), ki so bili prej ročno zasnovani. Za skupne lastnosti se ne odločamo mi, ampak CNN sama [8].. 3.2.2 Arhitektura konvolucijskih nevronskih mrež »CNN« Za razliko od običajne nevronske mreže imajo plasti v CNN nevrone razporejene v treh dimenzijah (širina, višina, globina). Ob tem upoštevamo, da se beseda globina tukaj nanaša na tretjo dimenzijo volumna aktiviranja in ne na globino celotne CNN (Slika 14).. Slika 14: Navadna nevronska mreža levo in konvolucijska nevronska mreža desno [18]. Konvolucijske plasti so povezane le z majhno regijo plasti pred njim, namesto da bi bili vsi nevroni popolnoma povezani. Levo na sliki vidimo tri plasti navadne nevronske mreže. Na desni strani pa je narisana plast v konvolucijski nevronski mreži, kjer so nevroni razporejeni v tri dimenzije po širini dolžini in globini. Vsaka konvolucijska plast pretvori 3D vhodni volumen v 3D izhodni volumen aktivacijskih nevronov. V tem primeru rdeča vhodna plast drži sliko, zato bi bila njena širina in višina dimenzije slike, globina pa dimenzije tri in bi predstavljala RGB barve (Rdečo, Modro, Zeleno) [18].. 3.2.3 Plasti, ki sestavljajo konvolucijsko nevronsko mrežo »CNN« CNN sestavlja zaporedje plasti. Vsaka plast je povezana s prejšnjo in pretvori en volumen aktivacij v drugega skozi odvedljive funkcije. Za izdelavo arhitektur konvolucijskih. 18.

(35) nevronskih mrež uporabljamo tri glavne vrste plasti. To so konvolucijska plast, združevalna plast in povezovalna plast. Te plasti so podrobneje opisane v tabeli 1 [18].. Tabela 1: Zgradba konvolucijskih nevronskih mrež – CNN Ime plasti. Opis. Vhodna plast (angl. Vhodna plast sestoji iz takšnega števila nevronov, kot je število Input Layer) Konvolucijska. slikovnih točk v sliki ter kanalov različnih barv. plast Ta plast posnema osnovno mehaniko živalske vizualne skorje.. (angl.. Convolutional Nevroni v tej plasti si delijo uteži za razliko od navadnih. Layer). nevronov, kjer ima vsak nevron ločen vektor in težo. Ta delitev uteži se konča z zmanjšanjem skupnega števila uteži, ki ga je mogoče uvesti, s čimer uvajamo tudi krajšavo. Z uveljavitvijo strategije deljenja uteži lahko nevroni s povezavami potem izvedejo konvolucijo na podatkih in tvorijo konvolucijske filtre z utežmi, ki so v vsaki od plasti bolj izpopolnjeni.. Usmerniška. plast Ta plast skrbi, da izhode manjše od nič normalizira na vrednost. (angl. ReLU Layer) Združevalna (angl. Pool Layer). nič. Posledično dosežemo tudi pohitritev učenja.. plast V tej plasti potekajo operacije združevanja. To je oblika nelinearnega vzorčenja navzdol, ki postopoma zmanjšuje prostorsko velikost predstavitve, s čimer zmanjša količino parametrov in s tem izračunov v CNN. Posledično preprečuje tudi, da bi CNN preveč naučili.. Povezovalna. plast Ta plast predstavlja isto plast kot pri navadni nevronski mreži. (angl. fully-connected MLP (angl. Multilayer perceptron) ali večnivojski perceptron. Ta Layer). plast skrbi za utežitev rezultatov prejšnjih plasti tako, da je vsak nevron v tej plasti povezan z nevroni iz prejšnjih plasti.. 19.

(36) Z uporabo teh plasti peljemo vhodne vrednosti oz. vhodne slikovne točke do rezultatov, kot so končna kategorija, v katero hočemo, da slika spada, če upoštevamo uporabo nadzorovanega učenja. Nekatere plasti vsebujejo parametre in nastavitve, zlasti konvolucijska in povezovalna plast. Transformacije, ki jih opravljata ti dve plasti, so potem odvisne od parametrov, kot so uteži, praga ter aktivacije nevronov v vhodni plasti. Vrednosti v konvolucijskih in povezovalnih plasteh se učijo po stohastičnem gradientnem spustu (SGD – stochastic gradient descent) z metodo vzvratnega razširjanja (angl. Backpropagation) [25] [26]. Uteži, ki jih izračunava CNN po algoritmu za nadzorovano učenje, pa so skladne z nastavljenimi kategorijami učenja za vsako sliko. Združevalna in usmerniška plast izvajata fiksno funkcijo običajno le nad konvolucijsko plastjo. Prostorska razporeditev nevronov v CNN je določena s tremi parametri: globino, korakom in ničelnim polnjenjem. Globina zunanjega dela je parameter, ki določa število filtrov. Število filtrov vpliva na število objektov, ki jih iščemo v sliki. Več kot je filtrov, več možnih kombinacij objektov ter, recimo, različnih barv lahko ločimo iz slike. Na primer: če prva plast sprejme kot vhod surovo sliko, lahko število nevronov na različni globini aktivira drugačne informacije drugega značaja in to v istem predelu slike. Drugič, določiti moramo korak, s katerim premaknemo filter naprej. Ko je korak ena, premaknemo filtre po eno slikovno točko. Ko je korak dve (ali občasno tri ali več, čeprav je to v praksi redko), filtre premikamo naprej z vmesnim razmikom dveh slikovnih točk. Tretjič, ničelno polnjenje uporabimo najpogosteje za natančno ohranjanje velikosti vhodnega volumna. Tam, kjer se širina in višina spremenjenega izhoda ne ujemata s prejšnjim, se dodajo ničle okrog tako, da ohranimo širino in višino vhodne plasti. Prostorsko velikost izhoda (N) ene prostorske dimenzije na, recimo, X-osi lahko izračunamo s funkcijo, ki je odvisna od velikosti vhodnega volumna nevronov (W), velikosti konvolucijskega okenca (F), korakom (S) in številom dodanih ničel (P), ki jih uporabimo za ohranjanje velikosti vhodnega polja. Enačba za izračun števila nevronov v okencu se glasi (W – F + 2P) / S +1 [18].. 20.

(37) Na sliki 15 (a) smo izbrali velikost vhodnega okenca (5 x 5), zato je W=5, ničelno polnjenje P=1 in konvolucijsko sprejemno okence F=3 (3 x 3). Po funkciji za izračun smo potem lahko izračunali izhodno število nevronov, (5 – 3 + 2) / 1 + 1 = 5. Slika 15 (b) prikazuje izračun s korakom S=2. Pri tem se izhodno število nevronov spremeni (5 – 3 + 2) / 2 + 1 = 3. Uteži nevronov smo za namen prikaza primera izbrali fiksno (Slika 15 (c)).. Slika 15: (a) Prikaz konvolucije s korakom 1, (b) Prikaz konvolucije s korakom 2, (c) Uteži [18]. Pomembna ugotovitev je, da je za izbor koraka treba upoštevati predvsem velikost celotnega polja skupaj z dodanim ničelnim poljem okrog vhodne matrike. Če bi korak v primeru prej povečali na S=3, potem bi bila konvolucija po tem algoritmu nemogoča, saj bi izračunan izhod bilo nenaravno število nevronov. Parametri konvolucijske nevronske mreže imajo medsebojne omejitve. Paziti moramo, da pravilno določimo dodatno število ničel na robovih. Koliko ničel dodati, je odvisno od velikosti okenca F. Z nastavitvijo števila ničel P na robovih po enačbi P=(F−1)/2 in koraku S=1 dosežemo, da bosta vhodna in izhodna velikost nevronov v prostoru enaki.. Pri realnem primeru kot vhod vzamemo sliko velikosti [227 x 227 x 3]. Če v prvem konvolucijskem nivoju uporabimo konvolucijsko okence F=11, korak S=4 in velikost števila ničel na robovih P=0, potem po enačbi za izračun prostorske velikosti števila izhodnih aktivacijskih povezav N iz nevronov dobimo (227 – 11 + 0)/4 + 1 = 55. To pomeni, da se za snemanje ene celotne linije po oknu v eni smeri premaknemo za 55-krat. Če izberemo število filtrov oz. globino K = 96, dobimo prostornino konvolucijske plasti na izhodu [55 x. 21.

(38) 55 x 96]. Ta del je potem povezan s prostornino vhodne regije nevronov [11 x 11 x 3] s seveda različnimi utežmi. Pri izračunu nevronov na izhodu bi potem dobili skupno 55*55*96 = 290.400 nevronov v prvem konvolucijskem nivoju in vsak bi vseboval po 11 x 11 x 3 = 363 uteži in 1 prag. Skupaj bi potem to predstavljalo 290400 * 364 = 105.705.600 numeričnih vrednosti le v prvi plasti konvolucijske nevronske mreže, kar pa je preveč. To vrednost zmanjšamo tako, da za posamezno rezino uporabimo enake uteži. S tem posledično zmanjšamo število nevronov. Prostornina v velikosti [55x55x96] ima 96 globinskih rezin. Vsaka rezina je velikosti [55x55]) (Slika 16).. Slika 16: Konvolucijska plast. Tako dobimo 96 unikatnih setov uteži po en set za vsako globino. Vseh 55 x 55 setov uteži je istih, zato lahko izračunamo in upoštevamo število nevronov samo na enem konvolucijskem oknu ene rezine. Torej 96 x 11 x 11 x 3 = 34.848 unikatnih uteži ter dodatnih 96 vrednosti praga nam skupno predstavlja 34.944 vrednosti oz. parametrov, ki jih spreminjamo na eni globinski rezini. Skozi algoritem za nadzorovano učenje bo vsak nevron v rezini izračunal gradient za svoje uteži, vendar bodo ti gradienti posodobili le en niz uteži na rezino. Če vsi nevroni v eni globini uporabljajo isti vektor uteži, se lahko naslednji pas konvolucijske plasti v vsaki globini izračuna kot konvolucija uteži nevrona z vhodno 22.

(39) prostornino, ki je v vsakem od razdelkov 11 x 11 drugačna, zato bo tudi izhod drugačen. Zato je običajno, da se sklicujemo na nize uteži na vsaki globini kot na filter, ki je izkrivljen z vhodom. Vsak od 96 filtrov je prikazan na sliki 17, ki je velikosti [11 x 11 x 3]. Vsak od teh filtrov naprej deli 55 * 55 nevronov v vsaki globinski rezini.. Slika 17: Rezultat učenja CNN so seti uteži oz. filtri [18]. Če je zaznavanje vodoravnega roba pomembno na določeni lokaciji slike, bi moral biti intuitivno uporaben tudi na nekem drugem mestu zaradi prevodno invariantne strukture slik. Zato ni potrebe po ponovnem odkrivanju vodoravnega roba na vsaki izmed 55 * 55 različnih lokacij v izhodnem nivoju plasti. Ker so uteži v vseh plasteh različne, v eni plasti filtra pa morajo biti enake po celotni plasti, iz izhodov aktivacijskih funkcij dobimo dokaj različne vrednosti, ki jih ne moremo popolnoma izničiti. Seveda pa jih s pomočjo algoritma za nadzorovano učenje pripravimo do najmanjšega pogreška, ki je možen. Vsak nivo filtrov zavzame drugačne lastnosti oz. drugačen set uteži in s tem tvori drugačne oblike teh filtrov. Vsaki konvolucijski plasti sledi usmerniška plast in nato še združevalna plast. Z usmerniško plastjo normiramo vsa negativna števila, ki so plod konvolucije. Z združevalno plastjo prostorsko zmanjšamo konvolucijsko plast tako, da izberemo največje vrednosti znotraj konvolucije. Ostale vrednosti zanemarimo ter s tem zmanjšamo pojav prekomerne naučenosti mreže. Tako tudi zmanjšujemo širino in višino vhodov v naslednjem nivoju. Za vsak konvolucijski nivo je značilno, da se tvorijo kompleksnejše oblike filtrov, ki so bolj podobne vhodnim slikam, s katerimi učimo CNN. Pri učenju vsaka slika, ki jo peljemo na vhod, drugače aktivira izhode in zavzame drugačne uteži v različnih plasteh vsakega nivoja.. 23.

(40) Glede zmanjšanja izhodne plasti naj omenim še, da lahko dodatno uporabimo združevalno plast (angl. max pooling layer) ali funkcijo, s katero dosežemo dokaj dobro ohranitev informacije in hkrati zmanjšanje izhodne plasti. To storimo tako, da prenesemo največji element znotraj konvolucijske plasti (Slika 18).. Slika 18: Združevalna plast. Če pogledamo CNN kot celoto, pravzaprav vidimo, kako vhodne podatke v obliki slikovnih točk širine, dolžine in globine (RGB kanali) preoblikujemo skozi mrežo s čim manjšo širino/ dolžino in čim večjo globino. Tako CNN doseže nekakšno obliko piramide (Slika 19).. 24.

(41) Slika 19: AlexNet CNN [19]. Vsaka globlja plast konvolucijske nevronske mreže se nauči bolj kompleksnih filtrov, ki so z vsako naslednjo plastjo bolj podobni samim vhodom. Bolj ko gremo v globino, vidimo, da se začnejo skupaj grupirati tudi podobni filtri. Tisti, ki izgledajo podobno, so med seboj interpolirani bližje. To ugotovimo tako, da na vhod pripeljemo podobne slike in opazujemo, kakšne filtre (uteži) bo aktivirala določena vhodna slika. V zadnjih plasteh CNN pa običajno uporabimo isto plast kot pri navadni nevronski mreži (angl. Multilayer perceptron) ali večnivojski perceptron. Ta plast skrbi za utežitev rezultatov v prejšnjih plasteh tako, da je vsak nevron v tej plasti povezan z nevroni iz prejšnjih plasti. Izhodna povezovalna plast vsebuje število navadnih nevronov, ki na koncu ob aktiviranju izberejo tisto pravo kategorijo. Na področju CNN je bilo do sedaj izdelanih kar nekaj različnih arhitektur. Vsaka novejša različica je prinesla nekaj izboljšav predvsem zaradi zmanjšanja pogreška oz. stopnje napake, pri kateri glede na vhodno sliko model ne izda pravilne napovedi s svojimi najboljšimi petimi napovedmi (Tabela 2).. Tabela 2: Zgodovina konvolucijskih nevronskih mrež – CNN [20]. 25.

(42) Ime CNN. Leto. Število plasti. Pogrešek [%]. AlexNet. 2012. 8. 16,4. ZF Net. 2013. 8. 11,7. VGG. 2014. 19. 7,3. GoogleNet. 2014. 22. 6,7. ResNet. 2015. 152. 3,57. Vsaka CNN se malo razlikuje od predhodne. Sicer iz tabele vidimo, kaj najbolj vpliva na točnost CNN, in to je število plasti. Jasno je vidno, da so se CNN izboljševale predvsem zaradi povečevanja števila plasti. Več plasti pomeni več nevronov in s tem tudi večjo porabo pomnilnika in počasnejše učenje. Kasneje so pomanjkljivost hitrosti s povečevanjem števila slojev odpravili z GoogleNet in ResNet nevronskimi mrežami, kjer so dodatno uvedli preskok ali neke vrste bližnjico med vmesnimi konvolucijskimi plastmi tako, da plasti niso povezane le ena za drugo, temveč je vsaka naslednja povezana tudi s plastjo pred prejšnjo[25]. Izboljšale so se tudi zaradi spreminjanja nekaterih parametrov, kot so povečanje velikosti srednjih konvolucijskih plasti ter zmanjševanje koraka in velikosti filtrov v prvih plasteh. Torej lahko sklepamo, da se z večanjem števila plasti, zmanjševanjem velikosti filtrov in povečevanjem števila filtrov model lahko nauči kompleksnejših vzorcev.. 3.3 GLCM Metoda matrike sivega nivoja (GLCM - angl. gray level co-occurate matrix) je način za pridobivanje statističnih značilnosti ali tekstur iz slike. Teksturo lahko intuitivno povežemo z različnimi lastnostmi nekega materiala, kakršne so gladkost, hrapavost, grobost, usmerjenost ali periodičnost. Pri statistični analizi teksture se značilke tekstur izračunajo iz statistične porazdelitve opaženih kombinacij intenzitet slikovnih točk na določenih. 26.

(43) položajih relativno drug na drugega. Glede na število točk intenzivnosti (slikovnih točk ) v vsaki kombinaciji statistiko razvrstimo v statistiko prvega reda, drugega reda in višjega reda. GLCM metoda je način za pridobitev tekstur drugega reda, kjer je število vrstic in stolpcev enako številu sivih ravni, G, na sliki. Gre za tabelo, v katero se vpisujejo podatki o tem, kako pogosto se na sliki pojavljajo različne kombinacije vrednosti svetilnosti. Matrični element P (i, j | Δx , Δy) je relativna frekvenca, kjer sta dve slikovni točki ločeni z razdaljo (∆x, ∆y). Ta je lahko v GLCM predstavljena tudi z matričnim elementom P (i, j | d, θ), s katerim sta dve slikovni točki ena z intenzivnostjo (i) in druga z intenzivnostjo (j) ločeni z razdaljo (d) in kotom (θ) (Slika 20).. Slika 20: Geometrija GLCM za štiri dolžine (d) in štiri kote (θ) [21] Če se hočemo izogniti odvisnosti od posamičnih GLCM matrik izračunanih za vse štiri smeri (θ) in razdalje (d), izračunamo povprečno matriko iz vseh štirih matrik θ = 0°, 45°, 90°, 135° [27]. Pred izračunom tekstur iz GLCM moramo GLCM najprej normalizirati oz. na nek način spremeniti v matriko, kjer bo vsak GLCM slikovni par točk predstavljal verjetnost. Primer enačbe za normalizacijo je. 𝑃[𝑖,𝑗] ∑ 𝑖 𝑗 𝑃[𝑖,𝑗]. 𝑝[𝑖, 𝑗] = ∑. ,. (3.4). 27.

(44) kjer i predstavlja vrstico v sliki, j stolpec, P vrednost GLCM slikovne točke in p verjetnost GLCM točke. Enačba nam v obliki verjetnosti pove kolikokrat se v celotni sliki ponovi kombinacija dveh izbranih točk. Pri sliki skupne velikosti 24 - tih točk se npr. izbrana kombinacija točk pojavi 6-krat od 24-krat. Verjetnost te kombinacije v GLCM matriki na tem mestu bi bila v tem primeru 0,25. Robert M. Haralick je predlagal 14 setov tekstur, ki jih je mogoče izvleči iz matrike GLCM [27]. Te vsebujejo informacije o značilnostih besedilne slike, kot so kotni sekundarni moment, kontrast, korelacija, varianca, moment povratne zamenjave, povprečna vsota, vsota variance, razlika entropij, srednja vrednost korelacije, itd. V našem primeru smo izračunali šest setov tekstur, ki smo jih kasneje tudi uporabili. To so energija, entropija, kontrast, korelacija, homogenost in varianca. O energiji nam pove vsota kvadratnih elementov v GLCM. Entropija izmeri naključnost porazdelitve intenzivnosti; kontrast izmeri količino lokalnih sprememb v sliki; korelacija izmeri linearno odvisnost GLCM slikovnih točk od sosednjih GLCM slikovnih točk; homogenost izmeri bližino distribucije elementov v GLCM diagonalno; varianca izmeri disperzijo oz. odklon (glede na srednjo vrednost) porazdelitve GLCM. Enačbe za izračun teh tekstur so zapisane v tabeli 3 za matriko GLCM velikosti G x G. Tabela 3: Enačbe za izračun tekstur GLCM [21] Ime teksture Energija. Enačba 𝐺−1 𝐺−1. ∑ ∑ 𝑝(𝑖, 𝑗)2 𝑖=0 𝑗=0 𝐺−1 𝐺−1. Entropija. ∑ ∑ 𝑝(𝑖, 𝑗)𝑙𝑜𝑔𝑝(𝑖, 𝑗) 𝑖=0 𝑗=0 𝐺−1 𝐺−1. Kontrast. 1 ∑ ∑(𝑖 − 𝑗)2 𝑝(𝑖, 𝑗) (𝐺 − 1)2 𝑖=0 𝑗=0. Korelacija. 𝐺−1 ∑𝐺−1 𝑖=0 ∑𝑗=0 (𝑖,𝑗) 𝑝(𝑖,𝑗) − 𝜇𝑥 𝜇𝑦. 𝜎𝑥 𝜎𝑦. kjer so. 28. ,.

(45) 𝐺−1 𝐺−1. 𝜇𝑥 = ∑ 𝑖 ∑ 𝑝(𝑖, 𝑗) 𝑖=0 𝑗=0 𝐺−1 𝐺−1. 𝜇𝑦 = ∑ 𝑗 ∑ 𝑝(𝑖, 𝑗) 𝑗=0. 𝑖=0. 𝐺−1. 𝐺−1. 𝜎𝑥 = ∑(𝑖 − 𝜇𝑥. )2. 𝑖=0. ∑ 𝑝(𝑖, 𝑗) 𝑗=0. 𝐺−1. 𝐺−1 2. 𝜎𝑦 = ∑(𝑗 − 𝜇𝑦 ) ∑ 𝑝(𝑖, 𝑗) 𝑗=0. Homogenost. 𝐺−1 𝐺−1. ∑∑ 𝑖=0 𝑗=0. Varianca. 𝑖=0. 𝑝(𝑖, 𝑗) 1 + (𝑖 − 𝑗)2. 𝐺−1 𝐺−1. ∑ ∑(𝑖 − 𝜇)2 𝑝(𝑖, 𝑗) 𝑖=0 𝑗=0. V tabeli P(i, j) predstavlja (i, j) – ti vnos izračunane GLCM, p(i, j) predstavlja (i, j) - ti vnos normalizirane GLCM. G predstavlja skupno število vseh parov oz. kombinacij različnih intenzitet v sliki. 𝜇𝑥 in 𝜇𝑦 označujeta srednjo vrednost, 𝜎𝑥 ter 𝜎𝑦 pa standardno deviacijo vrstične in stolpčne vsote v GLCM. Iz predhodnih enačb izračunamo GLCM značilke, ki upoštevajo prostorske odnose med posameznimi slikovnimi točkami. Te značilke dobimo po izračunu v obliki matrike velikosti vhodne slike, ampak v decimalnih številih. S pretvorbo decimalnih števil nazaj v RGB sliko ter združitvijo vseh RGB slik (značilk) v eno celotno vsebino dobimo sliko ki s svojo vsebino opisuje teksturo vseh šestih izračunanih značilk (Slika 21).. Slika 21: Primer šestih izračunanih GLCM značilk, prikazanih v RGB sliki. 29.

(46) 3.4 Cuda Ker je učenje CNN časovno potratna operacija predvsem zaradi velike količine podatkov, ki jih uporabljamo pri učenju, ter velikega števila perceptronov (odvisno od konfiguracije in števila slojev), smo uporabili paralelno procesiranje. Paralelno procesiranje ali vzporedno okolje je računalniški scenarij, pri katerem se optimalno uporablja več jedrna arhitektura današnjega CPU-ja in grafičnega procesorja za hitrejše in točnejše izračune. Vzporedno programiranje vključuje različne programske knjižnice, ki delijo in izvajajo niti vzporedno v različnih jedrih. V našem primeru je zahtevano implementirati in izvršiti CNN tudi v vzporednem okolju. Za to je predpogoj uporaba grafičnih procesorjev z več jedri. V našem primeru smo uporabili grafični procesor proizvajalca Nvidia, model GTX 1070 s CUDA (angl. Compute Unified Device Architecture) jedri. CUDA tehnologija uporablja vzporedno procesorsko moč GPU-jev. Arhitektura CUDA je vzporedna računalniška arhitektura, ki zagotavlja zmogljivost grafične procesorske tehnologije. Aplikacije, ki se izvajajo v arhitekturi CUDA, lahko izkoristijo nameščeno bazo več kot sto milijonov GPU-jev, ki jih podpira CUDA, v medsebojno povezanih namiznih in prenosnih računalnikih ter strokovnih delovnih postajah [22]. Arhitektura CUDA deli napravo v mrežo, bloke in niti v hierarhični strukturi. V enem bloku obstajajo številne niti. V nasprotju z navadnimi niti na CPU, ki se izvajajo samo navidezno vzporedno, se niti na arhitekturi CUDA izvajajo dejansko vzporedno na posameznih jedrih procesorja. Skupno število niti, ki se lahko izvajajo hkrati, je odvisno od lastnosti GPU (števila in zmogljivosti jeder). CUDA je zasnovan v namen paralelnega procesiranja in se da preprosto programirati v več programskih jezikih, med katerimi je tudi programski jezik C. Toda CUDA običajnemu jeziku C dodaja tri glavne abstrakcije. To so hierarhične skupine niti, deljeni notranji pomnilnik in sinhronizacija med nitmi. Te abstrakcije zagotavljajo fino zrcaljeno podatkovno vzporednost in nitni paralelizem. Niti istega bloka se izvajajo sočasno na enem jedru, delijo si del skupnega pomnilnika in lahko med seboj sodelujejo s pomočjo sinhronizacije. Niti znotraj istega bloka označujemo z eno-, dvo- ali tridimenzionalnim indeksom: to je odvisno od tipa problema, ki ga rešujemo.. 30.

(47) Skratka, s tem orodjem lahko programer razdeli probleme v samostojno rešljive podprobleme. Te lahko vzporedno poganjamo z bloki niti. Poleg tega je vsak podprogram razčlenjen na manjše dele, ki jih lahko skupaj vzporedno rešijo vse niti blokov [23]. Vsak blok niti je lahko razporejen na katerokoli od razpoložljivih jeder ali procesorjev v katerem koli vrstnem redu, vzporedno ali zaporedno na GPU. Torej je procesor mogoče učinkovito uporabiti kadarkoli. Poleg tega se koda samodejno pomakne navzgor ali navzdol, odvisno od števila jeder, ki so na voljo na čipu. Programsko orodje, ki smo ga uporabili za razvoj programa je Matlab 2017. Pri odločitvi za uporabo programskega orodja Matlab, s katerim smo zasnovali program, je predvsem vplivala podpora grafičnih kartic CUDA. Matlab nam skozi svoja orodja za paralelno procesiranje (angl. Parallel Computing Toolbox) omogoča uporabo grafičnih kartic skozi njihove že optimizirane funkcije za učenje CNN.. 3.5 Matlab 2017 Matlab vsebuje tudi orodja za učenje globokih nevronskih mrež (angl. Neural Network Toolbox). V njem je zelo enostavno ustvariti in uporabljati CNN za globoko učenje tudi brez obsežnega poznavanja naprednih algoritmov strojnega vida ali nevronskih mrež. Globoke nevronske mreže združujejo več nelinearnih obdelovalnih plasti, ki so sestavljene iz preprostih elementov, kot je perceptron (nevron), in jih lahko učimo tudi paralelno z algoritmom (angl. backpropagation) plast za plastjo. Kot smo že omenili, ima Matlab podporo za paralelno procesiranje. Omogoča nam uporabo več CPU jeder ali GPU. Modeli globokih nevronskih mrež so računsko zelo zahtevni. Hitrost učenja modelov lahko izboljšujemo z različno izbranimi modeli, optimizacijo parametrov ali uporabo paralelne strojne opreme, kot je GPU [24]. Matlab nam celo omogoča, da lahko uporabimo globoko učenje v oblaku z uporabo Amazon Elastic Compute Cloud (Amazon EC2) s podatki, shranjenimi v oblaku. Globoko učenje v oblaku nam lahko prihrani veliko časa, celo če imamo velike podatkovne modele, kjer učenje lahko traja ure, dneve ali celo tedne.. 31.

(48) 4 IZDELAVA PROGRAMA Glede na zahteve magistrske naloge smo izdelali program, ki je sposoben uporabljati CPU in GPU za procesiranje SAR slik. Program smo izdelali v Matlab programskem okolju. Izdelali smo program za kategorizacijo radarskih slik SAR ter program za detekcijo sprememb v radarskih slikah SAR. Za model nevronske mreže smo uporabili Matlabov primer že naučene konvolucijske nevronske mreže. Zaradi boljše preglednosti se je izdelal tudi grafični vmesnik.. 4.1 Model CNN pri učenju, kategorizaciji in detekciji sprememb v SAR slikah Za model nevronske mreže lahko izberemo preprost Matlabov primer že naučene CNN »LettersClassificationNet«. Ta model je predhodno naučen z 10.000 slikami velikosti 28 x 28 x 1 in vsebuje razporeditev, kot je prikazano v tabeli 4. Tabela 4: Matlabov model CNN (angl. LettersClassificationNet) Ime plast Vhodna plast Konvolucijska plast Usmerniška plast Združevalna plast Povezovalna plast Softmax. Parametri 28 x 28 x 1 20 filtrov, 5 x 5 filter, 1 x 1 korak, dodanih število ničel 0 x 0 / 2 x 2 filter, korak 2 x 2, dodanih število ničel 0 x 0 10 povezovalnih plasti /. Na izbrani CNN spremenimo vhodno plast, konvolucijsko plast ter povezovalno plast. Vhodno plast nevronov določimo 200 x 200 x 1, saj bodo naši vhodi v CNN slike take velikosti. Za konvolucijsko plast določimo 96 filtrov velikosti 11 x 11 in korak 4. Povezovalno plast pa izberemo v odvisnosti od števila kategorij, ki jih hočemo prepoznati (od 2 do 6).. 32.

(49) Softmax plast uporabljamo za izračun uspešnosti vsake od kategorij. Če na vhod v naučeno CNN vključimo eno izmed testnih slik, lahko s softmax plastjo ugotovimo, kako je CNN procentualno razporedila uspešnost vhodne slike po naučenih kategorijah. Pri kategorizaciji slik vhodne slike SAR velikosti 200 x 200 x 1 zaženemo naučeno CNN in kot izhod iz CNN dobimo verjetnost, za katero kategorijo se je CNN odločila, da vanjo spada vhodna slika. Pri detekciji sprememb naučimo drugačno CNN. Kot vhod v CNN uporabimo GLCM matriko oz. histogram sorazmernih vrednosti sivine v danem pomiku nad sliko, ki jo izračunamo iz SAR slik velikosti 200 x 200, posnetih na dveh različnih časovnih intervalih. GLCM matriko oz. sliko ustvarimo iz obeh slik (naredimo eno večjo sliko), ki potem ponazarja spremenjeni del površja ali nespremenjeni del površja. To je potem tudi informacija, ki bo določala izhod pri učenju.. 4.2 Kategorizacija radarskih slik SAR Program za kategorizacijo radarskih slik SAR šteje tri podprograme »Izreži slike«, »Učenje«, in »Prepoznaj«, kot je prikazano na sliki 22, ki prikazuje grafični vmesnik programa. V programu lahko izbiramo, ali bomo podprograme izvajali z opcijo paralelnega procesiranja, s katero omogočimo uporabo grafičnih kartic, ki so na voljo.. 33.

(50) Slika 22: Program za kategorizacijo radarskih slik SAR, izdelan v Matlabu Kratki opis podprogramov je predstavljen v tabeli 5.. Tabela 5: Opis podprogramov za kategorizacijo radarskih slik SAR Podprogram. Kratki opis. Izrez slik. Namenjeno polnjenju baze oz. shranjevanju slik v direktorije z imeni kategorij.. Učenje. Namenjen učenju konvolucijske nevronske mreže v vsej zbrani bazi SAR slik v direktorijih.. DA. Prepoznaj. Namenjeno kategorizaciji območja na slikah SAR z naučeno konvolucijsko nevronsko mrežo.. NE. Podprograme smo podrobneje opisali v nadaljevanju.. 34. Paralelno procesiranje NE.

(51) 4.2.1 Izrez slik Ker so za učenje nevronskih mrež potrebni vhodni podatki, smo izdelali podprogram, ki je namenjen shranjevanju slik velikosti 200 x 200 slikovnih točk z namenom kasnejšega učenja konvolucijske nevronske mreže. Ob zagonu podprograma se pojavi okno, v katerem se prikaže radarska slika SAR (Slika 23).. Slika 23: Okno s prikazano radarsko sliko SAR Podprogram smo zasnovali tako, da se ob kliku na sliko na lokaciji klika izriše rdeči okvirček v velikosti 200 x 200 slikovnih točk (Slika 23), medtem pa se odpre novo okno, kjer se prikaže izrezana slika v tej velikosti (Slika 24).. 35.

(52) Slika 24: Izrezana slika velikosti 200 x 200 slikovnih točk. Pod oknom izrezane slike smo z namenom shranjevanja slik dodali gumb. Slike lahko shranimo v tako imenovano podatkovno bazo ali v vnaprej ustvarjene direktorije, poimenovane z imenom kategorije, na primer MESTO (angl. CITY), kot je prikazano na sliki 25.. 36.

(53) Slika 25: Shranjevanje slik SAR v direktorije z njihovimi imeni (pred priprava za učenje) Dodatno smo z ustvaritvijo okenca »Samodejno shrani« omogočili samodejno shranjevanje slike brez dodatnega pritiska na gumb »Shrani«. To pomeni, da se ob pritisku levega gumba miške na lokacijo v SAR sliki zgodi samodejno shranjevanje slike v direktorij s trenutno izbrano kategorijo.. 4.2.2 Učenje Pri zagonu podprograma »učenje« kot vhod uporabimo že ustvarjeno bazo slik, shranjeno v direktorijih z imenom kategorije. Bazo slik uporabimo kot vhodne podatke v CNN. Da bi s CNN v fazi prepoznavanja pravilno in uspešno prepoznali dele zemeljskega površja, je naša naloga pravilno nastaviti plasti CNN. S plastmi določimo tako imenovani proces učenja mreže. Glede na vhodno matriko slike SAR (200 x 200 slikovnih točk) najprej določimo vhodno plast CNN. Vhodna matrika je 8-bitna črno bela SAR slika, ki vsebuje le en RGB 37.

(54) kanal, zato bo naša vhodna plast sestavljena le iz 200 x 200 umetnih nevronov. Sledi naslednja plast, ki jo imenujemo konvolucijska plast, itd. Ustvarjene plasti so prikazane v tabeli 6. Tabela 6: Konfiguracija CNN za učenje Plasti znotraj CNN. Opis plasti in parametri. Vhodna plast. 200 x 200 x 1 slika, ničelno normalizirana. Konvolucijska plast. 20 filtrov velikosti 5 x 5 x 1 s korakom [1 1] in oblazinjenjem [0 0]. Usmerniška plast. /. Združevalna plast. 2 x 2 s korakom [2 2] in oblazinjenjem [0 0]. Povezovalna plast. Število nevronov, ki jih določimo za to plast, je v našem primeru 6, saj imamo 6 kategorij, ki jih hočemo napovedati. Ta plast (kot predzadnja plast pred softmax plastjo) je odvisna od števila izhodnih kategorij. Kolikor kategorij hočemo ločiti, toliko bo v večini primerih tudi nevronov, ki predstavljajo to plast.. Softmax plast Izhodna. Normalizirana eksponentna funkcija. kategorizacijska Določa izhod. V našem primeru je to ime kategorije.. plast. Plasti smo implementirali in sestavili v programu Matlab. Po nastavitvi vseh plasti CNN v programu Matlab lahko začnemo učiti nevronsko mrežo. Po končanem postopku učenja CNN shranimo. Za ugotavljanje točnosti klasifikacije nevronske mreže uporabimo testne podatke oz. slike SAR iz baze, ki niso bile uporabljene pri učenju CNN. Za testno bazo podatkov so znana imena kategorij. Po dobljeni natančnosti napovedi lahko sklepamo, ali je potrebno CNN še dodatno učiti, ali je že dovolj dobro naučena za uporabo prepoznavanja površja. Za CNN je bilo v Matlabu potrebno določiti tudi nekatere parametre. Ti so prikazani v tabeli 7. 38.

(55) Tabela 7: Parametri CNN Ime parametra. Opis. Izbrana vrednost. Matematični. algoritem. reševanje. za Metoda vzvratnega razširjanja oz. izbor Sgdm. (angl.. določenega algoritma, ki poskrbi za konvergenco uteži Stochastic. problema (angl. Solver). proti najmanjši napaki.. gradient descent). Začetni korak učenja (angl. Ta parameter določa začetno nastavitev 0.01 Initial Learn Rate). koraka, s katerim algoritem konvergira proti manjši napaki.. Urnik. nastavljanja. koraka Pomen tega parametra je zmanjšanje 0.02. učenja (angl. Learn Rate koraka napake, s katerim konvergira Schedule). izbrani algoritem, ampak le po določenem številu pretečenih ciklov oz. epoh. Za urnik nastavljanja stopnje učenja po določenem številu epoh je pomembna tudi perioda spusta koraka učenja (angl. Learn Rate Drop Period).. Perioda spusta koraka učenja Na kolikšno število pretečenih epoh se 5 (angl.. Learn. Rate. Drop izvede zmanjšanje koraka učenja (angl.. Period). Learn Rate).. Maksimalno število epoh. Maksimalno število ciklov oz. epoh, 500. (angl. Max Epochs). Algoritem nastavljal uteži v CNN, tako dolgo dokler ne doseže toliko epoh, kot je število tega parametra. V eni epohi algoritem za učenje natanko enkrat uporabi vse vhodne slike.. 39.

(56) Minimalno število vhodnih S tem parametrom določamo, koliko 128 podatkov na epoho (angl. vhodnih Min Batch Size) - MBS. podatkov. naenkrat. bomo. uporabili pri nastavljanju uteži. Če imamo 1000 vhodnih slik in minimalno število vhodnih podatkov na epoho nastavljen na 100, bomo za dosego ene epohe porabili 10 iteracij učenja.. Postopek učenja CNN oz. nastavljanja uteži smo opisali v predhodnem poglavju. Rezultate in poskuse učenja smo podrobneje opisali v poglavju z rezultati.. 4.2.3 Prepoznaj V podprogramu »Prepoznaj« smo izdelali algoritem za kategorizacijo površja. Algoritem deluje tako, da uporabi naučeno konvolucijsko nevronsko mrežo za kategorizacijo površja. Opis postopka algoritma je prikazan v tabeli 8 po korakih od začetka.. Tabela 8: Algoritem za kategorizacijo površja iz radarske slike Korak. Ime postopka. Opis postopka. 1. Naloži SAR sliko. Naloži vhodno sliko SAR v delovni pomnilnik.. 2. Razreži SAR sliko. Vhodno sliko SAR razreži na mrežo majhnih slik velikosti 200 x 200 slikovnih točk.. 3. Naloži CNN. Naloži. predhodno. naučeno. shranjeno CNN iz notranjega pomnilnika.. 40.

(57) 4. Kategoriziraj sliko SAR z naloženo CNN. Vsako sliko posebej daj na vhod CNN in napovej izhod v obliki imena najbolj verjetne kategorije.. 5. Pobarvaj slike. Slike prevleči z vnaprej določeno barvo, ki predstavlja posamično napovedano kategorijo.. 6. Združi pobarvane slike nazaj v SAR sliko. Pobarvane slike združimo nazaj v obliko prvotno naložene vhodne slike SAR, tako da dobimo celoto.. 7. Prikaži rezultate. Prikaži sliko z legendo barv ter kategorizirano sliko SAR. Rezultat kot izhod algoritma je prikazan v obliki obarvane vhodne slike SAR, kjer vsaka določena barva predstavlja različno kategorijo površja (Slika 26).. Slika 26: Primer kategorizirane slike SAR. 41.

(58) Rezultat je le primer naučene mreže s šestimi kategorijami letališče (angl. airstrip), voda (angl. backwaters), mesto (angl. city), gozd (angl. forest), travinje (angl. grassland), avtocesta (angl. highway) (Slika 27).. Slika 27: Legenda kategorij, ki jih želimo prepoznati na površju Za vsako od kategorij je bila kot primer uporabljena le ena vhodna slika za učenje konvolucijske nevronske mreže, zaradi česar je to tudi primeren rezultat.. 4.3 Detekcija sprememb v radarskih slikah SAR V programu za detekcijo sprememb na površju Zemlje skozi radarske slike SAR podobno kot pri kategorizaciji površja najprej izberemo delovni direktorij, v katerem so vse Matlabove datoteke, vključno z izrezanimi slikami v poddirektorijih, če jih imamo na voljo. Da bi dobili sistem za prepoznavanje sprememb na površju, moramo zato ustvariti dve kategoriji: eno kategorijo oz. direktorij z imenom spremenjene slike, drugo kategorijo oz. direktorij pa z imenom nespremenjene slike. Za ta program je značilno, da izrezane slike kot vhod v CNN niso slike površja zemlje kot v različici programa za kategorizacijo površja, ampak skonstruirane slike iz značilk GLCM. Značilke izračunamo za vsako izrezano sliko iz vhodne slike SAR posnetega površja Zemlje, ki je običajno večjega formata, velikosti recimo 10.000 x 10.000 slikovnih točk. Za razliko od kategorizacije površja, kjer smo potrebovali samo eno vhodno SAR sliko iz satelita, tu potrebujemo dve. Eno iz preteklosti ter eno iz sedanjosti. Na obeh iz razrezanih 200 x 200 slik izračunamo vseh šest značilk po metodi za izračun (GLCM). Te značilke opisujejo teksturo slike. To so varianca, kontrast, korelacija, energija, entropija ter homogenost. 42.

(59) Teksturo v obliki tabeliranih podatkov vsake od značilk lahko nato pretvorimo v RGB (trikanalno 24-bitno) sliko. Če vseh šest združimo v eno sliko, smo ustvarili sliko velikosti 1200 x 200 slikovnih točk iz le ene SAR slike. A s samo eno RGB sliko z izračunanimi teksturami si ne moremo pomagati. Da bi lahko zaznali spremembe na površju, zato potrebujemo dve sliki posneti na različnih časovnih intervalih. Če iz dveh slik zemeljskega površja posnetih v različnih časovnih intervalih izrežemo majhne slike ter na obeh izračunamo značilke po metodi GLCM in jih združimo oz. vkomponiramo v eno samo sliko, smo dosegli zadan cilj. Sedaj je naš rezultat ena slika v velikosti 1200 x 400 slikovnih točk. Našo sliko sedaj sestavlja 6-krat 2 značilki, izračunani po metodi GLCM. Sedaj je končni korak le določiti, v katero kategorijo spada katera od slik: med »spremenjene« ali »nespremenjene«. Ti bosta kasneje predstavljali bazo slik izračunanih GLCM značilk, s katero učimo konvolucijsko nevronsko mrežo prepoznati spremembe na površju Zemlje. Kako in na kakšen način to naredimo, opišemo v nadaljevanju v podprogramih za detekcijo sprememb v radarskih slikah SAR. Podprograme smo podobno kot v predhodni različici kategorizacija radarskih slik SAR tudi tukaj razdelili na »Izreži slike za učenje sprememb«, »Učenje sprememb« ter »Prepoznaj spremembe« (Slika 28).. 43.

(60) Slika 28: Program za detekcijo sprememb v radarskih slikah SAR, izdelan v Matlabu. V programu lahko tako kot v predhodnem izbiramo, ali bomo podprograme izvajali z opcijo paralelnega procesiranja, s katero omogočimo uporabo grafičnih kartic, ki so na voljo. V okencu z imenom SAR slike ena in dve vpišemo imeni dveh poravnanih slik, posnetih v različnih časovnih intervalih. Kratki opis podprogramov je predstavljen v tabeli 9. Podprogramu »Učenje sprememb« smo dodali možnost uporabe paralelnega procesiranja. To pomeni, da za učenje konvolucijske nevronske mreže lahko uporabljamo tudi GPU.. 44.

References

Related documents

In our opinion, the consolidated financial statements referred to above present fairly, in all material respects, the financial position of the Organization as of June 30, 2019

Judicial review of laws below the level of statute against statutes was then introduced by Law 14 of 1970 on Judicial Powers and Article 26 granted the power to do

User Filters Position Sub Menu : User Filter List User Filter List allows filtering of positions according to owner.. RM3.4 Changes to Swaption

If cultivation of an endangered plant in a botanic garden results in a genetic change of the plant’s phenotype away from the natural one, it means a departure from the basic idea

This quantitative study employing questionnaire methods and an exploratory factor analysis has shown that parents’ beliefs about attending upcoming General Paediatric

Robert Franklin III Christopher Gaines Kenneth King Decorations Evelyn Rich Henry Muse Eulasteen Muse Music Brenda Davis Antoinette Franklin Newsletter Editor Linda

Based on the analysis conducted in this research, it can be concluded that the settlement pattern at the abandoned delta of Progo River is distributed following the pattern formed

During the modulated heating, MUIR radar detected that the wind velocity outside the heated plasma volume was oscillating periodically with the same frequency as that of the