-
-
Notifications
You must be signed in to change notification settings - Fork 826
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
Add software to filter SfM data and to create landmarks-based masking for depth map computation #1526
Open
almarouk
wants to merge
37
commits into
develop
Choose a base branch
from
dev/maskDepthMapFilterSfm
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+1,359
−27
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
almarouk
force-pushed
the
dev/maskDepthMapFilterSfm
branch
13 times, most recently
from
September 12, 2023 15:24
6851026
to
b7ff339
Compare
almarouk
force-pushed
the
dev/maskDepthMapFilterSfm
branch
3 times, most recently
from
September 25, 2023 07:53
7d09e3a
to
21105d0
Compare
almarouk
force-pushed
the
dev/maskDepthMapFilterSfm
branch
6 times, most recently
from
September 27, 2023 09:40
3002139
to
718224d
Compare
almarouk
changed the title
Dev/mask depth map filter sfm
Add software to filter SfM data and to create landmarks-based masking for depth map computation
Sep 27, 2023
almarouk
added
feature
type:enhancement
scope:sfm
wip
work in progress
majorFeature
labels
Sep 27, 2023
filter unstable landmarks that have an insufficient number of observations (specified as a parameter)
If a 2D projected observation in a view doesn't have enough other neighboring observations, it will not be considered for creating the depth map mask
- estimate the mask radius dynamically for each view based on average distance to neighbors - filter 2D observations based on quantile on distribution of average distance to neighbors
a point is neighbor to itself if it participated in creating the tree
remove landmarks that don't have enough common observations with their neighbors
- add a re-distribution of observation scores at each iteration by favouring best N observations that will be selected at the end - fix hard-coded parameters
- update parameters and code structure for a clearer understanding of different steps - fix bug with damping renormalization - add comments
almarouk
force-pushed
the
dev/maskDepthMapFilterSfm
branch
from
March 26, 2024 11:39
1d586f7
to
27a1b64
Compare
- resolve duplicate features issue - do not normalize propagated neighbors scores - fix NaN MSE issue - fix radius estimation caused by quantile issue
- add option to propagate neighbor observations - use Jaccard index in step 2
at the end of 3D Observations filter
- create a fake observation by projecting the landmark in the view
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Linked to alicevision/Meshroom#2211
Description
This PR introduces the following two main features:
The SfM data filtering supports the following features (the parameters are independent):
Parameters:
minNbObservationsPerLandmark
Parameters:
nbNeighbors3D
,minNbObservationsPerLandmark
Parameters:
radiusScale
,useFeatureScale
The observations are scored in function of distance between corresponding camera centers and landmarks positions.
The scores are iteratively propagated between neighboring landmarks in 3D.
Parameters:
maxNbObservationsPerLandmark
,propagationEnabled
,nbNeighbors3D
,nbIterations
,dampingEnabled
,dampingFactor
Mask radius for projected landmarks per view is estimated and reported in an output text file (
outputRadiiFile
).Parameters:
nbNeighbors2D
,percentile
,maskRadiusThreshold
Future Work