-
-
Notifications
You must be signed in to change notification settings - Fork 849
Triangulation from depth priors #2006
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR integrates depth priors into the structure-from-motion (SfM) expanding pipeline to improve 3D reconstruction when depth information is available in the tracks. It adds new configuration parameters and implements triangulation logic that can utilize depth priors as an alternative to traditional multiview triangulation.
- Added two new boolean parameters (
enableDepthPrior
andignoreMultiviewOnPrior
) to control depth prior usage and preference over multiview reconstruction - Implemented
processTrackWithPrior
method for depth-based triangulation that reconstructs 3D points directly from available depth information - Extended triangulation workflow to support both traditional multiview and depth-prior-based reconstruction strategies
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.
Show a summary per file
File | Description |
---|---|
main_sfmExpanding.cpp | Added command-line parameters for depth prior control and updated version |
SfmTriangulation.hpp | Extended interface to support depth prior triangulation |
SfmTriangulation.cpp | Implemented depth-based triangulation logic and updated process method |
ExpansionChunk.hpp | Added setter methods and member variables for depth prior configuration |
ExpansionChunk.cpp | Updated triangulation workflow to handle both multiview and depth-prior reconstruction |
SfmExpanding.py | Added Python node parameters and updated version |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
718f037
to
198ca8d
Compare
|
||
//Look if this observation has an associated depth | ||
const auto & refTrackItem = track.featPerView.at(referenceViewId); | ||
if (refTrackItem.depth < 0.0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if (refTrackItem.depth < 0.0) | |
if (refTrackItem.depth <= 0.0) |
198ca8d
to
2207f0e
Compare
This pull request adds support for using depth priors in the structure-from-motion (SfM) expanding pipeline, allowing for improved 3D reconstruction when depth information is available in the tracks. It introduces new parameters to control the use of depth priors and the preference between prior-based and multiview-based reconstruction. The changes affect both the command-line interface and the core triangulation logic, ensuring that depth priors are properly integrated into the triangulation process.
Depth Prior Integration and Control:
Added two new boolean parameters,
enableDepthPrior
andignoreMultiviewOnPrior
, to theSfMExpanding
node, the command-line interface, and theExpansionChunk
class, allowing users to enable depth prior usage and control whether prior-based reconstruction is favored over multiview reconstruction. [1] [2] [3] [4] [5] [6]Updated the
ExpansionChunk::triangulate
method to perform triangulation using both multiview and depth prior information, applying the new parameters to determine the reconstruction strategy and how landmarks are updated or replaced. [1] [2]Triangulation Logic Enhancements:
Extended the
SfmTriangulation::process
method and its interface to accept auseDepthPrior
flag, enabling the selection between standard triangulation and depth-prior-based triangulation for each track. [1] [2] [3]Implemented the
SfmTriangulation::processTrackWithPrior
method, which reconstructs 3D points directly from available depth priors in the tracks, bypassing the need for parallax and multiview triangulation when the prior is available and enabled. [1] [2] [3]Version Updates:
meshroom/aliceVision/SfmExpanding.py
) and the C++ pipeline (main_sfmExpanding.cpp
) to reflect the new features and interface changes. [1] [2]