find_surface_model
( : : SurfaceModelID, ObjectModel3D, RelSamplingDistance, KeyPointFraction, MinScore, ReturnResultHandle, GenParamName, GenParamValue : Pose, Score, SurfaceMatchingResultID)
在3D场景中找到一个表面模型的最佳匹配。
输入:
- SurfaceModelID
表面模型的句柄。 - ObjectModel3D
包含场景的3D对象模型句柄。 - RelSamplingDistance
场景采样距离相对于表面模型的直径。
默认值:0.05
建议值:0.1、0.07、0.05、0.04、0.03
限制:0 < RelSamplingDistance < 1 - KeyPointFraction
作为关键点的采样场景点部分(大小)。
默认值:0.2
建议值:0.3、0.2、0.1、0.05
限制:0 < KeyPointFraction <= 1 - MinScore
返回姿势的最低得分。
默认值:0
限制:MinScore >= 0 - ReturnResultHandle
在SurfaceMatchingResultID中启用返回结果句柄。
默认值:“假”
建议值:“true”、“false” - GenParamName
通用参数的名称
默认值:[]
的值列表:‘3 d_edge_min_amplitude_abs’,‘3 d_edge_min_amplitude_rel’,‘3 d_edges’,‘dense_pose_refinement’,‘max_overlap_dist_abs’,‘max_overlap_dist_rel’,‘num_matches’,‘pose_ref_dist_threshold_abs’,‘pose_ref_dist_threshold_rel’,‘pose_ref_num_steps’,‘pose_ref_scoring_dist_abs’,‘pose_ref_scoring_dist_rel’,‘pose_ref_sub_sampling’,‘pose_ref_use_scene_normals’,‘scene_normal_computation’,‘score_type’,‘sparse_pose_refinement’,‘观点’ - GenParamValue
通用参数的值
默认值:[]
建议值:0、1、‘真’、‘假’、0.005、0.01、0.03、0.05、0.1、‘num_scene_points’、‘model_point_fraction’、‘num_model_points’、‘fast’、‘mls’
输出:
- Pose
场景中表面模型的三维姿态(3D场景坐标系中SFM的位姿)。 - Score
surface模型找到的实例的得分。 - SurfaceMatchingResultID
匹配结果的句柄,如果在ReturnResultHandle中启用。
算子说明
1、操作符find_surface_model在3D场景ObjectModel3D中找到表面模型SurfaceModelID的最佳匹配。surface模型SurfaceModelID必须在之前使用create_surface_model或read_surface_model创建。
曲面模型的匹配要求三维对象模型包含点和法线。下列组合是可能的:
- 点和点法线;
- 点和2d映射,例如用xyz_to_object_model_3d三倍转换的XYZ图像。
2、如果对模型进行边缘支持的基于表面的匹配训练,则只有第二种组合是可能的,即,场景必须包含2D映射。注意,经过的场景中的三角形或多边形将被忽略。相反,只使用顶点进行匹配。因此,通常不建议在网格化的场景(如CAD数据)上使用此操作符。相反,必须使用sample_object_model_3d预先采样这样的场景,以创建点和法线。当使用有噪声的点云时,例如在飞行时间摄像机中,一般参数‘scene_normal_computation’应该设置为‘mls’,以获得更稳定的结果(见下文)。
在Pose中返回 找