commit 0b3914e1baa0f5d448f856e9026d0802d6d50e33 Author: Gašper Spagnolo Date: Thu Sep 14 13:31:42 2023 +0200 add files diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..2e20141 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,11 @@ +version: '3.8' + +services: + reveal-md: + image: webpronl/reveal-md:latest + container_name: reveal-md-diplomska + volumes: + - ./slides/:/slides + ports: + - "1948:1948" + command: /slides --theme white --watch -d diff --git a/slides/img/3d_gaussian_kernel.png b/slides/img/3d_gaussian_kernel.png new file mode 100644 index 0000000..0313be8 Binary files /dev/null and b/slides/img/3d_gaussian_kernel.png differ diff --git a/slides/img/3d_hanning_kernel.png b/slides/img/3d_hanning_kernel.png new file mode 100644 index 0000000..c437afc Binary files /dev/null and b/slides/img/3d_hanning_kernel.png differ diff --git a/slides/img/FRI-zunanjost.jpg b/slides/img/FRI-zunanjost.jpg new file mode 100644 index 0000000..907d537 Binary files /dev/null and b/slides/img/FRI-zunanjost.jpg differ diff --git a/slides/img/cities.png b/slides/img/cities.png new file mode 100644 index 0000000..d42d63e Binary files /dev/null and b/slides/img/cities.png differ diff --git a/slides/img/corresponding_sat_examples_grid1.png b/slides/img/corresponding_sat_examples_grid1.png new file mode 100644 index 0000000..dc078ec Binary files /dev/null and b/slides/img/corresponding_sat_examples_grid1.png differ diff --git a/slides/img/drone_examples_grid1.png b/slides/img/drone_examples_grid1.png new file mode 100644 index 0000000..7bacd84 Binary files /dev/null and b/slides/img/drone_examples_grid1.png differ diff --git a/slides/img/drone_net_example_0.png b/slides/img/drone_net_example_0.png new file mode 100644 index 0000000..ac1300f Binary files /dev/null and b/slides/img/drone_net_example_0.png differ diff --git a/slides/img/drone_net_example_1.png b/slides/img/drone_net_example_1.png new file mode 100644 index 0000000..3205e88 Binary files /dev/null and b/slides/img/drone_net_example_1.png differ diff --git a/slides/img/drone_net_example_11.png b/slides/img/drone_net_example_11.png new file mode 100644 index 0000000..bcfd55a Binary files /dev/null and b/slides/img/drone_net_example_11.png differ diff --git a/slides/img/drone_net_example_15.png b/slides/img/drone_net_example_15.png new file mode 100644 index 0000000..ee78861 Binary files /dev/null and b/slides/img/drone_net_example_15.png differ diff --git a/slides/img/drone_net_example_160.png b/slides/img/drone_net_example_160.png new file mode 100644 index 0000000..c2860b7 Binary files /dev/null and b/slides/img/drone_net_example_160.png differ diff --git a/slides/img/drone_net_example_18.png b/slides/img/drone_net_example_18.png new file mode 100644 index 0000000..d4a0fd6 Binary files /dev/null and b/slides/img/drone_net_example_18.png differ diff --git a/slides/img/drone_net_example_2.png b/slides/img/drone_net_example_2.png new file mode 100644 index 0000000..e988ea0 Binary files /dev/null and b/slides/img/drone_net_example_2.png differ diff --git a/slides/img/drone_net_example_20.png b/slides/img/drone_net_example_20.png new file mode 100644 index 0000000..cf8fc91 Binary files /dev/null and b/slides/img/drone_net_example_20.png differ diff --git a/slides/img/drone_net_example_3.png b/slides/img/drone_net_example_3.png new file mode 100644 index 0000000..b9ffc11 Binary files /dev/null and b/slides/img/drone_net_example_3.png differ diff --git a/slides/img/drone_net_example_31.png b/slides/img/drone_net_example_31.png new file mode 100644 index 0000000..29d3620 Binary files /dev/null and b/slides/img/drone_net_example_31.png differ diff --git a/slides/img/drone_net_example_4.png b/slides/img/drone_net_example_4.png new file mode 100644 index 0000000..b90f012 Binary files /dev/null and b/slides/img/drone_net_example_4.png differ diff --git a/slides/img/drone_net_example_47.png b/slides/img/drone_net_example_47.png new file mode 100644 index 0000000..75f24d2 Binary files /dev/null and b/slides/img/drone_net_example_47.png differ diff --git a/slides/img/drone_net_example_5.png b/slides/img/drone_net_example_5.png new file mode 100644 index 0000000..61b71fb Binary files /dev/null and b/slides/img/drone_net_example_5.png differ diff --git a/slides/img/drone_net_example_53.png b/slides/img/drone_net_example_53.png new file mode 100644 index 0000000..2722fa8 Binary files /dev/null and b/slides/img/drone_net_example_53.png differ diff --git a/slides/img/drone_net_example_7.png b/slides/img/drone_net_example_7.png new file mode 100644 index 0000000..40e31b2 Binary files /dev/null and b/slides/img/drone_net_example_7.png differ diff --git a/slides/img/drone_sat_example_19.png b/slides/img/drone_sat_example_19.png new file mode 100644 index 0000000..2d45532 Binary files /dev/null and b/slides/img/drone_sat_example_19.png differ diff --git a/slides/img/drone_sat_example_21.png b/slides/img/drone_sat_example_21.png new file mode 100644 index 0000000..af99ee8 Binary files /dev/null and b/slides/img/drone_sat_example_21.png differ diff --git a/slides/img/drone_sat_example_37.png b/slides/img/drone_sat_example_37.png new file mode 100644 index 0000000..67da2a0 Binary files /dev/null and b/slides/img/drone_sat_example_37.png differ diff --git a/slides/img/drone_sat_example_55.png b/slides/img/drone_sat_example_55.png new file mode 100644 index 0000000..240c16f Binary files /dev/null and b/slides/img/drone_sat_example_55.png differ diff --git a/slides/img/drone_sat_example_82.png b/slides/img/drone_sat_example_82.png new file mode 100644 index 0000000..deeb255 Binary files /dev/null and b/slides/img/drone_sat_example_82.png differ diff --git a/slides/img/gt_heatmap_with_label.jpg b/slides/img/gt_heatmap_with_label.jpg new file mode 100644 index 0000000..43abf85 Binary files /dev/null and b/slides/img/gt_heatmap_with_label.jpg differ diff --git a/slides/img/hanning_latex.png b/slides/img/hanning_latex.png new file mode 100644 index 0000000..2df9ca4 Binary files /dev/null and b/slides/img/hanning_latex.png differ diff --git a/slides/img/wamf-fpi.png b/slides/img/wamf-fpi.png new file mode 100644 index 0000000..38ea9b6 Binary files /dev/null and b/slides/img/wamf-fpi.png differ diff --git a/slides/reveal.json b/slides/reveal.json new file mode 100644 index 0000000..03588b9 --- /dev/null +++ b/slides/reveal.json @@ -0,0 +1,32 @@ +{ + "transition": "slide", + "controls": true, + "progress": true, + "slideNumber": true, + "center": true, + "keyboard": { + "81": "toggleOverview" + }, + "chalkboard": { + "boardmarkerWidth": 10, + "chalkWidth": 10, + "readOnly": false, + "src": "test.json", + "toggleChalkboardButton": { + "left": "30px", + "bottom": "30px", + "top": "auto", + "right": "auto" + }, + "toggleNotesButton": { + "left": "30px", + "bottom": "30px", + "top": "auto", + "right": "auto" + }, + "eraser": { + "radius": 50, + "src": "plugins/chalkboard/img/sponge.png" + } + } +} diff --git a/slides/slides.md b/slides/slides.md new file mode 100644 index 0000000..e1f9538 --- /dev/null +++ b/slides/slides.md @@ -0,0 +1,216 @@ + +### Lokalizacija brezpilotnih letalnikov na podlagi satelitskih slik + +Gašper Spagnolo + +Univerza v Ljubljani + +Fakulteta za računalništvo in informatiko + +Mentor: doc. dr. Luka Čehovin Zajc + +Somentor: as. Matej Dobrevski + +Note:Pozdravljeni, sem Gasper Spagnolo, student univerzitetne smeri na fakulteti za racunalnistvo in informatiko. Pod mentorstvom Luke cehovina zajca in +Mateja dobrevskega sem se ukvarjal z lokalizacijo brezpilotnih letalnikov na podlagi satelitskih slik. + +--- +### Cilji diplomskega dela +- Raziskati trenutne metode za geolokalizacijo brezpilotnih letalnikov +- Izbrati metodo, jo implementriati in evalvirati +- Poiskati ustrezno podatkovno množico + +Note: +Ob zacetku dela smo si postavili nekaj temeljnih ciljev. Nastej alineje. +Potem pa usako alinejo posebi malo razlozis. +Razlozis na hitro da je par obstojecih metod delovalo na image retriavalu ( sepravi kompresija slik v latentni prostor in primerjava teh slik z ostalimi v bazi). +Ampak image retriaval ima dva kljucna problema: (1. ko zelimo updajtati podatkovno bazo, moramo tudi mrezo ponovno natrenirati na vseh slikah. 2. Primerjamo vse slike v bazi ob poganjanju algoritma) +Nato smo se osredotocili na novjese metode. Najbolj zanimvia nam je bila metoda fpi. +Omeni FPI v dveh stavkih. Basically novejse metode se osredotocajo na iskanje tocke v sliki. +Podatkovna mnozica je predstavljala najvecji problem ko smo zaceli na delu. + +--- +#### Podatkovna množica (1/4) +- Obstoječe množice: + - CVUSA (cross-view), + - CVACT (cross-view), + - University-1652 (univerze v centru slik), + - UL14 (javno nedostopno) + +- Kreacija lastne množice: + - Slike UAV: Google Earth Studio + - Satelitske slike: Mapbox-API + - 11 evropskih mest + - pogled iz zgoraj navzdol + +Note: CVUSA namenjena za cross-view, basically pogled iz spodaj z lokacijo nekje na zemljevidu. +CVACT isto. University-1652 je ze bolj suitable, vendar imajo vse slike objekt v centru slike, to pa +postane prevec enostavno. Zato smo se odlocili za kreacijo lastne mnozice, ki je namenjena ravno lokalizaciji +brezpilotnih letalnikov. Osredotocenim na brezpilotni letalnik s pogledom navzdol. + +--- +#### Podatkovna množica (2/4) +cities + +--- +#### Podatkovna množica (3/4) +drone_ex_g + +--- +#### Podatkovna množica (4/4) +sat_ex_g + +--- +#### Arhitektura modela WAMF-FPI +WAMF-FPI +Note: +Predstavljam vam model WAMF-FPI. Implementaicija modela ni bila javno dostopna, ter je bila prilagojena na podlagi referencnega clanka. +Za ekstrakcijo je bil uporabljen model Twins-PCPVT. (razlozi zakaj pvt, efficent, positional encodings, ..) +Upsamplanje in zdruzevanje malo pokazi gor kako deluje. +Poves da se je paddalo search map s polovico velikosti querya v cross correlation modulu da se je obdrzalo isto velikost outputa vseh treh map. +Na koncu utezena vsota. (seveda z moznostjo ucenja) + +--- +#### Hanningova kriterjiska funkcija + + +hanning-latex + +gaussian-kernel + +hanning-kernel + +gt-label + +Note: +Razlozi malo kako se hanningova razlikuje od gaussove. +Vrednosti na robovih Hanningova postavi na 0, gaussova pa blizu 0. +Uteževanje za vsako sliko v seriji: Ustvari se tenzor uteži enake velikosti kot cilj, ki je inicializiran z ničlami -> Izračuna se omejevalni okvir pozitivnih regij v ciljnem tenzorju. +-> Na pozitivno regijo se uporabi Hanningovo okno, ki poudarja osrednji del. -> Uteži pozitivne regije se normalizirajo, da se seštejejo v 1. +-> Negativne uteži so nastavljene na hiperparameter negative_weight, deljeno s številom negativnih vzorcev. +-> Uteži se ponovno normalizirajo, da se seštejejo v 1. +Uporablja se per pixel cross-entropy loss function + +--- +#### Učenje (1/2) +ds_ex1 +ds_ex2 + +Note: Omeni razlicne scales in random izreze iz satelitske slike + +--- +#### Učenje (2/2) +ds_ex3 +ds_ex4 +Note: Pojdi skozi vsaki primer + +--- +#### Primerjava kriterijskih funkcij + +| krit. fun. | vrednost | $RDS_{\text{train}}$ | $RDS_{\text{val}}$ | $\overline{\Delta_m} [m]$ | +|------------|----------|----------------------|---------------------|--------------------------| +| HANN | 8.49 | 0.893 | 0.709 | 43.42 | +| GWMSE | 0.001 | 0.077 | 0.074 | 234.48 | +| HWMSE | 4.04e-06 | 0.061 | 0.059 | 232.55 | +| CWMSE | 0.007 | 0.07 | 0.06 | 242.70 | + +Note: Od vseh preizkusenih kriterijskih funkcij, se je Hanningova kriterijska funkcija se najboljse obnesla. +V naslednjem slajdu si ogledamo porazdelitev napake v metrih. Koliko primerkov je imelo manjso napako od 10m, 20m, 50m in 100m. + +--- +#### Porazdelitev napake v metrih + +| krit. fun. | $< 10m$ | $< 20m$ | $< 50m$ | $< 100m$ | +|------------|---------|---------|---------|------------| +| HANN | 65.22% | 71.66% | 75.87% | 81.45% | + +--- +#### Rezultati (1/2) +res_ex1 +res_ex1 +res_ex2 +Note: Pojdi skozi vsaki primer + +--- +#### Rezultati (2/2) +res_ex1 +res_ex2 +res_ex2 +Note: Pojdi skozi vsaki primer + +--- +#### Izboljšave in eksperimenti + +- Učenje s stratificiranim vzorčenjem +- Uporaba izpuščanja nevronov +- Dinamika velikosti Hanningovega okna +- Uporaba ali neuporaba prednaučene mreže + +Note: Na kratko opisi posamezne izboljsave. Pri stratificiranem uzorcenju smo ucili iz vseh 11 mest namesto 10 in 1 za validacijsko. 10% iz vsakega mesta je bilo uporabljeno za validacijo pri stratificiranem. +Rezultati so bili zelo boljsi. Izpuscanje nevronov smo izvedli v modelu twins in postopku zdruzevanja znacilnosti. Ugotovili smo da se natancnost izboljsa ce uporabljamo nekoliko visjo stopnjo regularaizacije +na izvlecku znacilnosti iz slik brezpilotnega letalnika. Poskusali smo tudi razlicne velikosti hanningovega okna pri kriterisjki funkciji. Izaklo se je da so avtorji v izvornem clanku izbrali ze dobro vrednost: 33. +Uporaba prednaucene mreze je pomagala, kar nam pove da se lahko znanje dobro prernese iz prednaucene mreze. + +--- +#### Rezultati stratificirano vzorčenje (1/4) +
+ +| način | vrednost | $RDS_{\text{train}}$ | $RDS_{\text{val}}$ | $\overline{\Delta_m} [m]$ | +|------------|----------|----------------------|---------------------|--------------------------| +| baseline | 8.49 | 0.893 | 0.709 | 43.42 | +| stratified | 3.17 | 0.750 | 0.731 | 17.89 | +
+ +##### Porazdelitev napake v metrih + +| način | $< 10m$ | $< 20m$ | $< 50m$ | $< 100m$ | +|------------|---------|---------|---------|------------| +| baseline | 65.22% | 71.66% | 75.87% | 81.45% | +| stratified | 71.11% | 81.18% | 87.97% | 95.35% | + +Note: Poudari kako vpliva stratrificirano vzorcenje, mogoce ga celo razlozi ce ti bo ostajal cas. + +--- +#### Rezultati stratificirano vzorčenje (2/4) +res_ex1 +res_ex2 +res_ex2 +Note: Pojdi skozi vsaki primer + +--- +#### Rezultati stratificirano vzorčenje (3/4) +res_ex1 +res_ex2 +res_ex2 +Note: Pojdi skozi vsaki primer + +--- +#### Rezultati stratificirano vzorčenje (4/4) +res_ex1 +res_ex2 +res_ex2 +Note: Pojdi skozi vsaki primer + +--- + +#### Ugotovitve in nadaljno delo + +- Ugotovive: + - Arhitektura se je izkazala kot primerna + - Uporabljena kriterijska funkcija se je izkazala kot učinkovita + +- Nadaljno delo: + - Razširitev podatkovne množice in izboljšava arhitekture + - Implementacija na dejanskem brezpilotnem letalniku + +Note: +Kljub obetavni ucinkovitosti metode smo identificirali vec podrocij za izboljsave. Med njimi je raziskava razlicnih osnovnih arhitektur (ang. backbone) +za izluscenje znacilnosti, naprednejse zdruzevanje znacilnosti, bolj usmerjeno> +ucenje z uporabo pomoznih izgub (ang. auxiliary losses) ter uporaba segmentacije. Poleg tega smo prepoznali potrebo po bolj napredni primerjavi +znacilnosti drona in satelita, pri cemer bi lahko uporabili pristope iz vizualnega sledenja, saj je to soroden problem. +V prihodnosti nameravamo razsiriti naso podatkovno zbirko z vecjim +stevilom mest, slikami iz razlicnih visin, razlicnih kotov in pogledov ter z +realnimi podatki. +Naslednji koraki bi vkljucevali nadaljnje optimizacije modela, razsiritev podatkovnih zbirk, +uporabo casovne informacije, vzpostavitev povratne zanke (ang. feedback loop) +in koncno implementacijo na dejanskih brezpilotnih letalnikih.