GPU Point Cloud Densification Lands in ODM, and It’s Fast!

We strive to make ODM as fast as possible. GPUs are very good at performing parallel calculations on blocks of data. While they can’t be employed at every stage of the pipeline, they can help in several areas.

GPU-based features extraction has been in ODM for a while (if you ventured to use the opendronemap/odm:gpu docker image) and has given some modest speed improvements when run on consumer hardware compared to its CPU implementation. But perhaps the most useful area for leveraging the GPU in a photogrammetry pipeline is point cloud densification.

This is why we got really excited when OpenMVS developers added support for a state-of-the-art GPU-based patch match implementation.

Today we’re pleased to announce that this latest version of OpenMVS is available in ODM (Windows and Linux)!

You can use it via:

  • Command line docker using the opendronemap/odm:gpu image (Linux)
  • WebODM by running (Linux):
    ./webodm.sh start --gpu
  • Command line by downloading the latest binaries: https://github.com/OpenDroneMap/ODM/releases (Windows)
  • WebODM Native, which already contains the latest ODM binaries (Windows)

Early benchmarks point to a ~10x speed improvement in point cloud densification times! Considering that point cloud densification is (was?) the longest step in the processing pipeline, we’re talking about a significant improvement.

Brighton Beach dense point cloud processing time

You will need an NVIDIA card to make use of the new GPU-based point cloud densification code.

Check it out and let us know in the community forum if you notice improvements!

101

Category: ODM

Avatar for pierotofy

Piero is a core developer on all of OpenDroneMap projects.