GeoTransformer
GeoTransformer copied to clipboard
registration_with_ransac_from_correspondences
Should the value of num_iterations be set to 1000 or 50K?
def registration_with_ransac_from_correspondences(
src_points,
ref_points,
correspondences=None,
distance_threshold=0.05,
ransac_n=3,
num_iterations=10000,
):
r"""
Compute the transformation matrix from src_points to ref_points
"""
src_pcd = make_open3d_point_cloud(src_points)
ref_pcd = make_open3d_point_cloud(ref_points)
if correspondences is None:
indices = np.arange(src_points.shape[0])
correspondences = np.stack([indices, indices], axis=1)
correspondences = o3d.utility.Vector2iVector(correspondences)
result = o3d.pipelines.registration.registration_ransac_based_on_correspondence(
src_pcd,
ref_pcd,
correspondences,
distance_threshold,
estimation_method=o3d.pipelines.registration.TransformationEstimationPointToPoint(False),
ransac_n=ransac_n,
criteria=o3d.pipelines.registration.RANSACConvergenceCriteria(num_iterations, num_iterations),
)
return result.transformation