hku-mars / mlcc

Fast and Accurate Extrinsic Calibration for Multiple LiDARs and Cameras
GNU General Public License v2.0
494 stars 110 forks source link

Questions about OctoTree parameter Settings #10

Closed HungryBen closed 2 years ago

HungryBen commented 2 years ago

if (use_ada_voxel) { if (base_number == 3) // if AVIA is the base LiDAR { adaptVoxel(adapt_voxel_map, 3, 0.0025); debugVoxel(adapt_voxel_map); down_sampling_voxel(*lidar_edge_clouds, 0.05); } else { adaptVoxel(adapt_voxel_map, 4, 0.0009); debugVoxel(adapt_voxel_map); down_sampling_voxel(*lidar_edge_clouds, 0.02); } May I have a question that how do you try the numerical value of the adaptVoxel function's parameters. And how are the parameters (double voxel_size, double eigen_threshold) determined?

ChongjianYUAN commented 2 years ago

The ''voxel_size" means the maximum voxel size in the octree. The "eigen_threshold" means the minimum eigen value of the point covariance matrix that is to be regarded as a plane. If you calibrate in an outdoor environment, you can set the ''voxel_size" with 4 or 3. If your point cloud quality is good, you can set ''eigen_threshold'' to be 0.0025 (which means a point cloud less than 5cm thick is considered to form a plane). Or if your point cloud is more blurry, you can increase this value (0.005 or 0.01).