基于交叉轮廓线法向的矿体建模方法、装置及存储介质

文档序号:29410936发布日期:2022-03-26 11:46阅读:147来源:国知局
基于交叉轮廓线法向的矿体建模方法、装置及存储介质

1.本技术涉及建模领域,尤其涉及一种基于交叉轮廓线法向的矿体建模方法、装置及存储介质。


背景技术:

2.在矿体建模领域,相比于地质勘探中通过钻孔得到的地质解译线,生产勘探中通过地质编录得到的地质解译线更为复杂,如果依靠传统的轮廓线拼接法进行建模,会耗费很长的时间,效率很低,且构建出来的模型质量也不高。此外,生产勘探每天都在进行中,这就会导致传统的建模方式跟不上生产的进度。而建模是矿山数字化生产的基础和前提,高效实时建模对于矿山生产和推进矿山数字化建设发展具有重大的意义。


技术实现要素:

3.有鉴于此,本技术实施例提供了一种基于交叉轮廓线法向的矿体建模方法、装置及存储介质,旨在提高建模的效率,满足矿山数字化建设的需求。
4.本技术实施例的技术方案是这样实现的:
5.第一方面,本技术实施例提供了一种基于交叉轮廓线法向的矿体建模方法,包括:
6.基于矿体的三维交叉轮廓线构建具有拓扑邻接关系的虚拟网络;
7.基于主成分分析(principal component analysis,pca)方法求取轮廓线的交叉点法向量;
8.基于各交叉点法向量求取轮廓线中多段线的首段法向量和/或尾段法向量;
9.基于法向传播,对多段线法向进行方向一致化处理;
10.基于隐式函数对法向方向一致化处理后的多段线进行建模,得到目标矿体模型。
11.在一些实施例中,所述基于pca方法求取轮廓线的交叉点法向量,包括:
12.针对轮廓线的交叉点,在与所述交叉点相连的多条多段线的首段上截取与所述交叉点相距设定长度的点作为归一化邻域点;
13.基于所述交叉点对应的归一化邻域点求取的最小二乘平面,生成所述交叉点的交叉点法向量。
14.在一些实施例中,所述基于各交叉点法向量求取轮廓线中多段线的首段法向量和/或尾段法向量,包括:
15.针对交叉点,基于相连的多段线的首段方向向量与所述交叉点的交叉点法向量,求取所述首段方向向量与所述交叉点法向量所在平面的第一法向量;
16.基于所述第一法向量与所述首段方向向量求取所述多段线的首段法向量;
17.和/或,
18.针对交叉点,基于相连的多段线的尾段方向向量与所述交叉点的交叉点法向量,求取所述尾段方向向量与所述交叉点法向量所在平面的第二法向量;
19.基于所述第二法向量与所述尾段方向向量求取所述多段线的尾段法向量。
20.在一些实施例中,所述基于线性插值法求取轮廓线中各多段线的中间段法向量,包括:
21.若多段线的首段和尾段均与交叉点相连,则根据所述多段线的首段法向量和尾段法向量,基于线性插值法求取所述多段线的各中间段法向量。
22.在一些实施例中,所述基于线性插值法求取轮廓线中各中间段法向量,包括:
23.若多段线仅首段或者尾段与交叉点相连,则根据与所述交叉点相连的首段法向量或者尾段法向量,基于线性插值法求取所述多段线的各中间段法向量。
24.在一些实施例中,所述基于法向传播,对多段线法向进行方向一致化处理,包括:
25.针对单条多段线,基于相邻两线段分别对应的方向向量在过线段交点且与两线段切平面垂直的平面内的投影向量与线段法向量的叉乘作为判断向量,进行法向方向一致化处理,使得单条多段线的各法向量方向一致;
26.基于法向传播,根据交叉点的交叉点法向量和与交叉点相连的各线段的法向量的点乘,对多条多段线的法向量进行方向一致化处理。
27.在一些实施例中,所述基于隐式函数对法向方向一致化处理后的多段线进行建模,得到目标矿体模型,包括:
28.对法向方向一致化处理后的多段线,基于径向基函数插值方法得到表征矿体模型的隐式函数;
29.基于移动立方体方法对所述隐式函数进行曲面重构,得到目标矿体模型。
30.第二方面,本技术实施例提供了一种基于交叉轮廓线法向的矿体建模装置,包括:
31.拓扑构建模块,用于基于矿体的三维交叉轮廓线构建具有拓扑邻接关系的虚拟网络;
32.交叉点法向量确定模块,用于基于pca方法求取轮廓线的交叉点法向量;
33.首尾段法向量确定模块,用于基于各交叉点法向量求取轮廓线中多段线的首段法向量和/或尾段法向量;
34.中间段法向量确定模块,用于基于线性插值法求取轮廓线中各多段线的中间段法向量;
35.法向方向一致化处理模块,用于基于法向传播,对多段线法向进行方向一致化处理;
36.建模模块,用于基于隐式函数对所述法向方向一致化处理后的多段线进行建模,得到目标矿体模型。
37.第三方面,本技术实施例提供了一种基于交叉轮廓线法向的矿体建模设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器,用于运行计算机程序时,执行本技术实施例第一方面所述方法的步骤。
38.第四方面,本技术实施例提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现本技术实施例第一方面所述方法的步骤。
39.本技术实施例提供的技术方案,基于矿体的三维交叉轮廓线构建具有拓扑邻接关系的虚拟网络;基于pca方法求取轮廓线的交叉点法向量;基于各交叉点法向量求取轮廓线中多段线的首段法向量和/或尾段法向量;基于线性插值法求取轮廓线中各多段线的中间段法向量;对各多段线基于法向传播,进行法向方向一致化处理;基于隐式函数对法向方向
一致化处理后的多段线进行建模,得到目标矿体模型。由于基于上述处理,可以得到符合建模要求的交叉轮廓线的各多段线的法向,从而进行隐式建模,能够高效地构建随生产不断变化的矿体模型,在矿山建模中具有广阔的推广应用前景。
附图说明
40.图1为本技术实施例矿体建模方法的流程示意图;
41.图2为本技术实施例中矿体三维交叉轮廓线的结构示意图;
42.图3为本技术实施例具有拓扑邻接关系的虚拟网络的结构示意图;
43.图4为本技术实施例交叉点法向量的求解原理示意图;
44.图5为本技术实施例多段线的首段法向量的求取原理示意图;
45.图6为本技术实施例单条轮廓线法向方向一致化的原理示意图;
46.图7为本技术实施例基于实际数据的实验示意图;
47.图8为本技术实施例矿体建模装置的结构示意图;
48.图9为本技术实施例矿体建模设备的结构示意图。
具体实施方式
49.下面结合附图及实施例对本技术再作进一步详细的描述。
50.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中在本技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术。
51.本技术实施例提供了一种基于交叉轮廓线法向的矿体建模方法,该方法可以应用于具有数据处理能力的矿体建模设备上。如图1所示,该方法包括:
52.步骤101,基于矿体的三维交叉轮廓线构建具有拓扑邻接关系的虚拟网络。
53.这里,矿体建模设备可以接收矿山勘探和/或生产中经过地质解译得到的矿体交叉轮廓线,并可以对接收的轮廓线基于预处理操作,构建具有拓扑邻接关系的虚拟网络。该预处理操作可以理解为将交叉轮廓线在交叉点处打断。
54.在一应用示例中,矿体的三维交叉轮廓线如图2所示,预处理操作后的虚拟网络如图3所示。其中,轮廓线中预处理后的多段线是指在交叉点处打断后形成的多段线,且基于交叉点打断后的各线段均具有对应的两个端点。
55.步骤102,基于pca方法求取轮廓线的交叉点法向量。
56.这里,可以将与轮廓线交叉点相连的多段线的首段线段上的归一化邻域点看作点云,基于局部表面拟合的方法,利用pca(principal component analysis),去求取轮廓线交叉点法向量。
57.示例性地,基于pca方法求取轮廓线的交叉点法向量,包括:
58.针对轮廓线的交叉点,在与交叉点相连的多条多段线的首段上截取与交叉点相距设定长度的点作为归一化邻域点;
59.基于交叉点对应的归一化邻域点求取的最小二乘平面,生成交叉点的交叉点法向量。
60.由于各条轮廓线首段线段长度不同,有些甚至差异很大,为了使邻域内各条线段
对法向估计贡献相同,本技术实施例中,针对轮廓线的交叉点,在与交叉点相连的多条多段线的首段上截取与交叉点相距设定长度的点作为归一化邻域点(如图3所示),即基于归一化处理生成归一化邻域点。然后,利用交叉点对应的各归一化邻域点求解出一个最小二乘平面,便可估计出交叉点法向量n
p
;通过最小化一个目标函数,使得该点与其每个邻域点所构成的向量与法向量的点乘为0,即保持垂直。
61.示例性地,交叉点法向量的求取公式如下:
[0062][0063]
其中,n是归一化邻域点的个数,n
p
是交叉点法向量,xi是归一化邻域点。正常情况下,可以将点c看成是这个邻域中所有点的中心点。
[0064][0065]
同时,令yi=x
i-c;此时,优化目标函数为
[0066][0067]
令s=(yy
t
),则优化目标函数为
[0068][0069]
min(f(n
p
))
[0070][0071]
s.t.(subject to)为约束条件缩写。对矩阵s进行特征值分解,最小的特征值对应的特征向量就是待求解的交叉点法向量n
p

[0072]
示例性地,交叉点法向量的求解原理如图4所示。
[0073]
可以理解的是,当一个交叉点只与两条多段线相连(与交叉点相连的线段不共线),那么归一化邻域点就只有两个,无法求解出最小二乘平面(least mean square plane),此时可以使用交叉点和两个近邻点一起求解最小二乘平面,再进行交叉点法向确定。
[0074]
值得注意的是,在某些特殊的情况下方程不存在唯一解而无法求取交叉点法向。例如,当一个交叉点只与两条多段线相连,且与交叉点相连的两条线段共线,无法求解出最小二乘平面。
[0075]
步骤103,基于各交叉点法向量求取轮廓线中多段线的首段法向量和/或尾段法向量。
[0076]
这里,基于各交叉点法向量求取轮廓线中多段线的首段法向量和/或尾段法向量,包括:
[0077]
针对交叉点,基于相连的多段线的首段方向向量与交叉点的交叉点法向量,求取首段方向向量与交叉点法向量所在平面的第一法向量;
[0078]
基于第一法向量与首段方向向量求取多段线的首段法向量;
[0079]
和/或,
[0080]
针对交叉点,基于相连的多段线的尾段方向向量与交叉点的交叉点法向量,求取尾段方向向量与交叉点法向量所在平面的第二法向量;
[0081]
基于第二法向量与尾段方向向量求取多段线的尾段法向量。
[0082]
本技术实施例中,可以基于步骤102求取的交叉点法向量,求取多段线的首段法向量和/或尾段法向量。
[0083]
示例性地,如图5所示,以求取首段法向量为例,假定多段线的首段方向向量为l1,根据向量垂直矢量积为零,求出首段方向向量l1和交叉点法向量n
p
所在平面的第一法向量nf:
[0084]
nf=n
p
×
l1[0085]
接着,求出首段方向向量l1和第一法向量nf所在平面的法向量n1,即为多段线的首段法向量。
[0086]
n1=l1×
nf[0087]
可以理解的是,多段线的尾段法向量的求取过程与上述首段法向量的求取过程类似,在此不再赘述。
[0088]
需要说明的是,前述的各方向向量是指沿线段走向的向量,线段所在的与构建出来的模型表面相切的平面为切平面,切平面中与线段垂直的向量为切向量,与方向向量和切向量都垂直的向量为法向量。
[0089]
步骤104,基于线性插值法求取轮廓线中各多段线的中间段法向量。
[0090]
本技术实施例中,可以基于求取的与交叉点邻接的线段的法向量(即首段法向量和/或尾段法向量),然后再进行线性插值,即可求取出各多段线的完整的法向量。
[0091]
在一些实施例中,基于线性插值法求取轮廓线中各多段线的中间段法向量,包括:
[0092]
若多段线的首段和尾段均与交叉点相连,则根据多段线的首段法向量和尾段法向量,基于线性插值法求取多段线的各中间段的中间段法向量。
[0093]
需要说明的是,对于大部分多段线来说,首尾段均与交叉点相连,也就是说首尾线段的法向量均已得到的情形下,可以利用两端向量进行线性插值去求取出中间线段的法向量。
[0094]
由于中间线段法向量同时受两端法向量和线段方向向量的影响,本技术实施例中,首先把两端线段的法向量转换为切向量(切平面),利用切向量进行线性插值。设首线段的方向向量为l1,法向量为n1,那么它的切向量t1=l1×
n1。尾线段的方向向量为l2,法向量为n2,同理可以得到尾线段的切向量t2。如果t1·
t2<0
[0095]
则翻转切向向量t2的方向,以保证线性插值结果的可靠性。
[0096]
设多段线的第i段待插值线段切向量为ti,方向向量为li,法向量为ni。ti到t1的线上距离为d1,ti到t2的线上距离为d2。
[0097]
ti=t1×
(1-m)+t2×m[0098]
其中
[0099][0100]
那么
[0101]
ni=li×
ti[0102]
逐一插值计算,即可估计出整条多段线的法向量。
[0103]
在另一些实施例中,基于线性插值法求取轮廓线中各多段线的中间段法向量,包括:
[0104]
若多段线仅首段或者尾段与交叉点相连,则根据与交叉点相连的首段法向量或者尾段法向量,基于线性插值法求取多段线的各中间段的中间段法向量。
[0105]
需要说明的是,对于矿体交叉轮廓线边界的多段线和一些特殊位置的多段线来说,可能只有一段与交叉点相连,也就是说,只有一端的线段法向量可以被求取出来。对于这些多段线,可以采取特殊的插值方法进行法向估计。具体如下:
[0106]
首先,把已知的线段法向转换为切向(切平面)。设此线段的方向向量为l1,法向量为n1,那么它的切向量
[0107]
t=l1×
n1[0108]
之后,以1为权重去进行插值,即假设整条多段线所有线段的切向量都为t。设待求线段方向向量为li,法向量为ni,则
[0109]
ni=li×
t
[0110]
逐一计算即可得到整条多段线的法向量。
[0111]
步骤105,基于法向传播,对多段线法向进行法向方向一致化处理。
[0112]
示例性地,基于法向传播,对多段线法向进行方向一致化处理,包括:
[0113]
针对单条多段线,基于相邻两线段分别对应的方向向量在过线段交点且与两线段切平面垂直的平面内的投影向量与线段法向量的叉乘作为判断向量,进行法向方向一致化处理,使得单条多段线的各法向量方向一致;
[0114]
基于法向传播,根据交叉点的交叉点法向量和与交叉点相连的各线段的法向量的点乘,对多条多段线的法向量进行方向一致化处理。
[0115]
在一应用示例中,假设交叉轮廓线网络中的一条多段线的线段为linei,i=1,2,...,n,对应的方向向量为li,i=1,2,...,n,对应的法向量分别为ni,i=1,2,...,n。如图6所示,线段linei的切平面为α,线段line
i+1
的切平面为β,过linei和line
i+1
的交点且与α和β垂直的面为γ。
[0116]
将线段方向向量li和l
i+1
投影到平面γ内得到投影向量l
′i和l
′i+1,则根据
[0117]
t
′i=l
′i×
ni[0118]
t
′i+1
=l
′i+1
×ni+1
[0119]
求出向量t
′i和t

i+1
,作为判断向量,若
[0120]
t
′i·
t

i+1
<0
[0121]
则将n
i+1
反向。若
[0122]
t
′i·
t

i+1
≥0
[0123]
则不做处理。
[0124]
值得注意的是,当linei和line
i+1
共面时,上述方法不适用,此时直接将线段法向量ni和n
i+1
作为判断向量进行点乘,判断调整即可。
[0125]
通过以上的步骤,每条多段线的各自法向方向实现了一致化,但是相互之间还是不完全一致。通过交叉点法向量和与之相连的线段的法向量点乘,就可以判断这些线段的法向量方向是否一致,如果不一致则进行反向调整。
[0126]
假设交叉轮廓线网络中某一交叉点为a,估计出的法向量为n
p
,与之邻接的n条线段的估计法向量分别为ni,i=1,2,...,n。规定交叉点法向量与线段法向量点乘为正(或负)进行判断与调整。若
[0127]np
·
ni<0
[0128]
则将第i条线段所在的多段线的法向量反向。若
[0129]np
·
ni≥0
[0130]
则保持原法向量方向不变。
[0131]
根据基于轮廓线构建的网络图,采用法向传播的方法确保所有多段线法向方向一致化。为了便于快速一致化法向,可以预先建立网络图中轮廓线及其交叉点之间的拓扑邻接关系。类似于点云法向传播的过程,采用广度优先搜索方法遍历各个交叉点,根据交叉点法向校正公式一致化各个交叉点处关联的多段线。
[0132]
步骤106,基于隐式函数对法向方向一致化处理后的多段线进行建模,得到目标矿体模型。
[0133]
示例性地,基于隐式函数对法向方向一致化处理后的多段线进行建模,得到目标矿体模型,包括:
[0134]
对法向方向一致化处理后的多段线,基于径向基函数插值方法得到表征矿体模型的隐式函数;
[0135]
基于移动立方体(marching cubes)方法对隐式函数进行曲面重构,得到目标矿体模型。
[0136]
在一应用示例中,如图7所示,示意出了上述各步骤的处理过程及得到的目标矿体模型的示意图。
[0137]
可以理解的是,本技术实施例的方法,可以通过求取矿山生产勘探中经过地质解译得到的交叉轮廓线法向,从而进行隐式建模,能够高效地构建随生产不断变化的矿体模型,在矿山建模中具有广阔的推广应用前景。
[0138]
为了实现本技术实施例的方法,本技术实施例还提供一种基于交叉轮廓线法向的矿体建模装置,设置在矿体建模设备,如图8所示,该装置包括:拓扑构建模块701、交叉点法向量确定模块702、首尾段法向量确定模块703、中间段法向量确定模块704、法向方向一致化处理模块705及建模模块706。
[0139]
拓扑构建模块701用于基于矿体的三维交叉轮廓线构建具有拓扑邻接关系的虚拟网络;交叉点法向量确定模块702用于基于pca方法求取轮廓线的交叉点法向量;首尾段法向量确定模块703用于基于各交叉点法向量求取轮廓线中多段线的首段法向量和/或尾段法向量;中间段法向量确定模块704用于基于线性插值法求取轮廓线中各多段线的中间段法向量;法向方向一致化处理模块705用于基于法向传播,对多段线法向进行方向一致化处理;建模模块706用于基于隐式函数对法向方向一致化处理后的多段线进行建模,得到目标
矿体模型。
[0140]
在一些实施例中,交叉点法向量确定模块702具体用于:
[0141]
针对轮廓线的交叉点,在与交叉点相连的多条多段线的首段上截取与交叉点相距设定长度的点作为归一化邻域点;
[0142]
基于交叉点对应的归一化邻域点求取的最小二乘平面,生成交叉点的交叉点法向量。
[0143]
在一些实施例中,首尾段法向量确定模块703具体用于:
[0144]
针对交叉点,基于相连的多段线的首段方向向量与交叉点的交叉点法向量,求取首段方向向量与交叉点法向量所在平面的第一法向量;
[0145]
基于第一法向量与首段方向向量求取多段线的首段法向量;
[0146]
和/或,
[0147]
针对交叉点,基于相连的多段线的尾段方向向量与交叉点的交叉点法向量,求取尾段方向向量与交叉点法向量所在平面的第二法向量;
[0148]
基于第二法向量与尾段方向向量求取多段线的尾段法向量。
[0149]
在一些实施例中,中间段法向量确定模块704具体用于:
[0150]
若多段线的首段和尾段均与交叉点相连,则根据多段线的首段法向量和尾段法向量,基于线性插值法求取多段线的各中间段的中间段法向量。
[0151]
在一些实施例中,中间段法向量确定模块704具体用于:
[0152]
若多段线仅首段或者尾段与交叉点相连,则根据与交叉点相连的首段法向量或者尾段法向量,基于线性插值法求取多段线的各中间段的中间段法向量。
[0153]
在一些实施例中,法向方向一致化处理模块705具体用于:
[0154]
针对单条多段线,基于相邻两线段分别对应的方向向量在过线段交点且与两线段切平面垂直的平面内的投影向量与线段法向量的叉乘作为判断向量,进行法向方向一致化处理,使得单条多段线的各法向量方向一致;
[0155]
基于法向传播,根据交叉点的交叉点法向量和与交叉点相连的各线段的法向量的点乘,对多条多段线的法向量进行方向一致化处理。
[0156]
在一些实施例中,建模模块706具体用于:
[0157]
对法向方向一致化处理后的多段线,基于径向基函数插值方法得到表征矿体模型的隐式函数;
[0158]
基于移动立方体方法对隐式函数进行曲面重构,得到目标矿体模型。
[0159]
实际应用时,拓扑构建模块701、交叉点法向量确定模块702、首尾段法向量确定模块703、中间段法向量确定模块704、法向方向一致化处理模块705及建模模块706,可以由矿体建模装置中的处理器来实现。当然,处理器需要运行存储器中的计算机程序来实现它的功能。
[0160]
需要说明的是:上述实施例提供的矿体建模装置在进行矿体建模时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的矿体建模装置与矿体建模方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本技术实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0168]
在示例性实施例中,本技术实施例还提供了一种存储介质,即计算机存储介质,具体可以是计算机可读存储介质,例如包括存储计算机程序的存储器802,上述计算机程序可由矿体建模设备的处理器801执行,以完成本技术实施例方法的步骤。计算机可读存储介质可以是rom、prom、eprom、eeprom、flash memory、磁表面存储器、光盘、或cd-rom等存储器。
[0169]
需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
[0170]
另外,本技术实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
[0171]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1