isl-org / Open3D

Open3D: A Modern Library for 3D Data Processing
http://www.open3d.org
Other
11.48k stars 2.31k forks source link

How to use 'registration_fgr_based_on_correspondence' function #4790

Open Hany-trio opened 2 years ago

Hany-trio commented 2 years ago

Checklist

My Question

Result of registration is fault, when i use function registration_fgr_based_on_correspondence . dataset:3dMatch 3d descriptor: FCGF result of function registration_fgr_based_on_feature_matching is right.(see below) 屏幕截图 2022-02-21 220728 i input the correspondece_set of result to registration_fgr_based_on_correspondence.

result_fm = o3d.pipelines.registration. registration_fgr_based_on_feature_matching(source_pcd, target_pcd, source_fea, target_fea, FGRoption)
result_cor = o3d.pipelines.registration. registration_fgr_based_on_correspondence(source_pcd, target_pcd,result_fm.correspondence_set, FGRoption)

function registration_fgr_based_on_feature_matching did not return the desired result. (see below) image i try other function registration_ransac_based_on_correspondence. the reslut is right.(see below) image

Could you please solve my question.

theNded commented 2 years ago

It was introduced by a contributor and there is a potential bug awaiting fix in #4479.

According to the PR a potential fix is to swap source and target if the source point cloud size is smaller -- remember to invert the resulting transformation.

Hany-trio commented 2 years ago

Thank you very much. @theNded