Forum

Author Topic: Question about Generating dense cloud/filtering ... using XXX neighbors..." step  (Read 2462 times)

andyroo

  • Sr. Member
  • ****
  • Posts: 438
    • View Profile
I was wondering if the dense cloud filtering step that starts immediately after the depth reconstruction step finishes is skipped if filtering is set to none.

I'm trying to figure out if exploring external ways to filter the cloud would be worth my time on larger projects - the current project is  11779 36MP images. the depth reconstruction phase took about 30 hours, and filtering started ~6h ago and is projected to take 2.25 more days.

I have one project that is still in the alignment stage that has about 10x more images than this. Also wondering, since this step appears to be CPU-bound, if speed would scale mostly linearly with #cores in network processing.

log excerpt for context,:
Code: [Select]
2020-11-29 05:14:48 [GPU] estimating 1574x2838x192 disparity using 787x1472x8u tiles
2020-11-29 05:14:49 timings: rectify: 0.021 disparity: 0.174 borders: 0.275 filter: 0.066 fill: 0
2020-11-29 05:14:49 timings: rectify: 0.028 disparity: 0.325 borders: 0.26 filter: 0.093 fill: 0
2020-11-29 05:14:49 timings: rectify: 0.036 disparity: 0.352 borders: 0.256 filter: 0.078 fill: 0
2020-11-29 05:14:49 timings: rectify: 0.048 disparity: 1.608 borders: 0.224 filter: 0.056 fill: 0
2020-11-29 05:14:49 timings: rectify: 0.022 disparity: 0.241 borders: 0.258 filter: 0.075 fill: 0
2020-11-29 05:14:51
2020-11-29 05:14:51 Depth reconstruction devices performance:
2020-11-29 05:14:51  - 2% done by CPU
2020-11-29 05:14:51  - 49% done by GeForce RTX 2080 SUPER
2020-11-29 05:14:51  - 48% done by GeForce RTX 2080 SUPER
2020-11-29 05:14:51 Total time: 929.507 seconds
2020-11-29 05:14:51
2020-11-29 05:14:51 118 depth maps generated in 962.028 sec
2020-11-29 05:14:53 saved depth maps block in 2.155 sec
2020-11-29 05:15:01 loaded depth map partition in 7.002 sec
2020-11-29 05:15:02 Generating dense point cloud...
2020-11-29 05:15:02 Generating dense point cloud...
2020-11-29 05:15:02 initializing...
2020-11-29 05:23:52 selected 11745 cameras in 529.964 sec
2020-11-29 05:23:52 working volume: 70081x58202x12191
2020-11-29 05:23:52 tiles: 17x14x3
2020-11-29 05:23:52 saved dense cloud data in 0.011 sec
2020-11-29 05:23:52 saved regions in 0.026 sec
2020-11-29 05:23:52 saved camera partition in 0.005 sec
2020-11-29 05:23:52 scheduled 100 depth filtering groups
2020-11-29 05:23:52 scheduled 348 dense cloud regions
2020-11-29 05:23:52 loaded camera partition in 0.001 sec
2020-11-29 05:23:52 loaded dense cloud data in 0.02 sec
2020-11-29 05:23:55 filtering 117 depth maps...
2020-11-29 05:23:55 using 356 depth maps including neighbors (25.7405 GB)
2020-11-29 05:23:55 preloading data... done in 16.374 sec
2020-11-29 05:24:12 filtering CAM001_20201104133441_80 using 100 neighbors... done in 16.655 sec (load: 0.754, render: 2.115 filter: 13.786)
2020-11-29 05:24:29 filtering CAM001_20201104133442_80 using 100 neighbors... done in 16.279 sec (load: 1.337, render: 2.027 filter: 12.915)
2020-11-29 05:24:47 filtering CAM001_20201104133443_80 using 100 neighbors... done in 14.456 sec (load: 0.477, render: 1.923 filter: 12.056)
2020-11-29 05:25:02 filtering CAM001_20201104133444_80 using 100 neighbors... done in 13.109 sec (load: 0.487, render: 1.834 filter: 10.788)

Alexey Pasumansky

  • Agisoft Technical Support
  • Hero Member
  • *****
  • Posts: 14813
    • View Profile
Hello andyroo,

The filtering method (Aggressive, Moderate, Mild and disabled) is related to the depth maps generation stage only.

The dense cloud generation stage (second part of Build Dense Cloud operation) supports fine-level task subdivision, i.e. can be distributed among multiple nodes if network processing option is used.
Best regards,
Alexey Pasumansky,
Agisoft LLC

andyroo

  • Sr. Member
  • ****
  • Posts: 438
    • View Profile
Hi Alexey,

Thank you for the detail on scaling with network processing.

I think my original question might not have been clear. In the log entries below - would this filtering step be skipped if I set depth map filtering to disabled instead of mild?

Code: [Select]
2020-11-29 05:23:55 filtering 117 depth maps...
2020-11-29 05:23:55 using 356 depth maps including neighbors (25.7405 GB)
2020-11-29 05:23:55 preloading data... done in 16.374 sec
2020-11-29 05:24:12 filtering CAM001_20201104133441_80 using 100 neighbors... done in 16.655 sec (load: 0.754, render: 2.115 filter: 13.786)
2020-11-29 05:24:29 filtering CAM001_20201104133442_80 using 100 neighbors... done in 16.279 sec (load: 1.337, render: 2.027 filter: 12.915)

Alexey Pasumansky

  • Agisoft Technical Support
  • Hero Member
  • *****
  • Posts: 14813
    • View Profile
Hello andyroo,

The "depth filtering" parameter is applied only to the depth maps generation stage (first part of Build Dense Cloud stage) and has no influence on the second stage that is shown in your log.

The second part of the Build Dense Cloud operation is using the pre-generated depth maps, without considering the parameters used for their reconstruction (but, of course, the size of the depth maps is considered).

Basically speaking, the "filtering" option in dialog is depth maps filtering option, whereas during the dense cloud generation the "filtering" is applied to the dense cloud itself.
Best regards,
Alexey Pasumansky,
Agisoft LLC

andyroo

  • Sr. Member
  • ****
  • Posts: 438
    • View Profile
Thank you for that clarification Alexey!

I see that I am able to subdivide that task with network processing. Very useful.