[ICRA2021] Voxelized GICP for Fast and Accurate 3D Point Cloud Registration
Kenji Koide, Masashi Yokozuka, Shuji Oishi, and Atsuhiko Banno
National Institute of Advanced Industrial Science and Technology (AIST), Japan
IEEE International Conference on Robotics and Automation (ICRA2021)
Kenji Koide, Masashi Yokozuka, Shuji Oishi, and Atsuhiko Banno National Institute of Advanced Industrial Science and Technology (AIST), Japan Code available: https://github.com/SMRT-AIST/fast_gicp
MULLS: Versatile LiDAR SLAM via Multi-metric Linear Least Square, 2021 Tixiao et al., LIO-SAM: Tightly-coupled LiDAR Inertial Odometry via Smoothing and Mapping, 2020 Loop Detection Scan matching is inevitable for LiDAR SLAM We need a fast and accurate scan matching method
Accurate: Fine surface modeling Slow: Needs costly NN search ICP with D2D matching Fast: No NN search, Suitable for GPU Inaccurate: Accuracy largely depends on voxel resolution Voxel-based data association Voxelized GICP (VGICP) Combine GICP’s D2D matching scheme with NDT’s voxel-based data association Robust to voxel resolution changes / As accurate as GICP / Runs at 120Hz on a GPU
covariances 2. Find correspondences with NN search 3. Update s.t. D2D cost is minimized Point residual: Point residual distribution: Matching cost: D2D matching cost Point residual Fused cov
Find correspondences with voxel lookup 4. Update s.t. distribution-to-multi-distribution cost is minimized Voxelized GICP Red: source 𝒂𝒊 Blue: target 𝒃𝒊 Point residual: GICP: VGICP: Point residual distribution: GICP: Weight (# of points) Mean of points/covs
Multi-threaded CPU Covariance Estimation - Multi-threaded KD-tree (CPU) - Brute-force NN search (GPU) Code available: https://github.com/SMRT-AIST/fast_gicp All the implementations use a Gauss-Newton-based optimizer
on the voxel resolution GICP (PCL): - Better accuracy than ICP and NDT GICP (ours): - Slightly better than PCL’s GICP - Maybe because of the optimizer choice VGICP (ours): - Almost as accurate as GICP
on the voxel resolution GICP (PCL): - Better accuracy than ICP and NDT GICP (ours): - Slightly better than PCL’s GICP - Maybe because of the optimizer choice VGICP (ours): - Almost as accurate as GICP
on the voxel resolution GICP (PCL): - Better accuracy than ICP and NDT GICP (ours): - Slightly better than PCL’s GICP - Maybe because of the optimizer choice VGICP (ours): - Almost as accurate as GICP
on the voxel resolution GICP (PCL): - Better accuracy than ICP and NDT GICP (ours): - Slightly better than PCL’s GICP - Maybe because of the optimizer choice VGICP (ours): - Almost as accurate as GICP
with single-threading - With multi-threading, it gets significantly faster VGICP: - Same preprocessing time - GPU-brute force NN search is slightly slower than CPU-based KD-tree - Significantly small optimization time Preprocess time can be improved with: - Sensor-specific NN search method - Reusing estimated covariances
D2D matching cost and NDT’s voxel data association, is proposed • Multi point distribution aggregation approach is proposed to calculate valid distributions on voxels with few points • Evaluation results show that VGICP is as accurate as GICP while reducing the pose optimization time