四角网格数据的邻域生成方法、装置、设备及存储介质制造方法及图纸

技术编号:32520299 阅读:13 留言:0更新日期:2022-03-02 11:22
本发明专利技术涉及计算机图形和计算机视觉技术邻域,公开了一种四角网格数据的邻域生成方法、装置、设备及存储介质,该方法通过获取待扫描工件对应的四角网格,所述四角网格包括顶点集合、四角面片集合,所述四角面片集合中的每个四角面片记录对应的顶点序号,遍历所述四角面片集合中每个四角面片的序号,对遍历到的四角面片的顶点序号进行遍历,并对遍历到的四角面片的顶点序号在所述顶点集合中的顶点序号进行遍历,遍历过程中按照预设规则生成所述四角网格的点面邻接关系集合、面面邻接关系集合、点点邻接关系集合。本发明专利技术基于序号进行遍历访问,相比于基于包含数据量更大的顶点进行访问,更高效地生成四角网格数据的邻域,算法速度得到提升。速度得到提升。速度得到提升。

【技术实现步骤摘要】
四角网格数据的邻域生成方法、装置、设备及存储介质
[0001]技术邻域
[0002]本专利技术涉及计算机图形和计算机视觉技术邻域,尤其涉及一种四角网格数据的邻域生成方法、装置、设备及存储介质。

技术介绍

[0003]目前的2D或3D视觉识别方法尚不能解决海量无序姿态工件的通用准确识别问题,难以应对电商物流的无序分拣需求:物体姿态倾角较大、杂乱堆叠时,传统的2D/3D/深度学习方法,都只能基于工件上表面的局部信息进行识别,难以判断待测工件的完整形状,对准确码放难以适应。只有识别工件的完整形状,包括侧面和底面等,才能实现准确码放,避免抓取贵重工件时损伤工件。
[0004]对于上述问题,近期提出的关于有序点云5D纹理网络数据结构生成方法,虽然能够将有序点云网格化,从而有效表征三维物体的全方位信息,但其数据结构基于半边四角网格,顶点、半边和四角面片为必不可少的元素,结构复杂,算法运算速度慢,耗时较长。
[0005]邻域搜索是法线计算、模型渲染、特征提取、数据精简、数据平滑及曲面重建等数据处理的基础,基于5D纹理网格的数据结构建立点云数据的空间拓扑结构后,如何通过Mesh建立3D点与邻域点之间的访问方式,获取5D纹理网格结构中顶点的临近点的信息,以实现高效的邻域搜索对三维数据处理具有决定性的影响。
[0006]近期提出的基于有序点云5D纹理网络数据结构的邻域搜索方法为:对于5D纹理网格数据结构中的任一顶点Si,以所述顶点Si作为初始顶点开始本次的邻域访问时,每次邻域访问包括步骤:判断所述初始顶点是否为边界点,若所述初始顶点为边界点,则返回空;若所述初始顶点不为边界点,则以所述初始顶点为中心,寻找访问半径为r的网格数据结构内的全部邻域顶点。构建的有序点云5D纹理网络数据结构较复杂,基于构建的有序点云5D纹理网络数据的邻域搜索方法搜索算法需要基于顶点进行搜索,顶点包含的数据量较大,邻域搜索耗时较长。因此,如何进一步地实现四角网格数据的邻域生成的流程简化,算法提速是亟待解决的技术问题。
[0007]上述内容仅用于辅助理解本专利技术的技术方案,并不代表承认上述内容是现有技术。

技术实现思路

[0008]本专利技术的主要目的在于提供一种四角网格数据的邻域生成方法、装置、设备及存储介质,旨在解决现有技术中四角网格数据的邻域生成的流程较复杂,算法运算速度较慢的技术问题。
[0009]为实现上述目的,本专利技术提供一种四角网格数据的邻域生成方法,所述四角网格数据的邻域生成方法包括以下步骤:
[0010]获取待扫描工件对应的四角网格,所述四角网格包括顶点集合、四角面片集合,所述四角面片集合中的每个四角面片记录对应的顶点序号;
[0011]遍历所述四角面片集合中每个四角面片的序号,对遍历到的四角面片的顶点序号进行遍历,并对遍历到的四角面片的顶点序号在所述顶点集合中的顶点序号进行遍历,遍历过程中按照预设规则生成所述四角网格的点面邻接关系集合、面面邻接关系集合、点点邻接关系集合。
[0012]优选地,所述遍历过程中按照预设规则生成所述四角网格的点面邻接关系集合,包括:
[0013]创建集合VVFp和集合VVFi,所述集合VVFp和所述集合VVFi的元素个数与所述四角网格的顶点集合Vs的个数相同,并对所述集合VVFp和所述集合VVFi中的每个元素进行初始赋值;
[0014]创建集合FVFp和集合FVFi,所述集合FVFp和所述集合FVFi的元素个数与所述四角网格的四角面片集合Fs的个数相同,所述集合FVFp和所述集合FVFi的每个元素都是长度为4的数组,所述四角面片集合Fs的元素个数为Nf;
[0015]遍历所述四角面片集合Fs中四角面片的序号i1,并遍历所述四角面片集合Fs中四角面片对应的顶点序号j;
[0016]设置所述四角面片集合Fs的第i1个四角面片的第j个顶点的序号为vi1,则根据序号vi1对所述集合VVFp和集合VVFi中的元素进行赋值;
[0017]创建集合FAVs,所述集合FAVs的元素个数与所述四角网格四角面片集合Fs的元素个数Nf相同,所述集合FAVs的每个元素都是长度为4的数组,并对所述集合FAVs的每个元素对应的数组中每个数进行初始赋值;
[0018]所述顶点集合Vs的元素个数为Nv,遍历所述顶点集合Vs的序号i2,遍历过程中步骤包括:
[0019](2.5.1)将序号ci2赋值为0;
[0020](2.5.2)将序号fi2赋值为所述集合VVFp的第i2个元素;
[0021](2.5.3)将序号vi2赋值为所述集合VVFi的第i2个元素;
[0022](2.5.4)如果赋值后的序号fi2不小于0且ci2小于4,则继续步骤(2.5.5),否则跳转回步骤(2.5.1)且序号i2自加1;
[0023](2.5.5)将所述集合FAVs的第i2个元素的第ci2个分量赋值为fi2;
[0024](2.5.6)将序号fi2p赋值为fi2;
[0025](2.5.7)将fi2赋值为FVFp的第fi2p个元素的第vi2个分量;
[0026](2.5.8)将vi2赋值为FVFi2的第fi2p个元素的第vi2个分量;
[0027](2.5.9)序号ci2自加1,跳转至步骤(2.5.4);
[0028]遍历结束获得所述四角网格的点面邻接关系集合。
[0029]优选地,所述设置所述四角面片集合Fs的第i1个四角面片的第j个顶点的序号为vi1,则根据序号vi1对所述集合VVFp和集合VVFi中的元素进行赋值,包括:
[0030]记所述四角面片集合Fs的第i1个四角面片的第j的顶点的序号为vi1,则将集合FVFp的第i1个元素的第j个分量赋值为集合VVFp的第vi1个元素;
[0031]将集合FVFi的第i1个元素的第j个分量赋值为集合VVFi的第vi1个元素;
[0032]将集合VVFp的第vi1个元素赋值为i1;
[0033]将集合VVFi的第vi1个元素赋值为j。
[0034]优选地,所述遍历过程中按照预设规则生成所述四角网格的面面邻接关系集合,包括:
[0035]创建集合FAFs,集合FAFs的元素个数与所述四角网格的四角面片集合Fs的个数相同,集合FAFs的每个元素都是长度为4的数组,且对集合FAFs的每个元素对应的数组中每个数进行初始赋值;
[0036]记四角面片集合Fs的元素个数为Nf,遍历所述四角面片集合Fs中四角面片的序号i1,并遍历所述四角面片集合Fs中四角面片对应的顶点序号j,将序号ci1赋值为0,遍历过程中步骤包括:
[0037](3.2.1)将序号si1赋值为四角面片集合Fs的第i1个四角面片的第j个顶点的序号;
[0038](3.2.2)将序号fi1赋值为集合VVFp的第si1个元素;
[0039](3.2.3)将序号vi1赋值为集合VVFi的第si1个元素;
[0040](3.2.4)若本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种四角网格数据的邻域生成方法,其特征在于,所述四角网格数据的邻域生成方法包括以下步骤:获取待扫描工件对应的四角网格,所述四角网格包括顶点集合、四角面片集合,所述四角面片集合中的每个四角面片记录对应的顶点序号;遍历所述四角面片集合中每个四角面片的序号,对遍历到的四角面片的顶点序号进行遍历,并对遍历到的四角面片的顶点序号在所述顶点集合中的顶点序号进行遍历,遍历过程中按照预设规则生成所述四角网格的点面邻接关系集合、面面邻接关系集合、点点邻接关系集合。2.如权利要求1所述的四角网格数据的邻域生成方法,其特征在于,所述遍历过程中按照预设规则生成所述四角网格的点面邻接关系集合,包括:创建集合VVFp和集合VVFi,所述集合VVFp和所述集合VVFi的元素个数与所述四角网格的顶点集合Vs的个数相同,并对所述集合VVFp和所述集合VVFi中的每个元素进行初始赋值;创建集合FVFp和集合FVFi,所述集合FVFp和所述集合FVFi的元素个数与所述四角网格的四角面片集合Fs的个数相同,所述集合FVFp和所述集合FVFi的每个元素都是长度为4的数组,所述四角面片集合Fs的元素个数为Nf;遍历所述四角面片集合Fs中四角面片的序号i1,并遍历所述四角面片集合Fs中四角面片对应的顶点序号j;设置所述四角面片集合Fs的第i1个四角面片的第j个顶点的序号为vi1,则根据序号vi1对所述集合VVFp和集合VVFi中的元素进行赋值;创建集合FAVs,所述集合FAVs的元素个数与所述四角网格四角面片集合Fs的元素个数Nf相同,所述集合FAVs的每个元素都是长度为4的数组,并对所述集合FAVs的每个元素对应的数组中每个数进行初始赋值;所述顶点集合Vs的元素个数为Nv,遍历所述顶点集合Vs的序号i2,遍历过程中步骤包括:(2.5.1)将序号ci2赋值为0;(2.5.2)将序号fi2赋值为所述集合VVFp的第i2个元素;(2.5.3)将序号vi2赋值为所述集合VVFi的第i2个元素;(2.5.4)如果赋值后的序号fi2不小于0且ci2小于4,则继续步骤(2.5.5),否则跳转回步骤(2.5.1)且序号i2自加1;(2.5.5)将所述集合FAVs的第i2个元素的第ci2个分量赋值为fi2;(2.5.6)将序号fi2p赋值为fi2;(2.5.7)将fi2赋值为FVFp的第fi2p个元素的第vi2个分量;(2.5.8)将vi2赋值为FVFi2的第fi2p个元素的第vi2个分量;(2.5.9)序号ci2自加1,跳转至步骤(2.5.4);遍历结束获得所述四角网格的点面邻接关系集合。3.如权利要求2所述的四角网格数据的邻域生成方法,其特征在于,所述设置所述四角面片集合Fs的第i1个四角面片的第j个顶点的序号为vi1,则根据序号vi1对所述集合VVFp和集合VVFi中的元素进行赋值,包括:
记所述四角面片集合Fs的第i1个四角面片的第j的顶点的序号为vi1,则将集合FVFp的第i1个元素的第j个分量赋值为集合VVFp的第vi1个元素;将集合FVFi的第i1个元素的第j个分量赋值为集合VVFi的第vi1个元素;将集合VVFp的第vi1个元素赋值为i1;将集合VVFi的第vi1个元素赋值为j。4.如权利要求3所述的四角网格数据的邻域生成方法,其特征在于,所述遍历过程中按照预设规则生成所述四角网格的面面邻接关系集合,包括:创建集合FAFs,集合FAFs的元素个数与所述四角网格的四角面片集合Fs的个数相同,集合FAFs的每个元素都是长度为4的数组,且对集合FAFs的每个元素对应的数组中每个数进行初始赋值;记四角面片集合Fs的元素个数为Nf,遍历所述四角面片集合Fs中四角面片的序号i1,并遍历所述四角面片集合Fs中四角面片对应的顶点序号j,将序号ci1赋值为0,遍历过程中步骤包括:(3.2.1)将序号si1赋值为四角面片集合Fs的第i1个四角面片的第j个顶点的序号;(3.2.2)将序号fi1赋值为集合VVFp的第si1个元素;(3.2.3)将序号vi1赋值为集合VVFi的第si1个元素;(3.2.4)若序号fi1不小于0,则执行步骤(3.2.5),否则跳转回步骤(3.2.1)且序号i1自加1;(3.2.5)将序号v1赋值为j+1取4的余数,序号v2赋值为j+3取4的余数;(3.2.6)如果序号si1等于四角面片集合Fs的第fi1个四角面片的第v1个顶点的序号,或者,序号si1等于四角面片集合Fs的第fi1个四角面片的第v2个顶点的序号,则,将FAFs的第i1个元素的第ci1个分量赋值为fi1,并且ci1自加1;(3.2.7)将序号fi1p赋值为fi1;(3.2.8)将fi1赋值为FVFp的第fi1p个元素的第vi1个分量;(3.2.9)将vi1赋值为FVFi的第fi1p个元素的第vi1个分量;(3.2.10)跳转至步骤(3.2.4);遍历结束,更新后的FAFs即为面面邻接关系集合。5.如权利要求4所述的四角网格数据的邻域生成方法,其特征在于,所述遍历过程中按照预设规则生成所述四角网格的点点邻接关系集合,包括:创建集合VAVs,设置VAVs的元素个数与所述四角网格的顶点集合Vs的个数相同,VAVs的每个元素都是长度为4的数组,且对VAVs的每个元素对应的数组中每个数进行初始赋值;所述顶点集合Vs的元素个数为Nv,遍历所述顶点集合Vs中的顶点序号i2,遍历过程中步骤包括:(4.2.1)将序号fi2赋值为VVFp的第i2个元...

【专利技术属性】
技术研发人员:田希文高磊
申请(专利权)人:熵智科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1