A Synchronized Stereo and Plenoptic Visual Odometry Dataset

We present a new dataset to evaluate monocular, stereo, and plenoptic camera based visual odometry algorithms. The dataset comprises a set of synchronized image sequences recorded by a micro lens array (MLA) based plenoptic camera and a stereo camera system. For this, the stereo cameras and the plenoptic camera were assembled on a common hand-held platform. All sequences are recorded in a very large loop, where beginning and end show the same scene. Therefore, the tracking accuracy of a visual odometry algorithm can be measured from the drift between beginning and end of the sequence. For both, the plenoptic camera and the stereo system, we supply full intrinsic camera models, as well as vignetting data. The dataset consists of 11 sequences which were recorded in challenging indoor and outdoor scenarios. We present, by way of example, the results achieved by state-of-the-art algorithms.

While there are various datasets available for traditional types of cameras -monocular [18,19,20], stereo [21,22,23], and RGB-D [24,25] -there are no public datasets available for plenoptic camera based VO. The few existing algorithms were only tested on very simple and short sequences.
In this paper, we present a versatile and challenging dataset which supplies synchronizes light field and stereo images. These sequences were recorded based on a hand-held platform on which a micro lens array (MLA) based plenoptic camera and a stereo camera system is mounted.
Of course, there exist larger dataset for monocular and stereo cameras. However, the goal of this dataset is to evaluate the versatility of plenoptic VO algorithms and rank these algorithms with respect to methods based on traditional cameras (i.e. monocular and stereo).
The entire synchronized stereo and plenoptic VO dataset is available at: https://www.hs-karlsruhe.de/odometry-data/

Outline
In Section 3 we present the platform which we used to record the image sequences. Afterwards, in Section 4, we describe the entire structure of the dataset. This includes the calibration of all cameras as well as the ground truth data and the suggested evaluation metrics. Section 5 shows the results of existing algorithms, which were obtained for the proposed dataset. Furthermore, some 3D reconstructions calculated by [17] are shown to get an impression of the recorded sequences. Section 6 mentions some limitations, which should be taken into account, when rating the results of different algorithms against each other.

Data Acquisition Setup
To be able to compare plenoptic with stereo or monocular algorithms, a hand-held platform was developed. On this platform a MLA based plenoptic camera and a stereo camera system are assembled. This platform is shown in Figure 1. The stereo camera system is based on two monochrome, global shutter, industrial grade cameras by IDS Imaging Development Systems GmbH (model: UI-3241LE-M-GL). On both cameras, a lens from Lensation GmbH (model: BM4018S118) with 4 mm focal length is mounted. Furthermore, the stereo system has a baseline distance of 100 mm.
The utilized plenoptic camera is a R5 by Raytrix GmbH. This camera is based on a xiQ sensor from Ximea GmbH (model: MG042CG-CM-TG). The xiQ is also a global shutter, industrial grade sensor. To achieve a suitable trade-off between a wide field of view (FOV) and a high angular resolution of the captured light field, a main lens with focal length f L = 16 mm from Kowa (model: LM16HC) was mounted on the camera. To receive synchronized image sequences from all three cameras, one camera of the stereo systems runs in master mode and generates a signal which, in turn, triggers the other two cameras (second camera of the stereo system and plenoptic camera) running in slave mode. To record the data, all three cameras are connected to a single laptop. Using this platform, we are able to record synchronized image sequences for all three cameras running at the maximum image resolution and 8 bit quantization with frame rates of more than 30 fps.
Because of the small FOV, the images of the plenoptic camera in particular are affected by motion blur. To keep the motion blur in an acceptable range, for all cameras the exposure time is upper bounded at 8 ms. Below this boundary, the automatic exposure adjustment of the respective camera controls the exposure time 3 .

The Dataset
Based on the platform presented in Section 3, we recorded a synchronized dataset for the quantitative comparison of plenoptic and stereo VO systems. The inspiration for this dataset was taken from the Benchmark for monocular VO presented by Engel et al. [19].
Especially for long, large scale trajectories, it is impossible to obtain reference measurements which are accurate enough to serve as ground truth. Hence, guided by the idea of [19], we perform all sequences in the dataset as a single very large loop, for which beginning and end of the sequence capture the same scene.
For all recorded sequences we supply geometric camera parameters and vignetting data for both the stereo camera system and the plenoptic camera. Furthermore, for each sequence, ground truth data is obtained from the loop closure between beginning and end.

Geometric Camera Calibration
For all cameras, we perform geometric calibration based on a 3D target, which is presented below in Section 4.1.3. Aside from the camera models for the plenoptic camera and the stereo system, we supply the entire sets of images as well as the marker positions detected in the images, which were used for calibration. This way, one can later test new camera models and calibration approaches on the basis of this data.

Plenoptic Camera Model
The projection model which is used for the plenoptic camera in this dataset, is the one proposed in [16] and visualized in Figure 2. In this model, the main lens of the plenoptic camera is a thin lens, while the micro lenses in the MLA are pinholes. In [16] it was shown, that this model forms, in fact, the equivalent to a virtual camera array, as it is shown in Figure 2(b), where each micro image represents the image of a small pinhole camera with a very narrow field of view.
Using this model, one obtains the coordinates of a point x p in a virtual camera from the camera coordinates x C of a 3D object point as follows: (1) Here, p M L defines the center of the virtual camera, or projected micro lens. The center p M L is calculated from the center of the real micro lens c M L as follows: The parameter z C0 defines the distance from the real main lens of the plenoptic camera to the virtual camera array (see Fig. 2(b)).
Furthermore, a point x M L in a real micro image can be calculated from the corresponding point x p in the respective virtual camera as follows: The micro image point x M L , given in eq. (4), is an image point relative to its micro lens center c M L . Hence, corresponding raw image coordinates x R , which are unique for each single point in the entire raw image recorded by the plenoptic camera, are defined: The common way to obtain the centers of the micro lenses in the MLA is to estimate them based on a recorded white image [26]. However, these centers, in fact, do not represent the micro lens centers c M L , but instead the corresponding micro image centers c I . As it is shown in [17], the micro lens center c M L and the micro image centers c I have the following relationship: To correct for lens distortions, a distortion model is applied to the raw image coordinates x R . Hence, the following connection between the distorted coordinates x Rd , which, in fact, are the coordinates of the image recorded by the camera, and the undistorted coordinates x R is defined: Here, the distortion terms, ∆x dist and ∆y dist , consist of a radial symmetric as well as a tangential distortion component and are defined as follows: For the plenoptic camera, we found two radial symmetric parameters (A 0 , and A 1 ) to be sufficient to model the distortion. The micro image centers are detected also on distorted raw image coordinates c Id and therefore have to be corrected by the same distortion model. Hence, the corrected micro image centers c I will not be arranged on a regular hexagonal grid anymore, but will slightly deviate from this grid.
So far, the coordinates x Rd were defined in metric dimension and relative to the optical axis. Hence, they still have to be transformed into pixel coordinates x Rd as follows: Here, s defines the size of a pixel and c = [c x , c y ] T is the so-called principal point. As already mentioned, the micro image centers c Id can be estimated from a recorded white image. Furthermore, the pixel size s can be taken directly from the sensor specifications. All other parameter, have to be estimated in a geometric calibration. These parameters are: • main lens focal length: f L • distance between main lens and MLA: b L0 • distance between MLA and sensor:

Stereo Camera Model
For the two monocular cameras in the stereo setup we define the pinhole camera model as given in eq. (12). In contrast to the plenoptic camera model, we define different focal lengths (f x , f y ) in xand y-direction. Thereby, we are able to consider rectangular, instead of squared, sensor pixels. Lens distortion is applied on normalized image coordinates as given in eq. (13).
Due to the much larger FOV, rather than two, we have to consider three parameters for radial symmetric distortion. Furthermore, the effect of tangential distortion is negligible.
The variable r = x 2 + y 2 defines the distance to the principal point on the sensor in normalized image coordinates. In addition to the intrinsic parameters, the orientation of the slave (right) camera with respect to the master (left) camera is defined by a rigid body transformation G(ξ M S ) ∈ SE(3), which is represented by the respective tangent space element ξ M S ∈ se(3).

Calibration Approach
For both systems, the plenoptic camera and the stereo camera, the model parameters are estimated from a set of images in a full bundle adjustment. For this purpose we use the 3D calibration target shown in Figure 3(a). In the bundle adjustment, all parameters of the camera models, the extrinsic orientations of the single images as well as the 3D coordinates of the calibration markers are estimated. The micro images of the plenoptic camera generally do not cover a complete marker point. Therefore, the marker points cannot be detected reliably in the micro images. Hence, we calculate from each raw image, recorded by the plenoptic camera, the corresponding totally focused image. Afterwards, the marker points are detected in the totally focused image and are projected back to the micro images in the respective raw image. This procedure was described already in [16].

Vignetting Correction
Especially for direct VO approaches, vignetting has a negative effect on the performance. The model parameters are estimated based on photometric measurements and therefore the measured intensity of a point must be independent of its location on the sensor. Indirect methods are more robust to vignetting, as extracted feature points generally rely on corners in the images, which are invariant to absolute intensity changes.
While in a monocular camera vignetting generally results in a continuously increasing attenuation of pixel intensities from the image center towards the boundaries, in a plenoptic camera further vignetting effects are present for each single micro lens.
Mathematically we can describe the vignetting as follows: The function I(x) is the observed intensity value measured by the sensor, while B(x) is the irradiance image which represents the scene in a photometrically correct way. The vignetting V (x) defines a pixel-wise attenuation, with V (x) ∈ [0, 1]. We use the notations τ for the exposure time and I for the sensor noise. In this simplified model, we considered the image sensor to have a linear transfer characteristic which is, in fact, not the case for a real sensor. While the nonparametric vignetting compensation based on white images, recorded with a white balance filter, is commonly applied to plenoptic cameras, we correct the vignetting of the two cameras in the stereo system in the same way. For each camera we recorded a set of 10 white images and calculated an average attenuation image from this set. Figure 3(b) shows the used white balance filter. For the two cameras of the stereo system, we additionally filtered the attenuation images using a Gaussian kernel. This cannot be done for the attenuation image of the plenoptic camera, as in this case, the MLA produces quite high frequent components in the attenuation image which must be preserved (see Figure 4).
In [19] a different method is described, where the attenuation map is calculated based on a sequence of images capturing a white wall. However, the method [19] is quite time  consuming and, in our experience, error prone 4 . For the method [19], one has to capture a sequence of hundreds of images and then run the estimation for up to one hour. The attenuation map based on the white balance filter, by contrast, is obtained in just a few seconds. Furthermore, we want to apply comparable calibrations to both systems; the plenoptic camera as well as the stereo cameras. Figure 4 shows the vignetting for the plenoptic camera. As one can see, vignetting is visible in each individual micro image. Furthermore, outer image regions are attenuated stronger than the image center. This is due to the influence of the main lens. In addition, there are some small irregularities visible in the map resulting from defect micro lenses and dirt on the MLA. Figure 5 shows the attenuation maps estimated for the left camera of the stereo system. Figure 5(a) shows the result using the white balance filter, while Figure 5(b) shows the one obtained from the method of Engel et al. [19]. From Figure 5(c) one can clearly see that for the white balance filter the attenuation is sightly stronger at the sensor boundaries than for the method in [19]. However, the deviation is quite small and furthermore, it is difficult to evaluate which map describes the vignetting of the camera in a more accurate way.

Ground Truth and Evaluation Metric
It is almost impossible to obtain ground truth trajectories for long and large-scale sequences recorded by hand-held cameras. We decided to obtain ground truth data for our dataset in a similar way as suggested by Engel et al. [19], where the accuracy of a VO algorithm is evaluated based on a single, larger loop closure. Each trajectory in the dataset starts with a winding sequence while capturing a nearby object. This starting sequence is followed by the actual trajectory which finally leads back to the starting point in a large loop, followed by a short, winding, finishing sequence.
Using the winding sequence at the beginning and at the end, we are able to register both segments to each other using a standard structure from motion (SfM) approach. These registered segments then can be used as ground truth information. In contrast to monocular datasets, we also want ground truth data for the absolute scale of the trajectory. The absolute scale of the trajectory is obtained from stereo images. Since the stereo cameras have a much larger stereo baseline than the micro images in the plenoptic camera, the observed scale is accurate enough to serve as reference for the plenoptic sequences.
While one can basically use any SfM algorithm to register the start and end segment to each other, we use a modified version of ORB-SLAM2 (stereo) [9]. Instead of selecting keyframes, we build up a frame-wise pose graph which is optimized in a global bundle adjustment. Figure 6 shows, by way of example, the registered segments for the beginning and the end of the sequence in blue and red respectively, overlaid with the point cloud calculated by [17].
Using the registered ground truth data, based on each recorded trajectory two similarity transformations T gt s and T gt e (∈ Sim (3)) with respect to the start and the end segment of the sequence can be calculated, as given in eqs. (17) and (18).
T gt e := arg min The vectors p i ∈ R 3 are the estimated points of the trajectory while p gt i ∈ R 3 are the respective points of the ground truth. S and E define the sets of indices of the start end and segment respectively. One may notice that in eqs. (17) and (18) actually the homogeneous representations of 3D points p i and p gt i have to be used. Using the similarity transformations T gt s and T gt e we define evaluation metrics similar to [19]. From the two transformations the accumulated drift T drift ∈ Sim(3) from the start to the end of the trajectory can be calculated as follows: From T drift we can directly extract the scale drift e s , the rotational drift e r , and the translation drift e t := t . The rotational drift e r is defined by the rotation angle around the Euler axis w → w corresponding to the rotation matrix R ∈ SO (3): The mapping w → w defines the mapping of the vector w ∈ R 3 to the skew-symmetric matrix w ∈ so (3): For an easier interpretation of the scale drift e s := max{e s , e −1 s } is defined. The drift metrics e s , e r , and e t define more or less independent quality measures. Looking at just one of these values offers only a very limited insight into the overall quality of the estimated trajectory. Furthermore, e t , as it is defined here, is proportional to the absolute scale of the estimated trajectory and therefore is not meaningful at all without considering the absolute scale. In [19] the alignment error e align , as a more meaningful combined metric, is defined: The parameter N is the number of points (frames) in the complete trajectory. In comparison to e t , e align is always scaled with respect to the ground truth and implicitly incorporates all drifts e s , e r , e t in a single number. All previously defined metrics consider only the relative drift from the beginning to the end of the trajectory, but not the error of the absolute scale. We define the absolute scale difference d s of the front and end segment as another metric: (a) sample images from the sequence of the left camera in the stereo camera system (b) sample images from the sequence of the plenoptic camera Similar to the scale drift e s , we define d s := max{d s , d −1 s }. Of course, d s must be considered only for plenoptic and stereo algorithms and not for monocular approaches. Furthermore, d s has significance only in combination with the scale drift e s : To obtain reliable ground truth data, all sequences start and end in a scene showing objects in a distance of several meters, which are easy to track. However, for these nearby objects it is easier to estimate the correct scale. Hence, to consider only the scale drift e s or the absolute scale d s might be misleading. In combination with the alignment error e align , these values become more meaningful since the alignment error would reflect large scale drifts along the trajectory.
Following the scheme described above, we recorded a set of 11 sequences in versatile environments. The recorded scenes range from large scales to small scales, from man-made environments to environments with abundant vegetation. The sequences capture moving objects like pedestrians, bikes or cars. The sequences also cover difficult and changing lighting conditions due to shadows, moving clouds, and automatic exposure adjustment. The path lengths of the performed trajectories range from 25 m to 274 m. Figure 7 shows a set of sample images extracted from a single sequence. The corresponding trajectory is shown in Figure 8. Figure 6 visualizes the registered start and end segments which are used to calculate the metrics. As one can see, the monocular images of the stereo system ( Fig. 7(a)) have a much wider FOV than the images of the plenoptic camera ( Fig. 7(b)). In Figure 7(b), the images of the plenoptic camera seem to be a bit blurred. This is not, in fact, the case and is only due to the multiple projections of a point in neighboring micro images. Due to the narrower FOV and the higher number of pixels on the sensor, images of the plenoptic camera actually have a much higher spatial resolution than those from the monocular cameras.  and 3D point cloud estimated by [17]. Figure 9 shows a magnified subsection of the trajectory and the point cloud of Figure 8(b). This subsection shows the beginning and end of the sequence. One can clearly see the drift accumulated over the complete sequence, resulting in the same scene being reconstructed twice in slightly different locations.

Exemplary Results
By way of example, this section shows results which were obtained for different algorithms based on the presented dataset. The tested algorithms are: monocular: • DSO [7] • ORB-SLAM2 [6,9] stereo: • ORB-SLAM2 [9] plenoptic: • SPO [17] We also ran LSD-SLAM [5] on the dataset. Though, the algorithms failed on most of the sequences or resulted in extremely high drift metrics. For none of the algorithms did we enforce real time processing. For the algorithms which include a full SLAM framework (ORB-SLAM2 and LSD-SLAM), large scale loop closure detection and relocalization was disabled. The implementations of DSO and LSD-SLAM are not able to handle the high image resolution of 1.3 megapixel of the monocular images. Thus, for these algorithms, the image resolution is reduced to 960 pixel × 720 pixel. Both versions of ORB-SLAM2 run at the full image resolution of 1280 pixel × 1024 pixel. Figure 10 shows the results for all algorithms stated above, which were obtained based on the presented dataset. Obviously, no absolute scale error d s can be measured for the monocular algorithms. Depending on the implementation a VO algorithm either signals Fig. 9. Example of the accumulated drift of [17] from the beginning to the end of a sequence. Due to the drift in the trajectory, the same scene is reconstructed twice at different locations. The green line represents the camera trajectory estimated by the algorithm.
a tracking failure or results in an abnormally high tracking error. In Figure 10 we chose appropriate graph limits. All values at the upper graph border signify that the respective algorithm either failed, and therefore no metric could be measured, or that the measured metric lies above the upper graph limit.
Furthermore, Figure 11 shows, by way of example, The 3D point clouds, for some of the sequences, calculated by [17]. These point clouds are supposed to give an impression about the recorded sequences. More results can be found in [17].
From Figure 10 one can see that there are particular sequences for which the plenoptic camera based approach (SPO [17]) perform worse than the other algorithms. These sequences are on one side indoor sequences (e.g. #7 and #8) which show corridors and staircases with lots of white walls. For these scenes monocular and stereo approaches benefit from the wider field of view. On the other side SPO fails in an outdoor sequence (#5), where a van is driving trough the scene. Here, the monocular and stereo approaches again benefit from the wider field of view, while large areas of the light field image are covered by the driving car.

Known Limitations
While the two monocular cameras of the stereo system both have a monochromatic sensor, the plenoptic camera has a RGB sensor. Hence, even though all image sensors have a similar pixel size, a pixel of the plenoptic camera captures only approximately a third of the light energy compared to a pixel of the monocular cameras 5 , when we, in fact, assume that all other parameters are similar. For the plenoptic camera the F-number is predefined by construction, due to the aperture of the micro lenses. This F-number is higher than the one of the lenses used for the two monocular cameras. For this reason, the monocular cameras gather even more light energy on the same sensor area compared to the plenoptic  [17] DSO [7] ORB2 (mono) [9] ORB2 (stereo) [9] (b) scale drift SPO [17] DSO [7] ORB2 (mono) [9] ORB2 (stereo) [9] (c) alignment error (e) (f) Fig. 11. Examples of point clouds reconstructed by [17]. The lengths of all 11 recorded trajectories range from 25 m to 274 m.
camera. To compensate for these two issues, a hardware-sided amplification of 6 dB was set for the plenoptic camera. Thus, for all cameras the exposure times are within the same order of magnitude, although they do not match exactly. Due to the amplification, the images of plenoptic cameras will contain more noise when compared with the monocular cameras of the stereo system. For the stereo camera system, it is important that both cameras run synchronized and with the same exposure time. For this reason, the automatically calculated exposure time of the master camera must be used to set the exposure time of the slave camera. It can happen that if the exposure time changes, an image pair is captured for which the two cameras had slightly different exposure times.
Currently, there exists no plenoptic camera based VO algorithm which performs loop closures. Therefore, the loop closure ground truth, calculated on the basis of the stereo images, is also used as ground truth for the plenoptic camera. With respect to the plenoptic camera, the ground truth might be slightly inaccurate due to the slightly different positions of the master camera of the stereo system and the plenoptic camera. The superior way would be to calculate a second ground truth on the basis of the plenoptic images.
Due to the reason that we use different sensors and lenses which have different properties, and the fact that the cameras see the scene from sightly different perspectives, one has to keep in mind that even though we are able to perform quantitative evaluations based on the presented dataset, these quantities are only valid up to a certain degree. However, the dataset helps to emphasize the strength of VO based on a certain sensor with respect to the other sensors. The results presented in this paper as well as [17] especially show that plenoptic camera based VO offer a promising alternative to approaches based on traditional sensors.