CN111813775B - 一种隧道点云数据处理方法、装置及存储介质 - Google Patents
一种隧道点云数据处理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111813775B CN111813775B CN202010494011.5A CN202010494011A CN111813775B CN 111813775 B CN111813775 B CN 111813775B CN 202010494011 A CN202010494011 A CN 202010494011A CN 111813775 B CN111813775 B CN 111813775B
- Authority
- CN
- China
- Prior art keywords
- point cloud
- cloud data
- tunnel
- tunnel point
- data
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/16—Measuring arrangements characterised by the use of optical techniques for measuring the deformation in a solid, e.g. optical strain gauge
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
- G01B11/2408—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures for measuring roundness
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C22/00—Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C7/00—Tracing profiles
- G01C7/06—Tracing profiles of cavities, e.g. tunnels
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Theoretical Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Image Generation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种隧道点云数据处理方法,包括:服务器基于点云数据的属性建立所述点云数据对应的索引;存储所述点云数据和所述点云数据对应的索引。本申请还提供一种隧道点云数据处理装置和存储介质,通过本申请公开的隧道点云数据处理方法、装置和存储介质,可以实现高效地存储及处理海量的隧道点云数据。
Description
技术领域
本申请涉及地下结构设计技术领域,尤其涉及一种隧道点云数据处理方法、装置及存储介质。
背景技术
我国城市轨道交通的开发建设正在高速发展,地铁已经成为人们出行的主要交通工具之一,其中隧道工程发挥着至关重要的作用。相关技术中,隧道断面点云数据均存储于客户端的数据库中,对于隧道断面点云数据的处理都是侧重于客户端侧提升隧道断面椭圆拟合的精度,而缺乏对海量的隧道点云数据的高效的存储及处理方法;因此,如何高效地存储以及处理海量的隧道点云数据,并自动化提取隧道结构参数,是急需解决的技术问题。
发明内容
本申请实施例提供一种隧道点云数据处理方法、装置及存储介质,通过客户端与服务器的交互,实现高效地存储及处理海量的点云数据。
本申请实施例的技术方案是这样实现的:
第一方面,本申请提供一种隧道点云数据处理方法,包括:
服务器基于点云数据的属性建立所述点云数据对应的索引;
存储所述点云数据和所述点云数据对应的索引。
上述方案中,所述方法还包括:接收至少一个客户端发送的第一请求;
基于所述第一请求中携带的里程值,获取所述里程值对应的点云数据;
将与所述里程值对应的点云数据发送至所述客户端。
上述方案中,在所述服务器基于点云数据的属性建立所述点云数据对应的索引之前,所述方法还包括:
对原始点云数据进行预处理,得到所述点云数据。
上述方案中,所述对原始点云数据进行预处理,包括以下至少一种:
对所述原始点云数据进行数据拼接、对所述原始点云数据进行坐标校正和对所述原始点云数据重采样。
上述方案中,基于点云数据的属性建立所述点云数据对应的索引,包括:
获取所述点云数据对应的里程值;
基于所述点云数据对应的里程值,建立所述点云数据与所述里程值对应的索引。
第二方面,本申请提供一种隧道点云数据处理方法,所述方法包括:
客户端从服务器获取第一点云数据;
对所述第一点云数据进行处理,获取所述第一点云数据对应的第一椭圆拟合数据。
上述方案中,所述客户端从服务器获取第一点云数据包括:
客户端向服务器发送第一请求;所述第一请求携带所述客户端请求的第一点云数据对应的里程值;
接收所述服务器发送的第一点云数据,所述第一点云数据由所述服务器根据所述第一请求携带的里程值对应的索引查询获得。
上述方案中,所述对所述第一点云数据进行处理,获取所述第一点云数据对应的第一椭圆拟合数据,包括:
获取所述第一点云数据中至少一个第一点云子数据的参数;
所述第一点云子数据的参数包括所述第一点云子数据所包括的点云数据所在的第一椭圆的圆心、长半轴长度、短半轴长度和所述第一椭圆的旋转角度。
上述方案中,所述对所述第一点云数据进行处理,获取所述第一点云数据对应的第一椭圆拟合数据,包括:
获取所述第一点云数据包括的与所述第一点云子数据所包括的点云数据所在的椭圆的距离小于第一阈值的第二点云数据;
基于所述第二点云数据,确定第二椭圆拟合数据。
上述方案中,所述基于所述第二点云数据,确定第一椭圆拟合数据,包括:
在所述第二点云数据包括的点云数据数量小于所述第一点云数据包括的点云数据的数量与第一参数之积的情况下,基于所述第一点云数据包括的第二点云子数据,获取第二点云子数据的参数;所述第二点云子数据的参数包括第二点云子数据所在的椭圆的圆心、长半轴长度、短半轴长度和旋转角度;
获取所述第一点云数据包括的与所述第二点云子数据所包括的点云数据所在的椭圆的距离小于第一阈值的第三点云数据;
直至所述第三点云数据包括的点云数据数量大于或等于第一数据包括的点云数据与第一参数之积;
其中,所述第一点云子数据包括的点云数据与所述第二点云子数据包括的点云数据不完全相同。
上述方案中,所述基于所述第二点云数据,确定第一椭圆拟合数据,包括:
在所述第二点云数据包括的点云数据数量大于或等于第一点云数据包括的点云数量与第一参数之积的情况下,基于第一算法和所述第二点云数据,确定第二椭圆拟合数据。
上述方案中,所述基于所述第二点云数据,确定第一椭圆拟合数据,包括:
在所述第二点云数据包括的点云数据数量大于预设第一值的情况下,确定所述第二椭圆拟合数据为第一椭圆拟合数据;
确定所述预设第一值为所述第二点云数据包括的点云数据的数量。
上述方案中,所述方法还包括:重复对所述第一点云数据进行处理,获取所述第一点云数据对应的第一椭圆拟合数据的操作,直至重复次数满足迭代次数;
输出满足所述迭代次数时确定的第一椭圆拟合数据。
第三方面,本申请提供一种隧道点云数据处理装置,包括:
建立单元,用于基于点云数据的属性建立所述点云数据对应的索引;
存储单元,用于存储所述点云数据和所述点云数据对应的索引。
上述方案中,所述装置还包括:接收单元,用于接收至少一个客户端发送的第一请求;
获取单元,用于基于所述第一请求中携带的里程值,获取所述里程值对应的点云数据;
发送单元,用于将与所述里程值对应的点云数据发送至所述客户端。
上述方案中,所述装置还包括:预处理单元,用于在所述服务器基于点云数据的属性建立所述点云数据对应的索引之前,对原始点云数据进行预处理,得到所述点云数据。
上述方案中,所述预处理单元用于以下至少一种操作:
对所述原始点云数据进行数据拼接、对所述原始点云数据进行坐标校正和对所述原始点云数据重采样。
上述方案中,所述建立单元用于:获取所述点云数据对应的里程值;
基于所述点云数据对应的里程值,建立所述点云数据与所述里程值对应的索引。
第四方面,本申请实施例提供一种隧道点云数据处理装置,包括:
获取单元,用于客户端从服务器获取第一点云数据;
处理单元,用于对所述第一点云数据进行处理,获取所述第一点云数据对应的第一椭圆拟合数据。
上述方案中,所述获取单元用于:客户端向服务器发送第一请求;所述第一请求携带所述客户端请求的第一点云数据对应的里程值;
接收所述服务器发送的第一点云数据,所述第一点云数据由所述服务器根据所述第一请求携带的里程值对应的索引查询获得。
上述方案中,所述处理单元用于:获取所述第一点云数据中至少一个第一点云子数据的参数;
所述第一点云子数据的参数包括所述第一点云子数据所包括的点云数据所在的第一椭圆的圆心、长半轴长度、短半轴长度和所述第一椭圆的旋转角度。
上述方案中,所述处理单元用于:获取所述第一点云数据包括的与所述第一点云子数据所包括的点云数据所在的椭圆的距离小于第一阈值的第二点云数据;
基于所述第二点云数据,确定第二椭圆拟合数据。
上述方案中,所述处理单元用于:在所述第二点云数据包括的点云数据数量小于所述第一点云数据包括的点云数据的数量与第一参数之积的情况下,基于所述第一点云数据包括的第二点云子数据,获取第二点云子数据的参数;所述第二点云子数据的参数包括第二点云子数据所在的椭圆的圆心、长半轴长度、短半轴长度和旋转角度;
获取所述第一点云数据包括的与所述第二点云子数据所包括的点云数据所在的椭圆的距离小于第一阈值的第三点云数据;
直至所述第三点云数据包括的点云数据数量大于或等于第一数据包括的点云数据与第一参数之积;
其中,所述第一点云子数据包括的点云数据与所述第二点云子数据包括的点云数据不完全相同。
上述方案中,所述装置还包括:确定单元,用于在所述第二点云数据包括的点云数据数量大于或等于第一点云数据包括的点云数量与第一参数之积的情况下,基于第一算法和所述第二点云数据,确定第二椭圆拟合数据。
上述方案中,所述确定单元还用于:在所述第二点云数据包括的点云数据数量大于预设第一值的情况下,确定所述第二椭圆拟合数据为第一椭圆拟合数据;
确定所述预设第一值为所述第二点云数据包括的点云数据的数量。
上述方案中,所述装置还包括:迭代单元,用于重复对所述第一点云数据进行处理,获取所述第一点云数据对应的第一椭圆拟合数据的操作,直至重复次数满足迭代次数;
输出单元,用于输出满足所述迭代次数时确定的第一椭圆拟合数据。
如此,通过本申请实施例提供的隧道点云数据处理方法,服务器基于点云数据与里程值的对应关系建立索引,存储所述点云数据与所述点云数据对应的索引,可以提升客户端从数据库中获取点云数据的效率。并且,在多个客户端向服务器请求点云数据的情况下,所述服务器可以基于所述多个客户端发送的请求中携带的里程值,高效率的检索相应的点云数据,并将所述点云数据分别发送至相应的客户端,可以实现高效率的多客户端并发访问。并且,本申请实施例中,通过服务器对原始点云数据进行处理并存储,客户端无需再安装数据库。通过客户端从服务器获取第一点云数据;对所述第一点云数据进行处理,获取所述第一点云数据对应的第一椭圆拟合数据,实现了隧道椭圆度监测高性能并行处理的实施方案,可以提高隧道椭圆度检测的精度和性能,实现高效地处理和分析海量隧道点云数据。
附图说明
图1为本申请实施例提供的一种隧道点云数据处理方法的服务器端可选流程示意图;
图2为本申请实施例提供的一种隧道点云数据处理方法的客户端侧可选流程示意图;
图3为本申请实施例提供的客户端获取第一椭圆拟合数据的可选流程示意图;
图4为本申请实施例提供的隧道点云数据处理方法的一种可选流程示意图;
图5为本申请实施例提供的隧道点云数据处理方法的另一种可选流程示意图;
图6为根据本申请实施例提供的索引获取点云数据的三维提取结果示意图;
图7为根据本申请实施例提供的索引获取点云数据的二维提取结果示意图;
图8为相关技术中直接通过断面点云数据获取第一椭圆拟合数据的结果示意图;
图9为本申请实施例提供的椭圆拟合数据的示意图;
图10为通过本申请实施例提供的隧道点云数据处理方法获取的断面点云数据获得的第一椭圆拟合数据的结果示意图;
图11为本申请实施例提供的服务器与至少一个客户端的连接示意图;
图12为本申请提供的隧道断面结构检测软件的界面的示意图;
图13为本申请实施例提供的隧道点云数据处理装置包括的服务器的可选结构示意图;
图14为本申请实施例提供的隧道点云数据处理装置包括的客户端的可选结构示意图
具体实施方式
以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
我国城市轨道交通的开发建设正在高速发展,地铁已经成为人们出行的主要交通工具之一,其中隧道工程发挥着至关重要的作用。隧道工程受周边环境限制,以及不良地质条件、施工技术、地铁列车运行震动等影响存在大量的安全风险,在地铁施工和运营维护过程中,隧道工程结构的变形检测是一项极其重要的工作。
常规的隧道变形监测方法有精密水准测量、全站仪测量、测量机器人测量等,但这些监测方法速度慢、人力要求高、费时费力,同时测点也很离散和稀疏,不能反映隧道断面的整体形变情况。三维激光扫描技术是一种非接触、快速度、高精度和高密度测量数据获取技术,是隧道工程结构检测的一种发展趋势。相关技术中,提供了基于点云数据的圆形隧道的中心提取、环片划分、点云去噪、断面建模等处理方法;实现了从隧道点云中自动提取中线并拟合断面椭圆,以及对断面点云自动化去噪和椭圆拟合进行了算法改进与研究。但上述方法主要侧重于对断面椭圆拟合精度的提升,而缺乏对海量的隧道点云进行高效组织管理与计算的方案。
基于目前点云数据处理方法中存在的问题,本申请提出一种隧道点云数据处理方法,能够解决现有技术方案中无法解决的技术难题和缺点。
图1示出了本申请实施例提供的一种隧道点云数据处理方法的服务器端可选流程示意图,将根据各个步骤进行说明。
步骤S101,服务器基于点云数据的属性建立所述点云数据对应的索引。
在一些实施例中,所述点云数据包括:服务器对采集到的原始点云数据进行预处理得到的数据。所述预处理包括:服务器对原始点云数据进行处理,所述处理包括以下至少一种:对所述原始点云数据进行数据拼接、对所述原始点云数据进行坐标校正和对所述原始点云数据重采样。
在一些实施例中,所述预处理可以通过三维激光扫描仪配套的处理软件实现。所述点云数据的属性包括点云数据的坐标和点云数据对应的里程值。
在一些实施例中,所述服务器基于点云数据的属性建立所述点云数据对应的索引包括:服务器获取点云数据对应的里程值;基于所述点云数据对应的里程值,建立所述点云数据与所述里程值对应的索引。
在一些实施例中,服务器基于线路中线计算所述点云数据对应的里程值,并存储所述点云数据的坐标值,和所述点云数据与里程值的对应关系。
如此,通过本申请实施例提供的建立点云数据对应的索引的方法,无需计算点到断面平面的距离,并进行逐点筛选;可以提高获取点云数据的效率。
步骤S102,存储所述点云数据和所述点云数据对应的索引。
在一些实施例中,服务器存储所述点云数据和所述点云数据对应的索引包括:服务器存储所述点云数据的坐标值,和所述点云数据与里程值的对应关系。
在一些实施例中,服务器执行步骤S102之后,还包括步骤S103,基于接收的第一请求,向客户端发送第一点云数据。
在一些实施例中,服务器基于接收的第一请求,向客户端发送第一点云数据包括:接收至少一个客户端发送的第一请求,基于所述第一请求中携带的里程值,获取所述里程值对应的点云数据,将与所述里程值对应的点云数据发送至所述客户端。
如此,通过本申请实施例提供的隧道点云数据处理方法,基于点云数据与里程值的对应关系建立索引,存储所述点云数据与所述点云数据对应的索引,可以提升从数据库中获取点云数据的效率。并且,在多个客户端向服务器请求点云数据的情况下,所述服务器可以基于所述多个客户端发送的请求中携带的里程值,高效率的获得相应的点云数据,并将所述点云数据分别发送至相应的客户端,可以实现高效率的多客户端并发访问。并且,本申请实施例中,通过服务器对原始点云数据进行处理并存储,客户端无需再安装数据库。
图2示出了本申请实施例提供的一种隧道点云数据处理方法的客户端侧流程示意图,将根据各个步骤进行说明。
步骤S201,客户端从服务器获取第一点云数据。
在一些实施例中,客户端从服务器获取第一点云数据包括:客户端向服务器发送第一请求;所述第一请求携带所述客户端请求的第一点云数据对应的里程值。其中,所述第一点云数据是上述步骤S101至步骤S103中提及的全部点云数据的子集,即所述步骤S101至步骤S103中提及的全部点云数据包括所述第一点云数据。所述第一点云数据是所述步骤S101至步骤S103中提及的全部点云数据中,对应任一里程值的点云数据的集合。
在一些实施例中,所述客户端从服务器获取第一点云数据还包括:接收所述服务器发送的第一点云数据,所述第一点云数据由所述服务器根据所述第一请求携带的里程值对应的索引查询获得。
步骤S202,对所述第一点云数据进行处理,获取所述第一点云数据对应的第一椭圆拟合数据。
在一些实施例中,所述对所述第一点云数据进行处理,获取所述第一点云数据对应的第一椭圆拟合数据,包括步骤S301至步骤S305。
图3示出了本申请实施例提供的客户端获取第一椭圆拟合数据的可选流程示意图,将结合步骤S301至步骤S305进行说明。
步骤S301,获取所述第一点云数据中至少一个第一点云子数据的参数。
在一些实施例中,客户端获取所述第一点云数据中至少一个第一点云子数据的参数,包括:客户端在所述第一点云数据中任意选取至少五个点云数据,基于所述至少五个点云数据,确定所述至少五个点云数据所在的第一椭圆。其中,所述第一点云子数据包括所述第一点云数据中任意至少五个点云数据;所述第一点云子数据的参数包括所述第一点云子数据所包括的点云数据所在的椭圆的圆心、长半轴长度、短半轴长度和旋转角度。
步骤S302,获取第二点云数据。
在一些实施例中,所述第二点云数据包括所述第一点云数据中,与所述第一椭圆的距离小于第一阈值的点云数据的集合。
在一些实施例中,所述获取第二点云数据包括:获取所述第一点云数据中与所述第一椭圆的距离小于第一阈值的第二点云数据。
在一些实施例中,所述第一阈值可以根据实际需要设置。
步骤S303,基于所述第二点云数据,确定第二椭圆拟合数据。
在一些实施例中,客户端基于所述第二点云数据,确定第一椭圆拟合数据包括:在所述第二点云数据包括的点云数据的数量小于所述第一点云数据包括的点云数据的数量与第一参数之积的情况下,基于所述第一点云数据包括的第二点云子数据,获取第二点云子数据的参数。获取所述第一点云数据包括的与所述第二椭圆的距离小于第一阈值的第三点云数据;直至所述第三点云数据包括的点云数据数量大于或等于第一数据包括的点云数据与第一参数之积。
其中,所述第一参数包括拟合椭圆的点数比例;所述第二点云子数据的参数包括第二点云子数据所在的第二椭圆的圆心、长半轴长度、短半轴长度和旋转角度。所述第一点云子数据包括的点云数据与所述第二点云子数据包括的点云数据不完全相同。
在一些实施例中,在所述第二点云数据包括的点云数据数量大于或等于第一点云数据包括的点云数量与第一参数之积的情况下,基于第一算法和所述第二点云数据,确定第二椭圆拟合数据。
在一些实施例中,所述第一算法可以是最小二乘算法。
步骤S304,基于所述第二椭圆拟合数据,确定所述第一椭圆拟合数据。
在一些实施例中,客户端基于所述第二椭圆拟合数据,确定所述第一椭圆拟合数据,包括:在所述第二点云数据包括的点云数据数量大于预设第一值的情况下,确定所述第二椭圆拟合数据为第一椭圆拟合数据;确定所述预设第一值为所述第二点云数据包括的点云数据的数量。
在一些实施例中,所述预设第一值可以是预先设置的,与所述第一椭圆拟合数据对应的第二点云数据包括的点云数据的数量值。
步骤S305,判断是否满足迭代次数。
在一些实施例中,客户端判断对所述第一点云数据的处理是否满足迭代次数,在满足所述迭代次数的情况下,停止处理,并执行步骤S203;在不满足所述迭代次数的情况下,重复对所述第一点云数据进行处理,获取所述第一点云数据对应的第一椭圆拟合数据的操作,即重复步骤S301至步骤S304。
步骤S203,输出第一椭圆拟合数据。
在一些实施例中,所述客户端输出第一椭圆拟合数据包括:在客户端对所述第一点云数据的处理满足迭代次数的情况下,输出满足所述迭代次数时确定的第一椭圆拟合数据。
如此,通过客户端从服务器获取第一点云数据;对所述第一点云数据进行处理,获取所述第一点云数据对应的第一椭圆拟合数据,实现了隧道椭圆度监测高性能并行处理的实施方案,可以提高隧道椭圆度检测的精度和性能,适用于海量隧道点云数据的处理和分析。
图4示出了本申请实施例提供的一种隧道点云数据处理方法的一种可选流程示意图,将根据各个步骤进行说明。
步骤S401,服务器对原始点云数据进行处理。
在一些实施例中,所述服务器对原始点云数据进行预处理包括:服务器对原始点云数据进行处理,所述处理包括以下至少一种:对所述原始点云数据进行数据拼接、对所述原始点云数据进行坐标校正和对所述原始点云数据重采样。
在一些实施例中,所述预处理可以通过三维激光扫描仪配套的处理软件实现。所述点云数据的属性包括点云数据的坐标和点云数据对应的里程值。
在一些实施例中,所述点云数据为经过预处理的原始点云数据。
步骤S402,服务器基于点云数据的属性建立所述点云数据对应的索引。
在一些实施例中,所述服务器基于点云数据的属性建立所述点云数据对应的索引包括:服务器获取点云数据对应的里程值,基于所述点云数据对应的里程值,建立所述点云数据与所述里程值对应的索引。
在一些实施例中,服务器基于线路中线计算所述点云数据对应的里程值,并存储所述点云数据的坐标值,和所述点云数据与里程值的对应关系。
如此,通过本申请实施例提供的建立点云数据对应的索引的方法,无需计算点到断面平面的距离,并进行逐点筛选;可以提高获取点云数据的效率。
步骤S403,存储所述点云数据和所述点云数据对应的索引。
在一些实施例中,服务器存储所述点云数据和所述点云数据对应的索引包括:服务器存储所述点云数据的坐标值,和所述点云数据与里程值的对应关系。
步骤S404,客户端向服务器发送第一请求。
在一些实施例中,客户端向服务器发送第一请求;所述第一请求携带所述客户端请求的第一点云数据对应的里程值。
步骤S405,服务器基于所述第一请求向客户端发送第一点云数据。
在一些实施例中,所述服务器基于所述第一请求向客户端发送第一点云数据包括:服务器接收至少一个客户端发送的第一请求,基于所述第一请求中携带的里程值,获取所述里程值对应的点云数据,将与所述里程值对应的点云数据发送至所述至少一个客户端。
步骤S406,客户端从服务器获取第一点云数据。
在一些实施例中,所述客户端从服务器获取第一点云数据包括:接收所述服务器发送的第一点云数据,所述第一点云数据由所述服务器根据所述第一请求携带的里程值对应的索引查询获得。
所述第一点云数据是上述步骤S401至步骤S403中提及的点云数据的子集,即所述步骤S401至步骤S403中提及的点云数据包括所述第一点云数据。所述第一点云数据是所述步骤S401至步骤S403中提及的全部点云数据中,对应任一里程值的点云数据的集合。
步骤S407,客户端获取所述第一点云数据中至少一个第一点云子数据的参数。
在一些实施例中,客户端获取所述第一点云数据中至少一个第一点云子数据的参数,包括:客户端在所述第一点云数据中任意选取至少五个点云数据,基于所述至少五个点云数据,确定所述至少五个点云数据所在的第一椭圆。其中,所述第一点云子数据包括所述第一点云数据中任意至少五个点云数据;所述第一点云子数据的参数包括所述第一点云子数据所包括的点云数据所在的椭圆的圆心、长半轴长度、短半轴长度和旋转角度。
步骤S408,客户端获取第二点云数据。
在一些实施例中,所述第二点云数据包括所述第一点云数据中,与所述第一椭圆的距离小于第一阈值的点云数据的集合。
在一些实施例中,所述获取第二点云数据包括:获取所述第一点云数据中与所述第一椭圆的距离小于第一阈值的第二点云数据。
步骤S409,客户端基于所述第二点云数据,确定第二椭圆拟合数据。
在一些实施例中,客户端基于所述第二点云数据,确定第一椭圆拟合数据包括:在所述第二点云数据包括的点云数据的数量小于所述第一点云数据包括的点云数据的数量与第一参数之积的情况下,基于所述第一点云数据包括的第二点云子数据,获取第二点云子数据的参数。获取所述第一点云数据包括的与所述第二椭圆的距离小于第一阈值的第三点云数据;直至所述第三点云数据包括的点云数据数量大于或等于第一数据包括的点云数据与第一参数之积。
其中,所述第一参数包括拟合椭圆的点数比例;所述第二点云子数据的参数包括第二点云子数据所在的第二椭圆的圆心、长半轴长度、短半轴长度和旋转角度。所述第一点云子数据包括的点云数据与所述第二点云子数据包括的点云数据不完全相同。
在一些实施例中,在所述第二点云数据包括的点云数据数量大于或等于第一点云数据包括的点云数量与第一参数之积的情况下,基于第一算法和所述第二点云数据,确定第二椭圆拟合数据。
在一些实施例中,所述第一算法可以是最小二乘算法。
步骤S410,客户端基于所述第二椭圆拟合数据,确定所述第一椭圆拟合数据。
在一些实施例中,客户端基于所述第二椭圆拟合数据,确定所述第一椭圆拟合数据,包括:在所述第二点云数据包括的点云数据数量大于预设第一值的情况下,确定所述第二椭圆拟合数据为第一椭圆拟合数据;确定所述预设第一值为所述第二点云数据包括的点云数据的数量。
在一些实施例中,所述预设第一值可以是预先设置的,与所述第一椭圆拟合数据对应的第二点云数据包括的点云数据的数量值。
步骤S411,客户端判断是否满足迭代次数。
在一些实施例中,客户端判断对所述第一点云数据的处理是否满足迭代次数,在满足所述迭代次数的情况下,停止处理,并执行步骤S412;在不满足所述迭代次数的情况下,重复对所述第一点云数据进行处理,获取所述第一点云数据对应的第一椭圆拟合数据的操作,即重复步骤S407至步骤S411。
步骤S412,客户端输出第一椭圆拟合数据。
在一些实施例中,所述客户端输出第一椭圆拟合数据包括:在客户端对所述第一点云数据的处理满足迭代次数的情况下,输出满足所述迭代次数时确定的第一椭圆拟合数据。
如此,通过本申请实施例提供的隧道点云数据处理方法,服务器基于点云数据与里程值的对应关系建立索引,存储所述点云数据与所述点云数据对应的索引,可以提升从数据库中获取点云数据的效率。并且,在多个客户端向服务器请求点云数据的情况下,所述服务器可以基于所述多个客户端发送的请求中携带的里程值,高效率的获得相应的点云数据,并将所述点云数据分别发送至相应的客户端,可以实现高效率的多客户端并发访问。并且,本申请实施例中,通过服务器对原始点云数据进行处理并存储,,客户端无需再安装数据库。通过客户端从服务器获取第一点云数据;对所述第一点云数据进行处理,获取所述第一点云数据对应的第一椭圆拟合数据,实现了隧道椭圆度监测高性能并行处理的实施方案,可以提高隧道椭圆度检测的精度和性能,适用于海量隧道点云数据的处理和分析。
图5示出了本申请实施例提供的隧道点云数据处理方法的另一种可选流程示意图,将根据各个步骤进行说明。
步骤S501,服务器对原始点云数据进行预处理。
在一些实施例中,所述服务器对原始点云数据进行预处理包括:服务器对采集的原始点云数据进行预处理,包括数据拼接、坐标校正、重采样等处理。预处理通常在三维激光扫描仪配套的处理软件中完成。
步骤S502,服务器存储所述点云数据和所述点云数据对应的索引。
在一些实施例中,服务器存储所述点云数据和所述点云数据对应的索引包括:根据线路中线数据计算预处理完成点云数据各点的里程值,并将其导入服务器的数据库中存储,建立点云数据的里程索引结构。
在一些实施例中,所述服务器建立点云数据的里程索引结构包括:服务器获取点云数据对应的里程值,基于所述点云数据对应的里程值,建立所述点云数据与所述里程值对应的索引。
在一些实施例中,地铁隧道断面通常根据里程划分,所述点云数据通常以文本格式存储,例如“.las”或者“.xyz”格式。但以文本格式存储的点云数据具有访问速度慢、查询效率低的缺点。为了能够解决海量点云数据,提高数据访问速度和查询效率,相关技术中,通常使用建立3为KD-Tree或者八叉树等索引结构,以便能够从海量点云数据中快速查询指定位置的点数据。但这类索引是以三维的(x,y,z)点进行检索,且索引计算耗时、存储空间大,并不适合以里程为索引的线状交通应用。
线性参考系统(Linear Referencing System,LRS),是一种利用沿着可测量的线要素的相对方位来存储地理位置的方法,例如地铁线路按距离起点的里程定位。
本申请实施例中,基于LRS,根据线路中线计算点云中每个点的里程值M,同时将点的(x,y,z)坐标存储到数据库中,并针对里程值M字段建立索引结构。通过数据库存储管理,再加之有索引结构,因而数据的访问速度快、查询效率高,同时也能进行多用户高效并发读写,适合多客户机进行并行计算。
受到点云密度的影响,隧道断面的点云通常需要截取一定的厚度,以保证有足够数量的点用于后续处理。对于数据库中的海量点云数据,可以简单快速地查询到断面对应里程上的点云数据。例如,查询里程值为M′处、厚度为δ的点云数据只需通过以下SQL语句:
相比以文本格式存储的点云数据,通过SQL语句查询的数据库存储方式无需计算点到断面平面的距离进行逐点筛选,实现快捷方便,断面点云获取效率高。
图11示出了本申请实施例提供的服务器与至少一个客户端的连接示意图。
由于隧道点云数据量大,如何进行数据的快速处理也成为一个关键问题。本申请实施例针对海量的隧道点云数据,设计了高性能计算处理方案,如图11所示。首先,本申请实施例将海量点云数据部署到服务器上的数据库中,数据库支持多用户并发访问,客户机通过网络访问服务器上点云数据进行断面结构检测分析,可以有效地进行并行处理计算;其次,每台客户机通常具有多核CPU(中央处理器),设计并行处理算法充分利用客户机上的CPU计算资源,进一步提高并行处理能力。
如此,通过本申请实施例提供的服务器对原始点云数据的处理方法,具备如下优点:1)并行计算能力强,可以实现多客户机并行处理,同时每台客户机使用多核CPU再进一步并行计算,处理效率高;2)数据冗余小,访问效率高的特点,隧道点云数据只需要部署到服务器上的数据库中,客户机无需再安装数据库环境;另一方面,通过数据库管理点云数据并建立索引,可以高效率地进行多用户并发访问。3)可扩展性强,可以根据点云数据处理需求增减客户机的数量以及客户机使用的CPU数量,扩展方便。
步骤S503,客户端获取断面点云数据。
在一些实施例中,所述客户端获取断面点云数据包括:客户端向服务器发送第一请求;所述第一请求携带所述客户端请求的断面点云数据对应的里程值。
所述断面点云数据可以通过步骤S201至步骤S203、步骤S301至步骤S305、步骤S401至步骤S412中的第一点云数据体现。
在一些实施例中,所述客户端从服务器获取断面点云数据包括:接收所述服务器发送的断面点云数据,所述断面点云数据由所述服务器根据所述第一请求携带的里程值对应的索引查询获得。
图6示出了根据本申请实施例提供的索引获取点云数据的三维提取结果示意图。图7示出了根据本申请实施例提供的索引获取点云数据的二维提取结果示意图。
在各断面平面上建立局部平面坐标系,通过坐标转换将三维断面点云数据转换到二维平面上。断面局部平面坐标系下断面点云如图7所示,其中线路中线点为断面局部平面坐标系的原点。
服务器存储所述点云数据的坐标值,和所述点云数据与里程值的对应关系。
步骤S504,客户端对所述断面点云数据进行自动化去噪处理。
图8示出了相关技术中,直接通过断面点云数据获取第一椭圆拟合数据的结果示意图,从图8中可以看出,由于受到非隧道轮廓的噪声点云影响,直接拟合的结果与实际隧道轮廓有很大偏差,因此隧道点云不去噪直接拟合断面椭圆无法得到正确的结果,拟合前必须进行去噪处理。
为了对断面上的点云进行自动化去噪并拟合,本申请实施例采用RANSAC(RANdomSample Consensus)算法,即随机抽样一致性算法。该算法是根据一组包含异常数据的样本数据集,计算出数据的数学模型参数,得到有效样本数据的算法。
步骤S505,客户端获取第一椭圆拟合数据。
图9示出了本申请实施例提供的椭圆拟合数据的示意图。
如图9所示,在二维平面空间中椭圆的拟合参数有4个,分别为中心坐标(xc,yc)、长半轴长度a、短半轴长度b和旋转角度α。
在一些实施例中,客户端获取第一椭圆拟合数据包括步骤1至步骤5。
本申请实施例基于RANSAC算法的隧道断面椭圆拟合的输入参数有断面平面点云P、拟合椭圆的距离阈值ω、拟合椭圆的点数比例λ、迭代次数k,拟合结果椭圆为Ebest,参与拟合椭圆Ebest的点数量为nbest。
步骤1,从断面平面点云P中随机选取5个点,计算当前椭圆Ec。
步骤2,计算点云集合P中各点pi∈P到椭圆Ec的距离di,选取距离在阈值ω范围内的点集合Pω={pi|pi∈P∧di≤ω}。
步骤3,如果|Pω|<λ|P|,执行步骤5,其中|P|是点云P中点的个数,|Pω|是点云集合Pω中点的个数;如果|Pω|≥λ|P|,对Pω中的点采用正交最小二乘算法拟合椭圆Ebetter。
步骤4,如果|Pω|>nbest,Ebest=Ebetter,nbest=|Pω|。
步骤5,如果达到迭代次数k,输出结果椭圆Ebest并停止;否则重复步骤1至步骤4。
图10示出了通过本申请实施例提供的隧道点云数据处理方法获取的断面点云数据获得的第一椭圆拟合数据的结果示意图。
基于RANSAC算法对图7中断面点云拟合椭圆结果如图10所示。与图8对比可以看出,基于RANSAC算法可以有效过滤非断面轮廓点云,具有很好的拟合效果。基于拟合的断面椭圆,根据需求计算长轴、短轴、中心坐标、椭圆度、水平轴、竖直轴等几何参数信息,用于断面结构形变分析。
如此,通过本申请实施例提供的隧道点云数据处理方法,服务器基于点云数据与里程值的对应关系建立索引,存储所述点云数据与所述点云数据对应的索引,可以提升从数据库中获取点云数据的效率。并且,在多个客户端向服务器请求点云数据的情况下,所述服务器可以基于所述多个客户端发送的请求中携带的里程值,高效率的获得相应的点云数据,并将所述点云数据分别发送至相应的客户端,可以实现高效率的多客户端并发访问。并且,本申请实施例中,通过服务器对原始点云数据进行处理并存储,,客户端无需再安装数据库。通过客户端从服务器获取第一点云数据;对所述第一点云数据进行处理,获取所述第一点云数据对应的第一椭圆拟合数据,实现了隧道椭圆度监测高性能并行处理的实施方案,可以提高隧道椭圆度检测的精度和性能,适用于海量隧道点云数据的处理和分析。
图12示出了本申请提供的隧道断面结构检测软件的界面的示意图。
为了验证本申请实施例提供的隧道点云数据处理方法的有效性,申请人开发了隧道断面结构检测原型软件,该软件界面如图12所示。原型软件在客户机上运行,包括服务器设置、数据输入、拟合参数设置、结果输出4个部分。服务器配置为4核Intel Core i73.4GHz CPU,8GB内存,Windows 7(64位)操作系统,数据库平台为SQL Server 2012。客户机有4台,配置皆为4核Intel Core i7 3.4GHz CPU,8GB内存,Windows 7(64位)操作系统。本申请实施例提供的的计算性能试验中,运行时间均为运行5次的平均时间。
1、精度分析。
为了评价本申请实施例提出的隧道点云数据处理方法获取的椭圆拟合数据的拟合精度,与全站仪测量的处理结果进行对比,评价指标有以下2个:
1)平均绝对误差(Mean Absolute Error,MAE),是绝对误差的平均值,计算公式如下:
其中,yi为本申请实施例提供的椭圆拟合数据的结果;y′为相关技术中全站仪数据处理结果;n为断面数量。
2)均方根误差(Root Mean Square Error,RMSE),是计算值与真实值偏差的平方与观测次数比值的平方根,计算公式如下:
试验隧道为武汉地铁8号线宏图大道站—塔子湖站区间,点云数据由徕卡P50三维激光扫描仪采集,经预处理重采样后点云密度为2cm。对比结果为徕卡TS50全站仪采集数据处理结果,断面总数107个。在本申请实施例拟合算法中点云截取厚度δ=2cm,迭代次数k=1000次,拟合椭圆的距离阈值ω=2cm,拟合椭圆的点数比例λ=0.4,拟合椭圆的长轴和短轴的精度结果如表1所示。
表1椭圆拟合精度评价
从表1可以看出,拟合的断面椭圆的长轴和短轴的平均绝对误差值较小,均方根误差值也较小,因此,基于点云的隧道结构工程检测方法能够满足实际生产的精度需求。
2、性能分析。
为了评价本申请实施例提出的用数据库存储隧道点云数据的存储查询性能,同文本.xyz格式存储的点云数据进行对比。试验隧道为武汉地铁5号线新生路站—三角路站区间,点云数据由徕卡P50三维激光扫描仪采集,采集的隧道长度为510m,点云预处理后重采样密度为3cm,点数3140万个,断面截取间隔为1m,截取厚度δ=2cm,断面点云的存储查询性能结果如表2所示。
表2存储查询性能分析
从表2可以看出,包含3140万个点的隧道点云数据采用.xyz文本格式存储需要1.13GB的存储空间,在SQL Server 2012数据库中存储同样的点云数据需要1.21GB的存储空间,同时也还需要0.65GB的索引空间,比文本格式存储要多64.4%的存储空间。但是,基于文本存储方式的断面点云平均查询时间为23.82s,而基于SQL Server 2012的断面点云平均查询时间仅需0.01s,查询效率提升极大。如果点云数据量继续增大,文本存储方式的查询时间将随着数据量的增加也显著增加,而基于数据库存储方式的查询时间则增加很少,二者查询效率差异进一步加大。因此,本申请实施例提出的基于数据库存储隧道点云数据尽管增加了数据存储空间,但是极大地提高了数据查询效率。
在数据库存储隧道点云的基础上,对本申请实施例提出的高性能计算方案进行试验分析。试验隧道为穗莞深城际铁路深圳机场北站—深圳机场站区间,长度3.26km。点云数据由徕卡P40、P50三维激光扫描仪共同采集,经预处理重采样后点云密度为5cm,点云1亿个,断面截取间隔为1.6m,断面总数为2037个。在本申请实施例的拟合算法中,断面点云截取厚度δ=3cm,迭代次数k=1000次,拟合椭圆的距离阈值ω=2cm,拟合椭圆的点数比例λ=0.4,隧道断面结构检测的计算性能如表3所示。
表3隧道断面结构检测计算性能
从表3可以看出,在使用1台客户机,客户机使用1个CPU进行处理时,处理时间为125.25min;将这1台客户机的CPU使用数量增加到2个时,处理时间降低到63.72min,计算时间减少49.13%;进一步地将该台客户机的4个CPU全部使用,处理时间降到32.54min,计算时间进一步减少48.93%,因此,利用客户机的多核CPU进行并行处理可以有效地提升计算性能。将客户机的数量增加到2台,每台客户机使用4个CPU进行处理,计算时间降低到17.26min;将4台客户机全部使用,每台客户机的4个CPU也全部使用,处理时间仅需9.03min,具有很高的计算性能。如果继续增加客户机的数量能够进一步降低数据处理时间。因此,本申请实施例提出的基于点云数据的隧道椭圆度检测处理方案能够高性能地处理海量的隧道点云数据。
利用三维激光扫描技术可以快速高效地获取地铁隧道的高精度点云数据,本申请实施例提出了基于隧道点云数据的隧道椭圆度分析的高精度、高性能解决方案。首先,将隧道点云导入数据库中存储管理并建立索引,实现了海量隧道点云的高效存储组织管理;其次,实现了基于RANSAC算法的断面点云自动化去噪并对隧道断面自动化拟合与参数提取;最后,实现了隧道椭圆度检测高性能并行处理实施方案,利用多台客户机及客户机的多核CPU进行高性能处理计算。为了验证本申请实施例提出的隧道断面结构检测处理方案的有效性,进行了试验验证。试验结果表明,本申请实施例提出的方法具有高精度的同时也具有很高的计算性能,适用于海量隧道点云的处理分析。在本申请实施例提出的隧道点云处理框架下,下一步可以进行限界分析、错台检测等应用分析,进一步发掘三维激光扫描数据的应用潜力。
图13示出了本申请实施例提供的隧道点云数据处理装置包括的服务器的可选结构示意图,将根据各个部分进行说明。
在一些实施例中,所述服务器600包括:建立单元601和存储单元602。
所述建立单元601,用于基于点云数据的属性建立所述点云数据对应的索引;
所述存储单元602,用于存储所述点云数据和所述点云数据对应的索引。
在一些实施例中,所述服务器600还包括:
接收单元603,用于接收至少一个客户端发送的第一请求;
获取单元604,用于基于所述第一请求中携带的里程值,获取所述里程值对应的点云数据;
发送单元605,用于将与所述里程值对应的点云数据发送至所述客户端。
在一些实施例中,所述服务器600还包括:
预处理单元606,用于在所述服务器基于点云数据的属性建立所述点云数据对应的索引之前,对原始点云数据进行预处理,得到所述点云数据。
所述预处理单元606,还用于以下至少一种操作:对所述原始点云数据进行数据拼接、对所述原始点云数据进行坐标校正和对所述原始点云数据重采样;经过处理的原始点云数据为点云数据。
所述建立单元601,还用于获取所述点云数据对应的里程值;基于所述点云数据对应的里程值,建立所述点云数据与所述里程值对应的索引。
图14示出了本申请实施例提供的隧道点云数据处理装置包括的客户端的可选结构示意图,将根据各个部分进行说明。
在一些实施例中,所述客户端700包括:获取单元701和处理单元702。
所述获取单元701,用于客户端从服务器获取第一点云数据;
所述处理单元702,用于对所述第一点云数据进行处理,获取所述第一点云数据对应的第一椭圆拟合数据。
在一些实施例中,所述获取单元701包括发送单元7011和接收单元7012。
所述发送单元7011,用于客户端向服务器发送第一请求;所述第一请求携带所述客户端请求的第一点云数据对应的里程值;
所述接收单元7012,用于接收所述服务器发送的第一点云数据,所述第一点云数据由所述服务器根据所述第一请求携带的里程值对应的索引查询获得。
所述处理单元702,还用于获取所述第一点云数据中至少一个第一点云子数据的参数;所述第一点云子数据的参数包括所述第一点云子数据所包括的点云数据所在的第一椭圆的圆心、长半轴长度、短半轴长度和所述第一椭圆的旋转角度。
所述处理单元702,还用于获取所述第一点云数据包括的与所述第一点云子数据所包括的点云数据所在的椭圆的距离小于第一阈值的第二点云数据;基于所述第二点云数据,确定第二椭圆拟合数据。
所述处理单元702,还用于在所述第二点云数据包括的点云数据数量小于所述第一点云数据包括的点云数据的数量与第一参数之积的情况下,基于所述第一点云数据包括的第二点云子数据,获取第二点云子数据的参数;所述第二点云子数据的参数包括第二点云子数据所在的椭圆的圆心、长半轴长度、短半轴长度和旋转角度;获取所述第一点云数据包括的与所述第二点云子数据所包括的点云数据所在的椭圆的距离小于第一阈值的第三点云数据;直至所述第三点云数据包括的点云数据数量大于或等于第一数据包括的点云数据与第一参数之积;其中,所述第一点云子数据包括的点云数据与所述第二点云子数据包括的点云数据不完全相同。
在一些实施例中,所述客户端700还包括:确定单元703。
所述确定单元703,用于在所述第二点云数据包括的点云数据数量大于或等于第一点云数据包括的点云数量与第一参数之积的情况下,基于第一算法和所述第二点云数据,确定第二椭圆拟合数据。
所述确定单元703,还用于在所述第二点云数据包括的点云数据数量大于预设第一值的情况下,确定所述第二椭圆拟合数据为第一椭圆拟合数据;
确定所述预设第一值为所述第二点云数据包括的点云数据的数量。
在一些实施例中,所述客户端700还包括:迭代单元704。
所述迭代单元704,用于重复对所述第一点云数据进行处理,获取所述第一点云数据对应的第一椭圆拟合数据的操作,直至重复次数满足迭代次数;
输出单元705,用于输出满足所述迭代次数时确定的第一椭圆拟合数据。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序命令相关的硬件来完成,前述的程序可以存储于一存储介质中,该程序在执行时,执行在第一应用运行过程中接收到基于第二应用的通知消息时,在电子设备屏幕上的第一区域响应所述通知消息;其中,所述第一区域小于单独运行第二应用时加载的输入法应用在所述电子设备屏幕上对应的区域。而前述的存储介质包括:移动存储设备、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干命令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (28)
1.一种隧道点云数据处理方法,其特征在于,所述方法包括:
服务器基于隧道点云数据对应的里程值,建立所述隧道点云数据与里程值对应的索引;其中,所述里程值是基于线性参考系统LRS,根据线路中线计算所得,且以隧道线路按照起点的里程定位;
存储所述隧道点云数据和所述隧道点云数据对应的索引;
接收至少一个客户端发送的第一请求;
基于所述第一请求中携带的里程值,获取所述里程值对应的隧道点云数据;其中,所述隧道点云数据包括第一隧道点云数据和第二隧道点云数据;其中,所述第二隧道点云数据包括:在所述第一隧道点云数据中,与第一隧道点云子数据所在的椭圆的距离小于第一阈值的点云数据;在所述第二隧道点云数据包括的点云数据小于所述第一隧道点云数据包括的点云数据的数量与第一参数之积的情况下,基于所述第一隧道点云数据和第二隧道点云数据,确定第一椭圆拟合数据;
将与所述里程值对应的隧道点云数据发送至所述客户端。
2.根据权利要求1所述的方法,其特征在于,在所述服务器基于隧道点云数据对应的里程值,建立所述隧道点云数据与里程值对应的索引之前,所述方法还包括:
对原始隧道点云数据进行预处理,得到所述隧道点云数据。
3.根据权利要求2所述的方法,其特征在于,所述对原始隧道点云数据进行预处理,包括以下至少一种:
对所述原始隧道点云数据进行数据拼接、对所述原始隧道点云数据进行坐标校正和对所述原始隧道点云数据重采样。
4.根据权利要求1所述的方法,其特征在于,基于隧道点云数据对应的里程值,建立所述隧道点云数据与里程值对应的索引,包括:
获取所述隧道点云数据对应的里程值;
基于所述隧道点云数据对应的里程值,建立所述隧道点云数据与所述里程值对应的索引。
5.一种隧道点云数据处理方法,其特征在于,所述方法包括:
客户端从服务器获取第一隧道点云数据和第二隧道点云数据;其中,所述隧道点云数据对应的里程值为所述隧道点云数据的索引;所述里程值是基于线性参考系统LRS,根据线路中线计算所得,且以隧道线路按照起点的里程定位;其中,所述第二隧道点云数据包括:在所述第一隧道点云数据中,与第一隧道点云子数据所在的椭圆的距离小于第一阈值的点云数据;
在所述第二隧道点云数据包括的点云数据小于所述第一隧道点云数据包括的点云数据的数量与第一参数之积的情况下,对所述第一隧道点云数据进行处理,获取所述第一隧道点云数据对应的第一椭圆拟合数据。
6.根据权利要求5所述的方法,其特征在于,所述客户端从服务器获取第一隧道点云数据包括:
客户端向服务器发送第一请求;所述第一请求携带所述客户端请求的第一隧道点云数据对应的里程值;
接收所述服务器发送的第一隧道点云数据,所述第一隧道点云数据由所述服务器根据所述第一请求携带的里程值对应的索引查询获得。
7.根据权利要求5所述的方法,其特征在于,所述对所述第一隧道点云数据进行处理,获取所述第一隧道点云数据对应的第一椭圆拟合数据,包括:
获取所述第一隧道点云数据中至少一个第一点云子数据的参数;
所述第一点云子数据的参数包括所述第一点云子数据所包括的隧道点云数据所在的第一椭圆的圆心、长半轴长度、短半轴长度和旋转角度。
8.根据权利要求7所述的方法,其特征在于,所述对所述第一隧道点云数据进行处理,获取所述第一隧道点云数据对应的第一椭圆拟合数据,包括:
获取所述第一隧道点云数据中,与所述第一点云子数据所包括的隧道点云数据所在的椭圆的距离小于第一阈值的第二隧道点云数据;
基于所述第二隧道点云数据,确定第二椭圆拟合数据。
9.根据权利要求8所述的方法,其特征在于,所述基于所述第二隧道点云数据,确定第一椭圆拟合数据,包括:
在所述第二隧道点云数据包括的隧道点云数据数量小于所述第一隧道点云数据包括的隧道点云数据的数量与第一参数之积的情况下,基于所述第一隧道点云数据包括的第二点云子数据,获取第二点云子数据的参数;所述第二点云子数据的参数包括第二点云子数据所在的椭圆的圆心、长半轴长度、短半轴长度和旋转角度;
获取所述第一隧道点云数据包括的与所述第二点云子数据所包括的隧道点云数据所在的椭圆的距离小于第一阈值的第三隧道点云数据;
直至所述第三隧道点云数据包括的隧道点云数据数量大于或等于第一数据包括的隧道点云数据与第一参数之积;
其中,所述第一点云子数据包括的隧道点云数据与所述第二点云子数据包括的隧道点云数据不完全相同。
10.根据权利要求8或9所述的方法,其特征在于,所述基于所述第二隧道点云数据,确定第一椭圆拟合数据,包括:
在所述第二隧道点云数据包括的隧道点云数据数量大于或等于第一隧道点云数据包括的点云数量与第一参数之积的情况下,基于第一算法和所述第二隧道点云数据,确定第二椭圆拟合数据。
11.根据权利要求10所述的方法,其特征在于,所述基于所述第二隧道点云数据,确定第一椭圆拟合数据,包括:
在所述第二隧道点云数据包括的隧道点云数据数量大于预设第一值的情况下,确定所述第二椭圆拟合数据为第一椭圆拟合数据;
确定所述预设第一值为所述第二隧道点云数据包括的隧道点云数据的数量。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
重复对所述第一隧道点云数据进行处理,获取所述第一隧道点云数据对应的第一椭圆拟合数据的操作,直至重复次数满足迭代次数;
输出满足所述迭代次数时确定的第一椭圆拟合数据。
13.一种隧道点云数据处理装置,其特征在于,所述装置包括:
建立单元,用于基于隧道点云数据对应的里程值,建立所述隧道点云数据与里程值对应的索引;其中,所述里程值是基于线性参考系统LRS,根据线路中线计算所得,且以隧道线路按照起点的里程定位;
存储单元,用于存储所述隧道点云数据和所述隧道点云数据对应的索引;
接收单元,用于接收至少一个客户端发送的第一请求;
获取单元,用于基于所述第一请求中携带的里程值,获取所述里程值对应的隧道点云数据;其中,所述隧道点云数据包括第一隧道点云数据和第二隧道点云数据;其中,所述第二隧道点云数据包括:在所述第一隧道点云数据中,与第一隧道点云子数据所在的椭圆的距离小于第一阈值的点云数据;在所述第二隧道点云数据包括的点云数据小于所述第一隧道点云数据包括的点云数据的数量与第一参数之积的情况下,基于所述第一隧道点云数据和第二隧道点云数据,确定第一椭圆拟合数据;
发送单元,用于将与所述里程值对应的隧道点云数据发送至所述客户端。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
预处理单元,用于在服务器基于隧道点云数据对应的里程值,建立所述隧道点云数据与里程值对应的索引之前,对原始隧道点云数据进行预处理,得到所述隧道点云数据。
15.根据权利要求14所述的装置,其特征在于,所述预处理单元用于以下至少一种操作:
对所述原始隧道点云数据进行数据拼接、对所述原始隧道点云数据进行坐标校正和对所述原始隧道点云数据重采样。
16.根据权利要求13所述的装置,其特征在于,所述建立单元用于:
获取所述隧道点云数据对应的里程值;
基于所述隧道点云数据对应的里程值,建立所述隧道点云数据与所述里程值对应的索引;其中,所述里程值是基于线性参考系统LRS,根据线路中线计算所得,且以隧道线路按照起点的里程定位。
17.一种隧道点云数据处理装置,其特征在于,所述装置包括:
获取单元,用于客户端从服务器获取第一隧道点云数据和第二隧道点云数据;其中,所述隧道点云数据对应的里程值为所述隧道点云数据的索引;所述里程值是基于线性参考系统LRS,根据线路中线计算所得,且以隧道线路按照起点的里程定位;其中,所述第二隧道点云数据包括:在所述第一隧道点云数据中,与第一隧道点云子数据所在的椭圆的距离小于第一阈值的点云数据;
处理单元,用于在所述第二隧道点云数据包括的点云数据小于所述第一隧道点云数据包括的点云数据的数量与第一参数之积的情况下,对所述第一隧道点云数据进行处理,获取所述第一隧道点云数据对应的第一椭圆拟合数据。
18.根据权利要求17所述的装置,其特征在于,所述获取单元用于:
客户端向服务器发送第一请求;所述第一请求携带所述客户端请求的第一隧道点云数据对应的里程值;
接收所述服务器发送的第一隧道点云数据,所述第一隧道点云数据由所述服务器根据所述第一请求携带的里程值对应的索引查询获得。
19.根据权利要求17所述的装置,其特征在于,所述处理单元用于:
获取所述第一隧道点云数据中至少一个第一点云子数据的参数;
所述第一点云子数据的参数包括所述第一点云子数据所包括的隧道点云数据所在的第一椭圆的圆心、长半轴长度、短半轴长度和所述第一椭圆的旋转角度。
20.根据权利要求19所述的装置,其特征在于,所述处理单元用于:
获取所述第一隧道点云数据包括的与所述第一点云子数据所包括的隧道点云数据所在的椭圆的距离小于第一阈值的第二隧道点云数据;
基于所述第二隧道点云数据,确定第二椭圆拟合数据。
21.根据权利要求20所述的装置,其特征在于,所述处理单元用于:
在所述第二隧道点云数据包括的隧道点云数据数量小于所述第一隧道点云数据包括的隧道点云数据的数量与第一参数之积的情况下,基于所述第一隧道点云数据包括的第二点云子数据,获取第二点云子数据的参数;所述第二点云子数据的参数包括第二点云子数据所在的椭圆的圆心、长半轴长度、短半轴长度和旋转角度;
获取所述第一隧道点云数据包括的与所述第二点云子数据所包括的隧道点云数据所在的椭圆的距离小于第一阈值的第三隧道点云数据;
直至所述第三隧道点云数据包括的隧道点云数据数量大于或等于第一数据包括的隧道点云数据与第一参数之积;
其中,所述第一点云子数据包括的隧道点云数据与所述第二点云子数据包括的隧道点云数据不完全相同。
22.根据权利要求20或21所述的装置,其特征在于,所述装置还包括:
确定单元,用于在所述第二隧道点云数据包括的隧道点云数据数量大于或等于第一隧道点云数据包括的点云数量与第一参数之积的情况下,基于第一算法和所述第二隧道点云数据,确定第二椭圆拟合数据。
23.根据权利要求22所述的装置,其特征在于,所述确定单元还用于:
在所述第二隧道点云数据包括的隧道点云数据数量大于预设第一值的情况下,确定所述第二椭圆拟合数据为第一椭圆拟合数据;
确定所述预设第一值为所述第二隧道点云数据包括的隧道点云数据的数量。
24.根据权利要求23所述的装置,其特征在于,所述装置还包括:
迭代单元,用于重复对所述第一隧道点云数据进行处理,获取所述第一隧道点云数据对应的第一椭圆拟合数据的操作,直至重复次数满足迭代次数;
输出单元,用于输出满足所述迭代次数时确定的第一椭圆拟合数据。
25.一种存储介质,存储有可执行程序,其特征在于,所述可执行程序被处理器执行时,实现权利要求1至4任一项所述的隧道点云数据处理方法。
26.一种隧道点云数据处理装置,包括存储器、处理器及存储在存储器上并能够由所述处理器运行的可执行程序,其特征在于,所述处理器运行所述可执行程序时执行如权利要求1至4任一项所述的隧道点云数据处理方法的步骤。
27.一种存储介质,存储有可执行程序,其特征在于,所述可执行程序被处理器执行时,实现权利要求5至12任一项所述的隧道点云数据处理方法。
28.一种隧道点云数据处理装置,包括存储器、处理器及存储在存储器上并能够由所述处理器运行的可执行程序,其特征在于,所述处理器运行所述可执行程序时执行如权利要求5至12任一项所述的隧道点云数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010494011.5A CN111813775B (zh) | 2020-06-03 | 2020-06-03 | 一种隧道点云数据处理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010494011.5A CN111813775B (zh) | 2020-06-03 | 2020-06-03 | 一种隧道点云数据处理方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111813775A CN111813775A (zh) | 2020-10-23 |
CN111813775B true CN111813775B (zh) | 2023-03-24 |
Family
ID=72847946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010494011.5A Active CN111813775B (zh) | 2020-06-03 | 2020-06-03 | 一种隧道点云数据处理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111813775B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113009880B (zh) * | 2021-02-09 | 2023-01-03 | 中铁工程机械研究设计院有限公司 | 一种运梁车的运行控制方法、运梁车及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808672A (zh) * | 2016-03-01 | 2016-07-27 | 重庆市勘测院 | 基于浏览器的海量三维点云数据的发布方法 |
CN106887020A (zh) * | 2015-12-12 | 2017-06-23 | 星际空间(天津)科技发展有限公司 | 一种基于LiDAR点云的道路纵横断面获取方法 |
CN107289900A (zh) * | 2017-06-22 | 2017-10-24 | 首都师范大学 | 一种动态无控制隧道断面检测装置、分析系统及方法 |
CN110413808A (zh) * | 2019-07-17 | 2019-11-05 | 深兰科技(上海)有限公司 | 一种三维点云数据存储、查询方法及装置 |
CN110598239A (zh) * | 2019-07-19 | 2019-12-20 | 中建安装集团有限公司 | 基于轨行区点云大数据的应用方法 |
-
2020
- 2020-06-03 CN CN202010494011.5A patent/CN111813775B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106887020A (zh) * | 2015-12-12 | 2017-06-23 | 星际空间(天津)科技发展有限公司 | 一种基于LiDAR点云的道路纵横断面获取方法 |
CN105808672A (zh) * | 2016-03-01 | 2016-07-27 | 重庆市勘测院 | 基于浏览器的海量三维点云数据的发布方法 |
CN107289900A (zh) * | 2017-06-22 | 2017-10-24 | 首都师范大学 | 一种动态无控制隧道断面检测装置、分析系统及方法 |
CN110413808A (zh) * | 2019-07-17 | 2019-11-05 | 深兰科技(上海)有限公司 | 一种三维点云数据存储、查询方法及装置 |
CN110598239A (zh) * | 2019-07-19 | 2019-12-20 | 中建安装集团有限公司 | 基于轨行区点云大数据的应用方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111813775A (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105787104B (zh) | 用户属性信息的获取方法和装置 | |
JP5583848B2 (ja) | 3dメッシュモデルにおいて反復構造を検出する方法及び装置 | |
Qin et al. | Automated reconstruction of parametric bim for bridge based on terrestrial laser scanning data | |
CN110991553B (zh) | Bim模型对比方法 | |
Cao et al. | Roof plane extraction from airborne lidar point clouds | |
Duncan et al. | E cient approximation and optimization algorithms for computational metrology | |
Wu et al. | Concrete spalling detection for metro tunnel from point cloud based on roughness descriptor | |
CN104833333A (zh) | 结构面粗糙度系数尺寸效应试样表征单元确定方法 | |
CN113723715A (zh) | 公交线网自动匹配道路网络方法、系统、设备及存储介质 | |
CN111813775B (zh) | 一种隧道点云数据处理方法、装置及存储介质 | |
Basaraner et al. | A structure recognition technique in contextual generalisation of buildings and built-up areas | |
CN113420004A (zh) | 隧道点云数据的存储方法、装置、计算机设备及存储介质 | |
CN109543236A (zh) | 基于变异系数级比分析的岩体结构面粗糙度统计样本数确定方法 | |
Wang et al. | Automatic deformation extraction method of buildings in mining areas based on TLS point clouds | |
Vo et al. | A parallel algorithm for local point density index computation of large point clouds | |
CN110619134B (zh) | 解决路网数据飞点、点密度问题一体化检测及修复方法 | |
CN112967256A (zh) | 一种基于空间分布的隧道椭圆化检测方法 | |
CN107066606B (zh) | 一种基于记录仪管理平台的key值计算方法及装置 | |
CN110895551A (zh) | 地铁站服务范围确定方法及系统 | |
US10339364B2 (en) | Apparatus and method for rejecting erroneous objects of extrusion in point cloud data | |
CN117171860B (zh) | 一种基于无人机的岩质边坡结构面三维随机网络模拟方法 | |
CN113988781B (zh) | 建设业务归档方法、装置、计算机设备和存储介质 | |
CN111400891B (zh) | 管道巡检点偏差程度获取方法、装置、设备及存储介质 | |
Selvi et al. | Triangulation method for area-line geometry-type changes in map generalisation | |
CN117075196A (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 |