Code Monkey home page Code Monkey logo

durlar's Introduction

Durham arXiv GitHub license Stars

DurLAR: A High-Fidelity 128-Channel LiDAR Dataset

DurLAR_50MB.mp4

Sensor placement

Panoramic Imagery


Reflectivity imagery


Ambient imagery

File Description

Each file contains 8 topics for each frame in DurLAR dataset,

  • ambient/: panoramic ambient imagery
  • reflec/: panoramic reflectivity imagery
  • image_01/: right camera (grayscale+synced+rectified)
  • image_02/: left RGB camera (synced+rectified)
  • ouster_points: ouster LiDAR point cloud (KITTI-compatible binary format)
  • gps, imu, lux: csv file format

The structure of the provided DurLAR full dataset zip file,

DurLAR_<date>/  
├── ambient/  
│   ├── data/  
│   │   └── <frame_number.png>   [ ..... ]   
│   └── timestamp.txt  
├── gps/  
│   └── data.csv  
├── image_01/  
│   ├── data/  
│   │   └── <frame_number.png>   [ ..... ]   
│   └── timestamp.txt  
├── image_02/  
│   ├── data/  
│   │   └── <frame_number.png>   [ ..... ]   
│   └── timestamp.txt  
├── imu/  
│   └── data.csv  
├── lux/  
│   └── data.csv  
├── ouster_points/  
│   ├── data/  
│   │   └── <frame_number.bin>   [ ..... ]   
│   └── timestamp.txt  
├── reflec/  
│   ├── data/  
│   │   └── <frame_number.png>   [ ..... ]   
│   └── timestamp.txt  
└── readme.md                    [ this README file ]  

The structure of the provided calibration zip file,

DurLAR_calibs/  
├── calib_cam_to_cam.txt              [ Camera to camera calibration results ]   
├── calib_imu_to_lidar.txt            [ IMU to LiDAR calibration results ]   
└── calib_lidar_to_cam.txt            [ LiDAR to camera calibration results ]   

Get Started

Note that we did not include CSV header information in the exemplar dataset (600 frames). You can refer to Header of csv files to get the first line of the csv files.

calibration files (v2, targetless): Following the publication of the proposed DurLAR dataset and the corresponding paper, we identify a more advanced targetless calibration method (#4) that surpasses the LiDAR-camera calibration technique previously employed. We provide exemplar ROS bag for targetless calibration, and also corresponding calibration results (v2). Please refer to Appendix (arXiv) for more details.

Access to the full dataset

Access to the complete DurLAR dataset can be requested through either of the way. 您可任选以下其中任意链接申请访问完整数据集。

1. Access for the full dataset
2. 申请访问完整数据集

Usage of the downloading script

Upon completion of the form, the download script durlar_download and accompanying instructions will be automatically provided. The DurLAR dataset can then be downloaded via the command line.

For the first use, it is highly likely that the durlar_download file will need to be made executable:

chmod +x durlar_download

By default, this script downloads the small subset for simple testing. Use the following command:

./durlar_download

It is also possible to select and download various test drives:

usage: ./durlar_download [dataset_sample_size] [drive]
dataset_sample_size = [ small | medium | full ]
drive = 1 ... 5

Given the substantial size of the DurLAR dataset, please download the complete dataset only when necessary:

./durlar_download full 5

Throughout the entire download process, it is important that your network remains stable and free from any interruptions. In the event of network issues, please delete all DurLAR dataset folders and rerun the download script. Currently, our script supports only Ubuntu (tested on Ubuntu 18.04 and Ubuntu 20.04, amd64). For downloading the DurLAR dataset on other operating systems, please refer to Durham Collections for instructions.

CSV format for imu, gps, and lux topics

Format description

Our imu, gps, and lux data are all in CSV format. The first row of the CSV file contains headers that describe the meaning of each column. Taking imu csv file for example (only the first 9 rows are displayed),

  1. %time: Timestamps in Unix epoch format.
  2. field.header.seq: Sequence numbers.
  3. field.header.stamp: Header timestamps.
  4. field.header.frame_id: Frame of reference, labeled as "gps".
  5. field.orientation.x: X-component of the orientation quaternion.
  6. field.orientation.y: Y-component of the orientation quaternion.
  7. field.orientation.z: Z-component of the orientation quaternion.
  8. field.orientation.w: W-component of the orientation quaternion.
  9. field.orientation_covariance0: Covariance of the orientation data.

image

Header of csv files

The first line of the csv files is shown as follows.

For the GPS,

time,field.header.seq,field.header.stamp,field.header.frame_id,field.status.status,field.status.service,field.latitude,field.longitude,field.altitude,field.position_covariance0,field.position_covariance1,field.position_covariance2,field.position_covariance3,field.position_covariance4,field.position_covariance5,field.position_covariance6,field.position_covariance7,field.position_covariance8,field.position_covariance_type

For the IMU,

time,field.header.seq,field.header.stamp,field.header.frame_id,field.orientation.x,field.orientation.y,field.orientation.z,field.orientation.w,field.orientation_covariance0,field.orientation_covariance1,field.orientation_covariance2,field.orientation_covariance3,field.orientation_covariance4,field.orientation_covariance5,field.orientation_covariance6,field.orientation_covariance7,field.orientation_covariance8,field.angular_velocity.x,field.angular_velocity.y,field.angular_velocity.z,field.angular_velocity_covariance0,field.angular_velocity_covariance1,field.angular_velocity_covariance2,field.angular_velocity_covariance3,field.angular_velocity_covariance4,field.angular_velocity_covariance5,field.angular_velocity_covariance6,field.angular_velocity_covariance7,field.angular_velocity_covariance8,field.linear_acceleration.x,field.linear_acceleration.y,field.linear_acceleration.z,field.linear_acceleration_covariance0,field.linear_acceleration_covariance1,field.linear_acceleration_covariance2,field.linear_acceleration_covariance3,field.linear_acceleration_covariance4,field.linear_acceleration_covariance5,field.linear_acceleration_covariance6,field.linear_acceleration_covariance7,field.linear_acceleration_covariance8

For the LUX,

time,field.header.seq,field.header.stamp,field.header.frame_id,field.illuminance,field.variance

To process the csv files

To process the csv files, you can use multiple ways. For example,

Python: Use the pandas library to read the CSV file with the following code:

import pandas as pd
df = pd.read_csv('data.csv')
print(df)

Text Editors: Simple text editors like Notepad (Windows) or TextEdit (Mac) can also open CSV files, though they are less suited for data analysis.

Folder #Frame Verification

For easy verification of folder data and integrity, we provide the number of frames in each drive folder, as well as the MD5 checksums of the zip files.

Folder # of Frames
20210716 41993
20210901 23347
20211012 28642
20211208 26850
20211209 25079
total 145911

Reference

If you are making use of this work in any way (including our dataset and toolkits), you must please reference the following paper in any report, publication, presentation, software release or any other associated materials:

DurLAR: A High-fidelity 128-channel LiDAR Dataset with Panoramic Ambient and Reflectivity Imagery for Multi-modal Autonomous Driving Applications (Li Li, Khalid N. Ismail, Hubert P. H. Shum and Toby P. Breckon), In Int. Conf. 3D Vision, 2021. [pdf] [video][poster]

@inproceedings{li21durlar,
 author = {Li, L. and Ismail, K.N. and Shum, H.P.H. and Breckon, T.P.},
 title = {DurLAR: A High-fidelity 128-channel LiDAR Dataset with Panoramic Ambient and Reflectivity Imagery for Multi-modal Autonomous Driving Applications},
 booktitle = {Proc. Int. Conf. on 3D Vision},
 year = {2021},
 month = {December},
 publisher = {IEEE},
 keywords = {autonomous driving, dataset, high-resolution LiDAR, flash LiDAR, ground truth depth, dense depth, monocular depth estimation, stereo vision, 3D},
 category = {automotive 3Dvision},
}

durlar's People

Contributors

l1997i avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

hubertshum

durlar's Issues

Significant Number of Points at Coordinates (0,0,0) in ouster_points .bin Files

I have been exploring the DurLAR dataset, specifically the ouster_points .bin files, and I have noticed that a substantial proportion of the points (approximately 40% for each frame) have their coordinates set to (0,0,0). This appears to be an unusually high percentage and I am concerned that it might indicate an issue with my processing pipeline. Is this the expected behaviour or am I missing something?

Here's my code for reading the .bin files in Python:

def load_binary(file_path):
    data = np.fromfile(file_path, dtype=np.float32)
    data = data.reshape((-1, 4))  # Assuming the format is x, y, z, intensity
    points = data[:, :3]
    intensity = data[:, 3]

    return points, intensity

Ouster json calibration file

Hi,
thanks a lot for open sourcing this great dataset!
Could you also share the internal calibration file (json format) of the ouster lidar? An example of this file can be found here.

The DurLAR development kit

Hi Lili,
Thanks for providing this open datasets. In your paper, the DurLAR development kit is mentioned. I have two questions:
1, Can this development kit transform raw data into rostopic?
2, Where can I download this kit?
Best wish!

数据缺失和时间戳错误

你好!我发现 seq 20210716 缺少 imu.csv文件,另外imu和gps时间戳相对于lidar时间戳滞后了八个小时

Some Data is missing in one sequence of the full dataset

Thank you for providing the awesome dataset!

I have downloaded the full dataset which contains five sequence of data. However, I found some data is missing in the sequence DurLAR_20210901. The folder with name of ouster_points containing lidar scan is missing in this sequence. Probably it's the issue happening when downloading the full dataset.

If the data should not be missing, could you provide me a link for downloading the sequence only? It would take too much time to download the full dataset again.

pcap files

Hi,
Thank you for the dataset!
There is a way to get the original pcap files and the calic JSON?

Or - how you translate original .pcap to the .bin?

I need the original .pcap files output for my research...

Thank you!!

无法获取数据集下载链接

您好,感谢您分享该数据集。但是我在正确填写数据集申请后,邮箱没有收到数据集下载链接。如果可以的话,希望您能分享下载链接到我的个人邮箱[email protected],十分感谢!

LiDAR-to-camera calibration

Hi, thanks for providing this dataset.

I have a question about the calibration files you provide (cam_to_cam, imu_to_lidar and lidar_to_cam).
Is this the result of the calibration process you describe in the paper, including the RANSAC based optimisation for lidar to camera calibration?

And followup questions:
Are the camera images already rectified?

Can, like in KITTI, a point X in lidar coordinate be projected to the rgb_camera as

Y = P_rect_02 * R_rect_?? * (R|T)_lidar_to_cam * X

Is this correct? Which is the reference camera coordinate system?

How ambient images are generated?

Hi, thanks for sharing this dataset.

I would like to know how the ambient images in the data set are generated, and which sensor data is used to generate them.

Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.