Forum

Author Topic: Predicting PhotoScan Memory Requirements  (Read 4609 times)

jfm

  • Newbie
  • *
  • Posts: 3
    • View Profile
Predicting PhotoScan Memory Requirements
« on: July 21, 2017, 11:36:18 PM »
I am trying to get a better understanding of the system requirements for PhotoScan so that I can scale the appropriate resources for a new system. There are tons of posts that talk about the huge memory requirements that PhotoScan can make on a system.  The AgiSoft guide (http://www.agisoft.com/pdf/tips_and_tricks/PhotoScan_Memory_Requirements.pdf) says that a 12 Mpix photo with 20-50 images would take between 8 and 24 GB. To evaluate this closer I downloaded the Monument sample data (http://www.agisoft.com/datasets/monument.zip) which is 32 images at 12 Mpix. I then ran the whole thing from scratch at 40,000 and 10,000 points, high quality, and 0 faces. Based on the PhotoScan Memory Requirements document I should have used somewhere between 8 GB and 24 GB while building the mesh. In the whole process the most it ever used  was 2.94 GB of RAM, and that was when applying textures. Averages for each step were:

Align: 500 MB (High not documented, but it was well under 1 GB)
Dense Cloud: 900 MB (high of 1 GB)
Mesh: 1.3 GB (High of 1.9 GB)
Texture: 2.2 GB (High of 2.94 GB)

This was on PhotoScan 1.3.2 on MacOS with 16 GB RAM. I had no page swaps during the entire run.

I am curious if the low RAM usage is due to improvements to PhotoScan since the RAM reference document was made, if I am rendering the files incorrectly, if the sample data is so well curated it has a small RAM footprint, or if there is something else I don't know about.

Here was how I was trying to predict Build Mesh RAM demands:
I select a Dense Cloud quality and use the associated constants to calculate the minimum and maximum RAM requirements for the object.

Lowest:         i = 8.0       a = 8/3
Low:              i = 1.6       a = 54/99
Medium:          i = 0.4      a = 1/8
High:              i = 0.1       a = 1/30
Ultra High:    i = 0.025      a = 1/120


Arbitrary Mesh RAM Min =  ((Number of Images)(Megapixels of One Image)) / (i)
Arbitrary Mesh RAM Max =  ((Number of Images)(Megapixels of One Image)) / (a)

Then I decide if I have enough RAM. If I am inside the min and max I need to assess if the object is simple enough with just enough overlap to be completed by what I have.

So for the Monument sample data with a High Dense Cloud I predict I need:
Arbitrary Mesh RAM Min =  ((32 images )(12 Megapixels)) / (0.1) = 3.84 GB
Arbitrary Mesh RAM Max =  ((32 images )(12 Megapixels)) / (1/30) = 11.52 GB

I should be fine with my 16 GB (12 GB free) to render the image. And I am fine. I only used about half of the minimum requirements.

Where am I going wrong with my prediction?
« Last Edit: July 21, 2017, 11:45:54 PM by jfm »

bagus

  • Newbie
  • *
  • Posts: 21
    • View Profile
Re: Predicting PhotoScan Memory Requirements
« Reply #1 on: March 10, 2018, 07:59:03 PM »
I am having the same situation too. I tried to allign the photos, 115 photos I captured using dji. Allignig in 40.000 and 40.000 tie points. I got max ram used was 3GB from 32GB

GrinGEO

  • Sr. Member
  • ****
  • Posts: 262
    • View Profile
Re: Predicting PhotoScan Memory Requirements
« Reply #2 on: February 01, 2019, 01:59:39 PM »
from what I can see, RAM usage is almost need in creating the Mesh Models. On aligning & creating DenseCloud I mostly never got out of RAM even with 1000 pictures, but in creating mesh I lost every time.

It's interesting that in tiled mode I do not have this problems at all, so Im wondering if there could not be a script creating the mesh from the tiled model or from DEM