Halcon算子学习:create_surface_model

在这里插入图片描述

create_surface_model

( : : ObjectModel3D, RelSamplingDistance, GenParamName, GenParamValue : SurfaceModelID)
创建执行基于表面的匹配所需的数据结构

输入:

  • object_model_3d
    3D对象模型的句柄。
  • RelSamplingDistance (input_control) real→(real)
    相对于物体直径的采样距离
    默认值:0.03
    建议值:0.1,0.05,0.03,0.02,0.01
    限制:0 < RelSamplingDistance < 1
  • GenParamName (input_control)
    通用参数的名称。
    默认值:[]
    建议值:model_invert_normalspose_ref_rel_sampling_distancefeat_step_size_relfeat_angle_resolutiontrain_3d_edges
  • GenParamValue
    通用参数的值。
    默认值:[]
    建议值:0,1,‘true’, ‘false’,0.005,0.01,0.02,0.05,0.1

输出:

  • SurfaceModelID (output_control)
    表面模型的句柄

算子说明

1、操作符create_surface_model为3D对象模型ObjectModel3D创建基于表面的匹配模型。例如,以前可以使用read_object_model_3d从文件读取3D对象模型,或者使用xyz_to_object_model_3d创建3D对象模型。创建的表面模型在SurfaceModelID中返回。

2、曲面模型的创建要求三维对象模型包含点和法线。下列组合是可能的:

  • 点和点法线;
  • 点和三角形或多边形网格,例如,从CAD文件;
  • 点和2d映射,例如用xyz_to_object_model_3d三倍转换的XYZ图像。

3、注意,模型法线的方向和方向(向内或向外)对于匹配非常重要。还请注意,对于边缘支持的基于表面的匹配,模型必须包含一个三角形或多边形网格(如图)
在这里插入图片描述
4、表面模型是通过对一定距离的三维对象模型采样来创建的。采样距离必须在参数RelSamplingDistance中指定,并相对于三维对象模型的轴向-平行 边界框(axis-parallel bounding box)的直径进行参数化。例如,如果RelSamplingDistance设置为0.05,ObjectModel3D的直径为“10 cm”,则从对象表面采样的点之间的距离大约为“5 mm”。采样点用于操作符find_surface_model中的近似匹配(参见下面)。可以使用操作符get_surface_model_param使用值’sampled_model’获得采样点。请注意,应该避免对象模型中的离群点,因为它们会破坏直径。
减少RelSamplingDistance会产生更多的点,从而实现更稳定但更慢的匹配。增加RelSamplingDistance会导致更少的点,从而导致更少的稳定但更快的匹配。

5、采样点用于通过操作符find_surface_model在场景中查找对象模型。为此,要检查点集中所有可能的点对,并计算每对点的距离和相对表面方向。这两个值被离散化并存储以进行匹配。通用参数**‘feat_step_size_rel’和‘feat_angle_resolution’可分别用于设置距离和方向角的离散化**(如下所示)。

再次采样3D对象模型进行姿态细化。第二次采样的采样距离较小,导致更多的点。通用参数**'pose_ref_rel_sampling_distance’设置相对于对象直径的采样距离**。降低该值可以得到更精确的位姿细化,但会导致更大的模型和更慢的模型生成和匹配。增加该值会导致更少的精确姿态细化,但会导致更小的模型和更快的模型生成和匹配(见下文)。

6、此外,基于表面的匹配可以使用3D边缘来改进对齐(排列)。这对于平面或包含较大平面边的对象特别有帮助,例如在不正确的旋转或背景平面中发现它们。为了允许find_surface_model也对齐边缘,必须通过将通用参数‘train_3d_edges’设置为‘true’来训练表面模型。在这种情况下,模型必须包含一个网格,即三角形或多边形。此外,对于边缘支持的基于表面的匹配的训练需要 OpenGL 2.1、GLSL 1.2和OpenGL扩展GL_EXT_framebuffer_object和GL_EXT_framebuffer_blit。我也可以比没有边缘支持的训练花更长的时间。
通用参数对GenParamName和GenParamValue用于为模型生成设置额外的参数。GenParamName包含要设置的参数名的元组,GenParamValue包含相应的值。以下值是可能的GenParamName:

  • “model_invert_normals”:
    反转模型表面法线的方向。模型生成需要知道正常的方向。如果模型和场景都使用相同的设置,法线将指向相同的方向。如果模型是从CAD文件加载的,法线可能指向相反的方向。如果你在场景表面的“外部”发现了模型,并且模型是由CAD文件创建的,试着将这个参数设置为“true”。另外,确保CAD文件中的法线都指向外或内,即,始终一个方向。法向与曲面模型的姿态细化无关。因此,如果对象模型仅与操作符refine_surface_model_pose一起使用,则‘model_invert_normals’的值对结果没有影响。
    可能的值:‘false’, ‘true’
    默认值:“假”

  • “pose_ref_rel_sampling_distance”:
    设置相对于对象直径的姿态细化的采样距离。减少这个值会导致更精确的姿态细化,但会导致更大的模型和更慢的模型生成和细化。增加该值会导致更少的精确姿态细化,但会导致更小的模型和更快的模型生成和匹配。
    建议值:0.05、0.02、0.01、0.005
    默认值:0.01
    断言:0 < ‘pose_ref_rel_sampling_distance’ < 1

  • “feat_step_size_rel”:
    设置点对距离相对于物体直径的离散化距离。该值默认为RelSamplingDistance的值。不建议更改此值。对于噪声很大的场景,可以通过增加值来提高对噪声点的匹配的鲁棒性。
    建议值:0.1、0.05、0.03
    默认值:RelSamplingDistance的值
    断言:0 < ‘feat_step_size_rel’ < 1

  • “feat_angle_resolution”:
    将点对方向的离散化设置为角度细分的数目。建议不要更改此值。值的增加增加了匹配的精度,但降低了对不正确法线方向的鲁棒性。值的减少降低了匹配的精度,但增加了对不正确法线方向的鲁棒性。对于法线方向无法精确计算的非常嘈杂的场景,该值可以设置为25或20。
    建议值:20、25、30
    默认值:30
    断言:‘feat_angle_resolution’ > 1

  • “train_3d_edges”:
    支持边缘支持的基于表面的匹配和细化的训练。在这种情况下,模型必须包含一个网格,即三角形或多边形。这个参数需要OpenGL。
    可能的值:‘false’, ‘true’
    默认值:“假”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/491005.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

任正非:5G独立组网全世界只有华为一家做好了 我们在等待高通进步

任正非来源&#xff1a; TechWeb华为创始人、CEO任正非7月18日在广东接受了意大利媒体的采访。近日&#xff0c;华为在心声社区公布了这次采访的圆桌纪要。在回答意大利媒体记者的提问中&#xff0c;任正非表示&#xff1a;“国际媒体对华为几乎都是负面报道&#xff0c;因为他…

Halcon算子学习:find_surface_model

find_surface_model ( : : SurfaceModelID, ObjectModel3D, RelSamplingDistance, KeyPointFraction, MinScore, ReturnResultHandle, GenParamName, GenParamValue : Pose, Score, SurfaceMatchingResultID) 在3D场景中找到一个表面模型的最佳匹配。 输入&#xff1a; Surf…

Nature指明大脑引流“废液”的确切路径

来源&#xff1a;中国生物技术网多年来&#xff0c;科学家们一直认为大脑中缺少淋巴系统&#xff0c;从而引发了液体、大分子和免疫细胞是如何被清除出去的问题。2015年&#xff0c;有两项小鼠研究证实&#xff0c;脑膜&#xff08;保护大脑并维持其形状的覆盖物&#xff09;的…

Halcon算子学习:distance_object_model_3d

distance_object_model_3d ( : : ObjectModel3DFrom, ObjectModel3DTo, Pose, MaxDistance, GenParamName, GenParamValue : ) 计算一个3D对象模型到另一个3D对象模型的点的距离。 输入&#xff1a; object_model_3d→(整数) 源3D对象模型的句柄。ObjectModel3DTo 目标3D对象…

郭仁忠院士:新城市科学认知与智慧城市建设

来源&#xff1a; 慧天地张亚勤、刘慈欣、周鸿祎、王飞跃、约翰.翰兹联合推荐这是一部力图破解21世纪前沿科技大爆发背后的规律与秘密&#xff0c;深度解读数十亿群体智能与数百亿机器智能如何经过50年形成互联网大脑模型&#xff0c;详细阐述互联网大脑为代表的超级智能如何深…

MATLAB把多行多列矩阵数据和文字写入txt文件

效果&#xff1a; 代码&#xff1a; a[1,2,3;4,5,6;7,8,9] [m,~]size(a) fidfopen(a.txt,w); fprintf(fid,第一列\t第二列\t第三列\r\n); for i1:m fprintf(fid,%d\t%d\t%d\r\n,a(i,:)); end fclose(fid);

数字图像处理:视觉系统中的坐标系介绍

参考&#xff1a; 图像坐标系、摄像机坐标系与世界坐标系四个坐标系简介和转换世界坐标、相机坐标、图像坐标、像素坐标的原理、关系&#xff0c;并用matlab仿真 1、像素坐标系(Pixel coordinate system)&#xff08;二维坐标系&#xff09; 摄像机采集的数字图像在计算机内…

图灵机与控制论之分歧,一切为了人类心智的荣耀!

来源&#xff1a;新智元作者&#xff1a;李力、郑南宁、王飞跃编辑&#xff1a;小芹【导读】图灵和维纳的思想都对人工智能的研究之路产生了重要影响&#xff0c;本文讨论了AI发展过程中的主要困难&#xff0c;特别是解释了图灵的人工智能方法和维纳的人工智能方法之间的关键区…

Halcon学习笔记:xyz_attrib_to_object_model_3d示例

Halcon学习笔记&#xff1a;xyz_attrib_to_object_model_3d——从X、Y和Z图像中创建3D对象模型同时附加属性 xyz_attrib_to_object_model_3d.hdev This example program shows the usage of the procedurexyz_attrib_to_object_model_3d.It can be used to create 3D object …

理论计算机科学中最令人困惑的谜题之一被解开

来源&#xff1a;原理“自敏感度猜想提出以来&#xff0c;它便是所有组合学和理论计算机科学中最令人沮丧和尴尬的开放性问题之一。”德克萨斯大学奥斯汀分校的理论计算机学家Scott Aaronson在一篇博客中写道。Aaronson提到的猜想是一个与计算机电路的基本构件结构有关的猜想&a…

Halcon学习笔记:select_points_object_model_3d(3D对象模型阀值分割)

Halcon学习笔记&#xff1a;select_points_object_model_3d 3D对象模型阀值分割 This example program shows how to use the operators connection_object_model_3d and select_object_model_3d in HALCON. First, a threshold is applied to the 3D object model. Then, t…

MATLAB的GUI设置为不能点击状态(将按钮变为灰色)

有的时候想让GUI的按钮变灰&#xff0c;设置为不能点击状态&#xff0c;只有点击了另一个按钮后才能恢复该按钮的功能&#xff0c;举个例子&#xff0c;如下图所示&#xff0c;此时步骤1和步骤2这两个按钮是点击不了的&#xff0c;只有先点击了“打开图像”这个按钮&#xff0c…

脑结构、脑工作原理最详细图解

来源&#xff1a; 深度学习进阶学习社这个帖子很好地提醒了我&#xff0c;为什么我愿意跟如此美丽可爱的大脑一起工作。因为真正的大脑非常不可爱&#xff0c;长得也难看。但是&#xff0c;过去一个月&#xff0c;我一直生活在充斥着红色血管的 Google 图像的地狱里&#xff0c…

Halcon算子学习:create_pose

create_pose 创建3D位姿 ( : : TransX, TransY, TransZ, RotX, RotY, RotZ, OrderOfTransform, OrderOfRotation, ViewOfTransform : Pose) 输入&#xff1a; TransX 沿x轴平移&#xff08;以[m]为单位&#xff09;。 默认值&#xff1a;0.1 建议值&#xff1a;-1.0&#xff0…

Halcon算子学习:sample_object_model_3d

sample_object_model_3d ( : : ObjectModel3D, Method, SampleDistance, GenParamName, GenParamValue : SampledObjectModel3D) 示例一个3D对象模型 输入&#xff1a; ObjectModel3D 对3D对象模型的处理进行采样。 Method 选择不同的子采样方法。 默认值:“fast” 值列表:‘…

剑桥大学发布2019年度AI发展报告,预测未来12个月AI产业6件大事

来源&#xff1a;人工智能和大数据近日&#xff0c;剑桥大学发布了2019年度AI发展报告&#xff0c;在这份137页的报告中&#xff0c;涵盖了AI研究、人才、产业等多方面内容&#xff0c;值得一提的是&#xff0c;这份报告专门开辟了一个章节来介绍中国AI技术的发展。一、研究和技…

SQL Server安全(8/11):数据加密(Data Encryption)

在保密你的服务器和数据&#xff0c;防备当前复杂的攻击&#xff0c;SQL Server有你需要的一切。但在你能有效使用这些安全功能前&#xff0c;你需要理解你面对的威胁和一些基本的安全概念。这篇文章提供了基础&#xff0c;因此你可以对SQL Server里的安全功能充分利用&#xf…

模拟人脑项目彻底宣告失败:耗资10亿欧,10年前轰动全球,如今死得悄无声息...

来源&#xff1a;凹非寺10年砸入10亿欧元&#xff0c;为了用计算机模拟人脑。这个十年前曾轰动全球的项目&#xff0c;如今彻底“死”了&#xff0c;死得悄无声息。要不是有位西方记者提起&#xff0c;人们几乎已经完全遗忘。模拟人脑&#xff1f;呵&#xff0c;实际连一只蠕虫…

变量传值

变量传值 PHP传方式有两种&#xff1a;赋值传值、引用传值 赋值传值&#xff1a; 将一个变量的值传递给另一个变量&#xff0c;array数组 示例&#xff1a; 引用传值&#xff1a; 将一个变量的内存地址传给另一个变量 写时复制&#xff1a; 对变量使用赋值传值时&#xff0c;PH…