Skip to content

Getting started

Davide Marelli edited this page Dec 23, 2021 · 6 revisions

Install SfM Flow

  • Install Blender version 2.80.75 or later (Blender 2.93 LTS recommended), download.
  • Install ExifTool version 10 or later, download.

    NOTE: On Windows extract the executable exiftool(-k).exe and rename it to exiftool.exe

  • Download the last release of the add-on from here
  • Start blender and navigate to Edit -> Preferences -> Add-ons; click on Install... and select the add-on's zip.
  • Toggle the checkbox near 3D Reconstruction: SfM Flow to enable the add-on.
  • Configure the path to the ExifTool executable. On Linux is usually sufficient to specify the command exiftool.

Optional, for reconstruction execution from the add-on's interface.

The add-on interface should be now available in the Properties editor under Scene settings in the SfM Flow panel.

SfM Flow UI

Create, reconstruct and evaluate

This simple use case shows the complete workflow using a single object as the subject of the dataset.

First of all, create a new blender project and place an object in the scene. A camera object should be placed and positioned in order to acquire the images that will compose the dataset.

Initial scene

Once the 3D model and camera are in place, initialize the scene by adding a ground surface and a lighting setup using the "Initialize current scene" operator. In this case, we use a flat ground and sunlight illumination setup.

Scene initialization

Next, animate the camera to acquire images from a different points of view. Here below is shown the case of circular animation around the scene center's. The sun lamp is also animated to simulate different lighting conditions.

Camera and sun animation

Once the setup is satisfying, render the images. The provided render operator will set the EXIF metadata for each image.

Next, run a 3D reconstruction using COLMAP (project page). See Reconstruction Pipelines for pipeline setup and configuration.

Import the N-View Match file (NVM) file; manually scale and align the reconstructed model to the objects in the 3D scene.

Images rendering and imported reconstruction

Now it is possible to filter the reconstructed point cloud to discard points whose distance is beyond a maximum threshold. Discarded points are shown in blue by default.

Point cloud filtering

After filtering, proceed with the fine registration of the reconstruction to the virtual scene's geometry.

Point cloud fine alignment

If the registration result is incorrect, try to repeat it with a better manual registration, diverse point cloud filtering, or different parameters for fine alignment. Once the reconstruction is correctly aligned evaluate it using the evaluation operator. The evaluation procedure is described in Evaluating the Performance of Structure from Motion Pipelines. Evaluation results will be written to file sfmflow_evaluation.txt.

Reconstruction evaluation

For an explanation of all the functionalities of the add-on, see section Features.