System overview

The system has three main steps:

Step 1. Make fragments: build local geometric surfaces (referred to as fragments) from short subsequences of the input RGBD sequence. This part uses RGBD odometry, Multiway registration, and RGBD integration.

Step 2. Register fragments: the fragments are aligned in a global space. This part uses Global registration, ICP registration, and Multiway registration.

Step 3. Integrate scene: integrate RGB-D images to generate a mesh model for the scene. This part uses RGBD integration.

Example dataset

We use the SceneNN dataset to demonstrate the system in this tutorial. Alternatively, there are lots of excellent RGBD datasets such as Redwood data, TUM RGBD data, ICL-NUIM data, and SUN3D data.

The tutorial uses the 016 sequence from the SceneNN dataset. The sequence is from SceneNN oni file archieve. The oni file can be extracted into color and depth image sequence using OniParser from the Redwood reconstruction system. Alternatively, any tool that can convert an .oni file into a set of synchronized RGBD images will work. This is a quick link to download the 016 sequence.

Quick start

Put all color images in the image folder, and all depth images in the depth folder. Run following commands from the root folder.

cd <your_path_to_py3d_lib>/Tutorial/ReconstructionSystem/
python make_fragments.py [path_to_dataset] [-path_intrinsic (optional)]
python register_fragments.py [path_to_dataset]
python integrate_scene.py [path_to_dataset] [-path_intrinsic (optional)]