Skip to content

Commit

Permalink
Merge pull request #7 from alicevision/WIP-Update-node-reference
Browse files Browse the repository at this point in the history
[WIP] Update node-reference
  • Loading branch information
simogasp authored May 27, 2020
2 parents 7f541f8 + 1ac2015 commit 3b41db3
Show file tree
Hide file tree
Showing 43 changed files with 915 additions and 115 deletions.
10 changes: 4 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,13 @@

# About

Read the latest version on https://meshroom-manual.readthedocs.io/en/latest/
download the PDF from https://readthedocs.org/projects/meshroom-manual/downloads/

**This is documentation is work in progress.**

See [Project ToDo](https://github.com/alicevision/meshroom-manual/projects) for details.

# Next update
+ capturing images for photogrammetry chapters
+ MR2019.2 updates
+ improved layout
+ readthedocs release (including pdf) https://meshroom-manual.readthedocs.io

# How to contribute

- make yourself familiar with ReStructuredText and Sphinx
Expand All @@ -24,6 +21,7 @@ See [Project ToDo](https://github.com/alicevision/meshroom-manual/projects) for

We could use some help with:
- optimizing the formatting for pdf&html
- checking grammar and spelling, fixing typos
- anything listed here https://github.com/alicevision/meshroom-manual/projects

# How to build on windows
Expand Down
15 changes: 3 additions & 12 deletions source/about/manual/manual.rst
Original file line number Diff line number Diff line change
@@ -1,19 +1,10 @@
About the manual
================

This manual is a compilation of the resources found on alicevision.github.io, breadcrumbs of information collected from github issues, other web resources and new content, created for this manual.

WORK IN PROGRESS!
(last update 03.06.19)




You want to help? Missing something?
This manual is a compilation of the resources found on alicevision.github.io, information collected from github issues, other web resources and new content, created for this manual. This manual is work in progress.

You are welcome to comment and contribute.
This document is in “Suggest edits” mode.

Check out https://github.com/alicevision/meshroom-manual/ for details.


This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Expand All @@ -23,4 +14,4 @@ This is a Meshroom community project.



All product names, logos, and brands are property of their respective owners. All company, product and service names used in this document are for identification purposes only. Use of these names, logos, and brands does not imply endorsement.
All product names, logos, and brands are property of their respective owners. All company, product and service names used in this document are for identification purposes only. Use of these names, logos, and brands does not imply endorsement.
6 changes: 2 additions & 4 deletions source/capturing/capturing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,8 @@ Basics



Details
-------
**Details**


Tutorials
---------
**Tutorials**

2 changes: 2 additions & 0 deletions source/gui/augment-reconstruction/augment-reconstruction.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.. _augment-reconstruction:

Augment Reconstruction
======================

Expand Down
2 changes: 2 additions & 0 deletions source/gui/live-reconstruction/live-reconstruction.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.. _live-reconstruction:

Live Reconstruction
===================

Expand Down
12 changes: 8 additions & 4 deletions source/node-reference/connect-nodes/connect-nodes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,13 @@ This image illustrates the default graph with node connections on the origin nod
.. image:: default-node-graph-color.jpg


Draft Meshing
-------------
How to use Draft Meshing
------------------------

.. image:: draft-meshing-node-graph-color.jpg


.. image:: draft-meshing-node-graph.jpg
Panorama graph
------------------------

.. image:: draft-meshing-node-graph-color.jpg
.. image:: panorama-node-graph.JPG
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 16 additions & 2 deletions source/node-reference/node-reference.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,19 @@ List with all the nodes

.. note::

Some parameters are exposed for development purposes and are not supported/implemented in the current release.
Some *experimental/debug/advanced* parameters are only visible with "Advanced Attributes" enabled.
To enable "Advanced Attributes", click on the three vertical dots in the upper right corner of the node settings and activate the check box. Some features, settings and nodes are only available in the latest build or developer version.




.. toctree::
:maxdepth: 1
:hidden:
:caption: Node Reference

nodes/CameraCalibration
nodes/CameraDownscale
nodes/CameraInit
nodes/CameraLocalization
nodes/CameraRigCalibration
Expand All @@ -22,9 +27,12 @@ List with all the nodes
nodes/DepthMapFilter
nodes/ExportAnimatedCamera
nodes/ExportColoredPointCloud
nodes/ExportMatches
nodes/ExportMaya
nodes/FeatureExtraction
nodes/FeatureMatching
nodes/GlobalSfM
nodes/HDRIstitching
nodes/ImageMatching
nodes/ImageMatchingMultiSfM
nodes/KeyframeSelection
Expand All @@ -34,10 +42,16 @@ List with all the nodes
nodes/MeshFiltering
nodes/MeshResampling
nodes/Meshing
nodes/PanoramaCompositing
nodes/PanoramaEstimation
nodes/PanoramaExternalInfo
nodes/PanoramaWarping
nodes/PrepareDenseScene
nodes/Publish
nodes/SfMAlingnment
nodes/SfMAlignment
nodes/SfMTransfer
nodes/SfMTransform
nodes/SketchfabUpload
nodes/StructureFromMotion
nodes/Texturing

Expand Down
25 changes: 22 additions & 3 deletions source/node-reference/nodes/CameraCalibration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@ CameraCalibration
**Description**

.. Note::
This node requires AliceVision compiled with OpenCV.
At the moment this node can not directly be connected to the SfM pipeline in the UI. That would be obviously a nice feature to have.
The camera models and parameters can be manually copied to the CameraInit settings.
This node just needs a bit more work before using it directly into the Meshroom graph. If someone is interested to contribute to this
feature, we would be glad to provide assistance.

The internal camera parameters can be calibrated from multiple views of a checkerboard. This allows to retrieve focal length, principal point and distortion parameters. A detailed explanation is presented in [opencvCameraCalibration].

Expand All @@ -14,16 +17,32 @@ The internal camera parameters can be calibrated from multiple views of a checke
Name Description
========================= =============================================================================================================================
Input Input images in one of the following form: - folder containing images - image sequence like "/path/to/[email protected]" - video file
Pattern Type of pattern (camera calibration patterns) - **CHESSBOARD** - CIRCLES - ASYMMETRIC\ *CIRCLES - ASYMMETRIC*\ CCTAG
Pattern Type of pattern (camera calibration patterns) - **CHESSBOARD** - CIRCLES - ASYMMETRIC CIRCLES - ASYMMETRIC CCTAG
Size (Size of the Pattern) - Number of inner corners per one of board dimension like Width (**7**) Height (**5**) (0-10000)
Square Size Size of the grid's square cells (0-100mm) (**1**)
Nb Distortion Coef Number of distortion coefficient (0-5) (**3**)
Max Frames Maximal number of frames to extract from the video file (0-5) (**0**)
Calib Grid Size Define the number of cells per edge (0-50)
Max Calib Frames Maximal number of frames to use to calibrate from the selected frames (0-1000)
Calib Grid Size Define the number of cells per edge (0-50)
Min Input Frames Minimal number of frames to limit the refinement loop (0-100)
Max Total Average Error Max Total Average Error (0-1)
Debug Rejected Img Folder Folder to export delete images during the refinement loop
Debug Selected Img Folder Folder to export debug images
Output Output filename for intrinsic [and extrinsic] parameters (default filename cameraCalibration.cal)
========================= =============================================================================================================================

**Details**

**Patterns**

CHESSBOARD https://github.com/artoolkit/artoolkit5/blob/master/doc/patterns/Calibration%20chessboard%20(A4).pdf

Chessboard calibration video sample https://vimeo.com/141414129

CIRCLES

ASYMMETRIC_CIRCLES https://nerian.com/support/resources/patterns/

ASYMMETRIC_CCTAG https://github.com/alicevision/CCTag

A list with other camera calibration tools and patterns can be found here https://github.com/natowi/CameraCalibTools
14 changes: 14 additions & 0 deletions source/node-reference/nodes/CameraDownscale.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
CameraDownscale
===============

**Description**

Downscale images. Default is 0.5 (half size)


=========================== ========================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
Input SfM Data File
RescaleFactor Newsize = rescalefactor * oldsize', (0.0-1.0, **0.5**)
Verbose Level verbosity level (fatal, error, warning, info, debug, trace)
Output SfMData File Path to the output sfmdata file (sfmData.abc)
=========================== ========================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
32 changes: 14 additions & 18 deletions source/node-reference/nodes/CameraInit.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,33 +3,26 @@ CameraInit

**Description**

-load image metadata and sensor information You can mix multiple cameras
and focal lengths. The CameraInit will create groups of intrinsics based
on the images metadata. It is still good to have multiple images with
the same camera and same focal lengths as it adds constraints on the
internal cameras parameters. But you can combine multiple groups of
images, it will not decrease the quality of the final model.1

Note: In some cases, some image(s) have no serial number to identify the
camera/lens device. This makes it impossible to correctly group the
images by device if you have used multiple identical (same model) camera
devices. The reconstruction will assume that only one device has been
used, so if 2 images share the same focal length approximation they will
share the same internal camera parameters. If you want to use multiple
cameras, add a corresponding serialnumber to the EXIF data.

settings :header: "Name", "Description" :widths: 15, 30
CameraInit loads image metadata, sensor information and generates viewpoints.sfm and cameraInit.sfm. You can mix multiple cameras and focal lengths.
The CameraInit will create groups of intrinsics based on the images metadata.
It is still good to have multiple images with the same camera and same focal lengths as it adds constraints on the internal cameras parameters. But you can combine multiple groups of images, it will not decrease the quality of the final model.

.. Note::
In some cases, some image(s) have no serial number to identify the camera/lens device. This makes it impossible to correctly group the images by device if you have used multiple identical (same model) camera devices. The reconstruction will assume that only one device has been used, so if two images share the same focal length approximation they will share the same internal camera parameters. If you want to use multiple cameras, add a corresponding serialnumber to the EXIF data.

=========================== ========================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
Viewpoints Input viewpoints (1 Element for each loaded image) - ID - Pose ID - Image Path - Intrinsic: Internal Camera Parameters (Intrinsic ID) - Rig (-1 - 200) - Rig Sub-Pose: Rig Sub-Pose Parameters (-1 - 200) - Image Metadata: (list of metadata elements)
=========================== ========================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
Viewpoints Input viewpoints (1 Element for each loaded image) - ID - Pose ID - Image Path - Intrinsic: Internal Camera Parameters (Intrinsic ID) - Rig (-1 - 200) - Rig Sub-Pose: Rig Sub-Pose Parameters (-1 - 200) - Image Metadata: (list of metadata elements)
Intrinsic Camera Intrinsics - (1 Element for each loaded image) - ID - Initial Focal Length: Initial Guess on the Focal Length - Focal Length: Known/Calibrated Focal Length - Camera Type: pinhole', 'radial1', 'radial3', 'brown', 'fisheye4' - #Make: Camera Make (not included in this build, commented out) - #Model: Camera Model - #Sensor Width: Camera Sensor Width - Width: Image - Width (0-10000) - Height: Image Height (0-10000) - Serial Number: Device Serial Number (camera and lens combined) - Principal Point: X (0-10000) Y(0-10000)- DistortionParams: Distortion Parameters - Locked(True/False): If the camera has been calibrated, the internal camera parameters (intrinsics) can be locked. It should improve robustness and speedup the reconstruction.
Sensor Database Camera sensor width database path
Default Field Of View Empirical value for the field of view in degree 45° (0°-180°)
Verbose Level verbosity level (fatal, error, warning, info, debug, trace)
Output SfMData File .../cameraInit.sfm
=========================== ========================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

Details

The UID is based on the metadata. If there is no metadata it falls back to images file paths.

.. note::

Issue: structure from motion reconstruction appears distorted, and has
Expand All @@ -40,3 +33,6 @@ Output SfMData File .../cameraInit.sfm
Length" to -1 if you are not sure of the value.

https://github.com/alicevision/meshroom/issues/434


.. Default Field Of View: is this horizontal, vertical, or diagonal FOV?
8 changes: 6 additions & 2 deletions source/node-reference/nodes/ConvertSfMFormat.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@ ConvertSfMFormat

**Description**

- creates abc', 'sfm', 'json', 'ply', 'baf SfM File from SfMData file
- creates abc', 'sfm', 'json', 'ply', 'baf SfM File from SfMData file including the selected Describer Types

This node can be used to convert the sparse point cloud sfm.abc from StructureFromMotion node or the dense point cloud densePointCloud.abc from the Meshing node.
To convert pointclouds to abc, sfm, json, ply, baf, *disable SIFT* and enable the *unknown* Describer Type.


settings

Expand All @@ -12,7 +16,7 @@ Name Description
====================== =========================================================================================================================================================================================
Input ``SfMData file``
SfM File Format SfM File Format \ (output file extension: abc', 'sfm', 'json', 'ply', 'baf)`\`
Describer Types Describer types to keep.\ ``'sift', 'sift_float', 'sift_upright', 'akaze', 'akaze_liop', 'akaze_mldb', 'cctag3', 'cctag4', 'sift_ocv', 'akaze_ocv'``
Describer Types Describer types to keep.\ ``'sift', 'sift_float', 'sift_upright', 'akaze', 'akaze_liop', 'akaze_mldb', 'cctag3', 'cctag4', 'sift_ocv', 'akaze_ocv', 'unknown'``
Image id Image id
Image White List image white list (uids or image paths).
Views Export views
Expand Down
Loading

0 comments on commit 3b41db3

Please sign in to comment.