一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种三维网格模型求异方法、装置、设备和存储介质与流程

2022-07-30 16:55:23 来源:中国专利 TAG:


1.本发明涉及计算机图形处理技术,尤其涉及了一种三维网格模型求异方法、装置、设备和存储介质。


背景技术:

2.三维模型可以由点云数据以及连接这些三维点形成的三角面片来表示表面信息,通过传感器对物体进行扫描可以得到物体的三维模型,传感器种类多样,如视觉传感器,计算机断层扫描等,通过不同设备所获取的相同物体的三维模型其可能是非闭合模型(如3d扫描牙颌模型),或具有不同的点云密度以及面片数量。
3.如现有技术,计算机和数学应用技术70(2015)1235-1254中的文章“一般3d网格的精确、稳健、高效的正则化布尔值”其公开了在三维模型处理中,为了获取两个模型间的差异部分,采用布尔运算实现,布尔运算要求网格闭合并且可定向(有法向),对于上述一中提到的非闭合模型并不适用,闭合模型在执行布尔运算过程中,对边界网格往往需要进行三角剖分来确定相交边界,会改变现有网格结构,导致精度退化。


技术实现要素:

4.本发明针对现有技术中非闭合模型并不适用,在执行布尔运算过程中,对边界网格往往需要进行三角剖分来确定相交边界,会改变现有网格结构,导致精度退化的问题,提供了一种三维网格模型求异方法、装置、设备和存储介质。
5.为了解决上述技术问题,本发明通过下述技术方案得以解决:一种三维网格模型求异方法,模型包括基准模型a和提取模型b,其方法包括:模型的配准,对基准模型a和提取模型b进行配准,使得基准模型a和提取模型b对齐,基准模型a和提取模型b相同区域重叠;点云密度及包围盒的计算,对于配准后的基准模型a和提取模型b分别进行点云密度及包围盒的计算,获得基准模型a的点云密度avga及包围盒abox和提取模型b的点云密度avgb及包围盒bbox;基准模型a的体素获取a
grid
,对基准模型进行体素划分获得a
grid
;确定待提取区域roi,依据基准模型a的包围盒和提取模型b的包围盒,确定待提取区域roi;求异结果diff的获取,将待提取区域roi的点在基准模型a的体素a
grid
中进行查找,提取差异点,并对差异点进行合并从而获得求异结果diff。
6.作为优选,模型的配准包括精细配准和粗配准;精配准通过icp方法进行精配准。
7.作为优选,包围盒的计算方法包括:获取基准模型a中的所有点组成点集pa,其中每一个点均包含x,y,z三个坐标分量;在pa中随机选取点p
a1
和点p
a2
,计算模型a的初始外部包围盒minp
abox
、maxp
abox

minp
abox = min(p
a1
,p
a2
)maxp
abox = max(p
a1
,p
a2
)其中,max表示两点中数值最大的xyz坐标值为返回值; min表示两点中数值最小的xyz坐标值为返回值;遍历点集pa中每一点pa, 更新minp
abox
和maxp
abox
坐标;minp
abox = min(minp
abox
,pa);maxp
abox = max(maxp
abox
,pa);从而获取基准模型a包围盒abox;获取提取模型b中的所有点组成点集pb,其中每一个点均包含x,y,z三个坐标分量;在pb中随机选取点p
b1
和点p
b2
,计算模型a的初始外部包围盒minp
bbox
、maxp
bbox
;minp
bbox = min(p
b1
,p
b2
)maxp
bbox = max(p
b1
,p
b2
)其中,max表示两点中数值最大的xyz坐标值为返回值; min表示两点中数值最小的xyz坐标值为返回值;遍历点集pb中每一点pb, 更新minp
bbox
和maxp
bbox
坐标;minp
bbox = min(minp
bbox
,pb);maxp
bbox = max(maxp
bbox
,pb);从而获取基准模型b包围盒bbox。
8.作为优选,基准模型a的点云密度avga和提取模型b的点云密度avgb的计算方法为,avga= ∑a_edge_len/a_edge_num;avgb=∑b_edge_len/b_edge_num;其中,a_edge_len为基准模型a中一边的边长,a_edge_num为基准模型a中边的总数量; b_edge_len为提取模型b中一边的边长,b_edge_num为提取模型b中边的总数量。
9.作为优选,基准模型a的体素获取a
grid
包括;体素分辨率resolution的确定,基准模型a的点云密度avga和提取模型b的点云密度avgb中较大的值乘以第一阈值th;resolution=th*max(avga,avgb);包围盒a
box
在x、y、z三个方向上长度与体素分辨率resolution做除法并取整,从而得到体素栅格数量,体素分辨率分别为(n
x
,ny,nz);n
x
为x方向上的体素分辨率,ny为y方向上的体素分辨率,nz为z方向上的体素分辨率;体素a
gridd
的获取,a
gridd
=n
x
*ny*nz。
10.作为优选,确定待提取区域roi,确定差异方向,基准模型a包围盒和提取模型b包围盒的差异方向,依据差异方向提取差异模型diff;对差异模型依据差异方向进行扩展,从而标记处待提取区域roi。
11.作为优选,求异结果diff的获取,计算栅格xyz的坐标;对roi区域中一点p1和栅格a中任意一点p2,dist(p1, p2) 》dist_th&& p1n * p2n 《normal_th,其中,dist表示两输入点间欧氏距离,p1n和p2n为p1和p2点的法三维向量;dist_th和normal_th为阈值。
12.为了解决上述技术问题,本技术还提供了一种三维网格模型求异装置,其包括:模型的配准模块,模型的配准模块用于对基准模型a和提取模型b进行配准,使得基准模型a和提取模型b对齐,基准模型a和提取模型b相同区域重叠;点云密度及包围盒的计算模块,点云密度及包围盒的计算模块用于对于配准后的基准模型a和提取模型b分别进行点云密度及包围盒的计算,获得基准模型a的点云密度avga及包围盒abox和提取模型b的点云密度avgb及包围盒bbox;基准模型a的体素获取a
grid
模块,基准模型a的体素获取a
grid
模块用于对基准模型进行体素划分获得a
grid
;确定待提取区域roi模块,确定待提取区域roi模块依据基准模型a的包围盒和提取模型b的包围盒,确定待提取区域roi;求异结果diff的获取模块,求异结果diff的获取模块将待提取区域roi的点在基准模型a的体素a
grid
中进行查找,提取差异点,并对差异点进行合并从而获得求异结果diff。
13.为了解决上述技术问题,本技术还提供了一种三维网格模型求异设备,其通过三维网格模型求异方法实现的三维网格模型求异设备。
14.为了解决上述技术问题,本技术还提供了一种存储介质,其通过三维网格模型求异方法实现的存储介质。
15.本发明由于采用了以上技术方案,具有显著的技术效果:本发明能够对在非闭合模型或不同点云采样密度,或具有不同面片数量的三维模型求异并且无精度损失。
附图说明
16.图1是本发明的系统示意图;图2是本发明的基准模型a的体素获取a
grid
流程图;图3是本发明的包围盒的计算流程图;图4是本发明的基准模型a图像一;图5是本发明的提取模型b图像一;图6是本发明的diff模型图;图7是本发明的diff模型图;图8是本发明的基准模型a图像二;图9是本发明的提取模型b图像二。
具体实施方式
17.下面结合附图与实施例对本发明作进一步详细描述。
18.实施例1一种三维网格模型求异方法,模型包括基准模型a和提取模型b,其方法包括:模型的配准,对基准模型a和提取模型b进行配准,使得基准模型a和提取模型b对齐,基准模型a和提取模型b相同区域重叠;点云密度及包围盒的计算,对于配准后的基准模型a和提取模型b分别进行点云密度及包围盒的计算,获得基准模型a的点云密度avga及包围盒abox和提取模型b的点云密度
avgb及包围盒bbox;基准模型a的体素获取a
grid
,对基准模型进行体素划分获得a
grid
;确定待提取区域roi,依据基准模型a的包围盒和提取模型b的包围盒,确定待提取区域roi;求异结果diff的获取,将待提取区域roi的点在基准模型a的体素a
grid
中进行查找,提取差异点,并对差异点进行合并从而获得求异结果diff。
19.模型的配准包括精细配准和粗配准;精配准通过icp方法进行精配准。
20.包围盒的计算方法包括:获取基准模型a中的所有点组成点集pa,其中每一个点均包含x,y,z三个坐标分量;在pa中随机选取点p
a1
和点p
a2
,计算模型a的初始外部包围盒minp
abox
、maxp
abox
;minp
abox = min(p
a1
,p
a2
)maxp
abox = max(p
a1
,p
a2
)其中,max表示两点中数值最大的xyz坐标值为返回值; min表示两点中数值最小的xyz坐标值为返回值;遍历点集pa中每一点pa, 更新minp
abox
和maxp
abox
坐标;minp
abox = min(minp
abox
,pa);maxp
abox = max(maxp
abox
,pa);从而获取基准模型a包围盒abox;获取提取模型b中的所有点组成点集pb,其中每一个点均包含x,y,z三个坐标分量;在pb中随机选取点p
b1
和点p
b2
,计算模型a的初始外部包围盒minp
bbox
、maxp
bbox
;minp
bbox = min(p
b1
,p
b2
)maxp
bbox = max(p
b1
,p
b2
)其中,max表示两点中数值最大的xyz坐标值为返回值; min表示两点中数值最小的xyz坐标值为返回值;遍历点集pb中每一点pb, 更新minp
bbox
和maxp
bbox
坐标;minp
bbox = min(minp
bbox
,pb);maxp
bbox = max(maxp
bbox
,pb);从而获取基准模型b包围盒bbox。
21.基准模型a的点云密度avga和提取模型b的点云密度avgb的计算方法为,avga= ∑a_edge_len/a_edge_num;avgb=∑b_edge_len/b_edge_num;其中,a_edge_len为基准模型a中一边的边长,a_edge_num为基准模型a中边的总数量; b_edge_len为提取模型b中一边的边长,b_edge_num为提取模型b中边的总数量。
22.基准模型a的体素获取a
grid
包括;体素分辨率resolution的确定,基准模型a的点云密度avga和提取模型b的点云密度avgb中较大的值乘以第一阈值th;resolution=th*max(avga,avgb);
包围盒a
box
在x、y、z三个方向上长度与体素分辨率resolution做除法并取整,从而得到体素栅格数量,体素分辨率分别为(n
x
,ny,nz);n
x
为x方向上的体素分辨率,ny为y方向上的体素分辨率,nz为z方向上的体素分辨率;体素a
gridd
的获取,a
gridd
=n
x
*ny*nz。
23.确定待提取区域roi,确定差异方向,基准模型a包围盒和提取模型b包围盒的差异方向,依据差异方向提取差异模型diff;对差异模型依据差异方向进行扩展,从而标记处待提取区域roi。
24.求异结果diff的获取,计算栅格xyz的坐标;对roi区域中一点p1和栅格a中任意一点p2,dist(p1, p2) 》dist_th&& p1n * p2n 《normal_th,其中,dist表示两输入点间欧氏距离,p1n和p2n为p1和p2点的法三维向量;dist_th和normal_th为阈值。
25.实施例2在实施例1基础上,本实施例提供了一种三维网格模型求异装置,其包括:模型的配准模块,模型的配准模块用于对基准模型a和提取模型b进行配准,使得基准模型a和提取模型b对齐,基准模型a和提取模型b相同区域重叠;点云密度及包围盒的计算模块,点云密度及包围盒的计算模块用于对于配准后的基准模型a和提取模型b分别进行点云密度及包围盒的计算,获得基准模型a的点云密度avga及包围盒abox和提取模型b的点云密度avgb及包围盒bbox;基准模型a的体素获取a
grid
模块,基准模型a的体素获取a
grid
模块用于对基准模型进行体素划分获得a
grid
;确定待提取区域roi模块,确定待提取区域roi模块依据基准模型a的包围盒和提取模型b的包围盒,确定待提取区域roi;求异结果diff的获取模块,求异结果diff的获取模块将待提取区域roi的点在基准模型a的体素a
grid
中进行查找,提取差异点,并对差异点进行合并从而获得求异结果diff。
26.实施例3在实施例1基础上,本实施例提供了一种三维网格模型求异设备,其通过三维网格模型求异方法实现的三维网格模型求异设备。
27.实施例4在实施例1基础上,本实施例提供了一种存储介质,其通过三维网格模型求异方法实现的存储介质。
28.实施例5在上述实施例基础上,本实施例如图4基准模型a 点数为50922,图5提取模型b点数为210099;通过对其进行求异从而得到diff模型图,如图6和图7。
29.实施例6在上述实施例基础上,本实施例图8基准模型a 点数为50922,图9提取模型b点数为210099;通过对其进行求异从而得到diff模型图。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献