Puget Systems print logo

https://www.pugetsystems.com

Read this article at https://www.pugetsystems.com/guides/1089
William George (Puget Labs Technician)

Pix4D Cloud vs Local Processing

Written on January 5, 2018 by William George
Share:

Pix4D is a photogrammetry application which can take sets of photographs and turn them into point clouds and 3D meshes, to make digital versions of real-world objects or locations. It supports both local processing on a workstation as well as uploading images to be processed in the cloud - but which is faster, and what advantages does each have?

We've done testing recently to find out what the best CPU and GPU are for working with Pix4D on a workstation, so this week I took a couple of the image sets we used in those tests and ran them through Pix4D's cloud processing. I used our smallest and largest 3D Map projects, and then put together a chart showing how long they took to process in the cloud compared to our top-end workstation configuration (an Intel Core i9 7980XE with a GeForce GTX 1080 Ti video card):

Pix4D Performance - Cloud vs Local Workstation

The chart above shows the total time for cloud processing, which includes both the time it took to upload the images as well as the actual calculation time once the upload was complete. I also broke out just the processing time itself, without uploading, since that could vary based on your internet connection. It is entirely possible that calculation time also varies somewhat in the cloud, as servers may be more or less busy during different parts of the day, but I was only able to run each of these once due to time constraints.

What we can see here is that it takes substantially longer to process image sets in the Pix4D cloud compared to doing so on a high-end workstation. Even without the time involved in uploading, these projects took about twice as long to run in the cloud. A more modest PC - something like a Core i7 8700K with a GeForce GTX 1060 - could still complete those tasks faster than the Pix4D cloud service did.

But does that mean cloud processing is pointless for Pix4D? Not necessarily. There are some situations where it could make sense:

  • If you don't have a modern workstation with a dedicated video card
  • If you are working from a system that you cannot leave on for extended periods of time (like a laptop)
  • If you want to have multiple projects going at the same time (you could upload one and then have another processing locally)

At the same time, there are definite downsides to cloud processing - both in Pix4D and other similar applications:

  • The addition of upload time, which will take longer with larger projects and/or slower internet connections
  • Losing strict control of your data when it leaves your local PC (I'm sure Pix4D does everything they can to protect uploaded data, but breaches are more and more common on the news)
  • Slower interaction with finished projects via the Pix4D cloud web interface (compared to using the desktop version)

Each method of processing has its benefits, and I am glad that Pix4D supports both! I also hope that this info is helpful for users who are unsure which way to go. If you decide on local processing and want a workstation built for Pix4D, check out our recommended systems.

Compact Workstation

For Small Projects & Portable

Configure

Tower Workstation

Large Projects & More RAM

Configure

Tags: Pix4D, CPU, Performance, Cloud, Comparison
Grégory Bataille

Hi William,

I am a Cloud engineer for Pix4D and I wanted to react to your analysis.
First, thanks for this article, I think it's really accurate into what some of the pros and cons are for local vs cloud processing.

But then I was very surprised by your results and wanted to dig down a bit more.
While it's true that we are NOT on optimized machines on the cloud (e.g. for several reasons we don't have GPUs), those timings seems really too much.
I was able to find you test dataset in our logs and as I expected, the results are not "really" that bad

In cloud processing, on top of the pure processing time, we also need to:
- get the images from our storage to the machine that will do the computing (it a reasonably small time but it's not null)
- More importantly, we need to "post-process" the results (mesh, orthomosaic, ...) so that they are usable inside a web-browser.

If I take your village project for example:
- There was no contention when you submitted it and your project spent just 1 minute in our queue
- The actual pix4dmapper processing of the project took 570s (closer to your local 498s). You can download the processing log to have confirmation of that.
- At this point, the produced artifacts (Orthomosaic GeoTiff, Mesh in OBJ format, ...) are actually available for download from the project page
- However, it took an additional 5 minutes to convert those very large file in a format that would be web/browser friendly

For the city project however, the time you report are not far from the truth. The reality here is that for this particular type of project, having a strong GPUs helped you tremendously.
This project was actually hard to put together from the photos, but the outputs were easy to compute.
While this happens, this is not the normal case and the gain of the GPU is (on average) less obvious.

But actually, looking deeper in this city project, the real issue is that pix4dmapper struggled with it and reported that only 6% of the images were able to be calibrated. From what I see, the input quality seems to be low there (or some processing parameter was badly set up?)
Did you get a nice result when you processed locally?

In conclusion:
- on the village project, if you are interested in the raw results and not the browser visualization, the processing time are not that different
- for the city project, a GPU makes a big difference and local processing is much faster, but the significance of the results might be discussed due to the seemingly bad input quality.
- Pix4D cloud will certainly have GPUs in the future but when and how is a bit unclear. This issue is that the gain you achieve with GPU not very significant on average. It really depends on the type of project
- As you mentioned, we are anyway not trying to beat a custom built local workstation. While we do constantly work on performance, the main advantages of the cloud are to have multiple projects in parallel and more importantly, to complete offload your local environment (and maybe that means that you don't need to invest in your custom built, dedicated processing workstations :))

I would be very happy to discuss your experience with you. Feel free to get in touch.

Thanks

Posted on 2018-01-11 07:44:54

Thank you for your thorough reply, Gregory! It does make sense that additional processing time is involved with cloud projects, in order to prepare them for use in the Pix4D web-based app. I may make some edits to the blog post to make that more clear.

I'm not currently at one of the workstations where I did the local testing, so I cannot look at the log file to see what Pix4D reported - but the end result did look quite good (to me) despite the long processing time. I can look at that in more detail next week, if you'd like, or even send you a log file.

The main goal of the testing I did for this blog post was to make sure that it did make sense to recommend dedicated workstations for at least some Pix4D users. Our business at Puget Systems is building computers tailored to professional users, and we are always looking for places where a local workstation makes sense (versus just using cloud apps). In the case of Pix4D, it looks like both cloud and local processing have a purpose - which is the best possible outcome, in my opinion :)

By the way, did you have a chance to check out any of our other articles about Pix4D (local) performance? They are linked to at the end of the post above. I saw that you are with the cloud part of Pix4D, so maybe they wouldn't interest you, but there were some results there on the GPU side that I would be interested in discussing with someone at Pix4D if possible. If you or someone else there could reach out to me via email or direct message, I'd greatly appreciate that.

Posted on 2018-01-11 18:38:14
Grégory Bataille

I completely agree.
For your other articles, I haven't read them personally no because I'm a bit remote from those concerns but I'll pass the message to the other teams.

Cheers

Posted on 2018-01-12 05:44:19
Kurt Aper

Thanks for taking the time to track this and write about it William. I want to test cloud processing on our next project to get a comparison with my local systems also.

Posted on 2018-02-02 04:37:17