• Nenhum resultado encontrado

Structure-from-Motion

No documento Közösségi adatgyűjtésen alapuló (páginas 30-34)

2. Crowdsourcing alapú térképépítés 14

2.3. Monokuláris képeken alapuló közösségi adatgyűjtés

2.3.1. Structure-from-Motion

A 3D struktúra meghatározása során kiemelten fontos feladat a szenzor és a kör- nyezetében található objektumok távolságának meghatározása. Amennyiben közvetlenül nem áll rendelkezésre mélységinformáció – például a Lidar, Radar vagy RGB-D (RGB + mélység, RGB + depth – RGB-D) kamerák jeleiből – akkor a képi információból szüksé- ges a távolságot becsülni. E probléma megoldását napjainkban leggyakrabban felügyelt és felügyelet nélküli tanulásos módszerek használatával kísérlik meg, azonban a térbeli el- rendeződés síkbeli képmátrixokból való meghatározása a klasszikus képfeldolgozási mód- szertanban is egy sokat vizsgált terület. A viszonylagosan alacsony erőforrás-igényének köszönhetően egy rendkívül széles körben elterjedt megoldási lehetőség a Structure-from- Motion. A megnevezést először disszertációjában, 1977-ben használta Ullman [52], majd 1979-ben publikálta is azt [53]. A szerző definíciója szerint: „Négy, mereven összekap- csolt, nem egy egyenesen található térbeli pontot ábrázoló három elkülönülő ortografikus nézet felhasználásával a struktúra és a három nézőpont közötti elmozdulás egyértelműen meghatározható”.

A fenti definíció megjelenését követő évtizedekben az SfM algoritmusok fokozódóan kutatott területté váltak a számítógépes látórendszerek kutatási irányzatai között. Egy elterjedt nevezéktan szerint a fokozatosan növekvő számú nézőpontot használó SfM és a több nézőpontos sztereó (multiview stereo – MVS) technikák szerializált együttesét nevezik inkrementális SfM-nek. E technika alkalmazása során az egymással átlapolódó 2D képek vizsgálatával a képrögzítő eszköz – jellemzően kamera – elmozdulásának, valamint a mélységi információ – illetve térbeli elrendeződés – kinyerésére nyílik lehetőség [54, 55].

Az inkrementális algoritmus legfontosabb lépései:

1. Képjellemzők kereséseés társítása a különböző nézőpontból készített felvételeken;

2. Klasszikus SfM, melynek eredményeként előállnak – sugárnyaláb kiegyenlítés (bundle adjustment – BA) segítségével – a külső és belső kameraparaméterek, vala- mint egy ritka pontfelhő a vizsgált térrészről;

3. MVS, mely lépés során az előzőekben előállított ritka pontfelhő felbontása növekszik meg, vagyis „besűrűsödik”.

Az SfM módszer térnyerése napjainkban számtalan tudományterületen és alkalmazási esetben megfigyelhető [56], ahol változó nézőpontból készített 2D képekből szükséges a 3D környezet rekonstrukcióját elvégezni: fotogrammetriában [57], robotikában [58], kiterjesz- tett valóság (augmented reality – AR) alkalmazásokban [59].

A módszer népszerűségének köszönhetően számottevő értékes inkrementális SfM meg- oldás lelhető fel mind a szakirodalomban mind pedig az ipari forgalomban:

Colmap: egy nyílt forráskódú inkrementális SfM implementáció, melynek célja egy általánosságban használható eszközrendszer biztosítása 3D rekonstrukciós munka- folyamatokhoz. Az implementációhoz egy grafikus felhasználói felületet (graphical user interface – GUI) is létrehoztak [60].

Theia: egy SfM építőelemek implementációját tartalmazó, nyílt forráskódú és így szabadon bővíthető függvénykönyvtár. A szerzők a könyvtárat C++ nyelven írták [61].

OpenMVG: elsősorban többnézőpontos geometria (multiview geometry – MVG) algoritmusokat megvalósító, szintén nyílt forráskódú függvénykönyvtár. Az imple- mentáció tartalmaz klasszikus SfM algoritmusokat is, valamint a külső kamerapara- méterek becsléséhez GNSS koordináták felhasználását is lehetővé teszi [62].

VisualSFM: az inkrementális SfM algoritmust implementáló, GUI-t is kínáló, nyílt forráskódú megoldás [63].

Ipari alkalmazások: Számos – nem szabadon hozzáférhető – ipari megoldás is elérhető a kereskedelmi forgalomban. Széles körben elterjedt megoldások – egyebek mellett – az Agisoft PhotoScan6, a RealityCapture7, illetve az Autodesk ReCap8. A fenti listában írt eszközök közül a kutatásaim során a Colmap alkalmazást hasz- náltam fel flexibilis működésének, robusztus algoritmusainak, valamint a nyílt forráskódú elérhetőségének köszönhetően.

6agisoft.com

7capturingreality.com

8autodesk.com/products/recap

2.3.2. 3D térképezés közösségi adatgyűjtéssel

A Google Maps alkalmazás virtuális sétát lehetővé tevő alrendszere is egy SfM-alapú megoldásra épít [64]. A szerzők az interneten elérhető képek összerendelésével tették kö- rüljárhatóvá az egyes látványosságokat. Ehhez a megoldásuk egy ritka 3D modellt készít a képek alapján a vizsgált terület geometriájáról. A képek összerendelését SIFT (Shift Inva- riant Feature Transform) jellemzők megkeresésével [65], majd a potenciálisan összetartozó pontok RANSAC (random sample consensus) párosításával végzik [66]. A találatokat több lépésben szűrik, végül a megmaradt, összetartozó képeken egy több lépésből álló SfM algo- ritmus segítségével határozzák meg az egyes képekhez tartozó külső kameraparamétereket – extrinsic mátrixokat. A paramétereket egy rekurzív algoritmus segítségével finomítják.

A felhasznált képek és a 3D modell együttes megjelenítésével bejárhatóak a vizsgált látvá- nyosságok. Az itt leírt algoritmus eredményeként előálló „fotó turizmus” eredményeinek szemléltetésére a szerzők egy látványos GUI-t is létrehoztak.

Agarwal et al. 2009-es munkájukban – melyet csak később, 2011-ben publikáltak [26]

– SfM módszer felhasználásával hoztak létre egy sűrű 3D modellt nagyszámú, kizárólag közösségi médiában megosztott kép felhasználásával. A „Róma” kifejezésre a Flickr oldal több, mint 2 millió fotótalálatot ad, melyek egy kiterjedt gyűjteményt biztosítanak a város nevezetességeit ábrázoló fényképekből. Egy ilyen jelentős terület rekonstrukciójához óriá- si számítási teljesítmény volt szükséges: a számos összetartozó kép hatékony kezelésének érdekében a megoldást egy 62 kétszer négymagos processzort tartalmazó (összesen 496 magos) klaszteren futtatták. 21 óra alatt 150000 képet dolgoztak fel, melyek felhasználá- sával sikeresen fel tudtak építeni egy modellt Rómáról – valóban kevesebb, mint egy nap alatt. A megoldást a későbbiekben a kutatók kiterjesztették más, turisták által gyakran látogatott – és fényképezett – városokra is (Dubrovnik, Velence).

Egy hasonló kutatást a Budapesti Műszaki és Gazdaságtudományi Egyetem Foto- grammetria és Térinformatika Tanszékének kutatói is végeztek. A Flickr oldalra feltöl- tött, Budapesten készült képek felhasználásával egyes itteni látványosságok – a Lánchíd oroszlánja (63 kép), a Parlament (173 kép), a Hősök tere (1626 kép) – modelljét készí- tették el egy i7-es CPU-val rendelkező átlagos asztali számítógép használatával [27]. A rekonstrukció eredményei a 2.1. táblázatban vethetők össze Agarwal et al. munkájának metrikáival. A referenciaként használt geometriai modellt a kutatók saját terepi méré- sek eredményeként állították elő tükörreflexes és mobiltelefon kamerák képeiből készített modellek, valamint földi lézerszkennelés (terrestrial laser scanning – TLS) használatával.

Mivel a 2.1. táblázatban felsorolt megoldásokban a modellek által lefedett területek mérete nagyságrendekkel eltér egymástól, így a megjelenített futási idők inkább tájékoz- tató jellegűek. Azonban azok így is jól demonstrálják a feldolgozáshoz szükséges számítási kapacitást és futási időt. Ezek az eredmények szemléletes bizonyítékot adnak a közösségi közreműködésű adatgyűjtés felhasználásával megvalósított környezeti modellezés kivitelez- hetőségére.

Rekonstruált helyszín Felhasznált képek száma

Képjellemzők párosítása

3D rekonstrukció

Sűrű rekonstrukció

Róma 150000 13 h 1 h 7 h

Dubrovnik 57845 5 h 1 h 16,5 h

Velence 250000 27 h 21,5 h 16,5 h

Lánchíd oroszlánja 63 86 s 57 s 22 s

Parlament 173 875 s 102 s 113 s

Hősök tere 1626 3342 s 104 s 278 s

2.1. táblázat. Közösségi közreműködés alapú modellezés, feldolgozási idők [26, 27]

A CrowdMapping platform felépítése azonban járműveken található szenzorok segít- ségével gyűjtött adatok meglétét feltételezi, mely a fenti adatgyűjtési módszerekhez képest egy megkötést jelent. Míg a Flickr-re feltöltött képek esetén azok készítői turisták vol- tak, és így jellemzően gyalogosként készítették ezeket a képeket, addig a CrowdMapping adatgyűjtő ágensei járművek, illetve az azokra szerelt kamerák. E különbségek kiküszö- bölhetőségének vizsgálatára létrehoztam az alább leírt közösségi adatgyűjtési szimulációt, valamint az abból renderelt képek 3D rekonstrukciós technikáját alkotó feldolgozási eljá- rást.

2.3.3. Szimulátorok

Egy kiemelkedően nehéz probléma a közösségi közreműködésen alapuló megoldások fejlesztése során az adatok elérhetősége – pontosabban annak hiánya. Egy lehetséges meg- oldás erre a hiányra az 1.4. fejezetben már említett Sim2Real technikák alkalmazása. Ez a módszer elsősorban a robotikai megoldásokban terjedt el [67], azonban napjainkban egyre nagyobb térnyerés jellemzi az általános gépi tanulás [68] – valamint specifikusan az autonóm járművekben alkalmazott [69, 70] – algoritmusok tanító adatbázisainak létreho- zásban. A Sim2Real megoldások alkalmazása során a szimulációs környezetből exportált adatok felhasználásával fejleszthetők, illetve tesztelhetők a fizikai valóságban működtetett eljárások. Ez a fejlesztési folyamatok során elengedhetetlen adatgyűjtés és ground truth létrehozás költségeit, valamint erőforrás-igényességét egyaránt csökkenti.

A Sim2Real eszközöket használó fejlesztések során azonban gyakran felmerülő prob- léma a valóságos és a szimulált környezet közötti különbség. E diszparitás kiküszöbölésére tesz kísérletet Zhang et al. [71]: a szerzők a robot ágens „otthonérzetét” – és ezáltal ha- tékonyságát – úgy próbálják növelni, hogy a fizikai környezet valószerű modelljét a robot által használt szimulációs környezetbe importálják. Ez az eljárás a valóságból a szimulá- cióba, vagyis a Real2Sim (reality to simulation).

Real2Sim megoldások használatával tehát a valóságra nem hasonlító modellek, míg Sim2Real eszközökkel a nem elegendő rendelkezésre álló adat problémáját tudjuk enyhíte- ni. A CrowdMapping platform validációja során egy olyan szimulációs környezetet alkal- maztam, amely gyakran használatos autonóm járművek algoritmusainak fejlesztésére. Az

ilyen szimulátorok lehetővé teszik valószerű (bel- és külvárosi) útszakaszok szintetizálását, valamint autonóm és manuálisan irányítható ágensek – mint például járművek, gyalo- gosok – szimulációját. Az adatszintézis megvalósításának érdekében egy számos passzív szenzort (például monokuláris és sztereo RGB kamerát), illetve aktív távolságszenzorokat (például RGB-D kamerák, Lidarok, Radarok) tartalmazó palettáról csatlakoztathatunk érékelőket az egyes ágensekhez. A renderelt képek és adatok valós idejűen exportálhatók a szimulátorból. A Sim2Real technológiák térnyerésével párhuzamosan számos, a fentiekben felsorolt funkciókat – vagy azok többségét – kínáló szimulációs szoftver látott napvilágot:

VISTA 2.0, egy nyílt, adatvezérelt szimulátor az autonóm közlekedésre jellemző kombinált érzékelő- és vezérlőeljárások fejlesztésére [72];

NVIDIA DRIVE Sim, mely az NVIDIA Omniverse platformon alapszik. E sorok írásának idején ez a szimulátor kizárólag egy korai hozzáférést biztosító program résztvevői számára érhető el. [73];

AIMotive aiSim, az első ISO26262 ASIL-D minősített szimulátor, melynek célja az önvezető járművekhez kapcsolódó technológiák szimulációs környezetben végre- hajtott validációs lehetőségének megteremtése [74];

Carla szimulátor, mely egy Unreal Engine 4 alapú, autonóm járművek fejlesztését elősegítő, nyílt forráskódú szimulációs környezet. A Carla egy olyan szerver-kliens struktúrát valósít meg, melyben a szimuláció beállításai, az ágensek, a szenzorok konfigurálása, illetve egyéb testreszabási lehetőségek egy Python API-n keresztül érhetők el [75];

Tass PreScan, mely egy célzottan ADAS megoldások virtuális tesztelésére létreho- zott szimulációs környezet [76];

IPG CarMaker, egy specifikusan személy- és kistehergépjárművek tervezésének és tesztelésének érdekében fejlesztett környezet [77];

Vires Virtual Test Drive, egy szimulátor, melynek célja – hasonlóan a Tass Pre- Scanhez – tesztelő és validációs eszközkészlet biztosítása közúti járművek ADAS megoldásaihoz [78].

Az olyan tulajdonságainak köszönhetően, mint a kutatási tevékenység támogatására szabott munkamenete, a hozzáférhetősége – nyílt forráskódúsága, valamint az online elér- hető, bőséges mennyiségű felhasználói segédanyag rendelkezésre állása, a munkám során a Carla alkalmazást használtam fel mint a közösségi adatgyűjtési szimuláció létrehozásának környezetét.

No documento Közösségi adatgyűjtésen alapuló (páginas 30-34)