Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to do Registration between RGB-D captured point cloud and CAD-modeled point cloud #10477

Closed
yiyangd opened this issue May 7, 2022 · 5 comments

Comments

@yiyangd
Copy link

yiyangd commented May 7, 2022

Issue Description

I would like to continue the discussion of #9479 and#5082

My goal is to do Registration between the a bottle point cloud captured by D435i RGB-D and the point cloud created by CAD tool with this bottle's actual size (e.g. 28 cm height).

Here is the result I use ICP algorithm WITHOUT manually scaling: the SINGLE BLUE point is the RGB-D captured point cloud and the yellow point cloud is the CAD model (this is because the significant large different scale)
Screen Shot 2022-05-06 at 11 50 44 AM

After I scaled manually (increase the RGBD point cloud size by 500, and decrease the CAD point cloud size by 1000), the registration result is still not matched.
Screen Shot 2022-05-06 at 11 59 31 AM

My question is: is it possible to get point cloud information (the distance of the points) so that we could scale down the CAD model by dist_CAD/dist_RGBD rather than put the scaling number manually?

Thanks for helping!

@MartyG-RealSense
Copy link
Collaborator

Hi @yiyangd Instead of trying to correct the scaling difference by getting the distance of the points, it may be more effective to correct the alignment problem by using Open3D's Multi-Scale ICP instead of ordinary ICP. A tutorial for this can be found at the link below.

http://www.open3d.org/docs/release/tutorial/t_pipelines/t_icp_registration.html#Multi-Scale-ICP-Example

If you are unable to change to Multi-Scale ICP, if you scroll up the tutorial page a little to slightly above the section that I linked to then it suggests that poor ICP convergence due to bad alignment may be compensated for by using a large max_correspondence_distance

If you would still prefer to retrieve the distance of the points in Open3D instead of using the methods above then I will be happy to explore that possibility for you.

@yiyangd
Copy link
Author

yiyangd commented May 8, 2022

Thanks @MartyG-RealSense for discussing this problem for one year! I will try the method you shared soon and give the feedback!

@MartyG-RealSense
Copy link
Collaborator

Hi @yiyangd Do you have an update about this case that you can provide, please? Thanks!

@MartyG-RealSense
Copy link
Collaborator

Hi @yiyangd Do you require further assistance with this case, please? Thanks!

@MartyG-RealSense
Copy link
Collaborator

Case closed due to no further comments received.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants