jkk-research / mesh3d

3D mesh of the university campus etc.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mesh creation based on 3D LIDAR point cloud

Download and view online campus mesh ~75 Mb

Szakdolgozat téma leírása:

A feladat a Széchenyi István Egyetem központi campus 3D modelljének megalkotása LIDAR mérések alapján. Elsődleges szempont, hogy a modell segítséget nyújtson önvezető autók szimulációs feladatai során. Ezért hangsúlyos a mérethelyesség. A modellnek emellett felismerhető részletességűnek kell lennie, de tárhelyigényét tekintve kis mérettel kell rendelkeznie, ezt alacsony poligonszámmal biztosítva.

Részfeladatok:

  • Pontfelhő létrehozása LIDAR mérések alapján. Szakirodalmi áttekintés. LIDAR + GPS vagy LIDAR + IMU alapján történő pontfelhő létrehozás vizsgálata. A bemeneti adatokat az egyetem biztosítja rosbag fájlok formájában.
  • A létrehozott pontfelhőből mesh (térháló) készítése automatikus és kézi módszerrel.
  • A két módszerrel készült mesh összehasonlítása, objektív és szubjektív szempontok alapján (Ajánlott Blender/CloudCompare/Python script)
  • A modell feltöltése OpenStreetMap-re, generikus CAD fájl kimenet létrehozása.

Jelen repository az automatikus módszer kódját tartalmazza. Elsősorban viszonylag sík területek felszíni méréssel készült leképezésének feldolgozására fókuszál.

A futtatáshoz szükséges előkészületek és eszközök:

  • Python 3.10 virtuális környezet
  • NumPy
  • Open3D
  • PyVista
  • CUDA kompatibilis GPU
  • legalább 8-16 GB RAM

A kód a futás során szétválasztja a pontfelhőt földi és föld feletti pontokra, majd több tisztítási és zajszűrési lépésen keresztül különálló épületekre bontja a föld feletti ponthalmazt. Ezután Alphashape metódussal és Delaunay-triangulációval létrehozza a térhálót.

English version:

Description of the thesis:

The purpose of the project is to create the 3D mesh of the Széchenyi István University Central Campus, based on LIDAR data. The primary focus is to help in the research of simulating the behaviour of self-driving vehicles. For this reason, dimensional accuracy is important. Apart from this, the model needs to be high resolution enough to be recognizable, however it can't take up too much storage space, therefore its polygon number needs to stay as low as possible.

Subtasks:

  • Producing a point cloud based on LIDAR data. Literature review. Research of producing point cloud based on LIDAR + GPS or LIDAR + IMU. The input data is provided by the university in the form of rosbag files.
  • Mesh creation from the point cloud, using both manual and automatic tools.
  • Comparing the meshes created by the two methods, based on objective and subjective aspects (Recommended: Blender/CloudCompare/Python scrilt)
  • Uploading the model to OpenStreetMap, producing generic CAD file output (.obj file)

This repository contains the code for the automatic method. It is primarily used for processing surface-level measurements of fairly flat and noisy areas.

Preparations and tools for running the code:

  • Python 3.10 virtual environment
  • NumPy
  • Open3D
  • PyVista
  • CUDA compatible GPU
  • at least 8-16 GB RAM

During the process, the code separates the ground points from the points of the buildings and other objects, then, through multiple cleaning and noise filtering steps, it segments the buildings into clusters. As the final step, it uses Alphashape and Delaunay-triangulation to create the mesh.

Separation of ground points and buildings Building segmentation

Separation of ground and buildings (1), and building segmentation (2).

Results:

The original point cloud Handmade model Model produced by the code

The original point cloud (1), the model made by hand in Blender (2), and the model produced by this code (3).

About

3D mesh of the university campus etc.


Languages

Language:Python 100.0%