diplomska-text/diploma.tex

1704 lines
95 KiB
TeX
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% datoteka diploma-FRI-vzorec.tex
%
% vzorčna datoteka za pisanje diplomskega dela v formatu LaTeX
% na UL Fakulteti za računalništvo in informatiko
%
% na osnovi starejših verzij vkup spravil Franc Solina, maj 2021
% prvo verzijo je leta 2010 pripravil Gašper Fijavž
%
% za upravljanje z literaturo ta vezija uporablja BibLaTeX
%
% svetujemo uporabo Overleaf.com - na tej spletni implementaciji LaTeXa ta vzorec zagotovo pravilno deluje
%
\documentclass[a4paper,12pt,openright]{book}
%\documentclass[a4paper, 12pt, openright, draft]{book} Nalogo preverite tudi z opcijo draft, ki pokaže, katere vrstice so predolge! Pozor, v draft opciji, se slike ne pokažejo!
\usepackage[utf8]{inputenc} % omogoča uporabo slovenskih črk kodiranih v formatu UTF-8
\usepackage[slovene,english]{babel} % naloži, med drugim, slovenske delilne vzorce
\usepackage[pdftex]{graphicx} % omogoča vlaganje slik različnih formatov
\usepackage{fancyhdr} % poskrbi, na primer, za glave strani
\usepackage{amssymb} % dodatni matematični simboli
\usepackage{amsmath} % eqref, npr.
\usepackage{hyperxmp}
\usepackage[hyphens]{url}
\usepackage{csquotes}
\usepackage[pdftex, colorlinks=true,
citecolor=black, filecolor=black,
linkcolor=black, urlcolor=black,
pdfproducer={LaTeX}, pdfcreator={LaTeX}]{hyperref}
\usepackage{color}
\usepackage{soul}
\usepackage{listings}
\usepackage{xcolor}
\usepackage{float}
\usepackage{todonotes}
\lstset{
language=Python,
numbers=left,
commentstyle=\color{green},
keywordstyle=\color{blue},
numberstyle=\tiny\color{gray},
stringstyle=\color{red},
basicstyle=\ttfamily\scriptsize,
breaklines=true,
showstringspaces=false
}
\usepackage[
backend=biber,
style=numeric,
sorting=nty,
]{biblatex}
\addbibresource{literatura.bib} %Imports bibliography file
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% DIPLOMA INFO
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\ttitle}{Lokalizacija brezpilotnih letalnikov na podlagi satelitskih slik}
\newcommand{\ttitleEn}{Unmanned aerial vehicle localization using satellite images}
\newcommand{\tsubject}{\ttitle}
\newcommand{\tsubjectEn}{\ttitleEn}
\newcommand{\tauthor}{Gašper Spagnolo}
\newcommand{\tkeywords}{Lokalizacija brezpilotnih letalnikov, geo-lokalizacija, globoko učenje, transformer}
\newcommand{\tkeywordsEn}{Unmanned aerial vehicle localization, geo-localization, deep learning, transformer}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% HYPERREF SETUP
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\hypersetup{pdftitle={\ttitle}}
\hypersetup{pdfsubject=\ttitleEn}
\hypersetup{pdfauthor={\tauthor}}
\hypersetup{pdfkeywords=\tkeywordsEn}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% postavitev strani
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\addtolength{\marginparwidth}{-20pt} % robovi za tisk
\addtolength{\oddsidemargin}{40pt}
\addtolength{\evensidemargin}{-40pt}
\renewcommand{\baselinestretch}{1.3} % ustrezen razmik med vrsticami
\setlength{\headheight}{15pt} % potreben prostor na vrhu
\renewcommand{\chaptermark}[1]%
{\markboth{\MakeUppercase{\thechapter.\ #1}}{}} \renewcommand{\sectionmark}[1]%
{\markright{\MakeUppercase{\thesection.\ #1}}} \renewcommand{\headrulewidth}{0.5pt} \renewcommand{\footrulewidth}{0pt}
\fancyhf{}
\fancyhead[LE,RO]{\sl \thepage}
%\fancyhead[LO]{\sl \rightmark} \fancyhead[RE]{\sl \leftmark}
\fancyhead[RE]{\sc \tauthor} % dodal Solina
\fancyhead[LO]{\sc Diplomska naloga} % dodal Solina
\newcommand{\BibLaTeX}{{\sc Bib}\LaTeX}
\newcommand{\BibTeX}{{\sc Bib}\TeX}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% naslovi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\autfont}{\Large}
\newcommand{\titfont}{\LARGE\bf}
\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}}
\setcounter{tocdepth}{1} % globina kazala
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% konstrukti
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newtheorem{izrek}{Izrek}[chapter]
\newtheorem{trditev}{Trditev}[izrek]
\newenvironment{dokaz}{\emph{Dokaz.}\ }{\hspace{\fill}{$\Box$}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% PDF-A
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% define medatata
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\Title{\ttitle}
\def\Author{\tauthor, gs0104@student.uni-lj.si}
\def\Subject{\ttitleEn}
\def\Keywords{\tkeywordsEn}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \convertDate converts D:20080419103507+02'00' to 2008-04-19T10:35:07+02:00
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\convertDate{%
\getYear
}
{\catcode`\D=12
\gdef\getYear D:#1#2#3#4{\edef\xYear{#1#2#3#4}\getMonth}
}
\def\getMonth#1#2{\edef\xMonth{#1#2}\getDay}
\def\getDay#1#2{\edef\xDay{#1#2}\getHour}
\def\getHour#1#2{\edef\xHour{#1#2}\getMin}
\def\getMin#1#2{\edef\xMin{#1#2}\getSec}
\def\getSec#1#2{\edef\xSec{#1#2}\getTZh}
\def\getTZh +#1#2{\edef\xTZh{#1#2}\getTZm}
\def\getTZm '#1#2'{%
\edef\xTZm{#1#2}%
\edef\convDate{\xYear-\xMonth-\xDay T\xHour:\xMin:\xSec+\xTZh:\xTZm}%
}
%\expandafter\convertDate\pdfcreationdate
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% get pdftex version string
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcount\countA
\countA=\pdftexversion
\advance \countA by -100
\def\pdftexVersionStr{pdfTeX-1.\the\countA.\pdftexrevision}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% XMP data
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{xmpincl}
%\includexmp{pdfa-1b}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% pdfInfo
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\pdfinfo{%
/Title (\ttitle)
/Author (\tauthor, gs0104@student.uni-lj.si)
/Subject (\ttitleEn)
/Keywords (\tkeywordsEn)
/ModDate (\pdfcreationdate)
/Trapped /False
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% znaki za copyright stran
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\CcImageCc}[1]{%
\includegraphics[scale=#1]{cc_cc_30.pdf}%
}
\newcommand{\CcImageBy}[1]{%
\includegraphics[scale=#1]{cc_by_30.pdf}%
}
\newcommand{\CcImageSa}[1]{%
\includegraphics[scale=#1]{cc_sa_30.pdf}%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\selectlanguage{slovene}
\frontmatter
\setcounter{page}{1} %
\renewcommand{\thepage}{} % preprečimo težave s številkami strani v kazalu
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%naslovnica
\thispagestyle{empty}%
\begin{center}
{\large\sc Univerza v Ljubljani\\%
% Fakulteta za elektrotehniko\\% za študijski program Multimedija
% Fakulteta za upravo\\% za študijski program Upravna informatika
Fakulteta za računalništvo in informatiko\\%
% Fakulteta za matematiko in fiziko\\% za študijski program Računalništvo in matematika
}
\vskip 10em%
{\autfont \tauthor\par}%
{\titfont \ttitle \par}%
{\vskip 3em \textsc{DIPLOMSKO DELO\\[5mm] % dodal Solina za ostale študijske programe
% VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM\\ PRVE STOPNJE\\ RAČUNALNIŠTVO IN INFORMATIKA}\par}%
UNIVERZITETNI ŠTUDIJSKI PROGRAM\\ PRVE STOPNJE\\ RAČUNALNIŠTVO IN INFORMATIKA}\par}%
% INTERDISCIPLINARNI UNIVERZITETNI\\ ŠTUDIJSKI PROGRAM PRVE STOPNJE\\ MULTIMEDIJA}\par}%
% INTERDISCIPLINARNI UNIVERZITETNI\\ ŠTUDIJSKI PROGRAM PRVE STOPNJE\\ UPRAVNA INFORMATIKA}\par}%
% INTERDISCIPLINARNI UNIVERZITETNI\\ ŠTUDIJSKI PROGRAM PRVE STOPNJE\\ RAČUNALNIŠTVO IN MATEMATIKA}\par}%
\vfill\null%
% izberite pravi habilitacijski naziv mentorja!
{\large \textsc{Mentor}: doc. dr. Luka Čehovin Zajc\par}%
{\large \textsc{Somentor}: asist. Matej Dobrevski \par}%
{\vskip 2em \large Ljubljana, \the\year \par}%
\end{center}
% prazna stran
%\clearemptydoublepage
% izjava o licencah itd. se izpiše na hrbtni strani naslovnice
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%copyright stran
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newpage
\thispagestyle{empty}
\vspace*{5cm}
{\small \noindent
To delo je ponujeno pod licenco \textit{Creative Commons Priznanje avtorstva-Deljenje pod enakimi pogoji 2.5 Slovenija} (ali novej\v so razli\v cico).
To pomeni, da se tako besedilo, slike, grafi in druge sestavine dela kot tudi rezultati diplomskega dela lahko prosto distribuirajo,
reproducirajo, uporabljajo, priobčujejo javnosti in predelujejo, pod pogojem, da se jasno in vidno navede avtorja in naslov tega
dela in da se v primeru spremembe, preoblikovanja ali uporabe tega dela v svojem delu, lahko distribuira predelava le pod
licenco, ki je enaka tej.
Podrobnosti licence so dostopne na spletni strani \href{http://creativecommons.si}{creativecommons.si} ali na Inštitutu za
intelektualno lastnino, Streliška 1, 1000 Ljubljana.
\vspace*{1cm}
\begin{center}% 0.66 / 0.89 = 0.741573033707865
\CcImageCc{0.741573033707865}\hspace*{1ex}\CcImageBy{1}\hspace*{1ex}\CcImageSa{1}%
\end{center}
}
\vspace*{1cm}
{\small \noindent
Izvorna koda diplomskega dela, njeni rezultati in v ta namen razvita programska oprema je ponujena pod licenco GNU General Public License,
različica 3 (ali novejša). To pomeni, da se lahko prosto distribuira in/ali predeluje pod njenimi pogoji.
Podrobnosti licence so dostopne na spletni strani \url{http://www.gnu.org/licenses/}.
}
\vfill
\begin{center}
\ \\ \vfill
{\em
Besedilo je oblikovano z urejevalnikom besedil \LaTeX.}
\end{center}
% prazna stran
\clearemptydoublepage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% stran 3 med uvodnimi listi
\thispagestyle{empty}
\
\vfill
\bigskip
\noindent\textbf{Kandidat:} Gašper Spagnolo\\
\noindent\textbf{Naslov:} Lokalizacija brezpilotnih letalnikov na podlagi satelitskih slik\\
% vstavite ustrezen naziv študijskega programa!
\noindent\textbf{Vrsta naloge:} Diplomska naloga na univerzitetnem programu prve stopnje Računalništvo in informatika \\
% izberite pravi habilitacijski naziv mentorja!
\noindent\textbf{Mentor:} doc. dr. Luka Cehovin Zajc\\
\noindent\textbf{Somentor:} asist. Matej Dobrevski
\bigskip
\noindent\textbf{Opis:}\\
V zadnjem času postaja uporaba brezpilotnih letalnikov vse bolj razširjena.
Kljub njihovi vsestranskosti pa se poraja vprašanje: kako se brezpilotni letalniki obnašajo, ko izgubijo stik z sistemom za določanje položaja? Diplomska naloga se osredotoča na lokalizacijo letalnikov na podlagi satelitskih slik, raziščite področje ter ovrednotite trenutno najbolj obetavno metodo.
Po potrebi sestavite lastno zbirko slik, ki bo dovolj zahtevna in raznovrstna.
\bigskip
\noindent\textbf{Title:} Unmanned aerial vehicle localization using satellite images
\bigskip
\noindent\textbf{Description:}\\
Recently, the use of drones is becoming more and more widespread.
Despite their versatility, the question arises: how do drones behave when they lose contact with the global positioning system? The thesis focuses on the localization of aircraft based on satellite images, explore the field and evaluate the current most promising method.
If necessary, construct your own dataset of images that will be challenging and diverse enough.
\vfill
\vspace{2cm}
% prazna stran
\clearemptydoublepage
% zahvala
\thispagestyle{empty}\mbox{}\vfill\null\it%
\noindent
Zahvaljujem se mentorju, doc. dr. Luki Čehovinu Zajc, in somentorju, asist. Mateju Dobrevskemu, za strokovno pomoč in usmeritve pri izdelavi diplomske naloge.
Zahvala gre tudi družini za podporo pri pisanju diplomskega dela.
\rm\normalfont
%% prazna stran
%\clearemptydoublepage
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% posvetilo, če sama zahvala ne zadošča :-)
%\thispagestyle{empty}\mbox{}{\vskip0.20\textheight}\mbox{}\hfill\begin{minipage}{0.55\textwidth}%
%Svoji dragi proskici.
%\normalfont\end{minipage}
%
%% prazna stran
%\clearemptydoublepage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% kazalo
\pagestyle{empty}
\def\thepage{}% preprečimo težave s številkami strani v kazalu
\tableofcontents{}
% prazna stran
\clearemptydoublepage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% seznam kratic
\chapter*{Seznam uporabljenih kratic}
\noindent\begin{tabular}{p{0.15\textwidth}|p{.39\textwidth}|p{.39\textwidth}} % po potrebi razširi prvo kolono tabele na račun drugih dveh!
{\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 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 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 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 \\
\end{tabular}
% prazna stran
\clearemptydoublepage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% povzetek
\phantomsection
\addcontentsline{toc}{chapter}{Povzetek}
\chapter*{Povzetek}
\noindent\textbf{Naslov:} \ttitle
\bigskip
\noindent\textbf{Avtor:} \tauthor
\bigskip
%\noindent\textbf{Povzetek:}
\noindent Diplomsko delo predstavlja implementacijo trenutno vodilne metode za geolokalizacijo brezpilotnih letalnikov, ob izgubi sistema za določanje položaja; implementacija ni bila javno dostopna.
V okviru dela smo ustvarili novo podatkovno zbirko, ki vsebuje pare slik iz brezpilotnega letalnika in pripadajočih satelitskih posnetkov.
Osredotočili smo se na uporabo naprednih nevronskih mrež, zlasti na piramidni vision transformer (PVT).
Ključno vlogo je imela siamska nevronska mreža za primerjavo vzorcev med obema vrstama slik.
Metodologija je bila podprta z različnimi optimizacijskimi strategijami, vključno z uporabo stratificiranega vzorčenja, Hanningovega okna in regularizacijskih tehnik.
Rezultati potrjujejo učinkovitost predlagane metode za natančno geolokalizacijo brezpilotnih letalnikov.
Delo zaključujemo s poudarkom na ključnih ugotovitvah in potencialu razvite metode.
\bigskip
\noindent\textbf{Ključne besede:} \tkeywords.
% prazna stran
\clearemptydoublepage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% abstract
\phantomsection
\selectlanguage{english}
\addcontentsline{toc}{chapter}{Abstract}
\chapter*{Abstract}
\noindent\textbf{Title:} \ttitleEn
\bigskip
\noindent\textbf{Author:} \tauthor
\bigskip
%\noindent\textbf{Abstract:}
\noindent The thesis presents the implementation of the currently leading method for geolocation of unmanned aerial vehicles, in the event of a loss of the positioning system; the implementation was not publicly available.
As part of the work, we created a new dataset containing pairs of images from unmanned aerial vehicles and corresponding satellite images.
We focused on the use of advanced neural networks, especially the pyramid vision transformer (PVT).
A key role was played by the siamese neural network for comparing patterns between the two types of images.
The methodology was supported by various optimization strategies, including the use of stratified sampling, the Hanning window, and regularization techniques.
The results confirm the effectiveness of the proposed method for accurate geolocation of unmanned aerial vehicles.
We conclude the work with an emphasis on key findings and the potential of the developed method.
\bigskip
\noindent\textbf{Keywords:} \tkeywordsEn.
\selectlanguage{slovene}
% prazna stran
\clearemptydoublepage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\mainmatter
\setcounter{page}{1}
\pagestyle{fancy}
\chapter{Uvod}
\label{ch0}
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 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.
\section{Pregled področja}
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.
Čeprav so te metode predstavljale pomemben začetek, so bile omejene v svoji natančnosti in prilagodljivosti.
S prihodom globokih konvolucijskih nevronskih mrež (ang. convolutional neural network -- CNN) in njihove dokazane sposobnosti v obdelavi vizualnih podatkov so raziskovalci začeli avtomatsko pridobivati kompleksne in prilagodljive značilnosti neposredno iz podatkov med učenjem mreže.
Raziskave v \cite{location_dependence} so bile med prvimi, ki so se lotile tega področja z izvlečkom značilnosti za izziv geolokalizacije s pomočjo različnih pogledov iz prednaučenenga CNN.
Ugotovljeno je bilo, da visokonivojske plasti v CNN vsebujejo bogate semantične informacije, ki lahko pripomorejo k boljši geolokalizaciji.
Nadaljnje raziskave v \cite{wide_area} so razširile ta koncept z natančnim prilagajanjem predhodno naučenih mrež, da bi zmanjšali razdaljo značilnosti med satelitskimi slikami in slikami iz brezpilotnega letalnika.
V \cite{deep_representations} je bil predstavljen pristop z uporabo modificirane siamske mreže. Ta pristop uporablja kontrastno izgubo za optimizacijo parametrov mreže, kar omogoča boljše razlikovanje med podobnimi in različnimi lokacijami.
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}, 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 kontekstu omejitev tradicionalnih metod prepoznavanja slik so raziskovalci razvili pristop, imenovan FPI (ang. 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.
Inovacije v znanstvenem raziskovanju pogosto vodijo do nadaljnjih metodoloških izboljšav.
Nadgradnja metode FPI, znana kot WAMF-FPI, je dodatno izboljšala natančnost in učinkovitost lokalizacije brezpilotnih letalnikov \cite{dai2022finding}.
Ta pristop je integriral koncepte iz območja sledenja objektov za potrebe lokalizacije ob soočanju z izzivi, ki jih predstavljajo razlike med slikami zajetimi z brezpilotnim letalnikom in satelitskimi slikami.
Z uporabo dveh različnih uteži za izvleček značilnosti iz slik posnetih z brezpilotnim letalnikom in satelitskih slik, WAMF-FPI omogoča natančnejše in bolj zanesljivo ujemanje slik.
Dodatna optimizacija je bila dosežena z vključitvijo WAMF modula in uporabo Hanningove kriterijske funkcije, ki sta povečala učinkovitost modela.
Metoda WAMF-FPI je evolucija osnovne metode FPI. Ključna prednost WAMF-FPI je njegova napredna piramidna predstavitev izluščenja značilk, ki omogoča bolj natančno in raznoliko analizo vhodnih podatkov.
Z uporabo te piramidne predstavitve 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 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 metodi WAMF-FPI, da ohrani več informacij ter pridobi boljšo lokalizacijsko natančnost ob hkratnem zmanjšanju računske obremenitve.
\section{Cilji in prispevki}
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.
Poleg tega so objekti v sredini slike.
Podatkovna zbirka UL14, omenjena v \cite{dai2022finding}, je edina s pogledom od zgoraj navzdol, vendar avtorji zbirke 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 zbirke je 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 diplomske naloge je raziskati in implementirati metodo WAMF-FPI, predstavljeno v \cite{wang2023wamf},
saj je ta metoda trenutno prepoznana kot vodilna in najnaprednejša na področju geolokalizacije brezpilotnih letalnikov, ter
dobro izhodišče za nadaljnje raziskave, avtorji pa niso javno delili implementacije metode.
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 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}
V tem poglavju bomo predstavili osnovne komponente, ki jih uporabljamo v našem modelu.
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 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 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 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,
specializirana za obdelavo vizualnih podatkov, zasnovana tako, da avtomatsko in adaptivno izvaja izvleček značilnosti iz slik.
\subsection{Struktura in delovanje}
Osnovni gradniki CNN obsegajo štiri glavne vrste plasti: konvolucijsko, aktivacijsko, združevalno (ang. pooling) in polno povezano.
\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.
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).
\end{equation}
\item \textbf{Aktivacijska funkcija}:
po konvolucijski operaciji se uporabi aktivacijska funkcija za vsak izhod. Najpogosteje se uporablja funkcija ReLU:
\begin{equation}
\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":
\begin{equation}
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.
\begin{equation}
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).
\end{enumerate}
\section{Transformerska arhitektura}
V tem podpoglavju bomo obravnavali razvoj in lastnosti transformerske arhitekture.
Predstavljeno bo ozadje, vključno s prejšnjimi mehanizmi, kot so rekurentne nevronske mreže, ter podrobnosti o njihovi zgradbi in delovanju.
\subsection{Predhodni mehanizmi}
Preden so obstajali transformerji, so bili priljubljeni jezikovni modeli, kot so RNN (ang. Recurrent Neural Networks -- RNN),
LSTM (ang. Long Short-Term Memory -- LSTM) in GRU (ang. Gated Recurrent Units -- GRU).
Te modele so pogosto uporabljali v strukturi kodirnik-dekodirnik za strojno prevajanje in pretvarjanje zaporedij.
Glavna težava teh modelov je bila omejitev pri obvladovanju dolgih zaporedij zaradi fiksne dolžine latentnega prostora.
Rešitev je prinesel mehanizem pozornosti, ki je omogočil boljše obvladovanje dolgih zaporedij \cite{bahdanau2015neural}.
\section{Zgradba transformerja}
Avtorji v članku \cite{vaswani2017attention} so predstavili novo arhitekturo za strojno prevajanje, ki se osredotoča na mehanizme pozornosti in se izogiba omejitvam RNN.
Glavna inovacija je zamenjava RNN in njihovih skritih stanj z bolj učinkovitimi operacijami na osnovi pozornosti.
Transformer model je model kodirnika-dekodirnika. Kodirnik sestavljajo $N$ blokov na levi, dekodirnik pa $N$ blokov na desni, vidno na Sliki \ref{fig:transformer_network}.
\begin{figure}[h]
\centering
\includegraphics[width=0.5\textwidth]{./img/transformer_network.jpg}
\caption{Izgled transformerja, iz članka "Attention is all you need" \cite{vaswani2017attention}.}
\label{fig:transformer_network}
\end{figure}
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,
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}$.
Dekodirnik sestoji iz treh korakov: maske večglave samopozornosti,\\ večglave plasti pozornosti, ki povezuje kodirano izvorno predstavitev z dekodirnikom, in polno povezane plasti z aktivacijami ReLU.
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.
Dostopa do besed, ki sledijo $e_i$ ne more imeti, saj te še niso bile generirane.
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}$.
Druga razlika od kodirnika je druga večglava plast pozornosti, ki se imenuje tudi plast pozornosti kodirnika-dekodirnika.
Za razliko od plasti pozornosti na začetku blokov kodirnika in dekodirnika, ni plast samopozornosti.
\subsection{Utežena točkovna produktna pozornost}
Utežena točkovna produktna pozornost (ang. Scaled Dot-Product Attention) se uporablja v vseh plasteh pozornosti v transformerju, in je skoraj identična točkovni produktni pozornosti, že omenjeni v \cite{bahdanau2015neural}.
\begin{equation}
\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V
\end{equation}
Edina razlika je, da je vhod v softmax skaliran s faktorjem $\frac{1}{\sqrt{d_k}}$.
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žene točkovne produktne pozornosti je naslednji:
\begin{enumerate}
\item Izračunamo produkt med matrikama poizvedb \(Q\) in ključev \(K^T\).
\item Produkt normaliziramo z delitvijo z \(\sqrt{d_k}\), kjer \(d_k\) predstavlja dimenzijo ključev.
\item Na dobljen rezultat uporabimo funkcijo \textit{softmax}, da pridobimo matriko uteži pozornosti.
\item Matriko uteži pomnožimo z matriko vrednosti \(V\), da pridobimo končni izhod.
\end{enumerate}
Vektorji poizvedbe in ključev se med seboj primerjajo preko skalarnega produkta. Ta produkt nam pove, koliko pozornosti naj določen ključ nameni določeni poizvedbi.
Utežena vsota vektorskih vrednosti določa, koliko informacij iz vsakega ključa se upošteva v končnem izhodu.
V tem postopku so uporabljene le matrične in vektorske operacije, brez dodatnih učljivih parametrov.
\subsection{Večglava pozornost}
Večglava pozornost, ključna komponenta v arhitekturi transformatorja, je razširitev mehanizma utežene točkovne produktne pozornosti, omenjenega v prejšnjem podpoglavju.
V večglavi pozornosti se vhodni podatki (poizvedbe, ključi in vrednosti) najprej transformirajo v več različnih prostorov z uporabo linearnih preslikav.
Nato se za vsak niz izračuna utežena točkovna produktna pozornost.
Rezultati teh funkcij pozornosti se nato združijo skupaj v eno matriko.
Ta matrika se preslika nazaj v izviren prostor z uporabo druge linearne preslikave, da se pridobi končni rezultat večglave pozornosti.
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.
\end{equation}
Vsak $\text{head}_i$ je rezultat izvajanja utežene točkovne produktne pozornosti na $i$-tem nizu transformiranih poizvedb, ključev in vrednosti:
\begin{equation}
\text{head}_i = \text{Attention}(QW_{Qi}, KW_{Ki}, VW_{Vi}),
\end{equation}
Vsak izračun glave ima drugačno linearno preslikavo za matrike ključev, poizvedb in vrednosti.
Vsaka od teh preslikav se nauči med učenjem.
\subsection{Pozornost kodirnik-dekodirnik}
Tretja in zadnja uporaba pozornosti v članku \cite{vaswani2017attention} je pozornost kodirnik-dekodirnik, ki se uporablja v blokih dekodirnika neposredno po sloju maske večglave pozornosti, da se povežejo izvorne in ciljne sekvence.
Medtem ko so pri samopozornosti vsi trije vhodi enaka matrika, to tukaj ne velja.
\begin{align*}
\text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, ..., \text{head}_h) W_O, \quad \text{head}_i = f(Q, K, V)
\end{align*}
Ko govorimo o pozornosti med kodirnikom in dekodirnikom, je edina razlika od prej v tem, da $Q$ izhaja iz sloja maske večglave pozornosti, medtem ko sta $K$ in $V$ kodirani predstavitvi $\vec{F}$.
Lahko bi razmišljali o tem tako, da model zastavlja vprašanje o tem, kako se vsak položaj v ciljni sekvenci nanaša na izvor, in pridobiva predstavitve izvora za uporabo pri generiranju naslednje besede v cilju.
Pomembno je poudariti, da vsi bloki dekodirnika prejmejo enake podatke od kodirnika. Od prvega do $N$-tega bloka dekodirnika vsak uporablja kodirano izvorno sekvenco kot ključe in vrednosti.
\section{Vision Transformer (ViT)}
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.
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}
Arhitektura ViT obravnava slike dimenzij $H \times W \times C$ tako, da jih razdeli na zaplate dimenzij $P \times P$.
Pri tem sta $H$ in $W$ višina in širina slike, $C$ je število barvnih kanalov, $P$ pa predstavlja dimenzijo zaplate.
Kot rezultat tega postopka dobimo $(H \cdot W) / P^2$ zaplat, ki se vsaka zravna v 1D vektor dolžine $P^2 \cdot C$.
Vsak 1D vektor $x$ se nato prenese skozi linearni model:
\begin{equation}
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.
\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.
\end{equation}
Za končno klasifikacijo slike se uporabi naslednja klasifikacijska glava:
\begin{equation}
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.
%Lahko opazimo, da sama arhitektura ViT uporablja klasičen transformerski kodirnik.
%
%\begin{figure}[h]
%\centering
%\includegraphics[width=0.6\textwidth]{./img/vit.png}
%\caption{Skica ViT modela, iz članka \cite{vit}}
%\label{fig:vit}
%\end{figure}
\section{Piramidni ViT (PVT)}
Piramidni ViT (PVT) \cite{wang2021pyramid} je bil razvit z namenom vključitve piramidne predstavitve 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.
Značilnost te arhitekture je, da se izstopna ločljivost štirih stopenj postopoma zmanjšuje, kar sledi piramidni predstavitvi.
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.
\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).
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.
Poleg tega je bolj vsestranski, saj se lahko enostavno vključi in uporabi v večini modelov za spodnje naloge.
Bolj je prijazen do računalniških virov in spomina, saj lahko obdela značilnostne mape višje ločljivosti.
Na Sliki \ref{fig:pvt} je prikazana skica PVT modela.
\begin{figure}[h]
\centering
\includegraphics[width=\textwidth]{./img/pvt.pdf}
\caption{Skica PVT modela}
\label{fig:pvt}
\end{figure}
\section[Piramidni ViT z uporabo lokalnih značilnosti]{Piramidni ViT z uporabo lokalnih\\ značilnosti (PCPVT)}
Arhitektura Twins-PCPVT \cite{chu2021twins} je zasnovana 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),
ki so bila predlagana v CPVT.
PVT je uvedel piramidno večstopenjsko predstavitev z namenom boljšega obravnavanja nalog goste napovedi, kot so zaznavanje objektov in semantična segmentacija.
Vendar je bilo ugotovljeno, da je manjša učinkovitost PVT-ja v veliki meri posledica uporabe absolutnih pozicijskih kodiranj.
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.
Uporablja najpreprostejšo obliko PEG, tj. 2D globinsko konvolucijo brez normalizacije serij.
\begin{equation}
CPE = f(PEG(E_1, E_2, ..., E_n))
\end{equation}
Kjer je CPE pogojno pozicijsko kodiranje, $ f $ je funkcija, ki generira kodiranje na podlagi vhodnih značilnosti, in $E_i$ so značilnosti iz različnih stopenj kodirnika.
Twins-PCPVT združuje prednosti tako PVT-ja kot CPVT-ja, kar ga naredi enostavnega za učinkovito implementacijo.
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]
\centering
\includegraphics[width=\textwidth]{./img/twins.png}
\caption{Skica PCPVT modela, iz članka o modelu Twins \cite{chu2021twins}}
\label{fig:twins}
\end{figure}
\section{Siamska nevronska mreža}
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 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.
Vsaka podmreža prejme sliko: ena je ciljna slika, druga pa je iskana slika.
Oba vhoda se preoblikujeta v značilnostne vektorje prek teh podmrež.
Nato se izračuna razdalja med obema vektorjema, običajno z evklidsko razdaljo, da se ugotovi, kako podobni sta sliki.
Matematično, za dve sliki $x_1$ in $x_2$, podmreži proizvedeta predstavitve $f(x_1; \theta)$ in $f(x_2; \theta)$.
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.
\end{equation}
Da bi siamsko mrežo naučili učinkovite primerjave 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,
\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.
Na Sliki \ref{fig:siamese} je prikazana skica siamske mreže uporabljene za primerjavo podpisov.
\begin{figure}[h]
\centering
\includegraphics[width=0.9\textwidth]{./img/siamese_net.png}
\caption{Skica siamske mreže, model SigNet \cite{dey2017signet}}
\label{fig:siamese}
\end{figure}
\chapter{Podatkovna množica}
\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.
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.
Da bi premostili to vrzel, smo se odločili, da ustvarimo lastno zbirko.
Za učinkovito in fleksibilno pridobivanje slik iz brezpilotnega letalnika smo uporabili orodje Google Earth Studio \footnote{Google Earth Studio: \url{https://www.google.com/earth/studio/}} in pridobili slike iz 11 evropskih mest.
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.
Zbirka vsebuje posnetke s pogledom od zgoraj navzdol in je osredotočena na pogled iz brezpilotnega letalnika.
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.
Z zbirko želimo zagotoviti raznolike podatke, ki bi lahko služili kot robustna osnova za testiranje in validacijo naše implementacije WAMF-FPI.
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}
Nabor podatkov, ki ga predstavljamo, je bil zasnovan z namenom raziskovanja in analize lokalizacije brezpilotnih letalnikov v različnih mestnih scenarijih.
Osredotoča se na dve ključni območji:
\begin{enumerate}
\item gosto pozidana mestna območja z zgradbami in
\item odprte zelene površine, kot so parki in travniki.
\end{enumerate}
Zajem slik je bil izveden na naključnih poteh po mestu, kar omogoča širok spekter scenarijev.
V mestnih območjih je poudarek na razumevanju, kako se brezpilotni letalniki lokalizirajo in navigirajo med visokimi zgradbami, kjer so lahko GPS signali zmanjšani ali moteni.
V zelenih območjih je cilj razumeti, kako se brezpilotni letalniki obnašajo v okoljih, kjer so vizualni vzorci manj unikatni.
V naboru podatkov za učenje je 10.000 slik iz desetih mest, pri čemer vsako mesto prispeva 1.000 slik.
Vsaka slika je opremljena z oznakami lokacije kamere v sistemu ECEF \footnote{ECEF: \url{http://dirsig.cis.rit.edu/docs/new/coordinates.html}}. Sistem ECEF (ang. Earth Centered, Earth Fixed) je globalni koordinatni sistem z izhodiščem v središču Zemlje.
Brezpilotni letalniki so bili kalibrirani na višini 150 metrov nad navedeno nadmorsko višino mesta.
Kamere na brezpilotnih letalnikih imajo vidno polje 80 stopinj in so usmerjene pravokotno na središče Zemlje. Vse slike so bile ustvarjene z uporabo orodja Google Earth Studio \footnote{Google Earth Studio: \url{https://www.google.com/earth/studio/}}.
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: 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, ki smo jih zajeli v našem podatkovnem naboru.
Vsako mesto razkriva svojo edinstveno strukturo in raven urbanizacije.
Te razlike so ključnega pomena pri razumevanju izzivov, s katerimi se srečujejo brezpilotni letalniki pri lokalizaciji in navigaciji v različnih mestnih okoljih.
\begin{figure}[h]
\centering
\includegraphics[width=0.8\textwidth]{./img/cities.png}
\caption{Slika prikazuje lokacije mest, ki so vključena v nabor podatkov.}
\label{fig:cities}
\end{figure}
Nekatera mesta, kot sta Gradec in Pula, kažejo višjo stopnjo urbanizacije z minimalno prisotnostjo zelenih površin.
To pomeni, da bodo brezpilotni letalniki v teh okoljih večinoma navigirali med zgradbami.
Na drugi strani pa mesta, kot je Zagreb, predstavljajo večjo mešanico zgradb in zelenih površin.
Takšne razlike lahko vplivajo na algoritme lokalizacije in navigacije brezpilotnih letalnikov, saj se morajo prilagajati različnim scenarijem in oviram.
\begin{figure}[h]
\centering
\includegraphics[width=0.9\textwidth]{./img/region_structures.png}
\caption{Graf prikazuje razmerje med zelenimi površinami in stavbami za vsako mesto.}
\label{fig:region_structures}
\end{figure}
Na Slikah \ref{fig:drone_image_example_1} in \ref{fig:drone_image_example_2} so prikazani raznoliki primeri zajeti z brezpilotnim letalnikom.
\begin{figure}[H]
\centering
\includegraphics[width=1\textwidth]{./img/drone_examples_grid1.png}
\caption{Raznoliki primeri slik, zajetih z brezpilotnim letalnikom.}
\label{fig:drone_image_example_1}
\end{figure}
\begin{figure}[H]
\centering
\includegraphics[width=1\textwidth]{./img/drone_examples_grid2.png}
\caption{Raznoliki primeri slik, zajetih z brezpilotnim letalnikom.}
\label{fig:drone_image_example_2}
\end{figure}
\section{Satelitske slike}
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.
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}.
\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}{.}
\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){.}
\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 slik 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}
\caption{Primer pripadajočih satelitskih slik.}
\label{fig:sat_examples_grid_1}
\end{figure}
\begin{figure}[h]
\centering
\includegraphics[width=0.9\textwidth]{./img/corresponding_sat_examples_grid2.png}
\caption{Primer pripadajočih satelitskih slik.}
\label{fig:sat_examples_grid_2}
\end{figure}
\begin{figure}[h]
\centering
\includegraphics[width=1\textwidth]{./img/drone_sat_example_19.png}
\caption{Leva slika prikazuje Gradec z 2-kratno 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 z 1,5-kratno povečavo slike iz brezpilotnega letalnika, desna pa z 2-kratno 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 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 z 2-kratno 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.}
\label{fig:drone_sat_example_82}
\end{figure}
\chapter{Implementacija}
\label{ch3}
V tem poglavju se bomo osredotočili na implementacijo modela WAMF-FPI, RDS metriko ter samo učenje modela.
Odločili smo se za lastno implementacijo metode, saj originalna koda iz članka \cite{wang2023wamf} ni bila javno dostopna.
V naslednjem podpoglavju bomo podrobneje predstavili postopek implementacije.
\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 -- posneti z brezpilotnim letalnikom in satelitsko sliko relevantnega območja -- se nato preneseta v mrežo od začetka do konca (ang. end-to-end).
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 modela Deit-S \cite{touvron2020training} brez deljenih uteži za vertikalne poglede slike brezpilotnega letalnika in satelitske slike.
Izluščene značilnosti nato uporabimo za izračun podobnosti in izdelavo toplotne karte. Lokacijo z najvišjo vrednostjo toplotne karte nato preslikamo na satelitsko sliko, da določimo lokacijo brezpilotnega letalnika.
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}.}
\label{fig:fpi_model}
\end{figure}
V FPI je za izračun podobnosti uporabljena zadnja plast zemljevidnih značilnosti \cite{dai2022finding}.
Ker je izhodna toplotna karta 16-krat manjša od vhodne satelitske slike, model izgubi veliko prostorskih informacij, kar vodi v znatno izgubo natančnosti pri določanju lokacije.
Da bi izboljšali lokalizacijske sposobnosti modela, smo uporabili predstavitev piramidnih značilnosti (Twins-PCPVT) in modul utežno prilagodljivega združevanja večznačilnostnih lastnosti (WAMF).
K osnovnemu modelu so bile dodane izboljšave z vključitvijo dveh močnejših PCPVT-S modulov za izluščenje značilnosti iz slik brezpilotnega letalnika in satelitskih slik.
Da bi bolje zajeli informacije na različnih ločljivostih in ohranili več prostorskih informacij, so bile prvotno izluščene značilnosti poslane v mrežo piramidne predstavitve za nadaljnjo obdelavo.
Modul WAMF je bil nato uporabljen za izračun podobnosti in združevanje različnih značilnosti.
Končne združene značilnosti so bile razširjene za izdelavo končne izhodne napovedne mape.
Rezultat je toplotna karta iste velikosti kot vhodna satelitska slika v modelu WAMF-FPI. Na Sliki \ref{fig:model_architecture} je prikazana skica arhitekture modela WAMF-FPI.
\begin{figure}[h]
\centering
\includegraphics[width=\linewidth]{./img/model.pdf}
\caption{Skica arhitekture modela WAMF-FPI}
\label{fig:model_architecture}
\end{figure}
\subsection{Modul za izluščenje značilnosti}
WAMF-FPI kot vhod uporablja satelitske slike dimenzij 400 × 400 × 3 in slike brezpilotnega letalnika dimenzij 128 × 128 × 3.
Značilnosti obeh vrst slik so izluščene s pomočjo modela PCPVT-S.
V modelu smo odstranili zadnjo stopnjo modela PCPVT-S in uporabili samo prve tri stopnje za izluščene značilnosti. Pri dimenzijah vhodnih slik 400 x 400 x 3 in 128 x 128 x 3 oba pristopa pridobita značilnostne mape z obliko
25 x 25 x 320 in 8 x 8 x 320.
V primerjavi z modelom Deit-S \cite{touvron2020training}, ki je bil uporabljen v FPI \cite{dai2022finding}, model PCPVT-S uporablja piramidno predstavitev.
Ta struktura je bolj prilagojena za naloge goste napovedi.
Pravzaprav uporaba piramidne predstavitve zagotavlja osnovo za kasnejšo integracijo modula WAMF.
Poleg tega mreža s piramidno predstavitvijo 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.
Pristranskost, ki je posledica nizke ločljivosti značilnostne mape, je bila odstranjena že na samem začetku.
Končni izhod je stisnjen samo za faktor štiri v primerjavi z vhodom, kar je potem z bikubično interpolacijo povečano nazaj na velikost vhodne satelitske slike.
\subsection{Arhitektura utežno-prilagodljivega združevanja večznačilnostnih lastnosti (WAMF)}
Modul za združevanje značilnosti je zasnovan tako, da združuje informacije iz dveh ločenih vhodnih tokov, v tem primeru iz UAV (brezpilotnega letalnika) in SAT (satelita).
Ta modul uporablja piramido značilnosti iz obeh in izračuna korelacije med njimi, da jih združi v en sam izhod.
Za začetek se izvedejo konvolucijske operacije na značilnostnih mapah UAV in SAT.
Konvolucijske operacije so izvedene s konvolucijskimi jedri velikosti $1 \times 1$, kar omogoča prilagoditev kanalskih dimenzij značilnostnih map.
Za UAV značilnostne mape:
\begin{equation}
U1_{\text{UAV}} = \text{Conv1}{\text{UAV}}(s3{\text{UAV}})
\end{equation}
\begin{equation}
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}}).
\end{equation}
Za SAT značilnostne mape:
\begin{equation}
U1_{\text{SAT}} = \text{Conv1}{\text{SAT}}(s3{\text{SAT}})
\end{equation}
\begin{equation}
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}}),
\end{equation}
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}})
\end{equation}
\begin{equation}
A2 = \text{corr}(U2_{\text{UAV}}, U3_{\text{SAT}})
\end{equation}
\begin{equation}
A3 = \text{corr}(U3_{\text{UAV}}, U3_{\text{SAT}}),
\end{equation}
kjer je $\text{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.
Rezultat tega postopka je nova značilnostna mapa, imenovana korelacijska mapa, kjer vsaka vrednost predstavlja stopnjo podobnosti med poizvedbo in delom iskalne mape na določeni lokaciji.
Za dokončanje postopka se uporabi bikubična interpolacija, da se združena mapa poveča na velikost vhodne satelitske slike.
Na izhodu dobimo toplotno karto iste velikosti kot vhodna satelitska slika v WAMF-FPI.
\subsection{Metrika RDS}
Da bi lahko ovrednotili in primerjali zmogljivost našega modela, uporabljamo metriko RDS \cite{wang2023wamf}.
Zaradi različnih meril podatkov v naboru podatkov vsak piksel v različnih satelitskih slikah predstavlja različno razdaljo.
Čeprav model morda najde točko, ki je na satelitski sliki blizu dejanske lokacije, lahko v resničnem prostoru povzroči veliko napako.
Da bi se izognili težavam zaradi spremembe merila, RDS izračuna relativno razdaljo na ravni pikslov med napovedano in dejansko točko.
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}},
\end{equation}
kjer so:
\begin{itemize}
\item \( w \) širina v pikslih satelitske slike,
\item \( h \) višina v pikslih satelitske slike,
\item \( dx \) pikselska razdalja med vodoravnimi koordinatami napovedane pozicije in dejanske pozicije,
\item \( dy \) pikselska razdalja med navpičnimi koordinatami napovedane pozicije in dejanske pozicije,
\item \( k \) je faktor merila, ki je v tem delu postavljen na 10.
\end{itemize}
Za lažje razumevanje delovanja metrik RDS smo dodali Dodatek \ref{appendix:RDS} k diplomskemu delu, ki vsebuje tri primere izračuna metrike.
\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.
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 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.
\end{description}
Za vsako iteracijo učenja smo iz vsake satelitske slike 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.
\chapter{Eksperimentalna evalvacija}
\label{ch4}
V tem poglavju so podrobno predstavljeni rezultati, doseženi v različnih fazah eksperimentalne evalvacije modela WAMF-FPI \cite{wang2023wamf}.
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 CWMSE prav tako pokazala dobre rezultate
\subsection{Hanningova kriterijska funkcija}
V članku WAMF-FPI \cite{wang2023wamf} so avtorji predlagali uporabo Hanningove kriterijske funkcije.
Prvi pomemben vidik te funkcije izgube je dodelitev uteži vzorcem.
Namesto enakega pomena vseh pozitivnih vzorcev, kriterijska funkcija Hanning dodeli različne uteži glede na lokacijo vzorca. Na Sliki \ref{fig:gt_heatmap_with_label} je prikazan primer vzorca.
\begin{figure}[h]
\centering
\includegraphics[width=0.35\textwidth]{./img/gt_heatmap_with_label.jpg}
\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 robovnih položajev, kar je v kontekstu satelitskih slik 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.
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}
\text{Hanning}(n) =
\begin{cases}
0.5 + 0.5 \cos\left(\frac{2\pi n}{M-1}\right) & \text{za } 0 \leq n \leq M - 1 \\
0 & \text{sicer}
\end{cases}
\end{equation}
Uteži primerov:
\begin{itemize}
\item Utež negativnih vzorcev: $$w_{pos} = NG / (NN (NW + 1)). $$
\item Utež pozitivnih vzorcev: $$w_{neg} = HN(n) / (NW + 1), $$
\end{itemize}
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.
\end{itemize}
Na Sliki \ref{fig:hann_kernel} je prikazana vizualizacija Hanningovega jedra.
\begin{figure}[h]
\centering
\includegraphics[width=0.45\textwidth]{./img/3d_hanning_kernel.png}
\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.
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.
Gaussova funkcija:
\begin{equation}
\text{Gauss}(n) =
\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{equation}
Na Sliki \ref{fig:gauss_kernel} je prikazana vizualizacija Gaussovega jedra.
\begin{figure}[h]
\centering
\includegraphics[width=0.45\textwidth]{./img/3d_gaussian_kernel.png}
\caption{Normalizirano Gaussovo jedro}
\label{fig:gauss_kernel}
\end{figure}
\subsection{Hanningova utežena srednja kvadratna napaka}
Hanningova 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.
Hanningova funkcija je podana kot:
\begin{equation}
\text{Hanning}(n) =
\begin{cases}
0.5 + 0.5 \cos\left(\frac{2\pi n}{M-1}\right) & \text{za } 0 \leq n \leq M - 1 \\
0 & \text{sicer}
\end{cases}
\end{equation}
\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. "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}}}.
\end{equation}
\begin{itemize}
\item $N_{\text{true}}$: število vzorcev, katerih resnična vrednost je večja od 0.
\item $N_{\text{false}}$: število vzorcev, katerih resnična vrednost je enaka ali manjša od 0.
\item $N_{\text{all}}$: skupno število vzorcev.
\item $\text{MSE}{\text{true}} = \frac{1}{N{\text{true}}} \sum_{i=1}^{N_{\text{true}}} (y_i - \hat{y}_i)^2$ za vzorce, katerih resnična vrednost je večja od 0.
\item $\text{MSE}_{\text{false}} = \frac{1}{N{\text{false}}} \sum_{i=1}^{N_{\text{false}}} (y_i - \hat{y}_i)^2$ za vzorce, katerih resnična vrednost je enaka ali manjša od 0.
\item $\text{true\_weight}$ in $\text{false\_weight}$: uteži, dodeljene skupinama \textit{true} in \textit{false}.
\end{itemize}
\subsection{Primerjava rezultatov}
V kontekstu geolokalizacije brezpilotnih letalnikov v modelu WAMF-FPI je Hanningova kriterijska funkcija izkazala izjemno učinkovitost glede na vrednosti RDS.
Kot je razvidno iz Tabele \ref{tab:metode}, razmerje $RDS_{\text{train}}$ za Hanningovo kriterijsko funkcijo je 0.893, kar kaže na visoko natančnost pri učenju modela.
Čeprav se razmerje $RDS_{\text{val}}$ zmanjša na 0.709, je še vedno precej višje v primerjavi z drugimi preučevanimi kriterijskimi funkcijami.
V primerjavi s Hanningovo kriterijsko funkcijo so druge kriterijske funkcije praktično neuporabne, kar potrjuje,
da je Hanningova kriterijska funkcija optimalna izbira za geolokalizacijo brezpilotnih letalnikov v obravnavanem modelu \cite{wang2023wamf}.
\begin{table}[ht]
\centering
\begin{tabular}{|c|c|c|c|c|}
\hline
Kriterijska funkcija & vrednost & $RDS_{\text{train}}$ & $RDS_{\text{val}}$ & $\overline{\Delta_m}$ [m] \\
\hline
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\\
\hline
\end{tabular}
\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_m} 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 \\
GWMSE & 0.10 & 0.37 & 1.96 & 8.08 \\
HWMSE & 0.00 & 0.10 & 1.35 & 6.71 \\
CWMSE & 0.05 & 0.22 & 1.93 & 8.59 \\
\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}
Hanningova kriterijska funkcija, ki je značilna po dodeljevanju uteži vzorcem glede na njihovo lokacijo, je na učni množici dosegla skupno vrednost 8.49 in $RDS_{\text{train}}$
vrednost 0.893. Kljub temu, da je na validacijski množici dosegla nekoliko nižjo $RDS_{\text{val}}$
vrednost 0.709, to kaže, da se je znanje dobro preneslo na validacijsko množico. Zaradi teh pozitivnih rezultatov smo Hanningovo kriterijsko funkcijo uporabljali v nadaljnjem testiranju.
V spodnjem razdelku so na Slikah \ref{fig:drone_net_example_0}, \ref{fig:drone_net_example_1}, \ref{fig:drone_net_example_2}, \ref{fig:drone_net_example_3}, \ref{fig:drone_net_example_4} in \ref{fig:drone_net_example_5}
predstavljeni primeri lokalizacije z modelom WAMF-FPI na vzorcu iz podatkovne množice za Ljubljano.
S pomočjo teh primerov lahko podrobneje razumemo zmogljivosti in omejitve uporabljenega modela v praksi.
Na vsaki sliki je z rdečim krogcem označena dejanska lokacija (ang. ground truth), medtem ko je z modrim krogcem označena predikcija modela, ki predstavlja najvišjo točko v toplotni karti.
\subsubsection{Primeri dobre lokalizacije}
\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.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.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.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}
\subsubsection{Primeri slabe lokalizacije}
\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.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}
\begin{figure}[H]
\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.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 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}
\section{Učenje s stratificiranim vzorčenjem}
Stratificirano vzorčenje igra ključno vlogo pri ocenjevanju kakovosti modela v heterogenih podatkovnih zbirkah.
V tem podpoglavju bomo raziskali kaj so prednosti in slabosti stratificiranega vzorčenja.
\subsection{Stratificirano vzorčenje}
Stratificirano vzorčenje zagotavlja, da so vse podkategorije v populaciji ustrezno zastopane v vzorcu, kar izboljša natančnost ocen.
Vendar pa model morda ni pripravljen na povsem nove, nevidene podatke in se lahko preveč prilagodi specifični distribuciji podatkov.
\subsection{Rezultati}
\begin{table}[ht]
\centering
\begin{tabular}{|c|c|c|c|c|}
\hline
Način & $\text{HANN}_{\text{val}}$ & $\text{RDS}_{\text{train}}$ & $\text{RDS}_{\text{val}}$ & $\overline{\Delta_m}$ [m] \\
\hline
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.}
\label{tab:stratified}
\end{table}
\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 v Tabelah \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.
\section{Vpliv velikosti Hanningovega okna}
Hanningova kriterijska funkcija je ključna za določanje uteži vzorcev v satelitskih slikah.
Majhna velikost okna omejuje območje vzorcev, ki ga zajema.
Takšna omejitev lahko zmanjša učinkovitost povratnega razširjanja med učenjem modela, saj kriterijska funkcija nima dovolj širokega vpliva na celotno mrežo.
Nasprotje predstavlja preveliko okno, ki zajema široko paleto vzorcev. Kljub širšemu zajemu, lahko detajli v sliki postanejo manj opazni, kar zmanjšuje natančnost predikcij.
\subsection{Eksperimentalni rezultati}
V eksperimentu smo vsak model posebej naučili z različnimi velikostmi Hanningovega okna, da bi ocenili vpliv velikosti oken na modelovo natančnost.
Za testiranje smo uporabili kombinacijo slike iz brezpilotnega letalnika in satelitske slike, zagotavljajoč enake vhodne podatke za vse modele.
Referenčni sliki za testiranje sta prikazani na Sliki \ref{fig:sat_drone}.
Na Sliki \ref{fig:plot_different_hann_kernels} je prikazana primerjava rezultatov ob uporabi različnih velikosti Hanningovega okna.
\begin{figure}[h]
\centering
\includegraphics[width=0.9\textwidth]{./img/sat_drone.png}
\caption{Primer referenčnih slik, ki smo jih uporabili za testiranje.}
\label{fig:sat_drone}
\end{figure}
\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{./img/plot_different_hann_kernels.png}
\caption{Primerjava rezultatov ob uporabi različnih velikosti Hanningovega okna, na celotni validacijski množici.}
\label{fig:plot_different_hann_kernels}
\end{figure}
Eksperimenti so bili izvedeni z različnimi velikostmi oken, da bi ugotovili njihov vpliv na uspešnost modela. Primeri so prikazani na slikah v Dodatku \ref{appendix:primerjava3d}.
Podatki kažejo na optimalno ravnovesje med velikostjo oken in natančnostjo modela.
Najboljše uspešnosti so bile dosežene z okni velikosti 31 in 33. Te velikosti sovpadajo s priporočili iz literature, kjer je bila optimalna velikost okna določena na 33 \cite{wang2023wamf}.
Čeprav imajo nekatera okna boljšo vrednost kriterijske funkcije, je analiza slik pokazala, da je najmanj šuma prav pri oknih velikosti 31 in 33.
Okna, ki imajo manjše ali večje jedro od teh velikosti, začnejo vnašati šum na različnih lokacijah, kar vodi do zmanjšane natančnosti pri lokalizaciji. Ta šum lahko moti interpretacijo satelitskih slik in zmanjša zanesljivost modela.
Zaključimo lahko, da je izbira prave velikosti Hanningovega okna ključna za doseganje optimalnih rezultatov.
\section{Regularizacija}
V tem podpoglavju raziskujemo tehniko izpuščanja nevronov kot sredstvo regularizacije v nevronskih mrežah.
Ocenjujemo njen vpliv na model Twins, predstavimo pa tudi, kako različni parametri te tehnike vplivajo na uspešnost modela.
\subsection{Izpuščanje nevronov}
V svetu strojnega učenja je regularizacija ključna tehnika, ki se uporablja za preprečevanje prekomernega prilagajanja modela.
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 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}.
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.
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čali robustnost modela.
\end{enumerate}
\subsection{Rezultati}
\begin{table}[H]
\centering
\label{tab:parametri_izpuscanje}
\begin{tabular}{|l|c|c|c|}
\hline
\textbf{Parameter} & \textbf{UAV} & \textbf{Satelit} & \textbf{Združevanje} \\
\hline
dropout & 0.1 & 0.1 & 0.1 \\
attn\_drop & 0.1 & 0.1 & - \\
proj\_drop & 0.1 & 0.1 & - \\
head\_drop & 0.1 & 0.1 & - \\
mlp\_drop1 & 0.1 & 0.1 & - \\
mlp\_drop2 & 0.1 & 0.1 & - \\
pos\_drops & 0.05 & 0.05 & - \\
\hline
\end{tabular}
\caption{Parametri z uravnovešenim izpustom nevronov.}
\label{tab:param_1}
\end{table}
\begin{table}[H]
\centering
\label{tab:parametri_izpuscanje_dve}
\begin{tabular}{|l|c|c|c|}
\hline
\textbf{Parameter} & \textbf{UAV} & \textbf{Satelit} & \textbf{Združevanje} \\
\hline
dropout & 0.15 & 0.05 & 0.05 \\
attn\_drop & 0.15 & 0.05 & - \\
proj\_drop & 0.15 & 0.05 & - \\
head\_drop & 0.15 & 0.05 & - \\
mlp\_drop1 & 0.15 & 0.05 & - \\
mlp\_drop2 & 0.15 & 0.05 & - \\
pos\_drops & 0.1 & 0.05 & - \\
\hline
\end{tabular}
\caption{Parametri z neuravnovešenim izpuščanjem nevronov.}
\label{tab:param_2}
\end{table}
\begin{table}[H]
\centering
\begin{tabular}{|c|c|c|c|c|}
\hline
Način & $\text{HANN}_{\text{val}}$ & $\text{RDS}_{\text{train}}$ & $\text{RDS}_{\text{val}}$ & $\overline{\Delta_m}$ [m] \\
\hline
Brez izpuščanja & 8.49 & 0.893 & 0.709 & 43.42 \\
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.}
\label{tab:izpuscanje}
\end{table}
Uporaba uravnovešenega izpuščanja nevronov je privedla do vrednosti $\text{RDS}_{\text{val}}$ 0.690,
medtem ko je neuravnovešeno izpuščanje doseglo vrednost 0.719, kar kaže na izboljšano robustnost modela v primerjavi z modelom brez izpuščanja,
ki je dosegel vrednost 0.709, kot je prikazano v Tabeli \ref{tab:izpuscanje}.
Parametri za izpuščanje nevronov so podrobno predstavljeni v Tabelah \ref{tab:param_1} in \ref{tab:param_2}.
\section{Uporaba prednaučene mreže}
V tem podpoglavju raziskujemo vpliv uporabe prednaučene mreže Twins za izluščenje značilnosti pred združitvijo v modulu za združevanje značilnosti.
Cilj je oceniti, kako uporaba prednaučene mreže vpliva na uspešnost modela WAMF-FPI.
\subsection{Prednaučena mreža za izluščenje značilnosti}
Uporaba prednaučenih modelov v strojnem učenju omogoča izkoristek že obstoječega znanja modela za pospešitev in izboljšanje učenja na novem naboru podatkov.
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 v Tabelah \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, kar potrjuje, da so prednaučeni modeli lahko zelo koristni v scenarijih, ko želimo izkoristiti že obstoječe znanje za izboljšanje uspešnosti na novih nalogah.
\begin{table}[ht]
\centering
\begin{tabular}{|c|c|c|c|c|}
\hline
Način & $\text{HANN}_{\text{val}}$ & $\text{RDS}_{\text{train}}$ & $\text{RDS}_{\text{val}}$ & $\overline{\Delta_m}$ [m] \\
\hline
Prednaučena mreža & 8.49 & 0.893 & 0.709 & 43.42 \\
Neprednaučena mreža & 8.21 & 0.627 & 0.630 & 60.23 \\
\hline
\end{tabular}
\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 \\
Neprednaučena mreža & 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}
\chapter{Sklepne ugotovitve}
\label{ch5}
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.
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.
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.
\appendix
\chapter{Primeri izračuna RDS}
\label{appendix:RDS}
Za boljše razumevanje, kako se RDS izračuna in kaj nam predstavlja, si oglejmo tri različne primere.
\textbf{Primer 1:}
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.
\end{equation}
\end{center}
Ker sta $dx$ in $dy$ oba 0, je $RDS$ za ta primer enak $1$ (kar pomeni, da je napovedana pozicija točno na dejanski poziciji).
\textbf{Primer 2:}
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.
\end{equation}
\end{center}
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.
\end{equation}
\end{center}
V tem primeru je napovedana pozicija odmaknjena tako v vodoravni kot navpični smeri. $RDS$ vrednost $0.806$ kaže na večjo relativno napako v primerjavi s prejšnjim primerom.
RDS metrika nam omogoča kvantitativno oceno natančnosti napovedane pozicije v primerjavi z dejansko pozicijo.
Višja kot je vrednost RDS, bližje je napovedana točka dejanski točki.
V obratnem primeru, nižja kot je vrednost RDS, večja je napaka med napovedano in dejansko točko.
\chapter{Primerjava toplotnih kart}
\label{appendix:primerjava3d}
\begin{figure}[h]
\centering
\includegraphics[width=0.7\textwidth]{./img/heatmaps3d_1.png}
\caption{Primerjava toplotnih map ob uporabi velikosti 27 in 29 Hanningovega okna.}
\label{fig:heatmaps3d_1}
\end{figure}
\begin{figure}[h]
\centering
\includegraphics[width=0.7\textwidth]{./img/heatmaps3d_2.png}
\caption{Primerjava toplotnih map ob uporabi velikosti 31 in 33 Hanningovega okna.}
\label{fig:heatmaps3d_2}
\end{figure}
\begin{figure}[h]
\centering
\includegraphics[width=0.7\textwidth]{./img/heatmaps3d_3.png}
\caption{Primerjava toplotnih map ob uporabi velikosti 35 in 37 Hanningovega okna.}
\label{fig:heatmaps3d_3}
\end{figure}
\begin{figure}[h]
\centering
\includegraphics[width=0.7\textwidth]{./img/heatmaps3d_4.png}
\caption{Primerjava toplotnih map ob uporabi velikosti 39 in 41 Hanningovega okna.}
\label{fig:heatmaps3d_4}
\end{figure}
\begin{figure}[h]
\centering
\includegraphics[width=0.7\textwidth]{./img/heatmaps3d_5.png}
\caption{Primerjava toplotnih map ob uporabi velikosti 43 in 45 Hanningovega okna.}
\label{fig:heatmaps3d_5}
\end{figure}
%\cleardoublepage
%\addcontentsline{toc}{chapter}{Literatura}
% če imaš težave poravnati desni rob bibliografije, potem odkomentiraj spodnjo vrstico
\raggedright
%\printbibliography[heading=bibintoc,type=article,title={Članki v revijah}]
%
%\printbibliography[heading=bibintoc,type=inproceedings,title={Članki v zbornikih}]
%
%\printbibliography[heading=bibintoc,type=incollection,title={Poglavja v knjigah}]
% v zadnji verziji diplomskega dela običajno združiš vse tri vrste referenc v en sam seznam in
% izpustiš delne sezname
\printbibliography[heading=bibintoc,title={Literatura}]
\end{document}