% 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
\noindent V vzorcu je predstavljen postopek priprave diplomskega dela z uporabo okolja \LaTeX. Vaš povzetek mora sicer vsebovati približno 100 besed, ta tukaj je odločno prekratek.
Dober povzetek vključuje: (1) kratek opis obravnavanega problema, (2) kratek opis vašega pristopa za reševanje tega problema in (3) (najbolj uspešen) rezultat ali prispevek diplomske naloge.
\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 This sample document presents an approach to typesetting your BSc thesis using \LaTeX.
A proper abstract should contain around 100 words which makes this one way too short.
Trenutno se droni v glavnem zanašajo na satelitske signale za navigacijo in določitev položaja med letom.
Vendar se v praksi satelitski signal močno oslabi po dolgi razdalji, kar lahko povzroči motnje sprejetega satelitskega signala na dronu.
Zlasti na vojaškem področju je izguba satelitskega signala pogosta.
Samozadostna lokalizacija in navigacija dronov v okoljih, kjer so satelitski signali omejeni ali moteni, postaja vse pomembnejša.
Da bi rešili problem avtonomne navigacije brezpilotnih letalnikov v okolju, kjer je uporaba satelitskih signalov omejena, so bile prejšnje metode večinoma izvedene z uporabo prepoznavanja slik.
Lokalizacija naprave se doseže z ujemanjem slike letalnika z vsako sliko v satelitski slikovni bazi.
Metoda prepoznavanja slik je na nekaterih naborih podatkov dosegla odlične rezultate. Vendar ima več problemov:
\begin{itemize}
\item Pred praktično uporabo je treba vnaprej pripraviti slikovno bazo za prepoznavanje, in vse slike v bazi so poslane modelu za izvleček značilnosti.
\item Za doseganje bolj natančne pozicioniranja, mora baza pokrivati čim večji obseg in slika poizvedbe mora biti izračunana z vsemi slikami v bazi. To prinaša večji skladiščenjski in računalniški pritisk na računalnik.
\item Ko se model posodobi, je treba posodobiti tudi ustrezno bazo.
\end{itemize}
Povzemajoč, metoda prepoznavanja slik zahteva veliko predobdelovalnih operacij. Hkrati pa so tudi zahteve za skladiščno zmogljivost in računalniško moč precej velike.
Ta metoda, podobna sinergiji med človeškimi očmi in možgani, omogoča iskanje ustrezne lokacije v iskalnem zemljevidu (satelitska slika) na podlagi slike drona.
Ko je lokacija iskanja najdena na iskalnem zemljevidu, lahko iz podatkov o zemljepisni širini in dolžini iskalnega zemljevida sklepamo o trenutnem položaju drona.
Brezpilotni letalniki ali droni so zračna plovila, ki se lahko upravljajo na daljavo ali avtonomno preko programske opreme, ki je integrirana s senzorji in GPS sistemi.
Droni imajo široko paleto uporabe v različnih industrijah, vključno z vojaško, komercialno, znanstveno in rekreativno uporabo.
Droni so postali izjemno pomembni za zbiranje podatkov v realnem času, izvajanje raziskav in analiz na terenu, kot tudi za opravljanje nalog, ki so lahko za človeka nevarne ali nedostopne.
Zaradi svoje fleksibilnosti in prilagodljivosti se uporabljajo v nalogah, kot so iskanje in reševanje, zaznavanje okoljskih sprememb, kmetijski nadzor, inspekcija infrastrukture, filmska produkcija, dostava paketov in še veliko več.
Trg dronov je hitro rastoč in vključuje široko paleto proizvajalcev, ki ponujajo različne modele za različne namene in proračune.
Kot tehnologija napreduje, se pojavljajo tudi novi izzivi, vključno z vprašanji zasebnosti, varnosti in zakonodajnimi ureditvami.
Zato je to področje postalo predmet intenzivnih raziskav in razvoja, s ciljem optimizacije zmogljivosti, zanesljivosti in dostopnosti brezpilotnih letalnikov.
\subsection{Satelit}
Sateliti so objekti, ki krožijo okoli Zemlje ali drugih nebesnih teles in se uporabljajo za številne namene, vključno z komunikacijo, opazovanjem vremena, znanstvenimi raziskavami, navigacijo in še veliko več.
Za komercialno in vojaško uporabo je pomembna zlasti komunikacijska satelitska tehnologija.
Ta omogoča globalno povezljivost in prenos podatkov, kot so televizijski signali, telefonski klici in internet.
Vremenski sateliti so ključni za napovedovanje vremena in spremljanje okoljskih sprememb, saj zagotavljajo nenehne in natančne podatke o atmosferskih razmerah.
Navigacijski sateliti, kot je sistem Global Positioning System (GPS), omogočajo določanje položaja in časa na skoraj katerem koli mestu na Zemlji.
Ta tehnologija je ključna za številne aplikacije, od vojaške navigacije do vsakodnevnega usmerjanja v prometu.
Znanstveni sateliti se uporabljajo za študij nebesnih teles, vključno z Zemljo.
Ta opazovanja lahko pomagajo pri razumevanju podnebnih sprememb, geoloških procesov in drugih pomembnih znanstvenih vprašanj.
Lansiranje satelita je kompleksno in drago opravilo, ki zahteva natančno načrtovanje in usklajevanje.
Sateliti morajo biti postavljeni na natančno določeno orbito, da bi zagotovili optimalno delovanje in izogibanje trkom z drugimi objekti v vesolju.
\subsection{Geolokalizacija}
Geolokalizacija je proces določanja geografske lokacije objekta, kot je mobilni telefon, računalnik, vozilo ali kateri koli druga povezana naprava.
Ta postopek je postal ključen del sodobnih tehnologij in se uporablja v številnih aplikacijah in storitvah.
Geolokalizacija je bistvena za sistem GPS in druge navigacijske sisteme, ki voznikom, pohodnikom in drugim omogočajo natančno navigacijo po poti do cilja.
Podjetja uporabljajo geolokalizacijo za ciljno usmerjanje oglasov glede na lokacijo uporabnikov, kar omogoča, da so oglasi prilagojeni lokalnim zanimanjem in potrebam.
Geolokalizacija se uporablja tudi v varnostnih aplikacijah, kot so sledenje vozil, iskanje izgubljenih ali ukradenih naprav in nadzor nad dostopom do določenih storitev na podlagi lokacije.
V socialnih omrežjih in aplikacijah, ki uporabljajo lokacijo, je geolokalizacija omogočila uporabnikom, da delijo svojo lokacijo, najdejo prijatelje v bližini ali odkrijejo lokalne dogodke in atrakcije.
Geolokalizacija se uporablja tudi v različnih znanstvenih raziskavah, kot je spremljanje selitve živali, raziskovanje tektonskih premikov in analiza podnebnih sprememb.
Kljub številnim uporabam obstajajo tudi izzivi pri uporabi geolokalizacije.
Natančnost geolokalizacije je odvisna od številnih dejavnikov, vključno z dostopnostjo satelitskih signalov, gostoto urbanih območij in uporabljeno tehnologijo.
Prav tako se pojavljajo vprašanja glede zasebnosti in varnosti, saj lahko nepooblaščeno sledenje vodi v zlorabo informacij o lokaciji.
\subsection{Iskanje tocke v sliki}
Iskanje točke v sliki je postopek identifikacije in določanja posebnih točk ali predmetov v določeni sliki ali seriji slik.
Ta tehnologija se je izkazala za pomembno v različnih aplikacijah, vključno z navigacijo in geolokalizacijo.
FPI je pozicijski standard, kjer je vhodna slika, ki jo je treba pozicionirati, poimenovana kot \textit{query}, in slika, ki jo je treba pridobiti, se imenuje \textit{search map}.
Ta proces se lahko uporablja za različne naloge lokalizacije, kot so lokalizacija brezpilotnih letalnikov (UAV) in prečno geolokalizacijo. Glavni cilj je najti ustrezno lokacijo v iskalnem zemljevidu.
FPI neposredno vnese poizvedbo in iskalni zemljevid v model, ki nato izpiše zemljevid toplote, ki predstavlja napovedano lokacijsko porazdelitev poizvedbe v iskalnem zemljevidu.
Ena od ključnih prednosti metode FPI je, da ne zahteva veliko pripravljalnih podatkov ali operacij ekstrakcije značilnosti vnaprej. Edino shranjevanje, ki je potrebno, je iskalni zemljevid.
Ta metoda omogoča hitro in natančno določanje lokacij v kompleksnih slikah in lahko služi številnim namenom.
Na primer, v scenarijih brezpilotnih letalnikov bi FPI lahko uporabili za identifikacijo in sledenje specifičnih lokacij ali objektov na tleh iz zraka.
V geolokacijskih aplikacijah bi FPI lahko uporabili za določanje lokacije na satelitskih posnetkih.
Skupno gledano iskanje točke v sliki, še posebej s pomočjo FPI metode, predstavlja pomemben korak naprej v tehnologijah lokalizacije in navigacije.
Ponuja elegantno rešitev za težave, ki jih lahko tradicionalne metode imajo pri obdelavi kompleksnih slik in informacij, in je primerna za široko paleto aplikacij in industrije.
\subsection{Konvolucijska nevronska mreza}
Konvolucijska nevronska mreža (CNN - Convolutional Neural Network) je posebna vrsta umetnih nevronskih mrež, zasnovana za obdelavo vizualnih podatkov.
S svojo zmožnostjo avtomatičnega in prilagodljivega učenja hierarhičnih značilnosti iz vhodnih podatkov se CNN pogosto uporablja v nalogah strojnega vida, kot so razpoznavanje vzorcev, klasifikacija slik in iskanje točk v slikah.
Struktura CNN vključuje konvolucijske plasti, ki izvajajo konvolucijsko operacijo s pomočjo majhnih filtrirnih matrik za odkrivanje lokalnih značilnosti, kot so robovi, teksture in oblike.
To sledi združevalnim plastem, ki zmanjšajo dimenzionalnost slike, hkrati pa ohranijo pomembne informacije.
Na koncu se uporabljajo popolnoma povezane plasti, ki združijo lokalne značilnosti v globalno razumevanje slike, kar omogoča klasifikacijo ali regresijo.
CNN se izkaže za zelo učinkovito v primerjavi z drugimi tipi nevronskih mrež v nalogah, povezanih z obdelavo slik, zlasti zaradi sposobnosti zajemanja prostorskih hierarhij značilnosti.
To pomeni, da so sposobne razumeti in reprezentirati sliko na več ravneh abstrakcije.
Siamska nevronska mreža (Siamese Neural Network) je posebna vrsta nevronske mreže, ki se uporablja predvsem za primerjavo ali razlikovanje med dvema vhodoma.
Glavna značilnost siamske nevronske mreže je, da ima dva ali več identičnih podmrež, ki delijo iste uteži in parametre.
Te podmreže vzporedno obdelujejo vhodne podatke in na koncu se rezultati združijo, da se določi razlika ali podobnost med vhodnimi podatki.
Struktura:
\begin{itemize}
\item\textbf{Dva vhoda}: Siamska mreža sprejme dva vhoda, ki ju želi primerjati.
\item\textbf{Dve identični podmreži}: Vsak vhod se obdeluje skozi svojo podmrežo. Obe podmreži imata enako strukturo in delita iste uteži.
\item\textbf{Združevanje rezultatov}: Na koncu se izhodi obeh podmrež združijo, da se določi razlika ali podobnost med vhodnimi podatki.
\end{itemize}
Siamske nevronske mreže se pogosto uporabljajo v nalogah, kot so preverjanje podobnosti, prepoznavanje obrazov, preverjanje pristnosti in druge naloge, kjer je pomembno ugotoviti, ali sta dva vzorca podobna ali različna.
Toplotna karta je grafična predstavitev podatkov, kjer vrednosti v matriki predstavljajo različne barve.
Ponavadi se uporablja za prikazovanje, kako se določena spremenljivka razporedi po dvodimenzionalnem prostoru.
To je zelo uporabno pri vizualizaciji razmerij, povezav ali gostote v velikih naborih podatkov.
Toplotne karte so priljubljene v mnogih znanstvenih in poslovnih aplikacijah.
V statistiki in strojnem učenju se lahko uporabljajo za prikaz korelacij med različnimi značilnostmi.
V biologiji se pogosto uporabljajo za prikazovanje izražanja genov, v geografiji pa za vizualizacijo gostote prebivalstva ali druge geolokacijske podatke.
Ena od prednosti toplotne karte je, da omogoča hitro in intuitivno razumevanje kompleksnih naborov podatkov.
Vizualizacija barvnih prehodov pomaga opazovalcu, da hitro zazna vzorce in trende, ki bi jih bilo težje zaznati v tabelaričnih ali tekstovnih prikazih.
Preden so obstajali transformerji, so bile najpogostejše metode za obvladovanje zaporedij v jezikovnih modelih rekurentne nevronske mreže (RNN) in njihove različice, kot so dolgokratni kratkotrajni spomini (LSTM) in obogatene RNN (GRU).
Najpogostejša uporaba teh modelov v kontekstu strojnega prevajanja ali drugih nalog pretvarjanja zaporedja v zaporedje je bila uporaba strukture kodirnik-dekodirnik.
V tej strukturi je bilo zaporedje vhodnih besed ali tokenov kodirano v latentni prostor z uporabo RNN (kodirnik), ta latentni vektor pa je bil nato uporabljen za generiranje zaporedja izhodnih besed ali tokenov z uporabo drugega RNN (dekodirnik).
Problem s to strukturo je bil, da je bil latentni prostor omejen na velikost fiksne dolžine in je moral vsebovati vse informacije iz izvornega zaporedja, ki so potrebne za generiranje ciljnega zaporedja.
To je omejevalo model pri obvladovanju dolgih zaporedij, saj je bilo težko ohraniti informacije iz zgodnjega dela zaporedja do konca.
Da bi to težavo rešili, so raziskovalci vključili mehanizem pozornosti, ki je omogočil dekodirniku, da se osredotoči na različne dele izvornega zaporedja na različnih stopnjah generiranja ciljnega zaporedja.
To je bil velik napredek, ki je omogočil boljše obvladovanje dolgih zaporedij.
Članek, ki je predstavil to idejo za strojno prevajanje, je bil "Neural Machine Translation by Jointly Learning to Align and Translate" \cite{bahdanau2015neural}, objavljen leta 2015.
To je bil ključni korak k razvoju Transformerske arhitekture, ki je bila kasneje predstavljena v članku "Attention is All You Need" \cite{vaswani2017attention} leta 2017.
Definirajmo problem strojnega prevajanja kot iskanje najboljše ciljne sekvence $\vec{E}=(e_0, e_1, ..., e_m)$ glede na dane izvorne besede $\vec{F}=(f_0, f_1, ..., f_n)$.
Ta problem lahko izrazimo kot optimizacijo pogojne verjetnosti $P(\vec{E}|\vec{F})$.
Začnimo z opisom RNN-kodirnik-dekodirnik arhitekture.
Za vsako besedo v ciljnem zaporedju $\vec{E}$ se potem izračuna ponderirana vsota skritih stanj iz kodirnika:
\begin{equation}
\vec{a}_t = \text{Attention}(\vec{H}, e_{t-1})
\end{equation}
Potem se ta vektor uporabi za napoved ciljne besede:
\begin{equation}
e_t = \text{Decoder}(\vec{a}_t, e_{t-1})
\end{equation}
Ta pristop omogoča, da dekodirnik upošteva vse besede v izvornem zaporedju, ne samo prejšnje besede v ciljnem zaporedju, kar izboljša kakovost prevoda.
Vendar je to zgolj matematična formulacija koncepta. Dejanski detajli, kot so vrste in struktura kodirnika in dekodirnika, so odvisni od specifičnega modela, ki ga uporabljamo.
V kontekstu strojnega prevajanja so avtorji v članku "Attention is all you need" \cite{vaswani2017attention} o pozornosti predstavili novo vrsto arhitekture, ki se loteva mnogih pasti modelov, ki temeljijo na RNN.
Kljub vsem napredkom pri kodirnikih-dekodirnikih RNN, ki smo jih obravnavali zgoraj, je ostalo dejstvo, da so RNN težko paralelizabilni(parallel), ker zaporedno obdelujejo vhod.
Ključna inovacija tega članka je, da so RNN in njihova skrita stanja v celoti nadomeščena z operacijami na osnovi pozornosti, ki so v mnogih problematičnih režimih bolj učinkovite.
Med ucenjem 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, ki ji sledi popolnoma povezana plast z aktivacijami ReLU, ki obdeluje vsak element vhodne sekvence vzporedno.
Tako večglavi sloj pozornosti kot popolnoma 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.
V članku in predhodni literaturi se vrstice $Q \in\mathbb{R}^{m \times d_k}$ imenujejo "poizvedbe", vrstice $K \in\mathbb{R}^{n \times d_k}$ "ključi", in končno vrstice $V \in\mathbb{R}^{n \times d_v}$ "vrednosti".
Upoštevati je potrebno, da se za izvedbo mora število ključev in vrednosti $n$ ujemati, vendar se lahko število poizvedb $m$ razlikuje.
To pomeni, da če sta dva vektorja bolj poravnana (manjši kot med njima), bo njihova zastopanost v vektorju pozornosti večja. Nasprotno pa, če sta dva vektorja manj poravnana (večji kot med njima), bo njihova zastopanost v vektorju pozornosti manjša.
To je smiselno, saj želimo, da model daje večjo pozornost tistim ključem, ki so bolj relevantni za dano poizvedbo.
Še ena pomanjkljivost, ki so jo raziskovalci opazili pri modelih, ki temeljijo na RNN (Recurrent Neural Networks), je, da imajo težave z uporabo informacij iz elementov, ki so bili opaženi daleč v preteklosti.
To je posledica tega, kar se imenuje "problem dolgih časovnih razdalj", kjer se informacije iz preteklih korakov postopoma izgubljajo skozi čas.
Bolj splošno, RNN imajo težave z povezovanjem zaporednih informacij, ki so med seboj daleč narazen. Tehnike, kot so pozornost na skritih stanjih (attention on hidden states) in dvosmerni modeli (bidirectional models), so bili poskusi za odpravo te težave in so služili kot naravni prehod v tehnike v tem članku.
Avtorji pozornosti omenijo, da delijo vhode v softmax funkcijo z $\sqrt(d_k)$, da bi ublažili učinke velikih vhodnih vrednosti, ki bi vodile do majhnih gradientov med ucenjem.
Za lazje razumevanje, zakaj veliki argumenti softmax vodijo do majhnih gradientov, lahko konstruiramo primer. Začnimo z definicijo softmax funkcije:
kjer C je faktor skaliranja. Iz tega lahko vidimo, da skaliranje zmanjšuje velikost gradientov, kar lahko pomaga pri stabilizaciji učenja.
\subsection{Multi-Head Attention}
Večglava pozornost (Multi-Head Attention) je razširitev mehanizma pozornosti Scaled Dot-Product Attention.
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 funkcija pozornosti Scaled Dot-Product Attention.
Rezultati teh funkcij pozornosti se nato združijo skupaj v eno matriko.
Končno, ta matrika se preslika nazaj v izvirni prostor z uporabo druge linearne preslikave, da se pridobi končni rezultat večglave pozornosti.
kjer so $Q \in\mathbb{R}^{m \times d_{\text{model}}}$, $K \in\mathbb{R}^{n \times d_{\text{model}}}$, in $V \in\mathbb{R}^{n \times d_{\text{model}}}$.
Poleg tega, ob upoštevanju hiperparametra $h$, ki označuje število glav pozornosti, velja: $W_{Qi}\in\mathbb{R}^{d_{\text{model}}\times d_k}$, $W_{Ki}\in\mathbb{R}^{d_{\text{model}}\times d_k}$, $W_{Vi}\in\mathbb{R}^{d_{\text{model}}\times d_v}$, in $W_O \in\mathbb{R}^{hd_v \times d_{\text{model}}}$.
Najprej vemo iz prejšnjega razdelka, da bo vsaka matrika $\text{head}_i$ imela enako število vrstic kot $QW{Qi}$ in enako število stolpcev kot $VW_{Vi}$.
Ker velja $QW_{Qi}\in\mathbb{R}^{m \times d_k}$ in $VW_{Vi}\in\mathbb{R}^{n \times d_v}$, to pomeni, da je $\text{head}_i \in\mathbb{R}^{m \times d_v}$.
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.
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.
Transformerji so prvotno bili omejeni na obdelavo zaporedij, kar je idealno za jezik, vendar ne nujno za slike, ki so običajno 2D.
To se je spremenilo z razvojem Vision Transformerja (ViT) s strani Google-a \cite{vit}.
Namesto da bi slike obdelovali kot 2D mreže pikslov (kot to počnejo konvolucijske nevronske mreže), Vision Transformer slike obravnava kot zaporedje majhnih kvadratov ali "oblizev".
To omogoča uporabo enakih 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.
\subsubsection{ViT arhitektura}
\begin{itemize}
\item Razdelitev slike na oblize: Slika velikosti $H \times W \times C$ se razdeli na kvadrate (oblize) velikosti $P \times P$, kjer je $H$ višina, $W$ širina, $C$ število barvnih kanalov in $P$ velikost obliza.
To ustvari $(H \cdot W)/ P^2$ oblizev. Vsak obliz se nato zravna v 1D vektor dolžine $P^2\cdot C$.
Linearne projekcije: Vsak 1D vektor $x$ se prenese skozi enostaven linearni model (npr. polno povezano plast), da se pretvori v vektorski vložek. To se lahko zapiše kot:
kjer sta $W$ in $b$ uteži in pristranskost linearne plasti.
\item Dodajanje pozicijskih vložkov: Ker transformerji ne vsebujejo nobene inherentne informacije o relativni ali absolutni poziciji vložkov v zaporedju, se dodajo pozicijski vložki.
To so enaki vektorji, ki se dodajo vložkom oblizev, da bi modelu dali nekaj informacij o tem, kje se obliz nahaja v sliki.
Če je $z_i$ vložek $i$-tega obliza in $p_i$ pozicijski vložek, potem je končni vložek $e_i$ določen kot:
\item Transformerjevi bloki: Zaporedje vložkov (zdaj z dodanimi pozicijskimi vložki) se nato prenese skozi več blokov transformerjev.
Ti bloki vsebujejo večglavo samo-pozornost in mreže feed-forward, ki omogočajo modelu, da se nauči, kako povezati različne dele slike. Večglava samo-pozornost se lahko zapiše kot:
kjer je $\text{head}_i =\text{Attention}(QW{Qi}, KW_{Ki}, VW_{Vi})$, $Q$, $K$ in $V$ so poizvedbe, ključi in vrednosti, $W_{Qi}$, $W_{Ki}$, $W_{Vi}$ in $W_O$ so uteži, ki se naučijo, in $\text{Attention}$ je funkcija samo-pozornosti.
\item Klasifikacijska glava: Na koncu se uporabi klasifikacijska glava (ponavadi ena polno povezana plast), da se izračuna končna napoved za dano nalogo (npr. klasifikacija slik). To se lahko zapiše kot:
kjer sta $W_1$ in $W_2$ uteži polno povezanih plasti, $e$ je vložek, ki izhaja iz transformerjevih blokov, in $\text{ReLU}$ in $\text{softmax}$ sta aktivacijski funkciji.
Piramidni Vision Transformer (PVT) \cite{wang2021pyramid} je bil razvit z namenom vključitve piramidne strukture v okvir Transformerja, kar omogoča generiranje večrazsežnih značilnostnih map za naloge goste napovedi, kot so zaznavanje objektov in semantična segmentacija.
Arhitektura PVT je razdeljena na štiri stopnje.
Vsaka od teh stopenj je sestavljena iz plasti za vdelavo obližev, imenovane "patch embedding", in iz več plasti Transformer kodirnika.
Značilnost te arhitekture je, da izstopna ločljivost štirih stopenj postopoma zmanjšuje, kar sledi piramidni strukturi.
Na najvišji stopnji je ločljivost značilnostne mape največja, medtem ko se na najnižji stopnji zmanjša.
Za boljše razumevanje, poglejmo podrobneje prvo stopnjo: Vhodna slika velikosti $ H \times W \times3$ je razdeljena na obliže velikosti $4\times4\times3$.
To pomeni, da je število obližev enako $ HW/4^2$. Vsak obliž je nato sploščen in prenesen v linearno projekcijo, kar rezultira v vdelanih obližih velikosti
$ HW /4^2\times C1$. Ti vdelani obliži, skupaj z dodano vdelavo položaja, prehajajo skozi Transformer 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 (SRA) namesto tradicionalne večglave pozornostne plasti (MHA). Ta pristop omogoča PVT, da učinkovito obdela značilnostne mape visoke ločljivosti.
V primerjavi z Vision Transformer (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. Prav tako je bolj prijazen do računalništva in spomina, saj lahko obdela značilnostne mape višje ločljivosti ali daljše sekvence.
Twins-PCPVT \cite{chu2021twins} je zasnovan na osnovi PVT in CPVT \cite{chu2021conditional}. Glavna razlika med Twins-PCPVT in PVT je v načinu, kako se uporabljajo pozicijski kodiranji.
V PVT so uporabljena absolutna pozicijska kodiranja, medtem ko Twins-PCPVT uporablja pogojna pozicijska kodiranja (CPE), ki so bila predlagana v CPVT.
PVT je uvedel piramidni večstopenjski dizajn, da bi bolje obravnaval naloge goste napovedi, kot so zaznavanje objektov in semantična segmentacija.
Vendar je bilo presenetljivo ugotovljeno, da je manjša učinkovitost PVT-ja predvsem 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 pogojena na vhodih in se lahko naravno izognejo zgoraj omenjenim težavam.
Generator pozicijskega kodiranja (PEG), ki generira CPE, je postavljen za prvim kodirnim blokom vsake stopnje.
Uporablja najpreprostejšo obliko PEG, tj. 2D globinsko konvolucijo brez normalizacije serije.
\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 kot CPVT, 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}.
Nabor podatkov, ki ga predstavljamo, je bil zasnovan z namenom raziskovanja in analize dronov 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 in situacij.
V mestnih območjih je poudarek na razumevanju, kako se droni lokalizirajo in navigirajo med visokimi zgradbami, kjer so lahko GPS signali zmanjšani ali moteni.
V zelenih območjih je cilj razumeti, kako se droni obnašajo v okoljih, kjer so vizualni vzorci manj raznoliki in se teren lahko zdi monoton.
V naboru podatkov za ucenje je 10.000 slik iz desetih mest, pri čemer vsako mesto prispeva 1.000 slik.
Droni so bili kalibrirani na višini 150 metrov nad navedeno nadmorsko višino mesta.
Kamere na dronih imajo vidno polje 80 stopinj in so usmerjene pravokotno na središče Zemlje. Vse slike so bile ustvarjene z uporabo orodja Google Earth Studio
Dodatno je bil v nabor dodan tudi testni nabor podatkov za Ljubljano, ki vključuje 1.000 slik.
Vsaka slika je opremljena z oznakami lokacije kamere v sistemu ECEF. Sistem ECEF (Earth Centered, Earth Fixed) je globalni koordinatni sistem z izhodiščem v središču Zemlje.
Ta pristop je omogočil, da sem imel na voljo širšo regijo za analizo in učenje.
Ko sem imel pripravljene TIFF datoteke, sem začel z učnim procesom. Za vsako iteracijo učenja sem iz vsake TIFF datoteke naključno izrezal regijo velikosti 400x400 pikslov.
Ključnega pomena je bilo, da se je točka lokalizacije vedno nahajala nekje znotraj te izrezane regije. Ta metoda je zagotovila, da je bil model izpostavljen širokemu naboru scenarijev in kontekstov, hkrati pa je ohranila natančnost in relevantnost lokalizacijskih podatkov.
S tem pristopom sem uspešno sestavil nabor podatkov, ki združuje najboljše iz obeh svetov: detajlnost dronskih slik in širino satelitskih slik, kar omogoča poglobljeno analizo in učinkovito učenje.
Ko govorimo o ploscicah v kontekstu kartografije in GIS (Geografski informacijski sistem), se običajno nanašamo na kvadratne segmente,
ki pokrivajo Zemljo in se uporabljajo za hitrejše in učinkovitejše prikazovanje zemljevidov na spletu.
Sistem ploscic je zelo priljubljen v spletnih kartografskih aplikacijah, kot je Google Maps.
Za pretvorbo geografskih koordinat (latitude in longitude) v ploscicne koordinate (x, y) na določeni ravni povečave z uporabo Mercatorjeve projekcije,
Pri sledenju objektov raziskovalci sledenje izvajajo z izračunom podobnosti med predlogo in iskalnim območjem v trenutnem okviru.
Metoda iskanja točk znotraj slike izhaja iz metode na področju sledenja objektov, vendar je ta metoda bolj zapletena kot sledenje objektov.
To je zato, ker sta predloga (dronska slika) in iskalna slika (satelitske slike) iz različnih pogledov, kar povzroča veliko variabilnost.
Metoda iskanja točk z uporabo slike uporablja satelitsko sliko kot iskalno sliko in dronsko sliko kot poizvedbeno sliko.
Nato se slike, posnete z dronom, in satelitske slike ustreznih območij prenesejo v end-to-end (celovito?) omrežje.
Po obdelavi je rezultat toplotni zemljevid, točka z najvišjo vrednostjo na toplotnem zemljevidu pa je lokacija drona, kot jo napove model.
Nato to lokacijo preslikamo na satelitsko sliko. Položaj drona lahko določimo glede na informacije o geografski širini in dolžini, ki jih ohranja satelitska slika.
V FPI avtorji uporabljajo dva Deit-S brez deljenih uteži kot modula za ekstrakcijo značilnosti za vertikalne poglede slik drona in satelitskih slik \cite{dai2022finding}.
Nato se ekstrahirane značilnosti podvržejo izračunu podobnosti, da se pridobi toplotni zemljevid.
Za izboljšanje lokalizacijske zmogljivosti modela je bila uporabljena struktura piramidnih značilnosti (Twins-PCPVT) in modul utežno prilagodljivega združevanja večznačilnostnih lastnosti(WAMF)
V osnovi modela so bile narejene izboljšave z uporabo dveh močnejših PCPVT-S kot modulov za ekstrakcijo značilnosti iz brezpilotnega letalnika in satelitske slike.
Da bi bolje izvlekli informacije večih meril in obdržali več prostorskih informacij, so prvotno izvlečene značilnosti poslane v omrežje piramide značilnosti za nadaljnjo ekstrakcijo značilnosti,
nato pa se modul WAMF uporablja za izračun podobnosti in fuzijo več značilnosti. Končno so združene značilnosti povečane, da se ustvari končna izhodna napovedna mapa.
Na izhodu dobimo toplotno karto iste velikosti kot vhodna satelitska slika v WAMF-FPI.
\subsection{Modul za ekstrakcijo značilnosti}
WAMF-FPI uporablja strukturo, podobno omrežju Siamese, vendar se razlikuje od tradicionalnega sledenja objektom.
Med satelitskimi in slikami brezpilotnega letalnika je velika razlika, saj izvirajo iz različnih naprav.
Zato veji UAV in satelitski pogled v WAMF-FPI ne uporabljata metode deljenja uteži.
WAMF-FPI uporablja satelitske slike (400 × 400 × 3) in UAV slike (128 × 128 × 3) kot vhod modela, nato pa se značilnosti slik ekstrahirajo s pomočjo PCPVT-S.
Natančneje, odstranili smo zadnjo stopnjo PCPVT-S in uporabili samo prve tri stopnje za ekstrakcijo značilnosti.
Ko je velikost vhodnih slik 400 × 400 × 3 in 128 × 128 × 3, lahko iz obeh vej pridobimo značilnostne mape z obliko 25 × 25 × 320 in 8 × 8 × 320.
V nasprotju z Deit-S, uporabljenim v FPI \cite{dai2022finding}, ima PCPVT-S piramidno strukturo, ki se lahko bolje prilagodi nalogi goste napovedi.
Uporaba piramidne strukture postavlja temelje za kasnejšo uporabo modula WAMF.
Hkrati omrežje z piramidno strukturo lahko učinkovito zmanjša količino izračunov in izboljša hitrost izračuna. To je zelo pomembno za dejansko implementacijo metode.
Po uporabi PCPVT-S za ekstrakcijo informacij iz slike, se izračun podobnosti izvede neposredno na zadnjih značilnostnih mapah, bo nizka ločljivost izhodne značilnostne mape neposredno vplivala na natančnost končnih rezultatov modela (mapa 25 × 25 na 400 × 400).
V ta namen smo uporabili strukturo piramide značilnosti za združevanje izvirnih značilnostnih map z uporabo upsamplinga in lateralne povezovalne strukture, končni izhod pa je bil stisnjen le za faktor štiri v primerjavi z vhodom.
Lokalizacijska pristranskost, ki jo povzroča nizka ločljivost značilnostne mape, je izključena pri viru. Ker ima plitva značilnostna mapa z visoko ločljivostjo več prostorskih informacij, je globoka značilnostna mapa z bogatimi semantičnimi informacijami združena z lateralno povezovalno strukturo.
WAMF-FPI uporablja konvolucijske mreže za ekstrakcijo značilnosti iz vhodnih slik. Konvolucija je matematična operacija, ki omogoča filtriranje vhodnih podatkov (v tem primeru slik) z uporabo določenega jedra ali filtra.
Ta operacija omogoča modelu, da "vidi" in prepozna različne vzorce in značilnosti v slikah.
Začetno fazo obdelave v WAMF-FPI predstavlja uporaba konvolucijskega jedra velikosti ena.
Ta korak je namenjen prilagoditvi kanalske dimenzije tri-stopnjske značilnostne mape, ki je bila pridobljena s pomočjo PCPVT-S.
V praksi je bilo število izhodnih kanalov nastavljeno na 64, kar omogoča kompaktno in učinkovito predstavitev značilnosti.
Po tem koraku se na značilnostnih mapah zadnjih dveh stopenj izvede operacija upsamplinga.
Ta operacija poveča ločljivost značilnostnih map, kar omogoča bolj natančno lokalizacijo.
Pridobljene značilnostne mape se nato združijo z značilnostnimi mapami istega merila, ki jih izhaja iz osnovnega modela.
V zadnjem koraku se značilnosti dodatno ekstrahirajo z uporabo konvolucijskega jedra velikosti 3.
Ta korak omogoča modelu, da izloči bolj kompleksne in globoke značilnosti iz združenih map.
Končni rezultat je združena značilnostna mapa, ki vsebuje tako plitve (prostorske) kot globoke (semantične) značilnosti.
Ta kombinacija omogoča modelu, da učinkovito prepozna in lokalizira objekte na vhodnih slikah.
Modul za združevanje znaclinosti 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\times1$, kar omogoča prilagoditev kanalskih dimenzij značilnostnih map.
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 se 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.
Matematično je korelacija med dvema funkcijama $f$ in $g$ definirana kot:
Gaussova utežena srednja kvadratna napaka (Gaussian Weighted Mean Squared Error - GWMSE) je modificirana 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 nacin 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.
Hanningova utežena srednja kvadratna napaka (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.
Funkcija izgube križno utežena srednja kvadratna napaka (Cross-Weighted Mean Squared Error - CW-MSE) je napredna različica standardne srednje kvadratne napake (Mean Squared Error - MSE),
ki vključuje uteževanje dveh različnih skupin vzorcev: tistih, katerih resnična vrednost je večja od 0 (t.i. "resničnih" vzorcev) in tistih, katerih resnična vrednost je manjša ali enaka 0 (t.i. "ne-resničnih" vzorcev).
Končna funkcija izgube se izračuna kot utežena kombinacija srednjih kvadratnih napak za "resnične" in "ne-resnične" vzorce, pri čemer se uteži vzorcev različnih skupin prekrižajo.
\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.
Uporaba \LaTeX{a} in \BibLaTeX{a} je v okviru Diplomskega seminarja \textbf{obvezna}!
Izbira -- \LaTeX\ ali ne \LaTeX\ -- pri pisanju dejanske diplomske naloge pa je pre\-pu\-šče\-na dogovoru med diplomantom in njegovim mentorjem.
Res je, da so prvi koraki v \LaTeX{}u težavni.
Ta dokument naj služi kot začetna opora pri hoji.
Pri kakršnihkoli nadaljnih vprašanjih ali napakah pa svetujemo uporabo Googla, saj je spletnih strani za pomoč pri odpravljanju težav pri uporabi \LaTeX{}a ogromno.
Preden diplomo oddate na sistemu STUDIS, še enkrat preverite, če so slovenske besede, ki vsebujejo črke s strešicami, pravilno deljene in da ne segajo preko desnega roba.
Poravnavo po vrsticah lahko kontrolirate tako, da izvorno datoteko enkrat testno prevedete z opcijo \texttt{draft}, kar vam pokaže predolge vrstice.
%\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