-
Notifications
You must be signed in to change notification settings - Fork 6
Reconstruction pipelines
The add-on supports the execution of 3D reconstruction pipelines directly from the user interface as shown in the Feature page. The add-on supports COLMAP, OpenMVG, Theia, and VisualSFM. Other pipelines are configurable as custom pipelines.
NOTE: It is possible to run the reconstruction process without making use of the add-on interface. The Import reconstruction feature allows importing a reconstruction result disregarding the execution method.
The execution of a reconstruction pipeline will work in the specified workspace creating a subfolder in it and saving the execution log in a file named PN_execution.log
where PN
is the name of the reconstruction pipeline.
From the project page: "COLMAP is a general-purpose Structure-from-Motion (SfM) and Multi-View Stereo (MVS) pipeline with a graphical and command-line interface. It offers a wide range of features for the reconstruction of ordered and unordered image collections."
Supported version:
version 3.5 — download
Setup:
Follow the installation instructions. Then configure the path to the executable in the add-on's preferences.
Execution sequence:
- feature extractor perform feature extraction on the images set.
- exhaustive matcher perform exhaustive feature matching across the extracted features.
- mapper run a sparse SfM 3D reconstruction.
- model converter export the 3D reconstruction as an N-View Match (NVM) 3D reconstruction file.
Reconstruction result in <reconstruction workspace>/COLMAP/reconstruction.nvm
NOTE: Default parameters are used for all the steps.
From the project page: "'open Multiple View Geometry' is a library for computer-vision scientists and especially targeted to the Multiple View Geometry community. It is designed to provide easy access to the classical problem solvers in Multiple View Geometry and solve them accurately."
Supported version:
version 1.5 — download
Setup:
Follow the build instructions. Then configure the path in the add-on's preferences. In the preferences also configure the path to the camera sensor sizes database (example file), add missing cameras if needed.
NOTE: OpenMVG uses the camera model to find the sensor size in the database, the images generated by the add-on report
blenderX
(where X is the sensor width) in the EXIF metadata as camera model.
Execution sequence:
- image listing list and start processing the images set.
- compute features SIFT features extraction on all the images using all the available CPU cores.
- compute matches extracted features matching.
- incremental SfM run incremental SfM 3D sparse reconstruction.
- compute data color compute the color information for each reconstructed 3D point and save it as a PLY file.
- convert to PMVS convert the 3D reconstruction to Bundle file.
Reconstruction result in <reconstruction workspace>/OpenMVG/output/PMVS/bundle.rd.out
NOTE: Default parameters are used for all the steps except where specified. For further details on the steps, refer to OpenMVG's manual.
From the project page: "Theia is a computer vision library developed by Chris Sweeney aimed at providing efficient and reliable algorithms for Structure from Motion (SfM). The goal of this library is to provide researchers with an out of the box tool for multi-view reconstruction that can be easily extended. Many common algorithms for pose, feature detection and description, matching, and reconstruction have been implemented."
Supported version:
version 0.8 — download
Setup:
Follow the build instructions making sure to add -DBUILD_EXAMPLES=ON
to the cmake
command. Then configure the path in the add-on's preferences. Optionally configure the path to the reconstruction flags template (example file).
NOTE: Theia uses a flag file to load the reconstruction configuration, such file is generated by the add-on when starting the reconstruction based on a template specified by the user. The template supports the substitution of
{i}
and{w}
tokens, those will be replaced respectively with the path to input images and path to the reconstruction workspace. A default reconstruction template is provided with the add-on.
Execution sequence:
- build reconstruction perform SfM reconstruction using the configured flag template. By default: SIFT feature extraction, Cascade hashing matching followed by incremental SfM.
- write raw ply file export reconstructed point cloud as PLY file.
- colorize reconstruction compute the color information for each reconstructed 3D point.
- write colored ply file export colored point cloud as PLY file.
- convert to PMVS convert the reconstruction to N-View Match (NVM) 3D reconstruction file.
Reconstruction result in <reconstruction workspace>/Theia/reconstruction-0.nvm
NOTE: All the steps are executed using parameters specified in the flags file template. For further details on the build reconstruction step refer to Theia's documentation.
From the project page: "VisualSFM is a GUI application for 3D reconstruction using structure from motion (SFM). The reconstruction system integrates several of my (Changchang Wu) previous projects: SIFT on GPU(SiftGPU), Multicore Bundle Adjustment, and Towards Linear-time Incremental Structure from Motion. VisualSFM runs fast by exploiting multicore parallelism for feature detection, feature matching, and bundle adjustment."
Supported version:
version 0.5.26 — download
Setup:
Follow the install instructions. Then configure the path in the add-on's preferences.
NOTE: CMVS/PMVS is not required.
Execution sequence:
- run reconstruction perform SfM incremental reconstruction using the default configuration. Export the result as N-View Match (NVM) 3D reconstruction file.
Reconstruction result in <reconstruction workspace>/VisualSFM/reconstruction.nvm
Additional pipelines can be executed directly from the Blender's UI using the add-on's custom pipeline builtin capabilities. In the add-on's preferences section Custom SfM pipelines it is possible to add new reconstruction methods defining:
- Pipeline name a custom name for the new reconstruction method.
- Pipeline command the custom command to run the reconstruction.
The so configured pipelines will be available to be run through the user interface.
NOTE: The Pipeline command field supports token substitution.
{i}
will be replaced with the path to the images folder,{w}
will be replaced with the path to the reconstruction workspace.
NOTE: Currently, custom pipelines support the execution of a single command. If multiple commands or executable needs to be run, use an external script and configure it in Blender.