All Projects → MartinHahner → LiDAR_fog_sim

MartinHahner / LiDAR_fog_sim

Licence: other
LiDAR fog simulation

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to LiDAR fog sim

BtcDet
Behind the Curtain: Learning Occluded Shapes for 3D Object Detection
Stars: ✭ 104 (+2.97%)
Mutual labels:  point-cloud, lidar, autonomous-driving, lidar-point-cloud
FLAT
[ICCV2021 Oral] Fooling LiDAR by Attacking GPS Trajectory
Stars: ✭ 52 (-48.51%)
Mutual labels:  point-cloud, lidar, autonomous-driving
PyLidar3
PyLidar3 is python 3 package to get data from Lidar devices from various manufacturers.
Stars: ✭ 35 (-65.35%)
Mutual labels:  lidar, autonomous-driving, lidar-point-cloud
Python-for-Remote-Sensing
python codes for remote sensing applications will be uploaded here. I will try to teach everything I learn during my projects in here.
Stars: ✭ 20 (-80.2%)
Mutual labels:  point-cloud, lidar, lidar-point-cloud
urban road filter
Real-time LIDAR-based Urban Road and Sidewalk detection for Autonomous Vehicles 🚗
Stars: ✭ 134 (+32.67%)
Mutual labels:  point-cloud, lidar, autonomous-driving
awesome-lidar
😎 Awesome LIDAR list. The list includes LIDAR manufacturers, datasets, point cloud-processing algorithms, point cloud frameworks and simulators.
Stars: ✭ 217 (+114.85%)
Mutual labels:  point-cloud, lidar, autonomous-driving
Awesome Robotic Tooling
Tooling for professional robotic development in C++ and Python with a touch of ROS, autonomous driving and aerospace.
Stars: ✭ 1,876 (+1757.43%)
Mutual labels:  point-cloud, lidar, autonomous-driving
3d Bat
3D Bounding Box Annotation Tool (3D-BAT) Point cloud and Image Labeling
Stars: ✭ 179 (+77.23%)
Mutual labels:  point-cloud, autonomous-driving
3d Pointcloud
Papers and Datasets about Point Cloud.
Stars: ✭ 179 (+77.23%)
Mutual labels:  point-cloud, autonomous-driving
Pclpy
Python bindings for the Point Cloud Library (PCL)
Stars: ✭ 212 (+109.9%)
Mutual labels:  point-cloud, lidar
Displaz.jl
Julia bindings for the displaz lidar viewer
Stars: ✭ 16 (-84.16%)
Mutual labels:  point-cloud, lidar
Displaz
A hackable lidar viewer
Stars: ✭ 177 (+75.25%)
Mutual labels:  point-cloud, lidar
Vision3d
Research platform for 3D object detection in PyTorch.
Stars: ✭ 177 (+75.25%)
Mutual labels:  point-cloud, lidar
Liblas
C++ library and programs for reading and writing ASPRS LAS format with LiDAR data
Stars: ✭ 211 (+108.91%)
Mutual labels:  point-cloud, lidar
Dbnet
DBNet: A Large-Scale Dataset for Driving Behavior Learning, CVPR 2018
Stars: ✭ 172 (+70.3%)
Mutual labels:  point-cloud, autonomous-driving
OpenMaterial
3D model exchange format with physical material properties for virtual development, test and validation of automated driving.
Stars: ✭ 23 (-77.23%)
Mutual labels:  lidar, autonomous-driving
Extrinsic lidar camera calibration
This is a package for extrinsic calibration between a 3D LiDAR and a camera, described in paper: Improvements to Target-Based 3D LiDAR to Camera Calibration. This package is used for Cassie Blue's 3D LiDAR semantic mapping and automation.
Stars: ✭ 149 (+47.52%)
Mutual labels:  point-cloud, lidar
Spvnas
[ECCV 2020] Searching Efficient 3D Architectures with Sparse Point-Voxel Convolution
Stars: ✭ 239 (+136.63%)
Mutual labels:  point-cloud, lidar
PointCloudSegmentation
The research project based on Semantic KITTTI dataset, 3d Point Cloud Segmentation , Obstacle Detection
Stars: ✭ 62 (-38.61%)
Mutual labels:  lidar, lidar-point-cloud
LiDAR-GTA-V
A plugin for Grand Theft Auto V that generates a labeled LiDAR point cloud from the game environment.
Stars: ✭ 127 (+25.74%)
Mutual labels:  lidar, lidar-point-cloud

Created by Martin Hahner at the Computer Vision Lab of ETH Zurich.

arXiv PWC visitors

Fog Simulation on Real LiDAR Point Clouds
for 3D Object Detection in Adverse Weather

by Martin Hahner, Christos Sakaridis, Dengxin Dai, and Luc van Gool

Accepted at ICCV 2021.
Please visit our paper website for more details.

pointcloud_viewer

Overview

.
├── file_lists                          # contains file lists for pointcloud_viewer.py
│   └── ...
├── integral_lookup_tables              # contains lookup tables to speed up the fog simulation
│   └── ... 
├── extract_fog.py                      # to extract real fog noise* from the SeeingThroughFog dataset
├── fog_simulation.py                   # to augment a clear weather pointcloud with artificial fog (used during training)
├── generate_integral_lookup_table.py   # to precompute the integral inside the fog equation
├── pointcloud_viewer.py                # to visualize entire point clouds of different datasets with the option to augment fog into their scenes
├── README.md
└── theory.py                           # to visualize the theory behind a single LiDAR beam in foggy conditions

* Contains returns not only from fog, but also from physical objects that are closeby.

Datasets supported by pointcloud_viewer.py:

License

This software is made available for non-commercial use under a Creative Commons License.
A summary of the license can be found here.

Acknowledgments

This work is supported by Toyota via the TRACE project.

Furthermore, we would like to thank the authors of SeeingThroughFog for their great work.
In this repository, we use a fork of their original repository to visualize annotations and compare to their fog simulation. Their code is licensed via the MIT License.

Citation(s)

If you find this work useful, please consider citing our paper.

@inproceedings{HahnerICCV21,
  author = {Hahner, Martin and Sakaridis, Christos and Dai, Dengxin and Van Gool, Luc},
  title = {{Fog Simulation on Real LiDAR Point Clouds for 3D Object Detection in Adverse Weather}},
  booktitle = {IEEE International Conference on Computer Vision (ICCV)},
  year = {2021},
}

You may also want to check out our latest work (Oral at CVPR 2022)
LiDAR Snowfall Simulation for Robust 3D Object Detection.

@inproceedings{HahnerCVPR22,
  author = {Hahner, Martin and Sakaridis, Christos and Bijelic, Mario and Heide, Felix and Yu, Fisher and Dai, Dengxin and Van Gool, Luc},
  title = {{LiDAR Snowfall Simulation for Robust 3D Object Detection}},
  booktitle = {IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
  year = {2022},
}

Getting Started

Setup

  1. Install anaconda.

  2. Create a new conda environment.

conda create --name foggy_lidar python=3.9 -y
  1. Activate the newly created conda environment.
conda activate foggy_lidar
  1. Install all necessary packages.
conda install matplotlib numpy opencv pandas plyfile pyopengl pyqt pyqtgraph quaternion scipy tqdm -c conda-forge -y
pip install pyquaternion
  1. Clone this repository (including submodules).
git clone [email protected]:MartinHahner/LiDAR_fog_sim.git --recursive
cd LiDAR_fog_sim

Usage

How to run the script that visualizes the theory behind a single LiDAR beam in foggy conditions:

python theory.py

theory

How to run the script that visualizes entire point clouds of different datasets:

python pointcloud_viewer.py -d <path_to_where_you_store_your_datasets>

Note:

You may also have to adjust the relative paths in pointcloud_viewer.py (right at the beginning of the file) to be compatible with your datasets relative folder structure.

Disclaimer

The code has been successfully tested on

  • Ubuntu 18.04.5 LTS
  • macOS Big Sur 11.2.1
  • Debian GNU/Linux 9.13

using conda 4.9.2.

Contributions

Please feel free to suggest improvements to this repository.
We are always open to merge usefull pull request.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].