Agisoft PhotoScan 1.4.1 - GeForce GPU ComparisonWritten on April 26, 2018 by William George
PhotoScan is a photogrammetry program: an application that takes a set of images and combines them to create a 3D model or map. This article is part of a series looking at how different aspects of computer hardware affect PhotoScan performance. For more information on this software, or to see the other entries, check out our introductory article.
PhotoScan makes use of the video card in a computer to assist with the computation of certain steps. The primary GPU accelerated steps are aligning photos and building a dense point cloud (a 3D representation of physical points that are seen from multiple angles in different photos). Because the video card plays a big role in these calculations, the model of video card (or GPU) used can have an impact on the amount of time those steps take. In this article, we are taking a look at the GeForce 1000-series - based on NVIDIA's Pascal GPU architecture - to see how they compare to each other.
Methodology and Test Hardware
Even though these processing steps in PhotoScan are GPU accelerated, the CPU still plays a role in performance as well. We have not yet completed our CPU comparison for PhotoScan, but to ensure that the GPUs are the focus of this particular test we selected a processor and platform that should be among the fastest available for this application: the Intel Core i9 7960X, a 16-core processor which combines a lot of cores with a reasonably high clock speed (thanks to turbo boost). Both that CPU and the various GPUs we tested were built on a Gigabyte X299 Designare EX motherboard. All tests were conducted with "High" quality settings.
If you would like more details about the full hardware configuration we tested on, and the image sets we used within PhotoScan, simply click here to expand the following section.
|Motherboard:||Gigabyte X299 Designare|
|CPU:||Intel Core i9 7960X 2.8GHz (4.4GHz Turbo) Sixteen Core|
|RAM:||4x Crucial DDR4-2666 16GB (64GB total)|
|GPU:||NVIDIA GeForce GTX 1060 6GB
NVIDIA GeForce GTX 1070 8GB
NVIDIA GeForce GTX 1070 Ti 8GB
NVIDIA GeForce GTX 1080 8GB
NVIDIA GeForce GTX 1080 Ti 11GB
NVIDIA Titan Xp 12GB
|Hard Drive:||Samsung 960 Pro 1TB M.2 PCI-E x4 NVMe SSD|
|OS:||Windows 10 Pro 64-bit|
|PSU:||EVGA SuperNova 1000W P2|
|Software:||Agisoft PhotoScan 1.4.1|
|Image Sets (from PhotoScan website)|
|Monument (32 photos)||Building (50 photos)|
Here are results for the Align Photos workflow step:
And here are results for the Build Dense Cloud workflow step:
And just for comparison, here are the same results as above - but with an additional bar showing the Core i9 7960X CPU alone (no GPU acceleration):
As shown above, there is definitely a correlation between using a higher-end video card and how long these two processing steps take. For the most part, faster video cards resulted in a reduction in calculation time - with one noticeable exception where the Titan Xp took longer than the other cards to align photos. We have seen similar issues with Titan class cards performing poorly in other photogrammetry applications, so this may be related. The GTX 1080 Ti is nearly as fast in building the dense cloud, and does not suffer from poor performance when aligning photos... plus, it has a lower MSRP.
Looking beyond those top two cards, the GTX 1070 Ti and 1080 are neck-and-neck. Since the 1070 Ti is a little newer and costs less, that is probably the better choice there. The GTX 1070 (non-Ti) falls a little behind those cards, but may not save enough money to make a lot of sense. The GTX 1060 is the slowest of the cards we tested, but as a low-cost option is still viable compared to having no GPU.
No matter which of these cards you use, even the GTX 1060, there is a major improvement in performance compared to the CPU alone. Despite being a very powerful, multi-core chip the Intel Core i9 7960X took about twice as long to align images and 4 to 6 times as long to build the dense point cloud! That is a huge difference, and clearly shows the benefit of massively parallel computing on modern GPUs.
One thing to keep in mind with the results shown above is that we did our tests at "High" quality. There is an option above that for building the dense cloud, "Ultra High", which will take substantially longer. Many users might also work with larger image sets, which also take more processing time. Because of that, the performance difference between video cards will vary somewhat based on your exact workload - but in general, faster video cards will have a measurable impact on the speed of aligning photos and building the point cloud.
Of the GPUs we tested, which comprise almost the entire current generation of GeForce video cards, the Titan Xp was technically the fastest for building a dense point cloud in PhotoScan. Unfortunately, it was the slowest at aligning photos! Given that the GTX 1080 Ti was almost as fast at building the dense point cloud, faster at aligning photos, and costs less money, I would recommend it over the Titan Xp for the best performance. The GTX 1080, 1070, and 1060 are also perfectly fine options, at lower price points, and still offer much better performance than a CPU alone.
What about multiple GPUs in a single system, though? We will be testing that next, so stay tuned!