Simulate LiDAR point cloud from RGBD dataset with various options such as scanning 3D model, Gaussian noise, LiDAR Fov, LiDAR interval angle etc.
This open source tool is a simple program that simulates LiDAR through automatically generates 3D scan data (point cloud). When you need a 3D point cloud but it is difficult to obtain, you can generate scan data from a virtual 3D model(mesh). It can be used for deep learning, etc. Includes 3D model scan, lidar angle, spacing, noise (Gaussian, uniform support) generation options, etc.
LiDAR point cloud generation.
input=model_complex.obj, fov=60, interval=20, range=20.0, noise(gaussian)=0.01
Left figure. input=model_complex1.obj, fov=180, interval=100, range=5.0, noise(gaussian)=0.05. Right figure. noise(uniform)=0.05
v0.1
LiDAR point cloud generation draft version.
v0.2
2023.12.5., refactoring. 2023.12.16., noise option(gaussian | uniform) viewer option. test. fixed bug. update.
git clone https://github.com/mac999/simulate_LiDAR.git
pip install traceback, tqdm, numpy
pip install trimesh
pip install open3d
python simulate_LiDAR.py [options]
--input: default='model.obj', help='input mesh model file(.obj, .ply)'
--output: default='output.pcd', help='output file(.pcd)'
--pos: default='0.0,0.0,0.0', help='LiDAR position'
--yaw: default=0.0, help='LiDAR yaw angle'
--fov: default=60.0, help='LiDAR field of view'
--range: default=10.0, help='LiDAR range'
--noise_option: default='uniform', help='Noise option. [gaussian | uniform]
--noise', default=0.2, help='Noise level. ex) sigma = 0.05 in Gaussian standard deviation or uniform range'
--interval: default=100, help='LiDAR interval count'
--interval_angle: default=0.0, help='LiDAR interval angle'
--viewer: default='on: help='run viewer = [on | off]'
MIT license