Sign inSign up

yarroudh/optim3d

By yarroudh

Updated over 3 years ago
Archived

CLI application for efficient and optimized reconstruction of large-scale 3D building models.

Image
0

1.8K

yarroudh/optim3d repository overview

logo

Optimized reconstruction of large-scale 3D building models

License Geomatics Unit of ULiege - Development

Command-Line Interface (CLI) application for efficient and optimized reconstruction of large-scale 3D building models.

Optim3D is a powerful tool for optimized automatic reconstruction of highly detailed and large-scale 3D building models. Our tool is based on the GeoFlow software and makes use of it to perform the 3D reconstruction of buildings. The process is inspired by the 3D BAG project and optimized for large-scale projects through indexing and tiling of the input data, which significantly reduces the processing time and resources required to generate large-scale 3D building models.

Workflow of 3D Reconstruction

Documentation

If you are using Optim3D, we highly recommend that you take the time to read the documentation. The documentation is an essential resource that will help you understand the features and functionality of our software, as well as provide guidance on how to use it effectively.

Installation

You can pull the image using the docker pull command:

docker pull yarroudh/optim3d

Usage of the CLI

These are the steps to run Optim3D as a Docker container:

  1. First, run the Docker container and mount your data inside it. Use the docker run command with the -v option to specify the path to the host directory and the path to the container directory where you want to mount the data folder. For example:
docker run -d -v ABSOLUTE_PATH_TO_HOST_DATA:/home/user/data yarroudh/optim3d

This command will start a Docker container in detached mode, mount the ABSOLUTE_PATH_TO_HOST_DATA directory on the host machine to the /home/user/data directory inside the container, and run the yarroudh/optim3d image. Do not change the path of the directory inside the container.

  1. Find the container ID and copy it. You can use the docker ps command to list all running containers and their IDs.
  2. Launch a command inside the container using docker exec, use the container ID or name and the command you want to run. For example:
docker exec CONTAINER_ID optim3d index2d data/FILE_NAME
docker exec CONTAINER_ID optim3d index3d data/FILE_NAME
docker exec CONTAINER_ID optim3d tiler3d
docker exec CONTAINER_ID optim3d reconstruct
docker exec CONTAINER_ID optim3d post
  1. To copy the output of the command from the container to a local path, use the docker cp command with the container ID or name, the path to the file inside the container, and the path to the destination on the host machine. For example:
  • To copy the output of one command:
docker cp CONTAINER_ID:/home/user/output/footprint_tiles PATH_ON_HOST_MACHINE

This will copy the output of footprints tiling. Please check the results section for the output structure.

  • To copy the output of all the commands:
docker cp CONTAINER_ID:/home/user/output PATH_ON_HOST_MACHINE
  1. Finally, after executing all the commands and copying the results to your local machine, you can stop the Docker container using the docker stop command followed by the container ID or name:
docker stop CONTAINER_ID

Results

The results of each command are saved in the output folder with the following structure:

├── output
│   ├── flowcharts
│   │   ├── *.json
│   ├── footprint_tiles
│   │   ├── *.cpg
│   │   ├── *.dbf
│   │   ├── *.prj
│   │   ├── *.shp
│   │   ├── *.shx
│   ├── indexed_pointcloud
│   │   ├── ept-data
│   │   │   ├── *.laz
│   │   ├── ept-hierarchy
│   │   │   ├── 0-0-0-0.json
│   │   ├── ept-sources
│   │   │   ├── *.json
│   │   ├── ept.json
│   │   ├── ept-build.json
│   ├── model
│   │   ├── cityjson
│   │   ├── *.city.json
│   │   ├── obj
│   │   ├── *.obj
│   │   ├── *.obj.mtl
│   ├── pointcloud_tiles
│   │   ├── *.las
│   ├── processing_areas.gpkg
│   └── quadtree.gpkg

The 3D building models can be inspected using Ninja, the official web viewer for CityJSON files.

image

See also

Automatic correction of buildings ground floor elevation in 3D City Models

GeoFlow requires that the point cloud includes some ground points around the building so that it can determine the ground floor elevation. However, for aerial point clouds, buildings surrounded by others may not meet this condition which may result in inaccurate height estimation above the ground. This can be resolved using ZRect3D, a tool for automatic correction of buildings ground-floor elevation in CityJSON files using ground points from LiDAR data.

License

This software is under the BSD 3-Clause "New" or "Revised" license which is a permissive license that allows you almost unlimited freedom with the software so long as you include the BSD copyright and license notice in it. Please read the LICENSE and the COPYING files in the GitHub repository for more details.

Citation

The use of open-source software repositories has become increasingly prevalent in scientific research. If you use this repository for your research, please make sure to cite it appropriately in your work. The recommended citation format for this repository is provided in the accompanying BibTeX citation. Additionally, please make sure to comply with any licensing terms and conditions associated with the use of this repository.

@misc{yarroudh:2023:optim3d,
  author = {Yarroudh, Anass},
  title = {Optim3D: Optimized reconstruction of large-scale 3D building models},
  year = {2023},
  howpublished = {GitHub Repository},
  url = {https://github.com/Yarroudh/Optim3D}
}

Yarroudh, A. (2023). Optim3D: Optimized reconstruction of large-scale 3D building models [GitHub repository]. Retrieved from https://github.com/Yarroudh/Optim3D

About Optim3D

This software was developped by Anass Yarroudh, a Research Engineer in the Geomatics Unit of the University of Liege. For more detailed information please contact us via [email protected], we are pleased to send you the necessary information.

Tag summary

Content type

Image

Digest

sha256:521322e09

Size

4 GB

Last updated

over 3 years ago

docker pull yarroudh/optim3d