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:
- 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.
- 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.
- 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.
- 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
Macbook Pro 15”
- 4-cores i7 (mobile version) i7-4870HQ (CPU score: 9345*)
- SSD
- 16GB RAM
Desktop-i7
- 6-cores i7 5820k (CPU score: 12995*)
- Nvidia Geforce 1050Ti (GPU score: 5769*)
- 24GB RAM
Workstation
- Dual 8-cores Xeon (16 cores) E5-2650 v2 (CPU score: 19314*)
- Nvidia TITAN Black (GPU score: 8561*)
- 64GB RAM
Laptop
- 4-cores i7 (mobile version) i7-4710MQ (CPU score: 7996*)
- Nvidia GTX 980M (GPU score: 5706*)
- SSD
- 16GB RAM
Desktop-AMD
- 8-cores Ryzen 7 1800 (CPU score: 15372*)
- Nvidia Geforce 1050Ti (GPU score: 5769*)
- 32GB RAM
*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.
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.
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.