diff --git a/diploma.pdf b/diploma.pdf index 5459a78..5cd5691 100644 Binary files a/diploma.pdf and b/diploma.pdf differ diff --git a/diploma.tex b/diploma.tex index a3cbbe4..a3b7819 100644 --- a/diploma.tex +++ b/diploma.tex @@ -288,9 +288,9 @@ Besedilo je oblikovano z urejevalnikom besedil \LaTeX.} \bigskip \noindent\textbf{Opis:}\\ -V zadnjem času postaja uporaba brezpilotnih letalnikov vse bolj razširjena in se uporablja v različnih področjih, kot so agrikultura, kartiranje, vojaške operacije in še mnogo drugih. -Kljub njihovi vsestranskosti pa se poraja ključno vprašanje: kako se brezpilotni letalniki obnašajo, ko izgubijo stik z GPS sistemom? -Diplomska naloga se osredotoča na to tematiko in predlaga metodo za lokalizacijo brezpilotnih letalnikov ob izgubi GPS signala. +V zadnjem času postaja uporaba brezpilotnih letalnikov vse bolj razširjena in se uporablja na različnih področjih, kot so agrikultura, kartiranje, vojaške operacije idr. +Kljub njihovi vsestranskosti pa se poraja ključno vprašanje: kako se brezpilotni letalniki obnašajo, ko izgubijo stik z sistemom za določanje položaja? +Diplomska naloga se osredotoča na to tematiko in predlaga metodo za lokalizacijo brezpilotnih letalnikov ob izgubi sistema za določanje položaja. \bigskip \noindent\textbf{Title:} UAV localization @@ -298,16 +298,14 @@ Diplomska naloga se osredotoča na to tematiko in predlaga metodo za lokalizacij \bigskip \noindent\textbf{Description:}\\ In recent times, the use of unmanned aerial vehicles (UAVs) has become increasingly prevalent, finding applications in various fields such as agriculture, mapping, military operations, and many others. -Despite their versatility, a critical question arises: how do drones behave when they lose connection to the GPS system? -This thesis focuses on this issue and proposes a method for localizing UAVs in the event of a GPS signal loss. +Despite their versatility, a critical question arises: how do drones behave when they lose connection to the positioning system? +This thesis focuses on this issue and proposes a method for localizing UAVs in the event of a positioning system signal loss. \vfill - - \vspace{2cm} -%% prazna stran +% prazna stran \clearemptydoublepage % zahvala @@ -349,15 +347,15 @@ Zahvala gre tudi družini za podporo pri pisanju diplomskega dela. {\bf kratica} & {\bf angleško} & {\bf slovensko} \\ \hline {\bf UAV} & unmanned aerial vehicle & brezpilotni letalnik \\ {\bf SAT} & satellite & satelit \\ - {\bf CNN} & convolutional neural network & konvolucijska nevronska mreza \\ + {\bf CNN} & convolutional neural network & konvolucijska nevronska mreža \\ {\bf RDS} & relative distance score & ocena relativne razdalje \\ {\bf MSE} & mean squared error & srednja kvadratna napaka \\ - {\bf FPI} & finding point in an image & iskanje tocke v sliki \\ + {\bf FPI} & finding point in an image & iskanje točke v sliki \\ {\bf WAMF} & Weight-Adaptive Multi Feature fusion & Uteženo združevanje več značilk \\ {\bf PCPVT } & Pyramid Vision Transformer with Conditional Positional encodings & Piramidni vision transformer s pogojnimi pozicijskimi kodiranji \\ - {\bf HANN } & Hanning loss function & Hanningova kriterjska funkcija \\ - {\bf GWMSE } & Gaussian Weighted Mean Squared Error & Gaussovo utežena srednja kvadratna napaka \\ - {\bf HWMSE } & Hanning Weighted Mean Squared Error & Hanningovo utežena srednja kvadratna napaka \\ + {\bf HANN } & Hanning loss function & Hanningova kriterijska funkcija \\ + {\bf GWMSE } & Gaussian Weighted Mean Squared Error & Gaussova utežena srednja kvadratna napaka \\ + {\bf HWMSE } & Hanning Weighted Mean Squared Error & Hanningova utežena srednja kvadratna napaka \\ {\bf CWMSE } & Cross-Weighted Mean Squared Error & Križno utežena srednja kvadratna napaka \\ % \dots & \dots & \dots \\ @@ -381,13 +379,13 @@ Zahvala gre tudi družini za podporo pri pisanju diplomskega dela. %\noindent\textbf{Povzetek:} \noindent Diplomsko delo se osredotoča na uporabo naprednih nevronskih mrež za lokalizacijo brezpilotnih letalnikov s pomočjo satelitskih slik. -V uvodu je predstavljena osnovna terminologija in koncepti s področja nevronskih mrež. +V uvodu je predstavljena temeljna terminologija in koncepti s področja nevronskih mrež. V metodološkem delu so podrobno razložene konvolucijske nevronske mreže, transformerska arhitektura ter njeni derivati, kot sta Vision Transformer (ViT) in Piramidni vision transformer (PVT). -Posebno pozornost je namenjena Siamski nevronski mreži, ki je ključna za primerjavo vzorcev med satelitskimi in slikami iz brezpilotnega letalnika. +Posebno pozornost namenjamo Siamski nevronski mreži, ki je ključna za primerjavo vzorcev med satelitskimi in slikami iz brezpilotnega letalnika. Podatkovna množica, uporabljena za učenje in testiranje, vključuje slike brezpilotnega letalnika in satelitske slike. V razdelku rezultatov so predstavljene ključne faze implementacije, učenja modela, izbire kriterijske funkcije ter različne optimizacijske strategije, kot je uporaba stratificiranega vzorčenja. Poudarjena je tudi vloga Hanningovega okna in regularizacijskih tehnik, kot je izpuščanje nevronov. -Delo zaključuje s sklepnimi ugotovitvami, ki poudarjajo potencial in učinkovitost predlagane metode za natančno lokalizacijo brezpilotnih letalnikov. +Delo zaključujemo s sklepnimi ugotovitvami, ki poudarjajo potencial in učinkovitost predlagane metode za natančno lokalizacijo brezpilotnih letalnikov. \bigskip @@ -432,10 +430,12 @@ The work concludes with final observations that underscore the potential and eff \chapter{Uvod} \label{ch0} -Brezpilotni letalniki so postali nepogrešljivo orodje v številnih sektorjih, od vojaških operacij do kmetijskega nadzora. +"Brezpilotni letalniki so postali nepogrešljivi v številnih sektorjih, vključno s kmetijskim nadzorom, reševalnimi operacijami in vojaškimi operacijami Kljub njihovi široki uporabi pa se soočajo z izzivi pri avtonomni navigaciji, še posebej v okoljih, kjer je le-ta omejen ali nezanesljiv. -V idealnih razmerah brezpilotni letalniki za svojo navigacijo uporabljajo GPS signale, vendar pa lahko te signale motijo naravne in človeške ovire, kot so visoke stavbe, gorske formacije ali celo elektronske motnje. -Izguba GPS signala lahko postane kritična, še posebej v tistih trenutkih, ko je natančna lokacija letalnika ključna za njegovo nalogo, zato je iskanje alternativne metode za lokalizacijo brezpilotnih letalnikov nujno. +V idealnih razmerah brezpilotni letalniki za svojo navigacijo uporabljajo sisteme za določanje položaja, kot so GPS \footnote{GPS: \url{https://en.wikipedia.org/wiki/Global_Positioning_System}}, +GLONASS \footnote{GLONASS: \url{https://en.wikipedia.org/wiki/GLONASS}} in drugi podobni sistemi. +Vendar lahko te signale motijo naravne in človeške ovire, kot so visoke stavbe, gorske formacije ali celo elektronske motnje. +Izguba sistema za določanje položaja lahko postane kritična, še posebej v tistih trenutkih, ko je natančna lokacija letalnika ključna za njegovo nalogo, zato je iskanje alternativne metode za lokalizacijo brezpilotnih letalnikov nujno. Zgodnje metode, kot so navedene v virih \cite{semantic_crossview, crossview_image, global_vehicle, geo_localization}, so se osredotočale predvsem na uporabo ročno izdelanih značilnosti. To pomeni, da so raziskovalci uporabljali specifične, predhodno definirane vzorce iz slik za določanje lokacije. @@ -449,12 +449,12 @@ V \cite{deep_representations} je bil predstavljen pristop z uporabo modificirane V \cite{cvm_net} so bile predstavljene metode, ki so optimizirale opise slik, da so postale odporne na masivne spremembe perspektive, kot je pogled iz zraka proti tlem ali obratno. V \cite{optimal_transport} so predstavljene inovacije, ki uporabljajo prostorske informacije za izboljšanje globalnega koraka agregacije pri izvlečku značilnosti. Z uporabo mehanizma prostorske pozornosti so še dodatno izboljšali natančnost geolokalizacije. -Tradicionalne metode prepoznavanja slik se v kontekstu lokalizacije brezpilotnih letalnikov zdijo kot obetavna alternativa \cite{bianchi2021uav} in \cite{zhu2022transgeo}, vendar pa se ob njihovi uporabi pojavi več izzivov. -Prvič, potrebujemo ogromno slikovno bazo, ki vključuje kompresirane satelitske slike območij nad katerimi letalnik leti. Velikost in obseg te baze lahko povzročita precejšnje računske in pomnilniške zahteve, kar lahko oteži njeno integracijo v realnočasovnih sistemih, kot so brezpilotni letalniki. -Drugič, vsaka posodobitev ali sprememba v osnovni nevronski mreži, ki se uporablja za prepoznavanje slik zahteva ponovno obdelavo celotne slikovne baze. To ne le da je časovno potratno, ampak tudi zviša stroške, saj morajo vse slike ponovno potekati skozi postopek predprocesiranja in razpoznavanja. -Tretjič, ko brezpilotni letalnik zajame sliko za primerjavo, mora ta slika biti primerjana z vsako sliko v bazi, da se ugotovi najboljše ujemanje. V praksi to pomeni da, ko imamo bazo sestavljeno iz milijonov slik, bo vsaka nova poizvedovalna slika potrebovala milijone primerjav, kar je zelo časovno potratno in računsko intenzivno. +Tradicionalne metode prepoznavanja slik se v kontekstu lokalizacije brezpilotnih letalnikov zdijo kot obetavna alternativa \cite{bianchi2021uav} in \cite{zhu2022transgeo}, takšen pristop pa lahko ima težave. +Vsaka posodobitev ali sprememba v osnovni nevronski mreži, ki se uporablja za prepoznavanje slik, zahteva ponovno obdelavo celotne slikovne baze. Slednje ne le da je časovno potratno, ampak tudi zviša stroške, saj morajo vse slike ponovno potekati skozi postopek predprocesiranja in razpoznavanja. +Ko brezpilotni letalnik zajame sliko za primerjavo, mora biti ta slika primerjana z vsako sliko v bazi, da se ugotovi najboljše ujemanje. +V praksi to pomeni, da ko imamo bazo sestavljeno iz milijonov slik, bo vsaka nova poizvedovalna slika potrebovala milijone primerjav, kar je precej časovno potratno in računsko intenzivno. -V luči omejitev tradicionalnih metod prepoznavanja slik so raziskovalci razvili pristop, imenovan FPI (Finding Point with Image) \cite{dai2022finding}. +V kontekstu omejitev tradicionalnih metod prepoznavanja slik so raziskovalci razvili pristop, imenovan FPI (Finding Point with Image) \cite{dai2022finding}. FPI sprejme dva vhodna podatka: sliko posneto z brezpilotnim letalnikom in pripadajočo satelitsko sliko. V kontekstu te satelitske slike je mesto, kjer je bila slika iz brezpilotnega letalnika posneta. Za obdelavo vsake slike se uporablja posebna nevronska mreža, kjer vsaka mreža obdeluje svoj nabor podatkov brez deljenja uteži z drugo. Ko sta sliki obdelani in njihove značilke izluščene, se med njima izvede operacija korelacije. Ta mera podobnosti se predstavi v obliki toplotne karte, ki prikazuje stopnjo ujemanja med sliko brezpilotnega letalnika in satelitsko sliko. Najvišja vrednost na toplotni karti natančno označuje mesto, kjer je brezpilotni letalnik posnel svojo sliko na večji satelitski sliki. Informacija se nato neposredno prevede v natančno lokalizacijo brezpilotnega letalnika na satelitski sliki. @@ -468,28 +468,31 @@ Dodatna optimizacija je bila dosežena z vključitvijo WAMF modula in uporabo Ha WAMF-FPI je evolucija osnovne metode FPI. Ključna prednost WAMF-FPI je njegova napredna piramidna struktura izluščenja značilk, ki omogoča bolj natančno in raznoliko analizo vhodnih podatkov. Z uporabo te piramidne strukture se značilke izluščijo na več različnih ravneh, nato pa se skalirajo in medsebojno primerjajo, kar pridobi bolj robusten in natančen sklop informacij. Poleg tega WAMF-FPI optimizira kompresijske zmogljivosti, kar pripomore k hitrejšemu in učinkovitejšemu procesiranju podatkov. -Medtem ko je v osnovni FPI metodi končna velikost značilk bila stisnjena na 16-krat manjšo od izvorne satelitske slike, v WAMF-FPI ta kompresijski faktor znaša samo 4-krat manjšo velikost. +Medtem ko je bila v osnovni FPI metodi končna velikost značilk stisnjena na 16-krat manjšo od izvorne satelitske slike, v WAMF-FPI ta kompresijski faktor znaša samo štirikrat manjšo velikost. To omogoča WAMF-FPI-ju, da ohrani več informacij ter pridobi boljšo lokalizacijsko natančnost ob hkratnem zmanjšanju računske obremenitve. -Kljub številnim obstoječim zbirkam, kot so CVUSA \cite{cvusa}, CVACT \cite{cvact} in University-1652 \cite{university1652}, večina ne zajema vseh realnih situacij s katerimi se srečuje brezpilotni letalnik. +Kljub številnim obstoječim zbirkam, kot so CVUSA \cite{cvusa}, CVACT \cite{cvact} in University-1652 \cite{university1652}, ki so namenjene za zgoraj omenjene tradicionalne metode prepoznavanja slik, +večina ne zajema vseh realnih situacij s katerimi se srečuje brezpilotni letalnik. Zbirka CVUSA \cite{cvusa} je osredotočena predvsem na zgradbe. -Zbirka University-1652 \cite{university1652} uporablja posnetke univerz, vendar nima dovolj raznolikih posnetkov, saj je omejena le na univerzitetna okolja. +Zbirka University-1652 \cite{university1652} uporablja posnetke univerz, vendar nima dovolj raznolikih posnetkov, saj je omejena le na univerzitetna okolja. +Poleg tega so objekti v sredini slike. Podatkovna zbirka UL14, omenjena v \cite{dai2022finding}, je edina s pogledom od zgoraj navzdol, vendar avtorji zbirke žal niso javno delili. Zato smo se odločili za ustvarjanje lastne zbirke, osredotočene na pogled iz brezpilotnega letalnika, z uporabo Google Earth Studia\footnote{Google Earth Studio: \url{https://www.google.com/earth/studio/}}. -Naša zbirka obsega 11 evropskih mest. Glavni cilj izdelave te zbirke je bil zagotoviti raznolike podatke, ki bi služili kot robustna osnova za testiranje in validacijo pristopov. S tem smo želeli zagotoviti, da naša implementacija lahko obravnava različne scenarije, ki jih lahko sreča brezpilotni letalnik v realnem svetu. -Cilj izdelave zbirke je bil zagotoviti raznolike podatke, ki bi lahko služili kot robustna osnova za testiranje in validacijo naše implementacije WAMF-FPI. +Naša zbirka obsega 11 evropskih mest. Glavni cilj izdelave te zbirke je bil zagotoviti raznolike podatke, ki bi služili kot robustna osnova za testiranje in validacijo pristopov. S tem smo nameravali zagotoviti, da naša implementacija lahko obravnava različne scenarije, ki jih morebiti sreča brezpilotni letalnik v realnem svetu. +Cilj izdelave zbirke je zagotoviti raznolike podatke, ki bi lahko služili kot robustna osnova za testiranje in validacijo naše implementacije WAMF-FPI. Cilj diplomske naloge je raziskati in implementirati metodo WAMF-FPI, predstavljeno v \cite{wang2023wamf}, -ker je ta metoda trenutno prepoznana kot vodilna in najnaprednejša na področju geolokalizacije brezpilotnih letalnikov. +saj je ta metoda trenutno prepoznana kot vodilna in najnaprednejša na področju geolokalizacije brezpilotnih letalnikov. +Poleg tega smo želeli tudi ustvariti podatkovno zbirko, ki bo omogočala nadaljnje raziskave na tem področju. Diplomska naloga je razdeljena na šest osnovnih poglavij. V Poglavju \ref{ch0} so predstavljena temeljna izhodišča in namen raziskave. -Poglavje \ref{ch1} obsega podroben pregled uporabljenih tehnik, vključno s konvolucijskimi nevronskimi mrežami in različnimi oblikami Vision Transformerja. -Poglavje \ref{ch2} obravnava izbrane podatkovne vire, predvsem slike brezpilotnih letalnikov in satelitske slike. -V Poglavju \ref{ch3} je predstavljen postopek implementacije modela. -Poglavje \ref{ch4} se osredotoča na analizo in interpretacijo pridobljenih rezultatov. -V Poglavju \ref{ch5} so povzete ključne ugotovitve naloge. -Diplomsko delo se zaključuje s seznamom relevantne literature. +Poglavje \ref{ch1} obsega metodologijo, kjer so podrobno opisane uporabljene tehnike, kot so konvolucijske nevronske mreže, transformerska arhitektura in različne oblike Vision Transformerja. +Poglavje \ref{ch2} obravnava podatkovno množico, ki vključuje slike brezpilotnih letalnikov, satelitske slike in oznake. +V Poglavju \ref{ch3} je opisana implementacija, s posebnim poudarkom na metodi WAMF-FPI. +Poglavje \ref{ch4} se osredotoča na eksperimentalno evalvacijo, kjer so predstavljeni rezultati različnih eksperimentov in analize. +V Poglavju \ref{ch5} so podane sklepne ugotovitve in zaključki naloge. +Diplomsko delo zaključujemo z relevantno literaturo in dodatki, ki vključujejo primere izračuna RDS in primerjavo toplotnih kart. \chapter{Metodologija} \label{ch1} @@ -498,16 +501,16 @@ V tem poglavju bomo predstavili osnovne komponente, ki jih uporabljamo v našem Začeli bomo s konvolucijskimi nevronskimi mrežami, ki so temeljni gradnik večine modelov za obdelavo slik in nudijo močno orodje za izluščenje značilnosti iz vizualnih podatkov. Nadaljevali bomo s predstavitvijo transformerske arhitekture, ki je revolucionirala področje obdelave naravnega jezika in se v zadnjem času vedno bolj uporablja tudi v računalniškem vidu. Podrobneje se bomo osredotočili na zgradbo transformerja in njegove ključne komponente. -V nadaljevanju se bomo posvetili strukturi Vision Transformer (ViT) in razširjeni verziji - Pyramid Vision Transformer (PVT). +V nadaljevanju se bomo posvetili strukturi Vision Transformer (ViT) in razširjeni različici -- Pyramid Vision Transformer (PVT). Posebno pozornost bomo posvetili prilagojeni različici PVT, imenovani PCPVT, saj njeni deskriptorji zagotavljajo prostorsko skladnost in natančno poravnavo. -Zaključili bomo s siamskimi nevronskimi mrežami, ki predstavljajo ključno komponento pri primerjavi vzorcev. -Te mreže so še posebej pomembne, ko želimo primerjati dva ali več podobnih vzorcev in ugotoviti, ali med njimi obstajajo razlike. +Zaključili bomo s siamskimi nevronskimi mrežami, ki predstavljajo ključno komponento v primerjavi vzorcev. +Te mreže so še posebej pomembne, ko nameravamo primerjati dva ali več podobnih vzorcev in ugotoviti, ali med njimi obstajajo razlike. -Z vključitvijo vseh teh komponent in tehnik v naš model WAMF-FPI želimo razviti robusten in natančen sistem za lokalizacijo točk na slikah. +Z vključitvijo vseh teh komponent in tehnik v naš model WAMF-FPI nameravamo razviti robusten in natančen sistem za lokalizacijo točk na slikah. V nadaljevanju poglavja bomo vsako od teh komponent podrobno raziskali, da bi bolje razumeli njihove lastnosti in kako prispevajo k celotnemu modelu. \section{Konvolucijske nevronske mreže} -Konvolucijske nevronske mreže (ang. Convolutional Neural Networks - CNN) so metoda globokega učenja, +Konvolucijske nevronske mreže (ang. Convolutional Neural Networks -- CNN) so metoda globokega učenja, specializirana za obdelavo vizualnih podatkov, zasnovana tako, da avtomatsko in adaptivno izvaja izvleček značilnosti iz slik. \subsection{Struktura in delovanje} @@ -516,30 +519,30 @@ Osnovni gradniki CNN obsegajo štiri glavne vrste plasti: konvolucijsko, aktivac \begin{enumerate} \item \textbf{Konvolucijska plast}: - Vsak nevron v tej plasti je povezan le z majhnim območjem v prejšnji plasti, namesto da bi bil povezan z vsemi nevroni, kot je to v običajnih nevronskih mrežah. + vsak nevron v tej plasti je povezan le z majhnim območjem v prejšnji plasti, namesto da bi bil povezan z vsemi nevroni, kot je to v običajnih nevronskih mrežah. Ko se filter (ali jedro) premika preko slike, izvaja konvolucijsko operacijo: \begin{equation} - (I * K)(x,y) = \sum_{m} \sum_{n} I(m,n) \cdot K(x-m, y-n) + (I * K)(x,y) = \sum_{m} \sum_{n} I(m,n) \cdot K(x-m, y-n). \end{equation} \item \textbf{Aktivacijska funkcija}: - Po konvolucijski operaciji se uporabi aktivacijska funkcija za vsak izhod. Najpogosteje se uporablja funkcija ReLU: + po konvolucijski operaciji se uporabi aktivacijska funkcija za vsak izhod. Najpogosteje se uporablja funkcija ReLU: \begin{equation} - \text{ReLU}(x) = \max(0, x) + \text{ReLU}(x) = \max(0, x). \end{equation} \item \textbf{Združevalna plast}: - Po konvolucijski in aktivacijski operaciji sledi združevalna plast, ki zmanjšuje dimenzije slike z uporabo operacij, kot je "max pooling": + po konvolucijski in aktivacijski operaciji sledi združevalna plast, ki zmanjšuje dimenzije slike z uporabo operacij, kot je "max pooling": \begin{equation} - P(i,j) = \max_{m,n \in R} I(i+m, j+n) + P(i,j) = \max_{m,n \in R} I(i+m, j+n). \end{equation} \item \textbf{Polno povezane plasti}: - Delujejo kot klasične plasti v običajnih nevronskih mrežah. Vsak nevron je povezan z vsemi izhodi prejšnje plasti. + delujejo kot klasične plasti v običajnih nevronskih mrežah. Vsak nevron je povezan z vsemi izhodi prejšnje plasti. \begin{equation} - O_i = \sum_{j} W_{ij} \cdot I_j + b_i + O_i = \sum_{j} W_{ij} \cdot I_j + b_i, \end{equation} - Kjer je $O_i$ izhod, $W_{ij}$ matrika uteži, $I_j$ vhod in $b_i$ pristranskost (ang. bias). + kjer je $O_i$ izhod, $W_{ij}$ matrika uteži, $I_j$ vhod in $b_i$ pristranskost (ang. bias). \end{enumerate} \section{Transformerska arhitektura} @@ -550,14 +553,14 @@ Predstavljeno bo ozadje, vključno s prejšnjimi mehanizmi, kot so rekurentne ne \subsection{Predhodni mehanizmi} Preden so obstajali transformerji, -so bile najpogostejše metode za obvladovanje zaporedij v jezikovnih modelih rekurentne nevronske mreže (ang. Recurrent Neural Networks - RNN) in njihove različice, -kot so dolgokratni kratkotrajni spomini (ang. Long Short-Term Memory - LSTM) in obogatene RNN (ang. Gated Recurrent Units - GRU). +so bile najpogostejše metode za obvladovanje zaporedij v jezikovnih modelih rekurentne nevronske mreže (ang. Recurrent Neural Networks -- RNN) in njihove različice, +kot so dolgi kratkotrajni spomini (ang. Long Short-Term Memory -- LSTM) in obogatene RNN (ang. Gated Recurrent Units -- GRU). Najpogostejša uporaba teh modelov v kontekstu strojnega prevajanja ali drugih nalog pretvarjanja zaporedja v zaporedje je bila uporaba strukture kodirnik-dekodirnik. -V tej strukturi je bilo zaporedje vhodnih besed ali kodirano v latentni prostor z uporabo RNN (kodirnik), ta latentni vektor pa je bil nato uporabljen za generiranje zaporedja izhodnih besed ali žetonov z uporabo drugega RNN (dekodirnik). +V tej strukturi je bilo zaporedje vhodnih besed ali kodirano v latentni prostor z uporabo RNN (kodirnik), ta latentni vektor pa je bil nato uporabljen za generiranje zaporedja izhodnih besed ali žetonov z uporabo drugega RNN (dekodirnik). Problem s to strukturo je bil, da je bil latentni prostor omejen na velikost fiksne dolžine in je moral vsebovati vse informacije iz izvornega zaporedja, ki so potrebne za generiranje ciljnega zaporedja. To je omejevalo model pri obvladovanju dolgih zaporedij, saj je bilo težko ohraniti informacije iz zgodnjega dela zaporedja do konca. Da bi to težavo rešili, so raziskovalci vključili mehanizem pozornosti, ki je omogočil dekodirniku, da se osredotoči na različne dele izvornega zaporedja na različnih stopnjah generiranja ciljnega zaporedja. -To je bil velik napredek, ki je omogočil boljše obvladovanje dolgih zaporedij \cite{bahdanau2015neural}. +Slednje je bil velik napredek, ki je omogočil boljše obvladovanje dolgih zaporedij \cite{bahdanau2015neural}. \subsection{Razlaga RNN kodirnik-dekodirnik arhitekture} @@ -568,36 +571,36 @@ Imamo dva RNN modela, kodirnik $\text{RNN}{\text{enc}}$ in dekodirnik $\text{RNN Kodirnik z zaporedjem vektorjev $\vec{F}$ proizvede skrito stanje $h_n$: \begin{equation} - h_n = \text{RNN}\text{enc}(f_n, h{n-1}) + h_n = \text{RNN}\text{enc}(f_n, h{n-1}). \end{equation} Začetno stanje $h_0$ je pogosto postavljeno na nič ali se ga mreža nauči. Dekodirnik nato uporablja to skrito stanje, da generira ciljno zaporedje $\vec{E}$: \begin{equation} - e_{t} = \text{RNN}\text{dec}(e{t-1}, h_{t-1}) + e_{t} = \text{RNN}\text{dec}(e{t-1}, h_{t-1}). \end{equation} Opomba: pri učenju se za $e_{t-1}$ pogosto uporablja dejanska vrednost iz ciljnega zaporedja (ne izhod modela), kar je znano kot "teacher forcing" \cite{wikipedia_teacher_forcing_2023}. Izvorna zaporedja besed $\vec{F}$ se tako vnašajo v kodirnik, ki generira skrita stanja za vsako besedo: \begin{equation} - \vec{H} = \text{Kodirnik}(\vec{F}) + \vec{H} = \text{Kodirnik}(\vec{F}). \end{equation} Za vsako besedo v ciljnem zaporedju $\vec{E}$ se potem izračuna utežena vsota skritih stanj iz kodirnika: \begin{equation} - \vec{a}t = \text{Pozornost}(\vec{H}, e{t-1}) + \vec{a}t = \text{Pozornost}(\vec{H}, e{t-1}). \end{equation} Potem se ta vektor uporabi za napoved ciljne besede: \begin{equation} - e_t = \text{Dekodirnik}(\vec{a}t, e{t-1}) + e_t = \text{Dekodirnik}(\vec{a}t, e{t-1}). \end{equation} Ta pristop omogoča, da dekodirnik upošteva vse besede v izvornem zaporedju, ne samo prejšnje besede v ciljnem zaporedju, kar izboljša kakovost prevoda. Vendar je to zgolj matematična formulacija koncepta. Dejanski detajli, kot so vrste in struktura kodirnika in dekodirnika, so odvisni od specifičnega modela, ki ga uporabljamo. Na sliki \ref{fig:rnn} je prikazana skica RNN modela. -\begin{figure}[h] +\begin{figure}[H] \centering \includegraphics[width=0.9\textwidth]{./img/rnn.pdf} \caption{Skica RNN modela} @@ -619,7 +622,7 @@ Transformer model je model kodirnika-dekodirnika. Kodirnik sestavljajo $N$ bloko Med učenjem se vhodne besede $\vec{F} = (f_0, ..., f_n)$ hkrati prenesejo v prvi blok kodirnika, izhod tega bloka pa se nato prenese v njegovega naslednika. Postopek se ponavlja, dokler vseh $N$ blokov kodirnika ni obdelalo vhoda. Vsak blok ima dve komponenti: plast večglave samopozornosti (ang. Multi-Head Self-Attention), ki ji sledi polno povezana plast z aktivacijami ReLU, ki obdeluje vsak element vhodne sekvence vzporedno. -Tako večglav sloj pozornosti kot polno povezana plast sledita koraku \textit{Dodaj in Normiraj} - \textit{dodaj} se nanaša na residualno povezavo, +Tako večglav sloj pozornosti kot polno povezana plast sledita koraku \textit{Dodaj in Normiraj} -- \textit{dodaj} se nanaša na residualno povezavo, ki doda vhod vsake plasti na izhod, \textit{normiraj} pa se nanaša na normalizacijo plasti. Ko je vhod prešel skozi vse bloke kodiranja, ostane kodirana predstavitev $\vec{F}$. @@ -629,7 +632,7 @@ Tako kot v kodirniku, vsaki plasti sledi plast \textit{Dodaj in Normiraj}. Dekodirnik sprejme vse ciljne besede $\vec{E} = (e_0, ..., e_m)$ kot vhod. V procesu napovedovanja besede $e_i$ ima dekodirnik dostop do prej generiranih besed. Ne more pa imeti dostopa do besed, ki sledijo $e_i$, saj te še niso bile generirane. -Obstaja nekaj ključnih razlik od kodirnika - ena je, da so vhodi v prvo operacijo pozornosti v blokih dekodirnika maskirani, zato ime plasti. +Obstaja nekaj ključnih razlik v primerjavi s kodirnikom - ena je, da so vhodi v prvo operacijo pozornosti v blokih dekodirnika maskirani, zato tudi ime plasti. To pomeni, da se lahko katera koli beseda v ciljnem izhodu nanaša samo na besede, ki so prišle pred njo. Razlog za to je preprost: med sklepanjem generiramo predvideni prevod $\vec{E}$ besedo za besedo z uporabo izvornega stavka $\vec{F}$. @@ -637,8 +640,8 @@ Druga razlika od kodirnika je druga večglava plast pozornosti, ki se imenuje tu Za razliko od plasti pozornosti na začetku blokov kodirnika in dekodirnika ta plast ni plast samopozornosti. \subsection{Utežena točkovna produktna pozornost} -Utežena točkovna produktna pozornot (ang. Scaled Dot-Product Attention) se uporablja v vseh plasteh pozornosti v transformerju. -Scaled Dot-Product Attention je skoraj identičen Dot-Product Attention-u, omenjenem prej pri Luongu \cite{bahdanau2015neural}. +Utežena točkovna produktna pozornost (ang. Scaled Dot-Product Attention) se uporablja v vseh plasteh pozornosti v transformerju. +Scaled Dot-Product Attention je skoraj identičen Dot-Product Attention-u, že omenjenem pri Luongu \cite{bahdanau2015neural}. \begin{equation} \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V @@ -647,11 +650,11 @@ Scaled Dot-Product Attention je skoraj identičen Dot-Product Attention-u, omenj Edina razlika je, da je vhod v softmax skaliran s faktorjem $\frac{1}{\sqrt{d_k}}$. Avtorji pozornosti omenjajo, da delijo vhode v softmax funkcijo z $\sqrt(d_k)$, da bi ublažili učinke velikih vhodnih vrednosti, ki bi vodile do majhnih gradientov med učenjem \cite{vaswani2017attention}. -V članku \cite{vaswani2017attention} in predhodni literaturi \cite{bahdanau2015neural} se vrstice \( Q \in \mathbb{R}^{m \times d_k} \) imenujejo poizvedbe, vrstice \( K \in \mathbb{R}^{n \times d_k} \) ključi, in vrstice \( V \in \mathbb{R}^{n \times d_v} \) vrednosti. -Upoštevati je potrebno, da se za izvedbo mora število ključev in vrednosti \( n \) ujemati, vendar se lahko število poizvedb \( m \) razlikuje. -Prav tako se mora dimenzionalnost ključev in poizvedb ujemati, vendar se lahko dimenzionalnost vrednosti razlikuje. +V članku \cite{vaswani2017attention} in predhodni literaturi \cite{bahdanau2015neural} se vrstice \( Q \in \mathbb{R}^{m \times d_k} \) imenujejo poizvedbe, vrstice \( K \in \mathbb{R}^{n \times d_k} \) ključi, in vrstice \( V \in \mathbb{R}^{n \times d_v} \) vrednosti. +Upoštevati je potrebno, da se mora za izvedbo število ključev in vrednosti \( n \) ujemati, vendar se lahko število poizvedb \( m \) razlikuje. +Prav tako se mora ujemati dimenzionalnost ključev in poizvedb, vendar se lahko dimenzionalnost vrednosti razlikuje. -Postopek izračuna utežena točkovne produktne pozornosti je naslednji: +Postopek izračuna utežene točkovne produktne pozornosti je naslednji: \begin{enumerate} \item Izračunamo produkt med matrikama poizvedb \(Q\) in ključev \(K^T\). @@ -673,12 +676,12 @@ Končno se ta matrika preslika nazaj v izviren prostor z uporabo druge linearne Avtorji to izrazijo v spodnji obliki \cite{vaswani2017attention}: \begin{equation} - \text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, ..., \text{head}_h)W_O + \text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, ..., \text{head}_h)W_O. \end{equation} Vsak $\text{head}_i$ je rezultat izvajanja Scaled Dot-Product Attention na $i$-tem nizu transformiranih poizvedb, ključev in vrednosti: \begin{equation} - \text{head}_i = \text{Attention}(QW_{Qi}, KW_{Ki}, VW_{Vi}) + \text{head}_i = \text{Attention}(QW_{Qi}, KW_{Ki}, VW_{Vi}), \end{equation} kjer so $Q \in \mathbb{R}^{m \times d_{\text{model}}}$, $K \in \mathbb{R}^{n \times d_{\text{model}}}$, in $V \in \mathbb{R}^{n \times d_{\text{model}}}$. @@ -704,7 +707,7 @@ Pomembno je poudariti, da vsi bloki dekodirnika prejmejo enake podatke od kodirn Transformerji so prvotno bili omejeni na obdelavo zaporedij, kar je idealno za jezik, vendar ne nujno za slike, ki so običajno dvodimenzionalne. To se je spremenilo z razvojem Vision Transformerja (ViT) \cite{vit}. Namesto da bi slike obdelovali kot dvodimenzionalne mreže pikslov (kot to počnejo konvolucijske nevronske mreže), Vision Transformer slike obravnava kot zaporedje majhnih kvadratov ali zaplat. -To omogoča uporabo istih tehnik samo-pozornosti, ki so bile učinkovite v jezikovnih modelih, tudi za obdelavo slik. +Slednje omogoča uporabo istih tehnik samo-pozornosti, ki so bile učinkovite v jezikovnih modelih, tudi za obdelavo slik. Ta pristop je pokazal obetavne rezultate, saj je Vision Transformer dosegel ali presegel učinkovitost konvolucijskih nevronskih mrež na številnih nalogah računalniškega vida \cite{vit}. \subsection{Arhitektura ViT} @@ -716,25 +719,25 @@ Kot rezultat tega postopka dobimo $(H \cdot W) / P^2$ zaplat, ki se vsaka zravna Vsak 1D vektor $x$ se nato prenese skozi linearni model: \begin{equation} -z = Wx + b +z = Wx + b. \end{equation} Ker transformerji ne vsebujejo inherentne informacije o poziciji vložkov v zaporedju, je treba dodati pozicijske vložke: \begin{equation} -e_i = z_i + p_i +e_i = z_i + p_i. \end{equation} Zaporedje vložkov se nato prenese skozi bloke transformerja, ki vsebujejo večglavo samopozornost in feed-forward mreže: \begin{equation} -\text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, ..., \text{head}_h) W_O +\text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, ..., \text{head}_h) W_O. \end{equation} -Za končno klasifikacijo slike se uporabi klasifikacijska glava: +Za končno klasifikacijo slike se uporabi naslednja klasifikacijska glava: \begin{equation} -y = \text{softmax}(W_2\text{ReLU}(W_1e)) +y = \text{softmax}(W_2\text{ReLU}(W_1e)). \end{equation} %Na sliki \ref{fig:vit} je videti kako se slika razdeli na zaplate pred vstopom v model. @@ -751,24 +754,24 @@ y = \text{softmax}(W_2\text{ReLU}(W_1e)) \section{Piramidni ViT (PVT)} Piramidni ViT (PVT) \cite{wang2021pyramid} je bil razvit z namenom vključitve piramidne strukture v okviru Transformerja. Arhitektura PVT je razdeljena na štiri stopnje. -Vsaka od teh stopenj je sestavljena iz plasti za vdelavo zaplat (ang. patch embedding) in iz več plasti Transformerskega kodirnika. +Vsaka od teh stopenj je sestavljena iz plasti za vdelavo zaplat (ang. patch embedding) in iz več plasti transformerskega kodirnika. Značilnost te arhitekture je, da se izstopna ločljivost štirih stopenj postopoma zmanjšuje, kar sledi piramidni strukturi. Na najvišji stopnji je ločljivost značilnostne mape največja, medtem ko se na najnižji stopnji zmanjša. -Za boljše razumevanje si poglejmo podrobneje prvo stopnjo: Vhodna slika velikosti $ H \times W \times 3 $ je razdeljena na zaplate velikosti $4 \times 4 \times 3$. +Za boljše razumevanje si poglejmo podrobneje prvo stopnjo: vhodna slika velikosti $ H \times W \times 3 $ je razdeljena na zaplate velikosti $4 \times 4 \times 3$. To pomeni, da je število zaplat enako $ HW/4^2 $. Vsaka zaplata je nato sploščena in prenesena v linearno projekcijo, kar rezultira v vdelavi zaplat velikosti $ HW / 4^2 \times C1 $. Te vdelane zaplate, skupaj z dodano vdelavo položaja, prehajajo skozi Transformerski kodirnik z $L1$ plastmi. Izhod iz tega kodirnika je nato preoblikovan v značilnostno mapo $ F1 $ velikosti $ H/4 \times W/4 \times C1 $. Matematično to lahko izrazimo kot: \begin{equation} - F1 = \frac{H}{4} \times \frac{W}{4} \times C1 + F1 = \frac{H}{4} \times \frac{W}{4} \times C1. \end{equation} Naslednje stopnje PVT sledijo podobnemu pristopu, vendar z različnimi ločljivostmi in dimenzijami. Na primer, značilnostne mape $F2, F3 \text{ in } F4$ so pridobljene z različnimi koraki, ki so 8, 16 in 32 slikovnih pik glede na vhodno sliko. -Ena izmed ključnih inovacij v PVT je uporaba pozornosti za zmanjšanje prostorskega obsega (ang. Spatial Reduction Attention - SRA) namesto tradicionalne večglave pozornostne plasti (ang. Multi Headed Attention - MHA). +Ena izmed ključnih inovacij v PVT je uporaba pozornosti za zmanjšanje prostorskega obsega (ang. Spatial Reduction Attention -- SRA) namesto tradicionalne večglave pozornostne plasti (ang. Multi Headed Attention -- MHA). Ta pristop omogoča PVT-ju, da učinkovito obdela značilnostne mape visoke ločljivosti. V primerjavi z ViT, PVT prinaša večjo prilagodljivost, saj lahko generira značilnostne mape različnih meril/kanalov v različnih fazah. @@ -786,7 +789,7 @@ Na sliki \ref{fig:pvt} je prikazana skica PVT modela. \section{Piramidni ViT z uporabo lokalnih značilnosti (PCPVT)} Twins-PCPVT \cite{chu2021twins} je zasnovan na osnovi PVT in CPVT \cite{chu2021conditional}. Glavna razlika med Twins-PCPVT in PVT je v načinu uporabe pozicijskih kodiranj. -V PVT so uporabljena absolutna pozicijska kodiranja, medtem ko Twins-PCPVT uporablja pogojna pozicijska kodiranja (ang. Conditional Positional Encoding - CPE), +V PVT so uporabljena absolutna pozicijska kodiranja, medtem ko Twins-PCPVT uporablja pogojna pozicijska kodiranja (ang. Conditional Positional Encoding -- CPE), ki so bila predlagana v CPVT. PVT je uvedel piramidno večstopenjsko strukturo z namenom boljšega obravnavanja nalog goste napovedi, kot so zaznavanje objektov in semantična segmentacija. @@ -794,7 +797,7 @@ Vendar je bilo ugotovljeno, da je manjša učinkovitost PVT-ja v veliki meri pos Absolutna pozicijska kodiranja se soočajo s težavami pri obdelavi vhodov različnih velikosti, kar je pogosto v nalogah goste napovedi. V Twins-PCPVT so absolutna pozicijska kodiranja nadomeščena s pogojnimi pozicijskimi kodiranji (CPE), ki so odvisna od vhodov in se tako lahko naravno izognejo zgoraj omenjenim težavam. -Generator pozicijskega kodiranja (ang. Positional Encoding Generator - PEG), ki generira CPE, je postavljen za prvim kodirnim blokom vsake stopnje. +Generator pozicijskega kodiranja (ang. Positional Encoding Generator -- PEG), ki generira CPE, je postavljen za prvim kodirnim blokom vsake stopnje. Uporablja najpreprostejšo obliko PEG, tj. 2D globinsko konvolucijo brez normalizacije serij. \begin{equation} @@ -806,7 +809,7 @@ Twins-PCPVT združuje prednosti tako PVT-ja kot CPVT-ja, kar ga naredi enostavne Eksperimentalni rezultati so pokazali, da ta preprosta zasnova lahko doseže zmogljivost nedavno predlaganega Swin transformerja \cite{liu2021swin}. Na sliki \ref{fig:twins} je prikazana skica PCPVT modela. -\begin{figure}[h] +\begin{figure}[H] \centering \includegraphics[width=\textwidth]{./img/twins.png} \caption{Skica PCPVT modela, iz članka o modelu Twins \cite{chu2021twins}} @@ -816,7 +819,7 @@ Na sliki \ref{fig:twins} je prikazana skica PCPVT modela. \section{Siamska nevronska mreža za primerjavo vzorcev} Siamske nevronske mreže predstavljajo sodoben pristop v domeni primerjave vzorcev v računalniškem vidu. Z zmožnostjo učinkovite primerjave med paroma slik so siamske mreže pridobile pozornost v številnih aplikacijah, kjer je ključnega pomena zanesljiva ocena podobnosti. -V tem podpoglavju bomo obravnavali osnovno arhitekturo siamske mreže, metodologijo njenega učenja ter aplikacije in prednosti, ki jih prinaša v prakso. +V tem podpoglavju bomo obravnavali osnovno arhitekturo siamske mreže, metodologijo njenega učenja ter aplikacije in prednosti, ki jih ta prinaša v prakso. \subsection{Osnovna arhitektura siamske mreže za primerjavo vzorcev} Klasična siamska mreža za primerjavo vzorcev sestoji iz dveh identičnih podmrež, ki delijo enake uteži. @@ -828,19 +831,18 @@ Matematično, za dve sliki $x_1$ in $x_2$, podmreži proizvedeta predstavitve $f Razdalja $D$ med tema dvema predstavitvama je določena kot: \begin{equation} - D(f(x_1; \theta), f(x_2; \theta)) = | f(x_1; \theta) - f(x_2; \theta) |_2 + D(f(x_1; \theta), f(x_2; \theta)) = | f(x_1; \theta) - f(x_2; \theta) |_2. \end{equation} -\subsection{Učenje siamske mreže za primerjavo vzorcev} -Da bi siamsko mrežo usposobili za učinkovito primerjavo vzorcev, potrebujemo nabor učnih podatkov, ki vsebuje pare podobnih in različnih slik. +Da bi siamsko mrežo naučili za učinkovito primerjavo vzorcev, potrebujemo nabor učnih podatkov, ki vsebuje pare podobnih in različnih slik. Med učenjem je cilj zmanjšati razdaljo med podobnimi slikami in povečati razdaljo med različnimi slikami. Kriterijska funkcija, običajno uporabljena pri učenju siamskih mrež za primerjavo vzorcev, je kontrastna kriterijska funkcija, definirana kot: \begin{equation} - L(y, D(f(x_1; \theta), f(x_2; \theta))) = y \cdot \frac{1}{2} D^2 + (1-y) \cdot \frac{1}{2} \max(0, m - D)^2 + L(y, D(f(x_1; \theta), f(x_2; \theta))) = y \cdot \frac{1}{2} D^2 + (1-y) \cdot \frac{1}{2} \max(0, m - D)^2, \end{equation} -Kjer $y$ označuje oznako podobnosti (1 za podobne in 0 za različne), $m$ pa je prag, ki določa mejo med podobnimi in različnimi slikami. +kjer $y$ označuje oznako podobnosti (1 za podobne in 0 za različne), $m$ pa je prag, ki določa mejo med podobnimi in različnimi slikami. Na sliki \ref{fig:siamese} je prikazana skica siamske mreže uporabljene za primerjavo podpisov. \begin{figure}[h] @@ -859,7 +861,7 @@ Zaradi globje hierarhične predstavitve slike so sposobne zaznati in primerjati \label{ch2} V svetu raziskovanja je podatkovna množica ključnega pomena za razvoj, testiranje in validacijo modelov. Kljub obstoju številnih zbirk, kot so CVUSA \cite{cvusa}, CVACT \cite{cvact} in University-1652 \cite{university1652}, večina ne zajema vseh realnih situacij, s katerimi se srečuje brezpilotni letalnik. -Konkretno, CVUSA se osredotoča na zgradbe, medtem ko University-1652 predstavlja predvsem univerzitetna okolja. +Konkretno, CVUSA se osredotoča na zgradbe, medtem ko University-1652 predstavlja predvsem univerzitetna okolja. Poleg tega so objekti v sredini slike. Zaradi pomanjkljivosti obstoječih zbirk in ker zbirka UL14 iz \cite{dai2022finding} ni dostopna, smo se soočili z izzivom pridobivanja ustreznih podatkov za analizo. Zbirka vsebuje posnetke s pogledom od zgoraj navzdol in je osredotočena na pogled iz brezpilotnega letalnika. @@ -868,11 +870,11 @@ Za pridobivanje slik iz brezpilotnega letalnika smo uporabili orodje Google Eart Te slike odražajo raznolikost terena, vključno z zgradbami, parki, zelenimi in vodnimi površinami. Dodatno smo uporabili Mapbox API \footnote{Mapbox API: \url{https://www.mapbox.com/api-documentation/}} za pridobitev pripadajočih satelitskih slik. -Skupno naša podatkovna vključuje več kot 11.000 slik. Slike so bile pridobljene s simulacijo letenja in so razvrščene v koherentnem časovnem zaporedju. +Skupno naša podatkovna baza vključuje več kot 11.000 slik. Slike so bile pridobljene s simulacijo letenja in so razvrščene v koherentnem časovnem zaporedju. V članku \cite{dai2022finding, wang2023wamf} so avtorji uporabili podatkovno množico UL14, ki vključuje 6.768 slik za učenje in 2.331 slik za validacijo. Ta zbirka se osredotoča večinoma na slike stavb večjih kitajskih univerz. V nasprotju s tem naša zbirka ponuja širši spekter značilnosti za analizo in bolje odraža realne okoliščine. Cilj izdelave naše zbirke je bil zagotoviti raznolike podatke, ki bi lahko služili kot robustna osnova za testiranje in validacijo naše implementacije WAMF-FPI. -Poleg tega smo želeli, da so slike posnete iz zgornjega pogleda, osredotočene na pogled brezpilotnega letalnika. +Poleg tega je bil namen, da so slike posnete iz zgornjega pogleda, osredotočene na pogled brezpilotnega letalnika. Želimo se prepričati, da je naš pristop robusten in da lahko obravnava različne scenarije, ki jih lahko sreča brezpilotni letalnik v realnem svetu. \section{Slike brezpilotnega letalnika} @@ -896,17 +898,17 @@ V naboru so mesta s tipično evropsko arhitekturo, kombinacijo zelenja in stavb. Mesta, vključena v nabor podatkov, so: \begin{itemize} - \item \textbf{Maribor:} Nadmorska višina: 272m, Višina brezpilotnega letalnika: 150m, Skupaj: 422m nad morsko gladino. - \item \textbf{Trst:} Nadmorska višina: 23m, Višina brezpilotnega letalnika: 150m, Skupaj: 173m nad morsko gladino. - \item \textbf{Zagreb:} Nadmorska višina: 158m, Višina brezpilotnega letalnika: 150m, Skupaj: 308m nad morsko gladino. - \item \textbf{Gradec:} Nadmorska višina: 353m, Višina brezpilotnega letalnika: 150m, Skupaj: 503m nad morsko gladino. - \item \textbf{Celovec:} Nadmorska višina: 446m, Višina brezpilotnega letalnika: 150m, Skupaj: 596m nad morsko gladino. - \item \textbf{Videm:} Nadmorska višina: 113m, Višina brezpilotnega letalnika: 150m, Skupaj: 263m nad morsko gladino. - \item \textbf{Pula:} Nadmorska višina: 17m, Višina brezpilotnega letalnika: 150m, Skupaj: 167m nad morsko gladino. - \item \textbf{Pordenone:} Nadmorska višina: 24m, Višina brezpilotnega letalnika: 150m, Skupaj: 174m nad morsko gladino. - \item \textbf{Szombathely:} Nadmorska višina: 212m, Višina brezpilotnega letalnika: 150m, Skupaj: 362m nad morsko gladino. - \item \textbf{Benetke:} Nadmorska višina: -1m, Višina brezpilotnega letalnika: 150m, Skupaj: 149m nad morsko gladino. - \item \textbf{Ljubljana:} Nadmorska višina: 295m, Višina brezpilotnega letalnika: 150m, Skupaj: 445m nad morsko gladino. + \item \textbf{Maribor:} nadmorska višina: 272~m, višina brezpilotnega letalnika: 150~m, skupaj: 422~m nad morsko gladino. + \item \textbf{Trst:} nadmorska višina: 23~m, višina brezpilotnega letalnika: 150~m, skupaj: 173~m nad morsko gladino. + \item \textbf{Zagreb:} nadmorska višina: 158~m, višina brezpilotnega letalnika: 150~m, skupaj: 308~m nad morsko gladino. + \item \textbf{Gradec:} nadmorska višina: 353~m, višina brezpilotnega letalnika: 150~m, skupaj: 503~m nad morsko gladino. + \item \textbf{Celovec:} nadmorska višina: 446~m, višina brezpilotnega letalnika: 150~m, skupaj: 596~m nad morsko gladino. + \item \textbf{Videm:} nadmorska višina: 113~m, višina brezpilotnega letalnika: 150~m, skupaj: 263~m nad morsko gladino. + \item \textbf{Pula:} nadmorska višina: 17~m, višina brezpilotnega letalnika: 150~m, skupaj: 167~m nad morsko gladino. + \item \textbf{Pordenone:} nadmorska višina: 24~m, višina brezpilotnega letalnika: 150~m, skupaj: 174~m nad morsko gladino. + \item \textbf{Szombathely:} nadmorska višina: 212~m, višina brezpilotnega letalnika: 150~m, skupaj: 362~m nad morsko gladino. + \item \textbf{Benetke:} nadmorska višina: -1~m, višina brezpilotnega letalnika: 150~m, skupaj: 149~m nad morsko gladino. + \item \textbf{Ljubljana:} nadmorska višina: 295~m, višina brezpilotnega letalnika: 150~m, skupaj: 445~m nad morsko gladino. \end{itemize} Na Sliki \ref{fig:region_structures} je prikazana razdelitev zelenih površin in stavb za različna mesta, temelječa na analizi slik, ki smo jih zajeli v našem podatkovnem naboru. @@ -949,35 +951,44 @@ Na slikah \ref{fig:drone_image_example_1} in \ref{fig:drone_image_example_2} so \end{figure} \section{Satelitske slike} -Za vsako sliko posneto z brezpilotnim letalnikom smo poiskali ustrezeno satelitsko zaplato. -Ta korak je zagotovil, da so satelitske slike popolnoma usklajene z slikami posnetimi iz brezpilotnega letalnika v smislu geografske lokacije. +Za vsako sliko posneto z brezpilotnim letalnikom smo poiskali ustrezno satelitsko zaplato. +Ta korak je zagotovil, da so satelitske slike popolnoma usklajene s slikami posnetimi iz brezpilotnega letalnika v smislu geografske lokacije. Ko smo identificirali ustrezno satelitsko zaplato, smo jo prenesli neposredno iz Mapbox API-ja \footnote{Mapbox API: \url{https://www.mapbox.com/api-documentation/}}, vira za visokokakovostne satelitske slike. Da bi zagotovili dodatno globino in kontekst za vsako lokacijo, nismo prenesli samo osrednje zaplate, temveč tudi vse njene sosednje zaplate. Te sosednje zaplate smo nato združili z osrednjo zaplato za ustvarjanje enotne TIFF datoteke. -Za pretvorbo geografskih koordinat (latitudo in longitudo) v zaplatne koordinate (x, y) na določeni ravni povečave z uporabo Mercatorjeve projekcije, lahko izrazimo: +Pretvorbo geografskih koordinat (latitudo in longitudo) v zaplatne koordinate (x, y) na določeni ravni povečave z uporabo Mercatorjeve projekcije, lahko izrazimo: \begin{itemize} \item Pretvorba geografskih koordinat v radiane: \begin{align*} \text{lat}_{\text{rad}} = \text{latitude} \times \frac{\pi}{180}, \\ - \text{lon}_{\text{rad}}= \text{longitude} \times \frac{\pi}{180} + \text{lon}_{\text{rad}}= \text{longitude} \times \frac{\pi}{180}. \end{align*} \item Pretvorba radianov v normalizirane koordinate Mercatorja: \begin{align*} x = \frac{\text{lon}_{\text{rad}}= + \pi}{2\pi}, \\ - y = \frac{\pi - \log(\tan(\frac{\pi}{4} + \frac{\text{lat}_{\text{rad}}}{2}))}{2\pi} + y = \frac{\pi - \log(\tan(\frac{\pi}{4} + \frac{\text{lat}_{\text{rad}}}{2}))}{2\pi}{.} \end{align*} \item Pretvorba normaliziranih koordinat v zaplatne koordinate: \begin{align*} \text{tile}_{\text{x}} = \text{floor}(x \times 2^z), \\ - \text{tile}_{\text{y}} = \text{floor}(y \times 2^z) + \text{tile}_{\text{y}} = \text{floor}(y \times 2^z){.} \end{align*} \end{itemize} Na slikah \ref{fig:sat_examples_grid_1} in \ref{fig:sat_examples_grid_2} so prikazani primeri pripadajočih satelitskih slik za slike zajete z brezpilotnim letalnikom. + +\section{Oznake} +V okviru raziskave smo iz visokoločljivostnih satelitskih TIFF datotek naključno izrezali regije velikosti 400~x~400 pikslov. +Pri vsaki iteraciji je bil izrez drugačen, s poudarkom na vključevanju referenčne točke lokalizacije v izrez. +Ta pristop zagotavlja izpostavljenost modela različnim scenarijem ob ohranjanju natančnosti lokalizacijskih podatkov. +Slike, pridobljene z brezpilotnimi letalniki, so bile obdelane s tehniko \textit{osrednjega izreza} in različnimi stopnjami povečave, združujoč detajlnost teh slik z obsežnostjo satelitskih posnetkov. +Spodaj na slikah \ref{fig:drone_sat_example_19}, \ref{fig:drone_sat_example_21}, \ref{fig:drone_sat_example_37}, \ref{fig:drone_sat_example_55} in \ref{fig:drone_sat_example_82} je prikazanih nekaj primerov takšnih izrezov. +Na vsaki sliki je s pomočjo rdečega kroga označen center izreza, ki predstavlja referenčno točko lokalizacije iz brezpilotnega letalnika, s čimer je omogočeno lažje prepoznavanje osredotočenosti izreza. + \begin{figure}[h] \centering \includegraphics[width=0.9\textwidth]{./img/corresponding_sat_examples_grid1.png} @@ -992,64 +1003,56 @@ Na slikah \ref{fig:sat_examples_grid_1} in \ref{fig:sat_examples_grid_2} so prik \label{fig:sat_examples_grid_2} \end{figure} -\section{Oznake} -V okviru raziskave smo iz visokoločljivostnih satelitskih TIFF datotek naključno izrezali regije velikosti 400x400 pikslov. -Pri vsaki iteraciji je bil izrez drugačen, s poudarkom na vključevanju referenčne točke lokalizacije v izrez. -Ta pristop zagotavlja izpostavljenost modela različnim scenarijem ob ohranjanju natančnosti lokalizacijskih podatkov. -Slike, pridobljene z brezpilotnimi letalniki, so bile obdelane s tehniko \textit{osrednjega izreza} in različnimi stopnjami povečave, združujoč detajlnost teh slik z obsežnostjo satelitskih posnetkov. -Spodaj na slikah \ref{fig:drone_sat_example_19}, \ref{fig:drone_sat_example_21}, \ref{fig:drone_sat_example_37}, \ref{fig:drone_sat_example_55} in \ref{fig:drone_sat_example_82} je prikazanih nekaj primerov takšnih izrezov. -Na vsaki sliki je s pomočjo rdečega kroga označen center izreza, ki predstavlja referenčno točko lokalizacije iz brezpilotnega letalnika, s čimer je omogočeno lažje prepoznavanje osredotočenosti izreza. - \begin{figure}[h] \centering \includegraphics[width=1\textwidth]{./img/drone_sat_example_19.png} -\caption{Leva slika prikazuje Gradec s 2-kratno povečavo slike iz brezpilotnega letalnika, desna pa Trst s 2,5-kratno povečavo slike iz brezpilotnega letalnika.} +\caption{Leva slika prikazuje Gradec z dvakratno povečavo slike iz brezpilotnega letalnika, desna pa Trst z 2,5-kratno povečavo slike iz brezpilotnega letalnika.} \label{fig:drone_sat_example_19} \end{figure} \begin{figure}[h] \centering \includegraphics[width=1\textwidth]{./img/drone_sat_example_37.png} -\caption{Leva slika prikazuje mesto Szombathely s 1,5-kratno povečavo slike iz brezpilotnega letalnika, desna pa z 2-kratno povečavo slike iz brezpilotnega letalnika.} +\caption{Leva slika prikazuje mesto Szombathely z 1,5-kratno povečavo slike iz brezpilotnega letalnika, desna pa z dvakratno povečavo slike iz brezpilotnega letalnika.} \label{fig:drone_sat_example_37} \end{figure} \begin{figure}[h] \centering \includegraphics[width=1\textwidth]{./img/drone_sat_example_21.png} -\caption{Leva slika prikazuje Zagreb s 1,5-kratno povečavo slike iz brezpilotnega letalnika, desna pa mesto Szombathely s 2,5-kratno povečavo slike iz brezpilotnega letalnika.} +\caption{Leva slika prikazuje Zagreb z 1,5-kratno povečavo slike iz brezpilotnega letalnika, desna pa mesto Szombathely z 2,5-kratno povečavo slike iz brezpilotnega letalnika.} \label{fig:drone_sat_example_21} \end{figure} \begin{figure}[h] \centering \includegraphics[width=1\textwidth]{./img/drone_sat_example_55.png} -\caption{Leva slika prikazuje Benetke s 3-kratno povečavo slike iz brezpilotnega letalnika, desna pa mesto Pula s 2-kratno povečavo slike iz brezpilotnega letalnika.} +\caption{Leva slika prikazuje Benetke s trikratno povečavo slike iz brezpilotnega letalnika, desna pa mesto Pula z dvakratno povečavo slike iz brezpilotnega letalnika.} \label{fig:drone_sat_example_55} \end{figure} \begin{figure}[h] \centering \includegraphics[width=1\textwidth]{./img/drone_sat_example_82.png} -\caption{Leva slika prikazuje Trst s 3,5-kratno povečavo slike iz brezpilotnega letalnika, desna pa mesto Pula z 1-kratno povečavo slike iz brezpilotnega letalnika.} +\caption{Leva slika prikazuje Trst s 3,5-kratno povečavo slike iz brezpilotnega letalnika, desna pa mesto Pula z enkratno povečavo slike iz brezpilotnega letalnika.} \label{fig:drone_sat_example_82} \end{figure} -\chapter{Zasnova eksperimenta} +\chapter{Implementacija} \label{ch3} -V tem poglavju se bomo osredotočili na zasnovo eksperimenta, s posebnim poudarkom na implementaciji modela WAMF-FPI. -Poleg tega bomo obravnavali tudi metriko RDS, ki je ključna za ocenjevanje naših rezultatov. V naslednjem podpoglavju bomo podrobneje predstavili postopek implementacije. +V tem poglavju se bomo osredotočili na implementacijo modela WAMF-FPI, RDS metriko ter samo učenje modela. +V naslednjem podpoglavju bomo podrobneje predstavili postopek implementacije. -\section{Implementacija} +\section{Implementacija metode WAMF-FPI} Sledenje objektov v okviru računalniškega vida običajno temelji na izračunu podobnosti med referenčno in iskalno podobo v trenutnem okviru. Medtem ko temeljna metoda za iskanje točk znotraj slike izhaja iz metodologije sledenja objektov, je prva v primerjavi z drugo bolj zapletena. To je posledica različnih perspektiv med predlogo (sliko posneto z brezpilotnim letalnikom) in iskalno sliko (satelitsko sliko), ki povzročajo veliko variacijo. Metoda iskanja točk uporablja satelitsko sliko kot referenčno in sliko iz brezpilotnega letalnika kot poizvedbo. -Obe sliki – posneto z brezpilotnim letalnikom in satelitsko sliko relevantnega območja – se nato prenesejo v end-to-end mrežo. +Obe sliki -- posneti z brezpilotnim letalnikom in satelitsko sliko relevantnega območja -- se nato preneseta v end-to-end mrežo. Po obdelavi je rezultat toplotna karta, kjer točka z najvišjo vrednostjo predstavlja lokacijo brezpilotnega letalnika, kot jo predvideva model. Lokacijo nato preslikamo na satelitsko sliko, pri čemer položaj brezpilotnega letalnika določimo na podlagi geografske širine in dolžine, ki jih vsebuje satelitska slika. V \cite{dai2022finding} avtorji kot modul za izluščenje značilnosti uporabljajo dva Deit-S \cite{touvron2020training} brez deljenih uteži za vertikalne poglede slike brezpilotnega letalnika in satelitske slike. @@ -1059,7 +1062,7 @@ Na sliki \ref{fig:fpi_model} je prikazana skica modela FPI \cite{dai2022finding} \begin{figure}[h] \centering \includegraphics[width=\linewidth]{./img/fpi_model.png} -\caption{Skica modela FPI, iz članka \cite{dai2022finding}} +\caption{Skica modela FPI, iz članka \cite{dai2022finding}.} \label{fig:fpi_model} \end{figure} @@ -1096,17 +1099,17 @@ Pravzaprav uporaba piramidne strukture zagotavlja osnovo za kasnejšo integracij Poleg tega mreža s piramidno strukturo lahko zmanjša obseg potrebnih izračunov in s tem izboljša hitrost procesiranja, kar je ključno za učinkovito uporabo metode v praksi. Po obdelavi slike s pomočjo PCPVT-S se podobnost neposredno izračuna na zadnjih značilnostnih mapah. -Kljub temu je končni izhod stisnjen samo za faktor štiri v primerjavi z vhodom, kar je potem s bikubično interpolacijo povečano nazaj na velikost vhodne satelitske slike. +Kljub temu je končni izhod stisnjen samo za faktor štiri v primerjavi z vhodom, kar je potem z bikubično interpolacijo povečano nazaj na velikost vhodne satelitske slike. Pristranskost, ki je posledica nizke ločljivosti značilnostne mape, je bila odstranjena že na samem začetku. Ker značilnostna mapa z visoko ločljivostjo vsebuje več prostorskih informacij, je bila združena z globoko značilnostno mapo, bogato s semantičnimi informacijami, preko lateralne povezovalne strukture. -Prva faza obdelave v metodi WAMF-FPI je uporaba konvolucijskega jedra velikosti ena, ki prilagodi kanalsko dimenzijo tri-stopnjske značilnostne mape, pridobljene s pomočjo PCPVT-S. +Prva faza obdelave v metodi WAMF-FPI je uporaba konvolucijskega jedra velikosti ena, ki prilagodi kanalsko dimenzijo tri-stopenjske značilnostne mape, pridobljene s pomočjo PCPVT-S. Število izhodnih kanalov je bilo nastavljeno na 64, kar zagotavlja kompaktno in učinkovito zastopanje značilnosti. Po tej fazi sledi upsampling operacija na značilnostnih mapah zadnjih dveh stopenj, ki poveča njihovo ločljivost in s tem omogoča bolj precizno lokalizacijo. Te mape se nato kombinirajo z značilnostnimi mapami istega merila iz osnovnega modela. -Končno, značilnosti se dodatno izluščene s pomočjo konvolucijskega jedra velikosti 3, kar modelu omogoča izluščenje bolj kompleksnih značilnosti iz združenih map. +Končno, značilnosti so dodatno izluščene s pomočjo konvolucijskega jedra velikosti 3, kar modelu omogoča izluščenje bolj kompleksnih značilnosti iz združenih map. Rezultat je združena značilnostna mapa, ki združuje plitve (prostorske) in globoke (semantične) informacije. Ta bogata kombinacija modelu omogoča učinkovito prepoznavanje in lokalizacijo objektov na vhodnih slikah. @@ -1125,7 +1128,7 @@ Za UAV značilnostne mape: U2_{\text{UAV}} = \text{Povečava}(U1_{\text{UAV}}) + \text{Conv2}{\text{UAV}}(s2{\text{UAV}}) \end{equation} \begin{equation} - U3_{\text{UAV}} = \text{Povečava}(U2_{\text{UAV}}) + \text{Conv3}{\text{UAV}}(s1{\text{UAV}}) + U3_{\text{UAV}} = \text{Povečava}(U2_{\text{UAV}}) + \text{Conv3}{\text{UAV}}(s1{\text{UAV}}). \end{equation} Za SAT značilnostne mape: @@ -1136,10 +1139,10 @@ Za SAT značilnostne mape: U2_{\text{SAT}} = \text{Povečava}(U1_{\text{SAT}}) + \text{Conv2}{\text{SAT}}(s2{\text{SAT}}) \end{equation} \begin{equation} - U3_{\text{SAT}} = \text{Povečava}(U2_{\text{SAT}}) + \text{Conv3}{\text{SAT}}(s1{\text{SAT}}) + U3_{\text{SAT}} = \text{Povečava}(U2_{\text{SAT}}) + \text{Conv3}{\text{SAT}}(s1{\text{SAT}}), \end{equation} -Kjer je $\text{Povečava}$ funkcija, ki poveča prostorsko resolucijo značilnostne mape z uporabo bikubične interpolacije. +kjer je $\text{Povečava}$ funkcija, ki poveča prostorsko resolucijo značilnostne mape z uporabo bikubične interpolacije. \begin{equation} A1 = \text{corr}(U1_{\text{UAV}}, U3_{\text{SAT}}) @@ -1148,10 +1151,10 @@ Kjer je $\text{Povečava}$ funkcija, ki poveča prostorsko resolucijo značilnos A2 = \text{corr}(U2_{\text{UAV}}, U3_{\text{SAT}}) \end{equation} \begin{equation} - A3 = \text{corr}(U3_{\text{UAV}}, U3_{\text{SAT}}) + A3 = \text{corr}(U3_{\text{UAV}}, U3_{\text{SAT}}), \end{equation} -Kjer je corr funkcija za izračun korelacije med dvema značilnostnima mapama. +kjer je corr funkcija za izračun korelacije med dvema značilnostnima mapama. Korelacija v kontekstu obdelave slik je postopek izračuna podobnosti med dvema slikama ali značilnostnima mapama. V osnovi ena značilnostna mapa (poimenovana poizvedba) drsi čez drugo značilnostno mapo (poimenovana iskalna regija) in izračuna podobnost med njima na vsaki lokaciji. @@ -1160,21 +1163,21 @@ Rezultat tega postopka je nova značilnostna mapa, imenovana korelacijska mapa, Matematično je korelacija med dvema funkcijama $f$ in $g$ definirana kot: \begin{center} \begin{equation} - (f \star g)(t) = \int_{-\infty}^{\infty} f(\tau) g(t+\tau) d\tau + (f \star g)(t) = \int_{-\infty}^{\infty} f(\tau) g(t+\tau) d\tau. \end{equation} \end{center} V kontekstu diskretnih signalov, kot so slike ali značilnostne mape, je korelacija definirana kot: \begin{center} \begin{equation} - (f \star g)[n] = \sum_{m=-\infty}^{\infty} f[m] g[n+m] + (f \star g)[n] = \sum_{m=-\infty}^{\infty} f[m] g[n+m]. \end{equation} \end{center} Nazadnje se izvede uteženo združevanje teh treh koreliranih značilnostnih map s pomočjo naučljivih uteži: \begin{center} \begin{equation} - \text{združena\_mapa} = w_1 \cdot A1 + w_2 \cdot A2 + w_3 \cdot A3 + \text{združena\_mapa} = w_1 \cdot A1 + w_2 \cdot A2 + w_3 \cdot A3. \end{equation} \end{center} @@ -1190,10 +1193,10 @@ Da bi se izognili težavam zaradi spremembe merila, RDS izračuna relativno razd Enačba za izračun RDS je naslednja: \begin{equation} - RDS = e^{-k \times \frac{\sqrt{\left(\frac{dx}{w}\right)^2+\left(\frac{dy}{h}\right)^2}}{2}} + RDS = e^{-k \times \frac{\sqrt{\left(\frac{dx}{w}\right)^2+\left(\frac{dy}{h}\right)^2}}{2}}, \end{equation} -Kjer so: +kjer so: \begin{itemize} \item \( w \) širina v pikslih satelitske slike, \item \( h \) višina v pikslih satelitske slike, @@ -1204,46 +1207,48 @@ Kjer so: Za lažje razumevanje delovanja RDS metrike smo dodali dodatek \ref{appendix:RDS} k diplomskemu delu, ki vsebuje tri primere izračuna metrike. - -\chapter{Rezultati} -\label{ch4} - -V tem poglavju so podrobno predstavljeni rezultati, doseženi v različnih fazah implementacije in optimizacije modela WAMF-FPI. -Med optimizacijo modela smo se posvetili iskanju optimalne kriterijske funkcije. -Da bi bolje razumeli, katera funkcija bi lahko prinesla najboljše rezultate v našem primeru, smo izvedli serijo eksperimentov z različnimi funkcijami ter jih evalvirali glede na njihovo učinkovitost in zanesljivost. -Kot naslednji korak smo preučili stratificirano vzorčenje, tehniko, ki bi lahko pripomogla k izboljšanju natančnosti in robustnosti modela z zagotavljanjem bolj uravnoteženega učnega nabora. -Pregledali smo tudi vpliv Hanningovega okna ter analizirali, kako različne velikosti tega okna vplivajo na končne rezultate modela. - -V zaključni fazi naših eksperimentov smo se osredotočili na regularizacijo, predvsem na tehniko izpuščanja nevronov. -Zaradi kompleksnosti modelov globokega učenja smo želeli razumeti, kako bi regularizacija lahko pomagala preprečiti prekomerno prilagajanje ter izboljšala splošno učinkovitost modela. -Vsako od teh področij je v nadaljevanju podrobno obravnavano, pri čemer so podane analize, interpretacije in ključne ugotovitve, ki smo jih pridobili v tem procesu. - -\section{Učenje modela} +\subsection{Učenje modela} Model smo učili na računalniškem sistemu s procesorjem Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz z 12 jedri ter grafično kartico NVIDIA GeForce RTX 3060 z 12 GB pomnilnika. Razvoj je temeljil na platformi Ubuntu z uporabo Python \footnote{Programski jezik Python: \url{https://www.python.org/}} knjižnice PyTorch \footnote{Knjižnica Pytorch: \url{https://pytorch.org/}}. V času učenja našega modela ni prišlo do povečane energetske porabe, saj je bil računalnik neprestano napajan iz lokalne sončne elektrarne. To pomeni, da je bil celoten postopek učenja izveden na okolju prijazen način, brez dodatnega obremenjevanja električnega omrežja ali uporabe fosilnih goriv. -Za dosego optimalnih rezultatov smo uporabili specifične hiperparametre in nastavitve: +Za dosego optimalnih rezultatov smo uporabili naslednje specifične hiperparametre in nastavitve: \begin{description} - \item[Hitrost učenja:] Uporabljena sta bila dva različna parametra: $lr\_fusion = 0.0004$ za združevanje in $lr\_backbone = 0.0001$ za osnovno arhitekturo. - \item[Prilagajanje hitrosti učenja:] $gamma = 0.2$ z mejniki na epohah 9, 13 in 15. - \item[Delovni procesi:] Skupno 24 hkratnih delovnih procesov (\texttt{num\_workers = 24}). - \item[Epoh:] Model je bil učen skozi 24 epoh. + \item[Hitrost učenja:] uporabljena sta bila dva različna parametra: $lr\_fusion = 0.0004$ za združevanje in $lr\_backbone = 0.0001$ za osnovno arhitekturo. + \item[Prilagajanje hitrosti učenja:] $gamma = 0.2$ z mejniki na epohah 2, 3 in 5. + \item[Delovni procesi:] skupno 24 hkratnih delovnih procesov (\texttt{num\_workers = 24}). + \item[Epoh:] Model je bil učen skozi 10 epoh. \item[Velikost serije:] \texttt{batch\_size = 16}. - \item[Mešanje podatkov:] Podatki so bili premešani pred vsako epoho. - \item[Funkcija izgube:] Uporabljena je bila \texttt{hanning} funkcija. - \item[Vizualizacija:] Vključena za spremljanje napredka učenja. + \item[Mešanje podatkov:] podatki so bili premešani pred vsako epoho. + \item[Funkcija izgube:] uporabljena je bila \texttt{hanning} funkcija. + \item[Vizualizacija:] vključena za spremljanje napredka učenja. \end{description} -Za vsako iteracijo učenja smo iz vsake satelitske TIFF datoteke naključno izrezali regijo velikosti 400x400 pikslov. -Ključnega pomena je bilo, da se je točka lokalizacije vedno nahajala nekje znotraj te izrezane regije. -Ta metoda nam je zagotovila, da je bil model izpostavljen širokemu naboru scenarijev in kontekstov, hkrati pa smo ohranili natančnost in relevantnost lokalizacijskih podatkov. -S tem pristopom smo uspešno sestavili nabor podatkov, ki združuje najboljše iz obeh svetov: detajlnost slik posnetih z brezpilotnim letalnikom in širino satelitskih slik, kar omogoča poglobljeno analizo in učinkovito učenje. +Za vsako iteracijo učenja smo iz vsake satelitske TIFF datoteke naključno izrezali regijo velikosti 400 x 400 pikslov. +Ključnega pomena je bilo, da se je točka lokalizacije vedno nahajala nekje znotraj te izrezane regije. +Med postopkom učenja smo izvajali osrednji izrez (ang. center crop) velikosti 128 x 128 pikslov iz slike z ločljivostjo 1920 x 1080. +Ta pristop nam je omogočil simulacijo različnih višin brez potrebe po generiranju podatkovnega nabora z različnimi višinami. +Z uporabo povečav s faktorji [1.0, 1.5, 2.0, 2.5, 3.0, 3.5] in nadaljnjim osrednjim izrezom smo ustvarili umetno elevacijo. +Ta metoda nam je zagotovila, da je bil model izpostavljen širokemu naboru scenarijev in kontekstov, +hkrati pa smo ohranili natančnost in relevantnost lokalizacijskih podatkov. +S tem pristopom smo uspešno sestavili nabor podatkov, ki združuje najboljše iz obeh svetov: +detajlnost slik posnetih z brezpilotnim letalnikom in širino satelitskih slik, kar omogoča poglobljeno analizo in učinkovito učenje. -\section{Izbira kriterjiske funkcije} +\chapter{Eksperimentalna evalvacija} +\label{ch4} + +V tem poglavju so podrobno predstavljeni rezultati, doseženi v različnih fazah eksperimentalne evalvacije modela WAMF-FPI. +Začeli smo z iskanjem optimalne kriterijske funkcije, da bi bolje razumeli, katera funkcija bi lahko prinesla najboljše rezultate. +Nadaljevali smo s preučevanjem stratificiranega vzorčenja, tehnike, ki bi lahko pripomogla k izboljšanju natančnosti in robustnosti modela. +Pregledali smo tudi vpliv Hanningovega okna in analizirali, kako različne velikosti tega okna vplivajo na končne rezultate. +V zaključni fazi naših eksperimentov smo se osredotočili na regularizacijo, predvsem na tehniko izpuščanja nevronov, ter raziskali možnosti in prednosti uporabe prednaučene mreže. +Vsako od teh področij je v nadaljevanju podrobno obravnavano, pri čemer so podane analize, interpretacije in ključne ugotovitve. + + +\section{Izbira kriterijske funkcije} Zanimalo nas je, kako se bo model obnesel pri uporabi različnih kriterijskih funkcij. Predvidevamo, da bo Hanningovo okno kot kriterijska funkcija prineslo najboljše rezultate, saj jih je tudi v \cite{wang2023wamf}, medtem ko pričakujemo, da bo Krizno utežena srednja kvadratna napaka prav tako pokazala dobre rezultate @@ -1257,15 +1262,15 @@ Namesto enakega pomena vseh pozitivnih vzorcev, kriterijska funkcija Hanning dod \begin{figure}[h] \centering \includegraphics[width=0.35\textwidth]{./img/gt_heatmap_with_label.jpg} -\caption{Primer vzorca, sredisce je tocka lokacije vzorca.} +\caption{Primer vzorca, središče je točka lokacije vzorca.} \label{fig:gt_heatmap_with_label} \end{figure} -To je zato, ker je pomembnost središčnega položaja veliko večja kot pomembnost robovih položajev, kar v kontekstu satelitskih slik logično smiselno. +To je zato, ker je pomembnost središčnega položaja veliko večja kot pomembnost robovnih položajev, kar je v kontekstu satelitskih slik logično in smiselno. Za normalizacijo teh pozitivnih uteži se uporablja Hanningovo okno, za normalizacijo negativnih uteži pa \( 1 / \# \text{negativnih vzorcev} \). Uteži so dodeljene tako, da je vsota uteži pozitivnih in negativnih vzorcev enaka 1. -Toda ker je število negativnih vzorcev običajno večje od števila pozitivnih vzorcev, postane utež negativnih vzorcev manjša. -Da bi to popravili, se uvede hiperparameter, imenovan Negativna utež (NG), ki prilagodi utež negativnih vzorcev. +A ker je število negativnih vzorcev običajno večje od števila pozitivnih vzorcev, postane utež negativnih vzorcev manjša. +Da bi slednje popravili, se uvede hiperparameter, imenovan Negativna utež (NG), ki prilagodi utež negativnih vzorcev. Hanningova funkcija: \begin{equation} @@ -1276,30 +1281,30 @@ Hanningova funkcija: \end{cases} \end{equation} -Utezi primerov: +Uteži primerov: \begin{itemize} - \item Utez negativnih vzorcev: $$w_{pos} = NG / (NN (NW + 1)) $$ - \item Utez pozitivnih vzorcev: $$w_{neg} = HN(n) / (NW + 1) $$ + \item Utež negativnih vzorcev: $$w_{pos} = NG / (NN (NW + 1)). $$ + \item Utež pozitivnih vzorcev: $$w_{neg} = HN(n) / (NW + 1), $$ \end{itemize} -Kjer je: +kjer je: \begin{itemize} \item \textbf{NG} je Negativna utež \item \textbf{NN} je število vseh uzorcev \item \textbf{NW} je normalizacijski faktor - \item \textbf{HN(n)} je vrednost Hanningove funkcije na lokaciji n + \item \textbf{HN(n)} je vrednost Hanningove funkcije na lokaciji. \end{itemize} \begin{figure}[h] \centering \includegraphics[width=0.45\textwidth]{./img/3d_hanning_kernel.png} -\caption{Normalizirano Hanningovo jedro} +\caption{Normalizirano Hanningovo jedro.} \label{fig:hann_kernel} \end{figure} \subsection{Gaussovo utežena srednja kvadratna napaka} -Gaussovo utežena srednja kvadratna napaka (ang. Gaussian Weighted Mean Squared Error - GWMSE) je spremenjena funkcija izgube, namenjena izboljšanju modelov, ki obravnavajo podatke, kot so satelitske slike. Glavna značilnost GWMSE je dodeljevanje uteži vzorcem na zelo podoben način kot pri Hanningovi funkciji izgube. +Gaussovo utežena srednja kvadratna napaka (ang. Gaussian Weighted Mean Squared Error -- GWMSE) je spremenjena funkcija izgube, namenjena izboljšanju modelov, ki obravnavajo podatke, kot so satelitske slike. Glavna značilnost GWMSE je dodeljevanje uteži vzorcem na zelo podoben način kot pri Hanningovi funkciji izgube. Namesto enakega pomena vseh pozitivnih vzorcev, GWMSE različnim vzorcem dodeljuje različne uteži glede na njihovo lokacijo. Za normalizacijo teh uteži se uporablja Gaussova funkcija. @@ -1309,7 +1314,7 @@ Gaussova funkcija: \begin{cases} \exp\left(-\frac{(n - \mu)^2}{2\sigma^2}\right) & \text{za } 0 \leq n \leq M - 1 \\ 0 & \text{sicer} -\end{cases} +\end{cases}. \end{equation} \begin{figure}[h] @@ -1321,7 +1326,7 @@ Gaussova funkcija: \subsection{Hanningovo utežena srednja kvadratna napaka} -Hanningovo utežena srednja kvadratna napaka (ang. Hanning Weighted Mean Squared Error - HWMSE) je spremenjena funkcija izgube, namenjena izboljšanju modelov, ki obravnavajo podatke, kot so satelitske slike. +Hanningovo utežena srednja kvadratna napaka (ang. Hanning Weighted Mean Squared Error -- HWMSE) je spremenjena funkcija izgube, namenjena izboljšanju modelov, ki obravnavajo podatke, kot so satelitske slike. Glavna značilnost HWMSE je dodeljevanje uteži vzorcem na zelo podoben način kot pri Gaussovi funkciji izgube. Namesto enakega pomena vseh pozitivnih vzorcev, HWMSE različnim vzorcem dodeljuje različne uteži glede na njihovo lokacijo. Za normalizacijo teh uteži se uporablja Hanningovo okno. @@ -1338,12 +1343,12 @@ Hanningova funkcija je podana kot: \subsection{Križno utežena srednja kvadratna napaka} -Funkcija izgube križno utežena srednja kvadratna napaka (ang. Cross-Weighted Mean Squared Error - CWMSE) je različica standardne srednje kvadratne napake (Mean Squared Error - MSE), ki vključuje uteževanje dveh različnih skupin vzorcev: tistih, katerih resnična vrednost je večja od 0 (t.i. "resničnih" vzorcev) in tistih, katerih resnična vrednost je manjša ali enaka 0 (t.i. "ne-resničnih" vzorcev). -Končna funkcija izgube se izračuna kot utežena kombinacija srednjih kvadratnih napak za "resnične" in "ne-resnične" vzorce, pri čemer se uteži vzorcev različnih skupin prekrižajo. +Funkcija izgube križno utežena srednja kvadratna napaka (ang. Cross-Weighted Mean Squared Error -- CWMSE) je različica standardne srednje kvadratne napake (Mean Squared Error -- MSE), ki vključuje uteževanje dveh različnih skupin vzorcev: tistih, katerih resnična vrednost je večja od 0 (t. i. "resničnih" vzorcev) in tistih, katerih resnična vrednost je manjša ali enaka 0 (t. i. "neresničnih" vzorcev). +Končna funkcija izgube se izračuna kot utežena kombinacija srednjih kvadratnih napak za "resnične" in "neresnične" vzorce, pri čemer se uteži vzorcev različnih skupin prekrižajo. Ta pristop se formalno izraža z naslednjo enačbo: \begin{equation} -\text{loss} = \frac{\text{true\_weight} \cdot N_{\text{true}} \cdot \text{MSE}_{\text{false}} + \text{false\_weight} \cdot N_{\text{false}} \cdot \text{MSE}_{\text{true}}}{N_{\text{all}}} +\text{loss} = \frac{\text{true\_weight} \cdot N_{\text{true}} \cdot \text{MSE}_{\text{false}} + \text{false\_weight} \cdot N_{\text{false}} \cdot \text{MSE}_{\text{true}}}{N_{\text{all}}}. \end{equation} \begin{itemize} @@ -1375,10 +1380,28 @@ HWMSE & 4.04e-06 & 0.061 & 0.059 & 232.55\\ CWMSE & 0.007 & 0.07 & 0.06 & 242.70\\ \hline \end{tabular} -\caption{Rezultati ob uporabi razlicnih kriterijskih funkij. Kjer je $\overline{\Delta_m}$ povprečna napaka v metrih.} +\caption{Rezultati ob uporabi različnih kriterijskih funkcij, kjer je $\overline{\Delta_m}$ povprečna napaka v metrih.} \label{tab:metode} \end{table} +V tabeli \ref{tab:metode} prikazujemo napako v odstotkih za različne kriterijske funkcije glede na razdaljo. Iz tabele je razvidno, kolikšen delež primerov ima napako manjšo od določene razdalje. + +\begin{table}[ht] +\centering +\begin{tabular}{|c|c|c|c|c|} +\hline +Kriterijska funkcija & $<$ 10m [\%] & $<$ 20m [\%] & $<$ 50m [\%] & $<$ 100m [\%] \\ +\hline +HANN & 65.22 & 71.66 & 75.87 & 81.45 \\ +CWMSE & 0.05 & 0.22 & 1.93 & 8.59 \\ +MSE & 0.10 & 0.37 & 1.96 & 8.08 \\ +MSE & 0.00 & 0.10 & 1.35 & 6.71 \\ +\hline +\end{tabular} +\caption{Rezultati ob uporabi različnih kriterijskih funkcij, kjer je prikazan odstotek primerov z napako manjšo od določene razdalje.} +\label{tab:metode_m} +\end{table} + \subsection{Analiza rezultatov} @@ -1396,24 +1419,24 @@ Na vsaki sliki je z rdečim krogcem označena dejanska lokacija (ang. ground tru \begin{figure}[H] \centering \includegraphics[width=\textwidth]{./img/drone_net_example_0.png} -\caption{Leva slika prikazuje stanovanjsko hišo v stanovanjskem naselju z napako 6.93m in RDS vrednostjo 0.90. -Na desni vidimo parkirišče z monotono okolico. Napaka je 3.77m, RDS pa 0.94.} +\caption{Leva slika prikazuje stanovanjsko hišo v stanovanjskem naselju z napako 6.93 m in RDS vrednostjo 0.90. +Na desni vidimo parkirišče z monotono okolico. Napaka je 3.77 m, RDS pa 0.94.} \label{fig:drone_net_example_0} \end{figure} \begin{figure}[H] \centering \includegraphics[width=\textwidth]{./img/drone_net_example_1.png} -\caption{Leva slika prikazuje izsek avtoceste z napako 6.55m in RDS vrednostjo 0.91. -Desna slika okolico stanovanjske hiše v naselju z napako 5.73m in RDS vrednostjo 0.90.} +\caption{Leva slika prikazuje izsek avtoceste z napako 6.55 m in RDS vrednostjo 0.91. +Desna slika okolico stanovanjske hiše v naselju z napako 5.73 m in RDS vrednostjo 0.90.} \label{fig:drone_net_example_1} \end{figure} \begin{figure}[H] \centering \includegraphics[width=\textwidth]{./img/drone_net_example_2.png} -\caption{Na levi je industrijska stavba v industrijski coni z napako 3.99m in RDS vrednostjo 0.95. -Desna slika pa prikazuje travnik ob stanovanjskih hišah v naselju z napako 2.07m in RDS vrednostjo 0.97.} +\caption{Na levi je industrijska stavba v industrijski coni z napako 3.99 m in RDS vrednostjo 0.95. +Desna slika pa prikazuje travnik ob stanovanjskih hišah v naselju z napako 2.07 m in RDS vrednostjo 0.97.} \label{fig:drone_net_example_2} \end{figure} @@ -1421,7 +1444,7 @@ Desna slika pa prikazuje travnik ob stanovanjskih hišah v naselju z napako 2.07 \begin{figure}[H] \centering \includegraphics[width=\textwidth]{./img/drone_net_example_3.png} -\caption{Obe sliki prikazujeta travnike in drevesa. Napaka na levi sliki je 50.74m z RDS vrednostjo 0.31, na desni pa 30.16m z RDS vrednostjo 0.42.} +\caption{Obe sliki prikazujeta travnike in drevesa. Napaka na levi sliki je 50.74 m z RDS vrednostjo 0.31, na desni pa 30.16 m z RDS vrednostjo 0.42.} \label{fig:drone_net_example_3} \end{figure} @@ -1429,15 +1452,15 @@ Desna slika pa prikazuje travnik ob stanovanjskih hišah v naselju z napako 2.07 \centering \includegraphics[width=\textwidth]{./img/drone_net_example_4.png} \caption{Leva slika prikazuje stanovanjsko hišo, kjer satelitsko sliko prekriva oblak, otežujoč izvleček značilnosti. -Napaka je 54.24m in RDS je 0.30. Desna slika prikazuje industrijsko stavbo v monotoni industrijski coni z napako 150.47m in RDS vrednostjo 0.10.} +Napaka je 54.24 m in RDS je 0.30. Desna slika prikazuje industrijsko stavbo v monotoni industrijski coni z napako 150.47 m in RDS vrednostjo 0.10.} \label{fig:drone_net_example_4} \end{figure} \begin{figure}[H] \centering \includegraphics[width=\textwidth]{./img/drone_net_example_5.png} -\caption{Leva slika prikazuje gradbšče prisotno na sliki iz brezpilotnega letalnika, odsotno na satelitski sliki z napako 169.43m in RDS vrednostjo 0.09. -Desna slika pa polje v monotoni okolici z napako 155.47m in RDS vrednostjo 0.10.} +\caption{Leva slika prikazuje gradbišče prisotno na sliki iz brezpilotnega letalnika, odsotno na satelitski sliki z napako 169.43 m in RDS vrednostjo 0.09. +Desna slika pa polje v monotoni okolici z napako 155.47 m in RDS vrednostjo 0.10.} \label{fig:drone_net_example_5} \end{figure} @@ -1461,11 +1484,25 @@ Originalno učenje & 8.49 & 0.893 & 0.709 & 43.42 \\ Učenje s strat. vzorčenjem & 3.17 & 0.750 & 0.731 & 17.89 \\ \hline \end{tabular} -\caption{Rezultati ob uporabi stratificiranega vzorčenja. Kjer je $\overline{\Delta_m}$ povprečna napaka v metrih.} +\caption{Rezultati ob uporabi stratificiranega vzorčenja, kjer je $\overline{\Delta_m}$ povprečna napaka v metrih.} \label{tab:stratified} \end{table} -Iz rezultatov \ref{tab:stratified} je razvidno, da stratificirano vzorčenje pozitivno vpliva na natančnost modela. +\begin{table}[ht] +\centering +\begin{tabular}{|c|c|c|c|c|} +\hline +Kriterijska funkcija & $<$ 10m [\%] & $<$ 20m [\%] & $<$ 50m [\%] & $<$ 100m [\%] \\ +\hline +Originalno učenje & 65.22 & 71.66 & 75.87 & 81.45 \\ +Učenje s strat. vzorčenjem & 71.11 & 81.18 & 87.97 & 95.35 \\ +\hline +\end{tabular} +\caption{Rezultati ob uporabi stratificiranega vzorčenja, kjer je prikazan odstotek primerov z napako manjšo od določene razdalje.} +\label{tab:stratified_m} +\end{table} + +Iz rezultatov \ref{tab:stratified} in \ref{tab:stratified_m} je razvidno, da stratificirano vzorčenje pozitivno vpliva na natančnost modela. Model, naučen s to metodo, je dosegel rahlo višjo uspešnost na validacijski množici in boljšo generalizacijo. Kljub temu je treba upoštevati omejitve stratificiranega vzorčenja, kot so omejena generalizacija in težave pri podatkih, ki se močno razlikujejo od originalne distribucije. @@ -1519,20 +1556,20 @@ V svetu strojnega učenja je regularizacija ključna tehnika, ki se uporablja za Prekomerno prilagajanje se pojavi, ko model postane preveč specifičen za učni nabor podatkov, kar pomeni, da se "preveč nauči" podrobnosti in šuma v učnih podatkih, kar vodi v slabo zmogljivost na novih, nevidenih podatkih. Med različnimi tehnikami regularizacije je "izpuščanje nevronov" (ang. dropout) ena izmed najbolj priljubljenih in učinkovitih metod za nevronske mreže. -Koncept izpuščanja nevronov je preprost, a močan: med učenjem se določen odstotek nevronov v mreži naključno "izklopi" ali izpusti. To pomeni, da se med posameznim prehodom naprej določeni nevroni (in njihove povezave) začasno odstranijo iz mreže. +Koncept izpuščanja nevronov je preprost, a močan: med učenjem se določen odstotek nevronov v mreži naključno "izklopi" ali izpusti. To pomeni, da se med posameznim prehodom vnaprej določeni nevroni (in njihove povezave) začasno odstranijo iz mreže. V modelu smo uporabili izpuščanje nevronov na več ključnih mestih: \begin{enumerate} \item \textbf{v modelu Twins}: - Izpuščanje nevronov je bilo uporabljeno za regulacijo različnih komponent modela, vključno z deli, kot so \texttt{attn\_drop}, \texttt{proj\_drop}, \texttt{head\_drop}, \texttt{mlp\_drop1}, \texttt{mlp\_drop2} in \texttt{pos\_drops}. + izpuščanje nevronov je bilo uporabljeno za regulacijo različnih komponent modela, vključno z deli, kot so \texttt{attn\_drop}, \texttt{proj\_drop}, \texttt{head\_drop}, \texttt{mlp\_drop1}, \texttt{mlp\_drop2} in \texttt{pos\_drops}. Vsaka od teh komponent ima svojo specifično vlogo v arhitekturi modela. Z dodajanjem izpuščanja nevronov na te komponente smo dodali dodatno raven regularizacije, ki pomaga preprečiti prekomerno prilagajanje. - \item \textbf{v modulu za Združevanje Značilnosti}: - Po vsaki konvolucijski operaciji v fuzijskem delu modela smo dodali izpuščanje nevronov. + \item \textbf{v modulu za Združevanje značilnosti}: + po vsaki konvolucijski operaciji v fuzijskem delu modela smo dodali izpuščanje nevronov. Konvolucijske plasti lahko hitro postanejo kompleksne in se prekomerno prilagodijo podatkom, zlasti ko delujejo na visokodimenzionalnih značilnostih. - Z dodajanjem izpuščanja nevronov po vsaki konvolucijski plasti smo zmanjšali to tveganje in povečal robustnost modela. + Z dodajanjem izpuščanja nevronov po vsaki konvolucijski plasti smo zmanjšali to tveganje in povečali robustnost modela. \end{enumerate} Izpuščanje nevronov je ena izmed najbolj učinkovitih tehnik regularizacije za nevronske mreže. @@ -1541,7 +1578,7 @@ V kompleksnih modelih, kot je Twins, kjer je veliko komponent, ki se lahko preko \subsection{Rezultati} -\begin{table}[h] +\begin{table}[H] \centering \label{tab:parametri_izpuscanje} \begin{tabular}{|l|c|c|c|} @@ -1557,10 +1594,10 @@ mlp\_drop2 & 0.1 & 0.1 & - \\ pos\_drops & 0.05 & 0.05 & - \\ \hline \end{tabular} -\caption{Parametri z uravnovesenim izpustom nevronov.} +\caption{Parametri z uravnovešenim izpustom nevronov.} \end{table} -\begin{table}[h] +\begin{table}[H] \centering \label{tab:parametri_izpuscanje_dve} \begin{tabular}{|l|c|c|c|} @@ -1579,7 +1616,7 @@ pos\_drops & 0.1 & 0.05 & - \\ \caption{Parametri z neuravnovešenim izpuščanjem nevronov.} \end{table} -\begin{table}[ht] +\begin{table}[H] \centering \begin{tabular}{|c|c|c|c|c|} \hline @@ -1590,7 +1627,7 @@ Uravnovešeno izpuščanje & 5.49 & 0.725 & 0.690 & 21.67 \\ Neuravnovešeno izpuščanje & 5.42 & 0.725 & 0.719 & 18.11 \\ \hline \end{tabular} -\caption{Rezultati ob uporabi različnih izpuščanj nevronov. Kjer je $\overline{\Delta_m}$ povprečna napaka v metrih.} +\caption{Rezultati ob uporabi različnih izpuščanj nevronov, kjer je $\overline{\Delta_m}$ povprečna napaka v metrih.} \label{tab:izpuscanje} \end{table} @@ -1603,7 +1640,7 @@ Uporaba prednaučenih modelov v strojnem učenju omogoča izkoristek že obstoje Zlasti v kontekstu globokih nevronskih mrež so prednaučeni modeli dragoceni, saj lahko pomagajo modelom hitreje konvergirati in v nekaterih primerih doseči boljše rezultate. \subsection{Rezultati} -Naši rezultati kažejo, da je uporaba prednaučene mreže Twins privedla do boljših rezultatov v primerjavi z modelom, ki ni uporabljal prednaučene mreže. +Naši rezultati \ref{tab:prednaucena} in \ref{tab:prednaucena_m} kažejo , da je uporaba prednaučene mreže Twins privedla do boljših rezultatov v primerjavi z modelom, ki ni uporabljal prednaučene mreže. To poudarja prednost prenosa znanja iz prednaučenih modelov na specifične naloge. \begin{table}[ht] @@ -1616,51 +1653,48 @@ Prednaučena mreža & 8.49 & 0.893 & 0.709 & 43.42 \\ Brez prednaučene mreže & 8.21 & 0.627 & 0.630 & 60.23 \\ \hline \end{tabular} -\caption{Rezultati ob uporabi razlicnih izpustov. Kjer je $\overline{\Delta_m}$ povprečna napaka v metrih.} +\caption{Rezultati ob uporabi prednaučene mreže, kjer je $\overline{\Delta_m}$ povprečna napaka v metrih.} \label{tab:prednaucena} \end{table} +\begin{table}[ht] +\centering +\begin{tabular}{|c|c|c|c|c|} +\hline +Kriterijska funkcija & $<$ 10m [\%] & $<$ 20m [\%] & $<$ 50m [\%] & $<$ 100m [\%] \\ +\hline +Prednaučena mreža & 65.22 & 71.66 & 75.87 & 81.45 \\ +Brez prednaučene mreže & 34.98 & 34.45 & 53.43 & 64.79 \\ +\hline +\end{tabular} +\caption{Rezultati ob uporabi prednaučene mreže, kjer je prikazan odstotek primerov z napako manjšo od določene razdalje.} +\label{tab:prednaucena_m} +\end{table} + Uporaba prednaučene mreže Twins je omogočila boljše zajemanje in interpretacijo značilnosti iz našega nabora podatkov, kar je vodilo k izboljšanim rezultatom. To potrjuje, da so prednaučeni modeli lahko zelo koristni v nekaterih scenarijih, še posebej, ko želimo izkoristiti že obstoječe znanje za izboljšanje uspešnosti na novih nalogah. \chapter{Sklepne ugotovitve} \label{ch5} -Brezpilotni letalniki predstavljajo revolucionarni korak v tehnologiji, ki je našel svojo uporabo v številnih sektorjih, od vojaških operacij do kmetijskega nadzora. -Kljub njihovi široki uporabi pa se soočajo z več ključnimi izzivi, zlasti na področju avtonomne navigacije. -V diplomski nalogi smo se osredotočili na raziskovanje in implementacijo metode WAMF-FPI za lokalizacijo brezpilotnih letalnikov na podlagi slik. -Spodaj so izpostavljene naše glavne ugotovitve in predlogi: +Lokalizacija brezpilotnih letalnikov je ključnega pomena za njihovo avtonomno delovanje, zlasti v okoljih, kjer so tradicionalni navigacijski signali omejeni ali moteni. +Da bi se spopadli s tem izzivom, smo se v tej raziskavi osredotočili na raziskovanje in implementacijo metode WAMF-FPI za lokalizacijo brezpilotnih letalnikov na podlagi slik. -\begin{enumerate} - \item \textbf{Učinkovitost in natančnost metode}: - Naša implementacija WAMF-FPI je pokazala, da je metoda obetavna. - Ugotovili smo, da je sama arhitektura izredno učinkovita in da lahko zagotovi natančno lokalizacijo brezpilotnih letalnikov tudi v zahtevnih pogojih. - \item \textbf{Potencial za izboljšave}: - Kljub izjemni učinkovitosti metode WAMF-FPI smo identificirali nekaj ključnih področij, kjer bi se lahko izvedle izboljšave. - Eden od predlogov je uporaba bolj"se nevronske mreže za izluščenje značilnosti. - Morda bi bile konvolucijske nevronske mreže novejše generacije ali nekatere druge arhitekture bolj primerne za ta namen. - \item \textbf{Optimizacija združevanja značilnosti}: - Med našo analizo smo opazili, da bi lahko del združevanja značilnosti optimizirali z uporabo metode pozornosti, kar bi omogočilo še boljše ujemanje med slikami zajetimi z brezpilotnim letalnikom in satelitskimi slikami. - \item \textbf{Iskanje pripadajoče satelitske slike}: - Ena od glavnih težav, s katerimi se metoda še vedno sooča, je identifikacija prave satelitske slike, ki ustreza sliki posneti z brezpilotnim letalnikom. - To predstavlja izziv, še posebej v bazah z milijoni slik, in je eno od področij, ki zahteva nadaljnje raziskave. - Kljub temu obstaja potencial za integracijo te metode z obstoječimi senzorji na brezpilotnem letalniku za izboljšanje lokalizacije. - \item \textbf{Raziskava različnih kriterijskih funkcij}: - V okviru naše analize smo preizkusili več kriterijskih funkcij, vključno s Hanningovo kriterijsko funkcijo, Gaussovo uteženo srednjo kvadratno napako, Hanningovo uteženo srednjo kvadratno napako ter križno uteženo srednjo kvadratno napako. - Rezultati so pokazali, da je Hanningova kriterijska funkcija izstopala kot najbolj učinkovita med vsemi preizkušenimi. - Te ugotovitve so v skladu z implementacijo in rezultati, predstavljenimi v izbranem članku. - \item \textbf{Regularizacija in računske obremenitve}: - Ugotovili smo, da ima regularizacija v modelu z uporabo izpuščanja nevronov pomembno vlogo pri preprečevanju prenaučenja. - Vendar pa je treba skrbno uravnotežiti med računskimi obremenitvami in natančnostjo modela. - \item \textbf{Praktična uporaba}: Naš glavni cilj je implementacija metode WAMF-FPI na dejanskem brezpilotnem letalniku, da bi ocenili njeno dejansko učinkovitost in uporabnost. - Model uporablja uteži velikosti 1 GB in vključuje piramidno strukturo za izluščenje značilnosti, kar omogoča zmanjšanje dimenzionalnosti značilnosti in s tem zmanjšanje zahtevane računske moči. -\end{enumerate} +V okviru naše raziskave smo razvili podatkovno zbirko, ki zajema slike 11 evropskih mest s pogledom od zgoraj navzdol. +Poleg tega smo preizkusili različne aspekte metode WAMF-FPI, vključno z regularizacijo z izpustom nevronov, različnimi vrednostmi Hanningovega okna in primerjavo med uporabo predhodno naučene mreže za izluščenje značilnosti in mreže, ki ni bila predhodno naučena. +Naša implementacija WAMF-FPI je pokazala obetavne rezultate, pri čemer je Hanningova kriterijska funkcija izstopala kot najbolj učinkovita med vsemi preizkušenimi. + +Kljub obetavni učinkovitosti metode smo identificirali več področij za izboljšave. +Med njimi je raziskava različnih osnovnih arhitektur (ang. backbone) za izluščenje značilnosti, naprednejše združevanje značilnosti, +bolj usmerjeno učenje z uporabo pomožnih izgub (ang. auxiliary losses) ter uporaba segmentacije. +Poleg tega smo prepoznali potrebo po bolj napredni primerjavi značilnosti drona in satelita, pri čemer bi lahko uporabili pristope iz vizualnega sledenja, saj je to soroden problem. + +V prihodnosti nameravamo razširiti našo podatkovno zbirko z večjim številom mest, slikami iz različnih višin, različnih kotov in pogledov ter z realnimi podatki. +Prav tako nameravamo raziskati uporabo naprednejših tehnik za združevanje značilnosti in boljše usmerjeno učenje. -Metoda WAMF-FPI predstavlja pomemben korak naprej v lokalizaciji brezpilotnih letalnikov, še posebej v okoljih, kjer je satelitski signal omejen ali nezanesljiv. -Kljub obetavni učinkovitosti metode pa obstajajo še nekateri izzivi in priložnosti za izboljšave. Naša raziskava je postavila trdne temelje za nadaljnji razvoj in implementacijo metode v realnih sistemih brezpilotnih letalnikov. -Naslednji koraki bi vključevali nadaljnje optimizacije modela, razširitev podatkovnih zbirk, uporabo časovne informacije, -vzpostavitev povratne zanke (ang. feedback loop) in končno implementacijo na dejanskih brezpilotnih letalnikih. +Naslednji koraki bi vključevali nadaljnje optimizacije modela, razširitev podatkovnih zbirk, uporabo časovne informacije, vzpostavitev povratne zanke (ang. feedback loop) +in končno implementacijo na dejanskih brezpilotnih letalnikih. \appendix \chapter{Primeri izračuna RDS} @@ -1672,7 +1706,7 @@ Za $w=400px$, $h=400px$, $dx=0px$, $dy=0px$ in $k=10$ dobimo: \begin{center} \begin{equation} - RDS_1 = e^{-10 \times \frac{\sqrt{\left(\frac{0}{400}\right)^2+\left(\frac{0}{400}\right)^2}}{2}} = 1 + RDS_1 = e^{-10 \times \frac{\sqrt{\left(\frac{0}{400}\right)^2+\left(\frac{0}{400}\right)^2}}{2}} = 1. \end{equation} \end{center} @@ -1683,18 +1717,18 @@ Za $w=400px$, $h=400px$, $dx=2px$, $dy=0px$ in $k=10$ dobimo: \begin{center} \begin{equation} - RDS_2 = e^{-10 \times \frac{\sqrt{\left(\frac{2}{400}\right)^2+\left(\frac{0}{400}\right)^2}}{2}} = 0.975 + RDS_2 = e^{-10 \times \frac{\sqrt{\left(\frac{2}{400}\right)^2+\left(\frac{0}{400}\right)^2}}{2}} = 0.975. \end{equation} \end{center} -Tukaj je napovedana pozicija rahlo odmaknjena samo v vodoravni smeri za 2 piksla. $RDS = 0.975$ kaže na minimalno odstopanje napovedane pozicije od dejanske. +Tukaj je napovedana pozicija rahlo odmaknjena samo v vodoravni smeri za dva piksla. $RDS = 0.975$ kaže na minimalno odstopanje napovedane pozicije od dejanske. \textbf{Primer 3:} Za $w=400px$, $h=400px$, $dx=10px$, $dy=14px$ in $k=10$ dobimo: \begin{center} \begin{equation} - RDS_3 = e^{-10 \times \frac{\sqrt{\left(\frac{10}{400}\right)^2+\left(\frac{14}{400}\right)^2}}{2}} = 0.806 + RDS_3 = e^{-10 \times \frac{\sqrt{\left(\frac{10}{400}\right)^2+\left(\frac{14}{400}\right)^2}}{2}} = 0.806. \end{equation} \end{center} diff --git a/img/model.pdf b/img/model.pdf index dfce09d..c3f98f3 100644 Binary files a/img/model.pdf and b/img/model.pdf differ