Pix4D 4.3 vs 4.2 Performance AnalysisWritten on November 6, 2018 by William George
Pix4D is an advanced photogrammetry application, suited to a wide range of uses, with a focus on handling images captured by drone cameras. Processing of those images into point clouds and 3D meshes/textures is time-consuming, making heavy use of both the central processing unit (CPU) and graphics processor (GPU / video card) in a computer.
Recently, a new version of Pix4D was released - right when we were in the middle of testing new CPUs and video cards. If there was no change in performance it would have made things easy, as we could have simply continued to test the older version and published that data... but it turns out that Pix4D 4.3 has substantial improvements in speed, on average, compared to 4.2!
To compare processing speed across these two versions of Pix4D, we needed to use the same CPU and video card. Based on past testing we went with Intel's Core i9 7980XE as one of the fastest processors for this application, and since we were in the middle of testing the new GeForce RTX series of video cards we opted to use the RTX 2080 8GB for the GPU. We also included 128GB of memory and a Samsung 960 Pro SSD, to ensure that those components were not going to slow anything down. If you want to see full details, with links to the various part pages, click here to expand a comprehensive hardware list.
|Motherboard:||Gigabyte X299 Designare EX|
|CPU:||Intel Core i9 7980XE 2.6GHz
(4.2/4.4GHz Turbo) 18 Core
|RAM:||8x Crucial DDR4-2666 16GB (128GB total)|
|GPU:||NVIDIA GeForce RTX 2080 8GB|
|Storage Drive:||Samsung 960 Pro M.2 PCI-E x4 NVMe SSD|
|OS:||Windows 10 Pro 64-bit|
|Software:||Pix4D Mapper 4.2.26 & 4.3.27*|
|*Version 4.3.31 came out during our testing, but seems limited to bug fixes|
In order to be able to run multiple image sets and multiple iterations, we put together an AutoIt script that runs Pix4D without manual input. Because of the automation we used, all steps were performed back-to-back with no editing in-between to clean up point clouds. That means these results may not perfectly match up with what you'd see when using Pix4D in a real-world workflow, but it removes any chance of human error altering results between runs. We did still observe small variances on total processing time with each image set, so we ran them three times and selected the lowest overall result for each image set to be included in the charts below.
As mentioned above, we tested several different image sets: two each in both 3D Model and 3D Map modes. These are the most demanding of the processing methods in Pix4D, hence our focus on them over the various other options available. No settings were altered from the defaults. Descriptions of the image sets we used, and what processing mode they were used with, are available below.
Here is information about the image sets we used, including project type (3D Model vs 3D Map) and listed in order of complexity:
Without further ado, here are the results for total processing time on each of these image sets, showing Pix4D 4.3's speed-up vs 4.2:
And for those who want to see more detail, here is a chart showing the seconds taken for each step in processing these image sets. Green highlighting shows the areas where 4.3 is faster than 4.2, by 3% or more, with red highlighting the few places where it is slower:
Pix4D 4.3 is, on the whole, a solid improvement in performance compared to version 4.2. The difference is most noticeable with larger image sets, and with maps as opposed to models. In some specific cases, particularly with models based on small image sets, it is a tiny bit slower - particularly during Initial Processing (Step 1). Unless you work exclusively with small image sets, 4.3 is a nice upgrade.
Now that we know Pix4D 4.3 is faster, we are moving forward with testing the latest CPUs and GPUs in this new version of Pix4D. Stay tuned to our articles page, or our Twitter and Facebook feeds, to see when those performance comparisons are published.