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