Hardware and computer setup

Hardware case study - PIX4Dmapper

This article explains the use of key computer components by PIX4Dmapper. A series of experiments have been performed to determine the impact of hardware configuration as a function of input images and processing options.

To begin, it is not possible to specify which hardware to buy for successful processing. It is important to have a balanced configuration to improve performance to avoid bottlenecks.

The 4 key components are:

CPU

  • The software is highly parallelized and takes advantage of multi-core CPUs.
  • Most of the processing is done in the CPU. A faster CPU is the first key to increase processing speed.
  • Hexa and octo cores, latest generation i7 or Xeon CPUs are recommended. Clock speed generally impacts the full project, and the number of cores impacts step 2. Point Cloud and Mesh.
  • Dual-socket CPUs do not double the performance, but they do generally provide faster processing than single-socket CPUs.
  • Using octo-core CPUs improved the performance of step 3. DSM, Orthomosaic and Index.

Useful links: It is possible to specify how many Cores are used for processing. For more information: How to modify the resources (cores and RAM) assigned for processing.
To compare different CPUs: www.cpubenchmark.net.

RAM

  • The amount of RAM mostly impacts the number of images that can be processed in a single project.
  • The amount of RAM depends on the project size (the number of images and their resolution). For most projects, 32GB of RAM is recommended. When processing large datasets or images of high resolution (projects with more than 1000 images or projects with images of 40 MP or more) a minimum of 32 GB RAM is recommended.
  • In our experiments, we observed that 32GB of RAM generated the orthomosaic faster than 16GB of RAM.

Useful links: It is possible to specify how much RAM will be used for processing. For more information: How to modify the resources (cores and RAM) assigned for processing.

GPU

  • PIX4Dmapper is compatible with any GPU that is compatible with OpenGL 3.2 or above (this corresponds to the Intel integrated graphic card HD 4000 and above). Devices with Compute Capability lower than 2.0 are not supported by Pix4D software.
  • PIX4Dmapper uses the GPU's processing power. It will leverage Nvidia CUDA 9.1 and above. Ensure the latest drivers are installed (for example, GeForce 1070/1080, Quadro P4000/5000, Titan X, Tesla). This increases the performance of PIX4Dmapper, especially during step 1. Initial Processing for large projects.
  • In our experiments, we observed that a CUDA-capable graphic card speeds up the Calibration step.
  • We have observed a speedup between 10% and 75% in step 1. Initial Processing, and around 10% in step 2. Point Cloud and Mesh. As a rule of thumb, projects with high overlap, rich image content and thus with a higher number of keypoints benefit more from the speedup.

Useful links: For more information about how to check the Compute Capability: http://en.wikipedia.org/wiki/CUDA.
To compare different GPUs: www.videocardbenchmark.net.

Hard Disk

  • A RAID setup of traditional hard disks or an SSD is preferred.
  • Step 3. DSM, Orthomosaic and Index is impacted the most by the hard disk speed.


We have performed experiments to investigate the correlation between the number of images, the hardware used, and the time each step takes as a function of the processing options.

Hardware used for the tests

High-end Laptop
Desktop (2000-4500$ depending on brand and features)
Workstation (4000$-10000$ depending on brand and features)

Macbook Pro 15”

Desktop-i7

Workstation

Laptop

Desktop-AMD

*Based on the scores of 08.11.2017

Experiments performed

The graphs below show processing time depending as the function of the hardware used. Step 1. Initial Processing is shown in blue, step 2. Point Cloud and Mesh in red and step 3. DSM, Orthomosaic and Index in yellow. The projects were processed with the stable version 3.2.23.

The dataset used for the first experiment is a small nadir project and consists of 83 images at a resolution of 3000x4000 pixels acquired with DJI's Phantom 4 drone.

small_rapid__2_.png
small_3dmaps__2_.png
Project processed using 3D Maps - Rapid/Low Res. template
Project was processed using 3D Maps standard template
Figure 1. Small nadir project


The dataset used for the second experiment is a large nadir project consisting of 1248 images at a resolution of 4592x3448 pixels acquired with an MAVinci drone.

very_large_rapid2.png
very_large_3dmaps_2_.png
Project processed using 3D Maps - Rapid/Low Res. template
Project processed using 3D Maps standard template
Figure 2. Large nadir project

Conclusions:

  • The high-end desktop computer processed twice (2x) faster than the laptop.
  • CUDA capable graphic card speeded up the calibration step by a factor of 2.
  • Dual socket machine was 1⁄3 faster on large projects.
  • The influence of the processing option can be a multiplicative factor of up to 5-10.
  • The impact of HDD/SSD performance is small.
  • The processing time when using the 3D Maps - Rapid/Low Res. template is more or less independent of the hardware (limited by Input-Output more than by CPU and GPU).
  • Processing the large project takes ~10 times longer than the small project.

Disclaimer: Pix4D publishes this information as a courtesy to its customers. Because this information may not be accurate, Pix4D makes no warranty of any kind, expressed or implied, with respect to its validity.