by Jan Funke <>, version 0.1, 03/01/2009.



Getting started

This is just a quick and dirty walk-through. For more details see the subsequent sections.

Generating Benchmark Sequences

Create a Scene

Applying Global Transformations

Sometimes, you need to apply global transformations to the whole scene. For example, when using ready-made scenes downloaded from the internet, you may have to apply an overall scale or translation to fix scene size and position the scene relative to the camera trajectory. For this purpose you can declare the variable scene_transformation to instanciate a POV-Ray transform. This declaration has to be put in scene.pov. Here is an example

#declare scene_transformation =
  transform {
    translate <30, -468, 100>
    scale 0.01

The way this is implemented is that if scene_transformation is declared, the following is done. In rendering mode, the inverse of scene_transformation is applied to the camera. In tracing mode (ground truth generation), the complete scene is wrapped in a POV-Ray union and the scene_transformation is applied to this union. (Wrapping in a union unfortunately does not work for rendering in some cases.)

Create a Camera

Create a Trajectory

Put Things Together

Perfom VSLAM Run

Coordinate systems

VSLAM Input Interface



Description of SLAM-Log Files

Creation of Ground Truth

Provided Evaluation Scripts

Currently Created Files

All files created by the evaluation scripts can be divided into three categories: Ground truth files, plot files and misc files. Each category is stored in a subdirectory of each set of slamlog files that have been considered.

Ground Truth Files

These files are stored in the subdirectory groundtruth. Currently, these are three xml files:

Plot Files

The files stored in the subdirectory plots are of two types: .dat and .ps. The .dat files store the plain evaluation results in a relational ascii format to be further processed for plotting or comparison. The .ps files are plots of some selected .dat files. The .dat files are currently:

Each of the .dat files has a header describing shortly it's content and providing some magic comments which are currently processed by our plotting scripts. The structure of this header is as follows:

# Short description of file content
#:column_names  name of column 1, name of column 2, ...
#:column_units  unit of column 1, unit of column 2, ...
#:label         a label
#:style         (either 'dots' or 'lines')

None of the magic comments is mandatory, but their presence will result in automatically annotated axes in the produced plot files.

Misc Files

The third subdirectory misc is currently just used to store a file which is required by our tracing pipeline to pass the feature initialisation data to POV-Ray.

Writing Evaluation Scripts

The writing of evaluation scripts is covered by this tutorial.

Description of parsers


# vim::set expandtab tabstop=4 softtabstop=2 shiftwidth=2: