A Margit híd pillérszobrának 3D-s digitális alakzatrekonstrukciója Nagy Zoltán 1 Túri Zoltán 2 1 hallgató, Debreceni Egyetem TTK, e-mail: zoli0425@gmail.com 2 egyetemi tanársegéd, Debreceni Egyetem Természetföldrajzi és Geoinformatikai Tanszék, e-mail: turi.zoltan@science.unideb.hu Abstract: The scope of our work is the processing of point cloud data got by laser scanner, which is based on the modelling of simple and complex real shapes. It s goal is a correct, made-to-scale and go round-able 3D reconstruction work, that can be documented. From product design, re-engineering of parts and mass customization to engineering analysis, rapid prototyping and digital archiving, the point cloud processing enables you to bring your physical part into the digital realm. We summerize the basic steps of the point cloud data processing by the examples of some algorithms, and further usability potential of the arising model. Bevezetés Napjainkban egyre nagyobb igény mutatkozik környezetünk részletes és valósághű rögzítésére és annak feldolgozására. A technológia fejlődésével a hagyományos képi érzékelés és a széles körben alkalmazott geodéziai eszközök és módszerek már nem bizonyulnak elég hatékonynak. A távérzékelésben újabb innovatív eszközök és feldolgozási módszerek jelentek meg, ilyenek a lézerszkennerek és az általuk alkalmazott technológia. Ezek más szakterületek pl. a geodézia, a térképészet vagy a fotogrammetria fejlődésére is nagy hatással voltak (REHÁNY N. 2010). Anyag és módszer A kezdeti pontfelhő, amely a feldolgozás tárgyát képezte, több mérőállásból rögzített, háttérinformációktól mentes állományt tartalmazott. A digitális alakzatrekonstrukció során nem csupán a hagyományos analitikus felületek modellezésére van szükség, hanem gyakran a bonyolult, szabadformájú felületeket is újra létre kell hozni. A pontfelhő feldolgozásának és kiértékelésének általános lépései külön szakaszokra bonthatók (1. táblázat) (VÁRADY T. SALVI P. É.N.). 1. táblázat. A pontfelhő-kiértékelés szakaszai Feladat Eredmény 1. 3D-mérés pontfelhő 2. Ponthalmazok egyesítése/ritkítása pontfelhő pontfelhő 3. Háromszöghálók létrehozása/javítása pontfelhő háromszögháló 4. Szegmentálás háromszögháló tartományok 5. Felületek osztályozása tartományok attribútumok 6. Elsődleges felületek illesztése tartományok felületek 7. Összekötő felületek illesztése felületek felületek 8. Modellek tökéletesítése és kényszerek felületek felületek 9. Minőség-ellenőrzés felületcsoportok CAD-modell 1
10. Export CAD-alkalmazások CAD-modell érdekében A pontfelhő pontjai által rögzített háló létrehozása, valamint a felületek tesszelációja során síklapokkal határolt forma kialakítása a felszín rekonstruálását eredményezi. Az ideális háromszögháló tulajdonságai közé sorolható a lokális folytonosság, amire a nem önmetsző, orientálható, sima, egyenletes élhosszak és szögek jellemzők. A felületek illesztése bonyolult matematikai-modellezési feladat. Eredményként megkapjuk az ideális görbületen alapuló felületi eloszlást, ahol az a topologikus tér leképezése során az algoritmus által alkalmazott függvény folytonosnak mondható. Az algoritmusok eltérő szabályrendszert alkalmaznak, így a célállapot is eltérő módon jön létre. Sajnos a szoftverfejlesztő cégek a tervezőprogramok működési elvét titkosan kezelik a piaci versenyképesség és a másolásvedettség megőrzése érdekében (LOVAS T. ET AL. 2012). A legnépszerűbb algoritmusok közé tartoznak a Ball-pivoting és a Delaunay-háromszögelő módszerek. A Ball-pivoting módszer alkalmazása során három eset fordulhat elő az adathalmazunk pontsűrűségét tekintve. Ha a pontok közti távolság ideálisan sűrű, akkor minden pont kötőelemként szerepelhet, azonban ha a pontok közötti távolság helyenkét nagyobb, mint a megadott gömb sugara, úgy lyukak (hole) keletkeznek. Előfordulhat, hogy a feldolgozni kívánt pontfelhő olyan nagy sűrűségű ponthalmazt tartalmaz, amely során az adott sugarú gömb csak a felhasználó által meghatározott határértéken belüli pontokat köti össze, így ismét lyukak keletkezhetnek (DO- MONKOS M. 2011). A Delaunay-háromszögelésnél szintén újabb pontok kapcsolódnak be a konvex-burok képzésbe. Először is létrehoz egy háromszöget, amelynek csúcsai jelentik az első rész-háromszögelések csúcsait. Ezekhez később kapcsolódik majd a többi rész-háromszögelés. Mivel csak a nagy háromszög csúcspontjaira volt szükség, így az első rész-háromszögelés létrejöttével a nagy háromszög élvonalai törlésre kerültek. Ha a pontok belső területre esnek, akkor a tárgyalt pontokból további élek húzódnak a meglévő három csúcspont felé. Ha a pontjaink a szomszédos háromszögek közös oldalaira esnek, akkor az új élek a két szomszédos háromszög csúcsai felé futnak majd. Három dimenzió esetén ugyanezt tetraéderrel képzeljük el. A kritériumok megadásával elérjük, hogy a háromszögelések köré írható körök már nem tartalmaznak további pontokat, így a létrejött élek megtartják végleges állapotukat. Ezután ellenőrizni kell, hogy teljesül-e az ún. üres kör három dimenzió esetén üres gömb feltétel. Ez azt jelenti, hogy az adott részháromszögelések három csúcsán kívül a köré írható körök nem tartalmazhatnak további pontokat az adathalmazunkból. Ennek megfelelően a további pontok két lehetséges helyen tartózkodhatnak, vagy a háromszögek belsejé-
ben, vagy a két szomszédos háromszög közös oldalának élvonalán. Mielőtt elérnénk a végleges Delaunay-háromszögelést, ellenőriznünk kell, hogy a körülírt körökben lévő háromszögeléseknek nincs-e olyan csúcspontjuk, amely a kör közepébe esik. Ha két szomszédos háromszögelés során ilyennel találkozunk, akkor kötelező az élváltás, és helyette a szomszédos háromszögek között futó él fog behúzásra kerülni (SAMET, H. 2006). A háromdimenziós digitális alakzatrekonstrukció témája a Margit híd pillérszobrainak műemléki helyreállítása során térszkennerrel felmért, szárnyas Herkulest ábrázoló szobor újramodellezése volt. Napjainkban a fejlettebb CAD/CAM-alapú szoftverek már rendelkeznek a pontfelhő megjelenítésére és kezelésére alkalmas funkciókkal. Munkánk során a Geomagic Studio ingyenesen letölthető 30 napos próbaverzióját használtuk. A program grafikus kezelői felülete könnyen áttekinthető, a funkciók egyszerűek, így a szoftver nagyon felhasználóbarát. Szinte minden pontfelhő-feldolgozásban és CAD-szerkesztésben használatos formátumot támogat (.stl,.obj,.vrml,.dxf,.ply,.3ds, stb.). A szoftvert optimalizált, gyors adatfeldolgozásra, nagy mennyiségű, sűrű pontfelhők kezelésére tervezték. Eredmények Az általunk feldolgozott pontfelhő formátuma.pts, mérete közel 780 MB volt, amely 18.459.899 db pontot tartalmazott. Munkánk során a teljes adatbázist felhasználtuk, 100%-os pontadatállománnyal dolgoztunk. A felmért szobor magassága 10,1 m, szélessége 6,5 m, mélysége 5,2 m (1. ábra). A szobor egységes megjelenítéséhez optimalizáltuk a fényintenzitás értékét (2. ábra). 1. ábra. A Herkules szoborról készült pontfelhő és annak jellemző adatai 3
A háromszögelés előtt szükséges a pontfelhő tisztítása. A nem kívánt pontok eltávolítását manuálisan és automatikusan is végrehajthatjuk. Az egymáshoz nem kapcsolódó ponthalmazokat kiszűrtük és eltávolítottuk. Ezek ún. szigeteket alkotnak, amelyek közel esnek a pontfelhő testéhez, de nem tartoznak a modellezni kívánt felülethez. A különálló részként felismert pontok száma mindössze 131 volt, amely érték a szeparáció állítása és a modell teljes méretéhez viszonyított 95%-os értékig tartó növelés során sem változott. 2. ábra. A szoftverbe ágyazott fényintezitás értékek eltérő beállítási lehetőségei Másik lehetőség a pontfelhő körvonalához képest eltérő távolságban lévő pontok kijelölése. A kiugró értékek meghatározása összehasonlító alapon működik, az egyes pontokat a szomszédos pontokkal veti össze. A kijelölés itt is egyéni beállításokkal adható meg, alacsonyabb érték esetén korlátozza a kijelölhető pontok távolságát, magasabb érték esetén nagyobb rátával dolgozik. 3. ábra. Kiugró értékek a pontfelhő körvonalában (sötét színnel jelölve)
A kijelölésre került pontok száma 225.443 db volt, amely jelentősen eltért a különálló szigetek detektálása során kapott eredménytől (3. ábra). Az eltérést a pontfelhőben lévő kiugró értékek okozták. Hibaként jelenik meg a környező pontok értékéhez képest, mivel itt a pontok egymástól való kisebb rendű távolsága folytonos alakot feltételez. Túl nagy érték megadása esetén ronthatja a határoló vonalak és az élek minőségét. A szobornál a kijelölt pontok száma szabad forma tekintetében megfelelőnek bizonyult, azonban a szabályos alakzatot jelentő talapzat esetén túl nagy rész került kijelölésre, amely már a pontfelhő hasznos elemeit ajánlja fel törlésre. Ennek elkerülése érdekében a talapzaton megszüntettük a kijelölést, így csak a szobrot alkotó pontok kerültek redukálásra. A kijelölt és törölt pontok száma 122.740-re csökkent. A manuális tisztítás főként akkor hasznos, ha a törölni kívánt pontok száma annyira lecsökken, hogy a modell torzítása nélkül már nem futtatható le az automatikus tisztítás. A művelet végrehajtása után a pontfelhőt alkotó pontok száma 18.337.028-ra csökkent. Ahhoz, hogy a pontadatot poligonná konvertáljuk, hálógenerálást (mesh) kell alkalmazni. Mivel a pontfelhőnk nem előre meghatározott geometriai, hanem egy szabad formákkal rendelkező állomány, így a zajcsökkentésnél alapszintű simítást (smoothness) végeztünk. A feldolgozást megnehezítette, hogy a szoftver rendkívül hardverigényes. A további feldolgozáshoz a tisztított pontfelhőnket 18 részre kellett osztanunk, mivel 8 GB fizikai memória mellett a hibajelzés nélkül háromszögelhető pontok száma megközelítőleg 1-1,2 millió volt (4. ábra). Nagyobb teljesítményű számítógépeknél természetesen ez nem okoz problémát. 4. ábra. A 18 részre osztott pontfelhő 5
A hálógenerálásnál lehetőségünk van további zajcsökkentésre, megadható a maximális trianguláció száma, és állíthatunk a teljesítmény/minőség arányon. A létrejött poligonállomány általában a felmérés minőségétől függően tartalmaz hibatípusokat, és azok száma a minőség romlásával fokozatosan növekszik (5 6. ábra). A poligonok javítása automatikus és manuális módszerrel történt. Egy algoritmussal az automatikusan detektált hibák számát jelentősen redukáltuk, majd a fennmaradó hibás részeket, pl. az önmetsző felületeket, tüskéket (spike), valamint a hiányos térrészeket manuálisan javítottuk. 5. ábra. A szobor első részének háromszögelt állapota 6. ábra. A pontfelhő egy kivágata néhány jellemző hibatípussal
A javítási fázis után az ellenőrző analízis ismételt futtatásával a felmért hibatípusok száma nullára csökkent. A hibáktól mentes részek ezután összeillesztésre kerültek. A precíz javításnak és alakrekonstrukciónak köszönhetően az egyes részek pontosan illeszkedtek egymáshoz (7. ábra). Az illesztések nyomainak eltüntetésére az egész modellt lefedő simítást végeztünk a görbületi adottságok figyelembevételével (8. ábra). 7. ábra. Az egyes részmodellek összeillesztése 8. ábra. A modell végső formája A javítások után kapott modell 44.441.369 triangulációt tartalmazott. Ennek méretét a későbbi esetleges utómunka és a könnyebb kezelhetőség érdekében tovább csökkentettük a modell háromszögeléseinek tizedelésével, azonban a túlzott csökkentés a forma jelentős torzulását eredményezheti. A 7
végső méret 682.426 db triangulált felszínnel 2,3 GB-ról 8 MB-ra csökkent, így a kisebb hardverigényű programok is könnyen kezelhetik. Köszönetnyilvánítás Köszönjük Magos Gábornak, a MindiGIS Térinformatikai Iroda Kft. ügyvezető igazgatójának, hogy az adatokat a feldolgozáshoz rendelkezésünkre bocsátotta. A munka az NTP-TDK-13-023 sz. Tehetséggondozási Program a DE Természettudományi és Technológiai Kar tudományos diákköri műhelyeiben c. pályázati támogatással készült. Felhasznált irodalom DOMONKOS M. (2011): Véges ponthalmazok alakjai és a Meshlab. Diplomamunka, SZTE TIK, Bolyai Intézet Geometriai Tanszék, Szeged, 40p. LOVAS T., BERÉNYI A., BARSI Á. (2012): Lézerszkennelés. Terc Kiadó, Budapest, 166 p. REHÁNY N. (2010): Földi lézerszkenner pontossági vizsgálata. Tudományos diákköri dolgozat, BME, Budapest, 25 p. http://vit.bme.hu/tdk/2010/pdf/geodezia/rehany.pdf (letöltve: 2014. január) SAMET, H. (2006): Foundations of Multidimensional and Metric Data Structures. Morgan Kaufmann Publishers, San Francisco, 993 p. VÁRADY T., SALVI P. (é.n.): 3D-s számítógépes geometria és alakzatrekonstrukció. BME Villamosmérnöki és Informatikai Kar, Irányítástechnika és Informatika Tanszék http://cg.iit.bme.hu/portal/sites/default/files/oktatott-targyak/3d-geometriamernoki-visszafejtes/slides/3dgeom-14-v53.pdf (letöltve: 2014. január)