Forum

Author Topic: Extremely large projects  (Read 17564 times)

mwillis

  • Full Member
  • ***
  • Posts: 140
    • View Profile
Extremely large projects
« on: October 11, 2012, 03:32:22 PM »
Has anyone developed a work flow for dealing with extremely large projects? 

Using chunks I've been able to combine about 6,500 photos into one large project.  The 3D model is of the interior of a limestone cave.  I was hoping to use the bounding box to build geometery in pieces and then combine in Max.  Unfortunately, PhotoScan still runs out of memory with this approach (even when processing a tiny area).

I do not have ground control.

Here is a screen shot:


Any guidance would be awesome!

Wishgranter

  • Hero Member
  • *****
  • Posts: 1202
    • View Profile
    • Museum of Historic Buildings
Re: Extremely large projects
« Reply #1 on: October 11, 2012, 05:09:10 PM »
Try identify photos that are used in that CHUNK, disable everything except the ones that should be used and run it....

What config have your pc and size of the photos ? 
----------------
www.mhb.sk

mwillis

  • Full Member
  • ***
  • Posts: 140
    • View Profile
Re: Extremely large projects
« Reply #2 on: October 11, 2012, 05:31:29 PM »
What I've doing, which is a pain the butt, is selecting the points within the bounding box, then selecting the photos associated with those point, and finally removing those inverse of those photos.  Then I build geometry.  An invert selection tool for photos would be an wonderful addition to Photoscan...

I've got 16 gb of RAM. Intel Xeon CPU (3.3Ghz x2) windows 64 bit.

mwillis

  • Full Member
  • ***
  • Posts: 140
    • View Profile
Re: Extremely large projects
« Reply #3 on: October 11, 2012, 05:33:26 PM »
Almost forgot.  The photos are huge:  5760x3840

Wishgranter

  • Hero Member
  • *****
  • Posts: 1202
    • View Profile
    • Museum of Historic Buildings
Re: Extremely large projects
« Reply #4 on: October 11, 2012, 05:52:35 PM »
16 GB is VERY small amount, consider to expand to 64 GB = 8 x 8 GB RAM x 30 EUR = 250 EUR with standard RAM modules = UDIMM not the expensive ECC, but if will expand over 128 GB need the ECC REGISTERED DIMM

How much RAM slots have your PC ?

What reconstruction paramaters you use ? Align is on HIGH or Medium = what reprojection error you get ?



Simpler is it with cameras enabled, then select RETANGLE selection and mark area of interest, it will select images too = much faster....
----------------
www.mhb.sk

Wishgranter

  • Hero Member
  • *****
  • Posts: 1202
    • View Profile
    • Museum of Historic Buildings
Re: Extremely large projects
« Reply #5 on: October 12, 2012, 01:51:08 PM »
mwillis, there is a another possibility, try to downsample the image size to aprox 7 Mpix (3072 x 2048 ) and try process it. It should decrease RAM consumption significately...... Have you RAWs ?
----------------
www.mhb.sk

mwillis

  • Full Member
  • ***
  • Posts: 140
    • View Profile
Re: Extremely large projects
« Reply #6 on: October 23, 2012, 04:11:26 PM »
Sorry for slow reply.  I've been traveling.

I agree that more RAM would be nice but this project is so large it will have problem regardless of the computer I use and regardless the image size.

There are RAW versions of many of the photos but not all. For this project the 3D model is less important than having extremely high resolution images to texture it with.  The images are of extremely old paintings and carvings from over 18,000 years ago...

I have found one approach for selection that seems to help. I select all the cameras and disable them.  Then I draw a selction around the area I want to build geometry on.  That selects only the cameras that have contributed to the model in that area.  Then I enable the selected cameras and start the geometery construction.  This approach avoids having to manually select and enable the cameras individualy.

I am still experimenting and will let you know how it proceeds.

-Mark

Wishgranter

  • Hero Member
  • *****
  • Posts: 1202
    • View Profile
    • Museum of Historic Buildings
Re: Extremely large projects
« Reply #7 on: October 23, 2012, 09:40:45 PM »
Yup thats was what want to say how to deal with it :-)

And if cannot process it tight now, in (near) future it will be possible with pscan even on so big projects...... Will have a new workstation, then im could help you with reconstruction of it......

The cave is how "long" = have some GPS measurements there ? = How are the images taken ( can share PSZ scene, just aligned without Images for inspection ??


----------------
www.mhb.sk

mwillis

  • Full Member
  • ***
  • Posts: 140
    • View Profile
Re: Extremely large projects
« Reply #8 on: October 24, 2012, 01:10:35 AM »
The cave is about 45 meters long.  GPS doesn't work inside the cave so there isn't any GPS data for it.  We do have a good laser scan of about 90% of the cave's interior.

Unfortunately, I can't share the full data.  It is part of someone else's research.  Hopefully, everyone will get to see it, when it is finished.  I can share the PSZ without the images.  I'll see if I can get that online soon.

Alexey Pankov

  • Newbie
  • *
  • Posts: 14
    • View Profile
Re: Extremely large projects
« Reply #9 on: October 25, 2012, 03:23:24 PM »
Are you building geometry in arbitrary or height field mode?
The thing is that in Arbitrary mode the bounding box turns into a cube with the base equal to the largest dimension of "your" bounding box. In case such as pictured in the first post, "real" bounding box in Arbitrary mode is much larger than it seems. This also could be a reason why you run out of memory.

mwillis

  • Full Member
  • ***
  • Posts: 140
    • View Profile
Re: Extremely large projects
« Reply #10 on: October 25, 2012, 06:03:37 PM »
Alexey, very useful information!  I am using arbitary.

Do you have any suggestions for minimizing the "seam" between two models?  Should I build rebuild depth maps each time I build geometry?

Thank you,

Mark

Alexey Pankov

  • Newbie
  • *
  • Posts: 14
    • View Profile
Re: Extremely large projects
« Reply #11 on: October 25, 2012, 06:58:52 PM »
It is quite easy to get two seamless chunks.
Make copy of the one chunk. And then drag bounding box corner keeping the common edge intact.
When you get more chunks it's safer to have slightly overlapping boxes in order not to get a hole between them. Show Aligned Chunks tool lets to see all chunks and all the bounding boxes at once. You can use Disable/Enable Items buttons on Workspace pane to turn separate chunks on/off.

mwillis

  • Full Member
  • ***
  • Posts: 140
    • View Profile
Re: Extremely large projects
« Reply #12 on: October 25, 2012, 10:18:12 PM »
Alexey, could you clarify something for me?  Should I be leaving all the cameras enabled, even those outside of the bounding box?  It seems to build geometry quicker with the excess cameras diasbled but I'm not getting a smooth seam between each section of geometry I build.

Thanks again!

Alexey Pankov

  • Newbie
  • *
  • Posts: 14
    • View Profile
Re: Extremely large projects
« Reply #13 on: October 26, 2012, 01:59:28 PM »
In few occasions I used this procedure I didn't bother about disabling cameras. Though you're right, it could reduce amount of computation.
The main point is that all parameters affecting model (calibration, camera positions and orientations) should be the same in every chunk. That means that all the photos should be aligned and optimized first all together, in a single chunk, and when you later clone this chunk you have not to change camera/markers coordinates, neither perform optimization.
Orthophoto and DEM of adjacent chunks I got in this way matched each other perfectly.

mwillis

  • Full Member
  • ***
  • Posts: 140
    • View Profile
Re: Extremely large projects
« Reply #14 on: October 28, 2012, 07:55:24 PM »
Alexely, just making sure that I'm following you.  You recommend that:

1) Align individual chunks
2) Align chunks (in my case they are aligned with common cameras)
3) Merge chunks (in my case everything is still a point cloud)
4) Optimize point cloud
5) Save project (Project A)
6) Save project under new name (Project B)
7) In "Project B", "Clone" the optimized point cloud from "Project A" by using File>Append and load. This will add a new chunk that has an identical point cloud (the one created in Step 3 from the merged chunks and optimized in Step 4).
8 ) In "Project B" place bounding box on small area of model in merged optimized chunk (from Steps 3 and 4).
9) Build Geometry, Build Texture, export to OBJ
10) Make active the "cloned" point cloud, Appended from Project A.
11) Place new bounding box adjacent to first bounding box area from Step 8 but in cloned point cloud.
12) Build Geometry, Build Texture, export to OBJ (being careful to use exactly the same setting from Step 9)
13) The two exported OBJs should fit together seamlessly in external program.

Specifically, you do NOT want to move the bounding box along the original point cloud, exporting several several OBJs from the same chunk.  You want to build and export each chunk from a clone of the original point cloud.  Did I get it right?

Thanks!

Mark
« Last Edit: October 28, 2012, 08:04:18 PM by mwillis »