add files

main
Gašper Spagnolo 2023-09-14 13:31:42 +02:00
commit 0b3914e1ba
No known key found for this signature in database
GPG Key ID: 2EA0738CC1EFEEB7
32 changed files with 259 additions and 0 deletions

11
docker-compose.yaml Normal file
View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

BIN
slides/img/cities.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 802 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 869 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 939 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 869 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
slides/img/wamf-fpi.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 928 KiB

32
slides/reveal.json Normal file
View File

@ -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"
}
}
}

216
slides/slides.md Normal file
View File

@ -0,0 +1,216 @@
<!-- .slide: data-background="./img/FRI-zunanjost.jpg" data-background-opacity="0.4"-->
### 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<!-- .element: style="text-align: left; font-size: 41px;" -->
- 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)
<img src="./img/cities.png" alt="cities" style="width : 90%; height: auto;">
---
#### Podatkovna množica (3/4)
<img src="./img/drone_examples_grid1.png" alt="drone_ex_g" style="width : 90%; height: auto;">
---
#### Podatkovna množica (4/4)
<img src="./img/corresponding_sat_examples_grid1.png" alt="sat_ex_g" style="width : 60%; height: auto;">
---
#### Arhitektura modela WAMF-FPI
<img src="./img/wamf-fpi.png" alt="WAMF-FPI" style="width : 80%; height: auto;">
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
<!-- First Image centered at the top -->
<img src="./img/hanning_latex.png" alt="hanning-latex" style="display: block; margin: 0 auto; width: 40%; height: auto;">
<!-- Second Image aligned to the left -->
<img src="./img/3d_gaussian_kernel.png" alt="gaussian-kernel" style="float: left; width: 36%; height: auto;">
<!-- Third Image aligned to the right -->
<img src="./img/3d_hanning_kernel.png" alt="hanning-kernel" style="float: right; width: 36%; height: auto;">
<!-- Fourth image centered at the bottom -->
<img src="./img/gt_heatmap_with_label.jpg" alt="gt-label" style="display: block; margin: 0 auto; width: 36%; height: auto;">
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)
<img src="./img/drone_sat_example_19.png" alt="ds_ex1" style="width : 90%; height: auto;">
<img src="./img/drone_sat_example_21.png" alt="ds_ex2" style="width : 90%; height: auto;">
Note: Omeni razlicne scales in random izreze iz satelitske slike
---
#### Učenje (2/2)
<img src="./img/drone_sat_example_37.png" alt="ds_ex3" style="width : 90%; height: auto;">
<img src="./img/drone_sat_example_55.png" alt="ds_ex4" style="width : 90%; height: auto;">
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)
<img src="./img/drone_net_example_0.png" alt="res_ex1" style="width : 80%; height: auto;">
<img src="./img/drone_net_example_1.png" alt="res_ex1" style="width : 80%; height: auto;">
<img src="./img/drone_net_example_2.png" alt="res_ex2" style="width : 80%; height: auto;">
Note: Pojdi skozi vsaki primer
---
#### Rezultati (2/2)
<img src="./img/drone_net_example_3.png" alt="res_ex1" style="width : 80%; height: auto;">
<img src="./img/drone_net_example_4.png" alt="res_ex2" style="width : 80%; height: auto;">
<img src="./img/drone_net_example_5.png" alt="res_ex2" style="width : 80%; height: auto;">
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)
</br>
| 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 |
</br>
##### 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)
<img src="./img/drone_net_example_7.png" alt="res_ex1" style="width : 80%; height: auto;">
<img src="./img/drone_net_example_11.png" alt="res_ex2" style="width : 80%; height: auto;">
<img src="./img/drone_net_example_18.png" alt="res_ex2" style="width : 80%; height: auto;">
Note: Pojdi skozi vsaki primer
---
#### Rezultati stratificirano vzorčenje (3/4)
<img src="./img/drone_net_example_15.png" alt="res_ex1" style="width : 80%; height: auto;">
<img src="./img/drone_net_example_160.png" alt="res_ex2" style="width : 80%; height: auto;">
<img src="./img/drone_net_example_20.png" alt="res_ex2" style="width : 80%; height: auto;">
Note: Pojdi skozi vsaki primer
---
#### Rezultati stratificirano vzorčenje (4/4)
<img src="./img/drone_net_example_31.png" alt="res_ex1" style="width : 80%; height: auto;">
<img src="./img/drone_net_example_47.png" alt="res_ex2" style="width : 80%; height: auto;">
<img src="./img/drone_net_example_53.png" alt="res_ex2" style="width : 80%; height: auto;">
Note: Pojdi skozi vsaki primer
---
<!-- .slide: data-background="./img/FRI-zunanjost.jpg" data-background-opacity="0.4"-->
#### 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.