• Rezultati Niso Bili Najdeni

Uporaba gibanja za izboljˇ sanje detekcije ovir v vodnem okolju

N/A
N/A
Protected

Academic year: 2022

Share "Uporaba gibanja za izboljˇ sanje detekcije ovir v vodnem okolju"

Copied!
72
0
0

Celotno besedilo

(1)

Univerza v Ljubljani

Fakulteta za raˇ cunalniˇ stvo in informatiko

Klemen ˇ Skrlj

Uporaba gibanja za izboljˇ sanje detekcije ovir v vodnem okolju

DIPLOMSKO DELO

UNIVERZITETNI ˇSTUDIJSKI PROGRAM PRVE STOPNJE

RA ˇCUNALNIˇSTVO IN INFORMATIKA

Mentor : izr. prof. dr. Matej Kristan

Ljubljana, 2021

(2)

besedilo, slike, grafi in druge sestavine dela kot tudi rezultati diplomskega dela lahko prosto distribuirajo, reproducirajo, uporabljajo, priobˇcujejo javnosti in pre- delujejo, pod pogojem, da se jasno in vidno navede avtorja in naslov tega dela in da se v primeru spremembe, preoblikovanja ali uporabe tega dela v svojem delu, lahko distribuira predelava le pod licenco, ki je enaka tej. Podrobnosti licence so dostopne na spletni strani creativecommons.si ali na Inˇstitutu za intelektualno lastnino, Streliˇska 1, 1000 Ljubljana.

Izvorna koda diplomskega dela, njeni rezultati in v ta namen razvita program- ska oprema je ponujena pod licenco GNU General Public License, razliˇcica 3 (ali novejˇsa). To pomeni, da se lahko prosto distribuira in/ali predeluje pod njenimi pogoji. Podrobnosti licence so dostopne na spletni strani http://www.gnu.org/

licenses/.

Besedilo je oblikovano z urejevalnikom besedil LATEX.

(3)

Kandidat: Klemen ˇSkrlj

Naslov: Uporaba gibanja za izboljˇsanje detekcije ovir v vodnem okolju Vrsta naloge: Diplomska naloga na univerzitetnem programu prve stopnje Raˇcunalniˇstvo in informatika

Mentor: izr. prof. dr. Matej Kristan

Opis:

V nalogi obravnavajte problem detekcije ovir za vodna plovila. Osredotoˇcite se na trenutno najboljˇse pristope, ki temeljijo na segmentaciji slike. Raziˇsˇcite moˇznost uporabe gibanja za izboljˇsavo detekcije in predlagajte reˇsitve. Pre- dlagane reˇsitve analizirajte na javno dostopnih podatkovnih zbirkah in jih primerjajte z referenˇcno trenutno najboljˇso metodo.

Title: Using motion for improved maritime obstacle detection Description:

Address the problem of obstacle detection for maritime autonomous vehicles.

Focus on the currently best approaches, which are based on image segmen- tation. Explore the possibility of using motion for improved detection and propose solutions. Analyze your solutions on publicly available datasets and compare them with the current state of the art.

(4)
(5)

Zahvaljujem se mentorju izr. prof. dr. Mateju Kristanu za vloˇzen trud, predloge in vse nasvete, ki so me uspeˇsno vodili pri izdelavi diplomskega dela.

Zahvale gredo tudi drugim ˇclanom Laboratorija za umetne vizualne spoznavne sisteme, ki so mi pomagali pri generiranju uˇcne in testne zbirke. Na koncu bi se rad zahvalil ˇse druˇzini za potrpeˇzljivost in spodbude v vseh letih ˇstudija ter prijateljem, ki so vse skupaj naredili bolj zabavno.

(6)
(7)

Kazalo

Povzetek Abstract

1 Uvod 1

1.1 Motivacija . . . 1

1.2 Pregled podroˇcja . . . 3

1.3 Prispevki . . . 6

1.4 Struktura diplomskega dela . . . 6

2 Metode 7 2.1 Konvolucijske nevronske mreˇze . . . 7

2.2 Optiˇcni tok . . . 12

2.3 Model RAFT . . . 16

2.4 Semantiˇcna segmentacija . . . 17

2.5 Model WaSR . . . 19

3 Detekcija z uporabo gibanja 23 3.1 Poravnava zaporedja slik . . . 24

3.2 Razliˇcice modelov . . . 29

4 Eksperimentalna evalvacija 35 4.1 Implementacijske podrobnosti . . . 35

4.2 Evalvacijski protokol . . . 36

4.3 Rezultati . . . 40

(8)

Literatura 53

(9)

Seznam uporabljenih kratic

kratica angleˇsko slovensko

CNN convolutional neural networks konvolucijske nevronske mreˇze

RAFT Recurrent All-Pairs Field Transforms for Optical Flow

Ponavljajoˇce se vse parne transformacije polja za optiˇcni tok

WaSR Water-obstacle separation and refinement network

Nevronska mreˇza za iz- boljˇsevanje in segmentiranje voda-ovira

(10)
(11)

Povzetek

Naslov: Uporaba gibanja za izboljˇsanje detekcije ovir v vodnem okolju Avtor: Klemen ˇSkrlj

Metode za detekcijo ovir na podlagi slike so kljuˇcnega pomena za varno plovbo avtonomnih robotskih plovil. Trenutno najboljˇsa metoda WaSR[3] iz- vaja detekcijo ovir preko semantiˇcne segmentacije trenutne slike z upoˇstevanjem inercijskega senzorja. Pri tem pa ima, tako kot sorodne metode, teˇzave pri majhnih objektih, odbleskih in odsevih. V nalogi predlagamo upoˇstevanje gibanja za razreˇsevanje vizualne negotovosti v segmentaciji trenutne slike.

Predlagamo postopek, ki s poravnavo preteklih slik obogati izgled slikovnega elementa v trenutni sliki s preteklimi izgledi. Obogatena slika se nato segmen- tira z minimalno modificirano arhitekturo WaSR. Korespondence trenutnega slikovnega elementa s preteklimi se izraˇcunajo s trenutno eno najuspeˇsnejˇsih metod izraˇcuna optiˇcnega toka RAFT[40]. Predstavljenih je veˇc variant za- pisa obogatene vizualne informacije. Rezultati evalvacije pokaˇzejo podobno F1 mero WaSRµ verzije modela v primerjavi z originalnim, ko upoˇstevamo vse ovire, ter enako dobro detekcijo roba morja. Glavna pridobitev pa je 12%

izboljˇsava na detekcijah znotraj nevarnega obmoˇcja. Vzrok za boljˇse rezul- tate je predvsem v manjˇsem ˇstevilu laˇzno pozitivnih detekcij ob omenjenih teˇzjih pogojih.

Kljuˇcne besede: raˇcunalniˇski vid, avtonomno plovilo, semantiˇcna segmen- tacija, optiˇcni tok, detekcija ovir, strojno uˇcenje.

(12)
(13)

Abstract

Title: Using motion for improved maritime obstacle detection Author: Klemen ˇSkrlj

Image-based obstacle detection methods are crucial for the safe navigation of autonomous robotic vessels. Current state-of-the-art method WaSR[3] per- forms obstacle detection with semantic segmentation of current image while using information from inertial sensor. However, like related methods, it has problems with small objects, glare and reflections. In this thesis, we propose a method which takes into account movement to resolve visual uncertainty in the segmentation of current image. We propose a process that enriches the appearance of the image element in the current image with past appear- ances by aligning past images. The enriched image is then segmented with a minimally modified WaSR model. The correspondences between current image elements and ones in previous images are calculated using currently one of the most successful methods of calculating optical flow RAFT[40]. Sev- eral variants of using enriched visual information are presented. The results of the evaluations show similar F1 measure of the WaSRµ model compared to the original one while taking into account all obstacles and comparable detections of the water edge. The main achievement is 12% imporvement in detecting obsticles within the danger zone mainly due to smaller number of false-positive detections under mentioned difficult conditions.

Keywords: computer vision, autonomous vessel, semantic segmentation, optical flow, obstacle detection, machine learning.

(14)
(15)

Poglavje 1 Uvod

1.1 Motivacija

S pojavom vse bolj zmogljivih raˇcunalnikov, velike koliˇcine podatkov in no- vih teoretiˇcnih razumevanj, je v enaindvajsetem stoletju umetna inteligenca doˇzivela nekakˇsno ponovno rojstvo. Strokovnjaki na tem podroˇcju vidijo ve- lik potencial v takih tehnikah za reˇsevanje kompleksnih problemov v vseh aspektih ˇzivljenja. Eden od aktualnih izzivov je zagotovo avtonomna voˇznja.

V ˇsirˇsi javnosti je govora predvsem o sistemih za avtomobile, ki jih razvi- jajo podjetja kot so Tesla[16], Apple[15], Waymo[25] (prej Googlov projekt) in druga. ˇCloveˇske napake so namreˇc razlog za veliko veˇcino vseh nesreˇc, ki se zgodijo na cesti. Ti sistemi pa bi ta faktor odstranili. A ceste niso edino podroˇcje, kjer se pojavlja vse veˇcja zahteva po avtonomiji. V vodnem okolju se pojavlja zanimanje za manjˇsa, brezpilotna plovila, ki pomagajo pri nad- zorovanju varnosti, izvidniˇstvu, kolekciji podatkov itd. Zaradi svoje manjˇse velikosti so bolj okretna, lahko delujejo na plitvih obmoˇcjih in v hitro spre- minjajoˇcih vremenskih pogojih. Poleg tega so tudi bolj energijsko varˇcna in porabijo manj denarja za njihovo vzdrˇzevanje. Najpomembneje pa je dejstvo, da pri tem ne potencialno ogroˇzajo ˇzivljenj posadke. Na Sliki 1.1 je prikazan primer takega avtonomnega plovila.

1

(16)

Slika 1.1: Primer avtonomnega plovila [21]

Zaˇcetni korak proti vozilom, ki zmorejo tako avtonomijo, je prepoznava okolice s pomoˇcjo raˇcunalniˇskega vida. Sistem mora znati iz informacije kamere in drugih senzorjev razumeti, kaj se dogaja okrog njega, in hitro od- reagirati na potencialne nevarnosti. Proces, ki klasificira objekte na vhodnih podatkih v vnaprej definirane razrede, se imenuje semantiˇcno segmentira- nje slike. Pri veˇcini dosedanjih metod raziskovalci uporabljajo konvolucijske nevronske mreˇze, kjer kot vhod vzamejo le trenutno sliko scene. Ta pa v razburkanem morju ali pa ob moˇcnih odsevih in odbleskih ne pove dovolj.

Primeri predikcij trenutno najboljˇse metode WaSR[3]so prikazani na Sliki 1.2.

Na njih so vidne laˇzno pozitivne detekcije kot posledica ravno teh razmer.

V diplomski nalogi smo preverili, ˇce se rezultati izboljˇsajo ob uporabi infor- macij tudi nekaj prejˇsnjih sliˇcic. Zaporedne slike lahko namreˇc poravnamo s trenutno in tako za vsako toˇcko pridobimo dodatne podatke. Predvidevamo, da te pozitivno pomagajo modelu pri njegovem uˇcenju. Skozi nalogo smo predstavili veˇc naˇcinov uporabe novih znanj in evaluirali njihove predikcije.

(17)

Diplomska naloga 3

Slika 1.2: Laˇzne detekcije (rumerni kvadratki) ob pojavitvi odsevov (prva slika) in penjenja morja (druga slika)

1.2 Pregled podroˇ cja

Podroˇcje semantiˇcne segmentacije in detekcije ovir z uporabo gibanja spe- cifiˇcno na morski domeni ˇse ni tako razvito. V ˇclanku [38] so avtorji pred- stavili hibridno metodo, ki zdruˇzuje odstranjevanje ozadja in detekcije ovir v ospredju. Segmentiranje temelji na predpostavki, da obstajajo znaˇcilke, s katerimi lahko ugotovimo, ali je piksel del ozadja ali ospredja. Kot vhod mo- del vzame dva zaporedna okvirja in na podlagi razlike med njima in razlike do referenˇcne slike ozadja izboljˇsuje verjetnosti modela ozadja. Z zdruˇzitvijo tega izhoda in izhoda barvne segmentacije pa pridejo do segmentiranih pre- mikajoˇcih objektov. Problem takega pristopa je, da avtorji predvidevajo statiˇcno kamero, kar pa je na morju zaradi valovanja zelo pogosto krˇseno. V

(18)

ˇclanku [44] je predstavljen sistem, ki zdruˇzuje detektiranje meje med morjem in nebom, regij, ki izstopajo in sledenje objektom z optiˇcnim tokom. Samo s tehniko ohranjanja pomembnih regij rezultati vsebujejo veliko laˇzno po- zitivnih detekcij, ki jih je mogoˇce z optiˇcnim tokom odstraniti. Pri tem je predpostavljeno neprekinjeno gibanje pravih ovir, medtem ko se valovi, od- sevi in podobne anomalije pojavijo le za kratek ˇcas. ˇClanki [13],[43] in [28] za detekcijo uporabljajo stereo rekonstrukcijske metode, ki pa imajo probleme z delno potopljenimi objekti in v razmerah, ko gladina ni teksturirana. V ˇclanku [20] semantiˇcna segmentacija bazira na prilagajanju strukturnih mo- delov, v ˇclanku [2] pa je metoda razˇsirjena ˇse z uporabo stero kamere in informacij inercialnih merilnih enot. Pri obeh je problem v enostavnih vizu- alnih znaˇcilkah, ki ne dovolj dobro opiˇsejo teˇzkih pogojev na morju (odsevi, odbleski). Avtorji ˇclanka [27] so za detekcijo modificirali klasifikator Faster R-CNN[33]in poroˇcali o zelo dobrih rezultatih na privatni zbirki. Izkaˇze pa se, da je problematiˇcna generalizacija modela. Trenutno najboljˇsi model WaSR je predstavljen v ˇclanku [3] in bo podrobneje opisan v nadaljevanju.

Za razliko od vodne domene, pa je za avtonomno voˇznjo avtomobilov uporaba informacije o gibanju objektov veliko bolj pogosta. V ˇclanku [12] so avtorji ocenjevali pomembnost uporabljanja mask gibanja kot pomoˇc modelu pri semantiˇcni segmentaciji. Te so izraˇcunane na podlagi optiˇcnega toka v naprej in nazaj. Rezultati kaˇzejo, da dodajanje takih informacij pozitivno vpliva na natanˇcnosti segmentacije, ˇse posebej na robovih in pri majhnih objektih. Avtorji so v ˇclanku [36] predstavili nov model, ki zdruˇzuje uˇcenje zaznave objektov in segmentiranje gibanja. Samo iz trenutne slike ni mogoˇce ugotoviti premikanja in geometriˇcnih informacij okolice, ki so pri voˇznji zelo pomembne, zato model vzame kot dodaten vhod ˇse gosto optiˇcno polje. Ar- hitektura kodrinik-dekodirnik nato zdruˇzi podatke in se skupaj nauˇci dveh loˇcenih nalog. Rezultati kaˇzejo, da ima tak pristop velik potencial. V ˇclanku [42] pa je predstavljena konvolucijska nevronska mreˇza, ki kot vhod vzame po- lje optiˇcnega toka dveh zaporednih okvirjev s trenutno RGB sliko in sprodu- cira semantiˇcno segmentiran izhod. Pri tem so avtorji poskuˇsali z razliˇcnimi

(19)

Diplomska naloga 5 naˇcini normalizacije toka, da bi se skala podatkov ujemala s skalo vrednosti pikslov. Skaliranje magnitude vektorjev s fiksno vrednostjo (255) se izkaˇze za najboljˇso metodo. Podoben model so si zamislili tudi v ˇclanku [32]. Avtorji predlagajo arhitekturo z dvema kodirnikoma (posebej za RGB sliko in za gosto polje optiˇcnega toka), ki se nato zdruˇzi v en dekodirnik za semantiˇcno segmentacijo. Poleg tega pa testirajo ˇse arhitekturo z enim kodirnikom, ki za vhod vzame zdruˇzen tenzor slike in polja. Pri iskanju prave predstavitve optiˇcnega toka poskusijo z magnitudo vektorjev, magnitudo in smerjo ter z RGB predstavitvijo. Rezultati pokaˇzejo, da je arhitektura dveh kodirnikov boljˇsa kot tista z enim, ter da uporaba optiˇcnega toka izboljˇsa natanˇcnost segmentacije. Bolj natanˇcna analiza pa daje pri veˇcjih premikajoˇcih objek- tih (avtomobili, ljudje, avtobus, motor ipd.) prednost RGB predstavitvi polja, pri bolj stacionarnih objektih (nebo, stavbe ipd.) pa se bolje izkaˇze predstavitev z magnitudo vektorjev. Avtorji ˇclanka [17] so prav tako pred- stavili model, ki uporablja optiˇcni tok kot pomoˇc pri segmentaciji generiˇcnih objektov v video sekvencah. Najprej za segmentacijo uporabijo samo RGB sliko. Natreniran model nato uporabijo za generiranje prve verzije anotacij na trening sekvenci in z metodo samovzroˇcenja (angl. bootstrap) trenirajo tudi model, ki deluje na gostem polju optiˇcnega toka. Pozno v cevovodu pa z zdruˇzenjem teh dveh tokov naredijo konˇcno segmentacijo. Razlog za to je zagotavljanje, da najprej oba modela posebej naredita dobre predikcije.

Opisana metoda je zelo uˇcinkovita v domenah, kjer nimamo velike koliˇcine ˇze segmentiranih video sekvenc na nivoju pikslov. Poleg navadne slike in optiˇcnega toka med zaporednima okvirjema, pa se izkaˇze, da je tudi globin- ska slika lahko v pomoˇc. To so avtorji predstavili v ˇclanku [31]. Testirane so bile tri arhitekture nevronske mreˇze za zdruˇzevanje podatkov: pred ekstrak- cijo znaˇcilk, zdruˇzevanje na nivoju znaˇcilk in veˇckratno zdruˇzevanje. Poleg tega pa so, podobno kot pri ostalih ˇclankih, testirane razliˇcne predstavitve optiˇcnega toka in globinske slike. Rezultati kaˇzejo na boljˇse semantiˇcne se- gmentacije ob uporabi RGB+D+F podatkov v primerjavi s samo RGB sliko.

Vendar pa z zdruˇzevanjem vseh treh predstavitev model slabˇse deluje kot

(20)

ob zdruˇzevanju samo RGB in globine ali pa RGB in toka. Moˇzno je, da se mreˇza implicitno nauˇci tretjo modaliteto iz drugih dveh ali pa standardna ar- hitektura ni zmoˇzna dovolj dobrega zdruˇzevanja. Vsekakor bodo v tej smeri narejene bolj podrobne raziskave.

1.3 Prispevki

Glavni prispevek diplomskega dela je nova metoda za detekcijo ovir za av- tonomna plovila, ki upoˇsteva gibanje. Problem detekcije zastavimo kot problem semantiˇcne segmentacije. Temporalno odvisne slike najprej porav- namo s pomoˇcjo raˇcunanja gostega optiˇcnega polja med zaporednima okvir- jema. Nato predlagamo razliˇcne naˇcine novih vhodov v modificirano mreˇzo WaSR[3]. Konˇcne modele evaluiramo in rezultate primerjamo z originalno metodo. Tu smo pozorni predvsem na detekcije v nevarnem obmoˇcju nepo- sredno ob plovilu ter izboljˇsave ob prisotnosti odsevov in odbleskov. Razvita metoda je bolj robustna na omenjene teˇzave in dosega boljˇse rezultate de- tekcije.

1.4 Struktura diplomskega dela

Diplomska naloga je sestavljena iz petih poglavij. V Poglavju 2 predstavimo teoretiˇcno ozadje uporabljenih metod in dve nevronski mreˇzi, ki bosta del naˇsega eksperimenta. V Poglavju 3 se posvetimo opisu naˇcina, kako je upo- rabljena dinamika pri detekciji ovir. Tu predstavimo metodo poravnavanja slik s pomoˇcjo gostega optiˇcnega polja in razliˇcne verzije modelov, ki so bili evaluirani. V Poglavju 4 so razloˇzene podrobnosti eksperimenta in rezultati.

V Poglavju 5 pa zapiˇsemo ˇse sklepne ugotovitve in navedemo smernice za nadaljnje delo.

(21)

Poglavje 2 Metode

2.1 Konvolucijske nevronske mreˇ ze

Predlagana metoda za boljˇse detekcije ovir izkoriˇsˇca novodobne pristope glo- bokega uˇcenja. Klasiˇcne nevronske mreˇze so polno povezane, pri ˇcemer pa pridemo do problema prevelikega prilagajanja. Na slikovnih vhodih, ki jih uporabljamo mi, je potrebno zagotoviti, da lokacija ali velikost ovire ni po- membna pri njeni detekciji. Zato se za kompleksnejˇse, multidimenzionalne vhode uporablja specifiˇcen tip nevronske mreˇze, ki je invariantna na ome- njene teˇzave. Ta se imenuje konvolucijska nevronska mreˇze. V naslednjih odsekih je na kratko predstavljena operacija konvolucije, razliˇcni sloji mreˇze, proces uˇcenja ter arhitekture residualnih blokov, ki jo uporablja naˇsa metoda.

2.1.1 Konvolucija

Konvolucija je matematiˇcna funkcija, ki deluje na dveh funkcijah in kot re- zultat vrne novo funkcijo. Za poljubni funkciji f in g je ta definirana kot integral

(f∗g)(t) = Z

−∞

f(τ)g(t−τ)dτ , (2.1) kjer je (f ∗g)(t) rezultat konvolucije med funkcijama f(t) in g(t). Pri ne-

7

(22)

vronskih mreˇzah imamo opravka z diskretnimi podatki. Pri tem se izraˇcun konvolucije spremeni iz integrala v vsoto.

(f∗g)[n] =

X

m=−∞

f[m]g[n−m] (2.2)

Formulo pa lahko posploˇsimo tudi na veˇc dimenzij. V naˇsem primeru se ukvarjamo z dvodimenzionalnimi vhodi. Pri teh za izraˇcun konvolucije upo- rabljamo enaˇcbo

(f∗g)[n1, n2] =

X

k1=−∞

X

k2=−∞

f[k1, k2]g[n1−k1, n2−k2] . (2.3) Primer dvodimenzionalne diskretne konvolucije vidimo na Sliki 2.1. Pri tem imamo konvolucijski filter velikost 3×3, s katerim se pomikamo ˇcez vse vrednosti vhodne matrike. Pri vsaki najprej pomnoˇzimo trenutno vrednost in vse okoliˇske sosede z njihovimi pari na filtru. Seˇstevek teh pa potem predstavlja novo vrednost.

Slika 2.1: 2D konvolucija [46]

(23)

Diplomska naloga 9

2.1.2 Sloji

Konvolucijski sloj je najpomembnejˇsi del konvolucijske mreˇze, saj z njim pridobimo bogate znaˇcilke iz vhoda. Posamezen sloj je definiran s ˇstirimi meta parametri:

• ˇStevilo filtrov: S tem kontroliramo s koliko filtri naj mreˇza naredi kon- volucijo nad vhodom. Izhod vsake konvolucije je dvodimenzionalna mapa.

• Velikost filtra: Parameter doloˇca viˇsino in ˇsirino jedra, medtem ko je globina enaka globini vhoda.

• Korak (angl. stride): Parameter doloˇca kakˇsna je razdalja med vsakim centralnim elementom konvolucije.

• Obdajanje z niˇclami (angl. zero-padding): Za konvolucijo so proble- matiˇcne toˇcke na robovih vhoda. Te nimajo definiranih vrednosti za celoten filter, zato bi jih morali izpustiti in zmanjˇsati velikost izhoda.

V izogib temu lahko obrobi dodamo niˇcle in zagotovimo enako velikost vhoda in izhoda.

Da mreˇzi omogoˇcimo nelinearno uˇcenje, sledi konvolucijskemu slojuakti- vacijski sloj. Brez njega bi bil konˇcni model kljub veriˇzenju slojev ˇse vedno linearen. V praksi je najbolj razˇsirjena ReLU (angl. Rectified Linear Unit) aktivacijska funkcija, ki jo lahko zapiˇsemo kot:

ReLU(x) = max(0, x). (2.4)

Taka funkcija je raˇcunsko bolj enostavna od ostalih (npr. sigmoidne), kar pospeˇsi ˇcas treninga, poleg tega pa nima problema z izginjajoˇcimi gradienti pri vrednostihx >0.

Omenjenima slojema pa ponavadi sledi sloj zdruˇzevanja. S tem efek- tivno poveˇcujemo ˇsirino okolice, ki jo filter zajame, ob tem pa se ne zviˇsuje ˇstevilo parametrov mreˇze. Ti sloji se ponavadi pojavijo po vsakih nekaj

(24)

konvolucijskih slojih in razpolovijo ˇsirino in viˇsino slike. Podobno kot pri fil- trih, se tudi tukaj z njim sprehodimo ˇcez celoten vhod. Vrednost trenutnega bloka pa nadomestimo samo z eno vrednostjo. Najpogosteje se uporablja ma- ksimalno zdruˇzevanje (angl. max-pooling), kjer je izhod najveˇcja vrednost znotraj obsega filtra.

Kot zadnja plast pa se za klasifikacijo uporabljapolno povezan sloj, saj je takrat velikost vhoda zaradi plasti zdruˇzevanja obvladljiva. Vsak izhodni nevron je z uteˇzmi povezan z vsakim vhodnim. S tem omogoˇcimo modelu, da znaˇcilke, ki so po zdruˇzevanju in konvoluciji ˇse vedno lokalizirane, spre- meni v globalne, invariantne na pozicijo. Vsak nevron izhodnega vektorja predstavlja klasifikacijski razred, njegova vrednost pa ocenjeno verjetnost za ta razred.

Slika 2.2: Primer enostavne konvolucijske nevronske mreˇze [30]

2.1.3 Uˇ cenje

Uˇcenje konvolucijske nevronske mreˇze poteka preko iterativne optimizacije cenilne funkcije. Ta predstavlja napako modela v trenutnem prehodu, cilj modela pa je minimizacija le-te. Najpogostje se kot cenilno funkcijo uporablja kriˇzno entropijo, ki je definirana z enaˇcbo

C(ˆy, y) = −

N

X

i=1

yilog( ˆyi) , (2.5) kjer ˆy oznaˇcuje napovedano vrednost, y pravilno vrednost, N pa ˇstevilo ra- zredov.

(25)

Diplomska naloga 11 Po izraˇcunu cenilne funkcije naredimo vzvratno propagiranje napake (angl.

error backpropagation) skozi celotno mreˇzo. Uteˇz vsakega nevrona posodo- bimo preko te enaˇcbe

wi =wi-1−ηδL

δwi , (2.6)

kjer wi-1 oznaˇcuje prejˇsnjo uteˇz, δwδL

i parcialni odvod cenilne funkcije, η pa hitrost uˇcenja. Ker potujemo vzvratno, imamo gradient na izhodu sloja ve- dno znan. Preko opisanega postopka cenilna funkcija skonvergira v lokalnem minimumu, kar predstavlja konec uˇcenja modela.

2.1.4 Arhitektura ResNet

Opisane osnovne sloje CNN modelov lahko poveˇzemo skupaj na razliˇcne naˇcine. Eden od posebnih arhitektur je ResNet[10], ki je uporabljena tudi pri naˇsih modelih. Ta naslovi problem izginjajoˇcih gradientov, ki so posledica teˇzjega vzvratnega propagiranja napake pri vse globljih mreˇzah. Sestavni del ResNet arhitekture je residualni blok, ki ga prikazuje Slika 2.3.

Slika 2.3: Residualni blok [10]

Poleg obiˇcajnih povezav v naslednje sloje, ima ta blok ˇse “bliˇznjico” za vhodne podatke, kjer ti preskoˇcijo sloje konvolucije. Izhod iz drugega sloja konvolucije in originalni vhod v blok se nato seˇstejeta, nad njima pa ReLU funkcija producira konˇcni izhod. Pri klasiˇcnih mreˇzah ˇzelimo z uˇcenjem priti do preslikave y = H(x). V globokih mreˇzah pa se izkaˇze, da je teˇzko op- timizirati tako uˇcenje. Zato avtorji predlagajo novo formulacijo preslikave

(26)

H(x) = F(x) +x, pri kateri je potrebna optimizacija le residualnega mapi- ranja, x pa je vhod v blok. Tudi v praksi se to izkaˇze kot boljˇsi pristop in dovoljuje veliko globlje arhitekture mreˇz.

2.2 Optiˇ cni tok

Na podroˇcju raˇcunalniˇskega vida se velikokrat sreˇcujemo s potrebo po apro- ksimaciji gibanja objektov na sekvenci slik. 3D vektorjem hitrosti, ki so projecirani na 2D ravnino pogosto pravimo polje gibanja (angl. motion fi- eld). ˇCe bi lahko priˇsli do takega polja, bi bilo to idealno. A smo zaradi danih podatkov ponavadi postavljeni pred ravno obratni vrsti red operacij.

Iz sekvence slik moramo namreˇc aproskimirati, kako so se objekti v realno- sti premikali. Tej aproksimaciji pravimo polje optiˇcnega toka (angl. optical flow field). Optiˇcni tok je tako definiran kot navidezno gibanje individual- nih pikslov na ravnini slike [41]. Danes je ta uporabljen v veliko razliˇcnih izzivih raˇcunalniˇskega vida kot so npr. segmentacija in sledenje objektov, avtonomna voˇznja, nadzor prometa in prepoznava akcij. Poleg tega pa so pridobljene informacije uporabljene tudi v biomedicini, detektiranju tumor- jev in podobnih nalogah [35].

Koncept optiˇcnega toka je bil prviˇc teoretiˇcno predstavljen v delih ameriˇskega psihologa James J. Gibsona. Ta je preuˇceval, kako ˇzivali preko vizulane per- cepcije in sledenjem vzorcem svetlobe na mreˇznici pridobivajo informacije iz zunanjega sveta. Iz te ugotovitve izvira glavna omejitev optiˇcnega toka in sicer, da se svetlost/intenziteta piksla med dvema zaporednima okvirjema ne spremeni. A le s to omejitvijo ni mogoˇce reˇsiti problema. Denimo, da imamo na primer video ˇzogice, ki nima nobene teksture in luˇc nekje v ozadju, ki se ne premika. Ker je pozicija luˇci konstantna, se svetloba od ˇzogice od- bija vedno enako. Samo iz video posnetka te ˇzogice ni mogoˇce doloˇciti ali se ta rotira okoli svoje osi ali pa stoji na mestu. Tako pridemo do primera, ko se polje gibanja in polje optiˇcnega toka ne ujemata. Razvidno je, da ta problem nima enostavne reˇsitve. Zato je potrebno pri aproksimaciji narediti

(27)

Diplomska naloga 13 veliko predpostavk, ki pa so lahko prav tako krˇsene.

Horn in Schunck sta se leta 1981 prva zaˇcela resno ukvarjati z raˇcunanjem polja optiˇcnega toka [11]. Kot smo to omenili ˇze prej, je za optiˇcni tok naj- pomembneje predvidevati, da se svetlost piksla ne spremeni med dvema za- porednima slikama. To lahko predstavimo z enaˇcbo (2.7), kjer je I() funkcija svetlosti/intenzitete, na Sliki 2.4 pa je ˇse grafiˇcni prikaz.

I(x, y, t) = I(x+ ∆, y+ ∆, t+ ∆) (2.7)

Slika 2.4: Grafiˇcni prikaz vektorja gibanja, ki ga dobimo z izraˇcunom optiˇcnega toka

Pri poenostavljanju te funkcije sta avtorja predvidevala tudi majhno giba- nje v majhnem ˇcasu. To je pomenilo, da lahko desno stran enaˇcbe razˇsirita s pomoˇcjo Taylorjeve serije (prva stopnja). Po poenostavitvi prideta na koncu do enaˇcbe (2.8), kjer u oznaˇcuje komponento vektorja gibanja po x in v komponento vektorja gibanja po y koordinati.

Ixu+Iyv =−It (2.8)

(28)

A samo s to enaˇcbo ni mogoˇce doloˇciti toka, saj pridemo do ene enaˇcbe z dvema neznankama. Zato sta avtorja v svojem ˇclanku naredila dodatno predpostavko, ki predvideva gladkost optiˇcnega polja. To pomeni, da sose- dnji piksli najverjetneje pripadajo enaki, gladki povrˇsini in imajo zato tudi podoben hitrostni vektor. S tem sta priˇsla do optimizacijske funkcije in para enaˇcb za vsak piksel na sliki. Konˇcna implementacija algoritma je bila sicer zaradi manj zmogljivih raˇcunalnikov precej slaba. Tako je metoda iterativno poskuˇsala najti najboljˇso globalno reˇsitev za vsako toˇcko na sliki. Njihove predikcije pa so imele ˇse posebej problem na robovih objektov oziroma na mejah med razliˇcnimi povrˇsinami. Tam je namreˇc predpostavka o gladkem polju in podobnih vektorjih gibanja sosednjih pikslov krˇsena.

Horn in Schunck sta s svojo metodo poskuˇsala pridobiti gosto polje optiˇcnega toka. To pomeni, da rezultat vsebuje vektor hitrosti za vsako toˇcko na sliki.

V istem obdobju pa sta Lucas in Kanade za potrebe poravnave dveh zapore- dnih slik razvila metodo za redko aproksimacijo polja optiˇcnega toka. Pona- vadi so za te toˇcke izbrani robovi ali pa koti objektov [26]. Tudi tu se avtorja posluˇzujeta nekaterih predpostavk pri raˇcunanju. Glavna od njih je, tako kot pri globalni metodi, konsistenca svetlosti. Poleg tega pa predvidevata ˇse majhno gibanje in prostorsko konsistenco. To pomeni, da se trenutna toˇcka giblje podobno kot njene sosede. Ker je metoda lokalna, upoˇsteva za doloˇcen piksel le njegovo 5x5 okolico. Iz tega pridemo do 25 enaˇcb z dvema neznan- kama (u in v), kar je reˇsljivo. Za reˇsevanje pa uporabimo metodo najmanjˇsih kvadratov. Preko minimiziranja vsote kvadratov napak tako poiˇsˇcemo rav- nino, ki se najbolje prilega danim podatkom. Problem take lokalne metode je aproksimacija optiˇcnega toka znotraj neke brezteksturne povrˇsine. Tu na- mreˇc samo s pomoˇcjo sosednjih toˇck ni mogoˇce izvedeti vektorja gibanja.

Zato ima metoda dodatno omejitev. Pri raˇcunanju metode najmanjˇsih kva- dratov dobimo matriko S, ki vsebuje koeficiente vseh petindvajsetih enaˇcb.

S preverjanjem invertibilnosti STS matrike in primerjanjem velikosti njenih lastnih vektorjev lahko izloˇcimo regije, ki so brez strukture in nezanimive.

Obstajajo pa tudi razliˇcice algoritma, ki delujejo tudi ob krˇsitvi predpostavke

(29)

Diplomska naloga 15 o majhnem gibanju. To naredimo s pomoˇcjo Gaussovih piramid obeh slik in iterativnim popravljanjem vektorja gibanja. Aproksimacijo zaˇcnemo na slikah z najmanjˇso resolucijo, nato pa adaptiramo vektorje na vedno veˇcji resoluciji do konˇcnega rezultata [1].

V klasiˇcnih metodah je naloga pridobivanja optiˇcnega toka predstavljena predvsem kot optimizacijski problem. Zato so se posluˇzevali roˇcno narejenih formulacij, ki so poskuˇsale minimizirati energijo med slikama. Z razvojem globokega uˇcenja pa se tudi ta veja raˇcunalniˇskega vida razvija v smer ne- vronskih mreˇz [14]. Na eni strani so napredku veliko botrovale nove podat- kovne zbirke (npr. Middlebury, MPI-Sintel, KITTI), ki so postavljale nove izzive raziskovalcem. Na drugi strani, pa so se pojavile tudi nove roˇcno iz- delane metode. Te so uporabljale zanimive, sveˇze ideje, a se je zato njihova hitrost evalvacije poveˇcala in niso bile uporabne v realnem ˇcasu. S pridobi- tvijo raˇcunsko zmogljivih grafiˇcnih kartic pa so priˇsli prvi nevronski modeli za aproksimacijo optiˇcnega toka. Razvijali sta se dve razliˇcici modelov, ki sta uporabljala konvolucijske nevronske mreˇze (CNN). Prva metoda je CNN uporabljala za pridobivanje znaˇcilk, ki so bile nato vhod v klasiˇcne metode, druga metoda pa je s pomoˇcjo regresije nevronske mreˇze poskuˇsala nauˇciti model celotno predikcijo naenkrat (angl. end-to-end). Prva taka metoda je bila FlowNet, ki pa je bila na zaˇcetku slabˇsa od tradicionalnih metod.

Tako ˇse ni bilo jasno, ˇce so reˇsitev za boljˇsi optiˇcni tok res end-to-end mo- deli tako kot pri drugih izzivih v raˇcunalniˇskem vidu. Kasnejˇse raziskave pa so le pokazale boljˇse rezultate od klasiˇcnih metod. Najpomembnejˇse je bilo odkritje novih arhitektur nevronskih mreˇz z zlaganjem veˇcih komponent sku- paj v en model ali pa z izgradnjo CNN piramid. Vseeno pa te metode niso brez omejitev. Problem je predvsem v zanaˇsanju na veliko koliˇcino oznaˇcenih podatkov za treniranje in padanju natanˇcnosti modelov na ˇse nevidenih do- menah. Zato raziskovalci poskuˇsajo razviti modele s pol nadzorovanim (angl.

semi-supervised) in nenadzorovanim (angl. unsupervised) naˇcinom uˇcenja.

(30)

2.3 Model RAFT

Avtorja Teed in Deng sta v svojem ˇclanku predstavila trenutno najboljˇsi mo- del za pridobivanje optiˇcnega toka med dvema zaporednima slikama [40]. V zadnjih desetih letih se je razpoloˇzljiva raˇcunalniˇska moˇc z novodobnimi teh- nologijami grafiˇcnih kartic moˇcno poveˇcala. Vzporedno pa je tudi podroˇcje globokega uˇcenja doˇzivelo preporod. Kot ˇze prej povedano, izgleda, da je tudi optimalna reˇsitev za problem optiˇcnega toka skrita tukaj. Tako se lahko namreˇc izognemo fomulaciji optimizacijske funkcije in direktno napovemo konˇcni izhod. Glavni izziv pa je dizajniranje efektivne arhitekture mreˇze, s katero dobivamo boljˇse rezultate, se hitreje in laˇzje uˇci ter dobro generalizira razliˇcne podatkovne zbirke.

2.3.1 Arhitektura

Model je sestavljen iz treh glavnih komponent: kodirnik znaˇcilk in konteksta, korelacijska plast in operator za posodobitev (Slika 2.5).

Slika 2.5: Arhitektura modela RAFT s tremi glavnimi deli [40]

V prvi plasti model pridobi znaˇcilke obeh slik. To naredi s pomoˇcjo kon- volucijske nevronske mreˇze, ki jo sestavlja 6 rezidualnih blokov. Ti poskrbijo za mapiranje vhodne slike v goste znaˇcilke z resolucijo 1/8 vhoda. Poleg kodirnika znaˇcilk pa uporabljajo ˇse enako arhitekturo CNN za pridobivanja konteksta slike.

(31)

Diplomska naloga 17 Druga plast je zadolˇzena za pridobivanje korelacijskih volumnov. Za vsak piksel iz prve in druge slike tako hrani vizualno podobnost med njima. Ta je izraˇcunana preko skalarnega produkta med znaˇcilkama. Iz tega dobimo 4D korelacijski volumen C velikost H×W ×H×W (kjer je H viˇsina vhodne slike in W ˇsirina slike). Na koncu pa s povpreˇcenjem pridobimo ˇse 3 dodatne volumne, ki imajo informacijo o sliki niˇzje resolucije.

Z zadnjo plastjo pa mreˇza opravlja iterativno posodabljanje polja optiˇcnega toka. Na zaˇcetku so vsi vektorji inicializirani na 0. Na podlagi vhoda kodir- nika konteksta pridemo do prve aproksimacije. Nato pa za vsako novo pre- dikcijo pogledamo v korelacijsko tabelo (kjer se uporabijo tudi informacije lokalne okolice piksla) in to skupaj s prejˇsnjim tokom in znaˇcilkami konteksta predstavlja vhod v novo iteracijo. Skrito stanje, ki ga vrne posamezen blok, pa se uporabi za posodobitev trenutnega toka, ki sluˇzi za vpogled v kore- lacijsko tabelo naslednega koraka. Vse skupaj je nadzirano s primerjanjem trenutne predikcije in priˇcakovanega izhoda z naraˇsˇcujoˇco uteˇzenostjo.

Konˇcni model dosega najboljˇse rezultate na testiranih mnoˇzicah med tre- nutnimi metodami. Na zbirki KITTI ima 16%, na Sintel pa 30% manjˇso na- pako od najboljˇsih modelov. Poleg tega pa dosega tudi boljˇso generalizacijo, ki je ena kljuˇcnih problemov na tem podroˇcju. Vse skupaj pa izraˇcuna zelo hi- tro. Avtorja navajata, da lahko z 1080Ti grafiˇcno kartico procesira 1088×436 velik vhod s hitrosto 10 sliˇcic na sekundo. Obstaja pa tudi razliˇcica z manj parametri, ki procesira 20 sliˇcic na sekundo s ˇse vedno boljˇsimi predikcijami kot druge metode.

2.4 Semantiˇ cna segmentacija

Proces segmentiranja slike pomeni razdelitev le-te na neko vnaprej doloˇceno mnoˇzico regij, ki jo pokrivajo. Regije so predstavljene kot mnoˇzice pikslov, povezanih skupaj glede na neko lastnost. Ni pa nujno, da vkljuˇcimo vsako toˇcko v neko regijo. Lahko na primer uporabimo le piksle v ospredju slike, ozadje pa ignoriramo [39]. Na sploˇsno lahko segmentacijske tehnike razdelimo

(32)

na dve skupini (Slika 2.6):

• Semantiˇcna segmentacija: Vsak piksel dobi oznako razreda, a pri tem tretiramo objekte z enakim razredom kot isti primerek.

• Segmentacija primerkov: Vsak objekt na sliki dobi svoj edinstven ra- zred. To pomeni, da je tretiran kot svoj primerek.

Znanje in modeli iz tega podroˇcja se najbolj uporabljajo pri razvoju sistemov za avtonomno voˇznjo[19], detekcijo objektov[45]in v medicini za razumevanja vizualnega gradiva[8].

Slika 2.6: Razlika med detekcijo (levo), semantiˇcno segmentacijo (na sredini) in segmentacijo primerkov (desno) [23]

Tako kot veˇcina izzivov na podroˇcju raˇcunalniˇskega vida je tudi proces semantiˇcne segmentacije postal v zadnjih letih veliko bolj natanˇcen. Pred vzponom globokih nevronskih mreˇz so bile metode, ki so klasificirale podane znaˇcilke, najbolj uspeˇsne. Te so bile pridobljene z algoritmi kot so histo- grami orientiranih gradientov (HOG), SIFT, ki vrne znaˇcilke invariantne na velikost, in podobnimi. Na pridobljenih podatkih pa so bili uporabljeni al- goritmi za gruˇcenje. Tu so najbolj popularni K-means, SVM ali pa Markova sluˇcajna polja. Na medicinskih slikah, ki so ponavadi ˇcrno-bele, pa so bile uspeˇsne tudi enostavne tehnike s postavljanjem praga (angl. thresholding).

Novejˇsi modeli delujejo predvsem na principu konvolucijskih nevronskih mreˇz. Model se skozi postopek treniranja sam nauˇci, kateri deli slike so po- membni, njihove znaˇcilke in nato kot izhod poda konˇcno, segmentirano sliko.

Poleg tega pa je dodan tudi del mreˇze, ki obnovi predstavo na originalno velikost. Tako pridemo do kodirnik-dekodirnik arhitekture (angl. encoder- decoder). Velik skok se je zgodil z objavo ResNet[10] mreˇze, ki uporablja

(33)

Diplomska naloga 19 preskakujoˇce povezave. To se je pokazalo kot dobra hrbtenica/zaˇcetna toˇcka za treniranje segmentacijskih modelov. Nekateri modeli se posluˇzujejo tudi razliˇcnih slikovnih piramid (Gaussova in Laplacova) ali pa veˇcstopenjskih ar- hitektur. S tem pridobijo znaˇcilke na razliˇcnih resolucijah, kar pomaga pri natanˇcnosti konˇcne predikcije [24].

2.5 Model WaSR

Semantiˇcna segmentacija se je za potrebe detektiranja ovir izkazala kot do- bra metoda, predvsem pri sistemih za avtonomno voˇznjo. Modeli, ki so sicer narejeni za uporabo v avtomobilih, pa imajo na vodni domeni velike teˇzave z laˇzno pozitivnimi detekcijami. Te so posledica raznih valovanj, odbleskov, odbojev in penjenja morja. Avtorja Bovcon in Kristan sta v svojem ˇclanku predstavila novo metodo WaSR, ki naslavlja to problematiko, in vsako toˇcko vhodne slike segmentira v enega izmed treh razredov: voda, nebo ali oko- lica/ovira [3].

2.5.1 Arhitektura

Model ima arhitekturo kodirnik-dekodirnik. Kodirnik je zadolˇzen za izraˇcun bogatih znaˇcilk na razliˇcnih resolucijah vhoda, dekodirnik pa zdruˇzuje vizu- alne znaˇcilke s podatki inercialnih merilnih enot ter poveˇca loˇcljivost segmen- tiranega izhoda (Slika 2.7).

Preko geometrije stereo kamere, ki je na plovilu, lahko projeciramo ho- rizont na vhodno sliko in s tem omejimo detekcijo roba morja. Obiˇcajno so IMU podatki nevronski mreˇzi podani preko kanala znaˇcilk, ki nato sluˇzi kot predhodna verjetnost za poloˇzaj vode. Problem pa je poiskati najboljˇsi naˇcin reprezentacije teh podatkov, zato sta avtorja preizkusila tri metode. Pri prvi ima binarna maska vrednosti ena le na debeli ˇcrti na horizontu, druga maska ima to na obmoˇcju pod horizontom, na tretji pa so zakodirane oddaljeno- sti toˇck od horizonta. Piksli nad robom imajo pozitivno razdaljo, tisti pod robom pa negativno razdaljo.

(34)

Kodirnik vhodne slike uporablja hrbtenico ResNet-101[10], ki je glede na analize sposobna kodiranja razliˇcnih izgledov vodne gladine. Natanˇcneje je ta sestavljena iz ˇstirih residualnih blokov, ki so skupaj povezani s plastmi za ma- ksimalno zdruˇzevanje (angl. max-pooling layers). Zadnjima dvema blokoma pa je dodana ˇse specifiˇcna konvolucija, ki omogoˇca poveˇcanje receptivnega polja in kodiranja lokalnega konteksta v globoke znaˇcilke.

Dekodirnik je baziran na postopnem zdruˇzevanju IMU in vizualnih za- kodiranih znaˇcilk preko modulov za izboljˇsevanje pozornosti oziroma ARM (angl. attention refinment modules). Pri tem se uˇci optimalne fuzijske stra- tegije, saj so podatki na razliˇcnih vrednostnih skalah. Zakodirane znaˇcilke gredo istoˇcasno v prvi ARM modul skupaj z znaˇcilkami IMU ter tri plastno mreˇzo s piramidnim zdruˇzevanjem (ASPP). ARM poskrbi za fuzijo podat- kov, ASPP pa izboljˇsa segmentacijo manjˇsih objektov. Informacije gredo nato v modul za zdruˇzevanje znaˇcilk, ki generira 1024 kanalni izhod. V na- slednjem koraku se ta izhod z ARM modulom zdruˇzi z znaˇcilkami iz tretje plasti kodirnika in gre nato v novo fuzijo ˇse z znaˇcilkami druge plasti kodir- nika. Konˇcni segmentiran izhod pridobimo preko modula ASPP, ki pa ga moramo ˇse poveˇcati s faktorjem ˇstiri.

Poleg uporabe inercialnih podatkov pri segmentaciji pa sta avtorja razvila ˇse posebno funkcijo napake. Na slikah vodnega okolja veˇcina pikslov pripada razredu voda ali pa nebo, kar pa je razlog za neuravnoveˇsene uˇcne podatke.

Poleg tega se vhodni podatki zelo razlikujejo v razliˇcnih vremenskih razmerah zaradi valovanja, odbojev svetlobe, odsevov in drugih pojavov. Zato funk- cija napake vsebujeFocal loss[22] komponento, ki daje poudarek na zahtevne primere. Poleg tega pa avtorja predstavita komponento napake, ki skrbi za zgodnjo loˇcitev znaˇcilk po razredih. Pri tem testirata ˇstiri razliˇcne imple- mentacije. Prva se fokusira na tesno gruˇcenje vodnih znaˇcilk in loˇcitev od znaˇcilk ovir, druga gruˇci ovire in jih loˇci od vode, tretja loˇcuje znaˇcilke morja in neba od ovir, zadnja pa zdruˇzuje tako znaˇcilke morja kot znaˇcilke ovir v dve loˇceni gruˇci, ki sta ˇcim bolj loˇceni. Konˇcna funkcija napake zdruˇzuje Focal loss, eno od ˇstirih komponent ter L2 regularizacijo.

(35)

Diplomska naloga 21 Pri evalvaciji sta avtorja primerjala WaSR model z drugimi modeli, ki prav tako uporabljajo ResNet-101 osnovo in dosega najboljˇse rezultate pri segmentaciji za avtonomne avtomobile ter sploˇsnih segmentacijskih nalogah.

Poleg tega pa vkljuˇcujejo ˇse primerjavo z najboljˇsimi modeli, ki bazirajo na DenseNet[18] in UNet[34] arhitekturi. Pri tem sta uporabila MODD2[5] podat- kovno zbirko. Rezultati pokaˇzejo povpreˇcno izboljˇsanje detekcije roba morja za 2 piksla in 4% izboljˇsavo v F1 meri. To je predvsem posledica prepo- lovitve ˇstevila laˇzno pozitivnih detekcij in poveˇcanje pozitivnih detekcij za 2%. Natanˇcne analize so potrdile pozitiven uˇcinek dodatnih fuzijskih blokov v dekodirniku. Pri tem se je binarna IMU maska, ki ima z ena oznaˇceno podroˇcje pod horizontom, izkazala za najboljˇso. Avtorja poroˇcata tudi o izjemno dobri generalizaciji metode na morski domeni, saj ta dosega 24%

boljˇso F1 mero.

Slika 2.7: Arhitektura modela WaSR [3]

(36)
(37)

Poglavje 3

Detekcija z uporabo gibanja

Pri detekciji ovir v vodnem okolju imamo najveˇcje probleme zaradi zelo razliˇcnih vremenskih razmer in fizikalnih lastnosti vode. Na dan brez vetra ima morje povsem drugaˇcno obliko kot na dan, ko piha moˇcan veter. Za- radi valov se manjˇse ovire teˇzje opazi, kar lahko privede do laˇzno negativnih detekcij. Te so za avtonomno vozilo potencialno katastrofalne. Velika spre- memba pa se opazi tudi ob prisotnosti sonca. Ko se sonˇcna svetloba odbija od morja, se ustvarijo svetli odbleski, ki jih model lahko zamenja za oviro.

Ali pa, ko se ovira odseva v vodi in izgleda veˇcja, kot je v resnici. ˇCeprav laˇzne pozitivne detekcije niso tako katastrofalne, pa so ˇse vedno slabe. Navi- gacijski sistem ima pri takih detekcijah veˇcje probleme pri iskanju optimalne poti, plovba pa je poslediˇcno tudi poˇcasnejˇsa.

Ce si pogledamo video sekvenco plovbe v na primer valovitem morju,ˇ lahko opazimo, da se oblika valovov spreminja vsako sliˇcico. Ko nato vza- memo samo trenutni okvir kot vhod v segmentacijsko mreˇzo, se lahko zgodi, da ta slika ne prikazuje realnega stanja. Lahko je namreˇc ravno ob tem ˇcasu nastal val, ki zakrije veˇcji del ovire ali pa penjenje morja spominja na potencialno oviro. Temu pravimo vizualno negotovost.

Za idejo o moˇcni tehniki zmanjˇsevanja ˇsuma iz slik si lahko pogledamo pri- mer iz astrofotografije. Tam se namreˇc vedno sreˇcujemo s problemom velike koliˇcine digitalnega ˇsuma, saj ˇzelimo iz noˇcne scene pridobiti ˇcim veˇc infor-

23

(38)

macij. V modernih, digitalnih kamerah lahko to kontroliramo s spremembo treh glavnih nastavitev. Prva izmed njih je zaslonka (angl. aperature), ki pove velikost odprtine v objektivu. Druga je histrost zaklopa (angl. shutter speed). Z veˇcanjem hitrosti spustimo v senzor manjˇso koliˇcino svetlobe. Za- dnja kontrola pa se imenuje ISO, ki je oznaka mednarodnega standarda za oznaˇcevanje svetlobne obˇcutljivosti senzorja. Ker je cilj izluˇsˇciti veliko podat- kov iz scene in narediti ostro fotografijo, se ponoˇci posluˇzujemo kombinacije kratkega ˇcasa zaklopa in visoke obˇcutljivosti senzorja. Pri tem pa pridemo do problema. Digitalne kamere namreˇc pri viˇsanju ISO ne zares spreminjajo obˇcutljivosti samega senzorja, temveˇc ojaˇcajo dobljeni signal. S tem pa se ne poveˇca samo koliˇcina “dobrih” podatkov ampak tudi ˇsum, ki je prisoten v vsakem signalu. Tako pridemo do zmanjˇsanja razmerja med signalom in ˇsumom. Ker pa je ta ˇsum posledica elektronike znotraj kamere, se pravi je to digitalni ˇsum, vemo, da je le-ta nakljuˇcen. Ideja, ki se nam pojavi, je imeti veˇc slik iste scene. Tako imamo za vsak piksel informacije iz veˇcih fotografij, kar pa pomeni, na nivoju posamezne toˇcke, poveˇcano razmerje med signalom in ˇsumom. Pred tem je potrebno tudi poskrbeti, da so slike poravnane med sabo. Ne ˇzelimo si namreˇc imeti iste toˇcke, ki enkrat predstavlja del drevesa, drugiˇc del travnika in na tretji sliki del zvezde. Iz takega niza ni mogoˇce izluˇsˇciti, kaj je signal in kaj je ˇsum [37].

3.1 Poravnava zaporedja slik

Za redukcijo negotovosti je potrebno za vsak piksel trenutne slike doloˇciti njegove korespondenˇcne piksle v preteklih slikah. Poravnava slik je klasiˇcen problem na podroˇcju raˇcunalniˇskega vida. Tradicionalne metode temeljijo na ˇstirih koraki:

1. Detekcija znaˇcilk: Potrebno je poiskati izstopajoˇce ali znaˇcilne toˇcke na vsaki sliki posebej.

2. Ujemanje znaˇcilk: Za vsako znaˇcilko iz prvega koraka poskuˇsamo poi- skati njen duplikat na drugi sliki in obratno.

(39)

Diplomska naloga 25 3. Ocena transformacijskega modela: Na podlagi najdenih parov je po-

trebno oceniti parametre preslikovalne funkcije.

4. Ponovno vzorˇcenje slike in transformacija: Slika je na podlagi presliko- valne funkcije transformirana.

Implementacija vsakega izmed korakov ima svoje izzive in probleme. Pri iz- biri znaˇcilk je potrebno poskrbeti, da bodo te dovolj posebne in bo njihova lokacija razporejena po celi sliki. Proces iskanja parov znaˇcilk mora biti do- volj robusten, da dopuˇsˇca razliko v rotaciji, velikosti, poleg tega pa mora biti postopek dovolj hiter. Tudi transformacijski model mora podpirati vse moˇzne degradacije, ki se lahko pojavijo. Nenazadnje pa so tudi pri presliko- vanju problemi z raˇcunsko kompleksnostjo in izbranim naˇcinom interpolacije vrednosti [47].

Da bi se izognili veliki veˇcini navedenih problemov, lahko na naˇsi domeni uporabimo polje optiˇcnega toka. Kot ˇze povedano, nam ta za vsako toˇcko na originalni sliki pove njen vektor gibanja v naslednjo sliko ob majhni ˇcasovni spremembi. Prav to pa je potrebno, da prejˇsnjo sliko transformiramo v tre- nutno in jih tako poravnamo. Avtonomno plovilo, ki smo ga uporabljali, je zajemalo video sekvence z 10 sliˇcicami na sekundo [21]. 100 milisekund je dovolj majhen ˇcasovni okvir, v katerem temeljne predpostavke optiˇcnega toka praviloma niso krˇsene.

Za izraˇcun gostega optiˇcnega toka uporabljamo prej omenjen model RAFT[40]. Ta je trenutno najboljˇsi glede na rezultate v evalvacijskih okoljih, poleg tega pa je tudi najboljˇsi pri generalizaciji. To je ˇse posebej pomembno, saj za izkljuˇcno morsko okolje ne obstajajo nobene podatkovne zbirke za treniranje takih modelov. Tudi, ˇce bi kakˇsna druga mreˇza dosegala boljˇse rezultate na neki specifiˇcni mnoˇzici podatkov, pa to ˇse ne pomeni, da bi bila boljˇsa tudi v naˇsem primeru uporabe. Dodaten razlog za uporabo je hitrost pre- dikcije, saj z dodajanjem novih tehnologij za boljˇse detektiranje ne ˇzelimo pretirano upoˇcasniti celotnega sistema. Na Sliki 3.1 vidimo primer predikcije uporabljenega modela.

(40)

Slika 3.1: Gosto polje optiˇcnega toka med zaporednima slikama

Pri izbiri koliˇcine sliˇcic, ki jih ˇzelimo poravnati in uporabiti za zmanjˇsevanje ˇsuma, smo pristali na t = 5, kar ustreza ˇcasu pol sekunde. V tako krat- kem obdobju lahko namreˇc v vodnem okolju predvidimo, da bodo veˇcinoma objekti ˇse vedno na vseh slikah in ne bo objektov, ki bi se recimo pojavili samo v nekem sredinskem okvirju. Piksli, ki se ne pojavijo tudi v originalni sliki so za naˇso metodo neuporabni. Ti namreˇc ne pripomorejo k zmanjˇsanju negotovosti in so ob poravnavi tudi zavrˇzeni.

Poleg vsake vhodne slike tako vzamemo ˇse 4 prejˇsnje. Za vsak zaporedni par nato naredimo predikcijo. Tako imamo polje optiˇcnega toka za pare slik (t-4,t-3), (t-3,t-2), (t-2,t-1) in (t-1,t), kjert oznaˇcuje trenuten ˇcas. Rezultat tega postopka je kontinuirana napoved gibanja objektov na originalni sliki.

Ce pogledamo dobljene predikcije kot vektorje, dobimo za vsako toˇˇ cko na sliki njeno transformacijo v naslednji ˇcasovni enoti. In prav to je tretji del vsake poravnave slik. Obiˇcajna poravnava poteka med dvema slikama. Mi pa ˇzelimo z naˇsim postopkom zdruˇziti vse ˇstiri slike v trenutno. Tukaj nastane problem za bolj zgodnje slike. Te imajo direktno transformacijo le v naslednji

(41)

Diplomska naloga 27 okvir, ne pa v originalno fotografijo. Ker nam optiˇcni tok vrne predstavitev v obliki vektorskega polja, pa lahko to izrabimo v naˇs prid.

3.1.1 Poravnava preteklih slik

Poglejmo si, kako pridobimo na primer vektor gibanja za toˇcko T(x,y) iz najbolj zgodnje slike v trenutno. Na zaˇcetku ga inicializiramo na 0. Za laˇzje razumevanje oznaˇcimo tudi polja optiˇcnih tokov med paroma slik z F43, F32, F21, F10, kjer na primerF43predstavlja tok med sliko ob ˇcasut-4 in t-3. Nato iteriramo ˇcez vsa polja in seˇstevamo vektorje. Najprej pogledamo kam kaˇze optiˇcni tok na polju F43 in ga priˇstejemo zaˇcetni vrednosti. Ker sta u in v komponenti vektorja lahko decimalni, ju zaokroˇzimo na celo ˇstevilo ter dobimo u in v. Toˇcka T se v naslednjem polju optiˇcnega toka nahaja na koordinatah T(x +u, y +v). Nato pogledamo v naslednje polje F32 in ponovimo postopek tako naprej, dokler ne priˇstejemo ˇse vektorja gibanja iz zadnjega polja. Obravnavati je potrebno ˇse robni primer, ko gre nova toˇcka T izven meja slike. To se zgodi, ˇce je nek objekt v prvi sliki, v eni izmed naslednjih pa gre ven iz scene. Takrat iteracijo za to toˇcko predˇcasno zakljuˇcimo in nastavimo vektor gibanja na neko zelo veliko vrednost (npr.

neskonˇcno). Na Sliki 3.2 je grafiˇcno prikazan zgoraj opisan postopek.

Slika 3.2: Prikaz postopka pridobivanja transformacijskega vektorja (rdeˇc vektor)

(42)

V zadnjem koraku naredimo ˇse vzorˇcenje in preslikavo toˇck. Slika 3.3 prikazuje trajektorije nekaterih pikslov, transformacijski vektor pa predsta- vlja povezava med zaˇcetkom in koncem te poti. Ker sta komponenti vektorja lahko decimalni vrednosti, je potrebno podatke diskretizirati. Za to imamo na voljo razliˇcne naˇcine interpolacije: bilinearna, bikubiˇcna, interpolacija naj- bliˇzjih sosedov in druge [9]. Ker ˇzelimo na koncu sliko uporabiti kot pomoˇc pri odstranjevanju ˇsuma, moramo paziti, da ga z interpolacijo ne ˇse dodatno ustvarimo. Bilinearna metoda upoˇsteva 2x2 okolico trenutne toˇcke in poda konˇcni rezultat kot povpreˇcje teh vrednosti. Problem takega pristopa na- stane na robovih poravnane slike. Ti so namreˇc zglajeni, ampak s tem smo dodali nove informacije. Tudi z drugimi, naprednejˇsimi metodami dobimo podobne rezultate. Da bi se temu izognili, smo uporabili metodo najbliˇzjih sosedov. Ta vzame v obzir samo vrednosti najbliˇzje toˇcke po obeh oseh. S tem izgubimo lepo zglajene robove poravnane slike, ampak pri preslikavi ne dodajamo novih informacij, kar je za naˇso uporabo bolj pomembno.

Slika 3.3: Trajektorije pikslov iz slike ob t-4 v t (vizualizirano za en piksel na obmoˇcju 50×50 za boljˇsi vidljivost)

(43)

Diplomska naloga 29

3.2 Razliˇ cice modelov

Originalna verzija WaSR modela kot svoj vhod vzame trenutno tridimenzio- nalno, RGB sliko in njeno IMU masko za boljˇso aproksimacijo vodne gladine in detekcijo objektov. Z naˇso metodo pa ˇzelimo s poravnanimi slika ˇse doda- tno pomagati modelu pri uˇcenju. Nove informacije lahko v nevronsko mreˇzo podamo na veˇc razliˇcnih naˇcinov, kar smo tudi preizkusili.

3.2.1 WaSR

p=5

Najbolj enostaven naˇcin je poveˇcati vhod iz ene tridimenzionalne slike v pet.

Tako je vhod 15 dimenzionalen tenzor. Poleg originalne slike, imamo ˇse bolj zgodnje slike, ki so enake velikosti in imajo zaradi postopka poravnave ˇcrne predele na robovih (primer na Sliki 3.4). Pri takem vhodu predvidevamo, da bo mreˇza prepoznala prvo sliko in poleg tega pri uˇcenju uporabila ˇse informacije prejˇsnjih ter se sama nauˇcila zmanjˇsati vizualni ˇsum na nivoju posameznih toˇck.

Slika 3.4: Primer vhoda v model WaSRp=5

(44)

3.2.2 WaSR

µ

Povpreˇcenje je metoda, ki ima moˇc zmanjˇsanja vizualnega ˇsuma brez iz- gube podrobnosti, saj poveˇca razmerje med signalom in ˇsumom na sliki. To bomo uporabili pri drugi metodi. Ker so slike poravnane, lahko enostavno izraˇcunamo povpreˇcje po vsaki dimenziji (R, G in B), ter rezultat zdruˇzimo v novo tridimenzionalno sliko kot kaˇze Slika 3.5. Pri tem pa se je potrebno odloˇciti, kaj narediti s ˇcrnimi robovi bolj zgodnjih slik. Z upoˇstevanjem le-teh se povpreˇcje neke svetle toˇcke na sliki zelo potemni in potencialno pokvari informacijo iz realnega sveta. Zaradi tega razloga jih pri izraˇcunu povpreˇcne slike zanemarimo. Velikosti vhoda v mreˇzo nam pri tej metodi ni potrebno spreminjati.

Slika 3.5: Primer vhoda v model WaSRµ

(45)

Diplomska naloga 31

3.2.3 WaSR

µσ

Ker imamo veˇc poravnanih slik, jih lahko, podobno kot s povpreˇcenjem, zdruˇzimo s postopkom izraˇcuna standarne deviacije. Ta nam, pove koliko so vrednosti oddaljene od povpreˇcja. Tudi pri tej metodi raˇcunamo varianco za vsak sloj posebej in pri tem ignoriramo vrednosti, ki so posledica poravnave in zato izven slike. Toˇcke, ki imajo zelo malo ˇsuma, bodo imele tudi majhno varianco in obratno za tiste, ki vsebujejo veliko ˇsuma. Zaradi vrsto manjˇsih napak, ki se pojavijo zaradi aproksimacije optiˇcnega toka in interpolacij pri transformaciji slik, vhodne slike niso 100% natanˇcno poravnane. To se naj- bolj vidi na robovih med razliˇcnimi povrˇsinami. ˇCe si nato pogledamo sliko, ki nastane po izraˇcunu standardne deviacije po vsaki dimenziji, so na njej vidne predvsem meje med objekti. Iz tega pa lahko predvidevamo, da se bo model WaSR iz para povpreˇcne slike in slike variance bolje nauˇcil loˇcevati med vodo, nebom in ovirami/okoljem. To pomeni, da je potrebno spremeniti tudi velikost vhoda v mreˇzo iz tri v ˇsest dimenzionalnega.

Pri zdruˇzevanju veˇcih informacij moramo biti pozorni tudi na skalo podat- kov. V naˇsem primeru so vrednosti povpreˇcne slike veliko veˇcje od vrednosti slike variance. Po testiranju smo ugotovili, da z mnoˇzenjem variance s kon- stanto 5 pridemo po normalizaciji vhoda do bolj enakomernih vrednosti. Ta model smo oznaˇcili z WaSRµσ5, primer vhoda v mreˇzo pa je viden na Sliki 3.6.

Slika 3.6: Primer vhoda v model WaSRµσ5

(46)

3.2.4 WaSR

Origµ

V tej razliˇcici modela smo zdruˇzili originalno sliko ob ˇcasutin povpreˇcno sliko nad poravnanimi vhodi, kot prikazuje Slika 3.7. Tako ima mreˇza informacijo o trenutnem stanju, poleg tega pa si lahko pri uˇcenju pomaga z dodatnimi informacijami iz povpreˇcenja. Predvidevamo, da so to uporabni podatki, in mreˇze ne bodo zavedli pri segmentaciji. Tako kot za prejˇsnji primer vhoda, je potrebno tudi za tega spremeniti velikost vhoda na ˇsest dimenzij.

Slika 3.7: Primer vhoda v model WaSROrigµ

3.2.5 WaSR

OrigFlow

Preizkusili smo tudi mreˇzo, ki je kot vhod vzela zdruˇzeno RGB trenutno sliko in RGB sliko optiˇcnega toka med slikama ob ˇcasu t-1 in t. Primer takega vhoda je viden na Sliki 3.8. Ideja za to izvira iz raziskav na domeni avto- mobilov. Slika optiˇcnega toka vsebuje barvno kodirane smeri in magnitude vektorjev gibanja. Zato pride pri dinamiˇcnih ovirah do izstopanja, saj se gibljejo drugaˇce kot okolica. Predvidevamo, da bi tudi na vodni domeni tak vhod pomagal mreˇzi pri segmentaciji, predvsem pri ovirah, ki imajo distink- tivno pot premikanja.

(47)

Diplomska naloga 33

Slika 3.8: Primer vhoda v model WaSROrigFlow

3.2.6 WaSR

Late

V zadnji metodi pa smo preizkusili s poznim zdruˇzevanjem gibanja s segmen- tacijo. Najprej smo z originalno WaSR mreˇzo naredili predikcije na originalni sliki in ˇstirih prejˇsnjih za vsak primer v testni mnoˇzici. Segmentacijska ma- ska, ki jo vrne model, ima tri plasti (za tri razrede), kjer je vrednost toˇcke na vsaki plasti verjetnost, da ta pripada temu razredu. Na podlagi RGB slik in optiˇcnega toka smo za vsako masko pridobili njeno poravnavo v original. Na poravnanih segmentacijskih maskah pa smo vsako toˇcko na novo klasificirali v najbolj verjeten razred in to je predstavljalo konˇcno predikcijo. Na Sliki 3.9 vidimo predikcije za originalno sliko in ˇstiri prejˇsnje, ki so ˇze poravnane, poleg njih pa je ˇse konˇcna segmentacijska maska po zdruˇzevanju.

(48)

Slika 3.9: Primer poravnanih mask in konˇcna predikcija modela WaSRLate

(49)

Poglavje 4

Eksperimentalna evalvacija

4.1 Implementacijske podrobnosti

4.1.1 Strojna in programska oprema

Modela RAFT[40]in WaSR[3]sta implementirana v programskem jezikuPython, bolj specifiˇcno v ogrodju PyTorch [29]. Treniranje in evaluiranje razliˇcnih verzij modela WaSR smo izvajali preko streˇznika fakultete za katerega so specifikacije vidne v Tabeli 4.1. Za obdelavo podatkov pa smo uporabili ˇse druge pakete kot so NumPy, Torchvision, Albumentations in Pillow.

komponenta model

CPU Intel(R) Xeon(R) CPU E5-1650 v3 3.50GHz

RAM 126 GB

GPU NVIDIA TITAN X Pascal (12 GB)

Tabela 4.1: Specifikacije streˇznika

4.1.2 Parametri modelov

Za izraˇcun optiˇcnega toka smo uporabili vnaprej nauˇcen model RAFT na podatkovni zbirki Sintel [7]. Vsaka vhodna slika je najprej pomanjˇsana na

35

(50)

velikost 384×512, pri ˇcemer uporabimo bilinearno interpolacijo.

Pri treningu razliˇcnih verzij WaSR modelov podatkovne zbirke ne raz- delimo na trening in validacijski del, temveˇc jo uporabimo v celoti. Kot hrbtenico mreˇze vzamemo ResNet-101[10] z ˇze nauˇcenimi uteˇzmi. ˇStevilo epoh je nastavljeno na 50, podatke pa v mreˇzo poˇsiljamo v paketih velikosti 3. Stopnja hitrosti uˇcenja je na zaˇcetku nastavljena na 1e−6 in se vsako iteracijo zmanjˇsa s potenco 0.9. Pri uˇcenju uporabimo funkcijo napake, ki je predstavljena v ˇclanku [3], z lambdo 0.01 za komponento loˇcevanja in 1e−6 lambdo za L2 regularizacijo. Vse ˇstiri prejˇsnje slike najprej poravnamo v trenutno s pomoˇcjo optiˇcnega toka. Pred vhodom v WaSR[3] pa slike ˇse transformiramo, da s tem pridobimo bolj razgibane podatke in poveˇcamo moˇznost generalizacije. Pri tem se skupek ˇstirih prejˇsnjih in trenutna slika tretirajo kot en vhod in se zato nad njimi izvede enaka transformacija. Za vsak vhod je 50% moˇznosti horizontalnega obrata, 70% moˇznosti za operacije tipa rotacije, skaliranja in premikanja, 50% za spreminjanje barve in 30% za dodajanje ˇsuma. Spreminjanje barve lahko vkljuˇcuje nakljuˇcno svetlost, kon- trast in saturacijo na sliki ali pa modificiranje gamma nastavitev. Medtem ko je ˇsum lahko dodan v obliki Gaussianovega ali pa ISO ˇsuma. Za slike, s katerimi raˇcunamo standardno deviacijo, transformacij na podlagi barve ali dodajanja ˇsuma ne naredimo. To bi namreˇc lahko pokvarilo informacije, ki jih ˇzelimo pridobiti.

4.2 Evalvacijski protokol

4.2.1 Uˇ cna zbirka

Za uˇcenje modelov WaSR uporabimo uˇcno mnoˇzico MaSTr1325[6]. Iz pri- bliˇzno 55 ur video posnetkov, ki jih je zajelo plovilo v ˇcasu dveh let, je bilo roˇcno izbranih 1325 slik. Te vkljuˇcujejo razliˇcne vremenske pogoje, dele dneva in vrste ovir (ladje, ˇcolni, boje, pomoli itd.). Vsaka toˇcka slike je roˇcno klasificirana v enega izmed treh razredov: morje, nebo ali okolje. Da bi se izognili nedoreˇcenim pikslom na meji med regijami, so ti oznaˇceni z razre-

(51)

Diplomska naloga 37 dom neznano in jih model med uˇcenjem ignorira. Ker smo za naˇs poskus potrebovali za usako sliko tudi ˇstiri prejˇsnje, smo iz uˇcenja izpustili prvo sliko v sekvenci. Konˇcna zbirka je tako vsebovala 6625 (1325×5) slik, vsaka originalna slika, pa je imela tudi svojo IMU masko.

4.2.2 Testna zbirka

Pri evalvaciji modelov je bila uporabljena zbirka MODS[4]. Ta je razdeljena na 94 video sekvenc in vsebuje skupno 80828 slik s svojimi IMU maskami.

Podobno kot pri uˇcni mnoˇzici, tudi ta vsebuje razliˇcne zahtevne vremen- ske pogoje in morske pojave (odbleski sonca, penjenje, ˇskoljˇciˇsˇce, plavajoˇci odpadki itd.) na Slovenski obali. Zbirka vsebuje veˇc kot 60 tisoˇc anotira- nih dinamiˇcnih ovir preko oˇcrtanih okvirjev in preko 10 tisoˇc anotacij roba morja za statiˇcne ovire. V naˇsem primeru je bilo izbranih 8176 originalnih slik, kar pomeni, da smo skupno upoˇstevali 40880 (8176×5) slik. Poleg celo- tne mnoˇzice pa smo modele evaluirali ˇse na dveh podmnoˇzicah (Tabela 4.2).

Prva vkljuˇcuje sekvence, ki imajo odbleske sonca, druga pa sekvence z odsevi ovir v vodi.

Zaporedna ˇstevilka sekvence Sekvence z odble-

ski

2, 24, 30, 31, 32, 35, 52, 54, 56

Sekvence z odsevi 2, 4, 11, 18, 19, 21, 22, 23, 26, 29, 33, 34, 35, 36, 37, 38, 39, 41, 42, 45, 46, 47, 49, 50, 51, 59, 60, 61, 63, 68, 69, 74, 82, 85

Tabela 4.2: ID-ji sekvenc znotraj vsake podmnoˇzice

V primeru modela WaSRLate smo potrebovali poleg IMU maske za ori- ginalno sliko tudi IMU maske za ˇstiri prejˇsnje, ki pa jih zbirka ne vsebuje.

Zato smo priredili originalno masko s pomoˇcjo morfoloˇskih operacij. S po- stopkom dilacije smo za denimo predikcijo slike ob ˇcasut-4 dvignili horizont s kvadratnim strukturnim elementom velikost 20×20 za 10 pikslov. Ob vsaki

(52)

naslednji predikciji pa smo velikost strukturnega elementa zmanjˇsali za 5. S tem smo predpostavljali, da se v realnosti rob morja v tako kratkem ˇcasovnem obdobju ne spremeni za veˇc kot 10 pikslov navzgor. V nasprotnem primeru bi zaradi predhodne verjetnosti, ki jo doda IMU maska arhitekturi mreˇze, ta slabˇse detektirala objekte nad predpostavljenim horizontom.

4.2.3 Mere performanc

Pri primerjavi performanc smo se osredotoˇcili na glavne izzive avtonomne plovbe. Prvi predstavlja detekcijo roba morja pri statiˇcnih ovirah. Ta je predstavljen s pomoˇcjo korena povpreˇcnega kvadrata napake (angl. Root Mean Square Error - RMSE), ki jo izraˇcunamo z enaˇcbo (4.1), kjer N oznaˇcuje ˇstevilo vseh obravnavanih slik.

RM SE = v u u t

1 N

N

X

i=1

(ˆy−y)2 (4.1)

Razlika med y in ˆypredstavlja razdaljo v pikslih med napovedano pozicijo in njegovo najbliˇzjo vertikalno mejno toˇcko na anotirani sliki. Segmentirane slike vsebujejo tri razliˇcne vrste meja: med vodo in oviro, med vodo in kopnim ter med vodo in nebom. Za avtonomno voˇznjo so pomembne natanˇcnosti predvsem prvih dveh meja, medtem ko nekoliko bolj slaba ocena meje med morjem in nebom ni tako katastrofalna. Zato so ti predeli slik izvzeti iz raˇcunanja napake. Prav tako pa ignoriramo toˇcke, kjer se roba ne vidi. To se zgodi, ko ladja preˇcka horizont in je zato tam anotirana samo ovira, ne pa tudi horizont. Z upoˇstevanjem takih primerov bi imeli veˇcjo koliˇcino laˇzno pozitivnih toˇck, ki pa za sam navigacijski sistem ne bi pomenile niˇcesar.

Poleg RMSE pa smo primerjali ˇse odstotek netoˇcnih detekcij, ki so bile nad in pod pravilno lokacijo.

Drugi izziv avtonomne plovbe pa je pravilno detektiranje ovir. Pred samo evalvacijo najprej iz anotiranih objektov odstranimo tiste, ki imajo ploˇsˇcino manjˇso od 25 pikslov. Tukaj gre lahko za zelo oddaljene objekte ali pa bliˇznje smeti, zaradi katerih plovilu ni potrebno spreminjati trenutne poti. Za tem

(53)

Diplomska naloga 39 sledi evalvacija predikcij. Ta je pozitivna, ˇce je vsaj 15% pikslov celotnega oˇcrtanega okvirja oznaˇcenega kot ovira. V primeru, ko za skupek pikslov z oznakoovirav anotacijah ni nobenega oˇcrtanega okvirja, to ˇstejemo kot laˇzno pozitivna detekcija. Ostali skupki ovir pa so del prevelike segmentacije, zato raˇcunsko pogledamo njihovo veliˇcino in se glede na to odloˇcimo koliko laˇzno pozitivnih detekcij priˇstejemo na njihov raˇcun. Anotacije, ki v segmentacijski maski nimajo nobene toˇcke, pa so priˇstete med napaˇcno negativne detekcije.

Pozitivne predikcije oznaˇcujemo z TP, laˇzno pozitivne z FP, laˇzno negativne pa z oznako FN.

Iz danih podatkov lahko nato izraˇcunamo priklic (oznaˇcimo z TPR) z enaˇcbo (4.2). Ta nam pove verjetnost pravilne detekcije ovire.

T P R= T P

T P +F N (4.2)

Poleg tega pa izraˇcunamo ˇse preciznost (oznaˇceno z PPV) z enaˇcbo (4.3), ki nam pove verjetnost, da smo detektirali pravilno oviro izmed vseh detekcij.

P P V = T P

T P +F P (4.3)

Konˇcno uspeˇsnost modelov merimo z F1 mero (angl. F1-measure), ki vkljuˇcuje obe prej naˇsteti metriki.

F1 = 2· P P V ·T P R

P P V +T P R (4.4)

Pri sami navigaciji so pomembnejˇse bolj natanˇcne detekcije v neposredni bliˇzini plovila. V to so vˇsteti objekti znotraj radialnega obmoˇcja, ki ga lahko plovilo doseˇze v desetih sekundah s povpreˇcno hitrostjo 1.5 m/s. Zato smo evaluirali modele tudi v izkljuˇcno tej regiji.

(54)

4.3 Rezultati

V nadaljevanju poroˇcamo rezultate primerjave predlaganih variant upoˇstevanja gibanja z referenˇcno mreˇzo WaSR[3], ki uporablja zgolj trenutno sliko. V Pod- poglavju 4.3.1 evalviramo uspeˇsnost detekcije roba morja, v Podpoglavju 4.3.2 predstavimo uspeˇsnost modelov pri detekciji ovir na celem obmoˇcju, v Podpoglavju 4.3.3 pa evalviramo modele na detekciji ovir v nevarnem obmoˇcju. Na koncu, v Podpoglavju 4.3.4, naredimo ˇse kvalitativno primer- javo med modelom WaSRµ in referenˇcnim WaSR[3].

4.3.1 Detekcija roba morja

Rezultati RMSE napake pri detekciji meje morja so prikazani v Tabeli 4.3.

Najmanjˇse odstopanje smo dobili pri originalnem modelu in razliˇcici WaSRµ in sicer 10 pikslov. Temu sledi metoda WaSRLate z RMSE 11, za njo je bila metoda WaSRp=5 z RMSE 12, ostale metode pa so imele enak rezultat.

Najveˇcja odstopanja povzroˇcajo sekvence, ki imajo veliko prisotnost goste megle, kjer rob morja ni viden in poslediˇcno tudi predikcije niso natanˇcne.

Poleg tega imajo vse metode teˇzave s scenami, ko je kamera usmerjena proti plaˇzi, saj je takrat rob morja oznaˇcen na robu kopaliˇsˇca.

Poleg korena povpreˇcnega kvadrata napake pa smo pogledali ˇse odstotek napaˇcnih predikcij, ki so rob morja postavile viˇsje ali niˇzje od pravilne reˇsitve.

Tukaj vidimo, da so vse metode v veˇc kot 90 procentih rob zgreˇsile nad mejo.

Tudi pri testiranju modelov na podmnoˇzici z odsevi je rezultat podo- ben. Modeli WaSRµ, WaSRLate in originalni WaSR imajo vsi RMSE enak 11 pikslov. Pri odbleskih pa se vidi prednost, ki jo ponuja zmanjˇsevanje ne- doloˇcenosti s povpreˇcenjem veˇcih slik pri modelu WaSRµ. Ta je najbolj opa- zna na prej omenjeni sekvenci z robom morja na robu kopaliˇsˇca oznaˇcenega z bojami. Na njih se odbija sonˇcev sijaj, kar poslediˇcno oteˇzuje detekcijo. A ta sijaj na vseh predhodnih slikah ni na ˇcisto identiˇcni poziciji, zato lahko v povpreˇcni sliki vidimo boljˇse obrise ovire. Zaradi takih primerov ima WaSRµ

metoda za 20% boljˇsi RMSE na podmnoˇzici odbleskov, saj bolje aproksi-

(55)

Diplomska naloga 41

Model RMSE % nad mejo % pod mejo

WaSRp=5 12px 91.5% 8.5%

WaSRµ 10px 93.1% 6.9%

WaSRµσ 13px 92.2% 7.8%

WaSRµσ5 13px 93.2% 6.8%

WaSROrigµ 13px 91.0% 9.0%

WaSROrigFlow 13px 90.1% 9.9%

WaSRLate 11px 93.4% 6.6%

WaSR 10px 91.2% 8.8%

Tabela 4.3: Rezultati detekcije roba morja

mira del meje (Slika 4.1). Prav tako pa ima tudi WaSROrigµ boljˇsi konˇcni RMSE (za 2 piksla) od originalne metode. Najslabˇsi model je WaSRLate z RMSE 22px. Izgleda, da se z zdruˇzitvijo veˇcih predikcij natanˇcnost nekoliko izgubi, poleg tega pa je moˇzno, da naˇsa metoda generiranja umetnih IMU mask za ta model pri tej podmnoˇzici ni tako natanˇcna. Slabe rezultate smo dobili tudi z modelom WaSROrigFlow, saj je ta imel RMSE 20px. A to smo tudi priˇcakovali. Ob hitrem spreminjanju svetlosti se namreˇc krˇsi osnovno pravilo za aproksimacijo optiˇcnega toka in je dodatna RGB slika toka lahko zavajujoˇca za nevronsko mreˇzo.

Ko vzamemo v obzir vse rezultate, se model WaSRµizkaˇze za najboljˇsega.

Pri detekciji roba morja v normalnih pogojih je ta primerljiv z referenˇcnim modelom WaSR, v teˇzkih pogojih, ki vkljuˇcujejo razne odseve in odbleske, pa se izkaˇze za veliko bolj robustnega in beleˇzi 20% izboljˇsanje.

Reference

POVEZANI DOKUMENTI

generator porabil za gradnjo skeleta drevesa, preostali ˇ cas pa za sestavljanje poligonske mreˇ ze drevesa. ˇ Cas je bil odvisen od ˇ stevila in gostote toˇ ck vhodne mnoˇ zice. ˇ

Algoritem je preprost ter je lahko uporabljen na razliˇ cnih video sekvencah, brez ponovnega uˇ cenja nevronske mreˇ ze.. Metoda, ki jo predstavimo v tej diplomski nalogi, je

V tem delu aplikacije lahko uporabnik bere podatke (slika 3.9), ki so zapi- sani v spominu SL13A, pregleduje ˇ ze shranjene meritve v podatkovni bazi, prikaˇ ze pa se mu tudi

Za razpoznavanje objek- tov na slikah se ˇ ze nekaj ˇ casa uporabljajo konvolucijske nevronske mreˇ ze, vendar so pristopi prostorsko in ˇ casovno kompleksni tako za uˇ cenje ter

S pomoˇ cjo programskih knjiˇ znic NetworkX (http://networkx.lanl.gov) in Matplotlib (http://matplotlib.sourceforge.net) in s programom za vizualizacijo

Podobno kot pri bioloˇskih mreˇ zah so tudi umetne nevronske mreˇ ze sestavljene iz razliˇ cnih zaporednih nivojev, kjer je posamezni nivo sestavljen iz nevronov.. Med nivoji

Vektorje znaˇ cilk vhodne slike, pridobljenih iz VGG16 modela, smo poslali v polno povezano nevronsko mreˇ zo, ki je pripomogla k temu, da se vozliˇsˇ ca nevronske mreˇ ze

Iz slike je razvidno, da izbor ˇstevila iteracij v enoni- vojskih mreˇ zah precej vpliva na klasifikacijsko toˇ cnost v prvi iteraciji ciljne mreˇ ze, kjer inicializacija s pomoˇ