Open hamz1a2 opened 2 months ago
Hey @hamz1a2 , ICP is a local registration method used for refinement. This is likely why you are noticing it being insufficient to register point clouds with larger distances to each other.
Have a look at the global registration methods that Open3D offers. These can be applied in a preliminary step to then allow for the refinement of the transformation with ICP.
Checklist
main
branch).My Question
Hello, This is my first time using and implementing ICP in open3d (0.18.0) to register two pointclouds in python. The ICP is not aligning the source and target. My own pointclouds; KITTI pointclouds (0000000010 and 0000000011)
So, I changed the initial transformation matrix to identity matrix and I try for my own pcd (generated from blender). The ICP is aligning them perfectly when the distance between source and target is less:
Source and target having large distance
Similarly, for the KITTI data set, the ICP for small distance between source and target is aligned:
But having large distance in source and target the ICP is not working:
My question is why ICP is not working ? the initial transformation matrix in ICP is: trans_init = np.asarray([[0.862, 0.011, -0.507, 0.5], [-0.139, 0.967, -0.215, 0.7], [0.487, 0.255, 0.835, -1.4], [0.0, 0.0, 0.0, 1.0]]) I also try to checked different threshold values from 0.02 to 10 but it is also not working.
If someone has any clue for this issue, I shall be thankful.