Koordinátatranszformáció megoldása neurális hálózattal

barsi.gif (3947 bytes)

Dr. Barsi Árpád, a Budapesti Műszaki Egyetem Fotogrammetria és Térinformatika Tanszék tudományos munkatársa

Bevezetés

A geodéziai és térinformatikai gyakorlatban igen gyakran eltérő térképművekkel kell dolgozni. A munka során ahhoz, hogy minden rendelkezésre álló adatot együttesen fel tudjunk használni, az eltérő alapfelületű, vetületi rendszerű térképeket át kell transzformálni. Ez a transzformáció leggyakrabban a Helmert által kidolgozott összefüggésekkel történik. Az egész ország területére azonban nem lehetséges egyetlen együtthatókészlet meghatározása, mert az illesztés hibája egyenletesen elosztva jelentkezne, s jóval kisebb pontosságú térképet kapnánk. Ennek áthidalására napjainkban lokális transzformációt használják.

A mesterséges intelligencia témakörében újabb számítási eszköz kínálkozik, mely alkalmas lehet ennek a problémának a megoldására. A neurális hálózatokat többen függvényeknek szokták aposztrofálni, miért ne lennének alkalmasak “GIS-függvénynek”, a koordináta-transzformáció megoldására?! A cikkben ennek a kérdésnek jártam a végére.

 

1. A neurális hálózatokról

A neurális hálózatoknak számtalan fajtáját dolgozták ki napjainkra. Ezek közül talán a legtöbbet használt változatok a backpropagation hálózatok, melyet magyarul hibavisszaosztásos hálózatnak lehetne fordítani. Ezek a hálózatok a paramétereiket úgy határozzák meg – úgy tanulnak –, hogy a szolgáltatott kimenet és a szükséges kimenet közötti hiba értékének visszaosztásával módosítják a paramétereket.

A transzformációs feladat megoldásához a radiális bázisú neurális hálózattípust választottam, mert ezzel a típussal gyorsan lehet a tanulást végrehajtani.

A hálózat a következők szerint néz ki (1. ábra):

1. ábra. Neurális hálózat a be- és kimenetekkel

 

Az első rétegen megtalálható neuronok (számítási elemek) az alábbi összefüggés [2.] szerint számítják kimenetüket:

(1)

ahol i a bemenő vektor (GPS-koordináták), W1 a réteg súlymátrixa, b1 a réteg küszöbvektora, o1 a réteg kimenete és

(2)

a réteg ún. átviteli függvénye, mely Gauss-görbe alakú. E függvény differenciálja igen egyszerűen számítható, ez a tanulásnál – a hiba visszaosztásában – óriási könnyebbség. A derivált függvény

(3)

alakú.

Az (1)-es összefüggésben továbbá szerepel a operátor, ami az Euklideszi távolságot (normát) jelenti. A képletben a W1 súlymátrix és az i bemeneti vektor közötti távolságot a mátrix minden sorára ki kell számítani. Ezt követően a kapott vektort b1 küszöbvektorral kell elemenként szorozni, majd f függvényen átbocsátani. Így megkaptuk az első réteg eredményét. A második réteg számítása jóval egyszerűbb. A kimenet a következő formulával kapható meg:

(4)

ahol o1 az első réteg kimenete, W2 a második réteg súlymátrixa, b2 a küszöbvektor és o2 a második réteg kimenete, mely egyben a teljes hálózat kimenete is (EOV-koordináták).

A tanulási fázisban a képletekben szereplő súlymátrixok és küszöbvektorok értékeit kell meghatározni. A feladat tulajdonképpen optimalizálási problémára vezethető vissza. A tanulás során a pontosság növelése érdekében fokozatosan célszerű növelni az első réteg neuronszámát. A 3. fejezetben részletesebben leírom a paramétermeghatározást. A neurális hálózatokról szóló szakirodalomban bőséges leírást lehet találni a tanulási folyamatokról, algoritmusokról [1, 2, 3].

2. A számítás folyamata

A koordináta-transzformáció megvalósítását két teljesen eltérő típusú rendszer között igyekeztem megvalósítani. Az első rendszer, ahonnan átszámítottam az értékeket, a GPS műholdas helymeghatározó rendszer által szolgáltatott térbeli derékszögű koordináta rendszer volt. A második rendszer a Magyarországon használt ferdetengelyű süllyesztett hengervetület, az EOV.

A koordináta-transzformáció során a Helmert-féle megoldáshoz hasonlóan súlyponti koordinátákat használtam. A számítás folyamatát a 2. ábra szemlélteti.

2. ábra. A koordináta-transzformáció vázlata

 

 

 

 

 

A számítás végrehajtásához a műveletet végző neurális hálózat paramétereit kell meghatározni. Ezek ismeretében már bármely GPS-mérésből származó pont koordinátája az EOV-rendszerben meghatározható.

A hálózati paraméterek meghatározásához mindkét rendszerben adott koordinátájú pontokat használtam fel. Ezeket a pontokat a penci Kozmikus Geodéziai Obszervatóriumból dr. Borza Tibor kollégám bocsátotta rendelkezésemre. A teljes pontállomány 270 pontból állt, melynek kétharmadát (180) pontot tanításra, egyharmadát (90) tesztelésre használtam fel. A tesztelő pontok nem vettek részt a paraméterek meghatározásában. A pontok eloszlását a 3. ábra mutatja. A pontok – láthatóan – nagyjából egyenletesen oszlanak el az országban. Ez fontos feltétel a jó paraméterkészlet meghatározásában.

 

3. A hálózat paramétereinek meghatározása

A hálózat paramétereinek meghatározása a tanulás alatt történik. A radiális bázisú neurális hálózatok tanulásakor fontos az egyes neuronok hatáskörét meghatározni, erre a spread (kiterjedés) nevű konstans szolgál. Értékét empirikus úton lehet meghatározni. A tanulásnál többszöri indítással és a tananyagon végzett ellenőrzéssel lehet értékét beállítani. Alapvetően meghatározza a hálózat szerkezetét, ezért igen gondosan kell kezelni!

Tanítópontok
tanitopontok.gif (8404 bytes)

Tesztpontok

tesztpontok.gif (7286 bytes)

3. ábra. A tanító- és tesztpontok eloszlása

 

Hasonló módon tapasztalati úton történik az elérendő hálózati hiba (goal) értékének beállítása. Ez alapján a hibaérték alapján módosítja a neurális hálózat a saját paramétereit (backpropagation). Ezt is a tananyagon végzett ellenőrzéssel tudtam pontosan meghatározni több iteráción keresztül.

Amennyiben a tanulásnál a neurális hálózat hibája nem csökken, a túl kevés neuronszám miatt a hálózat nem rendelkezik elég “rugalmassággal” ahhoz, hogy elsajátítsa a feladatot. A megoldás a neuronszám növelése. Mivel a mesterséges neurális hálózatoknál sokszor fellép az a hiba, hogy “túltanulnak” a hálózatok, ezért nem célszerű egyből nagy neuronszámot beállítani. Hasonló módon ez ellen szól a megnövekedő memória- és számításigény is.

A kísérletek során a hálózat szerkezetének kialakításakor a minél nagyobb elérhető pontosságra, ugyanakkor minimális méretű hálózatra törekedtem. A megismételt és folyamatosan változtatott hálózatszerkezetre, valamint a konstansokra úgy tűnt, hogy az elérendő hálózati hiba értékét 1× 10-10 körül kell beállítani, míg a spread-konstans értékét 15 és 22 között kell felvenni. Ennél kisebb elérendő hálózati hiba megadásakor a számítás rosszul kondicionálttá válik, ami a kapott neurális hálózatot megbízhatatlanná, instabillá teszi.

spread

15

16

17

18

19

20

21

22

neuronszám

18

26

25

26

58

110

134

101

maximális eltérés [m]

0.458

0.432

0.446

0.478

0.580

0.428

0.463

0.498

átlagos eltérés [m]

0.166

0.163

0.166

0.158

0.171

0.152

0.155

0.169

A pontosabb meghatározáshoz variációkat számítottam ki. Ezek lényegesebb mutatóit az I. táblázatban foglaltam össze.

A táblázat második sorában megadom a hálózat első rétegének neuronszámát. Mivel a hálózat szerkezete kötött (3 bemenet, 3 kimenet, 2 számítási réteg), így változtatni kizárólag az első réteg neuronszámán lehetséges.

A harmadik és negyedik sorban a szükséges és számított EOV-ponthelyek közötti maximális és átlagos eltérés látható. A számítást mm élességgel végeztem. A számításban szereplő pontok csak a tanítópontok voltak!

Az “ideális” paraméterkészlettel rendelkező hálózat kiválasztásában a maximális eltérés értékét tekintettem elsődlegesnek, másodlagosnak pedig a hálózat méretére utaló neuronszámot.

A táblázatban két vastag vonallal jelzett helyen található lokális hibaminimum. A pontosabb paramétermeghatározást ezért e két spread-érték szűk környezetében kerestem. Ha a maximális eltérés mellett a neuronszámot is figyelembe veszem, akkor a megoldást jelentő hálózat a 15.5-es spread-értéknél jelentkezik.

A végleges neurális hálózat szerkezete a következő: a bemenetek száma 3, az első rétegen 22 neuron, a második rétegen a kimenetek számával egyező mértékben 3 neuron található. Ez a paraméterek számát tekintve azt jelenti, hogy W1 mátrix 3 × 22, W2 22 × 3, b1 vektor 22 × 1, b2 pedig 3 × 1 elemű. Összesen tehát 157 adatot kell tárolnunk. Ez nem mondható rossznak, ha összevetjük azzal, hogy a 180 tanítópont 6 (3 GPS és 3 EOV) koordinátája 1080 darab adatot jelent. A kialakított neurális hálózat tehát adattömörítést is végrehajt, igaz, kisebb pontossággal!

A tanítópontokon a maximális eltérésre
0.432 m-t, az átlagos eltérésre 0.163 m-t kaptam.

 

4. A neurális hálózat pontosságvizsgálata

A pontosságvizsgálathoz az eddig érintetlenül hagyott tesztpontkészletet használtam. Ezeken a pontokon a maximális eltérés 0.394 m-re, az átlagos eltérés 0.167 m-re adódott. Összehasonlítva a tanítópontok eredményével, látható, hogy a tesztmezőn mindkét mérőszám alacsonyabb. Valószínűsíthető, hogy a gondosan kiválasztott, egyenletes eloszlású tesztmező az egész pontállomány reprezentatív mintája, így a nagyobb pontosság a kevesebb bevont pont következménye.

Érdemes megvizsgálni, hogy az eltérések koordinátavetületein hogyan alakulnak a maximális és átlagos értékek. A II. táblázat mind a tananyag, mind a tesztanyag pontjaira mutatja koordinátánként a mérőszámokat.

 

[m]

tanítópontok

tesztpontok

maximális eltérések

D y

0.226

0.176

 

D x

0.311

0.192

 

D h

0.424

0.369

átlagos eltérések

D y

0.048

0.050

 

D x

0.062

0.061

 

D h

0.124

0.129

A II. táblázatból legszembetűnőbb, hogy a legnagyobb eltérések a magasságban (D h) tapasztalhatók: a D h eltérések megközelítően kétszer akkorák, mint a vízszintes koordináta-eltérések (D y, D x).

A neurális hálózatok a bemenetükre érkező számhármas és a szükséges kimeneti számhármas közötti függvényt próbálják “utánozni”. A koordináták beviteli sorrendje tetszőleges. A kapott magasságeltérések ezért nem a számításból adódnak, hanem adottságnak tekinthetők, mely feltételezhetően az eltérő módon végrehajtott országos vízszintes és magassági mérésből, továbbá a kiegyenlítésből származik. E momentum feltehetően további vizsgálatoknak ad alapot.

A tanító- és tesztpontok között az átlagos eltérésben mindössze néhány milliméter különbség van, míg a maximális eltérések jóval erősebben ingadoznak.

Izgalmas elemezni az eltérések területi eloszlását is. Ennek szemléltetésére az ország területére 1 ´  1 km-es rács pontjaira interpoláltam a tanító- és tesztpontok alapján a teljes eltérés értékeit (4. és 5. ábra).

A tanítópontábrán néhány helyen markáns eltérés mutatkozik. Ezek a helyek a Mátra-, a Bakony-hegységek, az Alpokalja valamint Győr térsége. Ezeken a helyeken tapasztaltam a maximális eltéréseket. Csupán itt jelentkezik 40 cm körüli hiba, az ország más részein ennél jóval kisebb hibát észlelhetünk.

A tanítópontábrához hasonlóan, kissé elmosódottabban jelentkeznek az eltérések a tesztpontokkal készített ábrán is.

1.gif (39872 bytes)

4. ábra. A tanítópontok alapján interpolált eltérések Magyarország területén

 

2.gif (39162 bytes)

5. ábra. A tesztpontok felhasználásával készített eltérésábra

5. Felhasználási lehetőségek

A neurális hálózatok használata az elektronikában gyorsan elterjedt. Óriási előnyüknek tudható be az, hogy a számítást végző elemek teljesen azonos működésűek. Ezért integrált áramkörként történő megvalósításuk egyszerű. A hálózat elektronikával való megvalósításához azonos típusú elemeket kell gyártani, melyekhez cserélhető, programozható módon kell a paraméterkészletet illeszteni. A mai számítástechnikában használatos elektronikus elemek révén ez nem okoz gondot. A megfelelő számú neuron kényelmesen elfér egy szokásos számítógépes bővítőkártyán. A paramétereket tartalmazó memóriaelem pedig szabadon programozható. Ezért a jövőbeli felhasználáskor a jelen paraméterkészlete nem korlátozza az eszköz használhatóságát; a paraméterkészlet kicserélésével “update”-elhető a kártya.

Az elektronikával megvalósított transzformáció két területen lehet igen jó segítőtárs. Az egyik alkalmazás a sok terepi mérést igénylő kisebb pontosságú felmérések, melyek során EOV-ban történik a térképezés. A GPS-vevőből a pont mért GPS-rendszerű koordinátája a kártya felhasználásával EOV-koordinátákká alakul át és kerül rögzítésre.

A másik lehetséges felhasználás a járműnavigáció. A GPS-vevőkkel felszerelt járművek helyét a transzformáció segítségével az országban készített EOV-rendszerű digitális térképen meg lehet jeleníteni, és a navigációhoz szükséges utasítások is megadhatók. A forgalomirányító és járműkövető diszpécserközpontokba már csak az EOV-járműpozíciók futnak be.

6. Összefoglalás

A koordinátatranszformáció feladatának megoldására a mesterséges neurális hálózatok új eszközként jelentkeznek. A neurális hálózatokat függvényeknek is lehet tekinteni, melyek alakját nem, csupán pontjainak értékeit ismerjük. A transzformáció során ezzel a feltételezéssel élve használjuk a neurális hálózatokat. A megfelelő szerkezeti és tanulási paraméter beállítása után – melyeket iteratíven kapunk meg – az ún. radiális bázisú neurális hálózat megtanítható a transzformációra. A vizsgálatban szereplő közel háromszáz pont kétharmada alapján a hálózat átlagosan 16 centiméteres átszámítási hibával képes a GPS térbeli derékszögű koordinátáiból EOV koordinátákat produkálni.

A kísérletben két koordináta-rendszer közötti átszámításra alkalmaztam a neurális technikát. A hálózat szerkezetének azonossága miatt megoldható, hogy több koordináta-rendszer közé átszámító neurális hálózatot alakítsunk ki, csupán a paraméterkészletek lesznek eltérőek. A tárolt készletből “a megfelelő fiókból” elő lehet venni a számítás szükséges paramétereit. A neurális hálózatok elektronikával történő megvalósítása további felhasználási területeket rejt.

IRODALOM

Brause, R., (1995): Neuronale Netze. B. G. Teubner, Stuttgart

Demuth, H.–Beale, M. (1998): Neural Network Toolbox – For Use with MATLAB, User’s Guide, The MathWorks Inc., Natick MA

Rojas, R., (1993): Theorie der neuronalen Netze, Eine systematische Einführung. Springer Verlag, Berlin

Coordinate Transformation by Use of Neural Network

Dr. Á. Barsi
Summary

The artificial neural networks are one of the most effective tools in artificial proved that artificial neural networks are able to solve coordinate transformation. The average residuals of all points was 16 cm. The electronic realization of the neural network has further interesting application areas, like low accuracy high speed field work, or car navigation.