forked from openMVG/openMVG
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
14 changed files
with
593 additions
and
331 deletions.
There are no files selected for viewing
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
|
||
*************************************************************** | ||
openMVG_main_ComputeFeatures | ||
*************************************************************** | ||
|
||
Compute image description for a given sfm_data.json file. | ||
For each view it compute the image description (local regions) and store them on disk | ||
|
||
.. code-block:: c++ | ||
|
||
$ openMVG_main_ComputeFeatures -i [..\matches\sfm_data.json] -o [...\matches] | ||
|
||
Arguments description: | ||
|
||
**Required parameters:** | ||
|
||
- **[-i|--input_file]** | ||
|
||
- a SfM_Data file | ||
|
||
- **[-o|--outdir path]** | ||
|
||
- path were image description will be stored | ||
|
||
**Optional parameters:** | ||
|
||
- **[-f|--force: Force to recompute data]** | ||
|
||
- 0: (default) reload previously computed data (useful when you have kill the process and want to continue to compute) | ||
- 1: useful when you change have changed a command line parameter, force recomputing and re-saving. | ||
|
||
- **[-m|--describerMethod]** | ||
|
||
- Used method to describe an image: | ||
|
||
- SIFT: (default), | ||
- AKAZE_FLOAT: AKAZE with floating point descriptors, | ||
- AKAZE_MLDB: AKAZE with binary descriptors. | ||
|
||
- **[-u|--upright]** | ||
|
||
- Use Upright feature or not | ||
|
||
- 0: (default, rotation invariance) | ||
- 1: extract upright feature (orientation angle = 0°) | ||
|
||
- **[-p|--describerPreset]** | ||
|
||
- Used to control the Image_describer configuration: | ||
|
||
- NORMAL, | ||
- HIGH, | ||
- ULTRA: !!Can be time consumming!! | ||
|
||
Once openMVG_main_ComputeFeatures is done you can compute the Matches between the computed description. | ||
|
||
.. toctree:: | ||
:maxdepth: 1 | ||
|
||
./ComputeMatches.rst | ||
|
||
Export detected regions as SVG files: | ||
---------------------------------------- | ||
|
||
* **Detected keypoints**: openMVG_main_exportKeypoints | ||
|
||
|
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
|
||
*************************************************************** | ||
openMVG_main_ComputeMatches | ||
*************************************************************** | ||
|
||
This binary compute images that have a visual overlap. Using image descriptions computed by **openMVG_main_ComputeFeatures**, we establish the corresponding putative photometric matches and filter the resulting correspondences using some robust geometric filters. | ||
|
||
.. code-block:: c++ | ||
|
||
$ openMVG_main_ComputeMatches -i [..\matches\sfm_data.json] -o [...\matches] | ||
|
||
Arguments description: | ||
|
||
**Required parameters:** | ||
|
||
- **[-i|--input_file]** | ||
|
||
- a SfM_Data file | ||
|
||
- **[-o|--outdir path]** | ||
|
||
- path were putative and geometric matches will be stored | ||
|
||
**Optional parameters:** | ||
|
||
- [-f|--force: Force to recompute data] | ||
|
||
- 0: (default) reload previously computed data (useful when you have kill the process and want to continue to compute) | ||
- 1: useful when you change have changed a command line parameter, force recomputing and re-saving. | ||
|
||
- **[-r|-ratio]** | ||
|
||
- (Nearest Neighbor distance ratio, default value is set to 0.6). 0.8 is less restrictive and advised. | ||
|
||
- **[-g|-geometricModel]** | ||
|
||
- type of model used for robust estimation from the photometric putative matches | ||
|
||
- f: Fundamental matrix filtering | ||
- e: Essential matrix filtering (all the image must have the same known focal length) | ||
- h: Homography matrix filtering | ||
|
||
- **[-n|--nearestMatchingMethod]** | ||
|
||
- AUTO: auto choice from regions type, | ||
- BRUTEFORCEL2: BruteForce L2 matching for Scalar based regions descriptor, | ||
- BRUTEFORCEHAMMING: BruteForce Hamming matching for binary based regions descriptor, | ||
- ANNL2: Approximate Nearest Neighbor L2 matching for Scalar based regions descriptor. | ||
|
||
|
||
- **[-v|--videoModeMatching]** | ||
|
||
- (sequence matching with an overlap of X images) | ||
|
||
- X: with match 0 with (1->X), ...] | ||
- 2: will match 0 with (1,2), 1 with (2,3), ... | ||
- 3: will match 0 with (1,2,3), 1 with (2,3,4), ...] | ||
|
||
|
||
- **[-l|--pairList]** | ||
|
||
- file that explicitly list the View pair that must be compared | ||
|
||
Once matches have been computed you can, at your choice, you can display detected, matches as SVG files: | ||
|
||
* **Detected keypoints**: openMVG_main_exportKeypoints | ||
* **Putative, Geometric matches**: openMVG_main_exportMatches | ||
* **Tracks**: openMVG_main_exportTracks | ||
|
||
**Or start the 3D reconstruction:** | ||
|
||
.. toctree:: | ||
:maxdepth: 1 | ||
|
||
./IncrementalSfM.rst | ||
./GlobalSfM.rst | ||
|
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
|
||
******************************************** | ||
openMVG_main_ComputeSfM_DataColor | ||
******************************************** | ||
|
||
Compute the color of the Structure of a sfm_data scene. | ||
|
||
Use a very simple approach: | ||
|
||
.. code-block:: c++ | ||
|
||
a. list the track id with no color | ||
b. list the most viewed view id | ||
c. color the track that see the view | ||
d. go to a. until uncolored track are remaining | ||
|
||
Information and usage | ||
======================== | ||
|
||
The application is designed to run on a sfm_data.json file | ||
The sfm_data file should contains: | ||
|
||
- valid view with some defined intrinsics and camera poses, | ||
- (optional existing structure). | ||
|
||
.. code-block:: c++ | ||
|
||
$ openMVG_main_ComputeSfM_DataColor -i Dataset/out_Reconstruction/sfm_data.json -o Dataset/out_Reconstruction/sfm_data_color.ply | ||
|
||
Arguments description: | ||
|
||
**Required parameters:** | ||
|
||
- **[-i|--input_file]** | ||
|
||
- a SfM_Data file | ||
|
||
- **[-o|--output_file]** | ||
|
||
- output scene with updated landmarks color | ||
|
59 changes: 59 additions & 0 deletions
59
docs/sphinx/rst/software/SfM/ComputeStructureFromKnownPoses.rst
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
|
||
******************************************** | ||
openMVG_main_ComputeStructureFromKnownPoses | ||
******************************************** | ||
|
||
This application compute corresponding features and robustly triangulate them according the geometry of the known camera intrinsics & poses. | ||
|
||
Algorithm of the application | ||
|
||
.. code-block:: c++ | ||
|
||
Require: internal + external camera calibration | ||
Require: image description regions (features + descriptors) | ||
Ensure: 3D point cloud | ||
compute image visibility | ||
list all the pair that share common visual content | ||
- camera frustum based | ||
- or structure visbility (SfM tracks) based | ||
list triplets of view from pairs | ||
for each triplets compute 3 view tracks | ||
if tracks triangulable add correspondences to p | ||
link 3 views validated matches (p) as tracks | ||
robustly triangulate them | ||
|
||
Information and usage | ||
======================== | ||
|
||
The chain is designed to run on a sfm_data.json file and some pre-computed matches. | ||
The sfm_data file should contains: | ||
- valid view with some defined intrinsics and camera poses, | ||
- (optional existing structure). | ||
|
||
.. code-block:: c++ | ||
|
||
$ openMVG_main_ComputeStructureFromKnownPoses -i Dataset/out_Reconstruction/sfm_data.json -o Dataset/out_Reconstruction/robustFitting.json | ||
|
||
Arguments description: | ||
|
||
**Required parameters:** | ||
|
||
- **[-i|--input_file]** | ||
|
||
- a SfM_Data file with valid intrinsics and poses and optional structure | ||
|
||
- **[-m|--matchdir]** | ||
|
||
- path were image descriptions were stored | ||
|
||
- **[-o|--outdir]** | ||
|
||
- path where the updated scene data will be stored | ||
|
||
**Optional parameters:** | ||
|
||
- **[-f|--match_file]** | ||
|
||
- path to a matches file (pairs of the match files will be listed and used) | ||
|
||
|
Oops, something went wrong.