CN115482269B - 一种土方量计算方法、装置、终端设备以及存储介质 - Google Patents
一种土方量计算方法、装置、终端设备以及存储介质 Download PDFInfo
- Publication number
- CN115482269B CN115482269B CN202211159766.5A CN202211159766A CN115482269B CN 115482269 B CN115482269 B CN 115482269B CN 202211159766 A CN202211159766 A CN 202211159766A CN 115482269 B CN115482269 B CN 115482269B
- Authority
- CN
- China
- Prior art keywords
- target
- grid
- area
- earthwork
- elevation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例公开了一种土方量计算方法、装置、终端设备以及存储介质,包括:获取指定区域的三维模型,在三维模型中确定目标区域,并获取三维模型在指定视角下的深度图;确定包括有目标区域且面积最小的第一矩形区域,将目标区域划分为多个目标子区域;根据深度图生成点云数据,根据点云数据以及第一矩形区域,生成与第一矩形区域相对应的数字表面模型;根据数字表面模型以及多个目标子区域,计算目标区域的总土方量。本发明实施例能够提高土方量的计算效率,节省计算土方量的时间,解决了现有技术中存在着土方量计算效率低下的技术问题。
Description
技术领域
本申请实施例涉及土方工程领域,尤其涉及一种土方量计算方法、装置、终端设备以及存储介质。
背景技术
土方量,是指在对某一区域进行地形整平的过程中,所需要的挖土量以及填土量。目前在计算土方量时,一般是采用arcgis等主流地理空间分析软件根据高程点信息生成区域三角网,对三角网进行裁剪后再计算土方量。然而,这种计算方式流程繁琐,拓展性低,同时需要离线处理,无法实时动态计算,导致土方量的计算效率低下。
综上所述,现有技术中存在着土方量计算效率低下的技术问题。
发明内容
本发明实施例提供了一种土方量计算方法、装置、终端设备以及存储介质,解决了现有技术中存在着土方量计算效率低下的技术问题。
第一方面,本发明实施例提供了一种土方量计算方法,包括:
获取指定区域的三维模型,在所述三维模型中确定目标区域,并获取所述三维模型在指定视角下的深度图;
确定包括有所述目标区域且面积最小的第一矩形区域,将所述目标区域划分为多个目标子区域;
根据所述深度图生成点云数据,根据所述点云数据以及所述第一矩形区域,生成与所述第一矩形区域相对应的数字表面模型;
根据所述数字表面模型以及所述多个目标子区域,计算所述目标区域的总土方量。
优选的,所述根据深度图生成点云数据,包括:
遍历所述深度图中的每一个像素点,计算每个所述像素点在世界坐标系中的坐标;
根据每个所述像素点的坐标以及每个所述像素点的深度值,生成点云数据。
优选的,所述将所述目标区域划分为多个目标子区域,包括:
将所述目标区域划分为多个三角形,将每个所述三角形作为一个目标子区域。
优选的,所述根据所述点云数据以及所述第一矩形区域,生成与所述第一矩形区域相对应的数字表面模型,包括:
筛选出位于所述第一矩形区域内的目标点云数据;
根据所述目标点云数据,生成与所述第一矩形区域相对应的数字表面模型。
优选的,所述根据所述目标点云数据,生成与所述第一矩形区域相对应的数字表面模型,包括:
确定数字表面模型中每个网格的大小,根据所述每个网格的大小以及所述第一矩形区域的大小,在网格坐标系中确定数字表面模型的范围,所述网格坐标系为所述数字表面模型的网格所在的二维坐标系;
将所述目标点云数据转换到相对应的网格坐标系中,得到与每个所述网格相对应的高程;
根据所述网格坐标系中每个所述网格的坐标以及与每个所述网格相对应的高程,生成所述数字表面模型。
优选的,所述根据所述数字表面模型以及所述多个目标子区域,计算所述目标区域的总土方量,包括:
对于每一个所述目标子区域,确定包括该目标子区域且面积最小的第二矩形区域;
分别将所述第二矩形区域的坐标以及所述目标子区域的坐标转换到所述网格坐标系中,得到网格矩形区域以及网格子区域;
遍历每个所述网格矩形区域中的网格,筛选出位于所述网格子区域内的目标网格,根据每个所述目标网格的高程计算总土方量。
优选的,所述筛选出位于所述网格子区域内的目标网格之后,根据每个目标网格的高程计算总土方量之前,还包括:
遍历每个所述目标网格,判断当前所遍历的目标网格的高程是否为无效值;
若是,确定距离当前所遍历的目标网格最近的第一目标网格,将所述第一目标网格的高程作为所述当前所遍历的目标网格的高程。
优选的,所述根据每个所述目标网格的高程计算总土方量,包括:
计算预设高程与每个所述目标网格的高程之间的差值;
根据所述差值确定每个所述目标网格的填方量或挖方量;
根据每个所述目标网格的填方量或挖方量,计算总土方量。
第二方面,本发明实施例提供了一种土方量计算装置,包括:
数据获取模块,用于获取指定区域的三维模型,在所述三维模型中确定目标区域,并获取所述三维模型在指定视角下的深度图;
区域划分模块,用于确定包括有所述目标区域且面积最小的第一矩形区域,将所述目标区域划分为多个目标子区域;
模型生成模块,用于根据所述深度图生成点云数据,根据所述点云数据以及所述第一矩形区域,生成与所述第一矩形区域相对应的数字表面模型;
土方量计算模块,根据所述数字表面模型以及所述多个目标子区域,计算所述目标区域的总土方量。
第三方面,本发明实施例提供了一种终端设备,所述终端设备包括处理器以及存储器;
所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;
所述处理器用于根据所述计算机程序中的指令执行如第一方面所述的一种土方量计算方法。
第四方面,本发明实施例提供了一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的一种土方量计算方法。
上述,本发明实施例可在三维模型中实时选择目标区域,并基于三维场景的深度图来实时计算土方量,由于深度图可由GPU实时渲染生成,利用GPU的高性能计算优势,能够提高土方量的计算效率。其次,本发明实施例可动态调整目标区域,并能够实时获取到不同区域的土方量,无需进行离线处理,大大节省了计算土方量的时间,解决了现有技术中存在着土方量计算效率低下的技术问题。
附图说明
图1为本发明实施例提供的一种土方量计算方法的流程示意图。
图2为本发明实施例提供的一种目标区域的示意图。
图3为本发明实施例提供的一种摄像机拍摄深度信息的示意图。
图4为本发明实施例提供的一种第一矩形区域的示意图。
图5为本发明实施例提供的另一种土方量计算方法的流程示意图。
图6为本发明实施例提供的一种数字表面模型的网格所在的二维坐标系的示意图。
图7为本发明实施例提供的一种土方量计算装置的结构示意图。
图8为本发明实施例提供的一种终端设备的结构示意图。
具体实施方式
以下描述和附图充分地示出本申请的具体实施方案,以使本领域的技术人员能够实践它们。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本申请的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,各实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。本文中,诸如第一和第二等之类的关系术语仅仅用于将一个实体或者操作与另一个实体或操作区分开来,而不要求或者暗示这些实体或操作之间存在任何实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素。本文中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的结构、产品等而言,由于其与实施例公开的部分相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
如图1所示,图1为本发明实施例提供的一种土方量计算方法的流程图。本发明实施例提供的土方量计算方法可以由终端设备执行,该终端设备可以通过软件和/或硬件的方式实现,该终端设备可以是两个或多个物理实体构成,也可以由一个物理实体构成。例如终端设备可以是电脑、上位机、平板等设备。
方法包括以下步骤:
步骤101、获取指定区域的三维模型,在三维模型中确定目标区域,并获取三维模型在指定视角下的深度图。
在本实施例中,首先需要获取指定区域中的三维模型,例如可以使用三维渲染引擎PCIMap3D导入指定区域的三维模型等。其中,指定区域中包括有需要进行土方量计算目标区域,指定区域的范围可根据实际需要进行设置。在获取到三维模型之后,进一步在三维模型中确定出目标区域。示例性的,可在三维模型中选择位置关键点,并将相邻的位置关键点使用线段进行连接,从而得到一个由线段包围而成的区域,该区域即为目标区域,如图2所示。
之后,进一步获取三维模型在指定视角下的深度图。其中,深度图中包括有摄像机在指定视角下拍摄得到的深度信息。示例性的,在指定视角下拍摄得到的深度信息如图3所示,摄像机拍摄到A点的深度信息为H1,B点的深度信息为H2,C点的深度信息为H3。在一个实施例中,还可以对深度进行归一化处理,即将深度最大的数值记为1,将摄像头处的深度记为0,使得所有的深度数值均位于[0,1]区间内。
步骤102、确定包括有目标区域且面积最小的第一矩形区域,将目标区域划分为多个目标子区域。
之后,进一步确定出包括有目标区域且面积最小的第一矩形区域。示例性的,对于如图2所示的目标区域,可以目标区域在不同方向上最突出的一点作为第一矩形区域的边界,并根据边界划分出一个能够包括目标区域的矩形区域,该矩形区域即为第一矩形区域,如图4所示。
同时,进一步对目标区域进行划分,将目标区域划分为多个目标子区域。在本实施例中对目标区域进行划分的原因在于,由于后续在确定深度图上的像素是否在目标区域内时,像素和目标区域不在一个坐标系上,无法直接判断像素是否在目标区域内,因此在本实施例中,需要先将目标区域划分成多个目标子区域,后续再判断像素是否位于目标子区域内。
在一个实施例中,步骤102中将目标区域划分为多个目标子区域,包括:
步骤1021、将目标区域划分为多个三角形,将每个三角形作为一个目标子区域。
在一个实施例中,可以将目标区域划分为多个三角形,例如使用EARCut算法等对目标区域进行划分,将目标区域划分为多个三角形,并将划分得到的每一个三角形作为一个目标子区域。EARCut算法的具体过程可参考现有技术,在本实施例中不再进行赘述。
步骤103、根据深度图生成点云数据,根据点云数据以及第一矩形区域,生成与第一矩形区域相对应的数字表面模型。
在得到深度图后,由于深度图中包括有地形的深度信息,因此可以根据深度信息生成高程,从而得到点云数据。在得到点云数据后,则可以筛选出位于第一矩形区域内的点云数据,并根据第一区域内的点云数据生成第一区域的数字表面模型。其中,数字表面模型(DigitalSurface Model,DSM)是指包含了地表建筑物、桥梁和树木等高度的地面高程模型,数字表面模型一般使用网格表示地形信息,每个网格内存储有地形高度信息。
在一个实施例中,步骤103中根据深度图生成点云数据,包括:
步骤1031、遍历深度图中的每一个像素点,计算每个像素点在世界坐标系中的坐标。
首先,由于深度图中的每个像素点是在二维坐标系中,为了将深度图中的像素点和世界真实位置一一对应,需要将每个像素点在二维坐标系中的坐标转换到世界坐标系中。具体的,遍历深度图中的每一个像素点,并计算每个像素点在世界坐标系中的坐标,其中,可采用以下公式计算每个像素点在世界坐标系中的坐标:
PT3d=DepthTo3d(px,py)
其中,(px,py)表示像素点在二维坐标系中的坐标,DepthTo3d为二维坐标系与世界坐标系之间的转换关系,PT3d表示世界坐标系的坐标。
步骤1032、根据每个像素点的坐标以及每个像素点的深度值,生成点云数据。
在得到每个像素点在世界坐标系中对应的坐标后,根据每个像素点的深度值,即可得到每个像素点的高程,根据每个像素点在世界坐标系中的坐标和高程,即可生成点云数据。
步骤104、根据数字表面模型以及多个目标子区域,计算目标区域的总土方量。
最后,根据数字表面模型以及多个目标子区域,即可计算出目标区域的总土方量。在一个实施例中,可以确定出数字表面模型中位于目标子区域内的目标网格,并根据每个目标网格的高程与预设高程之间的差值,来计算出每个目标网格所需要的填方量和挖方量。其中,填方量是指目标网格内所需要填筑的土石体积,挖方量是指目标网格内所需要挖出的土石体积。最后根据所有目标网格的挖方量和填方量,即可计算目标区域的总土方量。
上述,本发明实施例可在三维模型中实时选择目标区域,并基于三维场景的深度图来实时计算土方量,由于深度图可由GPU实时渲染生成,利用GPU的高性能计算优势,能够提高土方量的计算效率。其次,本发明实施例可动态调整目标区域,并能够实时获取到不同区域的土方量,无需进行离线处理,大大节省了计算土方量的时间,解决了现有技术中存在着土方量计算效率低下的技术问题。
如图5所示,图5为本发明实施例提供的另一种土方量计算方法的流程图。本实施例提供的土方量计算方法是对上述土方量计算方法的具体化,包括:
步骤201、获取指定区域的三维模型,在三维模型中确定目标区域,并获取三维模型在指定视角下的深度图。
步骤202、确定包括有目标区域且面积最小的第一矩形区域,将目标区域划分为多个目标子区域。
步骤203、根据深度图生成点云数据,筛选出位于第一矩形区域内的目标点云数据。
在本实施例中,在根据深度图生成点云数据后,还进一步筛选出位于第一矩形区域内的目标点云数据。具体的,可根据第一矩形区域的范围,获取位于范围内的点云数据,即可得到目标点云数据。
步骤204、根据目标点云数据,生成与第一矩形区域相对应的数字表面模型。
之后根据目标点云数据,进一步生成与第一矩形区域相对应的数字表面模型。需要说明的是,由于数字表面模型使用网格来表示地形信息,网格所在的坐标系为二维坐标系,而目标点云数据所在的坐标系为世界坐标系,因此在根据目标点云数据生成数字表面模型时,需要将世界坐标系中的目标点云数据转换到网格所在的二维坐标系中,才能够生成与第一矩形区域相对应的数字表面模型。具体的,在一个实施例中,根据目标点云数据,生成与第一矩形区域相对应的数字表面模型,包括:
步骤2041、确定数字表面模型中每个网格的大小,根据每个网格的大小以及第一矩形区域的大小,在网格坐标系中确定数字表面模型的范围,网格坐标系为数字表面模型的网格所在的二维坐标系。
首先,需要确定出数字表面模型的网格坐标系中每个网格的大小,其中网格坐标系为数字表面模型的网格所在的二维坐标系。示例性的,如图6所示,数字表面模型的多个网格坐落在二维坐标系中。可理解,每个网格的大小可根据实际需要进行设置,例如每个网格的大小可以设置为1m×1m等,在本实施例中不对网格的大小进行具体限定。
之后,根据每个网格的大小以及第一矩形区域的大小,即可在网格坐标系中确定数字表面模型的长和宽。示例性的,可根据以下公式计算数字表面模型在网格坐标系中的长和宽:
W=(boxMAXx-boxMINx)/cubeSize
H=(boxMAXy-boxMINy)/cubeSize
其中,W表示数字表面模型的长,H表示数字表面模型的宽,boxMAXx表示第一矩形区域的坐标在世界坐标系的X轴上数值最大的数值,boxMINx表示第一矩形区域的坐标在世界坐标系的X轴上数值最小的数值,boxMAXy表示第一矩形区域的坐标在世界坐标系的Y轴上数值最大的数值,boxMINy表示第一矩形区域的坐标在世界坐标系的Y轴上数值最小的数值,cubeSize为一个网格的大小。
步骤2042、将目标点云数据转换到相对应的网格坐标系中,得到与每个网格相对应的高程。
之后,进一步将目标点云数据从世界坐标系转换到相对应的网格坐标系中,从而得到与每个网格相对应的高程。具体的,将世界坐标系中的目标点云数据转换到网格坐标系中的公式如下所示:
Gridx=(PT3Dx-boxMINx)/cubeSize
Gridy=(PT3Dy-boxMINy)/cubeSize
其中,PT3Dx表示目标点云数据在世界坐标系的X轴坐标,PT3Dy表示目标点云数据在世界坐标系的Y轴坐标,Gridx表示转换后的网格坐标系中的X轴坐标,Gridy表示转换后的网格坐标系中的Y轴坐标。
在将目标点云数据转换到网格坐标系中后,即可确定目标点云数据所在的网格,并将目标点云数据的高程赋予给对应的网格,从而得到每个网格的高程。
步骤2043、根据网格坐标系中每个网格的坐标以及与每个网格相对应的高程,生成数字表面模型。
最后,根据网格坐标系中每个网格的坐标以及与每个网格相对应的高程,即可得到数字表面模型。在一个实施例中,若网格内没有相对应的高程,则将该网格的高程设置为无效值。
步骤205、根据数字表面模型以及多个目标子区域,计算目标区域的总土方量。
在一个实施例中,步骤205中根据数字表面模型以及多个目标子区域,计算目标区域的总土方量,包括:
步骤2051、对于每一个目标子区域,确定包括该目标子区域且面积最小的第二矩形区域。
首先,对于每一个目标子区域,确定出包括该目标子区域且面积最小的第二矩形区域。
步骤2052、分别将第二矩形区域的坐标以及目标子区域的坐标转换到网格坐标系中,得到网格矩形区域以及网格子区域。
之后,将世界坐标系中第二矩形区域的坐标以及目标子区域的坐标均转换到网格坐标系中,得到相对应的网格矩形区域和网格子区域。坐标转换的过程可参考上述对将目标点云数据转换到网格坐标系的过程,在本实施例中不再赘述。
步骤2053、遍历每个网格矩形区域中的网格,筛选出位于网格子区域内的目标网格,根据每个目标网格的高程计算总土方量。
之后,在网格坐标系中,遍历每个网格矩形区域中的网格,判断当前所遍历的网格是否在网格矩形区域的网格子区域中,若是,则将该网筛选出来作为目标网格。在一个实施例中,可以新建一个和数字表面模型的网格具体相同规模的镜像网格MASK,并在镜像网格MASK中将目标网格记为1,将其他网格记为0。
在得到目标网格后,即可根据目标网格的高程来计算总土方量。在一个实施例中,由于目标点云数据是离散分布,而数字表面模型是连续分布的网格,利用目标点云数据生成的数字表面模型中,只有部分网格内存在有高程,部分网格内没有高程,即网格内的高程为无效值,导致数字表面模型存在一些空洞,因此需要对数字表面模型进行修复,才能进行土方量的计算。示例性的,在筛选出位于网格子区域内的目标网格之后,根据每个目标网格的高程计算总土方量之前,还包括:
步骤20531、遍历每个目标网格,判断当前所遍历的目标网格的高程是否为无效值。
首先,遍历每一个目标网格,判断当前所遍历的目标网格的高程是否为无效值。
步骤20532、若是,确定距离当前所遍历的目标网格最近的第一目标网格,将第一目标网格的高程作为当前所遍历的目标网格的高程。
若当前遍历的目标网格的高程为无效值,则进一步确定出距离当前所遍历的目标网格最近的第一目标网格,并获取第一目标网格的高程,将第一目标网格的高程作为当前所遍历的目标网格的高程。
在一个实施例中,可以建立KDTree,KDTree是一种对K维空间中的实例点进行存储以便对其进行快速检索的树形数据结构,主要应用于多维空间关键数据的搜索(如:范围搜索和最近邻搜索)。之后,将每个网格以及与每个网格相对应的高程添加到KDTree中,后续在查询距离当前所遍历的目标网格最近的第一目标网格时,可直接在KDTree中查询距离最近的第一目标网格,并将此距离最近的第一目标网格的高程作为当前所遍历的目标网格的高程,如下公式所示:
DSM(row,col)=KDTree.nearest(row,col)
其中,DSM(row,col)为目标网格的高程,(row,col)表示目标网格在数字表面模型中的行号和列号,KDTree.nearest表示最近邻网格的搜索接口。
在遍历完所有的目标网格后,即可得到不存在无效值的数字表面模型,从而完成数字表面模型的修复过程。
在一个实施例中,可根据每个目标网格的高程和预设高程之间的差值,来计算总土方量。具体的,根据每个目标网格的高程计算总土方量,包括:
步骤20533、计算每个目标网格的高程与预设高程之间的差值。
首先,计算预设高程与每个目标网格的高程之间的差值。示例性的,如下公式所示:
diff=TARGET_ALT-DSM(row,col)
其中,diff为差值,TARGET_ALT为预设高程。
步骤20534、根据差值确定每个目标网格的填方量或挖方量。
之后,根据差值确定每个目标网格的填方量或挖方量。在一个实施例中,若差值大于0,则差值为每个目标网格的填方量,若差值小于0,则差值为每个目标网格的挖方量。
步骤20535、根据每个目标网格的填方量或挖方量,计算总土方量。
最后,根据每个目标网格的填方量或挖方量,计算总土方量,即可计算总土方量。示例性的,总填方量的计算公式为:
其中,fill_volume为总填方量,diff(row,col)为目标网格的差值,且上述公式(1)约束于MASK(row,col)=1且diff>0,其中MASK(row,col)=1表示镜像网格MASK中数值为1的网格。
总挖方量的计算公式为:
其中,fill_volume为总填方量,且上述公式(2)约束于MASK(row,col)=1且diff<0。
总土方量可以表示为:
其中,total_volume为总填方量,且上述公式(3)约束于MASK(row,col)=1。
上述,本发明实施例在三维模型中实时选择目标区域,并基于三维场景的深度图来生成包括有目标区域的数字表面模型,最后根据数字表面模型中每个网格的高程和预设高程之间的差值,计算得到目标区域的总土方量。本发明实施例中由于深度图可由GPU实时渲染生成,利用GPU的高性能计算优势,能够提高土方量的计算效率。其次,本发明实施例可动态调整目标区域,并能够实时获取到不同区域的土方量,无需进行离线处理,大大节省了计算土方量的时间,解决了现有技术中存在着土方量计算效率低下的技术问题。
如图7所示,图7为本发明实施例提供的一种土方量计算装置的结构示意图,包括:
数据获取模块301,用于获取指定区域的三维模型,在三维模型中确定目标区域,并获取三维模型在指定视角下的深度图;
区域划分模块302,用于确定包括有目标区域且面积最小的第一矩形区域,将目标区域划分为多个目标子区域;
模型生成模块303,用于根据深度图生成点云数据,根据点云数据以及第一矩形区域,生成与第一矩形区域相对应的数字表面模型;
土方量计算模块304,根据数字表面模型以及多个目标子区域,计算目标区域的总土方量。
在上述实施例的基础上,模型生成模块303具体用于遍历深度图中的每一个像素点,计算每个像素点在世界坐标系中的坐标;根据每个像素点的坐标以及每个像素点的深度值,生成点云数据。
在上述实施例的基础上,区域划分模块302具体用于将目标区域划分为多个三角形,将每个三角形作为一个目标子区域。
在上述实施例的基础上,模型生成模块303具体用于筛选出位于第一矩形区域内的目标点云数据;根据目标点云数据,生成与第一矩形区域相对应的数字表面模型。
在上述实施例的基础上,模型生成模块303具体用于确定数字表面模型中每个网格的大小,根据每个网格的大小以及第一矩形区域的大小,在网格坐标系中确定数字表面模型的范围,网格坐标系为数字表面模型的网格所在的二维坐标系;将目标点云数据转换到相对应的网格坐标系中,得到与每个网格相对应的高程;根据网格坐标系中每个网格的坐标以及与每个网格相对应的高程,生成数字表面模型。
在上述实施例的基础上,土方量计算模块304具体用于对于每一个目标子区域,确定包括该目标子区域且面积最小的第二矩形区域;分别将第二矩形区域的坐标以及目标子区域的坐标转换到网格坐标系中,得到网格矩形区域以及网格子区域;遍历每个网格矩形区域中的网格,筛选出位于网格子区域内的目标网格,根据每个目标网格的高程计算总土方量。
在上述实施例的基础上,还包括高程修补模块,用于在筛选出位于网格子区域内的目标网格之后,根据每个目标网格的高程计算总土方量之前,遍历每个目标网格,判断当前所遍历的目标网格的高程是否为无效值;若是,确定距离当前所遍历的目标网格最近的第一目标网格,将第一目标网格的高程作为当前所遍历的目标网格的高程。
在上述实施例的基础上,土方量计算模块304具体计算预设高程与每个目标网格的高程之间的差值;根据差值确定每个目标网格的填方量或挖方量;根据每个目标网格的填方量或挖方量,计算总土方量。
本实施例还提供了一种终端设备,如图8所示,一种终端设备40,所述终端设备包括处理器400以及存储器401;
所述存储器401用于存储计算机程序402,并将所述计算机程序402传输给所述处理器;
所述处理器400用于根据所述计算机程序402中的指令执行上述的一种土方量计算方法实施例中的步骤。
示例性的,所述计算机程序402可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器401中,并由所述处理器400执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序402在所述终端设备40中的执行过程。
所述终端设备40可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备40可包括,但不仅限于,处理器400、存储器401。本领域技术人员可以理解,图8仅仅是终端设备40的示例,并不构成对终端设备40的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备40还可以包括输入输出设备、网络接入设备、总线等。
所称处理器400可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器401可以是所述终端设备40的内部存储单元,例如终端设备40的硬盘或内存。所述存储器401也可以是所述终端设备40的外部存储设备,例如所述终端设备40上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器401还可以既包括所述终端设备40的内部存储单元也包括外部存储设备。所述存储器401用于存储所述计算机程序以及所述终端设备40所需的其他程序和数据。所述存储器401还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种土方量计算方法,该方法包括以下步骤:
获取指定区域的三维模型,在所述三维模型中确定目标区域,并获取所述三维模型在指定视角下的深度图;
确定包括有所述目标区域且面积最小的第一矩形区域,将所述目标区域划分为多个目标子区域;
根据所述深度图生成点云数据,根据所述点云数据以及所述第一矩形区域,生成与所述第一矩形区域相对应的数字表面模型;
根据所述数字表面模型以及所述多个目标子区域,计算所述目标区域的总土方量。
注意,上述仅为本发明实施例的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明实施例不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明实施例的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明实施例构思的情况下,还可以包括更多其他等效实施例,而本发明实施例的范围由所附的权利要求范围决定。
Claims (8)
1.一种土方量计算方法,其特征在于,包括:
获取指定区域的三维模型,在所述三维模型中确定目标区域,并获取所述三维模型在指定视角下的深度图;
确定包括有所述目标区域且面积最小的第一矩形区域,将所述目标区域划分为多个目标子区域;
根据所述深度图生成点云数据,根据所述点云数据以及所述第一矩形区域,生成与所述第一矩形区域相对应的数字表面模型,其中,包括筛选出位于所述第一矩形区域内的目标点云数据,根据所述目标点云数据,生成与所述第一矩形区域相对应的数字表面模型,确定数字表面模型中每个网格的大小,根据所述每个网格的大小以及所述第一矩形区域的大小,在网格坐标系中确定数字表面模型的范围,所述网格坐标系为所述数字表面模型的网格所在的二维坐标系,将所述目标点云数据转换到相对应的网格坐标系中,得到与每个所述网格相对应的高程,根据所述网格坐标系中每个所述网格的坐标以及与每个所述网格相对应的高程,生成所述数字表面模型;
根据所述数字表面模型以及所述多个目标子区域,计算所述目标区域的总土方量,其中,包括对于每一个所述目标子区域,确定包括该目标子区域且面积最小的第二矩形区域,分别将所述第二矩形区域的坐标以及所述目标子区域的坐标转换到所述网格坐标系中,得到网格矩形区域以及网格子区域,遍历每个所述网格矩形区域中的网格,筛选出位于所述网格子区域内的目标网格,根据每个所述目标网格的高程计算总土方量。
2.根据权利要求1所述的一种土方量计算方法,其特征在于,所述根据深度图生成点云数据,包括:
遍历所述深度图中的每一个像素点,计算每个所述像素点在世界坐标系中的坐标;
根据每个所述像素点的坐标以及每个所述像素点的深度值,生成点云数据。
3.根据权利要求1所述的一种土方量计算方法,其特征在于,所述将所述目标区域划分为多个目标子区域,包括:
将所述目标区域划分为多个三角形,将每个所述三角形作为一个目标子区域。
4.根据权利要求1所述的一种土方量计算方法,其特征在于,所述筛选出位于所述网格子区域内的目标网格之后,根据每个目标网格的高程计算总土方量之前,还包括:
遍历每个所述目标网格,判断当前所遍历的目标网格的高程是否为无效值;
若是,确定距离当前所遍历的目标网格最近的第一目标网格,将所述第一目标网格的高程作为所述当前所遍历的目标网格的高程。
5.根据权利要求1所述的一种土方量计算方法,其特征在于,所述根据每个所述目标网格的高程计算总土方量,包括:
计算预设高程与每个所述目标网格的高程之间的差值;
根据所述差值确定每个所述目标网格的填方量或挖方量;
根据每个所述目标网格的填方量或挖方量,计算总土方量。
6.一种土方量计算装置,其特征在于,包括:
数据获取模块,用于获取指定区域的三维模型,在所述三维模型中确定目标区域,并获取所述三维模型在指定视角下的深度图;
区域划分模块,用于确定包括有所述目标区域且面积最小的第一矩形区域,将所述目标区域划分为多个目标子区域;
模型生成模块,用于根据所述深度图生成点云数据,根据所述点云数据以及所述第一矩形区域,生成与所述第一矩形区域相对应的数字表面模型,其中,包括筛选出位于所述第一矩形区域内的目标点云数据,根据所述目标点云数据,生成与所述第一矩形区域相对应的数字表面模型,确定数字表面模型中每个网格的大小,根据所述每个网格的大小以及所述第一矩形区域的大小,在网格坐标系中确定数字表面模型的范围,所述网格坐标系为所述数字表面模型的网格所在的二维坐标系,将所述目标点云数据转换到相对应的网格坐标系中,得到与每个所述网格相对应的高程,根据所述网格坐标系中每个所述网格的坐标以及与每个所述网格相对应的高程,生成所述数字表面模型;
土方量计算模块,根据所述数字表面模型以及所述多个目标子区域,计算所述目标区域的总土方量,其中,包括对于每一个所述目标子区域,确定包括该目标子区域且面积最小的第二矩形区域,分别将所述第二矩形区域的坐标以及所述目标子区域的坐标转换到所述网格坐标系中,得到网格矩形区域以及网格子区域,遍历每个所述网格矩形区域中的网格,筛选出位于所述网格子区域内的目标网格,根据每个所述目标网格的高程计算总土方量。
7.一种终端设备,其特征在于,所述终端设备包括处理器以及存储器;
所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;
所述处理器用于根据所述计算机程序中的指令执行如权利要求1-5中任一项所述的一种土方量计算方法。
8.一种存储计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-5中任一项所述的一种土方量计算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211159766.5A CN115482269B (zh) | 2022-09-22 | 2022-09-22 | 一种土方量计算方法、装置、终端设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211159766.5A CN115482269B (zh) | 2022-09-22 | 2022-09-22 | 一种土方量计算方法、装置、终端设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115482269A CN115482269A (zh) | 2022-12-16 |
CN115482269B true CN115482269B (zh) | 2023-05-09 |
Family
ID=84394947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211159766.5A Active CN115482269B (zh) | 2022-09-22 | 2022-09-22 | 一种土方量计算方法、装置、终端设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115482269B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116012613B (zh) * | 2023-01-04 | 2024-01-16 | 北京数字绿土科技股份有限公司 | 一种基于激光点云的露天矿的土方量变化测算方法和*** |
CN116109691B (zh) * | 2023-02-03 | 2023-11-07 | 煤炭科学研究总院有限公司 | 基于三维模型和插值的储量计算方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799756A (zh) * | 2012-06-08 | 2012-11-28 | 冉启华 | 一种降雨作用下的滑坡预测方法 |
WO2019093532A1 (ko) * | 2017-11-07 | 2019-05-16 | 공간정보기술 주식회사 | 스트레오 카메라 드론을 활용한 무기준점 3차원 위치좌표 취득 방법 및 시스템 |
CN113932779A (zh) * | 2021-11-11 | 2022-01-14 | 中煤浙江测绘地理信息有限公司 | 基于无人机倾斜摄影的土石方计算方法、***及存储介质 |
CN114596414A (zh) * | 2022-01-12 | 2022-06-07 | 温氏食品集团股份有限公司 | 一种基于无人机测绘三维地貌土方量实时分析方法及*** |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3086196B1 (en) * | 2015-04-21 | 2017-04-05 | Hexagon Technology Center GmbH | Method and control system for surveying and mapping a terrain while operating a bulldozer |
CN108846325A (zh) * | 2018-05-28 | 2018-11-20 | 广州极飞科技有限公司 | 目标区域作业的规划方法、装置、存储介质及处理器 |
CN109059865B (zh) * | 2018-06-20 | 2020-08-28 | 桂林电子科技大学 | 一种土石方测量方法、***及装置 |
CN109242903B (zh) * | 2018-09-07 | 2020-08-07 | 百度在线网络技术(北京)有限公司 | 三维数据的生成方法、装置、设备及存储介质 |
CN109556673A (zh) * | 2018-11-22 | 2019-04-02 | 中铁四局集团有限公司 | 一种基于无人机的土方算量方法及*** |
CN110285792B (zh) * | 2019-07-02 | 2021-06-01 | 山东省交通规划设计院集团有限公司 | 一种无人机倾斜摄影精细格网土方计量方法 |
CN110532719A (zh) * | 2019-09-04 | 2019-12-03 | 上海宝冶集团有限公司 | 一种施工场地土方量计算方法及装置 |
CN113532266B (zh) * | 2020-04-15 | 2023-08-08 | 深圳市光鉴科技有限公司 | 基于三维视觉的箱体积测量方法、***、设备及存储介质 |
CN111553986B (zh) * | 2020-05-19 | 2021-03-05 | 北京数字绿土科技有限公司 | 三角网的构建方法、构建装置和数字表面模型的生成方法 |
CN111765870A (zh) * | 2020-06-12 | 2020-10-13 | 中国二十冶集团有限公司 | 基于倾斜摄影技术并分区域累加的土方量计算方法 |
CN112434709B (zh) * | 2020-11-20 | 2024-04-12 | 西安视野慧图智能科技有限公司 | 基于无人机实时稠密三维点云和dsm的航测方法及*** |
CN112581629B (zh) * | 2020-12-09 | 2024-05-28 | 中国科学院深圳先进技术研究院 | 增强现实显示方法、装置、电子设备及存储介质 |
CN112819882B (zh) * | 2021-01-26 | 2021-11-19 | 徐州徐工挖掘机械有限公司 | 一种基于双目视觉的实时土方量计算方法 |
CN112906124B (zh) * | 2021-04-02 | 2023-06-13 | 广州南方卫星导航仪器有限公司 | 一种土方量计算方法、装置、设备和介质 |
CN113963050A (zh) * | 2021-08-11 | 2022-01-21 | 中铁二局集团有限公司 | 一种基于点云的土方量计算方法及*** |
CN114549616A (zh) * | 2022-02-21 | 2022-05-27 | 广联达科技股份有限公司 | 土方工程量的计算方法、装置及电子设备 |
CN114519712A (zh) * | 2022-02-23 | 2022-05-20 | 广州极飞科技股份有限公司 | 一种点云数据处理方法、装置、终端设备及存储介质 |
CN114612629A (zh) * | 2022-03-15 | 2022-06-10 | 中科海慧(北京)科技有限公司 | 一种矿产资源开挖土石方量计算方法及*** |
-
2022
- 2022-09-22 CN CN202211159766.5A patent/CN115482269B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799756A (zh) * | 2012-06-08 | 2012-11-28 | 冉启华 | 一种降雨作用下的滑坡预测方法 |
WO2019093532A1 (ko) * | 2017-11-07 | 2019-05-16 | 공간정보기술 주식회사 | 스트레오 카메라 드론을 활용한 무기준점 3차원 위치좌표 취득 방법 및 시스템 |
CN113932779A (zh) * | 2021-11-11 | 2022-01-14 | 中煤浙江测绘地理信息有限公司 | 基于无人机倾斜摄影的土石方计算方法、***及存储介质 |
CN114596414A (zh) * | 2022-01-12 | 2022-06-07 | 温氏食品集团股份有限公司 | 一种基于无人机测绘三维地貌土方量实时分析方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN115482269A (zh) | 2022-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115482269B (zh) | 一种土方量计算方法、装置、终端设备以及存储介质 | |
CN106408604A (zh) | 一种点云数据的滤波方法及装置 | |
US10921136B2 (en) | Efficient processing for vector tile generation | |
CN111133472B (zh) | 用于使用3d现实数据进行基础设施设计的方法和设备 | |
JP2011501301A (ja) | 地理的情報の複数のソースを用いた地理空間モデリングシステム及び関連する方法 | |
KR20100136604A (ko) | 3차원 지형 영상 실시간 가시화 시스템 및 이의 방법 | |
Molnár et al. | Can the First Military Survey maps of the Habsburg Empire (1763–1790) be georeferenced by an accuracy of 200 meters | |
CN115861527A (zh) | 实景三维模型的构建方法、装置、电子设备及存储介质 | |
US9679349B2 (en) | Method for visualizing three-dimensional data | |
CN115690286B (zh) | 三维地形生成方法、终端设备及计算机可读存储介质 | |
US9454554B1 (en) | View dependent query of multi-resolution clustered 3D dataset | |
CN112525208B (zh) | 城市道路地图快速构建方法和装置及设备 | |
CN112632303A (zh) | 一种影像数据的分布式存储方法、分析方法及装置 | |
CN114411867B (zh) | 一种挖掘工程作业结果的三维图形渲染展示方法及装置 | |
EP3664038A1 (en) | Geospatial surveying tool | |
CN114549769A (zh) | 基于bim的土石方工程量分期计量自动校核方法及装置 | |
CN112907649A (zh) | 管沟土石方量的测量方法、装置、设备和存储介质 | |
CN113849883A (zh) | 一种基于Lidar地形与钻孔滑动面重构的滑坡体积计算方法 | |
CN113495935A (zh) | 一种基于不规则三角化网格剖分的地形切片方法和*** | |
Gu et al. | Ground point extraction using self-adaptive-grid and point to surface comparison | |
KR20100060194A (ko) | 항법 장치에서 포인트 기반 렌더링 방법 및 장치 | |
CN110610544A (zh) | 钻孔数据抽稀方法和装置、设备及储存介质 | |
CN111145347B (zh) | 地形断面的数字高程数据的校正方法、装置及校正设备 | |
Durmaz | Creating digital elevation model using a mobile device | |
TWI786874B (zh) | 數值網格模型之方法及其系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |