Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[depthMap] New option for multi-resolution similarity estimation and optimizations #1351

Merged
merged 77 commits into from
Jun 13, 2023

Conversation

gregoire-dl
Copy link
Member

@gregoire-dl gregoire-dl commented Feb 13, 2023

Description

This PR has six purposes:

  • Compute the Refine step with a more meaningful resolution (using SGM thickness map).
  • More types of intermediate results export for better understanding / testing and debugging.
  • Use mipmap images instead of only two resolutions (SGM & Refine)
  • Use consistant scale for similarity volume patch comparison (SGM & Refine) [user option]
  • Use user custom multi-resolution patch pattern for similarity volume patch comparison (SGM & Refine) [user option]
  • Various CUDA code optimizations / Code simplification / More documentation

Features list

  • Generalization of tile map I/O for other map types (previously only depth/similarity map)
  • Add SGM max similarity thresold option
  • Add export intermediate normal maps option
  • Add export similarity volume topographic cut option
  • Add Refine upscale middle depth with bilinear interpolation option
  • Use pre-computed middle depth pixSize in Refine & ColorOptimization
  • Use SGM thikness map to compute Refine pixSize map
  • Smooth SGM thikness map using adjacent pixels
  • Use CUDA Mipmapped array to store image at multiple resolutions.
  • Use DeviceMipmapImage and DeviceCameraParams in DeviceCache
  • Use DeviceMipmapImage and DeviceCameraParams in all SGM and Refine CUDA functions
  • Remove DeviceCamera objects
  • Use planeSweeping CUDA function for normal map estimation and remove normal mapping module
  • Remove depthMapEstimation property tree usage
  • Use consistant scale for similarity volume patch comparison (SGM & Refine)
  • Use user custom multi-resolution patch pattern for similarity volume patch comparison (SGM & Refine)
  • CUDA code optimizations
  • Fix depth maps alpha masking

Related Meshroom branch: alicevision/Meshroom#1984

@gregoire-dl gregoire-dl force-pushed the dev/depthMapMultiResolution branch from 143acb7 to 8bd62d4 Compare April 14, 2023 08:55
@gregoire-dl gregoire-dl added review and removed wip work in progress labels Apr 14, 2023
@gregoire-dl gregoire-dl marked this pull request as ready for review April 14, 2023 17:48
@gregoire-dl gregoire-dl self-assigned this Apr 14, 2023
@cbentejac cbentejac self-requested a review June 5, 2023 09:07
@fabiencastan fabiencastan added this to the 3.1.0 milestone Jun 5, 2023
Function read/write map now support float/rgbf maps.
Tiling can be used on other maps (i.e. normal map) than depth/similarity maps.
All maps now use the same read/write map functions (which support tiling) in the MVS part of AliceVision.
@cbentejac cbentejac force-pushed the dev/depthMapMultiResolution branch from 5b9de73 to 9ce16af Compare June 8, 2023 10:48
cbentejac
cbentejac previously approved these changes Jun 8, 2023
@fabiencastan fabiencastan changed the title [depthMap] Multi-Resolution similarity estimation [depthMap] NEw option for multi-resolution similarity estimation Jun 13, 2023
@fabiencastan fabiencastan changed the title [depthMap] NEw option for multi-resolution similarity estimation [depthMap] New option for multi-resolution similarity estimation Jun 13, 2023
@fabiencastan fabiencastan changed the title [depthMap] New option for multi-resolution similarity estimation [depthMap] New option for multi-resolution similarity estimation and optimizations Jun 13, 2023
@fabiencastan fabiencastan merged commit a2b9e03 into develop Jun 13, 2023
@fabiencastan fabiencastan deleted the dev/depthMapMultiResolution branch June 13, 2023 09:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants