Our dataset contains two major types of file; images (png or jpeg) and hdf5 dataset files. The former ones are used to store the visual sensors streams, while the latter ones contain the records for all positioning information (ground truths and sensors). Additionally, our hdf5 files also provide information about the time synchronisation between positional and visual records.
Please note that hdf5 dataset files are binary files. You will therefore need an appropriate library to open them with your favourite programming language. Hopefully, HDF5 is a standard way of storing information and most of programming languages provide such library. If you want to explore the file with a GUI rather than a script, you can use the following hdf5 file explorer.
Each climate setup is considered as an individual dataset part. They all have their own hdf5 dataset file and are the root of a directory hierarchy which is the same for all of them. This hierarchy is illustrated in Figure 1 (see below). In this figure, i corresponds to each trajectory number and j is the image frame number (it ranges from 0 to the number of images recorded for the corresponding trajectory).
The hdf5 data structure is illustrated in Figure 2 (see below). Its root contains one group for each trajectory. Each of those sub-dataset then has the same content organization which is detailed in Figure 2.
Since visual sensors are sampled at 25Hz, GPS at 1Hz and positioning information at 100Hz, and assuming that trajectory_i
as a length
of N seconds, the groups in the hdf5 dataset have the following content:
camera_data
group are a list of strings of length 25N. Entry k=floor(25*t)
of a list gives the relative path to the frame captured
at time t
, where t
is expressed in seconds.
gps
group are matrices of size N⨯m
, where m
is equal to 3 for the position and velocity groups and 1 for the others.
Line k=floor(t)
of a matrix gives the sensor measurement captured at time t
, where t
is expressed in seconds.
groundtruth
group are matrices of size 100N⨯m
, where m
is equal to 4 for the attitude group and 3 for the others.
Line k=floor(100*t)
of a matrix gives the sensor measurement captured at time t
, where t
is expressed in seconds.
imu
group are matrices of size 100N⨯3.
Line k=floor(100*t)
of a matrix gives the sensor measurement captured at time t
, where t
is expressed in seconds.
Additionally, these groups have an attribute giving the initial bias estimate.