Halcon算子学习:find_surface_model

Halcon的find_surface_model算子用于在3D场景中找到表面模型的最佳匹配,涉及近似匹配、稀疏位姿细化和密集姿态细化等步骤。算子输入包括表面模型句柄、3D对象模型句柄等参数,输出为最佳匹配的三维姿态、得分和匹配结果句柄。匹配过程中考虑了场景点采样、关键点选择和姿态细化等多个因素,以提高匹配的准确性和稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

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中返回 找到的对象实例的3D姿势 。它描述了场景坐标系中表面模型的位姿。 位姿"Pose"是指相对于传递给create_surface_model的3D对象模型的原始坐标系

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值