SyB3R - Synthetic Benchmark for 3D Reconstruction
|
SyB3R comes with a small set of 3D models, image data, and ground truth. These dataset have been generated to illustrate the potential use of SyB3R and are not meant for a rigorous evaluation of any part of the 3D reconstruction pipeline. Nevertheless, the 3D models contain several challenging aspects (such as reflective or homogeneous surfaces, areas of low texture, self-occlusion, etc.) while the rendered images are deteriorated with realistic noise, camera motion blur, depth of field, etc.
You can use these models and images in order to run tests of your 3D reconstruction pipeline or its various components. This section describes how to generate your own image sequences and reference data in case you prefer to use your own benchmarks. if its cool, share it, eg. send it to use so we can upload it to SyB3R webpage
We will first describe how to set up a scene in Blender and then show how to render it. If you use one of our models and are ok with CPU only rendering, you can skip the first part and directly go to the rendering part.
SyB3R should work with all recent versions of Blender. The version distributed through your distribution's package manager is probably fine. If you want the latest and finest, or if you are rendering on a server to which you do not have root access, you can download a compiled binary from the Blender website which can simply be unzipped and run.
If you are running on an Optimus system (GUI rendering through the Intel GPU with optional NVidia GPU fallback for heavy duty rendering) remember to run Blender on the NVidia GPU.
For setting up the scene, SyB3R provides a set of tools that can be installed as an add-on. This is only necessary for the Blender instance that is used to create the scene. The Blender instances on the render nodes can be vanilla Blender versions.
To install and activate the add-on, start Blender and open the user preferences.
Switch to the "Add-ons" tab and click "Install from File".
Now select the "blenderUtils/Syb3rBlenderTools.py" file from the SyB3R directory.
The add-on is now installed but not immediately activated. To activate an add-on, check the small box left to its name. To keep the add-on active permanently, click on "Save User Settings".
Besides the SyB3R add-on, there are a couple of other add-ons that might be usefull to you. As a rule of thumb, if you want to import/export from/to a specific format there is a good chance that a corresponding add-on is available.
If you want to render on your GPU, you have to activate CUDA in the user preferences. In the user preferences switch to the System tab...
... and then select "CUDA" as the Compute Device. If you have multiple NVidia GPUs, select your preferred GPU for rendering.
Open blender, file, open, select path of the model file important short cuts: select item: right click apply action: left click move item: g rotate item: r change views: axis-aligned view (7,1,3), gradual change (8,4,2) change viewport shading: click button at the bottom of viewer <add image>
todo: write a python script to initialize camera!!! add, camera rotation and translation as above change to camera view: 0
save scene in blender file --> save as awesomeScene.blend cd [path/to/blend/file] [path/to/syb3r/]buildRelese/executables/SynthesizeDataset/synthesizeDataset --filename renderAwesomeScene.py --outputDir awesomeSceneOutput/ [path/to/blender/]blender -b awesomeScene.blend -P renderAwesomeScene.py
To inspect the result run:
[path/to/syb3r/]buildRelese/executables/ImageBeautyConverter/imageBeautyConverter --dataset awesomeSceneOutput/scene.xml --outputDir awesomeSceneOutput/humanViewable/