Open3D的迭代次数

时间:2019-11-26 20:01:51

标签: kinect registration open3d

我正在使用Kinect拍摄的点云。我的目标是对位置或农作物进行3D映射的总配准。我正在使用多路注册代码。

我想知道是否有一种方法可以更改此代码的迭代次数?我已经看到,默认情况下它仅进行30次迭代。

1 个答案:

答案 0 :(得分:0)

您指的是哪种迭代,是由ICP进行注册的迭代,还是在全局优化期间进行的迭代?

您可以通过调整global optimization convergence criteria来更改全局优化的迭代次数。 不用输入

o3d.registration.global_optimization(
    pose_graph, o3d.registration.GlobalOptimizationLevenbergMarquardt(),
    o3d.registration.GlobalOptimizationConvergenceCriteria(), option)

o3d.registration.global_optimization(
    pose_graph, o3d.registration.GlobalOptimizationLevenbergMarquardt(),
    o3d.registration.GlobalOptimizationConvergenceCriteria(max_iteration_lm=number_of_iterations), option)

对于 ICP ,它可以通过调整the ICP convergence criteria来以类似的方式工作:

        result_icp = o3d.registration.registration_icp(source, target, 
             max_correspondence_distance_coarse, np.identity(4),
             o3d.registration.TransformationEstimationPointToPlane(),                                  
             o3d.registration.ICPConvergenceCriteria(max_iteration=number_of_iterations))

希望这会有所帮助!