diff --git a/diploma.pdf b/diploma.pdf index 03ff1d0..172c8e5 100644 Binary files a/diploma.pdf and b/diploma.pdf differ diff --git a/diploma.tex b/diploma.tex index 85d4f45..df21f6b 100644 --- a/diploma.tex +++ b/diploma.tex @@ -615,11 +615,9 @@ Ta funkcija se uporablja v vseh plasteh pozornosti v transformerju. Za zdaj bomo razčlenili matematiko za to operacijo, samo da dobimo občutek, katera števila gredo kam. Kasneje se bomo osredotočili na njegove aplikacije v članku. -\begin{equation} - \begin{align*} - \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V - \end{align*} -\end{equation} +\begin{align*} + \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V +\end{align*} Scaled Dot-Product Attention je skoraj identičen Dot-Product Attention, omenjenem prej pri Luongu \cite{bahdanau2015neural}. Edina razlika je, da je vhod v softmax skaliran s faktorjem $\frac{1}{\sqrt{d_k}}$. @@ -630,58 +628,46 @@ Prav tako se mora dimenzionalnost ključev in poizvedb ujemati, vendar se lahko Izpeljimo izracun pozornosti. Zaceli bomo z zapisom posameznih vrstic $Q$ in $K$, nato pa bomo izrazili produkt $QK^T$ v smislu teh vrstic: -\begin{equation} +\begin{align*} Q &= \begin{pmatrix} q_0 \\ q_1 \\ \vdots \\ q_m \end{pmatrix}, \\ K^T &= \begin{pmatrix} k_0 & k_1 & \cdots & k_n \end{pmatrix}, \\ - \begin{align*} - QK^T &= \begin{pmatrix} q_0 \cdot k_0 & q_1 \cdot k_0 & \cdots & q_m \cdot k_0 \\ q_0 \cdot k_1 & q_1 \cdot k_1 & \cdots & q_m \cdot k_1 \\ \vdots & \vdots & \ddots & \vdots \\ q_0 \cdot k_n & q_1 \cdot k_n & \cdots & q_m \cdot k_n \end{pmatrix} - \end{align*} -\end{equation} + QK^T &= \begin{pmatrix} q_0 \cdot k_0 & q_1 \cdot k_0 & \cdots & q_m \cdot k_0 \\ q_0 \cdot k_1 & q_1 \cdot k_1 & \cdots & q_m \cdot k_1 \\ \vdots & \vdots & \ddots & \vdots \\ q_0 \cdot k_n & q_1 \cdot k_n & \cdots & q_m \cdot k_n \end{pmatrix} +\end{align*} Nato pridobimo naše uteži pozornosti tako, da vsak element delimo z $\sqrt{d_k}$ in uporabimo funkcijo softmax na vrstico: -\begin{equation} - \begin{align*} - \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) &= \begin{pmatrix} \text{softmax}\left(\frac{1}{\sqrt{d_k}} \cdot \langle q_0 \cdot k_0, q_1 \cdot k_0, \ldots, q_m \cdot k_0 \rangle\right) \\ \text{softmax}\left(\frac{1}{\sqrt{d_k}} \cdot \langle q_0 \cdot k_1, q_1 \cdot k_1, \ldots, q_m \cdot k_1 \rangle\right) \\ \vdots \\ \text{softmax}\left(\frac{1}{\sqrt{d_k}} \cdot \langle q_0 \cdot k_n, q_1 \cdot k_n, \ldots, q_m \cdot k_n \rangle\right) \end{pmatrix} \\ - &= \begin{pmatrix} s_{0,0} & s_{1,0} & \cdots & s_{m,0} \\ s_{0,1} & s_{1,1} & \cdots & s_{m,1} \\ \vdots & \vdots & \ddots & \vdots \\ s_{0,n} & s_{1,n} & \cdots & s_{m,n} \end{pmatrix}^T - \end{align*} -\end{equation} +\begin{align*} + \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) &= \begin{pmatrix} \text{softmax}\left(\frac{1}{\sqrt{d_k}} \cdot \langle q_0 \cdot k_0, q_1 \cdot k_0, \ldots, q_m \cdot k_0 \rangle\right) \\ \text{softmax}\left(\frac{1}{\sqrt{d_k}} \cdot \langle q_0 \cdot k_1, q_1 \cdot k_1, \ldots, q_m \cdot k_1 \rangle\right) \\ \vdots \\ \text{softmax}\left(\frac{1}{\sqrt{d_k}} \cdot \langle q_0 \cdot k_n, q_1 \cdot k_n, \ldots, q_m \cdot k_n \rangle\right) \end{pmatrix} \\ + &= \begin{pmatrix} s_{0,0} & s_{1,0} & \cdots & s_{m,0} \\ s_{0,1} & s_{1,1} & \cdots & s_{m,1} \\ \vdots & \vdots & \ddots & \vdots \\ s_{0,n} & s_{1,n} & \cdots & s_{m,n} \end{pmatrix}^T +\end{align*} kjer za vsako vrstico $i$, kot rezultat operacije softmax, velja $\sum_{j=0}^{n} s_{i,j} = 1$. Zadnji korak je množenje te matrike z $V$: -\begin{equation} - \begin{align*} - \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V &= \begin{pmatrix} s_{0,0} & s_{1,0} & \cdots & s_{m,0} \\ s_{0,1} & s_{1,1} & \cdots & s_{m,1} \\ \vdots & \vdots & \ddots & \vdots \\ s_{0,n} & s_{1,n} & \cdots & s_{m,n} \end{pmatrix} \begin{pmatrix} v_0 \\ v_1 \\ \vdots \\ v_n \end{pmatrix} \\ - &= \begin{pmatrix} \sum_{i=0}^{m} s_{i,0}v_0 \\ \sum_{i=0}^{m} s_{i,1}v_1 \\ \vdots \\ \sum_{i=0}^{m} s_{i,n}v_n \end{pmatrix} - \end{align*} -\end{equation} +\begin{align*} + \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V &= \begin{pmatrix} s_{0,0} & s_{1,0} & \cdots & s_{m,0} \\ s_{0,1} & s_{1,1} & \cdots & s_{m,1} \\ \vdots & \vdots & \ddots & \vdots \\ s_{0,n} & s_{1,n} & \cdots & s_{m,n} \end{pmatrix} \begin{pmatrix} v_0 \\ v_1 \\ \vdots \\ v_n \end{pmatrix} \\ + &= \begin{pmatrix} \sum_{i=0}^{m} s_{i,0}v_0 \\ \sum_{i=0}^{m} s_{i,1}v_1 \\ \vdots \\ \sum_{i=0}^{m} s_{i,n}v_n \end{pmatrix} +\end{align*} Tukaj lahko opazimo, da mehanizem pozornosti rezultira v seriji uteženih povprečij vrstic $V$, kjer uteži določajo vhodne poizvedbe in ključe. Vsaka od $m$ poizvedb v $Q$ rezultira v specifični uteženi vsoti vektorskih vrednosti. Pomembno je, da v tem posebnem postopku ni nobenih učljivih parametrov - sestavljen je izključno iz matričnih in vektorskih operacij. Poglejmo si se posamezno vrstico $i$ uteži pozornosti: -\begin{equation} - \begin{align*} +\begin{align*} \text{softmax}\left(\frac{1}{\sqrt{d_k}} \cdot Q \cdot K_i\right) &= \frac{1}{S} \cdot \exp\left(\frac{Q \cdot K_i}{\sqrt{d_k}}\right) - \end{align*} -\end{equation} +\end{align*} kjer je $S$ normalizacijska konstanta: -\begin{equation} - \begin{align*} - S = \sum_{j=0}^{m} \exp\left(\frac{q_j \cdot k_i}{\sqrt{d_k}}\right) - \end{align*} -\end{equation} +\begin{align*} + S = \sum_{j=0}^{m} \exp\left(\frac{q_j \cdot k_i}{\sqrt{d_k}}\right) +\end{align*} Če pogledamo, kako so uteži konstruirane, je izvor imen "poizvedbe", "ključi" in "vrednosti" jasnejši. Tako kot v zgosceni tabeli tabeli ta operacija izbira želene vrednosti preko ustrezajočih, ena-na-ena ključev. Ključi, ki jih iščemo, so označeni z poizvedbami - skalarni produkt med danim ključem in poizvedbo lahko izrazimo kot kot $\theta$ med njima: -\begin{equation} - \begin{align*} - q_i \cdot k_j = |q_i||k_j|\cos(\theta) - \end{align*} -\end{equation} +\begin{align*} + q_i \cdot k_j = |q_i||k_j|\cos(\theta) +\end{align*} Uporaba eksponentne funkcije povečuje pozitivne vrednosti kosinusa in zmanjšuje negativne. Zato je bližje kot sta si ključ $\vec{k}_j$ in poizvedba $\vec{q}_i$ po kotu, večja je njihova zastopanost v vektorju pozornosti. @@ -693,11 +679,9 @@ Bolj splošno, RNN imajo težave z povezovanjem zaporednih informacij, ki so med 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: -\begin{equation} - \begin{align*} - \text{softmax}(x_i) = \frac{\exp(x_i)}{\sum_j \exp(x_j)} - \end{align*} -\end{equation} +\begin{align*} + \text{softmax}(x_i) = \frac{\exp(x_i)}{\sum_j \exp(x_j)} +\end{align*} Gradient softmax funkcije je izračunan kot: @@ -751,49 +735,43 @@ En način za maskiranje vhodov je preprosto dodajanje matrike M k argumentu ki v \frac{1}{\sqrt{d_k}} Q' K'^T + M = \end{equation} -\begin{equation} - \begin{align*} - \begin{pmatrix} - \frac{1}{\sqrt{d_k}} - \vec{q}'_0 \cdot \vec{k}'_0 & \vec{q}'_0 \cdot \vec{k}'_1 & \cdots & \vec{q}'_0 \cdot \vec{k}'_n \\ - \vec{q}'_1 \cdot \vec{k}'_0 & \vec{q}'_1 \cdot \vec{k}'_1 & \cdots & \vec{q}'_1 \cdot \vec{k}'_n \\ - \vdots & \vdots & \ddots & \vdots \\ - \vec{q}'_n \cdot \vec{k}'_0 & \vec{q}'_n \cdot \vec{k}'_1 & \cdots & \vec{q}'_n \cdot \vec{k}'_n \\ - \end{pmatrix} - + - \begin{pmatrix} - 0 & -\infty & -\infty & \cdots & -\infty \\ - -\infty & 0 & 0 & \cdots & -\infty \\ - -\infty & \vdots & \vdots & \vdots & \vdots \\ - -\infty & 0 & 0 & \cdots & 0 \\ - -\infty & 0 & 0 & \cdots & 0 \\ - \end{pmatrix} - \end{align*} -\end{equation} +\begin{align*} + \begin{pmatrix} + \frac{1}{\sqrt{d_k}} + \vec{q}'_0 \cdot \vec{k}'_0 & \vec{q}'_0 \cdot \vec{k}'_1 & \cdots & \vec{q}'_0 \cdot \vec{k}'_n \\ + \vec{q}'_1 \cdot \vec{k}'_0 & \vec{q}'_1 \cdot \vec{k}'_1 & \cdots & \vec{q}'_1 \cdot \vec{k}'_n \\ + \vdots & \vdots & \ddots & \vdots \\ + \vec{q}'_n \cdot \vec{k}'_0 & \vec{q}'_n \cdot \vec{k}'_1 & \cdots & \vec{q}'_n \cdot \vec{k}'_n \\ + \end{pmatrix} + + + \begin{pmatrix} + 0 & -\infty & -\infty & \cdots & -\infty \\ + -\infty & 0 & 0 & \cdots & -\infty \\ + -\infty & \vdots & \vdots & \vdots & \vdots \\ + -\infty & 0 & 0 & \cdots & 0 \\ + -\infty & 0 & 0 & \cdots & 0 \\ + \end{pmatrix} +\end{align*} -\begin{equation} - \begin{align*} - = - \frac{1}{\sqrt{d_k}} - \begin{pmatrix} - \vec{q}'_0 \cdot \vec{k}'_0 & -\infty & -\infty & \cdots & -\infty \\ - \vec{q}'_1 \cdot \vec{k}'_0 & \vec{q}'_1 \cdot \vec{k}'_1 & -\infty & \cdots & -\infty \\ - \vdots & \vdots & \ddots & \vdots \\ - \vec{q}'_{n-1} \cdot \vec{k}'_0 & \vec{q}'_{n-1} \cdot \vec{k}'_1 & \vec{q}'_{n-1} \cdot \vec{k}'_2 & \cdots & -\infty \\ - \vec{q}'_n \cdot \vec{k}'_0 & \vec{q}'_n \cdot \vec{k}'_1 & \vec{q}'_n \cdot \vec{k}'_2 & \cdots & \vec{q}'_n \cdot \vec{k}'_n \\ - \end{pmatrix} - \end{align*} -\end{equation} +\begin{align*} + = + \frac{1}{\sqrt{d_k}} + \begin{pmatrix} + \vec{q}'_0 \cdot \vec{k}'_0 & -\infty & -\infty & \cdots & -\infty \\ + \vec{q}'_1 \cdot \vec{k}'_0 & \vec{q}'_1 \cdot \vec{k}'_1 & -\infty & \cdots & -\infty \\ + \vdots & \vdots & \ddots & \vdots \\ + \vec{q}'_{n-1} \cdot \vec{k}'_0 & \vec{q}'_{n-1} \cdot \vec{k}'_1 & \vec{q}'_{n-1} \cdot \vec{k}'_2 & \cdots & -\infty \\ + \vec{q}'_n \cdot \vec{k}'_0 & \vec{q}'_n \cdot \vec{k}'_1 & \vec{q}'_n \cdot \vec{k}'_2 & \cdots & \vec{q}'_n \cdot \vec{k}'_n \\ + \end{pmatrix} +\end{align*} -Nato ima izvajanje softmaxa na vsaki vrstici učinek pošiljanja vseh $-\infy$ celic na 0, pri čemer ostanejo samo veljavni izrazi za pozornost. +Nato ima izvajanje softmaxa na vsaki vrstici učinek pošiljanja vseh $-\infty$ celic na 0, pri čemer ostanejo samo veljavni izrazi za pozornost. Tretja in zadnja uporaba večglave pozornosti v članku 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{equation} - \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*} -\end{equation} +\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. @@ -813,37 +791,29 @@ Ta pristop je pokazal obetavne rezultate, saj je Vision Transformer dosegel ali \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: - \begin{equation} - \begin{align*} - z = Wx + b - \end{align*} - \end{equation} + \begin{align*} + z = Wx + b + \end{align*} 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: - \begin{equation} - \begin{align*} - e_i = z_i + p_i - \end{align*} - \end{equation} + \begin{align*} + e_i = z_i + p_i + \end{align*} \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: - \begin{equation} - \begin{align*} - \text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, ..., \text{head}_h) W_O - \end{align*} - \end{equation} + \begin{align*} + \text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, ..., \text{head}_h) W_O + \end{align*} 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: - \begin{equation} - \begin{align*} - y = \text{softmax}(W_2\text{ReLU}(W_1e)) - \end{align*} - \end{equation} + \begin{align*} + y = \text{softmax}(W_2\text{ReLU}(W_1e)) + \end{align*} 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. \end{itemize} @@ -893,7 +863,84 @@ Eksperimentalni rezultati so pokazali, da ta preprosta zasnova lahko doseže zmo \chapter{Podatkovni set} \label{ch2} -Tukaj bos napisal malo o podatkovnem setu, ki si ga uporabil. + + +\section{Dronske slike} +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 + +Mesta, vključena v ucni nabor podatkov, so: + +\begin{itemize} + \item \textbf{Maribor:} 422m nad morsko gladino. + \item \textbf{Trst:} 173m nad morsko gladino. + \item \textbf{Zagreb:} 308m nad morsko gladino. + \item \textbf{Gradec:} 503m nad morsko gladino. + \item \textbf{Celovec:} 596m nad morsko gladino. + \item \textbf{Videm:} 263m nad morsko gladino. + \item \textbf{Pula:} 167m nad morsko gladino. + \item \textbf{Pordenone:} 174m nad morsko gladino. + \item \textbf{Szombathely:} 362m nad morsko gladino. + \item \textbf{Benetke:} 149m nad morsko gladino. +\end{itemize} + +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 nabor podatkov ponuja dragocen vpogled v izzive in možnosti, ki jih droni srečujejo v različnih mestnih okoljih, +in je ključnega pomena za razvoj naprednih algoritmov za lokalizacijo in navigacijo. + + +\section{satelitske slike} +Za vsako dronsko sliko sem poiskal ustrezen satelitski "tile" ali ploščico. +Ta korak je bil ključnega pomena, saj je zagotovil, da so satelitske slike popolnoma usklajene z dronskimi slikami v smislu geografske lokacije. +Ko sem identificiral ustrezen satelitski "tile", sem ga prenesel neposredno iz Mapbox API-ja, priznanega vira za visokokakovostne satelitske slike. +Da bi zagotovil dodatno globino in kontekst za vsako lokacijo, nisem prenesel samo osrednjega "tile-a", temveč tudi vse njegove sosednje ploščice. +Te sosednje ploščice so bile nato združene z osrednjim "tile-om" za ustvarjanje enotne TIFF datoteke. +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, +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 ploscicne 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} + \chapter{Implementacija} \label{ch3} @@ -1049,21 +1096,21 @@ class CrossWeightedMSE(nn.Module): \subsection{Primerjava rezultatov} -\begin{table}[h] -\centering -\begin{tabular}{|c|c|c|c|} -\hline -Kriterijska funkcija & vrednost & $$RDS_{train}$$ & $$RDS_{val}$$ \\ -\hline -Hanningova kriterijska funkcija & 8.49 & 0.893 & 0.709 \\ -Gaussovo utezena srednja kvadratna napaka & 0.001 & 0.077 & 0.074 \\ -Hanningovo utežena srednja kvadratna napaka & 4.04e-06 & 0.061 & 0.059 \\ -Križno utežena srednja kvadratna napaka & 0.88 & 0.91 & 0.87 \\ -\hline -\end{tabular} -\caption{Rezultati ob uporabi razlicnih kriterijskih funkij.} -\label{tab:metode} -\end{table} +%\begin{table}[h] +%\centering +%\begin{tabular}{|c|c|c|c|} +%\hline +%Kriterijska funkcija & vrednost & $$RDS_{train}$$ & $$RDS_{val}$$ \\ +%\hline +%Hanningova kriterijska funkcija & 8.49 & 0.893 & 0.709 \\ +%Gaussovo utezena srednja kvadratna napaka & 0.001 & 0.077 & 0.074 \\ +%Hanningovo utežena srednja kvadratna napaka & 4.04e-06 & 0.061 & 0.059 \\ +%Križno utežena srednja kvadratna napaka & 0.88 & 0.91 & 0.87 \\ +%\hline +%\end{tabular} +%\caption{Rezultati ob uporabi razlicnih kriterijskih funkij.} +%\label{tab:metode} +%\end{table} \section{Testiranje zmoznosti lokalizacije na testnih podatkih} pass