The speed is related to several factors related to the:
- Hardware used
- Graphics card
- Hard Disk
- Amount of images
- Image resolution
- Images' content
- Number of keypoints found
- If the images are geolocated or not
- Processing options selected
- Quality selected
- Amount of outputs to be generated
At the moment it is not possible to estimate how much time is left to finish a processing step.
The software is highly parallelized and takes advantages of multi-core CPUs, as well as SSE/AVX instructions and NVIDIA GPU CUDA processing. However the different steps of processing do not use these resources the same way, and not all parts can take advantages of multi-core or CUDA. Note that to increase the performance it is important to have a balanced configuration without bottlenecks.
Most of the processing is done on the CPU, and a faster CPU is the first key to increasing processing speed. Hexa and octo cores, latest generation i7 or Xeon CPUs are recommended. Clock speed generally impacts the full project, and a number of cores greatly impacts step 2.Point Cloud and Mesh.
Dual socket CPU does not double performance but does generally provide faster processing than single socket CPU.
The amount of RAM mostly has an impact on the number of images that can be processed in a single project. It also has an impact on the processing of step 2.Point Cloud and Mesh.
Step 3. DSM, Orthomosaic and Index is the most impacted by the hard disk speed. Using octo core CPUs and a fast SSD improves the performance of step 3.
Starting with version 1.3, Pix4Dmapper takes advantages of NVIDIA GPUs with CUDA to further increase processing speed.
The speed increase highly depends on the project type, i.e. the image number, the image size and the image content. For example, with a GTX 970, we observed a speedup between 10% and 75% for step 1. Initial Processing, and around 5% for step 2. Point Cloud and Mesh. As a rule of thumb, projects with high overlap, high image content and thus a high number of keypoints benefit more from the speedup.
The larger the project, the longer the processing time. A project of 2000 images may take about 10 times longer than a project of 200 images, but a project of 10'000 images may take 80 times more instead of 50.
For very large projects (above 10'000 images), it is advised to use the Split into Subprojects feature that will divide a large project into smaller ones that will be faster to complete.
If the project has too much overlap (99% for example), this will dramatically slow down the processing, especially for step 2. Point Cloud and Mesh. If the images are not geolocated, processing will also be significantly slower in step 1. Initial Processing. If processing gets stuck abnormally long in step 1. Initial Processing, it may indicate an issue related to the overlap, initial camera calibration or image content.
The default options of each Processing Template usually give high-quality results. Therefore, in most projects, it is not needed to modify the processing options. The processing options should be modified in the case that:
- It is needed to modify the output result files (type and format).
- Some processing options need to be adjusted to improve the quality of the results.
The main options that impact the processing speed are:
- Point cloud density/image scale
- By setting the density to low, processing will be 4 times faster. For more information: Menu Process > Processing Options... > 2. Point Cloud and Mesh > Point Cloud.
- By setting the scale to 1/4, processing will be 4 times faster. For more information: Menu Process > Processing Options... > 2. Point Cloud and Mesh > Point Cloud.
- Orthomosaic/DSM resolution
- If the GSD of a project is 4 cm, setting the number to 8 cm will produce the mosaic and DSM almost 4 times faster. For more information: Menu Process > Processing Options... > 3. DSM, Orthomosaic and Index > DSM and Orthomosaic.
Another factor that has a big impact is the number and type of outputs. By removing some outputs the processing speed increases. For the default, predefined Processing Templates, the following outputs are generated:
- Step 1. Initial Processing:
- Camera Internals and Externals, ATT, BBA.
- Automatic Tie Points.
- Quality Report.
- Step 2. Point Cloud and Mesh:
- Point Cloud (For Processing Templates: 3D Maps and 3D Models).
- 3D Textured Mesh (For Processing Templates: 3D Maps and 3D Models).
- Quality Report
- Step 3. DSM, Orthomosaic and Index:
- Raster DSM (For Processing Template: 3D Maps and 3D Maps - Rapid/Low Res).
- Orthomosaic (For Processing Template: 3D Maps and 3D Maps - Rapid/Low Res).
- Reflectance Map (For Processing Template: Ag Multispectral or Ag Modified Camera and Ag Modified Camera - Rapid/Low Res).