GithubHelp home page GithubHelp logo

merkato / odmsemantic3d Goto Github PK

View Code? Open in Web Editor NEW

This project forked from opendronemap/odmsemantic3d

0.0 0.0 0.0 603.53 MB

An open photogrammetry dataset of classified 3D point clouds for automated semantic segmentation. CC BY-SA 4.0

License: Other

Shell 57.52% Python 42.48%

odmsemantic3d's Introduction

ODMSemantic3D - An open photogrammetry dataset of classified 3D point clouds for automated semantic segmentation

Datasets are automatically trained and evaluated with OpenPointClass and the latest AI models can be downloaded from the releases page.

The resulting models are used to improve the automated classifier in ODM.

Contribute a point cloud

We recommend to process an image dataset with ODM or WebODM and turn on the pc-classify option, which will automatically assign classification values to a point cloud. Some will be incorrect, but it's easier than starting from scratch.

Once you have generated a point cloud (odm_georeferenced_model.laz), you can import it in CloudCompare. Use the latest stable release, not the alpha versions.

Then:

  • Select Properties > Scalar field > Classification.

If you are starting from an unclassified point cloud you can initialize the classification values by going to Edit > Add scalar field > Classification

add-scalar-field

  • Start classifying/cleaning the point cloud by going to Edit > Segment (press T)

  • Draw a polygon around the points you want to classify. Right click closes the polygon.

  • Press C to assign ASPRS LAS codes:

At a minimum, the point cloud should have the following classification codes:

Class Number Description
ground 2 Earth's surface such as soil, gravel, or pavement
low_vegetation 3 Any generic type of vegetation like grass, bushes, shrubs, and trees
building 6 Man-made structures such as houses, offices, and industrial buildings
human_made_object 64 Any artificial objects not classified as buildings, such as vehicles, street furniture

classify-proc

  • When you are done, you can export the point cloud by going to File > Save as... and selecting the .laz format. Select LAZ version 1.2 when exporting the file to .laz (not 1.3 or 1.4, which have issues with CloudCompare).

Open a pull request

You can contribute to this repository by adding new point clouds. They will be automatically evaluated and trained for you! To do so, you need to follow these steps:

create-fork

  • Create the fork in your account

create-fork-next

  • In your fork, open the datasets folder

click-on-datasets-folder

  • In the top right corner, click on Add file -> Upload files

upload-files

  • Upload the classified point cloud (.lazonly) by dragging them to the upload area or by clicking onchoose your files`.
  • If your point cloud is larger than 25MB, you will need to add the file by first making a local clone, add the file to the datasets folder, commit and then push
  • Describe the point cloud you are adding in the commit message field and select Create a new branch, then click on Commit changes

commit-changes

  • Click on compare across forks and select OpenDroneMap/ODMSemantic3D repository as base and main as base branch. Add a title and a description for the pull request and click on Create pull request

create-pull-request

  • Github will run the training automatically and will post evaluation statistics in the pull request as a comment.

  • If the PR is accepted, the point cloud will be added to the repository and the new model will be published in a new release.

Citation

OpenDroneMap Contributors: ODMSemantic3D - An open photogrammetry dataset of classified 3D point clouds for automated semantic segmentation. https://github.com/OpenDroneMap/ODMSemantic3D

odmsemantic3d's People

Contributors

actions-user avatar coumbsek avatar hedo88th avatar merkato avatar pierotofy avatar smathermather avatar techhedo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.