本发明涉及物料体积测量,具体涉及基于多尺度网格重建与约束保护的高精度料仓体积计算方法。
背景技术:
1、目前,现有的粮仓体积计算方法包括如下几种技术:
2、1.传统凸包体积计算技术
3、该技术通过直接对原始点云计算凸包,使用凸包体积作为近似体积。然而存在显著缺陷:首先,凸包体积远大于实际体积,在料面存在凹陷时误差可达30-50%,造成系统性高估;其次,无法准确处理料面凹陷区域,导致体积计算结果偏离真实值;再次,对边界缺失极度敏感,当点云边界不完整时误差急剧增大,无法满足工业精度要求;最后,缺乏边界保护机制,在复杂工业环境下可靠性差。
4、2.网格重建体积计算技术
5、该技术采用poisson重建、delaunay三角化等方法重建表面网格后计算体积。然而存在明显不足:首先,边界处容易产生孔洞和断裂,导致网格不封闭,直接影响体积计算准确性;其次,对噪声和离群点敏感,需要大量人工修补和参数调优,增加使用复杂度;再次,计算复杂度高,处理大规模点云时实时性差,难以满足工业现场快速测量的需求;最后,缺乏边界约束保护机制,在网格优化过程中容易破坏边界完整性。
6、3.切片积分体积计算技术
7、该技术将点云切片,计算每层面积后积分得到体积。然而存在关键缺陷:首先,边界不完整时切片面积计算错误,导致系统性误差;其次,无法处理复杂拓扑结构,在料面存在悬垂或复杂形状时精度急剧下降;再次,精度受切片厚度影响显著,精度与计算效率难以兼顾,薄切片精度高但计算量大;最后,缺乏自适应机制,无法根据不同点云密度和完整性调整计算策略。
8、4.深度学习表面重建技术
9、该技术通过神经网络预测完整表面后计算体积。然而存在根本局限:首先,需要大量高质量标注数据进行训练,数据获取成本高昂;其次,模型对特定场景过度拟合,在新场景下泛化能力差,需要重新训练;再次,计算资源需求大,推理过程需要gpu支持,不适合边缘设备部署;最后,模型"黑盒"特性导致结果缺乏可解释性,难以进行误差分析和优化调整。
10、综上,现有技术普遍存在以下根本性问题:边界保护机制缺失,在网格优化和变形过程中导致边界变形或缺失;缺乏多尺度处理机制,无法在精度和效率之间找到合适平衡。
技术实现思路
1、本发明的目的在于,为解决背景技术中提出的缺乏多尺度处理机制和缺乏边界保护机制的问题,提出一种基于多尺度网格重建与约束保护的高精度料仓体积计算方法。
2、本发明的技术方案如下:
3、一种基于多尺度网格重建与约束保护的高精度料仓体积计算方法,包括如下步骤:
4、s1.对物料料面点云数据进行预处理;
5、s2.对预处理后的物料料面点云进行点云边缘补全,以补全后的边缘点作为精确料面边界;
6、s3.通过边缘补全后的物料料面点云对模板点云进行分割,将分割后的部分模板点云和边缘补全后的物料料面点云进行拼接得到拼接点云;
7、s4.对拼接点云进行凸包计算与网格重构,并获得拼接点云的边界边和边界点;
8、s5.基于边缘点到网格边的距离对边界边和边界点进行更新;
9、s6.对网格进行渐进式优化重构;
10、s7.对重构后网格的边界边和边界点影响范围内的局部凸包逼近修复得到优化后的封闭网格;
11、s8.基于优化后的封闭网格进行体积计算。
12、本发明的整体方案从提取料面边界开始,然后获取拼接点云的边界,再获取拼接点云的精确边界,最后基于边界优化网格,这些本质上就是保护模型在边界出的精准呈现,即边界保护。
13、具体地,所述s2包括:
14、s2.1.将预处理后的物料料面点云投影到x-y平面;
15、s2.2.在x-y平面中,以点云几何中心为圆心,将360度圆周均匀划分为k个扇区;
16、s2.3.在每个扇区内,遍历所有点,计算其极坐标角度并寻找距离圆心最远的边缘点fi,其点到圆心的距离为ri其中,i表示第i个扇区;
17、s2.4.对于无边缘点扇区,采用最近邻扇区替代补全策略,补全其边缘点,将补全的边缘点加入物料料面点云并更新该扇区;
18、s2.5.根据所有扇区的边缘点获得精确料面边界。
19、具体地,所述s2.4中,对于任一无边缘点扇区,所述最近邻扇区替代补全策略补全其边缘点具体为:
20、遍历所有有边缘点的扇区,计算各扇区与当前无边缘点扇区的角度差,按角度差从小到大排序得到近邻序列,近邻序列中与当前无边缘点扇区角度差最小的扇区为p,其边缘点为fp,边缘点到圆心的距离为rp,令ro等于当前无边缘点扇区的半径ro,计算边缘点,具体的计算过程如下:
21、当前无边缘点扇区边缘点的x坐标和y坐标分别为,
22、x=xc+rocosθ
23、y=yc+rosinθ
24、其中,xc, yc为圆心的二维坐标,θ为当前无边缘点扇区的角度;
25、当前无边缘点扇区边缘点的z坐标采用最近邻反距离加权插值计算,
26、z = (dq/(dp+dq))·zp + (dp/(dp+dq))·zq;
27、其中,zp、zq分别为近邻序列中角度差最小的扇区p和角度差次小的扇区q的边缘点fp、fq的z坐标,dp、dq分别为边缘点fp、fq在x–y平面到当前无边缘点扇区边缘点的距离。
28、具体地,所述s3包括:
29、s3.1.构建物料料面点云的kd树索引,对模板点云中每个点执行最近邻搜索,查找与每个模板点最近的料面点并计算二者的高度差值;
30、s3.2.遍历所有模板点,如果某模板点的高度低于其最近料面点,则保留该模板点;如果某模板点的高度高于其最近料面点,但是高度差值不超过ε的高度容差阈值,则同样保留该模板点,并且把该模板点的高度调整至其最近料面点的高度;除去上述两种模板点之外的其余模板点不保留;
31、s3.3.将物料料面点云和保留的模板点拼合为一个拼接点云。
32、具体地,所述s4包括:
33、s4.1.计算拼接点云的初始凸包网格;
34、s4.2.对初始凸包网格进行边界边和边界点的识别;逐条遍历网格边e,分别取半边h及其对向半边对应的两侧面f1、f2,计算两侧面的法向量 n1、n2,当法向量 n1、n2的夹角大于45°时,认为该边为边界边;边界边的两顶点为边界点;
35、s4.3通过isotropic_remeshing函数进行网络重构。
36、具体地,所述s5包括:
37、s5.1.构建边缘点集的kd树索引,对于网格中每条边e,取其两个顶点v1、v2的三维坐标,分别查询两个顶点到最近边缘点的欧氏距离d1、d2,并将该边到最近边缘点的距离d取值为min(d1, d2);
38、s5.2对于所有边界边,如果该边到最近边缘点的距离d小于移除阈值,则将该边和对应顶点从边界边集合和边界点集合中剔除;对于网格中每条边e,如果其两个顶点到最近边缘点的欧式距离d1和d2均小于保护阈值,则将该边和对应顶点加入边界边集合和边界点集合。
39、具体地,所述s6具体为:
40、采用渐进式优化策略,更新物料料面点云的kd树索引,再对网格进行多阶段重构;
41、第一阶段中,全体网格使用第一边长进行重构;
42、第二阶段中,通过多次小边长迭代进行重构,在每次小边长迭代中:
43、(1)将网格面分为料面区域面和非料面区域面,判别标准为:遍历面的所有顶点,若任一顶点到物料料面点云最近点的距离小于dmin米,则该面归为料面区域面,否则为非料面区域面,其中,dmin表示料面区域和非料面区域区分时的距离阈值;
44、(2)分别对两类网格面集进行差异化重构:料面区域面采用第二边长进行重构,非料面区域面采用第三边长进行重构;
45、第一边长大于第二边长,第二边长大于第三边长。
46、具体地,所述s7具体为:通过s5中识别的边界边顶点构成的约束顶点点集构建约束顶点点集的kd树索引,识别边界边附近dne范围内的网格顶点,仅对这些顶点构成的局部点集计算凸包,将经过s6后重构后的网格中位于凸包内部的顶点沿凸包法线方向移动至凸包表面,实现局部凹陷的精确填补,其中,dne是凸包逼近时的逼近范围阈值。
47、优选地,所述dmin的取值范围为0.5-0.6米;所述第二边长取值范围为0.1-0.05米,第三边长取值范围为0.3-0.1米
48、采用上述方案后,本发明的有益效果在于:
49、(1)s2进行了边界补全操作,为边界边识别提供准确的边界数据源,为后续点云体积计算提供精确边界依据;本步骤提出的角度分区边缘检测与插值补全算法针对传统凸包算法在处理不规则料面边界时产生较大误差的技术缺陷。
50、(2)拼接点云的获取过程实现了模板点云与物料料面点云边缘的精确对齐、分割和拼合,避免了直接分割导致的边缘错位。
51、(3)s4对拼接点云进行凸包计算与网格重构时获得了拼接点云的边界边和边界点,并且,在s5中对边界边和边界点进行了再次更新,利用s2得到的精确点集剔除s4的边界边和边界点中不精确的部分,得到相对完整精确的有效边界边集合。
52、(4)在s4进行网络重构后,s6中再次采用了两阶段重构,渐进式优化的策略,在保证关键区域精度的同时大幅提升计算效率。
53、(5)本发明提出边界边影响范围内的局部凸包逼近修复算法能进一步解决网格变形后可能出现的局部凹陷影响体积计算准确性的问题。