KTH-RPL / DynamicMap_Benchmark

The First Dynamic Map Removal Benchmark | Included 8 SOTA methods | Continous updating
https://kth-rpl.github.io/DynamicMap_Benchmark/
BSD 3-Clause "New" or "Revised" License
281 stars 19 forks source link

Custom data config #21

Closed DarrenWong closed 2 weeks ago

DarrenWong commented 2 weeks ago

Thanks for the great work! I am evaluating the dynamic object removal using our custom data by a Velodyne HDL 32 (the ground is around -2.2 meters in the LiDAR frame). But the results of dufomap and erasor (use default setting) seem not as good as the KITTI one in the example, can I know if any parameters I can tune? The data includes the pcd and the evaluation output is provided for reference. Thanks a lot!

The data: video: image

The existing results,

Dufomap:

numerous vehicle cloud is not removed

image

missing data on the sign, and also some ground points

9ea4bd7f175cd5df8944da26fc5bb97

Kin-Zhang commented 2 weeks ago

image

Thanks for sharing, I checked, it looks like you forgot to save the pose in the VIEWPOINT field: https://kth-rpl.github.io/DynamicMap_Benchmark/data/#a-header-example

And here is an example way to save (C++/python):

C++: https://github.com/Kin-Zhang/simple_ndt_slam/blob/e12840886641b364580f9b5820164b8b849d7899/tools/src/extract_pcdFbag_tf.cpp#L195-L203

      // set the viewpoint -> CHECK PCD VIEWPOINT FIELD
      pcl_cloud->sensor_origin_ = Eigen::Vector4f(pose[0], pose[1], pose[2], 0.0); 
      pcl_cloud->sensor_orientation_ = Eigen::Quaternionf(pose[6], pose[3], pose[4], pose[5]); // w, x, y, z

      // save the pcd
      std::ostringstream tmp_filename;
      tmp_filename << save_pcd_folder << "/pcd/" << std::setfill('0') <<
      std::setw(6) << count << ".pcd"; std::string pcd_file =
      tmp_filename.str(); pcl::io::savePCDFileBinary(pcd_file, *pcl_cloud);

In python way: https://github.com/KTH-RPL/DynamicMap_Benchmark/blob/b170f6a88b7cabafaa61ff937ccb1610037a0654/scripts/py/data/extract_semkitti.py#L115-L125

DarrenWong commented 2 weeks ago

Thanks for your reply! I will re-implement the Pcd write part and evaluate again.

DarrenWong commented 2 weeks ago

Dear Dr. Zhang,

Thanks for your reply. The results are impressive after I regenerate the pcd and put it into testing again using Dufomap. However, some areas especially on the opposite road are not good. Is it possible for you to provide some hints on any parameter I could further turn (default config of Dufomap is used)? The update data is provided for your reference. Thank you very much for your time!

The update PCD viewpoint using the SLAM pose, image

The car near the sensor is removed image

For the cars on the opposite road of the vehicle sensor platform has remained

image

Kin-Zhang commented 2 weeks ago

image

I checked again and believe this is at the end of the frame, and since the DUFOMap strategy is to build the void(free) map, but the space you show and I pointed out, we don't have enough time/dense info to say that.

And this is one limitation we already mentioned in the paper Sec V-E:

image

DarrenWong commented 2 weeks ago

Thanks for your reply!

Kin-Zhang commented 2 weeks ago

No worry. Let me know if you have any further questions.

DarrenWong commented 2 weeks ago

Dear Dr. Zhang, thanks again for your kind support. We will consider involving clustering or integrating with learning-based detection before the fine refinement based on your pipeline. The unexpected dynamic objects are quite challenging for large-scale mapping, especially in dense urban such as Hong Kong. Hopefully, we could have a chance to collaborate on dynamic object removal in the future.