A pontfelhő mind a fotogrammetriai feldolgozás, mind a lézerszkennelés egy alapvető kimeneti állománya. A pontfelhő műveletekre fejlesztették a CloudCompare szoftvert. Ezt a programot már több írásunkban is bemutattuk a blogunkon. A CloudCompare egy ingyenes, nyílt-forráskódú szoftver, ami remek eszközpalettát biztosít a pontfelhők elemzésére. A CloudCompare szoftver IDE kattintva éred el.
Megjegyzés: Lehet, hogy a vírusírtód kicsit akadékoskodni fog és a CloudCompare-t veszélyes programnak titulálja. Én évek óta használom, és semmilyen kárt nem okozott. Ha úgy gondolod, ne telepítsd, a cikkben is követni tudod a pontfelhőn végrehajtott lépéseket.
A jelenlegi cikkben a következő pontfelhő manipulációs fortélyokat sajátíthatod el:
- CloudCompare: Pontfelhő tisztítás és 3D mesh generálás;
- CloudCompare: Pontfelhő leválogatása – automatizált talajszint és épület szűrés a CSF plugin segítségével;
- CloudCompare: Pontfelhőből raszteres állományok készítése.
Ha érdekel a CloudCompare és a pontfelhőkön végzett műveletek, akkor ne felejtsd el, hogy korábban írtunk már ebben a témában:
- HOGYAN ÉS MIRE HASZNÁLHATÓK A TÉRADATOK?
- 4 EGYSZERŰ ÉS SZAKSZERŰ MÓD A PONTFELHŐ ÉS A DEM ALAPÚ TÉRFOGATSZÁMÍTÁSHOZ
- GIS ALAPÚ ÉPÜLETMOZGÁS VIZSGÁLAT LÉPÉSRŐL LÉPÉSRE
A CloudCompare kimeneti fájljai nagyméretű pontfelhők, ortomozaikok, digitális magasságmodellek (DEM) és 3D modellek lehetnek. Ezeket nehéz lehet megosztani az ügyféllel és a kollégákkal, ezért erősen ajánlott a SurveyTransfer adatmegosztó szoftver használata! További információkért keresd fel a szoftvergyártó weboldalát IDE kattintva.
CLOUDCOMPARE: PONTFELHŐ TISZTÍTÁS ÉS 3D MESH GENERÁLÁS
Miért és mitől is kell megtisztítani a pontfelhőt? Sok esetben előfordul, hogy a feldolgozás során zaj is keletkezik, ami a pontfelhőben rossz helyen megjelenő pontokként nyilvánul meg. Az alábbi képen lehet látni (CloudCompare-ben ábrázoltuk), hogy keletkezett elszeparált pontsor és a valós geometria mellett többletpontok is létrejöttek.
A zaj törléséhez a CloudCompare-en belül jelöld ki a pontfelhőt, majd a „Tools/Clean/SOR filter” menüpontot válaszd ki.
Itt próbáld ki az alapbeállítást vagy nyugodtan kísérletezz általad megadott paraméterekkel. A tesztelések nem lesznek hatással az eredeti pontfelhőre! Én az alapbeállításokon mutatom most meg, hogy mit tud ez a CloudCompare szűrés. Az eredmény már ebben a formában is sokkal jobb az előzőhöz képest.
Alakítsunk még rajta! Az új pontfelhőt jelöld ki és a „Tools/Clean” menüből válaszd a „Noise Filter” opciót.
Itt lehet, hogy a keresést illetően érdemes egy kicsit kisebb számot megadni, ha nagyon sok az elszeparált pont.
Megjegyzés: Amennyiben nem vagy biztos benne, hogy a pontfelhőd rendelkezik normálokkal, akkor a 3D mesh generálása előtt érdemes kiszámoltatni a pontfelhő normáljait. Ezt a CloudCompare-en belül az „Edit/Compute/Normals” menüben tudod megtenni. Itt akár alapbeállításokon is lefuttathatod ezt a függvényt. Ez a számolás egyes esetekben igen sokáig (órákig) is eltarthat.
A Plugins/PoissonRecon menüpontot válaszd ki, hogy a pontfelhőből 3D mesh-t készítsünk. Igen, a CloudCompare ezt is tudja! 🙂
Itt a következő képen látható paramétereket érdemes beállítanod. Az „Octree depth” értéket 8-10 között célszerű használni, máskülönben a CloudCompare sokáig fog dolgozni.
Az eredmény hát, nos… nem túl kecsegtető első ránézésre…
A CloudCompare Poisson rekonstrukció megpróbálja bezárni egy testté a geometriát. Ha a számunkra feleslegesen leképződött térrészektől megszabadítjuk, akkor már egészen jó eredményt kapunk!
Jelöld ki a rétegfában a mesh réteget, majd a réteg alatti „Properties” menüben görgess le egészen az „SF display params” részig. Itt egy eloszlás diagramot láthatsz, aminek alsó és felső határértékét szabadon beállíthatod egy csúszka segítségével. Ha a minimumot feljebb állítod, akkor leszedheted a felesleges részeket.
Ezután létrehozzuk a végleges mesh-t, amiből kitöröljük a zavaró részeket. Menj az „Edit/Scalar fields/Filter By Value” menübe. Ez egy nagyon hasznos CloudCompare funkció, számos esetben alkalmazható pontfelhők esetében is (pl. magassági adatok szerinti szűrés).
A felugró ablak alsó értéke már az előbb beállított adatot fogja örökölni. Itt eldöntheted, hogy exportálsz (Export) a CloudCompare-ből vagy csak szétválasztod (Split) külön rétegekbe a zavaró részt és az értékes mesh-t.
A példa kedvéért én a „Split” opciót választom. Ha nem magasság szerint szeretnéd színezni a végeredményt, akkor a pontfelhőből örökölt RGB színek szerint is megjelenítheted a mesh-t. Ehhez válaszd ki a réteget, majd a „Properties” menüből a „Colors” alatt válaszd ki az RGB-t.
CLOUDCOMPARE: PONTFELHŐ LEVÁLOGATÁSA – AUTOMATIZÁLT TALAJSZINT ÉS ÉPÜLET SZŰRÉS A CSF PLUGIN SEGÍTSÉGÉVEL
Sokszor előfordul, hogy nem a teljes pontfelhő felszínére (Digital Surface Model), hanem annak csak a terepfelszín adottságaira (Digital Terrain Model) van szükség.
Látszólag nem egyszerű feladat, de a CloudCompare CSF (cloth simulation filtering) pluginja segít a pontfelhő szűrésében. Röviden és konyhanyelven leírom, hogy mit is csinál a CSF a pontfelhővel: a pontfelhő teljes felszínét a feje tetéjére fordítja, majd egy virtuális ruhadarabot illeszt rá. Az épületek és a növényzet ezen az invertált állományon negatív geometriaként jelennek meg. A pontfelhő ezen „mélyedéseibe” csak korlátozottan illeszkedik a ruhadarab. A ruhadarab mesh modellje fogja jelenteni a feltételezhető terepfelszínt.
Nézzük meg mindezt a gyakorlatban, vagyis a CloudCompare-ben! Jelöld ki a pontfelhőt, majd válaszd ki a „Plugins/CSF Filter” függvényt.
Attól függően, hogy milyen adottságú a felvételezett terület, válaszd ki, hogy mi a legmegfelelőbb neked:
- Steep slope – Nagy meredekségű lejtők esetében;
- Relief – Dimbes-dombos területekhez;
- Flat – A sík térszínekhez.
Ha a meredek lejtőket ki akarod szűrni, akkor kapcsold be a „Slope processing” opciót, mert ez segít abban, hogy a pontfelhőn belül a CloudCompare CSF algoritmus a meredek lejtőket jobban azonosítsa.
Javaslom, hogy az „Advanced parameter setting” fül alatt adj meg kisebb értéket a „Cloth resolution” paraméternek. Ezzel növelheted a ruhadarab felbontását, ami így jobban illeszkedik a pontfelhőhöz. Csak óvatosan! A „Cloth resolution” 0.3 és ezalatti értékei már drasztikusan megnövelhetik a CloudCompare számítási idejét.
Az eredmény kettő külön pontfelhőként jelenik meg a CloudCompare-ben: egy, ami a terepfelszínt reprezentálja és egy másik, ami a felette elhelyezkedő objektumokat (pl. épületek, növényzet).
Megjegyzés: Ha érdekel, hogy ebből a pontfelhő terepfelszínből hogyan lehet raszteres DTM-et készíteni, akkor mindenképp olvass tovább! A „CloudCompare: Pontfelhőből raszteres állomány készítése” fejezetben erre is kitérünk.
CLOUDCOMPARE: PONTFELHŐBŐL RASZTERES ÁLLOMÁNYOK KÉSZÍTÉSE
Végül, de nem utolsó sorban egy újabb hasznos CloudCompare funkciót mutatunk be. Ennek segítségével a pontfelhő különböző tengelyei és értékei mentén készíthetsz raszteres állományokat. Az eljárás rendkívül egyszerű! Jelöld ki a pontfelhőt, majd a „Tools/Projection/Rasterize” függvényt válaszd ki. Ez a menüpont elérhető a CloudCompare felső menüsávjában.
Először állítsd be a „step” paramétert, ami lényegében a felbontást fogja meghatározni. Ezután megannyi lehetőséged van a CloudCompare Rasterize funkciójában! Ha a pontfelhő RGB színezett, akkor ezt kihasználva kvázi ortofotó térképet készíthetsz, mivel valós színes raszteres állományt hozhatsz létre. Ehhez állítsd be az „active layer” melletti listaelemet „RGB”-re, majd nyomj az „Update grid” gombra.
A „Projection” rész alatt a „direction” értéket átállítva különböző tengelyek mentén jelenítheted meg az eredményt CloudCompare-ben. Így például, a pontfelhőből akár oldalnézetből készült képet is létrehozhatsz.
Ha magassági modellt szeretnél készíteni, akkor állítsd át az „active layer” értéket „Height grid values”-ra.
A CloudCompare lehetőséget ad arra is, hogy közelítő számításokkal (interpoláció) kitölthetsd az adathiányos részeket. Ehhez csak az „Empty cells” résznél a „Fill with” legördülő menüt kell „interpolate”-re állítanod.
Az előző, „CloudCompare: Pontfelhő leválogatása – automatizált talajszint és épület szűrés a CSF plugin segítségével” fejezetben bemutatott pontfelhőből kinyert terepfelszínt a következő képen látható módon alakíthatod át raszterré.
CLOUDCOMPARE & PONTFELHŐK – A JÖVŐBELI TERVEINK ÉS ZÁRÓ GONDOLATOK
A CloudCompare megannyi érdekes pontfelhő elemzést és praktikus szerkesztési lehetőséget tartogat még. Ilyen például az automatikus/tanítható pontfelhő klasszifikáló modul (CANUPO) vagy a(z) (újra)vektorizálást segítő (Polyline trace) szerkesztő.
Mi neked, nektek, a közösségnek írunk! Ebből a gondolatból kiindulva, ha tetszett nektek ez a mostani CloudCompare alapú pontfelhő elemzés, akkor a témán belül összeszedünk még pár hasznos eszközt és azt megírjuk egy blog cikk formájában.
A CloudCompare elemzésének eredményei nagyméretű pontfelhők, 3D modellek és nagyfelbontású raszteres térképi állományok lehetnek. Ha ezeket a lehető legszakszerűbb és mégis legegyszerűbb úton akarod megosztani az üzleti partnereiddel (ügyfeleddel, kollégáddal, fő- vagy alvállalkozóddal), akkor ne feledd: ezért fejlesztjük a SurveyTransfer adatmegosztót! Itt tudod követni, hogy hol tartunk 🙂
Ha nagyon-nagyon tetszett, amit olvastál, akkor meg is oszthatod az ismerőseiddel. Ne fogd vissza magad! 🙂
Tetszett, amit olvastál? Akarsz hasonlókat olvasni?