add files
|
@ -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
|
After Width: | Height: | Size: 144 KiB |
After Width: | Height: | Size: 132 KiB |
After Width: | Height: | Size: 315 KiB |
After Width: | Height: | Size: 1.5 MiB |
After Width: | Height: | Size: 4.5 MiB |
After Width: | Height: | Size: 1.7 MiB |
After Width: | Height: | Size: 1.7 MiB |
After Width: | Height: | Size: 2.1 MiB |
After Width: | Height: | Size: 1.8 MiB |
After Width: | Height: | Size: 1.9 MiB |
After Width: | Height: | Size: 2.0 MiB |
After Width: | Height: | Size: 1.7 MiB |
After Width: | Height: | Size: 1.8 MiB |
After Width: | Height: | Size: 1.8 MiB |
After Width: | Height: | Size: 2.0 MiB |
After Width: | Height: | Size: 1.7 MiB |
After Width: | Height: | Size: 1.6 MiB |
After Width: | Height: | Size: 1.8 MiB |
After Width: | Height: | Size: 1.5 MiB |
After Width: | Height: | Size: 2.0 MiB |
After Width: | Height: | Size: 1.3 MiB |
After Width: | Height: | Size: 1.0 MiB |
After Width: | Height: | Size: 802 KiB |
After Width: | Height: | Size: 869 KiB |
After Width: | Height: | Size: 939 KiB |
After Width: | Height: | Size: 869 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 928 KiB |
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -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.
|