• 2023-03-06

CloudCompare & Pontfelhő – 3 kihagyhatatlan pontfelhő elemzés

CloudCompare & Pontfelhő – 3 kihagyhatatlan pontfelhő elemzés

CloudCompare & Pontfelhő – 3 kihagyhatatlan pontfelhő elemzés 1024 576 SurveyTransfer

A pontfelhő mind a fotogrammetriai feldolgozás, mind a lézerszkennelés egy alapvető kimeneti állománya. A pontfelhőkön végezhető 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:

  1. CloudCompare: Pontfelhő tisztítás és 3D mesh generálás;
  2. CloudCompare: Pontfelhő leválogatása – automatizált talajszint és épület szűrés a CSF plugin segítségével;
  3. 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:

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ŐK TISZTÍTÁSA É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?