Forum

Author Topic: GPU acceleration during Dense Point cloud generation  (Read 5211 times)

lloyd709

  • Newbie
  • *
  • Posts: 7
    • View Profile
GPU acceleration during Dense Point cloud generation
« on: October 27, 2018, 05:48:14 PM »
I'm new to photoscan and on my first main go with it I was horrified at the time the dense point cloud was taking to get generated - I had to give up after 6 hours as it said it another 6 hours to go and I had to do something else. 

I noticed though that my GPU (Nvidia 1080ti) wasn't being used at all although I activated it in the preferences.  On closer inspection on the preference to activate it I noticed it says "GPU acceleration is supported for image matching, depth maps generation and mesh refinement".  However, on googling I find a lot of comments saying it's used for dense cloud generation.  Is that only available on the pro version or something or is there a way I can use it?
« Last Edit: October 27, 2018, 05:55:30 PM by lloyd709 »

Mak11

  • Sr. Member
  • ****
  • Posts: 374
    • View Profile
Re: GPU acceleration during Dense Point cloud generation
« Reply #1 on: October 27, 2018, 07:37:23 PM »
The GPU is used for camera alignement and Depth Maps génération during the Dense Pont cloud generation (and also during mesh refinement).

Yes generating a Dense cloud in Ultra High settings takes a while if you trow lots of high resolution photos at it at once.

lloyd709

  • Newbie
  • *
  • Posts: 7
    • View Profile
Re: GPU acceleration during Dense Point cloud generation
« Reply #2 on: October 27, 2018, 07:46:57 PM »
Ah, thanks for the reply.  I only had it set to medium though - I guess it was the 1300 images that slowed it down!! 

Mak11

  • Sr. Member
  • ****
  • Posts: 374
    • View Profile
Re: GPU acceleration during Dense Point cloud generation
« Reply #3 on: October 27, 2018, 10:56:01 PM »
Well, 1300 images is actually impossible to compute on a "regular" système (i7, 32/64Gb ram etc) . Especially with Photoscan. You should do it in chunks of 80/100 photos.

sflo

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: GPU acceleration during Dense Point cloud generation
« Reply #4 on: May 03, 2019, 12:43:26 PM »
Hello everybody,

In fact I still don't understand why gpu acceleration is not yet used in the dense cloud generation phase. I very often work on datasets from 1,000 to 20,000 cameras and this phase takes me weeks to compute each. With gpu acceleration it must be very faster. So since years I wonder why photoscan / metashape does not include yet this gpu acceleration ! At least someone to tell us clearly why it is not possible ?

:)
« Last Edit: May 03, 2019, 12:45:28 PM by sflo »

3D_Scan_Fan

  • Jr. Member
  • **
  • Posts: 70
    • View Profile
Re: GPU acceleration during Dense Point cloud generation
« Reply #5 on: March 04, 2020, 05:35:36 AM »
Hi everyone,

Sorry for bringing this up again but I came across this whilst I was doing some research and I 100% agree with @sflo

It has been almost a year since the last post and has been years since GPU acceleration was introduced, but up til now why hasn't there been any GPU acceleration for Dense Cloud processing???

Yes I know it does the "first stage" that being the depth map generation, but the most intensive and important part of this software is the actual Dense cloud generation.
It really confuses me why we can't use any of our graphics cards to improve the performance of Dense Cloud (and without explanation!).

Can this be brought in as an update for some previous versions of Photoscan? Or at least the next build of Metashape by any chance?? :(

It would be REALLY good to have and would bring you forth as a leader in Photogrammetry.

Mak11

  • Sr. Member
  • ****
  • Posts: 374
    • View Profile
Re: GPU acceleration during Dense Point cloud generation
« Reply #6 on: March 04, 2020, 05:45:50 AM »
IIRC it has already been stated in an other similar thread that there's currently no immediate plan to performa the Dense Cloud generation on the GPU. The overwhelming majority of photogrammetry projects don't require the generation of a dense cloud that's why meshes can now be generated directly from the depth maps since Metashape 1.5 (using the GPU for most of the processing stages & fully out-of-core thus requiring no more than 16GB of ram even with several hundreds of cameras..

Mak

 

3D_Scan_Fan

  • Jr. Member
  • **
  • Posts: 70
    • View Profile
Re: GPU acceleration during Dense Point cloud generation
« Reply #7 on: March 04, 2020, 06:46:35 AM »
Yes I have read somewhere awhile ago that not having plans but I do think this is a big mistake. Before the introduction of building meshes from Depth Maps (although this has existed as far back as PS 1.3.5.) it has always been Dense Clouds and for many years too, they still remain an important part of the workflow as it potentially provides more options, and just recently from my experiments, meshes from depth maps produce (whilst cleaner but) inferior results with less details, which is absolutely disappointing!

Many users (like myself) still use Photoscan the quality and speed it produces are very good, the issue only remains that Dense cloud generation is painfully slow, like reallyyy slow. Competition like from their main competitor Reality Capture from Capturing Reality does all their processing on graphics card (if one is provided) and in almost a fraction of the time.

There is a need, it has gone on for far too long, I highly believe this should be implemented.

Alexey Pasumansky

  • Agisoft Technical Support
  • Hero Member
  • *****
  • Posts: 14813
    • View Profile
Re: GPU acceleration during Dense Point cloud generation
« Reply #8 on: March 04, 2020, 01:37:00 PM »
Hello 3D_Scan_Fan,

When you say that the new mesh (from depth maps in version 1.6) reconstruction has less details than the dense cloud, what do you mean? You can run the Build Mesh operation in High/Ultra quality setting the polygon count to 1 billion, for example and then export the mesh as PLY and import it back as point cloud. Of course do not even try to open such "detailed" mesh in the Model view. Have you tried to make such test in Metashape 1.6 and what were the results?

Or maybe you can share some dataset where you get acceptable and desired results of the dense cloud generation, but the depth maps based mesh generation is inferior, as you say.

As for your comment regarding competitors, are you sure that RC uses GPU intensively for every processing stage? I've just reviewed some PugetSystem benchmark (not of the actual application version, however) and do not see any considerable difference in processing time for most of the stages between GTX 1660 Ti and RTX TITAN X, for example. Which makes me think that GPU is not used on every stage.
And can you please confirm that RC generates the actual dense cloud or allows to export the mesh vertices as a dense cloud?
Best regards,
Alexey Pasumansky,
Agisoft LLC

Mak11

  • Sr. Member
  • ****
  • Posts: 374
    • View Profile
Re: GPU acceleration during Dense Point cloud generation
« Reply #9 on: March 04, 2020, 01:59:20 PM »
AFAIK (& contrary to popular belief) the GPU is only used for depth maps generation in RC. Everything else is done on the CPU. It also only generates meshes using depth maps & doesn't ever create a dense point cloud (Only sparse cloud is generated during alignement similarly to Metashape) .
The only way to get a "dense cloud" out of RC is to export the generated mesh vertices as point cloud.
Mak
« Last Edit: March 04, 2020, 02:04:20 PM by Mak11 »

gto234

  • Newbie
  • *
  • Posts: 42
    • View Profile
Re: GPU acceleration during Dense Point cloud generation
« Reply #10 on: March 04, 2020, 03:38:53 PM »
Hi, does GPU acceleration work in all 3d mesh generation steps?
I tried to build a 3d model and while the first step (depth maps) was done on GPU, the next step (building model) was not using GPU at all.

Alexey Pasumansky

  • Agisoft Technical Support
  • Hero Member
  • *****
  • Posts: 14813
    • View Profile
Re: GPU acceleration during Dense Point cloud generation
« Reply #11 on: March 04, 2020, 03:49:52 PM »
Hello gto234,

Some phases of Build Mesh operation support GPU acceleration, providing that the depth maps source is selected.

In the processing log you should see the indication of the GPU-supported phases.
Best regards,
Alexey Pasumansky,
Agisoft LLC